ngatmbase(4)
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 allo - cated 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 destroyes the messages and
- frees all the
messages's memory. - The uni_msg_unpack_mbuf() function unpacks an mbuf chain in
- fo 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 func - tion 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>
- BSD August 24, 2004