net: Add skb_queue_is_last().
authorDavid S. Miller <davem@davemloft.net>
Tue, 23 Sep 2008 07:34:07 +0000 (00:34 -0700)
committerDavid S. Miller <davem@davemloft.net>
Tue, 23 Sep 2008 07:34:07 +0000 (00:34 -0700)
Several bits of code want to know "is this the last SKB in
a queue", and all of them implement this by hand.

Provide an common interface to make this check.

Signed-off-by: David S. Miller <davem@davemloft.net>
include/linux/skbuff.h

index 4a144e8d0538bd036324a36741ed9c6d0852f2e5..3a5838da160ebe81fdc7f49a7f8617462426030b 100644 (file)
@@ -472,6 +472,19 @@ static inline int skb_queue_empty(const struct sk_buff_head *list)
        return list->next == (struct sk_buff *)list;
 }
 
+/**
+ *     skb_queue_is_last - check if skb is the last entry in the queue
+ *     @list: queue head
+ *     @skb: buffer
+ *
+ *     Returns true if @skb is the last buffer on the list.
+ */
+static inline bool skb_queue_is_last(const struct sk_buff_head *list,
+                                    const struct sk_buff *skb)
+{
+       return (skb->next == (struct sk_buff *) list);
+}
+
 /**
  *     skb_get - reference buffer
  *     @skb: buffer to reference