xref: /csrg-svn/sys/netinet/in_pcb.h (revision 4956)
1 /*	in_pcb.h	4.1	81/11/20	*/
2 
3 /*
4  * Common structure pcb for internet protocol implementation.
5  * Here are stored pointers to local and foreign host table
6  * entries, local and foreign socket numbers, and pointers
7  * up (to a socket structure) and down (to a protocol-specific)
8  * control block.
9  */
10 struct inpcb {
11 	struct	inpcb *inp_next,*inp_prev;
12 					/* pointers to other pcb's */
13 	struct	in_addr inp_faddr;	/* foreign host table entry */
14 	u_short	inp_fport;		/* foreign port */
15 	struct	in_addr inp_laddr;	/* local host table entry */
16 	u_short	inp_lport;		/* local port */
17 	struct	socket *inp_socket;	/* back pointer to socket */
18 	caddr_t	inp_ppcb;		/* pointer to per-protocol pcb */
19 };
20 
21 #define	sotoinpcb(so)	((struct inpcb *)(so)->so_pcb)
22 
23 #ifdef KERNEL
24 struct	inpcb *in_pcblookup();
25 #endif
26