diff options
author | Pavel Emelyanov <xemul@parallels.com> | 2012-02-21 02:31:18 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2012-02-21 14:58:57 -0500 |
commit | da5ef6e51b327b41180b5d1000c06e8d3595a936 (patch) | |
tree | 88261e4a5edaa8ee113dc7918ce8b2ca2903842f /include | |
parent | 3f518bf745cbd6007d8069100fb9cb09e960c872 (diff) |
skb: Add skb_peek_next helper
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
Acked-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/skbuff.h | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h index f3cf43de3c2a..c11a44ea1bf4 100644 --- a/include/linux/skbuff.h +++ b/include/linux/skbuff.h | |||
@@ -877,6 +877,24 @@ static inline struct sk_buff *skb_peek(const struct sk_buff_head *list_) | |||
877 | } | 877 | } |
878 | 878 | ||
879 | /** | 879 | /** |
880 | * skb_peek_next - peek skb following the given one from a queue | ||
881 | * @skb: skb to start from | ||
882 | * @list_: list to peek at | ||
883 | * | ||
884 | * Returns %NULL when the end of the list is met or a pointer to the | ||
885 | * next element. The reference count is not incremented and the | ||
886 | * reference is therefore volatile. Use with caution. | ||
887 | */ | ||
888 | static inline struct sk_buff *skb_peek_next(struct sk_buff *skb, | ||
889 | const struct sk_buff_head *list_) | ||
890 | { | ||
891 | struct sk_buff *next = skb->next; | ||
892 | if (next == (struct sk_buff *)list_) | ||
893 | next = NULL; | ||
894 | return next; | ||
895 | } | ||
896 | |||
897 | /** | ||
880 | * skb_peek_tail - peek at the tail of an &sk_buff_head | 898 | * skb_peek_tail - peek at the tail of an &sk_buff_head |
881 | * @list_: list to peek at | 899 | * @list_: list to peek at |
882 | * | 900 | * |