/* queue definitions */ #ifndef _PKT_QUEUE #define _PKT_QUEUE typedef struct { int p_get; int p_put; int p_nbuf; struct p_table { int p_occupied; PKTBUF *p_pkt; }p_tab[1]; } PKTPOOL; PKTBUF *p_getpkt(u_short,PKTPOOL *); /* dequeue packet */ int p_putpkt(PKTPOOL *,PKTBUF *); /* enqueue packet */ PKTBUF *ap_getpkt(u_short,PKTPOOL *); /* dequeue packet atomic */ int ap_putpkt(PKTPOOL *,PKTBUF *); /* enqueue packet atomic */ PKTPOOL *p_init(int,PKTPOOL *,PKTBUF *); /* init queue */ #endif