xref: /freebsd/cddl/lib/libdtrace/socket.d (revision b3e7694832e81d7a904a10f525f8797b753bf0d3)
1*958f4928SGeorge V. Neville-Neil /*
2*958f4928SGeorge V. Neville-Neil  * Copyright (c) 2017 George V. Neville-Neil
3*958f4928SGeorge V. Neville-Neil  * All rights reserved.
4*958f4928SGeorge V. Neville-Neil  *
5*958f4928SGeorge V. Neville-Neil  * Redistribution and use in source and binary forms, with or without
6*958f4928SGeorge V. Neville-Neil  * modification, are permitted provided that the following conditions
7*958f4928SGeorge V. Neville-Neil  * are met:
8*958f4928SGeorge V. Neville-Neil  * 1. Redistributions of source code must retain the above copyright
9*958f4928SGeorge V. Neville-Neil  *    notice, this list of conditions and the following disclaimer.
10*958f4928SGeorge V. Neville-Neil  * 2. Redistributions in binary form must reproduce the above copyright
11*958f4928SGeorge V. Neville-Neil  *    notice, this list of conditions and the following disclaimer in the
12*958f4928SGeorge V. Neville-Neil  *    documentation and/or other materials provided with the distribution.
13*958f4928SGeorge V. Neville-Neil  *
14*958f4928SGeorge V. Neville-Neil  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
15*958f4928SGeorge V. Neville-Neil  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16*958f4928SGeorge V. Neville-Neil  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
17*958f4928SGeorge V. Neville-Neil  * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
18*958f4928SGeorge V. Neville-Neil  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
19*958f4928SGeorge V. Neville-Neil  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
20*958f4928SGeorge V. Neville-Neil  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
21*958f4928SGeorge V. Neville-Neil  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
22*958f4928SGeorge V. Neville-Neil  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
23*958f4928SGeorge V. Neville-Neil  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
24*958f4928SGeorge V. Neville-Neil  * SUCH DAMAGE.
25*958f4928SGeorge V. Neville-Neil  *
26*958f4928SGeorge V. Neville-Neil  * Translators and flags for the socket structure.  FreeBSD specific code.
27*958f4928SGeorge V. Neville-Neil  */
28*958f4928SGeorge V. Neville-Neil 
29*958f4928SGeorge V. Neville-Neil #pragma D depends_on module kernel
30*958f4928SGeorge V. Neville-Neil 
31*958f4928SGeorge V. Neville-Neil /*
32*958f4928SGeorge V. Neville-Neil  * Option flags per-socket.
33*958f4928SGeorge V. Neville-Neil  */
34*958f4928SGeorge V. Neville-Neil #pragma D binding "1.13" SO_DEBUG
35*958f4928SGeorge V. Neville-Neil inline int SO_DEBUG =		0x0001;		/* turn on debugging info recording */
36*958f4928SGeorge V. Neville-Neil #pragma D binding "1.13" SO_ACCEPTCONN
37*958f4928SGeorge V. Neville-Neil inline int SO_ACCEPTCONN = 	0x0002;		/* socket has had listen() */
38*958f4928SGeorge V. Neville-Neil #pragma D binding "1.13" SO_REUSEADDR
39*958f4928SGeorge V. Neville-Neil inline int SO_REUSEADDR =	0x0004;		/* allow local address reuse */
40*958f4928SGeorge V. Neville-Neil #pragma D binding "1.13" SO_KEEPALIVE
41*958f4928SGeorge V. Neville-Neil inline int SO_KEEPALIVE =	0x0008;		/* keep connections alive */
42*958f4928SGeorge V. Neville-Neil #pragma D binding "1.13" SO_DONTROUTE
43*958f4928SGeorge V. Neville-Neil inline int SO_DONTROUTE =	0x0010;		/* just use interface addresses */
44*958f4928SGeorge V. Neville-Neil #pragma D binding "1.13" SO_BROADCAST
45*958f4928SGeorge V. Neville-Neil inline int SO_BROADCAST =	0x0020;		/* permit sending of broadcast msgs */
46*958f4928SGeorge V. Neville-Neil #pragma D binding "1.13" SO_USELOOPBACK
47*958f4928SGeorge V. Neville-Neil inline int SO_USELOOPBACK =	0x0040;		/* bypass hardware when possible */
48*958f4928SGeorge V. Neville-Neil #pragma D binding "1.13" SO_LINGER
49*958f4928SGeorge V. Neville-Neil inline int SO_LINGER =		0x0080;		/* linger on close if data present */
50*958f4928SGeorge V. Neville-Neil #pragma D binding "1.13" SO_OOBINLINE
51*958f4928SGeorge V. Neville-Neil inline int SO_OOBINLINE =	0x0100;		/* leave received OOB data in line */
52*958f4928SGeorge V. Neville-Neil #pragma D binding "1.13" SO_REUSEPORT
53*958f4928SGeorge V. Neville-Neil inline int SO_REUSEPORT =	0x0200;		/* allow local address & port reuse */
54*958f4928SGeorge V. Neville-Neil #pragma D binding "1.13" SO_TIMESTAMP
55*958f4928SGeorge V. Neville-Neil inline int SO_TIMESTAMP =	0x0400;		/* timestamp received dgram traffic */
56*958f4928SGeorge V. Neville-Neil #pragma D binding "1.13" SO_NOSIGPIPE
57*958f4928SGeorge V. Neville-Neil inline int SO_NOSIGPIPE =	0x0800;		/* no SIGPIPE from EPIPE */
58*958f4928SGeorge V. Neville-Neil #pragma D binding "1.13" SO_ACCEPTFILTER
59*958f4928SGeorge V. Neville-Neil inline int SO_ACCEPTFILTER =	0x1000;		/* there is an accept filter */
60*958f4928SGeorge V. Neville-Neil #pragma D binding "1.13" SO_BINTIME
61*958f4928SGeorge V. Neville-Neil inline int SO_BINTIME =		0x2000;		/* timestamp received dgram traffic */
62*958f4928SGeorge V. Neville-Neil #pragma D binding "1.13" SO_NO_OFFLOAD
63*958f4928SGeorge V. Neville-Neil inline int SO_NO_OFFLOAD =	0x4000;		/* socket cannot be offloaded */
64*958f4928SGeorge V. Neville-Neil #pragma D binding "1.13" SO_NO_DDP
65*958f4928SGeorge V. Neville-Neil inline int SO_NO_DDP =		0x8000;		/* disable direct data placement */
66*958f4928SGeorge V. Neville-Neil 
67*958f4928SGeorge V. Neville-Neil /*
68*958f4928SGeorge V. Neville-Neil  * Additional options, not kept in so_options.
69*958f4928SGeorge V. Neville-Neil  */
70*958f4928SGeorge V. Neville-Neil #pragma D binding "1.13" SO_SNDBUF
71*958f4928SGeorge V. Neville-Neil inline int SO_SNDBUF =		0x1001;		/* send buffer size */
72*958f4928SGeorge V. Neville-Neil #pragma D binding "1.13" SO_RCVBUF
73*958f4928SGeorge V. Neville-Neil inline int SO_RCVBUF =		0x1002;		/* receive buffer size */
74*958f4928SGeorge V. Neville-Neil #pragma D binding "1.13" SO_SNDLOWAT
75*958f4928SGeorge V. Neville-Neil inline int SO_SNDLOWAT =	0x1003;		/* send low-water mark */
76*958f4928SGeorge V. Neville-Neil #pragma D binding "1.13" SO_RCVLOWAT
77*958f4928SGeorge V. Neville-Neil inline int SO_RCVLOWAT =	0x1004;		/* receive low-water mark */
78*958f4928SGeorge V. Neville-Neil #pragma D binding "1.13" SO_SNDTIMEO
79*958f4928SGeorge V. Neville-Neil inline int SO_SNDTIMEO =	0x1005;		/* send timeout */
80*958f4928SGeorge V. Neville-Neil #pragma D binding "1.13" SO_RCVTIMEO
81*958f4928SGeorge V. Neville-Neil inline int SO_RCVTIMEO =	0x1006;		/* receive timeout */
82*958f4928SGeorge V. Neville-Neil #pragma D binding "1.13" SO_ERROR
83*958f4928SGeorge V. Neville-Neil inline int SO_ERROR =		0x1007;		/* get error status and clear */
84*958f4928SGeorge V. Neville-Neil #pragma D binding "1.13" SO_TYPE
85*958f4928SGeorge V. Neville-Neil inline int SO_TYPE =		0x1008;		/* get socket type */
86*958f4928SGeorge V. Neville-Neil #pragma D binding "1.13" SO_LABEL
87*958f4928SGeorge V. Neville-Neil inline int SO_LABEL =		0x1009;		/* socket's MAC label */
88*958f4928SGeorge V. Neville-Neil #pragma D binding "1.13" SO_PEERLABEL
89*958f4928SGeorge V. Neville-Neil inline int SO_PEERLABEL =	0x1010;		/* socket's peer's MAC label */
90*958f4928SGeorge V. Neville-Neil #pragma D binding "1.13" SO_LISTENQLIMIT
91*958f4928SGeorge V. Neville-Neil inline int SO_LISTENQLIMIT =	0x1011;		/* socket's backlog limit */
92*958f4928SGeorge V. Neville-Neil #pragma D binding "1.13" SO_LISTENQLEN
93*958f4928SGeorge V. Neville-Neil inline int SO_LISTENQLEN =	0x1012;		/* socket's complete queue length */
94*958f4928SGeorge V. Neville-Neil #pragma D binding "1.13" SO_LISTENINCQLEN
95*958f4928SGeorge V. Neville-Neil inline int SO_LISTENINCQLEN =	0x1013;		/* socket's incomplete queue length */
96*958f4928SGeorge V. Neville-Neil #pragma D binding "1.13" SO_SETFIB
97*958f4928SGeorge V. Neville-Neil inline int SO_SETFIB =		0x1014;		/* use this FIB to route */
98*958f4928SGeorge V. Neville-Neil #pragma D binding "1.13" SO_USER_COOKIE
99*958f4928SGeorge V. Neville-Neil inline int SO_USER_COOKIE =	0x1015;		/* user cookie (dummynet etc.) */
100*958f4928SGeorge V. Neville-Neil #pragma D binding "1.13" SO_PROTOCOL
101*958f4928SGeorge V. Neville-Neil inline int SO_PROTOCOL =	0x1016;		/* get socket protocol (Linux name) */
102*958f4928SGeorge V. Neville-Neil #pragma D binding "1.13" SO_PROTOTYPE
103*958f4928SGeorge V. Neville-Neil inline int SO_PROTOTYPE =	SO_PROTOCOL;	/* alias for SO_PROTOCOL (SunOS name) */
104*958f4928SGeorge V. Neville-Neil #pragma D binding "1.13" SO_TS_CLOCK
105*958f4928SGeorge V. Neville-Neil inline int SO_TS_CLOCK =	0x1017;		/* clock type used for SO_TIMESTAMP */
106*958f4928SGeorge V. Neville-Neil #pragma D binding "1.13" SO_MAX_PACING_RATE
107*958f4928SGeorge V. Neville-Neil inline int SO_MAX_PACING_RATE = 0x1018;	/* socket's max TX pacing rate (Linux name) */
108*958f4928SGeorge V. Neville-Neil 
109*958f4928SGeorge V. Neville-Neil #pragma D binding "1.13" SO_TS_REALTIME_MICRO
110*958f4928SGeorge V. Neville-Neil inline int SO_TS_REALTIME_MICRO =	0;	/* microsecond resolution, realtime */
111*958f4928SGeorge V. Neville-Neil #pragma D binding "1.13" SO_TS_BINTIME
112*958f4928SGeorge V. Neville-Neil inline int SO_TS_BINTIME = 		1;	/* sub-nanosecond resolution, realtime */
113*958f4928SGeorge V. Neville-Neil #pragma D binding "1.13" SO_TS_REALTIME
114*958f4928SGeorge V. Neville-Neil inline int SO_TS_REALTIME = 		2;	/* nanosecond resolution, realtime */
115*958f4928SGeorge V. Neville-Neil #pragma D binding "1.13" SO_TS_MONOTONIC
116*958f4928SGeorge V. Neville-Neil inline int SO_TS_MONOTONIC =		3;	/* nanosecond resolution, monotonic */
117*958f4928SGeorge V. Neville-Neil #pragma D binding "1.13" SO_TS_DEFAULT
118*958f4928SGeorge V. Neville-Neil inline int SO_TS_DEFAULT = 		SO_TS_REALTIME_MICRO;
119*958f4928SGeorge V. Neville-Neil #pragma D binding "1.13" SO_TS_CLOCK_MAX
120*958f4928SGeorge V. Neville-Neil inline int SO_TS_CLOCK_MAX = 		SO_TS_MONOTONIC;
121*958f4928SGeorge V. Neville-Neil 
122*958f4928SGeorge V. Neville-Neil #pragma D binding "1.13" AF_UNSPEC
123*958f4928SGeorge V. Neville-Neil inline int AF_UNSPEC =		0;		/* unspecified */
124*958f4928SGeorge V. Neville-Neil #pragma D binding "1.13" AF_UNIX
125*958f4928SGeorge V. Neville-Neil inline int AF_UNIX =		1;		/* standardized name for AF_LOCAL */
126*958f4928SGeorge V. Neville-Neil #pragma D binding "1.13" AF_LOCAL
127*958f4928SGeorge V. Neville-Neil inline int AF_LOCAL =		AF_UNIX;	/* local to host (pipes, portals) */
128*958f4928SGeorge V. Neville-Neil #pragma D binding "1.13" AF_INET
129*958f4928SGeorge V. Neville-Neil inline int AF_INET =		2;		/* internetwork: UDP, TCP, etc. */
130*958f4928SGeorge V. Neville-Neil #pragma D binding "1.13" AF_IMPLINK
131*958f4928SGeorge V. Neville-Neil inline int AF_IMPLINK =	3;		/* arpanet imp addresses */
132*958f4928SGeorge V. Neville-Neil #pragma D binding "1.13" AF_PUP
133*958f4928SGeorge V. Neville-Neil inline int AF_PUP =		4;		/* pup protocols: e.g. BSP */
134*958f4928SGeorge V. Neville-Neil #pragma D binding "1.13" AF_CHAOS
135*958f4928SGeorge V. Neville-Neil inline int AF_CHAOS =		5;		/* mit CHAOS protocols */
136*958f4928SGeorge V. Neville-Neil #pragma D binding "1.13" AF_NETBIOS
137*958f4928SGeorge V. Neville-Neil inline int AF_NETBIOS =	6;		/* SMB protocols */
138*958f4928SGeorge V. Neville-Neil #pragma D binding "1.13" AF_ISO
139*958f4928SGeorge V. Neville-Neil inline int AF_ISO =		7;		/* ISO protocols */
140*958f4928SGeorge V. Neville-Neil #pragma D binding "1.13" AF_OSI
141*958f4928SGeorge V. Neville-Neil inline int AF_OSI =		AF_ISO;
142*958f4928SGeorge V. Neville-Neil #pragma D binding "1.13" AF_ECMA
143*958f4928SGeorge V. Neville-Neil inline int AF_ECMA =		8;		/* European computer manufacturers */
144*958f4928SGeorge V. Neville-Neil #pragma D binding "1.13" AF_DATAKIT
145*958f4928SGeorge V. Neville-Neil inline int AF_DATAKIT =		9;		/* datakit protocols */
146*958f4928SGeorge V. Neville-Neil #pragma D binding "1.13" AF_CCITT
147*958f4928SGeorge V. Neville-Neil inline int AF_CCITT =		10;		/* CCITT protocols, X.25 etc */
148*958f4928SGeorge V. Neville-Neil #pragma D binding "1.13" AF_SNA
149*958f4928SGeorge V. Neville-Neil inline int AF_SNA =		11;		/* IBM SNA */
150*958f4928SGeorge V. Neville-Neil #pragma D binding "1.13" AF_DECnet
151*958f4928SGeorge V. Neville-Neil inline int AF_DECnet =		12;		/* DECnet */
152*958f4928SGeorge V. Neville-Neil #pragma D binding "1.13" AF_DLI
153*958f4928SGeorge V. Neville-Neil inline int AF_DLI =		13;		/* DEC Direct data link interface */
154*958f4928SGeorge V. Neville-Neil #pragma D binding "1.13" AF_LAT
155*958f4928SGeorge V. Neville-Neil inline int AF_LAT =		14;		/* LAT */
156*958f4928SGeorge V. Neville-Neil #pragma D binding "1.13" AF_HYLINK
157*958f4928SGeorge V. Neville-Neil inline int AF_HYLINK =		15;		/* NSC Hyperchannel */
158*958f4928SGeorge V. Neville-Neil #pragma D binding "1.13" AF_APPLETALK
159*958f4928SGeorge V. Neville-Neil inline int AF_APPLETALK =	16;		/* Apple Talk */
160*958f4928SGeorge V. Neville-Neil #pragma D binding "1.13" AF_ROUTE
161*958f4928SGeorge V. Neville-Neil inline int AF_ROUTE =		17;		/* Internal Routing Protocol */
162*958f4928SGeorge V. Neville-Neil #pragma D binding "1.13" AF_LINK
163*958f4928SGeorge V. Neville-Neil inline int AF_LINK =		18;		/* Link layer interface */
164*958f4928SGeorge V. Neville-Neil #pragma D binding "1.13" pseudo_AF_XTP
165*958f4928SGeorge V. Neville-Neil inline int pseudo_AF_XTP =	19;		/* eXpress Transfer Protocol (no AF) */
166*958f4928SGeorge V. Neville-Neil #pragma D binding "1.13" AF_COIP
167*958f4928SGeorge V. Neville-Neil inline int AF_COIP =		20;		/* connection-oriented IP, aka ST II */
168*958f4928SGeorge V. Neville-Neil #pragma D binding "1.13" AF_CNT
169*958f4928SGeorge V. Neville-Neil inline int AF_CNT =		21;		/* Computer Network Technology */
170*958f4928SGeorge V. Neville-Neil #pragma D binding "1.13" pseudo_AF_RTIP
171*958f4928SGeorge V. Neville-Neil inline int pseudo_AF_RTIP =	22;		/* Help Identify RTIP packets */
172*958f4928SGeorge V. Neville-Neil #pragma D binding "1.13" AF_IPX
173*958f4928SGeorge V. Neville-Neil inline int AF_IPX =		23;		/* Novell Internet Protocol */
174*958f4928SGeorge V. Neville-Neil #pragma D binding "1.13" AF_SIP
175*958f4928SGeorge V. Neville-Neil inline int AF_SIP =		24;		/* Simple Internet Protocol */
176*958f4928SGeorge V. Neville-Neil #pragma D binding "1.13" pseudo_AF_PIP
177*958f4928SGeorge V. Neville-Neil inline int pseudo_AF_PIP =	25;		/* Help Identify PIP packets */
178*958f4928SGeorge V. Neville-Neil #pragma D binding "1.13" AF_ISDN
179*958f4928SGeorge V. Neville-Neil inline int AF_ISDN =		26;		/* Integrated Services Digital Network*/
180*958f4928SGeorge V. Neville-Neil #pragma D binding "1.13" AF_E164
181*958f4928SGeorge V. Neville-Neil inline int AF_E164 =		AF_ISDN;	/* CCITT E.164 recommendation */
182*958f4928SGeorge V. Neville-Neil #pragma D binding "1.13" pseudo_AF_KEY
183*958f4928SGeorge V. Neville-Neil inline int pseudo_AF_KEY =	27;		/* Internal key-management function */
184*958f4928SGeorge V. Neville-Neil #pragma D binding "1.13" AF_INET6
185*958f4928SGeorge V. Neville-Neil inline int AF_INET6 =		28;		/* IPv6 */
186*958f4928SGeorge V. Neville-Neil #pragma D binding "1.13" AF_NATM
187*958f4928SGeorge V. Neville-Neil inline int AF_NATM =		29;		/* native ATM access */
188*958f4928SGeorge V. Neville-Neil #pragma D binding "1.13" AF_ATM
189*958f4928SGeorge V. Neville-Neil inline int AF_ATM =		30;		/* ATM */
190*958f4928SGeorge V. Neville-Neil #pragma D binding "1.13" pseudo_AF_HDRCMPLT
191*958f4928SGeorge V. Neville-Neil inline int pseudo_AF_HDRCMPLT = 31;	/* Used by BPF to not rewrite headers
192*958f4928SGeorge V. Neville-Neil 					 * in interface output routine
193*958f4928SGeorge V. Neville-Neil 					 */
194*958f4928SGeorge V. Neville-Neil #pragma D binding "1.13" AF_NETGRAPH
195*958f4928SGeorge V. Neville-Neil inline int AF_NETGRAPH =	32;		/* Netgraph sockets */
196*958f4928SGeorge V. Neville-Neil #pragma D binding "1.13" AF_SLOW
197*958f4928SGeorge V. Neville-Neil inline int AF_SLOW =		33;		/* 802.3ad slow protocol */
198*958f4928SGeorge V. Neville-Neil #pragma D binding "1.13" AF_SCLUSTER
199*958f4928SGeorge V. Neville-Neil inline int AF_SCLUSTER =	34;		/* Sitara cluster protocol */
200*958f4928SGeorge V. Neville-Neil #pragma D binding "1.13" AF_ARP
201*958f4928SGeorge V. Neville-Neil inline int AF_ARP =		35;		/* Address Resolution Protocol */
202*958f4928SGeorge V. Neville-Neil #pragma D binding "1.13" AF_BLUETOOTH
203*958f4928SGeorge V. Neville-Neil inline int AF_BLUETOOTH =	36;		/* Bluetooth sockets */
204*958f4928SGeorge V. Neville-Neil #pragma D binding "1.13" AF_IEEE80211
205*958f4928SGeorge V. Neville-Neil inline int AF_IEEE80211 =	37;		/* IEEE 802.11 protocol */
206*958f4928SGeorge V. Neville-Neil #pragma D binding "1.13" AF_INET_SDP
207*958f4928SGeorge V. Neville-Neil inline int AF_INET_SDP	=	40;		/* OFED Socket Direct Protocol ipv4 */
208*958f4928SGeorge V. Neville-Neil #pragma D binding "1.13" AF_INET6_SDP
209*958f4928SGeorge V. Neville-Neil inline int AF_INET6_SDP =	42;		/* OFED Socket Direct Protocol ipv6 */
210*958f4928SGeorge V. Neville-Neil #pragma D binding "1.13" AF_MAX
211*958f4928SGeorge V. Neville-Neil inline int AF_MAX =		42;
212*958f4928SGeorge V. Neville-Neil 
213*958f4928SGeorge V. Neville-Neil /*
214*958f4928SGeorge V. Neville-Neil  * Protocol families, same as address families for now.
215*958f4928SGeorge V. Neville-Neil  */
216*958f4928SGeorge V. Neville-Neil #pragma D binding "1.13" PF_UNSPEC
217*958f4928SGeorge V. Neville-Neil inline int PF_UNSPEC =	AF_UNSPEC;
218*958f4928SGeorge V. Neville-Neil #pragma D binding "1.13" PF_LOCAL
219*958f4928SGeorge V. Neville-Neil inline int PF_LOCAL =	AF_LOCAL;
220*958f4928SGeorge V. Neville-Neil #pragma D binding "1.13" PF_UNIX
221*958f4928SGeorge V. Neville-Neil inline int PF_UNIX =	PF_LOCAL;	/* backward compatibility */
222*958f4928SGeorge V. Neville-Neil #pragma D binding "1.13" PF_INET
223*958f4928SGeorge V. Neville-Neil inline int PF_INET =	AF_INET;
224*958f4928SGeorge V. Neville-Neil #pragma D binding "1.13" PF_IMPLINK
225*958f4928SGeorge V. Neville-Neil inline int PF_IMPLINK =	AF_IMPLINK;
226*958f4928SGeorge V. Neville-Neil #pragma D binding "1.13" PF_PUP
227*958f4928SGeorge V. Neville-Neil inline int PF_PUP =	AF_PUP;
228*958f4928SGeorge V. Neville-Neil #pragma D binding "1.13" PF_CHAOS
229*958f4928SGeorge V. Neville-Neil inline int PF_CHAOS =	AF_CHAOS;
230*958f4928SGeorge V. Neville-Neil #pragma D binding "1.13" PF_NETBIOS
231*958f4928SGeorge V. Neville-Neil inline int PF_NETBIOS =	AF_NETBIOS;
232*958f4928SGeorge V. Neville-Neil #pragma D binding "1.13" PF_ISO
233*958f4928SGeorge V. Neville-Neil inline int PF_ISO =	AF_ISO;
234*958f4928SGeorge V. Neville-Neil #pragma D binding "1.13" PF_OSI
235*958f4928SGeorge V. Neville-Neil inline int PF_OSI =	AF_ISO;
236*958f4928SGeorge V. Neville-Neil #pragma D binding "1.13" PF_ECMA
237*958f4928SGeorge V. Neville-Neil inline int PF_ECMA =	AF_ECMA;
238*958f4928SGeorge V. Neville-Neil #pragma D binding "1.13" PF_DATAKIT
239*958f4928SGeorge V. Neville-Neil inline int PF_DATAKIT =	AF_DATAKIT;
240*958f4928SGeorge V. Neville-Neil #pragma D binding "1.13" PF_CCITT
241*958f4928SGeorge V. Neville-Neil inline int PF_CCITT =	AF_CCITT;
242*958f4928SGeorge V. Neville-Neil #pragma D binding "1.13" PF_SNA
243*958f4928SGeorge V. Neville-Neil inline int PF_SNA =	AF_SNA;
244*958f4928SGeorge V. Neville-Neil #pragma D binding "1.13" PF_DECnet
245*958f4928SGeorge V. Neville-Neil inline int PF_DECnet =	AF_DECnet;
246*958f4928SGeorge V. Neville-Neil #pragma D binding "1.13" PF_DLI
247*958f4928SGeorge V. Neville-Neil inline int PF_DLI =	AF_DLI;
248*958f4928SGeorge V. Neville-Neil #pragma D binding "1.13" PF_LAT
249*958f4928SGeorge V. Neville-Neil inline int PF_LAT =	AF_LAT;
250*958f4928SGeorge V. Neville-Neil #pragma D binding "1.13" PF_HYLINK
251*958f4928SGeorge V. Neville-Neil inline int PF_HYLINK =	AF_HYLINK;
252*958f4928SGeorge V. Neville-Neil #pragma D binding "1.13" PF_APPLETALK
253*958f4928SGeorge V. Neville-Neil inline int PF_APPLETALK =	AF_APPLETALK;
254*958f4928SGeorge V. Neville-Neil #pragma D binding "1.13" PF_ROUTE
255*958f4928SGeorge V. Neville-Neil inline int PF_ROUTE =	AF_ROUTE;
256*958f4928SGeorge V. Neville-Neil #pragma D binding "1.13" PF_LINK
257*958f4928SGeorge V. Neville-Neil inline int PF_LINK =	AF_LINK;
258*958f4928SGeorge V. Neville-Neil #pragma D binding "1.13" PF_XTP
259*958f4928SGeorge V. Neville-Neil inline int PF_XTP =	pseudo_AF_XTP;	/* really just proto family, no AF */
260*958f4928SGeorge V. Neville-Neil #pragma D binding "1.13" PF_COIP
261*958f4928SGeorge V. Neville-Neil inline int PF_COIP =	AF_COIP;
262*958f4928SGeorge V. Neville-Neil #pragma D binding "1.13" PF_CNT
263*958f4928SGeorge V. Neville-Neil inline int PF_CNT =	AF_CNT;
264*958f4928SGeorge V. Neville-Neil #pragma D binding "1.13" PF_SIP
265*958f4928SGeorge V. Neville-Neil inline int PF_SIP =	AF_SIP;
266*958f4928SGeorge V. Neville-Neil #pragma D binding "1.13" PF_IPX
267*958f4928SGeorge V. Neville-Neil inline int PF_IPX =	AF_IPX;
268*958f4928SGeorge V. Neville-Neil #pragma D binding "1.13" PF_RTIP
269*958f4928SGeorge V. Neville-Neil inline int PF_RTIP =	pseudo_AF_RTIP;	/* same format as AF_INET */
270*958f4928SGeorge V. Neville-Neil #pragma D binding "1.13" PF_PIP
271*958f4928SGeorge V. Neville-Neil inline int PF_PIP =	pseudo_AF_PIP;
272*958f4928SGeorge V. Neville-Neil #pragma D binding "1.13" PF_ISDN
273*958f4928SGeorge V. Neville-Neil inline int PF_ISDN =	AF_ISDN;
274*958f4928SGeorge V. Neville-Neil #pragma D binding "1.13" PF_KEY
275*958f4928SGeorge V. Neville-Neil inline int PF_KEY =	pseudo_AF_KEY;
276*958f4928SGeorge V. Neville-Neil #pragma D binding "1.13" PF_INET6
277*958f4928SGeorge V. Neville-Neil inline int PF_INET6 =	AF_INET6;
278*958f4928SGeorge V. Neville-Neil #pragma D binding "1.13" PF_NATM
279*958f4928SGeorge V. Neville-Neil inline int PF_NATM =	AF_NATM;
280*958f4928SGeorge V. Neville-Neil #pragma D binding "1.13" PF_ATM
281*958f4928SGeorge V. Neville-Neil inline int PF_ATM =	AF_ATM;
282*958f4928SGeorge V. Neville-Neil #pragma D binding "1.13" PF_NETGRAPH
283*958f4928SGeorge V. Neville-Neil inline int PF_NETGRAPH =	AF_NETGRAPH;
284*958f4928SGeorge V. Neville-Neil #pragma D binding "1.13" PF_SLOW
285*958f4928SGeorge V. Neville-Neil inline int PF_SLOW =	AF_SLOW;
286*958f4928SGeorge V. Neville-Neil #pragma D binding "1.13" PF_SCLUSTER
287*958f4928SGeorge V. Neville-Neil inline int PF_SCLUSTER =	AF_SCLUSTER;
288*958f4928SGeorge V. Neville-Neil #pragma D binding "1.13" PF_ARP
289*958f4928SGeorge V. Neville-Neil inline int PF_ARP =	AF_ARP;
290*958f4928SGeorge V. Neville-Neil #pragma D binding "1.13" PF_BLUETOOTH
291*958f4928SGeorge V. Neville-Neil inline int PF_BLUETOOTH =	AF_BLUETOOTH;
292*958f4928SGeorge V. Neville-Neil #pragma D binding "1.13" PF_IEEE80211
293*958f4928SGeorge V. Neville-Neil inline int PF_IEEE80211 =	AF_IEEE80211;
294*958f4928SGeorge V. Neville-Neil #pragma D binding "1.13" PF_INET_SDP
295*958f4928SGeorge V. Neville-Neil inline int PF_INET_SDP=	AF_INET_SDP;
296*958f4928SGeorge V. Neville-Neil #pragma D binding "1.13" PF_INET6_SDP
297*958f4928SGeorge V. Neville-Neil inline int PF_INET6_SDP=	AF_INET6_SDP;
298*958f4928SGeorge V. Neville-Neil #pragma D binding "1.13" PF_MAX
299*958f4928SGeorge V. Neville-Neil inline int PF_MAX =	AF_MAX;
300