NAME
ngatmbase — netgraph ATM utility moduleSYNOPSIS
#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);
DESCRIPTION
This module provides utility functions for the handling of signalling messages to the NgATM modules. The uni_msg_pack_mbuf() function packs a message into one or several mbufs optionally prepending a header. The header is given by its address hdr and length len. If hdr isNULL
or
len equals 0, no header is prepended. Either
msg or hdr
may be NULL
but not both. The
uni_msg_pack_mbuf() function returns a pointer to
the allocated mbuf chain or
NULL
in the case of an error.
The uni_msg_alloc() function allocates a new
message with space for at least len bytes. In
the case of an error NULL
is returned.
The uni_msg_build() function constructs a message
from pieces. Each piece is given by a pair of arguments, the first of type
void * and the second a
size_t. The list of pieces must be terminated
by (void
*)NULL
.
The uni_msg_destroy() function destroys the
messages and frees all the messages's memory.
The uni_msg_unpack_mbuf() function unpacks an
mbuf chain info a
uni_msg. A pointer to the newly allocated
message is stored in msgp and 0 is returned.
In the case of an error (either when no packet header is found in the first
mbuf or memory cannot be allocated) the function returns an appropriate error
code.
SEE ALSO
ng_ccatm(4), ng_sscfu(4), ng_sscop(4), ng_uni(4)AUTHORS
Harti Brandt <[email protected]>August 24, 2004 | Debian |