patch-2.4.21 linux-2.4.21/include/linux/skbuff.h
Next file: linux-2.4.21/include/linux/socket.h
Previous file: linux-2.4.21/include/linux/sisfb.h
Back to the patch index
Back to the overall index
- Lines: 44
- Date:
2003-06-13 07:51:39.000000000 -0700
- Orig file:
linux-2.4.20/include/linux/skbuff.h
- Orig date:
2002-08-02 17:39:46.000000000 -0700
diff -urN linux-2.4.20/include/linux/skbuff.h linux-2.4.21/include/linux/skbuff.h
@@ -240,6 +240,7 @@
int newheadroom,
int newtailroom,
int priority);
+extern struct sk_buff * skb_pad(struct sk_buff *skb, int pad);
#define dev_kfree_skb(a) kfree_skb(a)
extern void skb_over_panic(struct sk_buff *skb, int len, void *here);
extern void skb_under_panic(struct sk_buff *skb, int len, void *here);
@@ -751,7 +752,7 @@
return skb->data_len;
}
-static inline int skb_headlen(const struct sk_buff *skb)
+static inline unsigned int skb_headlen(const struct sk_buff *skb)
{
return skb->len - skb->data_len;
}
@@ -1082,6 +1083,26 @@
}
/**
+ * skb_padto - pad an skbuff up to a minimal size
+ * @skb: buffer to pad
+ * @len: minimal length
+ *
+ * Pads up a buffer to ensure the trailing bytes exist and are
+ * blanked. If the buffer already contains sufficient data it
+ * is untouched. Returns the buffer, which may be a replacement
+ * for the original, or NULL for out of memory - in which case
+ * the original buffer is still freed.
+ */
+
+static inline struct sk_buff *skb_padto(struct sk_buff *skb, unsigned int len)
+{
+ unsigned int size = skb->len;
+ if(likely(size >= len))
+ return skb;
+ return skb_pad(skb, len-size);
+}
+
+/**
* skb_linearize - convert paged skb to linear one
* @skb: buffer to linarize
* @gfp: allocation mode
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)