[[PageNavi(internal24-navi)]]
{{{ comment
h2w-title:操作関数群
}}}
= 操作関数群 = #SECTION05140000000000000000
* alloc_skb()
* 指定されたサイズのパケットを確保
* kfree_skb()
* 指定されたパケットを解放
* skb_put()
* パケット内のtailポインタを進め、その分サイズ(len)を増やす
* skb_pull()
* パケット内のlenを減らし、その分dataポインタを進める。
* skb_push()
* skb_pull()の逆。dataポインタを戻し、その分lenを増やす
* skb_trim()
* パケットのデータ長を指定された長さに切り詰める
* skb_reserve()
* パケット内のポインタ(data,tail)を進める. パケット内に、後の処理で必要になるヘッダ格納用の領域を 予約して置くことに利用される。
* skb_copy()
* パケット(sk_buff)全体の複製を作る。
* skb_clone()
* パケットのヘッダだけコピーし、データ本体は共有する。
* skb_cow()
* 必要があれば (新たに要求されたヘッダ領域が不足するとき、クローンの場合) パケット領域を取り直しデータをコピー、古いものは捨てる。
* skb_tailroom()
* パケットのデータ域に空きがあるか?チェック。
* skb_headroom()
* ヘッダ域にの先頭に空きがあるか?チェック。
* skb_peek(), skb_peektail()
* キューから外さず、つながっているパケット(sk_buff)を参照する
* skb_orphan()
* ソケットのリンクを切る。
* dev_alloc_skb()
* パケット(sk_buff)を確保し、16byte余分の領域 (デバイスドライバ用のヘッダ用など) を確保し予約する。
* dev_kfree_skb()
* パケット(sk_buff)を解放する。
----
''(NIS)HirokazuTakahashi [[BR]]2000年12月09日 (土) 23時55分06秒 JST''1
[[PageNavi(internal24-navi)]]