diff options
author | Michael Brown | 2006-04-19 03:54:24 +0200 |
---|---|---|
committer | Michael Brown | 2006-04-19 03:54:24 +0200 |
commit | ab139ceda9b9f03fcc0884e97e29810a693b6469 (patch) | |
tree | 8b03aa4f4eccd2fe3d5a444a6ae5156cd7b3373c /src/include | |
parent | Make flags more efficient. (diff) | |
download | ipxe-ab139ceda9b9f03fcc0884e97e29810a693b6469.tar.gz ipxe-ab139ceda9b9f03fcc0884e97e29810a693b6469.tar.xz ipxe-ab139ceda9b9f03fcc0884e97e29810a693b6469.zip |
Added pkb_unput() and pkb_len().
Diffstat (limited to 'src/include')
-rw-r--r-- | src/include/gpxe/pkbuff.h | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/src/include/gpxe/pkbuff.h b/src/include/gpxe/pkbuff.h index 54d8511c..bcc30497 100644 --- a/src/include/gpxe/pkbuff.h +++ b/src/include/gpxe/pkbuff.h @@ -69,6 +69,17 @@ static inline void * pkb_put ( struct pk_buff *pkb, size_t len ) { } /** + * Remove data from end of packet buffer + * + * @v pkb Packet buffer + * @v len Length to remove + */ +static inline void pkb_unput ( struct pk_buff *pkb, size_t len ) { + pkb->tail -= len; + assert ( pkb->tail >= pkb->data ); +} + +/** * Empty a packet buffer * * @v pkb Packet buffer @@ -77,4 +88,14 @@ static inline void pkb_empty ( struct pk_buff *pkb ) { pkb->tail = pkb->data; } +/** + * Calculate length of data in a packet buffer + * + * @v pkb Packet buffer + * @ret len Length of data in buffer + */ +static inline size_t pkb_len ( struct pk_buff *pkb ) { + return ( pkb->tail - pkb->data ); +} + #endif /* _PKBUFF_H */ |