NGATMBASE(4) | FreeBSD Kernel Interfaces Manual | NGATMBASE(4) |
名称
ngatmbase — netgraph ATM ユーティリティモジュール書式
#include < netnatm/unimsg.h>#include < netgraph/atm/ngatmbase.h>
struct mbuf *
uni_msg_pack_mbuf( struct uni_msg *msg, void *hdr, size_t len);
struct uni_msg *
uni_msg_alloc( size_t len);
struct uni_msg *
uni_msg_build( void *buf, ...);
void
uni_msg_destroy( struct uni_msg *msg);
int
uni_msg_unpack_mbuf( struct mbuf *m, struct uni_msg *msgp);
解説
このモジュールは、NgATM モジュールへのシグナルメッセージの取り扱いのためのユーティリティ関数を提供します。uni_msg_pack_mbuf() 関数は、メッセージをオプションでヘッダを先頭に追加する 1 かいくつかの mbuf に詰め込みます。ヘッダはアドレス hdr と長さ len によって与えられます。 hdr が NULL であるか len が 0 と等しいなら、ヘッダは先頭に追加されません。 msg か hdr のいずれかが NULL であるかもしれませんが、両方ともではありません。 uni_msg_pack_mbuf() 関数は、割り付けられた mbuf チェーンへのポインタを返し、エラーの場合は、 NULL を返します。
uni_msg_alloc() 関数は、少なくとも len バイトの空間がある新しいメッセージを割り付けます。エラーの場合は、 NULL が返されます。
uni_msg_build() 関数は (複数の) 断片からのメッセージを構築します。各断片は、最初は、タイプ void * で 2 番目は size_t の引数の組によって与えられます。断片のリストは ( void *) NULL によって終了しなければなりません。
uni_msg_destroy() 関数は、メッセージを破壊して、すべてのメッセージのメモリを解放します。
uni_msg_unpack_mbuf() 関数は、 mbuf チェーン情報 uni_msg をアンパックします。 msgp に格納された新たに割り付けられたメッセージへのポインタと 0 が返されます。 (最初の mbuf でパケットヘッダを見つけられないか、メモリが割り付けることができないとき、のいずれかで) エラーの場合では、機能は適切なエラーコードを返します。
作者
<harti@FreeBSD.org>August 24, 2004 | FreeBSD |