1: /*
2: * Copyright (c) 1982, 1986 Regents of the University of California.
3: * All rights reserved. The Berkeley software License Agreement
4: * specifies the terms and conditions for redistribution.
5: *
6: * @(#)in_pcb.h 7.1 (Berkeley) 6/5/86
7: */
8:
9: /*
10: * Common structure pcb for internet protocol implementation.
11: * Here are stored pointers to local and foreign host table
12: * entries, local and foreign socket numbers, and pointers
13: * up (to a socket structure) and down (to a protocol-specific)
14: * control block.
15: */
16: struct inpcb {
17: struct inpcb *inp_next,*inp_prev;
18: /* pointers to other pcb's */
19: struct inpcb *inp_head; /* pointer back to chain of inpcb's
20: for this protocol */
21: struct in_addr inp_faddr; /* foreign host table entry */
22: u_short inp_fport; /* foreign port */
23: struct in_addr inp_laddr; /* local host table entry */
24: u_short inp_lport; /* local port */
25: struct socket *inp_socket; /* back pointer to socket */
26: caddr_t inp_ppcb; /* pointer to per-protocol pcb */
27: struct route inp_route; /* placeholder for routing entry */
28: struct mbuf *inp_options; /* IP options */
29: };
30:
31: #define INPLOOKUP_WILDCARD 1
32: #define INPLOOKUP_SETLOCAL 2
33:
34: #define sotoinpcb(so) ((struct inpcb *)(so)->so_pcb)
35:
36: #ifdef KERNEL
37: struct inpcb *in_pcblookup();
38: #endif
Defined struct's
inpcb
defined in line
16; used 74 times
- in line 17-19(4),
37(2)
- in /usr/src/sys/netinet/in_pcb.c line
29-37(6),
46-50(4),
109(2),
203(2),
213(2),
228(2),
242(2),
261-265(4),
291(2),
312(2),
324-331(6)
- in /usr/src/sys/netinet/ip_output.c line
314(2)
- in /usr/src/sys/netinet/tcp_input.c line
167(2),
298(2),
1038(2)
- in /usr/src/sys/netinet/tcp_subr.c line
55(2),
157(2),
206(2),
276(2)
- in /usr/src/sys/netinet/tcp_timer.c line
38(2),
61(2)
- in /usr/src/sys/netinet/tcp_usrreq.c line
52(2),
320(2),
381(2)
- in /usr/src/sys/netinet/udp_usrreq.c line
54(2),
142(2),
187(2),
247(2)
Defined macros
Usage of this include