logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

ngatmbase — netgraph ATM utility module

Authors

       Harti Brandt <harti@FreeBSD.org>

Debian                                           August 24, 2004                                    NGATMBASE(4)

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.

Name

       ngatmbase — netgraph ATM utility module

See Also

ng_ccatm(4), ng_sscfu(4), ng_sscop(4), ng_uni(4)

Synopsis

#include<netnatm/unimsg.h>#include<netgraph/atm/ngatmbase.h>structmbuf*uni_msg_pack_mbuf(structuni_msg*msg, void*hdr, size_tlen);

       structuni_msg*uni_msg_alloc(size_tlen);

       structuni_msg*uni_msg_build(void*buf, ...);

       voiduni_msg_destroy(structuni_msg*msg);

       intuni_msg_unpack_mbuf(structmbuf*m, structuni_msg*msgp);

See Also