|
|
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.