BBN-V6/h/netbuf.h

Compare this file to the similar file:
Show the results in this format:

#define net_b_per_k_b	8	/* number of netbuf to one kernel buf */
#define b_freect	b_wcount /*a word in a buf. see buf.h */

#ifndef BUFMOD
#define b_overhead	4	/*bytes of overhead in a netbuf*/
#define	B_OVERHEAD	4	/*bytes of overhead in a netbuf*/
#define net_b_size	60	/*bytes of data in a netbuf*/
#define NET_B_SIZE	60	/*for completeness*/
#endif BUFMOD

#ifdef BUFMOD
#define net_b_size      64      /*bytes of data in a netbuf*/
#define NET_B_SIZE      64      /*for completeness*/
#endif


 struct netbuf		/*network buffer data structure*/
 {
	struct netbuf *b_qlink;		/*q link for msgs. must be first*/
	char	b_len;			/*amount of data in b_data*/
	char	b_resv;			/*reserved. see defines below*/
#ifndef BUFMOD
	char	b_data[net_b_size];	/*data space*/
 };
#endif BUFMOD
#ifdef BUFMOD
	int	b_loc;			/*location of data space*/
} bufhead[kb_hiwat][net_b_per_k_b];
#endif BUFMOD

/* bits defined within the b_resv field of a message buffer*/
#define b_eom		0200	/*end of message. no used by primitives*/
#define b_memberof	017	/*index of kbuf that netbuf is in. used by*/
				/*primitives but not by users*/
#ifdef RMI
#define b_raw           0100    /* this buf used for raw message */
				/* rbuf_max (max useable by rmi): netparam.h*/
int rbuf_count;                 /* number currently in use */
#endif



 /*buffer system state vector*/

 struct
 {
	int	b_hyster;		/* hysteresis before releaseing buffers */
	int	b_alloc;		/*current # of kbufs allocated*/
	struct buf *kb_[kb_hiwat];	/*pointers to allocated kbufs or 0*/
	int	b_cntfree;		/* number of buffers in free list */
	char	*b_freel;		/*free list of netbuffers. looks like a message*/
	int	b_need;			/*non-zero if space needed. see flags below*/
#ifdef BUFMOD
	char    emerbuf[64];
#endif BUFMOD
#ifndef BUFMOD
	struct netbuf	emerbuf;	/* the emergency buffer */
#endif BUFMOD
 } net_b;

/*defines on b_need*/
#define proc_need	01	/*buffer needed by process, so do wakeup*/
#define int_need	02	/*buffer needed by interrupt. wakeup superfluous*/

/**/