skb_append |
追加一个缓冲区 |
void skb_append (struct sk_buff * old, struct sk_buff * newsk) |
old为插入之前的缓冲区,newsk为要插入的缓冲区 |
把一个数据包放在链表中给定的包之前。该函数持有链表锁,并且是原子操作。一个缓冲区不能同时放在两个链表中。 |
skb_unlink |
从链表删除一个缓冲区 |
void skb_unlink (struct sk_buff * skb); |
Skb为要删除的缓冲区 |
把一个数据包放在链表中给定的包之前。该函数持有链表锁,并且是原子操作。 |
_skb_dequeue_tail |
从队尾删除 |
struct sk_buff * __skb_dequeue_tail (struct sk_buff_head * list) |
List为要操作的链表 |
从链表尾部删除。这个函数不持有任何锁,因此必须持以合适的锁来使用。如果链表为空,则返回NULL,成功则返首部元素。 |
skb_dequeue_tail |
从队头删除 |
内核源码学习:Linux 2.4内核API(十一)转
最新推荐文章于 2023-01-05 16:12:55 发布
本文详细探讨了Linux 2.4内核的API使用,涵盖了struct、list操作以及null处理等关键知识点,是内核源码学习的重要参考资料。
摘要由CSDN通过智能技术生成