summaryrefslogtreecommitdiffstats
path: root/src/include
diff options
context:
space:
mode:
authorMichael Brown2006-04-19 03:54:24 +0200
committerMichael Brown2006-04-19 03:54:24 +0200
commitab139ceda9b9f03fcc0884e97e29810a693b6469 (patch)
tree8b03aa4f4eccd2fe3d5a444a6ae5156cd7b3373c /src/include
parentMake flags more efficient. (diff)
downloadipxe-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.h21
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 */