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
*
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 */