xref: /csrg-svn/sys/net/raw_cb.h (revision 44465)
123161Smckusick /*
229067Smckusick  * Copyright (c) 1980, 1986 Regents of the University of California.
333183Sbostic  * All rights reserved.
423161Smckusick  *
5*44465Sbostic  * %sccs.include.redist.c%
633183Sbostic  *
7*44465Sbostic  *	@(#)raw_cb.h	7.6 (Berkeley) 06/28/90
823161Smckusick  */
95634Sroot 
105634Sroot /*
115634Sroot  * Raw protocol interface control block.  Used
125634Sroot  * to tie a socket to the generic raw interface.
135634Sroot  */
145634Sroot struct rawcb {
155634Sroot 	struct	rawcb *rcb_next;	/* doubly linked list */
165634Sroot 	struct	rawcb *rcb_prev;
175634Sroot 	struct	socket *rcb_socket;	/* back pointer to socket */
1837472Ssklower 	struct	sockaddr *rcb_faddr;	/* destination address */
1937472Ssklower 	struct	sockaddr *rcb_laddr;	/* socket's address */
2021769Skarels 	struct	sockproto rcb_proto;	/* protocol family, protocol */
215634Sroot };
225634Sroot 
235634Sroot #define	sotorawcb(so)		((struct rawcb *)(so)->so_pcb)
245634Sroot 
255634Sroot /*
265634Sroot  * Nominal space allocated to a raw socket.
275634Sroot  */
2836824Skarels #define	RAWSNDQ		8192
2936824Skarels #define	RAWRCVQ		8192
305634Sroot 
315634Sroot #ifdef KERNEL
325634Sroot struct rawcb rawcb;			/* head of list */
335634Sroot #endif
34