|
|
1.1 ! root 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
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.