1{
2  Should be aliases but I copy pasted them from winsock2 for now...
3}
4
5const
6{ Address families. }
7  AF_UNSPEC       = winsock2.AF_UNSPEC;               { unspecified }
8  AF_UNIX         = winsock2.AF_UNIX;               { local to host (pipes, portals) }
9  AF_INET         = winsock2.AF_INET;               { internetwork: UDP, TCP, etc. }
10  AF_IMPLINK      = winsock2.AF_IMPLINK;               { arpanet imp addresses }
11  AF_PUP          = winsock2.AF_PUP;               { pup protocols: e.g. BSP }
12  AF_CHAOS        = winsock2.AF_CHAOS;               { mit CHAOS protocols }
13  AF_IPX          = winsock2.AF_IPX;               { IPX and SPX }
14  AF_NS           = winsock2.AF_NS;               { XEROX NS protocols }
15  AF_ISO          = winsock2.AF_ISO;               { ISO protocols }
16  AF_OSI          = winsock2.AF_OSI;          { OSI is ISO }
17  AF_ECMA         = winsock2.AF_ECMA;               { european computer manufacturers }
18  AF_DATAKIT      = winsock2.AF_DATAKIT;               { datakit protocols }
19  AF_CCITT        = winsock2.AF_CCITT;              { CCITT protocols, X.25 etc }
20  AF_SNA          = winsock2.AF_SNA;              { IBM SNA }
21  AF_DECnet       = winsock2.AF_DECnet;              { DECnet }
22  AF_DLI          = winsock2.AF_DLI;              { Direct data link interface }
23  AF_LAT          = winsock2.AF_LAT;              { LAT }
24  AF_HYLINK       = winsock2.AF_HYLINK;              { NSC Hyperchannel }
25  AF_APPLETALK    = winsock2.AF_APPLETALK;              { AppleTalk }
26  AF_NETBIOS      = winsock2.AF_NETBIOS;              { NetBios-style addresses }
27  AF_VOICEVIEW    = winsock2.AF_VOICEVIEW;              { VoiceView }
28  AF_FIREFOX      = winsock2.AF_FIREFOX;              { FireFox }
29  AF_UNKNOWN1     = winsock2.AF_UNKNOWN1;              { Somebody is using this! }
30  AF_BAN          = winsock2.AF_BAN;              { Banyan }
31  AF_ATM          = winsock2.AF_ATM; // Native ATM Services
32  AF_INET6        = winsock2.AF_INET6; // Internetwork Version 6
33  AF_MAX          = winsock2.AF_MAX;
34
35  PF_UNSPEC       = AF_UNSPEC;
36  PF_UNIX         = AF_UNIX;
37  PF_INET         = AF_INET;
38  PF_IMPLINK      = AF_IMPLINK;
39  PF_PUP          = AF_PUP;
40  PF_CHAOS        = AF_CHAOS;
41  PF_NS           = AF_NS;
42  PF_IPX          = AF_IPX;
43  PF_ISO          = AF_ISO;
44  PF_OSI          = AF_OSI;
45  PF_ECMA         = AF_ECMA;
46  PF_DATAKIT      = AF_DATAKIT;
47  PF_CCITT        = AF_CCITT;
48  PF_SNA          = AF_SNA;
49  PF_DECnet       = AF_DECnet;
50  PF_DLI          = AF_DLI;
51  PF_LAT          = AF_LAT;
52  PF_HYLINK       = AF_HYLINK;
53  PF_APPLETALK    = AF_APPLETALK;
54  PF_VOICEVIEW    = AF_VOICEVIEW;
55  PF_FIREFOX      = AF_FIREFOX;
56  PF_UNKNOWN1     = AF_UNKNOWN1;
57  PF_BAN          = AF_BAN;
58  PF_ATM          = AF_ATM;
59  PF_INET6        = AF_INET6;
60
61  PF_MAX          = AF_MAX;
62
63{ Protocols }
64  IPPROTO_IP     =  winsock2.IPPROTO_IP;
65  IPPROTO_ICMP   =  winsock2.IPPROTO_ICMP;
66  IPPROTO_IGMP   =  winsock2.IPPROTO_IGMP;
67  IPPROTO_GGP    =  winsock2.IPPROTO_GGP;
68  IPPROTO_TCP    =  winsock2.IPPROTO_TCP;
69  IPPROTO_PUP    =  winsock2.IPPROTO_PUP;
70  IPPROTO_UDP    =  winsock2.IPPROTO_UDP;
71  IPPROTO_IDP    =  winsock2.IPPROTO_IDP;
72  IPPROTO_ND     =  winsock2.IPPROTO_ND;
73
74  IPPROTO_RAW    =  winsock2.IPPROTO_RAW;
75  IPPROTO_MAX    =  winsock2.IPPROTO_MAX;
76
77{ Port/socket numbers: network standard functions}
78
79  IPPORT_ECHO    =  winsock2.IPPORT_ECHO;
80  IPPORT_DISCARD =  winsock2.IPPORT_DISCARD;
81  IPPORT_SYSTAT  =  winsock2.IPPORT_SYSTAT;
82  IPPORT_DAYTIME =  winsock2.IPPORT_DAYTIME;
83  IPPORT_NETSTAT =  winsock2.IPPORT_NETSTAT;
84  IPPORT_FTP     =  winsock2.IPPORT_FTP;
85  IPPORT_TELNET  =  winsock2.IPPORT_TELNET;
86  IPPORT_SMTP    =  winsock2.IPPORT_SMTP;
87  IPPORT_TIMESERVER  =  winsock2.IPPORT_TIMESERVER;
88  IPPORT_NAMESERVER  =  winsock2.IPPORT_NAMESERVER;
89  IPPORT_WHOIS       =  winsock2.IPPORT_WHOIS;
90  IPPORT_MTP         =  winsock2.IPPORT_MTP;
91
92{ Port/socket numbers: host specific functions }
93
94  IPPORT_TFTP        =  winsock2.IPPORT_TFTP;
95  IPPORT_RJE         =  winsock2.IPPORT_RJE;
96  IPPORT_FINGER      =  winsock2.IPPORT_FINGER;
97  IPPORT_TTYLINK     =  winsock2.IPPORT_TTYLINK;
98  IPPORT_SUPDUP      =  winsock2.IPPORT_SUPDUP;
99
100{ UNIX TCP sockets }
101
102  IPPORT_EXECSERVER  =  winsock2.IPPORT_EXECSERVER;
103  IPPORT_LOGINSERVER =  winsock2.IPPORT_LOGINSERVER;
104  IPPORT_CMDSERVER   =  winsock2.IPPORT_CMDSERVER;
105  IPPORT_EFSSERVER   =  winsock2.IPPORT_EFSSERVER;
106
107{ UNIX UDP sockets }
108
109  IPPORT_BIFFUDP     =  winsock2.IPPORT_BIFFUDP;
110  IPPORT_WHOSERVER   =  winsock2.IPPORT_WHOSERVER;
111  IPPORT_ROUTESERVER =  winsock2.IPPORT_ROUTESERVER;
112
113{ Ports < IPPORT_RESERVED are reserved for
114  privileged processes (e.g. root). }
115
116  IPPORT_RESERVED    =  winsock2.IPPORT_RESERVED;
117
118{ Options for use with [gs]etsockopt at the IP level. }
119
120  IP_OPTIONS          = winsock2.IP_OPTIONS;
121  IP_MULTICAST_IF     = winsock2.IP_MULTICAST_IF;
122  IP_MULTICAST_TTL    = winsock2.IP_MULTICAST_TTL;
123  IP_MULTICAST_LOOP   = winsock2.IP_MULTICAST_LOOP;
124  IP_ADD_MEMBERSHIP   = winsock2.IP_ADD_MEMBERSHIP;
125  IP_DROP_MEMBERSHIP  = winsock2.IP_DROP_MEMBERSHIP;
126  IP_TTL              = winsock2.IP_TTL;
127  IP_TOS              = winsock2.IP_TOS;
128  IP_DONTFRAGMENT     = winsock2.IP_DONTFRAGMENT;
129
130{ This is used instead of -1, since the
131  TSocket type is unsigned.}
132{
133  Tsocket might be unsigned, but the sockets unit uses
134  signed types. So, we cannot use these constants, signed
135  ones are defined in socketh.inc.
136  INVALID_SOCKET                = winsock2.INVALID_SOCKET;
137  SOCKET_ERROR                  = winsock2.SOCKET_ERROR;
138}
139
140{ Option flags per-socket. }
141
142  SO_DEBUG        = winsock2.SO_DEBUG;
143  SO_ACCEPTCONN   = winsock2.SO_ACCEPTCONN;
144  SO_REUSEADDR    = winsock2.SO_REUSEADDR;
145  SO_KEEPALIVE    = winsock2.SO_KEEPALIVE;
146  SO_DONTROUTE    = winsock2.SO_DONTROUTE;
147  SO_BROADCAST    = winsock2.SO_BROADCAST;
148  SO_USELOOPBACK  = winsock2.SO_USELOOPBACK;
149  SO_LINGER       = winsock2.SO_LINGER;
150  SO_OOBINLINE    = winsock2.SO_OOBINLINE;
151
152  SO_DONTLINGER  =  winsock2.SO_DONTLINGER;
153
154{ Additional options. }
155
156  SO_SNDBUF       = winsock2.SO_SNDBUF;
157  SO_RCVBUF       = winsock2.SO_RCVBUF;
158  SO_SNDLOWAT     = winsock2.SO_SNDLOWAT;
159  SO_RCVLOWAT     = winsock2.SO_RCVLOWAT;
160  SO_SNDTIMEO     = winsock2.SO_SNDTIMEO;
161  SO_RCVTIMEO     = winsock2.SO_RCVTIMEO;
162  SO_ERROR        = winsock2.SO_ERROR;
163  SO_TYPE         = winsock2.SO_TYPE;
164
165{ Options for connect and disconnect data and options.  Used only by
166  non-TCP/IP transports such as DECNet, OSI TP4, etc. }
167
168  SO_CONNDATA     = winsock2.SO_CONNDATA;
169  SO_CONNOPT      = winsock2.SO_CONNOPT;
170  SO_DISCDATA     = winsock2.SO_DISCDATA;
171  SO_DISCOPT      = winsock2.SO_DISCOPT;
172  SO_CONNDATALEN  = winsock2.SO_CONNDATALEN;
173  SO_CONNOPTLEN   = winsock2.SO_CONNOPTLEN;
174  SO_DISCDATALEN  = winsock2.SO_DISCDATALEN;
175  SO_DISCOPTLEN   = winsock2.SO_DISCOPTLEN;
176
177{ Option for opening sockets for synchronous access. }
178  SO_OPENTYPE     = winsock2.SO_OPENTYPE;
179  SO_SYNCHRONOUS_ALERT    = winsock2.SO_SYNCHRONOUS_ALERT;
180  SO_SYNCHRONOUS_NONALERT = winsock2.SO_SYNCHRONOUS_NONALERT;
181
182{ Other NT-specific options. }
183  SO_MAXDG        = winsock2.SO_MAXDG;
184  SO_MAXPATHDG    = winsock2.SO_MAXPATHDG;
185  SO_UPDATE_ACCEPT_CONTEXT     = winsock2.SO_UPDATE_ACCEPT_CONTEXT;
186  SO_CONNECT_TIME = winsock2.SO_CONNECT_TIME;
187
188{ TCP options. }
189  TCP_NODELAY     = winsock2.TCP_NODELAY;
190  TCP_BSDURGENT   = winsock2.TCP_BSDURGENT;
191
192  MSG_OOB         = winsock2.MSG_OOB;
193  MSG_PEEK        = winsock2.MSG_PEEK;
194  MSG_DONTROUTE   = winsock2.MSG_DONTROUTE;
195
196{ WinSock 2 extension -- new flags for WSASend(), WSASendTo(), WSARecv() and WSARecvFrom() }
197  MSG_INTERRUPT = winsock2.MSG_INTERRUPT;
198  MSG_MAXIOVLEN = winsock2.MSG_MAXIOVLEN;
199
200  MSG_PARTIAL     = winsock2.MSG_PARTIAL;
201
202  { options for socket level  }
203  SOL_SOCKET = $ffff;
204
205  INVALID_SOCKET = winsock2.INVALID_SOCKET;
206  SOCKET_ERROR = winsock2.SOCKET_ERROR;
207
208