|
|
1.1 ! root 1: /* ! 2: * Copyright (c) 1984, 1985, 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: * @(#)ns_pcb.h 7.1 (Berkeley) 6/5/86 ! 7: */ ! 8: ! 9: /* ! 10: * Ns protocol interface control block. ! 11: */ ! 12: struct nspcb { ! 13: struct nspcb *nsp_next; /* doubly linked list */ ! 14: struct nspcb *nsp_prev; ! 15: struct nspcb *nsp_head; ! 16: struct socket *nsp_socket; /* back pointer to socket */ ! 17: struct ns_addr nsp_faddr; /* destination address */ ! 18: struct ns_addr nsp_laddr; /* socket's address */ ! 19: caddr_t nsp_pcb; /* protocol specific stuff */ ! 20: struct route nsp_route; /* routing information */ ! 21: struct ns_addr nsp_lastdst; /* validate cached route for dg socks*/ ! 22: long nsp_notify_param; /* extra info passed via ns_pcbnotify*/ ! 23: short nsp_flags; ! 24: u_char nsp_dpt; /* default packet type for idp_output*/ ! 25: u_char nsp_rpt; /* last received packet type by ! 26: idp_input() */ ! 27: }; ! 28: ! 29: /* possible flags */ ! 30: ! 31: #define NSP_IN_ABORT 0x1 /* calling abort through socket */ ! 32: #define NSP_RAWIN 0x2 /* show headers on input */ ! 33: #define NSP_RAWOUT 0x4 /* show header on output */ ! 34: #define NSP_ALL_PACKETS 0x8 /* Turn off higher proto processing */ ! 35: ! 36: #define NS_WILDCARD 1 ! 37: ! 38: #define nsp_lport nsp_laddr.x_port ! 39: #define nsp_fport nsp_faddr.x_port ! 40: ! 41: #define sotonspcb(so) ((struct nspcb *)((so)->so_pcb)) ! 42: ! 43: /* ! 44: * Nominal space allocated to a ns socket. ! 45: */ ! 46: #define NSSNDQ 2048 ! 47: #define NSRCVQ 2048 ! 48: ! 49: ! 50: #ifdef KERNEL ! 51: struct nspcb nspcb; /* head of list */ ! 52: struct nspcb *ns_pcblookup(); ! 53: #endif
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.