/* Basic message buffer structure */ struct mbuf { struct mbuf *next; /* Links mbufs belonging to single packets */ struct mbuf *anext; /* Links packets on queues */ int16 size; /* Size of associated data buffer */ char *data; /* Active working pointers */ int16 cnt; }; typedef struct mbuf MBUF; #define NULLBUF (struct mbuf *)0 #define NULLBUFP (struct mbuf **)0 void enqueue(MBUF **, MBUF *), hex_dump(MBUF **),ascii_dump(MBUF **),append(MBUF **, MBUF *); struct mbuf *alloc_mbuf(int16),*free_mbuf(MBUF *),*dequeue(MBUF **), *copy_p(MBUF *,int16 ),*free_p(MBUF *),*qdata(char *, int16 ), *pushdown(MBUF *, int16); int16 pullup(MBUF **, char *,int16), dup_p(MBUF **, MBUF *,int16,int16),len_mbuf(MBUF *), dqdata(MBUF *,char *,unsigned),len_q(MBUF *); int32 pull32(MBUF **); int16 pull16(MBUF **); char pullchar(MBUF **),*put16(char *,int16),*put32(char *,int32); #define AUDIT(bp) audit(bp,__FILE__,__LINE__)