X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=include%2Fbuffer.h;h=08680694506b14d211c17869cd3916150d822696;hb=39136b0fb9a89fa1489ef30eccfef115e584a74d;hp=0d024ec9e803e3f930ef9ebf09152ca80d0b6c1d;hpb=60a87c9b0032346568485ad40fd72ea1f72b8674;p=sliver-openvswitch.git diff --git a/include/buffer.h b/include/buffer.h index 0d024ec9e..086806945 100644 --- a/include/buffer.h +++ b/include/buffer.h @@ -48,8 +48,10 @@ struct buffer { void *l2; /* Link-level header. */ void *l3; /* Network-level header. */ void *l4; /* Transport-level header. */ + void *l7; /* Application data. */ struct buffer *next; /* Next in a list of buffers. */ + void *private; /* Private pointer for use by owner. */ }; void buffer_use(struct buffer *, void *, size_t); @@ -69,13 +71,17 @@ void *buffer_end(const struct buffer *); void *buffer_put_uninit(struct buffer *, size_t); void *buffer_put(struct buffer *, const void *, size_t); +void buffer_reserve(struct buffer *, size_t); void *buffer_push_uninit(struct buffer *b, size_t); +void *buffer_push(struct buffer *b, const void *, size_t); size_t buffer_headroom(struct buffer *); size_t buffer_tailroom(struct buffer *); -void buffer_reserve_tailroom(struct buffer *, size_t); +void buffer_prealloc_headroom(struct buffer *, size_t); +void buffer_prealloc_tailroom(struct buffer *, size_t); void buffer_clear(struct buffer *); -void buffer_pull(struct buffer *, size_t); +void *buffer_pull(struct buffer *, size_t); +void *buffer_try_pull(struct buffer *, size_t); #endif /* buffer.h */