Added pkb_unput() and pkb_len().
authorMichael Brown <mcb30@etherboot.org>
Wed, 19 Apr 2006 01:54:24 +0000 (01:54 +0000)
committerMichael Brown <mcb30@etherboot.org>
Wed, 19 Apr 2006 01:54:24 +0000 (01:54 +0000)
src/include/gpxe/pkbuff.h

index 54d8511..bcc3049 100644 (file)
@@ -68,6 +68,17 @@ static inline void * pkb_put ( struct pk_buff *pkb, size_t len ) {
        return old_tail;
 }
 
+/**
+ * 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
  *
@@ -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 */