Chinaunix首页 | 论坛 | 博客
  • 博客访问: 30620
  • 博文数量: 21
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 15
  • 用 户 组: 普通用户
  • 注册时间: 2015-07-24 17:09
文章分类
文章存档

2017年(14)

2015年(7)

我的朋友

分类: LINUX

2017-11-07 13:31:11

原文地址:skb_buff 作者:

skbuff的结构图如下
二.Basic functions for sk_buff
  
skb_headroom(), skb_tailroom() Prototype / Description int skb_headroom(const struct sk_buff *skb); bytes at buffer head int skb_tailroom(const struct sk_buff *skb); bytes at buffer Image sk_buff{}, skb_headroom(), skb_tailroom() skb_reserve() Prototype void skb_reserve(struct sk_buff *skb, unsigned int len); Description adjust headroom Image skb_reserve() skb_push() Prototype unsigned char *skb_push(struct sk_buff *skb, unsigned int len); Description add data to the start of a buffer Image skb_push() skb_pull() Prototype unsigned char *skb_pull(struct sk_buff *skb, unsigned int len); Description remove data from the start of a buffer Image skb_pull() skb_put() Prototype unsigned char *skb_put(struct sk_buff *skb, unsigned int len); Description add data to a buffer Image skb_put() skb_trim() Prototype void skb_trim(struct sk_buff *skb, unsigned int len); Description remove end from a buffer Image skb_trim() 三.List of sk_buff    Prototype / Description __u32 skb_queue_len(const struct sk_buff_head *list_); get queue length struct sk_buff *skb_peek(struct sk_buff_head *list); get pointer to the head element struct sk_buff *skb_peek_tail(struct sk_buff_head *list); get pointer to the tail elementImage  skb_list_head{}, skb_peek(), skb_peek_tail(), skb_queue_len() skb_queue_head()    Prototype      void skb_queue_head(struct sk_buff_head *list, struct sk_buff *newsk);      Description    queue a buffer at the list head   Image skb_queue_head() skb_queue_tail()     Prototype         void skb_queue_tail(struct sk_buff_head *list, struct sk_buff *newsk);    Description queue a buffer at the list ta

   Image

skb_queue_tail() skb_dequeue() Prototype struct sk_buff *skb_dequeue(struct sk_buff_head *list); Description remove from the head of the queue Image skb_dequeue() skb_dequeue_tail() Prototype struct sk_buff *skb_dequeue_tail(struct sk_buff_head *list); Description remove from the tail of the queue Image skb_dequeue_tail() skb_insert() Prototype void skb_insert(struct sk_buff *old, struct sk_buff *newsk); Description insert a buffer Image

skb_insert()

skb_append() Prototype void skb_append(struct sk_buff *old, struct sk_buff *newsk); Description append a buffer Image skb_append() skb_unlink() Prototype   void skb_unlink(struct sk_buff *skb); Description   remove a buffer from a list Image

skb_unlink()

阅读(691) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~