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
.Vt mbuf Ns s
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
.Vt 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
.Vt void *
and the second a
.Vt size_t .
The list of pieces must be terminated by
(Vt void *NULL).
The
uni_msg_destroy
function
destroyes the messages and frees all the messagess memory.
The
uni_msg_unpack_mbuf
function
unpacks an
.Vt mbuf
chain info a
.Vt 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.