NAME¶
ngatmbase
—
netgraph ATM utility module
SYNOPSIS¶
#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
is
NULL
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
⟨harti@FreeBSD.org⟩