EN JA
NGATMBASE(4)
NGATMBASE(4) FreeBSD Kernel Interfaces Manual NGATMBASE(4)

名称

ngatmbasenetgraph 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 によって与えられます。 hdrNULL であるか len が 0 と等しいなら、ヘッダは先頭に追加されません。 msghdr のいずれかが 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 Brandt <harti@FreeBSD.org>
August 24, 2004 FreeBSD