ReactOS 0.4.16-dev-1875-g3000d45
winsock2.h
Go to the documentation of this file.
1#pragma once
2
3#if !(defined _WINSOCK2API_ || defined _WINSOCKAPI_)
4#define _WINSOCK2API_
5#define _WINSOCKAPI_ /* to prevent later inclusion of winsock.h */
6
7#define _GNU_H_WINDOWS32_SOCKETS
8
9#if (!defined(_WIN64) && !defined(WIN32))
10#include <pshpack4.h>
11#define _NEED_POPPACK
12#endif
13
14#ifndef INCL_WINSOCK_API_PROTOTYPES
15#define INCL_WINSOCK_API_PROTOTYPES 1
16#endif
17
18#ifndef INCL_WINSOCK_API_TYPEDEFS
19#define INCL_WINSOCK_API_TYPEDEFS 0
20#endif
21
22#ifndef _INC_WINDOWS
23#include <windows.h>
24#endif
25
26#if !defined(MAKEWORD)
27#define MAKEWORD(low,high) ((WORD)(((BYTE)(low)) | ((WORD)((BYTE)(high))) << 8))
28#endif
29
30#ifndef WINSOCK_VERSION
31#define WINSOCK_VERSION MAKEWORD(2,2)
32#endif
33
34#ifndef WINSOCK_API_LINKAGE
35#ifdef DECLSPEC_IMPORT
36#define WINSOCK_API_LINKAGE DECLSPEC_IMPORT
37#else
38#define WINSOCK_API_LINKAGE
39#endif
40#endif
41
42#ifdef __cplusplus
43extern "C" {
44#endif
45
46/* Names common to Winsock1.1 and Winsock2 */
47#if !defined ( _BSDTYPES_DEFINED )
48/* also defined in gmon.h and in cygwin's sys/types */
49typedef unsigned char u_char;
50typedef unsigned short u_short;
51typedef unsigned int u_int;
52#ifndef __ROS_LONG64__
53typedef unsigned long u_long;
54#else
55typedef unsigned int u_long;
56#endif
57#define _BSDTYPES_DEFINED
58#endif /* ! def _BSDTYPES_DEFINED */
59
60#if(_WIN32_WINNT >= 0x0501)
61typedef unsigned __int64 u_int64;
62#endif /* (_WIN32_WINNT >= 0x0501) */
63
64#include <ws2def.h>
65
67
68#ifndef FD_SETSIZE
69#define FD_SETSIZE 64
70#endif
71
72#ifndef _SYS_TYPES_FD_SET
73
74/* fd_set may be defined by the newlib <sys/types.h>
75 * if __USE_W32_SOCKETS not defined.
76 */
77#ifdef fd_set
78#undef fd_set
79#endif
80
81typedef struct fd_set {
85
87
88#ifndef FD_CLR
89#define FD_CLR(fd, set) do { \
90 u_int __i; \
91 for (__i = 0; __i < ((fd_set FAR*)(set))->fd_count ; __i++) { \
92 if (((fd_set FAR*)(set))->fd_array[__i] == fd) { \
93 while (__i < ((fd_set FAR*)(set))->fd_count-1) { \
94 ((fd_set FAR*)(set))->fd_array[__i] = \
95 ((fd_set FAR*)(set))->fd_array[__i+1]; \
96 __i++; \
97 } \
98 ((fd_set FAR*)(set))->fd_count--; \
99 break; \
100 } \
101 } \
102} while(0)
103#endif
104
105#ifndef FD_SET
106/* this differs from the define in winsock.h and in cygwin sys/types.h */
107#define FD_SET(fd, set) do { \
108 u_int __i; \
109 for (__i = 0; __i < ((fd_set FAR *)(set))->fd_count; __i++) { \
110 if (((fd_set FAR *)(set))->fd_array[__i] == (fd)) { \
111 break; \
112 } \
113 } \
114 if (__i == ((fd_set FAR *)(set))->fd_count) { \
115 if (((fd_set FAR *)(set))->fd_count < FD_SETSIZE) { \
116 ((fd_set FAR *)(set))->fd_array[__i] = (fd); \
117 ((fd_set FAR *)(set))->fd_count++; \
118 } \
119 } \
120} while(0)
121#endif
122
123#ifndef FD_ZERO
124#define FD_ZERO(set) (((fd_set FAR*)(set))->fd_count=0)
125#endif
126
127#ifndef FD_ISSET
128#define FD_ISSET(fd, set) __WSAFDIsSet((SOCKET)(fd), (fd_set FAR*)(set))
129#endif
130
131#elif !defined (USE_SYS_TYPES_FD_SET)
132#warning "fd_set and associated macros have been defined in sys/types. \
133 This may cause runtime problems with W32 sockets"
134#endif /* ndef _SYS_TYPES_FD_SET */
135
136#if !(defined (__INSIDE_CYGWIN__) || defined (__INSIDE_MSYS__))
137
138#ifndef _TIMEVAL_DEFINED
139
140/* also in sys/time.h */
141#define _TIMEVAL_DEFINED
142#define _STRUCT_TIMEVAL
143struct timeval {
144 LONG tv_sec;
146};
147
148#define timerisset(tvp) ((tvp)->tv_sec || (tvp)->tv_usec)
149
150#define timercmp(tvp, uvp, cmp) \
151 (((tvp)->tv_sec != (uvp)->tv_sec) ? \
152 ((tvp)->tv_sec cmp (uvp)->tv_sec) : \
153 ((tvp)->tv_usec cmp (uvp)->tv_usec))
154
155#define timerclear(tvp) (tvp)->tv_sec = (tvp)->tv_usec = 0
156
157#endif /* _TIMEVAL_DEFINED */
158
159#define h_addr h_addr_list[0]
160
161struct hostent {
162 char *h_name;
163 char **h_aliases;
164 short h_addrtype;
165 short h_length;
166 char **h_addr_list;
167};
168
169struct linger {
172};
173
174#define FIONBIO _IOW('f', 126, u_long)
175
176struct netent {
177 char * n_name;
178 char **n_aliases;
179 short n_addrtype;
181};
182
183struct servent {
184 char FAR *s_name;
186#ifdef _WIN64
187 char FAR *s_proto;
188 short s_port;
189#else
190 short s_port;
192#endif
193};
194
195struct protoent {
196 char *p_name;
197 char **p_aliases;
198 short p_proto;
199};
200
201#define SOMAXCONN 0x7fffffff
202
203#define MSG_OOB 1
204#define MSG_PEEK 2
205#define MSG_DONTROUTE 4
206#if(_WIN32_WINNT >= 0x0502)
207#define MSG_WAITALL 8
208#endif
209
210#define h_errno WSAGetLastError()
211#define HOST_NOT_FOUND WSAHOST_NOT_FOUND
212#define TRY_AGAIN WSATRY_AGAIN
213#define NO_RECOVERY WSANO_RECOVERY
214#define NO_DATA WSANO_DATA
215#define NO_ADDRESS WSANO_ADDRESS
216
217#endif /* !(defined (__INSIDE_CYGWIN__) || defined (__INSIDE_MSYS__)) */
218
219#define FIONREAD _IOR('f', 127, u_long)
220#define FIOASYNC _IOW('f', 125, u_long)
221#define SIOCSHIWAT _IOW('s', 0, u_long)
222#define SIOCGHIWAT _IOR('s', 1, u_long)
223#define SIOCSLOWAT _IOW('s', 2, u_long)
224#define SIOCGLOWAT _IOR('s', 3, u_long)
225#define SIOCATMARK _IOR('s', 7, u_long)
226
227#define IMPLINK_IP 155
228#define IMPLINK_LOWEXPER 156
229#define IMPLINK_HIGHEXPER 158
230
231#define ADDR_ANY INADDR_ANY
232
233#define WSADESCRIPTION_LEN 256
234#define WSASYS_STATUS_LEN 128
235
236#define INVALID_SOCKET (SOCKET)(~0)
237
238#define SOCKET_ERROR (-1)
239
240#define FROM_PROTOCOL_INFO (-1)
241
242#define SO_PROTOCOL_INFOA 0x2004
243#define SO_PROTOCOL_INFOW 0x2005
244#ifdef UNICODE
245#define SO_PROTOCOL_INFO SO_PROTOCOL_INFOW
246#else
247#define SO_PROTOCOL_INFO SO_PROTOCOL_INFOA
248#endif
249#define PVD_CONFIG 0x3001
250
251#define PF_UNSPEC AF_UNSPEC
252#define PF_UNIX AF_UNIX
253#define PF_INET AF_INET
254#define PF_IMPLINK AF_IMPLINK
255#define PF_PUP AF_PUP
256#define PF_CHAOS AF_CHAOS
257#define PF_NS AF_NS
258#define PF_IPX AF_IPX
259#define PF_ISO AF_ISO
260#define PF_OSI AF_OSI
261#define PF_ECMA AF_ECMA
262#define PF_DATAKIT AF_DATAKIT
263#define PF_CCITT AF_CCITT
264#define PF_SNA AF_SNA
265#define PF_DECnet AF_DECnet
266#define PF_DLI AF_DLI
267#define PF_LAT AF_LAT
268#define PF_HYLINK AF_HYLINK
269#define PF_APPLETALK AF_APPLETALK
270#define PF_VOICEVIEW AF_VOICEVIEW
271#define PF_FIREFOX AF_FIREFOX
272#define PF_UNKNOWN1 AF_UNKNOWN1
273#define PF_BAN AF_BAN
274#define PF_ATM AF_ATM
275#define PF_INET6 AF_INET6
276#if(_WIN32_WINNT >= 0x0600)
277#define PF_BTH AF_BTH
278#endif
279#define PF_MAX AF_MAX
280
281#define MSG_PARTIAL 0x8000
282#define MSG_INTERRUPT 0x10
283#define MSG_MAXIOVLEN 16
284
285#define MAXGETHOSTSTRUCT 1024
286
287#define FD_READ_BIT 0
288#define FD_READ (1 << FD_READ_BIT)
289#define FD_WRITE_BIT 1
290#define FD_WRITE (1 << FD_WRITE_BIT)
291#define FD_OOB_BIT 2
292#define FD_OOB (1 << FD_OOB_BIT)
293#define FD_ACCEPT_BIT 3
294#define FD_ACCEPT (1 << FD_ACCEPT_BIT)
295#define FD_CONNECT_BIT 4
296#define FD_CONNECT (1 << FD_CONNECT_BIT)
297#define FD_CLOSE_BIT 5
298#define FD_CLOSE (1 << FD_CLOSE_BIT)
299#define FD_QOS_BIT 6
300#define FD_QOS (1 << FD_QOS_BIT)
301#define FD_GROUP_QOS_BIT 7
302#define FD_GROUP_QOS (1 << FD_GROUP_QOS_BIT)
303#define FD_ROUTING_INTERFACE_CHANGE_BIT 8
304#define FD_ROUTING_INTERFACE_CHANGE (1 << FD_ROUTING_INTERFACE_CHANGE_BIT)
305#define FD_ADDRESS_LIST_CHANGE_BIT 9
306#define FD_ADDRESS_LIST_CHANGE (1 << FD_ADDRESS_LIST_CHANGE_BIT)
307#define FD_MAX_EVENTS 10
308#define FD_ALL_EVENTS ((1 << FD_MAX_EVENTS) - 1)
309
310#ifndef WSABASEERR
311
312#define WSABASEERR 10000
313#define WSAEINTR (WSABASEERR+4)
314#define WSAEBADF (WSABASEERR+9)
315#define WSAEACCES (WSABASEERR+13)
316#define WSAEFAULT (WSABASEERR+14)
317#define WSAEINVAL (WSABASEERR+22)
318#define WSAEMFILE (WSABASEERR+24)
319#define WSAEWOULDBLOCK (WSABASEERR+35)
320#define WSAEINPROGRESS (WSABASEERR+36)
321#define WSAEALREADY (WSABASEERR+37)
322#define WSAENOTSOCK (WSABASEERR+38)
323#define WSAEDESTADDRREQ (WSABASEERR+39)
324#define WSAEMSGSIZE (WSABASEERR+40)
325#define WSAEPROTOTYPE (WSABASEERR+41)
326#define WSAENOPROTOOPT (WSABASEERR+42)
327#define WSAEPROTONOSUPPORT (WSABASEERR+43)
328#define WSAESOCKTNOSUPPORT (WSABASEERR+44)
329#define WSAEOPNOTSUPP (WSABASEERR+45)
330#define WSAEPFNOSUPPORT (WSABASEERR+46)
331#define WSAEAFNOSUPPORT (WSABASEERR+47)
332#define WSAEADDRINUSE (WSABASEERR+48)
333#define WSAEADDRNOTAVAIL (WSABASEERR+49)
334#define WSAENETDOWN (WSABASEERR+50)
335#define WSAENETUNREACH (WSABASEERR+51)
336#define WSAENETRESET (WSABASEERR+52)
337#define WSAECONNABORTED (WSABASEERR+53)
338#define WSAECONNRESET (WSABASEERR+54)
339#define WSAENOBUFS (WSABASEERR+55)
340#define WSAEISCONN (WSABASEERR+56)
341#define WSAENOTCONN (WSABASEERR+57)
342#define WSAESHUTDOWN (WSABASEERR+58)
343#define WSAETOOMANYREFS (WSABASEERR+59)
344#define WSAETIMEDOUT (WSABASEERR+60)
345#define WSAECONNREFUSED (WSABASEERR+61)
346#define WSAELOOP (WSABASEERR+62)
347#define WSAENAMETOOLONG (WSABASEERR+63)
348#define WSAEHOSTDOWN (WSABASEERR+64)
349#define WSAEHOSTUNREACH (WSABASEERR+65)
350#define WSAENOTEMPTY (WSABASEERR+66)
351#define WSAEPROCLIM (WSABASEERR+67)
352#define WSAEUSERS (WSABASEERR+68)
353#define WSAEDQUOT (WSABASEERR+69)
354#define WSAESTALE (WSABASEERR+70)
355#define WSAEREMOTE (WSABASEERR+71)
356#define WSASYSNOTREADY (WSABASEERR+91)
357#define WSAVERNOTSUPPORTED (WSABASEERR+92)
358#define WSANOTINITIALISED (WSABASEERR+93)
359#define WSAEDISCON (WSABASEERR+101)
360#define WSAENOMORE (WSABASEERR+102)
361#define WSAECANCELLED (WSABASEERR+103)
362#define WSAEINVALIDPROCTABLE (WSABASEERR+104)
363#define WSAEINVALIDPROVIDER (WSABASEERR+105)
364#define WSAEPROVIDERFAILEDINIT (WSABASEERR+106)
365#define WSASYSCALLFAILURE (WSABASEERR+107)
366#define WSASERVICE_NOT_FOUND (WSABASEERR+108)
367#define WSATYPE_NOT_FOUND (WSABASEERR+109)
368#define WSA_E_NO_MORE (WSABASEERR+110)
369#define WSA_E_CANCELLED (WSABASEERR+111)
370#define WSAEREFUSED (WSABASEERR+112)
371#define WSAHOST_NOT_FOUND (WSABASEERR+1001)
372#define WSATRY_AGAIN (WSABASEERR+1002)
373#define WSANO_RECOVERY (WSABASEERR+1003)
374#define WSANO_DATA (WSABASEERR+1004)
375#define WSA_QOS_RECEIVERS (WSABASEERR + 1005)
376#define WSA_QOS_SENDERS (WSABASEERR + 1006)
377#define WSA_QOS_NO_SENDERS (WSABASEERR + 1007)
378#define WSA_QOS_NO_RECEIVERS (WSABASEERR + 1008)
379#define WSA_QOS_REQUEST_CONFIRMED (WSABASEERR + 1009)
380#define WSA_QOS_ADMISSION_FAILURE (WSABASEERR + 1010)
381#define WSA_QOS_POLICY_FAILURE (WSABASEERR + 1011)
382#define WSA_QOS_BAD_STYLE (WSABASEERR + 1012)
383#define WSA_QOS_BAD_OBJECT (WSABASEERR + 1013)
384#define WSA_QOS_TRAFFIC_CTRL_ERROR (WSABASEERR + 1014)
385#define WSA_QOS_GENERIC_ERROR (WSABASEERR + 1015)
386#define WSA_QOS_ESERVICETYPE (WSABASEERR + 1016)
387#define WSA_QOS_EFLOWSPEC (WSABASEERR + 1017)
388#define WSA_QOS_EPROVSPECBUF (WSABASEERR + 1018)
389#define WSA_QOS_EFILTERSTYLE (WSABASEERR + 1019)
390#define WSA_QOS_EFILTERTYPE (WSABASEERR + 1020)
391#define WSA_QOS_EFILTERCOUNT (WSABASEERR + 1021)
392#define WSA_QOS_EOBJLENGTH (WSABASEERR + 1022)
393#define WSA_QOS_EFLOWCOUNT (WSABASEERR + 1023)
394#define WSA_QOS_EUNKOWNPSOBJ (WSABASEERR + 1024)
395#define WSA_QOS_EPOLICYOBJ (WSABASEERR + 1025)
396#define WSA_QOS_EFLOWDESC (WSABASEERR + 1026)
397#define WSA_QOS_EPSFLOWSPEC (WSABASEERR + 1027)
398#define WSA_QOS_EPSFILTERSPEC (WSABASEERR + 1028)
399#define WSA_QOS_ESDMODEOBJ (WSABASEERR + 1029)
400#define WSA_QOS_ESHAPERATEOBJ (WSABASEERR + 1030)
401#define WSA_QOS_RESERVED_PETYPE (WSABASEERR + 1031)
402
403#endif /* !WSABASEERR */
404
405#define WSANO_ADDRESS WSANO_DATA
406
407#define CF_ACCEPT 0x0000
408#define CF_REJECT 0x0001
409#define CF_DEFER 0x0002
410#define SD_RECEIVE 0x00
411#define SD_SEND 0x01
412#define SD_BOTH 0x02
413
414#define SG_UNCONSTRAINED_GROUP 0x01
415#define SG_CONSTRAINED_GROUP 0x02
416
417#define MAX_PROTOCOL_CHAIN 7
418
419#define BASE_PROTOCOL 1
420#define LAYERED_PROTOCOL 0
421
422#define WSAPROTOCOL_LEN 255
423
424#define PFL_MULTIPLE_PROTO_ENTRIES 0x00000001
425#define PFL_RECOMMENDED_PROTO_ENTRY 0x00000002
426#define PFL_HIDDEN 0x00000004
427#define PFL_MATCHES_PROTOCOL_ZERO 0x00000008
428#define PFL_NETWORKDIRECT_PROVIDER 0x00000010
429
430#define XP1_CONNECTIONLESS 0x00000001
431#define XP1_GUARANTEED_DELIVERY 0x00000002
432#define XP1_GUARANTEED_ORDER 0x00000004
433#define XP1_MESSAGE_ORIENTED 0x00000008
434#define XP1_PSEUDO_STREAM 0x00000010
435#define XP1_GRACEFUL_CLOSE 0x00000020
436#define XP1_EXPEDITED_DATA 0x00000040
437#define XP1_CONNECT_DATA 0x00000080
438#define XP1_DISCONNECT_DATA 0x00000100
439#define XP1_SUPPORT_BROADCAST 0x00000200
440#define XP1_SUPPORT_MULTIPOINT 0x00000400
441#define XP1_MULTIPOINT_CONTROL_PLANE 0x00000800
442#define XP1_MULTIPOINT_DATA_PLANE 0x00001000
443#define XP1_QOS_SUPPORTED 0x00002000
444#define XP1_INTERRUPT 0x00004000
445#define XP1_UNI_SEND 0x00008000
446#define XP1_UNI_RECV 0x00010000
447#define XP1_IFS_HANDLES 0x00020000
448#define XP1_PARTIAL_MESSAGE 0x00040000
449#define XP1_SAN_SUPPORT_SDP 0x00080000
450
451#define BIGENDIAN 0x0000
452#define LITTLEENDIAN 0x0001
453
454#define SECURITY_PROTOCOL_NONE 0x0000
455
456#define JL_SENDER_ONLY 0x01
457#define JL_RECEIVER_ONLY 0x02
458#define JL_BOTH 0x04
459
460#define WSA_FLAG_OVERLAPPED 0x01
461#define WSA_FLAG_MULTIPOINT_C_ROOT 0x02
462#define WSA_FLAG_MULTIPOINT_C_LEAF 0x04
463#define WSA_FLAG_MULTIPOINT_D_ROOT 0x08
464#define WSA_FLAG_MULTIPOINT_D_LEAF 0x10
465#define WSA_FLAG_ACCESS_SYSTEM_SECURITY 0x40
466
467#define TH_NETDEV 0x00000001
468#define TH_TAPI 0x00000002
469
470#define SERVICE_MULTIPLE 0x00000001
471
472#define RES_UNUSED_1 0x00000001
473#define RES_FLUSH_CACHE 0x00000002
474#ifndef RES_SERVICE
475#define RES_SERVICE 0x00000004
476#endif
477
478#define SERVICE_TYPE_VALUE_IPXPORTA "IpxSocket"
479#define SERVICE_TYPE_VALUE_IPXPORTW L"IpxSocket"
480#define SERVICE_TYPE_VALUE_SAPIDA "SapId"
481#define SERVICE_TYPE_VALUE_SAPIDW L"SapId"
482
483#define SERVICE_TYPE_VALUE_TCPPORTA "TcpPort"
484#define SERVICE_TYPE_VALUE_TCPPORTW L"TcpPort"
485
486#define SERVICE_TYPE_VALUE_UDPPORTA "UdpPort"
487#define SERVICE_TYPE_VALUE_UDPPORTW L"UdpPort"
488
489#define SERVICE_TYPE_VALUE_OBJECTIDA "ObjectId"
490#define SERVICE_TYPE_VALUE_OBJECTIDW L"ObjectId"
491
492#ifdef UNICODE
493#define SERVICE_TYPE_VALUE_SAPID SERVICE_TYPE_VALUE_SAPIDW
494#define SERVICE_TYPE_VALUE_TCPPORT SERVICE_TYPE_VALUE_TCPPORTW
495#define SERVICE_TYPE_VALUE_UDPPORT SERVICE_TYPE_VALUE_UDPPORTW
496#define SERVICE_TYPE_VALUE_OBJECTID SERVICE_TYPE_VALUE_OBJECTIDW
497#else
498#define SERVICE_TYPE_VALUE_SAPID SERVICE_TYPE_VALUE_SAPIDA
499#define SERVICE_TYPE_VALUE_TCPPORT SERVICE_TYPE_VALUE_TCPPORTA
500#define SERVICE_TYPE_VALUE_UDPPORT SERVICE_TYPE_VALUE_UDPPORTA
501#define SERVICE_TYPE_VALUE_OBJECTID SERVICE_TYPE_VALUE_OBJECTIDA
502#endif
503
504#define LUP_DEEP 0x0001
505#define LUP_CONTAINERS 0x0002
506#define LUP_NOCONTAINERS 0x0004
507#define LUP_NEAREST 0x0008
508#define LUP_RETURN_NAME 0x0010
509#define LUP_RETURN_TYPE 0x0020
510#define LUP_RETURN_VERSION 0x0040
511#define LUP_RETURN_COMMENT 0x0080
512#define LUP_RETURN_ADDR 0x0100
513#define LUP_RETURN_BLOB 0x0200
514#define LUP_RETURN_ALIASES 0x0400
515#define LUP_RETURN_QUERY_STRING 0x0800
516#define LUP_RETURN_ALL 0x0FF0
517#define LUP_RES_SERVICE 0x8000
518#define LUP_FLUSHCACHE 0x1000
519#define LUP_FLUSHPREVIOUS 0x2000
520#define LUP_NON_AUTHORITATIVE 0x4000
521#define LUP_SECURE 0x8000
522#define LUP_RETURN_PREFERRED_NAMES 0x10000
523#define LUP_ADDRCONFIG 0x00100000
524#define LUP_DUAL_ADDR 0x00200000
525#define LUP_FILESERVER 0x00400000
526
527#define RESULT_IS_ALIAS 0x0001
528#if(_WIN32_WINNT >= 0x0501)
529#define RESULT_IS_ADDED 0x0010
530#define RESULT_IS_CHANGED 0x0020
531#define RESULT_IS_DELETED 0x0040
532#endif
533
534#ifndef s_addr
535
536#define s_addr S_un.S_addr
537#define s_host S_un.S_un_b.s_b2
538#define s_net S_un.S_un_b.s_b1
539#define s_imp S_un.S_un_w.s_w2
540#define s_impno S_un.S_un_b.s_b4
541#define s_lh S_un.S_un_b.s_b3
542
543typedef struct in_addr {
544 union {
546 struct { u_short s_w1,s_w2; } S_un_w;
550
551#endif /* s_addr */
552
553typedef struct WSAData {
556#ifdef _WIN64
557 unsigned short iMaxSockets;
558 unsigned short iMaxUdpDg;
559 char FAR *lpVendorInfo;
562#else
565 unsigned short iMaxSockets;
566 unsigned short iMaxUdpDg;
568#endif
570
571struct sockproto {
574};
575
576#ifdef WIN32
577
578#define WSAAPI FAR PASCAL
579#define WSAEVENT HANDLE
580#define LPWSAEVENT LPHANDLE
581#define WSAOVERLAPPED OVERLAPPED
582typedef struct _OVERLAPPED *LPWSAOVERLAPPED;
583#define WSA_IO_PENDING (ERROR_IO_PENDING)
584#define WSA_IO_INCOMPLETE (ERROR_IO_INCOMPLETE)
585#define WSA_INVALID_HANDLE (ERROR_INVALID_HANDLE)
586#define WSA_INVALID_PARAMETER (ERROR_INVALID_PARAMETER)
587#define WSA_NOT_ENOUGH_MEMORY (ERROR_NOT_ENOUGH_MEMORY)
588#define WSA_OPERATION_ABORTED (ERROR_OPERATION_ABORTED)
589#define WSA_INVALID_EVENT ((WSAEVENT)NULL)
590#define WSA_MAXIMUM_WAIT_EVENTS (MAXIMUM_WAIT_OBJECTS)
591#define WSA_WAIT_FAILED ((DWORD)-1L)
592#define WSA_WAIT_EVENT_0 (WAIT_OBJECT_0)
593#define WSA_WAIT_IO_COMPLETION (WAIT_IO_COMPLETION)
594#define WSA_WAIT_TIMEOUT (WAIT_TIMEOUT)
595#define WSA_INFINITE (INFINITE)
596
597#else /* WIN16 */
598
599#define WSAAPI FAR PASCAL
601
602typedef struct _WSAOVERLAPPED {
609
610#define WSA_IO_PENDING (WSAEWOULDBLOCK)
611#define WSA_IO_INCOMPLETE (WSAEWOULDBLOCK)
612#define WSA_INVALID_HANDLE (WSAENOTSOCK)
613#define WSA_INVALID_PARAMETER (WSAEINVAL)
614#define WSA_NOT_ENOUGH_MEMORY (WSAENOBUFS)
615#define WSA_OPERATION_ABORTED (WSAEINTR)
616
617#define WSA_INVALID_EVENT ((WSAEVENT)NULL)
618#define WSA_MAXIMUM_WAIT_EVENTS (MAXIMUM_WAIT_OBJECTS)
619#define WSA_WAIT_FAILED ((DWORD)-1L)
620#define WSA_WAIT_EVENT_0 ((DWORD)0)
621#define WSA_WAIT_TIMEOUT ((DWORD)0x102L)
622#define WSA_INFINITE ((DWORD)-1L)
623
624#endif /* WIN32 */
625
626#include <qos.h>
627
628typedef struct _QualityOfService {
633
634typedef unsigned int GROUP;
635
636typedef struct _WSANETWORKEVENTS {
640
641#ifndef GUID_DEFINED
642#include <guiddef.h>
643#endif
644
645typedef struct _WSAPROTOCOLCHAIN {
649
650typedef struct _WSAPROTOCOL_INFOA {
672
673typedef struct _WSAPROTOCOL_INFOW {
695
696#ifdef UNICODE
699#else
702#endif
703
704typedef int
706 IN LPWSABUF lpCallerId,
707 IN LPWSABUF lpCallerData,
708 IN OUT LPQOS lpSQOS,
709 IN OUT LPQOS lpGQOS,
710 IN LPWSABUF lpCalleeId,
711 IN LPWSABUF lpCalleeData,
712 OUT GROUP FAR *g,
713 IN DWORD_PTR dwCallbackData);
714
715typedef void
717 IN DWORD dwError,
718 IN DWORD cbTransferred,
721
722#if(_WIN32_WINNT >= 0x0501)
723
724#define SIO_NSP_NOTIFY_CHANGE _WSAIOW(IOC_WS2,25)
725
726typedef enum _WSACOMPLETIONTYPE {
727 NSP_NOTIFY_IMMEDIATELY = 0,
728 NSP_NOTIFY_HWND,
729 NSP_NOTIFY_EVENT,
730 NSP_NOTIFY_PORT,
731 NSP_NOTIFY_APC
732} WSACOMPLETIONTYPE, * PWSACOMPLETIONTYPE, *LPWSACOMPLETIONTYPE;
733
734typedef struct _WSACOMPLETION {
735 WSACOMPLETIONTYPE Type;
736 union {
737 struct {
738 HWND hWnd;
739 UINT uMsg;
741 } WindowMessage;
742 struct {
744 } Event;
745 struct {
747 LPWSAOVERLAPPED_COMPLETION_ROUTINE lpfnCompletionProc;
748 } Apc;
749 struct {
751 HANDLE hPort;
753 } Port;
754 } Parameters;
755} WSACOMPLETION, *PWSACOMPLETION, *LPWSACOMPLETION;
756
757#endif /* (_WIN32_WINNT >= 0x0501) */
758
759#ifndef __BLOB_T_DEFINED /* also in wtypes.h and nspapi.h */
760#define __BLOB_T_DEFINED
761/* wine is using a diff define */
762#ifndef _tagBLOB_DEFINED
763#define _tagBLOB_DEFINED
764#define _BLOB_DEFINED
765#define _LPBLOB_DEFINED
766
767typedef struct _BLOB {
769#ifdef MIDL_PASS
770 [size_is(cbSize)] BYTE *pBlobData;
771#else
773#endif
775
776#endif /* _tagBLOB_DEFINED */
777
778#endif /* __BLOB_T_DEFINED */
779
780typedef struct _AFPROTOCOLS {
784
785typedef enum _WSAEcomparator {
789
790typedef struct _WSAVersion {
794
795typedef struct _WSAQuerySetA {
812
814typedef struct _WSAQuerySetW {
815 _Field_range_(>=,sizeof(struct _WSAQuerySetW)) DWORD dwSize;
816 LPWSTR lpszServiceInstanceName;
817 LPGUID lpServiceClassId;
818 LPWSAVERSION lpVersion;
819 LPWSTR lpszComment;
820 DWORD dwNameSpace;
821 LPGUID lpNSProviderId;
822 LPWSTR lpszContext;
823 DWORD dwNumberOfProtocols;
824 _Field_size_(dwNumberOfProtocols) LPAFPROTOCOLS lpafpProtocols;
825 LPWSTR lpszQueryString;
826 DWORD dwNumberOfCsAddrs;
827 _Field_size_(dwNumberOfCsAddrs) LPCSADDR_INFO lpcsaBuffer;
828 DWORD dwOutputFlags;
829 LPBLOB lpBlob;
831
832typedef struct _WSAQuerySet2A {
848
849typedef struct _WSAQuerySet2W {
865
866#ifdef UNICODE
873#else
880#endif /* UNICODE */
881
882typedef enum _WSAESETSERVICEOP {
887
888typedef struct _WSANSClassInfoA {
895
896typedef struct _WSANSClassInfoW {
903
904#ifdef UNICODE
908#else
912#endif
913
914typedef struct _WSAServiceClassInfoA {
920
921typedef struct _WSAServiceClassInfoW {
927
928#ifdef UNICODE
932#else
936#endif
937
938typedef struct _WSANAMESPACE_INFOA {
945
946typedef struct _WSANAMESPACE_INFOW {
953
954typedef struct _WSANAMESPACE_INFOEXA {
962
963typedef struct _WSANAMESPACE_INFOEXW {
971
972#ifdef UNICODE
979#else
986#endif /* UNICODE */
987
988#if(_WIN32_WINNT >= 0x0600)
989
990#define POLLRDNORM 0x0100
991#define POLLRDBAND 0x0200
992#define POLLIN (POLLRDNORM | POLLRDBAND)
993#define POLLPRI 0x0400
994
995#define POLLWRNORM 0x0010
996#define POLLOUT (POLLWRNORM)
997#define POLLWRBAND 0x0020
998
999#define POLLERR 0x0001
1000#define POLLHUP 0x0002
1001#define POLLNVAL 0x0004
1002
1003typedef struct pollfd {
1004 SOCKET fd;
1005 SHORT events;
1006 SHORT revents;
1007} WSAPOLLFD, *PWSAPOLLFD, FAR *LPWSAPOLLFD;
1008
1009#endif /* (_WIN32_WINNT >= 0x0600) */
1010
1011#if INCL_WINSOCK_API_TYPEDEFS
1012
1014typedef SOCKET
1015(WSAAPI *LPFN_ACCEPT)(
1016 _In_ SOCKET s,
1017 _Out_writes_bytes_opt_(*addrlen) struct sockaddr FAR *addr,
1018 _Inout_opt_ int FAR *addrlen);
1019
1020typedef int
1021(WSAAPI *LPFN_BIND)(
1022 _In_ SOCKET s,
1023 _In_reads_bytes_(namelen) const struct sockaddr FAR *name,
1024 _In_ int namelen);
1025
1026typedef int
1027(WSAAPI *LPFN_CLOSESOCKET)(
1028 _In_ SOCKET s);
1029
1030typedef int
1031(WSAAPI *LPFN_CONNECT)(
1032 _In_ SOCKET s,
1033 _In_reads_bytes_(namelen) const struct sockaddr FAR *name,
1034 _In_ int namelen);
1035
1036typedef int
1037(WSAAPI *LPFN_IOCTLSOCKET)(
1038 _In_ SOCKET s,
1039 _In_ long cmd,
1040 _Inout_ u_long FAR *argp);
1041
1042typedef int
1043(WSAAPI *LPFN_GETPEERNAME)(
1044 _In_ SOCKET s,
1046 _Inout_ int FAR *namelen);
1047
1048typedef int
1049(WSAAPI *LPFN_GETSOCKNAME)(
1050 _In_ SOCKET s,
1052 _Inout_ int FAR *namelen);
1053
1054typedef int
1055(WSAAPI *LPFN_GETSOCKOPT)(
1056 _In_ SOCKET s,
1057 _In_ int level,
1058 _In_ int optname,
1059 _Out_writes_bytes_(*optlen) char FAR *optval,
1060 _Inout_ int FAR *optlen);
1061
1062typedef u_long
1063(WSAAPI *LPFN_HTONL)(
1064 _In_ u_long hostlong);
1065
1066typedef u_short
1067(WSAAPI *LPFN_HTONS)(
1068 _In_ u_short hostshort);
1069
1070typedef unsigned long
1071(WSAAPI *LPFN_INET_ADDR)(
1072 _In_ const char FAR *cp);
1073
1074typedef char FAR *
1075(WSAAPI *LPFN_INET_NTOA)(
1076 _In_ struct in_addr in);
1077
1078typedef int
1079(WSAAPI *LPFN_LISTEN)(
1080 _In_ SOCKET s,
1081 _In_ int backlog);
1082
1083typedef u_long
1084(WSAAPI *LPFN_NTOHL)(
1085 _In_ u_long netlong);
1086
1087typedef u_short
1088(WSAAPI *LPFN_NTOHS)(
1089 _In_ u_short netshort);
1090
1091typedef int
1092(WSAAPI *LPFN_RECV)(
1093 _In_ SOCKET s,
1094 _Out_writes_bytes_to_(len, return) char FAR *buf,
1095 _In_ int len,
1096 _In_ int flags);
1097
1098typedef int
1099(WSAAPI *LPFN_RECVFROM)(
1100 _In_ SOCKET s,
1101 _Out_writes_bytes_to_(len, return) char FAR *buf,
1102 _In_ int len,
1103 _In_ int flags,
1104 _Out_writes_bytes_to_opt_(*fromlen, *fromlen) struct sockaddr FAR *from,
1105 _Inout_opt_ int FAR * fromlen);
1106
1107typedef int
1108(WSAAPI *LPFN_SELECT)(
1109 _In_ int nfds,
1110 _Inout_opt_ fd_set FAR *readfds,
1111 _Inout_opt_ fd_set FAR *writefds,
1112 _Inout_opt_ fd_set FAR *exceptfds,
1113 _In_opt_ const struct timeval FAR *timeout);
1114
1115typedef int
1116(WSAAPI *LPFN_SEND)(
1117 _In_ SOCKET s,
1118 _In_reads_bytes_(len) const char FAR *buf,
1119 _In_ int len,
1120 _In_ int flags);
1121
1122typedef int
1123(WSAAPI *LPFN_SENDTO)(
1124 _In_ SOCKET s,
1125 _In_reads_bytes_(len) const char FAR *buf,
1126 _In_ int len,
1127 _In_ int flags,
1128 _In_reads_bytes_(tolen) const struct sockaddr FAR *to,
1129 _In_ int tolen);
1130
1131typedef int
1132(WSAAPI *LPFN_SETSOCKOPT)(
1133 _In_ SOCKET s,
1134 _In_ int level,
1135 _In_ int optname,
1136 _In_reads_bytes_(optlen) const char FAR *optval,
1137 _In_ int optlen);
1138
1139typedef int
1140(WSAAPI *LPFN_SHUTDOWN)(
1141 _In_ SOCKET s,
1142 _In_ int how);
1143
1145typedef SOCKET
1146(WSAAPI *LPFN_SOCKET)(
1147 _In_ int af,
1148 _In_ int type,
1149 _In_ int protocol);
1150
1151typedef struct hostent FAR *
1152(WSAAPI *LPFN_GETHOSTBYADDR)(
1153 _In_reads_bytes_(len) const char FAR *addr,
1154 _In_ int len,
1155 _In_ int type);
1156
1157typedef struct hostent FAR *
1158(WSAAPI *LPFN_GETHOSTBYNAME)(
1159 _In_ const char FAR *name);
1160
1161typedef int
1162(WSAAPI *LPFN_GETHOSTNAME)(
1164 _In_ int namelen);
1165
1166typedef struct servent FAR *
1167(WSAAPI *LPFN_GETSERVBYPORT)(
1168 _In_ int port,
1169 _In_opt_z_ const char FAR *proto);
1170
1171typedef struct servent FAR *
1172(WSAAPI *LPFN_GETSERVBYNAME)(
1173 _In_z_ const char FAR *name,
1174 _In_opt_z_ const char FAR *proto);
1175
1176typedef struct protoent FAR *
1177(WSAAPI *LPFN_GETPROTOBYNUMBER)(
1178 _In_ int number);
1179
1180typedef struct protoent FAR *
1181(WSAAPI *LPFN_GETPROTOBYNAME)(
1182 _In_z_ const char FAR *name);
1183
1185typedef int
1186(WSAAPI *LPFN_WSASTARTUP)(
1187 _In_ WORD wVersionRequired,
1188 _Out_ LPWSADATA lpWSAData);
1189
1190typedef int
1191(WSAAPI *LPFN_WSACLEANUP)(void);
1192
1193typedef void
1194(WSAAPI *LPFN_WSASETLASTERROR)(
1195 _In_ int iError);
1196
1197typedef int
1198(WSAAPI *LPFN_WSAGETLASTERROR)(void);
1199
1200typedef BOOL
1201(WSAAPI *LPFN_WSAISBLOCKING)(void);
1202
1203typedef int
1204(WSAAPI *LPFN_WSAUNHOOKBLOCKINGHOOK)(void);
1205
1206typedef FARPROC
1207(WSAAPI *LPFN_WSASETBLOCKINGHOOK)(
1208 _In_ FARPROC lpBlockFunc);
1209
1210typedef int
1211(WSAAPI *LPFN_WSACANCELBLOCKINGCALL)(void);
1212
1213typedef HANDLE
1214(WSAAPI *LPFN_WSAASYNCGETSERVBYNAME)(
1215 _In_ HWND hWnd,
1216 _In_ u_int wMsg,
1217 _In_z_ const char FAR *name,
1218 _In_z_ const char FAR *proto,
1219 _Out_writes_bytes_(buflen) char FAR *buf,
1220 _In_ int buflen);
1221
1222typedef HANDLE
1223(WSAAPI *LPFN_WSAASYNCGETSERVBYPORT)(
1224 _In_ HWND hWnd,
1225 _In_ u_int wMsg,
1226 _In_ int port,
1227 _In_ const char FAR *proto,
1228 _Out_writes_bytes_(buflen) char FAR *buf,
1229 _In_ int buflen);
1230
1231typedef HANDLE
1232(WSAAPI *LPFN_WSAASYNCGETPROTOBYNAME)(
1233 _In_ HWND hWnd,
1234 _In_ u_int wMsg,
1235 _In_z_ const char FAR *name,
1236 _Out_writes_bytes_(buflen) char FAR *buf,
1237 _In_ int buflen);
1238
1239typedef HANDLE
1240(WSAAPI *LPFN_WSAASYNCGETPROTOBYNUMBER)(
1241 _In_ HWND hWnd,
1242 _In_ u_int wMsg,
1243 _In_ int number,
1244 _Out_writes_bytes_(buflen) char FAR *buf,
1245 _In_ int buflen);
1246
1247typedef HANDLE
1248(WSAAPI *LPFN_WSAASYNCGETHOSTBYNAME)(
1249 _In_ HWND hWnd,
1250 _In_ u_int wMsg,
1251 _In_z_ const char FAR *name,
1252 _Out_writes_bytes_(buflen) char FAR *buf,
1253 _In_ int buflen);
1254
1255typedef HANDLE
1256(WSAAPI *LPFN_WSAASYNCGETHOSTBYADDR)(
1257 _In_ HWND hWnd,
1258 _In_ u_int wMsg,
1259 _In_reads_bytes_(len) const char FAR *addr,
1260 _In_ int len,
1261 _In_ int type,
1262 _Out_writes_bytes_(buflen) char FAR *buf,
1263 _In_ int buflen);
1264
1265typedef int
1266(WSAAPI *LPFN_WSACANCELASYNCREQUEST)(
1267 _In_ HANDLE hAsyncTaskHandle);
1268
1269typedef int
1270(WSAAPI *LPFN_WSAASYNCSELECT)(
1271 _In_ SOCKET s,
1272 _In_ HWND hWnd,
1273 _In_ u_int wMsg,
1274 _In_ long lEvent);
1275
1277typedef SOCKET
1278(WSAAPI *LPFN_WSAACCEPT)(
1279 _In_ SOCKET s,
1280 _Out_writes_bytes_to_opt_(*addrlen,*addrlen) struct sockaddr FAR *addr,
1281 _Inout_opt_ LPINT addrlen,
1282 _In_opt_ LPCONDITIONPROC lpfnCondition,
1283 _In_opt_ DWORD_PTR dwCallbackData);
1284
1285typedef BOOL
1286(WSAAPI *LPFN_WSACLOSEEVENT)(
1288
1289typedef int
1290(WSAAPI *LPFN_WSACONNECT)(
1291 _In_ SOCKET s,
1292 _In_reads_bytes_(namelen) const struct sockaddr FAR *name,
1293 _In_ int namelen,
1294 _In_opt_ LPWSABUF lpCallerData,
1295 _Out_opt_ LPWSABUF lpCalleeData,
1296 _In_opt_ LPQOS lpSQOS,
1297 _In_opt_ LPQOS lpGQOS);
1298
1299typedef WSAEVENT
1300(WSAAPI *LPFN_WSACREATEEVENT)(void);
1301
1302typedef int
1303(WSAAPI *LPFN_WSADUPLICATESOCKETA)(
1304 _In_ SOCKET s,
1306 _Out_ LPWSAPROTOCOL_INFOA lpProtocolInfo);
1307
1308typedef int
1309(WSAAPI *LPFN_WSADUPLICATESOCKETW)(
1310 _In_ SOCKET s,
1312 _Out_ LPWSAPROTOCOL_INFOW lpProtocolInfo);
1313
1314#ifdef UNICODE
1315#define LPFN_WSADUPLICATESOCKET LPFN_WSADUPLICATESOCKETW
1316#else
1317#define LPFN_WSADUPLICATESOCKET LPFN_WSADUPLICATESOCKETA
1318#endif
1319
1320typedef int
1321(WSAAPI *LPFN_WSAENUMNETWORKEVENTS)(
1322 _In_ SOCKET s,
1323 _In_ WSAEVENT hEventObject,
1324 _Out_ LPWSANETWORKEVENTS lpNetworkEvents);
1325
1326typedef int
1327(WSAAPI *LPFN_WSAENUMPROTOCOLSA)(
1328 _In_opt_ LPINT lpiProtocols,
1331
1332typedef int
1333(WSAAPI *LPFN_WSAENUMPROTOCOLSW)(
1334 _In_opt_ LPINT lpiProtocols,
1337
1338#ifdef UNICODE
1339#define LPFN_WSAENUMPROTOCOLS LPFN_WSAENUMPROTOCOLSW
1340#else
1341#define LPFN_WSAENUMPROTOCOLS LPFN_WSAENUMPROTOCOLSA
1342#endif
1343
1344typedef int
1345(WSAAPI *LPFN_WSAEVENTSELECT)(
1346 _In_ SOCKET s,
1347 _In_opt_ WSAEVENT hEventObject,
1348 _In_ long lNetworkEvents);
1349
1350typedef BOOL
1351(WSAAPI *LPFN_WSAGETOVERLAPPEDRESULT)(
1352 _In_ SOCKET s,
1354 _Out_ LPDWORD lpcbTransfer,
1355 _In_ BOOL fWait,
1356 _Out_ LPDWORD lpdwFlags);
1357
1358typedef BOOL
1359(WSAAPI *LPFN_WSAGETQOSBYNAME)(
1360 IN SOCKET s,
1361 IN LPWSABUF lpQOSName,
1362 OUT LPQOS lpQOS);
1363
1364typedef int
1365(WSAAPI *LPFN_WSAHTONL)(
1366 _In_ SOCKET s,
1367 _In_ u_long hostlong,
1368 _Out_ u_long FAR *lpnetlong);
1369
1370typedef int
1371(WSAAPI *LPFN_WSAHTONS)(
1372 _In_ SOCKET s,
1373 _In_ u_short hostshort,
1374 _Out_ u_short FAR *lpnetshort);
1375
1376typedef int
1377(WSAAPI *LPFN_WSAIOCTL)(
1378 _In_ SOCKET s,
1380 _In_reads_bytes_opt_(cbInBuffer) LPVOID lpvInBuffer,
1381 _In_ DWORD cbInBuffer,
1382 _Out_writes_bytes_to_opt_(cbOutBuffer, *lpcbBytesReturned) LPVOID lpvOutBuffer,
1383 _In_ DWORD cbOutBuffer,
1384 _Out_ LPDWORD lpcbBytesReturned,
1386 _In_opt_ LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine);
1387
1388typedef SOCKET
1389(WSAAPI *LPFN_WSAJOINLEAF)(
1390 _In_ SOCKET s,
1391 _In_reads_bytes_(namelen) const struct sockaddr FAR *name,
1392 _In_ int namelen,
1393 _In_opt_ LPWSABUF lpCallerData,
1394 _Out_opt_ LPWSABUF lpCalleeData,
1395 _In_opt_ LPQOS lpSQOS,
1396 _In_opt_ LPQOS lpGQOS,
1398
1399typedef int
1400(WSAAPI *LPFN_WSANTOHL)(
1401 _In_ SOCKET s,
1402 _In_ u_long netlong,
1403 _Out_ u_long FAR *lphostlong);
1404
1405typedef int
1406(WSAAPI *LPFN_WSANTOHS)(
1407 _In_ SOCKET s,
1408 _In_ u_short netshort,
1409 _Out_ u_short FAR *lphostshort);
1410
1411typedef int
1412(WSAAPI *LPFN_WSARECV)(
1413 _In_ SOCKET s,
1414 _In_reads_(dwBufferCount) LPWSABUF lpBuffers,
1415 _In_ DWORD dwBufferCount,
1416 _Out_opt_ LPDWORD lpNumberOfBytesRecvd,
1417 _Inout_ LPDWORD lpFlags,
1419 _In_opt_ LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine);
1420
1421typedef int
1422(WSAAPI *LPFN_WSARECVDISCONNECT)(
1423 _In_ SOCKET s,
1424 __out_data_source(NETWORK) LPWSABUF lpInboundDisconnectData);
1425
1426typedef int
1427(WSAAPI *LPFN_WSARECVFROM)(
1428 _In_ SOCKET s,
1429 _In_reads_(dwBufferCount) LPWSABUF lpBuffers,
1430 _In_ DWORD dwBufferCount,
1431 _Out_opt_ LPDWORD lpNumberOfBytesRecvd,
1432 _Inout_ LPDWORD lpFlags,
1433 _Out_writes_bytes_to_opt_(*lpFromlen,*lpFromlen) struct sockaddr FAR *lpFrom,
1434 _Inout_opt_ LPINT lpFromlen,
1436 _In_opt_ LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine);
1437
1438typedef BOOL
1439(WSAAPI *LPFN_WSARESETEVENT)(
1441
1442typedef int
1443(WSAAPI *LPFN_WSASEND)(
1444 _In_ SOCKET s,
1445 _In_reads_(dwBufferCount) LPWSABUF lpBuffers,
1446 _In_ DWORD dwBufferCount,
1447 _Out_opt_ LPDWORD lpNumberOfBytesSent,
1450 _In_opt_ LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine);
1451
1452typedef int
1453(WSAAPI *LPFN_WSASENDDISCONNECT)(
1454 _In_ SOCKET s,
1455 _In_opt_ LPWSABUF lpOutboundDisconnectData);
1456
1457typedef int
1458(WSAAPI *LPFN_WSASENDTO)(
1459 _In_ SOCKET s,
1460 _In_reads_(dwBufferCount) LPWSABUF lpBuffers,
1461 _In_ DWORD dwBufferCount,
1462 _Out_opt_ LPDWORD lpNumberOfBytesSent,
1464 _In_reads_bytes_opt_(iTolen) const struct sockaddr FAR *lpTo,
1465 _In_ int iTolen,
1467 _In_opt_ LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine);
1468
1469typedef BOOL
1470(WSAAPI *LPFN_WSASETEVENT)(
1472
1474typedef SOCKET
1475(WSAAPI *LPFN_WSASOCKETA)(
1476 _In_ int af,
1477 _In_ int type,
1478 _In_ int protocol,
1479 _In_opt_ LPWSAPROTOCOL_INFOA lpProtocolInfo,
1480 _In_ GROUP g,
1482
1484typedef SOCKET
1485(WSAAPI *LPFN_WSASOCKETW)(
1486 _In_ int af,
1487 _In_ int type,
1488 _In_ int protocol,
1489 _In_opt_ LPWSAPROTOCOL_INFOW lpProtocolInfo,
1490 _In_ GROUP g,
1492
1493#ifdef UNICODE
1494#define LPFN_WSASOCKET LPFN_WSASOCKETW
1495#else
1496#define LPFN_WSASOCKET LPFN_WSASOCKETA
1497#endif
1498
1499typedef DWORD
1500(WSAAPI *LPFN_WSAWAITFORMULTIPLEEVENTS)(
1501 _In_ DWORD cEvents,
1502 _In_reads_(cEvents) const WSAEVENT FAR *lphEvents,
1503 _In_ BOOL fWaitAll,
1504 _In_ DWORD dwTimeout,
1505 _In_ BOOL fAlertable);
1506
1507typedef INT
1508(WSAAPI *LPFN_WSAADDRESSTOSTRINGA)(
1509 _In_reads_bytes_(dwAddressLength) LPSOCKADDR lpsaAddress,
1510 _In_ DWORD dwAddressLength,
1511 _In_opt_ LPWSAPROTOCOL_INFOA lpProtocolInfo,
1512 _Out_writes_to_(*lpdwAddressStringLength,*lpdwAddressStringLength) LPSTR lpszAddressString,
1513 _Inout_ LPDWORD lpdwAddressStringLength);
1514
1515typedef INT
1516(WSAAPI *LPFN_WSAADDRESSTOSTRINGW)(
1517 _In_reads_bytes_(dwAddressLength) LPSOCKADDR lpsaAddress,
1518 _In_ DWORD dwAddressLength,
1519 _In_opt_ LPWSAPROTOCOL_INFOW lpProtocolInfo,
1520 _Out_writes_to_(*lpdwAddressStringLength,*lpdwAddressStringLength) LPWSTR lpszAddressString,
1521 _Inout_ LPDWORD lpdwAddressStringLength);
1522
1523#ifdef UNICODE
1524#define LPFN_WSAADDRESSTOSTRING LPFN_WSAADDRESSTOSTRINGW
1525#else
1526#define LPFN_WSAADDRESSTOSTRING LPFN_WSAADDRESSTOSTRINGA
1527#endif
1528
1529typedef INT
1530(WSAAPI *LPFN_WSASTRINGTOADDRESSA)(
1531 _In_ LPSTR AddressString,
1533 _In_opt_ LPWSAPROTOCOL_INFOA lpProtocolInfo,
1534 _Out_writes_bytes_to_(*lpAddressLength,*lpAddressLength) LPSOCKADDR lpAddress,
1535 _Inout_ LPINT lpAddressLength);
1536
1537typedef INT
1538(WSAAPI *LPFN_WSASTRINGTOADDRESSW)(
1539 _In_ LPWSTR AddressString,
1541 _In_opt_ LPWSAPROTOCOL_INFOW lpProtocolInfo,
1542 _Out_writes_bytes_to_(*lpAddressLength,*lpAddressLength) LPSOCKADDR lpAddress,
1543 _Inout_ LPINT lpAddressLength);
1544
1545#ifdef UNICODE
1546#define LPFN_WSASTRINGTOADDRESS LPFN_WSASTRINGTOADDRESSW
1547#else
1548#define LPFN_WSASTRINGTOADDRESS LPFN_WSASTRINGTOADDRESSA
1549#endif
1550
1551typedef INT
1552(WSAAPI *LPFN_WSALOOKUPSERVICEBEGINA)(
1553 _In_ LPWSAQUERYSETA lpqsRestrictions,
1554 _In_ DWORD dwControlFlags,
1555 _Out_ LPHANDLE lphLookup);
1556
1557typedef INT
1558(WSAAPI *LPFN_WSALOOKUPSERVICEBEGINW)(
1559 _In_ LPWSAQUERYSETW lpqsRestrictions,
1560 _In_ DWORD dwControlFlags,
1561 _Out_ LPHANDLE lphLookup);
1562
1563#ifdef UNICODE
1564#define LPFN_WSALOOKUPSERVICEBEGIN LPFN_WSALOOKUPSERVICEBEGINW
1565#else
1566#define LPFN_WSALOOKUPSERVICEBEGIN LPFN_WSALOOKUPSERVICEBEGINA
1567#endif
1568
1569typedef INT
1570(WSAAPI *LPFN_WSALOOKUPSERVICENEXTA)(
1571 _In_ HANDLE hLookup,
1572 _In_ DWORD dwControlFlags,
1575
1576typedef INT
1577(WSAAPI *LPFN_WSALOOKUPSERVICENEXTW)(
1578 _In_ HANDLE hLookup,
1579 _In_ DWORD dwControlFlags,
1582
1583#ifdef UNICODE
1584#define LPFN_WSALOOKUPSERVICENEXT LPFN_WSALOOKUPSERVICENEXTW
1585#else
1586#define LPFN_WSALOOKUPSERVICENEXT LPFN_WSALOOKUPSERVICENEXTA
1587#endif
1588
1589typedef INT
1590(WSAAPI *LPFN_WSALOOKUPSERVICEEND)(
1591 _In_ HANDLE hLookup);
1592
1593typedef INT
1594(WSAAPI *LPFN_WSAINSTALLSERVICECLASSA)(
1595 _In_ LPWSASERVICECLASSINFOA lpServiceClassInfo);
1596
1597typedef INT
1598(WSAAPI *LPFN_WSAINSTALLSERVICECLASSW)(
1599 _In_ LPWSASERVICECLASSINFOW lpServiceClassInfo);
1600
1601#ifdef UNICODE
1602#define LPFN_WSAINSTALLSERVICECLASS LPFN_WSAINSTALLSERVICECLASSW
1603#else
1604#define LPFN_WSAINSTALLSERVICECLASS LPFN_WSAINSTALLSERVICECLASSA
1605#endif
1606
1607typedef INT
1608(WSAAPI *LPFN_WSAREMOVESERVICECLASS)(
1609 _In_ LPGUID lpServiceClassId);
1610
1611typedef INT
1612(WSAAPI *LPFN_WSAGETSERVICECLASSINFOA)(
1613 _In_ LPGUID lpProviderId,
1614 _In_ LPGUID lpServiceClassId,
1615 _Inout_ LPDWORD lpdwBufSize,
1616 _Out_writes_bytes_to_(*lpdwBufSize,*lpdwBufSize) LPWSASERVICECLASSINFOA lpServiceClassInfo);
1617
1618typedef INT
1619(WSAAPI *LPFN_WSAGETSERVICECLASSINFOW)(
1620 _In_ LPGUID lpProviderId,
1621 _In_ LPGUID lpServiceClassId,
1622 _Inout_ LPDWORD lpdwBufSize,
1623 _Out_writes_bytes_to_(*lpdwBufSize,*lpdwBufSize) LPWSASERVICECLASSINFOW lpServiceClassInfo);
1624
1625#ifdef UNICODE
1626#define LPFN_WSAGETSERVICECLASSINFO LPFN_WSAGETSERVICECLASSINFOW
1627#else
1628#define LPFN_WSAGETSERVICECLASSINFO LPFN_WSAGETSERVICECLASSINFOA
1629#endif
1630
1631typedef INT
1632(WSAAPI *LPFN_WSAENUMNAMESPACEPROVIDERSA)(
1635
1636typedef INT
1637(WSAAPI *LPFN_WSAENUMNAMESPACEPROVIDERSW)(
1640
1641#ifdef UNICODE
1642#define LPFN_WSAENUMNAMESPACEPROVIDERS LPFN_WSAENUMNAMESPACEPROVIDERSW
1643#else
1644#define LPFN_WSAENUMNAMESPACEPROVIDERS LPFN_WSAENUMNAMESPACEPROVIDERSA
1645#endif
1646
1647typedef INT
1648(WSAAPI *LPFN_WSAGETSERVICECLASSNAMEBYCLASSIDA)(
1649 _In_ LPGUID lpServiceClassId,
1652
1653typedef INT
1654(WSAAPI *LPFN_WSAGETSERVICECLASSNAMEBYCLASSIDW)(
1655 _In_ LPGUID lpServiceClassId,
1658
1659#ifdef UNICODE
1660#define LPFN_WSAGETSERVICECLASSNAMEBYCLASSID LPFN_WSAGETSERVICECLASSNAMEBYCLASSIDW
1661#else
1662#define LPFN_WSAGETSERVICECLASSNAMEBYCLASSID LPFN_WSAGETSERVICECLASSNAMEBYCLASSIDA
1663#endif
1664
1665typedef INT
1666(WSAAPI *LPFN_WSASETSERVICEA)(
1667 _In_ LPWSAQUERYSETA lpqsRegInfo,
1668 _In_ WSAESETSERVICEOP essoperation,
1669 _In_ DWORD dwControlFlags);
1670
1671typedef INT
1672(WSAAPI *LPFN_WSASETSERVICEW)(
1673 _In_ LPWSAQUERYSETW lpqsRegInfo,
1674 _In_ WSAESETSERVICEOP essoperation,
1675 _In_ DWORD dwControlFlags);
1676
1677#ifdef UNICODE
1678#define LPFN_WSASETSERVICE LPFN_WSASETSERVICEW
1679#else
1680#define LPFN_WSASETSERVICE LPFN_WSASETSERVICEA
1681#endif
1682
1683typedef INT
1684(WSAAPI *LPFN_WSAPROVIDERCONFIGCHANGE)(
1685 _Inout_ LPHANDLE lpNotificationHandle,
1687 _In_opt_ LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine);
1688
1689#if(_WIN32_WINNT >= 0x0501)
1690typedef INT
1691(WSAAPI *LPFN_WSANSPIOCTL)(
1692 _In_ HANDLE hLookup,
1693 _In_ DWORD dwControlCode,
1694 _In_reads_bytes_opt_(cbInBuffer) LPVOID lpvInBuffer,
1695 _In_ DWORD cbInBuffer,
1696 _Out_writes_bytes_to_opt_(cbOutBuffer, *lpcbBytesReturned) LPVOID lpvOutBuffer,
1697 _In_ DWORD cbOutBuffer,
1698 _Out_ LPDWORD lpcbBytesReturned,
1699 _In_opt_ LPWSACOMPLETION lpCompletion);
1700#endif /* (_WIN32_WINNT >= 0x0501) */
1701
1702#if (_WIN32_WINNT >= 0x0600)
1703
1704typedef INT
1705(WSAAPI *LPFN_WSAENUMNAMESPACEPROVIDERSEXA)(
1708
1709typedef INT
1710(WSAAPI *LPFN_WSAENUMNAMESPACEPROVIDERSEXW)(
1713
1714#ifdef UNICODE
1715#define LPFN_WSAENUMNAMESPACEPROVIDERSEX LPFN_WSAENUMNAMESPACEPROVIDERSEXW
1716#else
1717#define LPFN_WSAENUMNAMESPACEPROVIDERSEX LPFN_WSAENUMNAMESPACEPROVIDERSEXA
1718#endif
1719
1720#endif /* (_WIN32_WINNT >= 0x600) */
1721
1722#endif /* INCL_WINSOCK_API_TYPEDEFS */
1723
1724#if INCL_WINSOCK_API_PROTOTYPES
1725
1728SOCKET
1729WSAAPI
1731 _In_ SOCKET s,
1732 _Out_writes_bytes_opt_(*addrlen) struct sockaddr FAR *addr,
1733 _Inout_opt_ int FAR *addrlen);
1734
1736int
1737WSAAPI
1739 _In_ SOCKET s,
1740 _In_reads_bytes_(namelen) const struct sockaddr FAR *addr,
1741 _In_ int namelen);
1742
1744int
1745WSAAPI
1747 _In_ SOCKET s);
1748
1750int
1751WSAAPI
1753 _In_ SOCKET s,
1754 _In_reads_bytes_(namelen) const struct sockaddr FAR *name,
1755 _In_ int namelen);
1756
1758int
1759WSAAPI
1761 _In_ SOCKET s,
1762 _In_ long cmd,
1763 _Inout_ u_long FAR *argp);
1764
1766int
1767WSAAPI
1769 _In_ SOCKET s,
1771 _Inout_ int FAR *namelen);
1772
1774int
1775WSAAPI
1777 _In_ SOCKET s,
1779 _Inout_ int FAR *namelen);
1780
1782int
1783WSAAPI
1785 _In_ SOCKET s,
1786 _In_ int level,
1787 _In_ int optname,
1788 _Out_writes_bytes_(*optlen) char FAR *optval,
1789 _Inout_ int FAR *optlen);
1790
1792u_long
1793WSAAPI
1795 IN u_long hostlong);
1796
1798u_short
1799WSAAPI
1801 _In_ u_short hostshort);
1802
1804unsigned long
1805WSAAPI
1807 _In_z_ const char FAR *cp);
1808
1810char FAR *
1811WSAAPI
1813 _In_ struct in_addr in);
1814
1816int
1817WSAAPI
1819 _In_ SOCKET s,
1820 _In_ int backlog);
1821
1823u_long
1824WSAAPI
1826 _In_ u_long netlong);
1827
1829u_short
1830WSAAPI
1832 _In_ u_short netshort);
1833
1835int
1836WSAAPI
1838 _In_ SOCKET s,
1840 _In_ int len,
1841 _In_ int flags);
1842
1844int
1845WSAAPI
1847 _In_ SOCKET s,
1849 _In_ int len,
1850 _In_ int flags,
1851 _Out_writes_bytes_to_opt_(*fromlen, *fromlen) struct sockaddr FAR *from,
1852 _Inout_opt_ int FAR *fromlen);
1853
1855int
1856WSAAPI
1858 _In_ int nfds,
1859 _Inout_opt_ fd_set FAR *readfds,
1860 _Inout_opt_ fd_set FAR *writefds,
1861 _Inout_opt_ fd_set FAR *exceptfds,
1862 _In_opt_ const struct timeval FAR *timeout);
1863
1865int
1866WSAAPI
1868 _In_ SOCKET s,
1869 _In_reads_bytes_(len) const char FAR *buf,
1870 _In_ int len,
1871 _In_ int flags);
1872
1874int
1875WSAAPI
1877 _In_ SOCKET s,
1878 _In_reads_bytes_(len) const char FAR *buf,
1879 _In_ int len,
1880 _In_ int flags,
1881 _In_reads_bytes_(tolen) const struct sockaddr FAR *to,
1882 _In_ int tolen);
1883
1885int
1886WSAAPI
1888 _In_ SOCKET s,
1889 _In_ int level,
1890 _In_ int optname,
1891 _In_reads_bytes_opt_(optlen) const char FAR *optval,
1892 _In_ int optlen);
1893
1895int
1896WSAAPI
1898 _In_ SOCKET s,
1899 _In_ int how);
1900
1903SOCKET
1904WSAAPI
1906 _In_ int af,
1907 _In_ int type,
1908 _In_ int protocol);
1909
1911struct hostent FAR *
1912WSAAPI
1914 _In_reads_bytes_(len) const char FAR *addr,
1915 _In_ int len,
1916 _In_ int type);
1917
1919struct hostent FAR *
1920WSAAPI
1922 _In_z_ const char FAR *name);
1923
1925int
1926WSAAPI
1929 _In_ int namelen);
1930
1932struct servent FAR *
1933WSAAPI
1935 _In_ int port,
1936 _In_opt_z_ const char FAR *proto);
1937
1939struct servent FAR *
1940WSAAPI
1942 _In_z_ const char FAR *name,
1943 _In_opt_z_ const char FAR *proto);
1944
1946struct protoent FAR *
1947WSAAPI
1949 _In_ int number);
1950
1952struct protoent FAR *
1953WSAAPI
1955 _In_z_ const char FAR *name);
1956
1959int
1960WSAAPI
1962 _In_ WORD wVersionRequired,
1963 _Out_ LPWSADATA lpWSAData);
1964
1966int
1967WSAAPI
1968WSACleanup(void);
1969
1971void
1972WSAAPI
1974 _In_ int iError);
1975
1977int
1978WSAAPI
1979WSAGetLastError(void);
1980
1982BOOL
1983WSAAPI
1984WSAIsBlocking(void);
1985
1987int
1988WSAAPI
1990
1992FARPROC
1993WSAAPI
1995 _In_ FARPROC lpBlockFunc);
1996
1998int
1999WSAAPI
2001
2003HANDLE
2004WSAAPI
2006 _In_ HWND hWnd,
2007 _In_ u_int wMsg,
2008 _In_z_ const char FAR *name,
2009 _In_z_ const char FAR *proto,
2010 _Out_writes_bytes_(buflen) char FAR *buf,
2011 _In_ int buflen);
2012
2014HANDLE
2015WSAAPI
2017 _In_ HWND hWnd,
2018 _In_ u_int wMsg,
2019 _In_ int port,
2020 _In_ const char FAR *proto,
2021 _Out_writes_bytes_(buflen) char FAR *buf,
2022 _In_ int buflen);
2023
2025HANDLE
2026WSAAPI
2028 _In_ HWND hWnd,
2029 _In_ u_int wMsg,
2030 _In_z_ const char FAR *name,
2031 _Out_writes_bytes_(buflen) char FAR *buf,
2032 _In_ int buflen);
2033
2035HANDLE
2036WSAAPI
2038 _In_ HWND hWnd,
2039 _In_ u_int wMsg,
2040 _In_ int number,
2041 _Out_writes_bytes_(buflen) char FAR *buf,
2042 _In_ int buflen);
2043
2045HANDLE
2046WSAAPI
2048 _In_ HWND hWnd,
2049 _In_ u_int wMsg,
2050 _In_z_ const char FAR *name,
2051 _Out_writes_bytes_(buflen) char FAR *buf,
2052 _In_ int buflen);
2053
2055HANDLE
2056WSAAPI
2058 _In_ HWND hWnd,
2059 _In_ u_int wMsg,
2060 _In_reads_bytes_(len) const char FAR *addr,
2061 _In_ int len,
2062 _In_ int type,
2063 _Out_writes_bytes_(buflen) char FAR *buf,
2064 _In_ int buflen);
2065
2067int
2068WSAAPI
2070 _In_ HANDLE hAsyncTaskHandle);
2071
2073int
2074WSAAPI
2076 _In_ SOCKET s,
2077 _In_ HWND hWnd,
2078 _In_ u_int wMsg,
2079 _In_ long lEvent);
2080
2083SOCKET
2084WSAAPI
2086 _In_ SOCKET s,
2087 _Out_writes_bytes_to_opt_(*addrlen,*addrlen) struct sockaddr FAR *addr,
2088 _Inout_opt_ LPINT addrlen,
2089 _In_opt_ LPCONDITIONPROC lpfnCondition,
2090 _In_opt_ DWORD_PTR dwCallbackData);
2091
2093BOOL
2094WSAAPI
2097
2099int
2100WSAAPI
2102 _In_ SOCKET s,
2103 _In_reads_bytes_(namelen) const struct sockaddr FAR *name,
2104 _In_ int namelen,
2105 _In_opt_ LPWSABUF lpCallerData,
2106 _Out_opt_ LPWSABUF lpCalleeData,
2107 _In_opt_ LPQOS lpSQOS,
2108 _In_opt_ LPQOS lpGQOS);
2109
2110#ifdef UNICODE
2111#define WSAConnectByName WSAConnectByNameW
2112#else
2113#define WSAConnectByName WSAConnectByNameA
2114#endif
2115
2116BOOL
2117PASCAL
2119 _In_ SOCKET s,
2120 _In_ LPWSTR nodename,
2121 _In_ LPWSTR servicename,
2122 _Inout_opt_ LPDWORD LocalAddressLength,
2123 _Out_writes_bytes_to_opt_(*LocalAddressLength,*LocalAddressLength) LPSOCKADDR LocalAddress,
2124 _Inout_opt_ LPDWORD RemoteAddressLength,
2125 _Out_writes_bytes_to_opt_(*RemoteAddressLength,*RemoteAddressLength) LPSOCKADDR RemoteAddress,
2126 _In_opt_ const struct timeval *timeout,
2128
2129BOOL
2130PASCAL
2132 _In_ SOCKET s,
2133 _In_ LPCSTR nodename,
2134 _In_ LPCSTR servicename,
2135 _Inout_opt_ LPDWORD LocalAddressLength,
2136 _Out_writes_bytes_to_opt_(*LocalAddressLength,*LocalAddressLength) LPSOCKADDR LocalAddress,
2137 _Inout_opt_ LPDWORD RemoteAddressLength,
2138 _Out_writes_bytes_to_opt_(*RemoteAddressLength,*RemoteAddressLength) LPSOCKADDR RemoteAddress,
2139 _In_opt_ const struct timeval *timeout,
2141
2142BOOL
2143PASCAL
2145 _In_ SOCKET s,
2146 _In_ PSOCKET_ADDRESS_LIST SocketAddress,
2147 _Inout_opt_ LPDWORD LocalAddressLength,
2148 _Out_writes_bytes_to_opt_(*LocalAddressLength,*LocalAddressLength) LPSOCKADDR LocalAddress,
2149 _Inout_opt_ LPDWORD RemoteAddressLength,
2150 _Out_writes_bytes_to_opt_(*RemoteAddressLength,*RemoteAddressLength) LPSOCKADDR RemoteAddress,
2151 _In_opt_ const struct timeval *timeout,
2153
2156WSAAPI
2157WSACreateEvent(void);
2158
2160int
2161WSAAPI
2163 _In_ SOCKET s,
2165 _Out_ LPWSAPROTOCOL_INFOA lpProtocolInfo);
2166
2168int
2169WSAAPI
2171 _In_ SOCKET s,
2173 _Out_ LPWSAPROTOCOL_INFOW lpProtocolInfo);
2174
2175#ifdef UNICODE
2176#define WSADuplicateSocket WSADuplicateSocketW
2177#else
2178#define WSADuplicateSocket WSADuplicateSocketA
2179#endif
2180
2182int
2183WSAAPI
2185 _In_ SOCKET s,
2186 _In_ WSAEVENT hEventObject,
2187 _Out_ LPWSANETWORKEVENTS lpNetworkEvents);
2188
2190int
2191WSAAPI
2193 _In_opt_ LPINT lpiProtocols,
2196
2198int
2199WSAAPI
2201 _In_opt_ LPINT lpiProtocols,
2204
2205#ifdef UNICODE
2206#define WSAEnumProtocols WSAEnumProtocolsW
2207#else
2208#define WSAEnumProtocols WSAEnumProtocolsA
2209#endif
2210
2212int
2213WSAAPI
2215 _In_ SOCKET s,
2216 _In_opt_ WSAEVENT hEventObject,
2217 _In_ long lNetworkEvents);
2218
2220BOOL
2221WSAAPI
2223 _In_ SOCKET s,
2225 _Out_ LPDWORD lpcbTransfer,
2226 _In_ BOOL fWait,
2227 _Out_ LPDWORD lpdwFlags);
2228
2230BOOL
2231WSAAPI
2233 _In_ SOCKET s,
2234 _In_ LPWSABUF lpQOSName,
2235 _Out_ LPQOS lpQOS);
2236
2238int
2239WSAAPI
2241 _In_ SOCKET s,
2242 _In_ u_long hostlong,
2243 _Out_ u_long FAR *lpnetlong);
2244
2246int
2247WSAAPI
2249 _In_ SOCKET s,
2250 _In_ u_short hostshort,
2251 _Out_ u_short FAR *lpnetshort);
2252
2254int
2255WSAAPI
2257 _In_ SOCKET s,
2259 _In_reads_bytes_opt_(cbInBuffer) LPVOID lpvInBuffer,
2260 _In_ DWORD cbInBuffer,
2261 _Out_writes_bytes_to_opt_(cbOutBuffer, *lpcbBytesReturned) LPVOID lpvOutBuffer,
2262 _In_ DWORD cbOutBuffer,
2263 _Out_ LPDWORD lpcbBytesReturned,
2265 _In_opt_ LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine);
2266
2268SOCKET
2269WSAAPI
2271 _In_ SOCKET s,
2272 _In_reads_bytes_(namelen) const struct sockaddr FAR *name,
2273 _In_ int namelen,
2274 _In_opt_ LPWSABUF lpCallerData,
2275 _Out_opt_ LPWSABUF lpCalleeData,
2276 _In_opt_ LPQOS lpSQOS,
2277 _In_opt_ LPQOS lpGQOS,
2279
2281int
2282WSAAPI
2284 _In_ SOCKET s,
2285 _In_ u_long netlong,
2286 _Out_ u_long FAR *lphostlong);
2287
2289int
2290WSAAPI
2292 _In_ SOCKET s,
2293 _In_ u_short netshort,
2294 _Out_ u_short FAR *lphostshort);
2295
2297int
2298WSAAPI
2300 _In_ SOCKET s,
2301 _In_reads_(dwBufferCount) __out_data_source(NETWORK) LPWSABUF lpBuffers,
2302 _In_ DWORD dwBufferCount,
2303 _Out_opt_ LPDWORD lpNumberOfBytesRecvd,
2304 _Inout_ LPDWORD lpFlags,
2306 _In_opt_ LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine);
2307
2309int
2310WSAAPI
2312 _In_ SOCKET s,
2313 _In_opt_ __out_data_source(NETWORK) LPWSABUF lpInboundDisconnectData);
2314
2316int
2317WSAAPI
2319 _In_ SOCKET s,
2320 _In_reads_(dwBufferCount) __out_data_source(NETWORK) LPWSABUF lpBuffers,
2321 _In_ DWORD dwBufferCount,
2322 _Out_opt_ LPDWORD lpNumberOfBytesRecvd,
2323 _Inout_ LPDWORD lpFlags,
2324 _Out_writes_bytes_to_opt_(*lpFromlen,*lpFromlen) struct sockaddr FAR *lpFrom,
2325 _Inout_opt_ LPINT lpFromlen,
2327 _In_opt_ LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine);
2328
2330BOOL
2331WSAAPI
2334
2336int
2337WSAAPI
2339 _In_ SOCKET s,
2340 _In_opt_ LPWSABUF lpOutboundDisconnectData);
2341
2343int
2344WSAAPI
2346 _In_ SOCKET s,
2347 _In_reads_(dwBufferCount) LPWSABUF lpBuffers,
2348 _In_ DWORD dwBufferCount,
2349 _Out_opt_ LPDWORD lpNumberOfBytesSent,
2352 _In_opt_ LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine);
2353
2355int
2356WSAAPI
2358 _In_ SOCKET s,
2359 _In_reads_(dwBufferCount) LPWSABUF lpBuffers,
2360 _In_ DWORD dwBufferCount,
2361 _Out_opt_ LPDWORD lpNumberOfBytesSent,
2363 _In_reads_bytes_opt_(iTolen) const struct sockaddr FAR *lpTo,
2364 _In_ int iTolen,
2366 _In_opt_ LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine);
2367
2369BOOL
2370WSAAPI
2373
2376SOCKET
2377WSAAPI
2379 _In_ int af,
2380 _In_ int type,
2381 _In_ int protocol,
2382 _In_opt_ LPWSAPROTOCOL_INFOA lpProtocolInfo,
2383 _In_ GROUP g,
2385
2388SOCKET
2389WSAAPI
2391 _In_ int af,
2392 _In_ int type,
2393 _In_ int protocol,
2394 _In_opt_ LPWSAPROTOCOL_INFOW lpProtocolInfo,
2395 _In_ GROUP g,
2397
2398#ifdef UNICODE
2399#define WSASocket WSASocketW
2400#else
2401#define WSASocket WSASocketA
2402#endif
2403
2405DWORD
2406WSAAPI
2408 _In_ DWORD cEvents,
2409 _In_reads_(cEvents) const WSAEVENT FAR *lphEvents,
2410 _In_ BOOL fWaitAll,
2411 _In_ DWORD dwTimeout,
2412 _In_ BOOL fAlertable);
2413
2415INT
2416WSAAPI
2418 _In_reads_bytes_(dwAddressLength) LPSOCKADDR lpsaAddress,
2419 _In_ DWORD dwAddressLength,
2420 _In_opt_ LPWSAPROTOCOL_INFOA lpProtocolInfo,
2421 _Out_writes_to_(*lpdwAddressStringLength,*lpdwAddressStringLength) LPSTR lpszAddressString,
2422 _Inout_ LPDWORD lpdwAddressStringLength);
2423
2425INT
2426WSAAPI
2428 _In_reads_bytes_(dwAddressLength) LPSOCKADDR lpsaAddress,
2429 _In_ DWORD dwAddressLength,
2430 _In_opt_ LPWSAPROTOCOL_INFOW lpProtocolInfo,
2431 _Out_writes_to_(*lpdwAddressStringLength,*lpdwAddressStringLength) LPWSTR lpszAddressString,
2432 _Inout_ LPDWORD lpdwAddressStringLength);
2433
2434#ifdef UNICODE
2435#define WSAAddressToString WSAAddressToStringW
2436#else
2437#define WSAAddressToString WSAAddressToStringA
2438#endif
2439
2441INT
2442WSAAPI
2444 _In_ LPSTR AddressString,
2446 _In_opt_ LPWSAPROTOCOL_INFOA lpProtocolInfo,
2447 _Out_writes_bytes_to_(*lpAddressLength,*lpAddressLength) LPSOCKADDR lpAddress,
2448 _Inout_ LPINT lpAddressLength);
2449
2451INT
2452WSAAPI
2454 _In_ LPWSTR AddressString,
2456 _In_opt_ LPWSAPROTOCOL_INFOW lpProtocolInfo,
2457 _Out_writes_bytes_to_(*lpAddressLength,*lpAddressLength) LPSOCKADDR lpAddress,
2458 _Inout_ LPINT lpAddressLength);
2459
2460#ifdef UNICODE
2461#define WSAStringToAddress WSAStringToAddressW
2462#else
2463#define WSAStringToAddress WSAStringToAddressA
2464#endif
2465
2467INT
2468WSAAPI
2470 _In_ LPWSAQUERYSETA lpqsRestrictions,
2471 _In_ DWORD dwControlFlags,
2472 _Out_ LPHANDLE lphLookup);
2473
2475INT
2476WSAAPI
2478 _In_ LPWSAQUERYSETW lpqsRestrictions,
2479 _In_ DWORD dwControlFlags,
2480 _Out_ LPHANDLE lphLookup);
2481
2482#ifdef UNICODE
2483#define WSALookupServiceBegin WSALookupServiceBeginW
2484#else
2485#define WSALookupServiceBegin WSALookupServiceBeginA
2486#endif
2487
2489INT
2490WSAAPI
2492 _In_ HANDLE hLookup,
2493 _In_ DWORD dwControlFlags,
2496
2498INT
2499WSAAPI
2501 _In_ HANDLE hLookup,
2502 _In_ DWORD dwControlFlags,
2505
2506#ifdef UNICODE
2507#define WSALookupServiceNext WSALookupServiceNextW
2508#else
2509#define WSALookupServiceNext WSALookupServiceNextA
2510#endif
2511
2513INT
2514WSAAPI
2516 _In_ HANDLE hLookup);
2517
2519INT
2520WSAAPI
2522 _In_ LPWSASERVICECLASSINFOA lpServiceClassInfo);
2523
2525INT
2526WSAAPI
2528 _In_ LPWSASERVICECLASSINFOW lpServiceClassInfo);
2529
2530#ifdef UNICODE
2531#define WSAInstallServiceClass WSAInstallServiceClassW
2532#else
2533#define WSAInstallServiceClass WSAInstallServiceClassA
2534#endif
2535
2537INT
2538WSAAPI
2540 _In_ LPGUID lpServiceClassId);
2541
2543INT
2544WSAAPI
2546 _In_ LPGUID lpProviderId,
2547 _In_ LPGUID lpServiceClassId,
2548 _Inout_ LPDWORD lpdwBufSize,
2549 _Out_writes_bytes_to_(*lpdwBufSize,*lpdwBufSize) LPWSASERVICECLASSINFOA lpServiceClassInfo);
2550
2552INT
2553WSAAPI
2555 _In_ LPGUID lpProviderId,
2556 _In_ LPGUID lpServiceClassId,
2557 _Inout_ LPDWORD lpdwBufSize,
2558 _Out_writes_bytes_to_(*lpdwBufSize,*lpdwBufSize) LPWSASERVICECLASSINFOW lpServiceClassInfo);
2559
2560#ifdef UNICODE
2561#define WSAGetServiceClassInfo WSAGetServiceClassInfoW
2562#else
2563#define WSAGetServiceClassInfo WSAGetServiceClassInfoA
2564#endif
2565
2567INT
2568WSAAPI
2572
2574INT
2575WSAAPI
2579
2580#ifdef UNICODE
2581#define WSAEnumNameSpaceProviders WSAEnumNameSpaceProvidersW
2582#else
2583#define WSAEnumNameSpaceProviders WSAEnumNameSpaceProvidersA
2584#endif
2585
2586_Success_(return == 0)
2588INT
2589WSAAPI
2591 _In_ LPGUID lpServiceClassId,
2594
2595_Success_(return == 0)
2597INT
2598WSAAPI
2600 _In_ LPGUID lpServiceClassId,
2603
2604#ifdef UNICODE
2605#define WSAGetServiceClassNameByClassId WSAGetServiceClassNameByClassIdW
2606#else
2607#define WSAGetServiceClassNameByClassId WSAGetServiceClassNameByClassIdA
2608#endif
2609
2611INT
2612WSAAPI
2614 _In_ LPWSAQUERYSETA lpqsRegInfo,
2615 _In_ WSAESETSERVICEOP essoperation,
2616 _In_ DWORD dwControlFlags);
2617
2619INT
2620WSAAPI
2622 _In_ LPWSAQUERYSETW lpqsRegInfo,
2623 _In_ WSAESETSERVICEOP essoperation,
2624 _In_ DWORD dwControlFlags);
2625
2626#ifdef UNICODE
2627#define WSASetService WSASetServiceW
2628#else
2629#define WSASetService WSASetServiceA
2630#endif
2631
2633INT
2634WSAAPI
2636 _Inout_ LPHANDLE lpNotificationHandle,
2638 _In_opt_ LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine);
2639
2640#if(_WIN32_WINNT >= 0x0501)
2642INT
2643WSAAPI
2645 _In_ HANDLE hLookup,
2646 _In_ DWORD dwControlCode,
2647 _In_reads_bytes_opt_(cbInBuffer) LPVOID lpvInBuffer,
2648 _In_ DWORD cbInBuffer,
2649 _Out_writes_bytes_to_opt_(cbOutBuffer, *lpcbBytesReturned) LPVOID lpvOutBuffer,
2650 _In_ DWORD cbOutBuffer,
2651 _Out_ LPDWORD lpcbBytesReturned,
2652 _In_opt_ LPWSACOMPLETION lpCompletion);
2653#endif /* (_WIN32_WINNT >= 0x0501) */
2654
2655#if(_WIN32_WINNT >= 0x0600)
2656
2658int
2659WSAAPI
2660WSASendMsg(
2662 _In_ LPWSAMSG lpMsg,
2664 _Out_opt_ LPDWORD lpNumberOfBytesSent,
2666 _In_opt_ LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine);
2667
2669INT
2670WSAAPI
2671WSAEnumNameSpaceProvidersExA(
2674
2676INT
2677WSAAPI
2678WSAEnumNameSpaceProvidersExW(
2681
2682#ifdef UNICODE
2683#define WSAEnumNameSpaceProvidersEx WSAEnumNameSpaceProvidersExW
2684#else
2685#define WSAEnumNameSpaceProvidersEx WSAEnumNameSpaceProvidersExA
2686#endif
2687
2689int
2690WSAAPI
2691WSAPoll(
2692 _Inout_ LPWSAPOLLFD fdArray,
2693 _In_ ULONG fds,
2694 _In_ INT timeout);
2695
2696#endif /* (_WIN32_WINNT >= 0x0600) */
2697
2698#endif /* INCL_WINSOCK_API_PROTOTYPES */
2699
2701typedef struct linger LINGER;
2702typedef struct linger *PLINGER;
2703typedef struct linger FAR *LPLINGER;
2704typedef struct fd_set FD_SET;
2705typedef struct fd_set *PFD_SET;
2706typedef struct fd_set FAR *LPFD_SET;
2707typedef struct hostent HOSTENT;
2708typedef struct hostent *PHOSTENT;
2709typedef struct hostent FAR *LPHOSTENT;
2710typedef struct servent SERVENT;
2711typedef struct servent *PSERVENT;
2712typedef struct servent FAR *LPSERVENT;
2713typedef struct protoent PROTOENT;
2714typedef struct protoent *PPROTOENT;
2715typedef struct protoent FAR *LPPROTOENT;
2716typedef struct timeval TIMEVAL;
2717typedef struct timeval *PTIMEVAL;
2718typedef struct timeval FAR *LPTIMEVAL;
2719
2720#define WSAMAKEASYNCREPLY(buflen,error) MAKELONG(buflen,error)
2721#define WSAMAKESELECTREPLY(event,error) MAKELONG(event,error)
2722#define WSAGETASYNCBUFLEN(lParam) LOWORD(lParam)
2723#define WSAGETASYNCERROR(lParam) HIWORD(lParam)
2724#define WSAGETSELECTEVENT(lParam) LOWORD(lParam)
2725#define WSAGETSELECTERROR(lParam) HIWORD(lParam)
2726
2727#ifdef __cplusplus
2728}
2729#endif
2730
2731#ifdef _NEED_POPPACK
2732#include <poppack.h>
2733#endif
2734
2735/* FIXME :
2736#if(_WIN32_WINNT >= 0x0501)
2737#ifdef IPV6STRICT
2738#include <wsipv6ok.h>
2739#endif
2740#endif */
2741
2742#endif /* !(defined _WINSOCK2API_ || defined _WINSOCKAPI_) */
Type
Definition: Type.h:7
HWND hWnd
Definition: settings.c:17
#define __int64
Definition: basetyps.h:16
return
Definition: dirsup.c:529
UINT32 u_int
Definition: types.h:82
unsigned short u_short
Definition: types.h:81
int(* FARPROC)()
Definition: compat.h:36
#define CALLBACK
Definition: compat.h:35
#define FAR
Definition: zlib.h:34
USHORT port
Definition: uri.c:228
unsigned int(__cdecl typeof(jpeg_read_scanlines))(struct jpeg_decompress_struct *
Definition: typeof.h:31
unsigned long u_long
Definition: linux.h:269
unsigned short WORD
Definition: ntddk_ex.h:93
unsigned int BOOL
Definition: ntddk_ex.h:94
unsigned long DWORD
Definition: ntddk_ex.h:95
ULONG Handle
Definition: gdb_input.c:15
GLint level
Definition: gl.h:1546
GLuint GLuint GLsizei GLenum type
Definition: gl.h:1545
GLdouble s
Definition: gl.h:2039
GLint namelen
Definition: glext.h:7232
GLenum GLuint GLenum GLsizei const GLchar * buf
Definition: glext.h:7751
GLuint in
Definition: glext.h:9616
GLbitfield flags
Definition: glext.h:7161
GLenum const GLvoid * addr
Definition: glext.h:9621
GLboolean GLboolean g
Definition: glext.h:6204
GLenum GLsizei len
Definition: glext.h:6722
CPPORT Port[4]
Definition: headless.c:35
POINT cp
Definition: magnifier.c:59
UINT_PTR WPARAM
Definition: minwindef.h:174
int * LPINT
Definition: minwindef.h:151
#define PASCAL
Definition: minwindef.h:117
#define htons(x)
Definition: module.h:215
#define ntohl(x)
Definition: module.h:205
#define ntohs(x)
Definition: module.h:210
#define htonl(x)
Definition: module.h:214
LPCWSTR LPCWSTR LPCWSTR DWORD dwFlags
Definition: env.c:37
PSDBQUERYRESULT_VISTA PVOID DWORD * dwSize
Definition: env.c:56
static unsigned int number
Definition: dsound.c:1479
static HANDLE hEvent
Definition: comm.c:54
unsigned __int3264 UINT_PTR
Definition: mstsclib_h.h:274
_In_ HANDLE _In_ DWORD _In_ DWORD _Inout_opt_ LPOVERLAPPED lpOverlapped
Definition: mswsock.h:93
#define ioctlsocket
Definition: ncftp.h:481
#define closesocket
Definition: ncftp.h:477
unsigned int UINT
Definition: ndis.h:50
IN PCO_ADDRESS_FAMILY AddressFamily
Definition: ndis.h:1906
#define _In_reads_bytes_(s)
Definition: no_sal2.h:170
#define _In_reads_(s)
Definition: no_sal2.h:168
#define _Out_opt_
Definition: no_sal2.h:214
#define _Struct_size_bytes_(s)
Definition: no_sal2.h:386
#define _Inout_
Definition: no_sal2.h:162
#define _Success_(c)
Definition: no_sal2.h:84
#define _In_z_
Definition: no_sal2.h:164
#define _In_opt_z_
Definition: no_sal2.h:218
#define _Field_size_(s)
Definition: no_sal2.h:332
#define _Out_writes_bytes_opt_(s)
Definition: no_sal2.h:228
#define _Out_writes_bytes_to_(s, c)
Definition: no_sal2.h:190
#define _Inout_opt_
Definition: no_sal2.h:216
#define _Must_inspect_result_
Definition: no_sal2.h:62
#define _Out_
Definition: no_sal2.h:160
#define _In_
Definition: no_sal2.h:158
#define _In_opt_
Definition: no_sal2.h:212
#define _Field_range_(l, h)
Definition: no_sal2.h:380
#define _Out_writes_bytes_to_opt_(s, c)
Definition: no_sal2.h:240
#define _Reserved_
Definition: no_sal2.h:504
#define _Out_writes_to_(s, c)
Definition: no_sal2.h:188
#define _Out_writes_bytes_(s)
Definition: no_sal2.h:178
#define _In_reads_bytes_opt_(s)
Definition: no_sal2.h:224
#define BOOL
Definition: nt_native.h:43
#define DWORD
Definition: nt_native.h:44
short SHORT
Definition: pedump.c:59
long LONG
Definition: pedump.c:60
#define INT
Definition: polytest.cpp:20
_In_ DWORD dwProcessId
Definition: shlwapi.h:193
#define long
Definition: qsort.c:33
INT WSAAPI WSAGetServiceClassNameByClassIdW(IN LPGUID lpServiceClassId, OUT LPWSTR lpszServiceClassName, IN OUT LPDWORD lpdwBufferLength)
Definition: rnr.c:672
INT WSAAPI WSAGetServiceClassNameByClassIdA(IN LPGUID lpServiceClassId, OUT LPSTR lpszServiceClassName, IN OUT LPDWORD lpdwBufferLength)
Definition: rnr.c:658
INT WSPAPI WSANSPIoctl(HANDLE hLookup, DWORD dwControlCode, LPVOID lpvInBuffer, DWORD cbInBuffer, LPVOID lpvOutBuffer, DWORD cbOutBuffer, LPDWORD lpcbBytesReturned, LPWSACOMPLETION lpCompletion)
Definition: rnr.c:570
#define NETWORK
Definition: config.h:328
#define __out_data_source(src_sym)
Definition: specstrings.h:349
CardRegion * from
Definition: spigame.cpp:19
char szDescription[WSADESCRIPTION_LEN+1]
Definition: winsock.h:520
unsigned short iMaxUdpDg
Definition: winsock.h:523
char * lpVendorInfo
Definition: winsock.h:524
char FAR * lpVendorInfo
Definition: winsock2.h:567
char szSystemStatus[WSASYS_STATUS_LEN+1]
Definition: winsock.h:521
WORD wVersion
Definition: winsock.h:511
WORD wHighVersion
Definition: winsock.h:512
unsigned short iMaxSockets
Definition: winsock.h:522
INT iAddressFamily
Definition: winsock2.h:781
INT iProtocol
Definition: winsock2.h:782
Definition: nspapi.h:57
ULONG cbSize
Definition: nspapi.h:58
BYTE * pBlobData
Definition: nspapi.h:59
_Field_size_bytes_(cbSize) BYTE *pBlobData
WSABUF ProviderSpecific
Definition: winsock2.h:631
FLOWSPEC SendingFlowspec
Definition: winsock2.h:629
FLOWSPEC ReceivingFlowspec
Definition: winsock2.h:630
LPWSTR lpszIdentifier
Definition: winsock2.h:951
int iErrorCode[FD_MAX_EVENTS]
Definition: winsock2.h:638
LPVOID lpValue
Definition: winsock2.h:893
DWORD dwValueSize
Definition: winsock2.h:892
DWORD dwNameSpace
Definition: winsock2.h:890
DWORD dwValueType
Definition: winsock2.h:891
LPWSTR lpszName
Definition: winsock2.h:897
LPVOID lpValue
Definition: winsock2.h:901
DWORD dwValueSize
Definition: winsock2.h:900
DWORD dwValueType
Definition: winsock2.h:899
DWORD dwNameSpace
Definition: winsock2.h:898
DWORD Offset
Definition: winsock2.h:605
DWORD InternalHigh
Definition: winsock2.h:604
WSAEVENT hEvent
Definition: winsock2.h:607
DWORD Internal
Definition: winsock2.h:603
DWORD OffsetHigh
Definition: winsock2.h:606
DWORD ChainEntries[MAX_PROTOCOL_CHAIN]
Definition: winsock2.h:647
DWORD dwServiceFlags2
Definition: winsock2.h:652
DWORD dwServiceFlags1
Definition: winsock2.h:651
DWORD dwServiceFlags4
Definition: winsock2.h:654
DWORD dwProviderFlags
Definition: winsock2.h:655
DWORD dwServiceFlags3
Definition: winsock2.h:653
DWORD dwCatalogEntryId
Definition: winsock2.h:657
DWORD dwProviderReserved
Definition: winsock2.h:669
CHAR szProtocol[WSAPROTOCOL_LEN+1]
Definition: winsock2.h:670
WSAPROTOCOLCHAIN ProtocolChain
Definition: winsock2.h:658
DWORD dwServiceFlags3
Definition: winsock2.h:676
WCHAR szProtocol[WSAPROTOCOL_LEN+1]
Definition: winsock2.h:693
DWORD dwServiceFlags2
Definition: winsock2.h:675
DWORD dwCatalogEntryId
Definition: winsock2.h:680
DWORD dwServiceFlags4
Definition: winsock2.h:677
DWORD dwServiceFlags1
Definition: winsock2.h:674
DWORD dwProviderReserved
Definition: winsock2.h:692
DWORD dwProviderFlags
Definition: winsock2.h:678
WSAPROTOCOLCHAIN ProtocolChain
Definition: winsock2.h:681
LPBLOB lpBlob
Definition: winsock2.h:846
DWORD dwNumberOfProtocols
Definition: winsock2.h:840
LPGUID lpNSProviderId
Definition: winsock2.h:838
LPSTR lpszServiceInstanceName
Definition: winsock2.h:834
LPSTR lpszContext
Definition: winsock2.h:839
LPSTR lpszComment
Definition: winsock2.h:836
LPWSAVERSION lpVersion
Definition: winsock2.h:835
DWORD dwOutputFlags
Definition: winsock2.h:845
LPSTR lpszQueryString
Definition: winsock2.h:842
LPAFPROTOCOLS lpafpProtocols
Definition: winsock2.h:841
LPCSADDR_INFO lpcsaBuffer
Definition: winsock2.h:844
DWORD dwNameSpace
Definition: winsock2.h:837
DWORD dwSize
Definition: winsock2.h:833
DWORD dwNumberOfCsAddrs
Definition: winsock2.h:843
LPWSTR lpszContext
Definition: winsock2.h:856
LPWSAVERSION lpVersion
Definition: winsock2.h:852
LPBLOB lpBlob
Definition: winsock2.h:863
LPWSTR lpszQueryString
Definition: winsock2.h:859
LPWSTR lpszServiceInstanceName
Definition: winsock2.h:851
DWORD dwNameSpace
Definition: winsock2.h:854
DWORD dwNumberOfProtocols
Definition: winsock2.h:857
_Field_size_(dwNumberOfCsAddrs) LPCSADDR_INFO lpcsaBuffer
DWORD dwOutputFlags
Definition: winsock2.h:862
DWORD dwNumberOfCsAddrs
Definition: winsock2.h:860
_Field_size_(dwNumberOfProtocols) LPAFPROTOCOLS lpafpProtocols
LPWSTR lpszComment
Definition: winsock2.h:853
LPGUID lpNSProviderId
Definition: winsock2.h:855
DWORD dwSize
Definition: winsock2.h:850
DWORD dwNumberOfCsAddrs
Definition: winsock2.h:807
LPWSAVERSION lpVersion
Definition: winsock2.h:799
_Field_size_(dwNumberOfCsAddrs) LPCSADDR_INFO lpcsaBuffer
LPGUID lpServiceClassId
Definition: winsock2.h:798
DWORD dwOutputFlags
Definition: winsock2.h:809
LPSTR lpszQueryString
Definition: winsock2.h:806
LPBLOB lpBlob
Definition: winsock2.h:810
_Field_size_(dwNumberOfProtocols) LPAFPROTOCOLS lpafpProtocols
DWORD dwSize
Definition: winsock2.h:796
DWORD dwNumberOfProtocols
Definition: winsock2.h:804
LPSTR lpszComment
Definition: winsock2.h:800
LPGUID lpNSProviderId
Definition: winsock2.h:802
LPSTR lpszContext
Definition: winsock2.h:803
DWORD dwNameSpace
Definition: winsock2.h:801
LPSTR lpszServiceInstanceName
Definition: winsock2.h:797
LPSTR lpszServiceClassName
Definition: winsock2.h:916
LPWSANSCLASSINFOA lpClassInfos
Definition: winsock2.h:918
LPWSTR lpszServiceClassName
Definition: winsock2.h:923
LPWSANSCLASSINFOW lpClassInfos
Definition: winsock2.h:925
WSAECOMPARATOR ecHow
Definition: winsock2.h:792
DWORD dwVersion
Definition: winsock2.h:791
Definition: qos.h:45
Definition: ftp_var.h:139
Definition: http.c:7252
Definition: winsock.h:60
u_int fd_count
Definition: winsock.h:61
SOCKET fd_array[FD_SETSIZE]
Definition: winsock.h:62
char * h_name
Definition: winsock.h:128
short h_length
Definition: winsock.h:131
char ** h_aliases
Definition: winsock.h:129
short h_addrtype
Definition: winsock.h:130
char ** h_addr_list
Definition: winsock.h:132
Definition: tcpip.h:126
u_char s_b1
Definition: tcpip.h:129
u_long S_addr
Definition: tcpip.h:131
struct in_addr::@1141::@1142 S_un_b
u_short s_w1
Definition: tcpip.h:130
u_char s_b4
Definition: tcpip.h:129
u_char s_b2
Definition: tcpip.h:129
u_short s_w2
Definition: tcpip.h:130
union in_addr::@1141 S_un
struct in_addr::@1141::@1143 S_un_w
u_char s_b3
Definition: tcpip.h:129
u_short l_onoff
Definition: winsock.h:136
u_short l_linger
Definition: winsock.h:137
Definition: name.c:39
u_long n_net
Definition: winsock.h:149
char * n_name
Definition: winsock.h:146
short n_addrtype
Definition: winsock.h:148
char ** n_aliases
Definition: winsock.h:147
Definition: linux.h:1867
int fd
Definition: linux.h:1868
short revents
Definition: linux.h:1870
short events
Definition: linux.h:1869
char ** p_aliases
Definition: winsock.h:166
short p_proto
Definition: winsock.h:167
char * p_name
Definition: winsock.h:165
short s_port
Definition: winsock.h:159
char * s_proto
Definition: winsock.h:160
char FAR * s_name
Definition: winsock2.h:184
char FAR * s_proto
Definition: winsock2.h:191
char FAR ** s_aliases
Definition: winsock2.h:185
u_short sp_protocol
Definition: winsock.h:535
u_short sp_family
Definition: winsock.h:534
Definition: dhcpd.h:248
unsigned long tv_sec
Definition: linux.h:1738
unsigned long tv_usec
Definition: linux.h:1739
HANDLE lEvent
Definition: tftpd.cpp:56
uint32_t DWORD_PTR
Definition: typedefs.h:65
PVOID HANDLE
Definition: typedefs.h:73
uint32_t * LPDWORD
Definition: typedefs.h:59
int32_t INT
Definition: typedefs.h:58
uint32_t ULONG_PTR
Definition: typedefs.h:65
#define IN
Definition: typedefs.h:39
uint32_t ULONG
Definition: typedefs.h:59
#define OUT
Definition: typedefs.h:40
_Must_inspect_result_ _In_ WDFQUEUE _In_opt_ WDFREQUEST _In_opt_ WDFFILEOBJECT _Inout_opt_ PWDF_REQUEST_PARAMETERS Parameters
Definition: wdfio.h:869
_Reserved_ PVOID Reserved
Definition: winddi.h:3974
_In_ DWORD dwIoControlCode
Definition: winddi.h:1700
WINSOCK_API_LINKAGE struct servent FAR *WSAAPI getservbyname(_In_z_ const char FAR *name, _In_opt_z_ const char FAR *proto)
WINSOCK_API_LINKAGE HANDLE WSAAPI WSAAsyncGetHostByAddr(_In_ HWND hWnd, _In_ u_int wMsg, _In_reads_bytes_(len) const char FAR *addr, _In_ int len, _In_ int type, _Out_writes_bytes_(buflen) char FAR *buf, _In_ int buflen)
_Must_inspect_result_ WINSOCK_API_LINKAGE SOCKET WSAAPI WSASocketA(_In_ int af, _In_ int type, _In_ int protocol, _In_opt_ LPWSAPROTOCOL_INFOA lpProtocolInfo, _In_ GROUP g, _In_ DWORD dwFlags)
WINSOCK_API_LINKAGE INT WSAAPI WSALookupServiceNextW(_In_ HANDLE hLookup, _In_ DWORD dwControlFlags, _Inout_ LPDWORD lpdwBufferLength, _Out_writes_bytes_to_opt_(*lpdwBufferLength, *lpdwBufferLength) LPWSAQUERYSETW lpqsResults)
struct _WSAQuerySet2W * LPWSAQUERYSET2W
struct _WSANSClassInfoW * PWSANSCLASSINFOW
unsigned int GROUP
Definition: winsock2.h:634
_Out_writes_bytes_to_ lpdwBufferLength LPSTR lpszServiceClassName
Definition: winsock2.h:2592
WINSOCK_API_LINKAGE int WSAAPI WSAEnumProtocolsW(_In_opt_ LPINT lpiProtocols, _Out_writes_bytes_to_opt_(*lpdwBufferLength, *lpdwBufferLength) LPWSAPROTOCOL_INFOW lpProtocolBuffer, _Inout_ LPDWORD lpdwBufferLength)
struct _WSAQuerySetA * PWSAQUERYSETA
enum _WSAEcomparator WSAECOMPARATOR
struct _WSAQuerySetA * LPWSAQUERYSETA
WINSOCK_API_LINKAGE INT WSAAPI WSALookupServiceNextA(_In_ HANDLE hLookup, _In_ DWORD dwControlFlags, _Inout_ LPDWORD lpdwBufferLength, _Out_writes_bytes_to_(*lpdwBufferLength, *lpdwBufferLength) LPWSAQUERYSETA lpqsResults)
struct _QualityOfService * LPQOS
WINSOCK_API_LINKAGE HANDLE WSAAPI WSAAsyncGetServByName(_In_ HWND hWnd, _In_ u_int wMsg, _In_z_ const char FAR *name, _In_z_ const char FAR *proto, _Out_writes_bytes_(buflen) char FAR *buf, _In_ int buflen)
_Must_inspect_result_ WINSOCK_API_LINKAGE SOCKET WSAAPI WSAAccept(_In_ SOCKET s, _Out_writes_bytes_to_opt_(*addrlen, *addrlen) struct sockaddr FAR *addr, _Inout_opt_ LPINT addrlen, _In_opt_ LPCONDITIONPROC lpfnCondition, _In_opt_ DWORD_PTR dwCallbackData)
WINSOCK_API_LINKAGE struct protoent FAR *WSAAPI getprotobynumber(_In_ int number)
WSANAMESPACE_INFOEXA WSANAMESPACE_INFOEX
Definition: winsock2.h:983
* LPWSAQUERYSETW
Definition: winsock2.h:830
struct linger FAR * LPLINGER
Definition: winsock2.h:2703
struct _AFPROTOCOLS * PAFPROTOCOLS
struct _WSAServiceClassInfoA * LPWSASERVICECLASSINFOA
struct _WSANAMESPACE_INFOEXW WSANAMESPACE_INFOEXW
struct _QualityOfService QOS
#define MAX_PROTOCOL_CHAIN
Definition: winsock2.h:417
WINSOCK_API_LINKAGE int WSAAPI bind(_In_ SOCKET s, _In_reads_bytes_(namelen) const struct sockaddr FAR *addr, _In_ int namelen)
struct _WSANAMESPACE_INFOA WSANAMESPACE_INFOA
struct _WSAQuerySetA WSAQUERYSETA
WINSOCK_API_LINKAGE int WSAAPI WSADuplicateSocketW(_In_ SOCKET s, _In_ DWORD dwProcessId, _Out_ LPWSAPROTOCOL_INFOW lpProtocolInfo)
WINSOCK_API_LINKAGE int WSAAPI WSARecv(_In_ SOCKET s, _In_reads_(dwBufferCount) __out_data_source(NETWORK) LPWSABUF lpBuffers, _In_ DWORD dwBufferCount, _Out_opt_ LPDWORD lpNumberOfBytesRecvd, _Inout_ LPDWORD lpFlags, _Inout_opt_ LPWSAOVERLAPPED lpOverlapped, _In_opt_ LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine)
PWSANAMESPACE_INFOA PWSANAMESPACE_INFO
Definition: winsock2.h:981
struct _WSANAMESPACE_INFOEXA WSANAMESPACE_INFOEXA
WINSOCK_API_LINKAGE int WSAAPI WSAEventSelect(_In_ SOCKET s, _In_opt_ WSAEVENT hEventObject, _In_ long lNetworkEvents)
struct in_addr IN_ADDR
WINSOCK_API_LINKAGE int WSAAPI WSASend(_In_ SOCKET s, _In_reads_(dwBufferCount) LPWSABUF lpBuffers, _In_ DWORD dwBufferCount, _Out_opt_ LPDWORD lpNumberOfBytesSent, _In_ DWORD dwFlags, _Inout_opt_ LPWSAOVERLAPPED lpOverlapped, _In_opt_ LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine)
WINSOCK_API_LINKAGE unsigned long WSAAPI inet_addr(_In_z_ const char FAR *cp)
struct hostent * PHOSTENT
Definition: winsock2.h:2708
PWSAQUERYSETA PWSAQUERYSET
Definition: winsock2.h:875
WINSOCK_API_LINKAGE int WSAAPI select(_In_ int nfds, _Inout_opt_ fd_set FAR *readfds, _Inout_opt_ fd_set FAR *writefds, _Inout_opt_ fd_set FAR *exceptfds, _In_opt_ const struct timeval FAR *timeout)
WINSOCK_API_LINKAGE int WSAAPI WSAEnumNetworkEvents(_In_ SOCKET s, _In_ WSAEVENT hEventObject, _Out_ LPWSANETWORKEVENTS lpNetworkEvents)
WINSOCK_API_LINKAGE struct protoent FAR *WSAAPI getprotobyname(_In_z_ const char FAR *name)
struct _WSANAMESPACE_INFOW WSANAMESPACE_INFOW
struct _WSANAMESPACE_INFOA * LPWSANAMESPACE_INFOA
WINSOCK_API_LINKAGE BOOL WSAAPI WSASetEvent(_In_ WSAEVENT hEvent)
struct fd_set * PFD_SET
Definition: winsock2.h:2705
#define FD_MAX_EVENTS
Definition: winsock2.h:307
WSAQUERYSET2A WSAQUERYSET2
Definition: winsock2.h:877
enum _WSAEcomparator * PWSAECOMPARATOR
WINSOCK_API_LINKAGE int WSAAPI WSANtohl(_In_ SOCKET s, _In_ u_long netlong, _Out_ u_long FAR *lphostlong)
WINSOCK_API_LINKAGE INT WSAAPI WSALookupServiceBeginW(_In_ LPWSAQUERYSETW lpqsRestrictions, _In_ DWORD dwControlFlags, _Out_ LPHANDLE lphLookup)
WINSOCK_API_LINKAGE int WSAAPI WSAHtonl(_In_ SOCKET s, _In_ u_long hostlong, _Out_ u_long FAR *lpnetlong)
struct protoent FAR * LPPROTOENT
Definition: winsock2.h:2715
struct _WSANAMESPACE_INFOW * LPWSANAMESPACE_INFOW
struct _WSANSClassInfoA WSANSCLASSINFOA
struct _WSAServiceClassInfoA * PWSASERVICECLASSINFOA
enum _WSAESETSERVICEOP * LPWSAESETSERVICEOP
UINT_PTR SOCKET
Definition: winsock2.h:66
LPWSANAMESPACE_INFOA LPWSANAMESPACE_INFO
Definition: winsock2.h:982
enum _WSAESETSERVICEOP WSAESETSERVICEOP
struct _BLOB * PBLOB
_Must_inspect_result_ WINSOCK_API_LINKAGE int WSAAPI WSAStartup(_In_ WORD wVersionRequired, _Out_ LPWSADATA lpWSAData)
WINSOCK_API_LINKAGE INT WSAAPI WSASetServiceA(_In_ LPWSAQUERYSETA lpqsRegInfo, _In_ WSAESETSERVICEOP essoperation, _In_ DWORD dwControlFlags)
WSANSCLASSINFOA WSANSCLASSINFO
Definition: winsock2.h:909
struct _WSANETWORKEVENTS WSANETWORKEVENTS
WINSOCK_API_LINKAGE int WSAAPI WSAIoctl(_In_ SOCKET s, _In_ DWORD dwIoControlCode, _In_reads_bytes_opt_(cbInBuffer) LPVOID lpvInBuffer, _In_ DWORD cbInBuffer, _Out_writes_bytes_to_opt_(cbOutBuffer, *lpcbBytesReturned) LPVOID lpvOutBuffer, _In_ DWORD cbOutBuffer, _Out_ LPDWORD lpcbBytesReturned, _Inout_opt_ LPWSAOVERLAPPED lpOverlapped, _In_opt_ LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine)
WINSOCK_API_LINKAGE INT WSAAPI WSALookupServiceBeginA(_In_ LPWSAQUERYSETA lpqsRestrictions, _In_ DWORD dwControlFlags, _Out_ LPHANDLE lphLookup)
WINSOCK_API_LINKAGE int WSAAPI WSACancelBlockingCall(void)
Definition: bhook.c:23
#define WINSOCK_API_LINKAGE
Definition: winsock2.h:38
WINSOCK_API_LINKAGE BOOL WSAAPI WSACloseEvent(_In_ WSAEVENT hEvent)
WINSOCK_API_LINKAGE int WSAAPI WSACancelAsyncRequest(_In_ HANDLE hAsyncTaskHandle)
DWORD FAR * LPWSAEVENT
Definition: winsock2.h:600
WINSOCK_API_LINKAGE BOOL WSAAPI WSAGetQOSByName(_In_ SOCKET s, _In_ LPWSABUF lpQOSName, _Out_ LPQOS lpQOS)
struct _WSANSClassInfoW * LPWSANSCLASSINFOW
struct _WSANSClassInfoA * LPWSANSCLASSINFOA
WINSOCK_API_LINKAGE int WSAAPI getsockopt(_In_ SOCKET s, _In_ int level, _In_ int optname, _Out_writes_bytes_(*optlen) char FAR *optval, _Inout_ int FAR *optlen)
struct _WSAQuerySet2A * LPWSAQUERYSET2A
struct _WSAServiceClassInfoW WSASERVICECLASSINFOW
#define WSAPROTOCOL_LEN
Definition: winsock2.h:422
struct _BLOB BLOB
_WSAEcomparator
Definition: winsock2.h:785
@ COMP_EQUAL
Definition: winsock2.h:786
@ COMP_NOTLESS
Definition: winsock2.h:787
BOOL PASCAL WSAConnectByNameA(_In_ SOCKET s, _In_ LPCSTR nodename, _In_ LPCSTR servicename, _Inout_opt_ LPDWORD LocalAddressLength, _Out_writes_bytes_to_opt_(*LocalAddressLength, *LocalAddressLength) LPSOCKADDR LocalAddress, _Inout_opt_ LPDWORD RemoteAddressLength, _Out_writes_bytes_to_opt_(*RemoteAddressLength, *RemoteAddressLength) LPSOCKADDR RemoteAddress, _In_opt_ const struct timeval *timeout, _Reserved_ LPWSAOVERLAPPED Reserved)
WINSOCK_API_LINKAGE DWORD WSAAPI WSAWaitForMultipleEvents(_In_ DWORD cEvents, _In_reads_(cEvents) const WSAEVENT FAR *lphEvents, _In_ BOOL fWaitAll, _In_ DWORD dwTimeout, _In_ BOOL fAlertable)
WINSOCK_API_LINKAGE int WSAAPI setsockopt(_In_ SOCKET s, _In_ int level, _In_ int optname, _In_reads_bytes_opt_(optlen) const char FAR *optval, _In_ int optlen)
WSASERVICECLASSINFOA WSASERVICECLASSINFO
Definition: winsock2.h:933
_Out_writes_bytes_to_ lpdwBufferLength LPSTR _Inout_ LPDWORD lpdwBufferLength
Definition: winsock2.h:2593
WINSOCK_API_LINKAGE SOCKET WSAAPI WSAJoinLeaf(_In_ SOCKET s, _In_reads_bytes_(namelen) const struct sockaddr FAR *name, _In_ int namelen, _In_opt_ LPWSABUF lpCallerData, _Out_opt_ LPWSABUF lpCalleeData, _In_opt_ LPQOS lpSQOS, _In_opt_ LPQOS lpGQOS, _In_ DWORD dwFlags)
WINSOCK_API_LINKAGE int WSAAPI WSAHtons(_In_ SOCKET s, _In_ u_short hostshort, _Out_ u_short FAR *lpnetshort)
struct _BLOB * LPBLOB
BOOL PASCAL WSAConnectByNameW(_In_ SOCKET s, _In_ LPWSTR nodename, _In_ LPWSTR servicename, _Inout_opt_ LPDWORD LocalAddressLength, _Out_writes_bytes_to_opt_(*LocalAddressLength, *LocalAddressLength) LPSOCKADDR LocalAddress, _Inout_opt_ LPDWORD RemoteAddressLength, _Out_writes_bytes_to_opt_(*RemoteAddressLength, *RemoteAddressLength) LPSOCKADDR RemoteAddress, _In_opt_ const struct timeval *timeout, _Reserved_ LPWSAOVERLAPPED Reserved)
WINSOCK_API_LINKAGE BOOL WSAAPI WSAResetEvent(_In_ WSAEVENT hEvent)
WINSOCK_API_LINKAGE HANDLE WSAAPI WSAAsyncGetProtoByNumber(_In_ HWND hWnd, _In_ u_int wMsg, _In_ int number, _Out_writes_bytes_(buflen) char FAR *buf, _In_ int buflen)
WINSOCK_API_LINKAGE INT WSAAPI WSAAddressToStringA(_In_reads_bytes_(dwAddressLength) LPSOCKADDR lpsaAddress, _In_ DWORD dwAddressLength, _In_opt_ LPWSAPROTOCOL_INFOA lpProtocolInfo, _Out_writes_to_(*lpdwAddressStringLength, *lpdwAddressStringLength) LPSTR lpszAddressString, _Inout_ LPDWORD lpdwAddressStringLength)
WINSOCK_API_LINKAGE struct servent FAR *WSAAPI getservbyport(_In_ int port, _In_opt_z_ const char FAR *proto)
struct _WSAPROTOCOLCHAIN WSAPROTOCOLCHAIN
WINSOCK_API_LINKAGE INT WSAAPI WSAStringToAddressA(_In_ LPSTR AddressString, _In_ INT AddressFamily, _In_opt_ LPWSAPROTOCOL_INFOA lpProtocolInfo, _Out_writes_bytes_to_(*lpAddressLength, *lpAddressLength) LPSOCKADDR lpAddress, _Inout_ LPINT lpAddressLength)
struct _WSAServiceClassInfoW * LPWSASERVICECLASSINFOW
struct timeval * PTIMEVAL
Definition: winsock2.h:2717
WINSOCK_API_LINKAGE int WSAAPI WSADuplicateSocketA(_In_ SOCKET s, _In_ DWORD dwProcessId, _Out_ LPWSAPROTOCOL_INFOA lpProtocolInfo)
WSAQUERYSETW
Definition: winsock2.h:830
_Must_inspect_result_ WINSOCK_API_LINKAGE SOCKET WSAAPI WSASocketW(_In_ int af, _In_ int type, _In_ int protocol, _In_opt_ LPWSAPROTOCOL_INFOW lpProtocolInfo, _In_ GROUP g, _In_ DWORD dwFlags)
WINSOCK_API_LINKAGE int WSAAPI WSAConnect(_In_ SOCKET s, _In_reads_bytes_(namelen) const struct sockaddr FAR *name, _In_ int namelen, _In_opt_ LPWSABUF lpCallerData, _Out_opt_ LPWSABUF lpCalleeData, _In_opt_ LPQOS lpSQOS, _In_opt_ LPQOS lpGQOS)
WSAQUERYSETA WSAQUERYSET
Definition: winsock2.h:874
WINSOCK_API_LINKAGE struct hostent FAR *WSAAPI gethostbyname(_In_z_ const char FAR *name)
WINSOCK_API_LINKAGE WSAEVENT WSAAPI WSACreateEvent(void)
Definition: event.c:42
WINSOCK_API_LINKAGE int WSAAPI WSAAsyncSelect(_In_ SOCKET s, _In_ HWND hWnd, _In_ u_int wMsg, _In_ long lEvent)
struct _WSANAMESPACE_INFOEXW * LPWSANAMESPACE_INFOEXW
WINSOCK_API_LINKAGE int WSAAPI gethostname(_Out_writes_bytes_(namelen) char FAR *name, _In_ int namelen)
WINSOCK_API_LINKAGE int WSAAPI WSAGetLastError(void)
Definition: dllmain.c:131
_Must_inspect_result_ WINSOCK_API_LINKAGE SOCKET WSAAPI socket(_In_ int af, _In_ int type, _In_ int protocol)
struct servent FAR * LPSERVENT
Definition: winsock2.h:2712
struct WSAData * LPWSADATA
struct _WSANAMESPACE_INFOA * PWSANAMESPACE_INFOA
#define FD_SETSIZE
Definition: winsock2.h:69
struct _WSAServiceClassInfoW * PWSASERVICECLASSINFOW
WINSOCK_API_LINKAGE int WSAAPI shutdown(_In_ SOCKET s, _In_ int how)
WINSOCK_API_LINKAGE BOOL WSAAPI WSAGetOverlappedResult(_In_ SOCKET s, _In_ LPWSAOVERLAPPED lpOverlapped, _Out_ LPDWORD lpcbTransfer, _In_ BOOL fWait, _Out_ LPDWORD lpdwFlags)
struct _WSAPROTOCOL_INFOW WSAPROTOCOL_INFOW
unsigned long u_long
Definition: winsock2.h:53
WINSOCK_API_LINKAGE HANDLE WSAAPI WSAAsyncGetProtoByName(_In_ HWND hWnd, _In_ u_int wMsg, _In_z_ const char FAR *name, _Out_writes_bytes_(buflen) char FAR *buf, _In_ int buflen)
WINSOCK_API_LINKAGE int WSAAPI WSARecvFrom(_In_ SOCKET s, _In_reads_(dwBufferCount) __out_data_source(NETWORK) LPWSABUF lpBuffers, _In_ DWORD dwBufferCount, _Out_opt_ LPDWORD lpNumberOfBytesRecvd, _Inout_ LPDWORD lpFlags, _Out_writes_bytes_to_opt_(*lpFromlen, *lpFromlen) struct sockaddr FAR *lpFrom, _Inout_opt_ LPINT lpFromlen, _Inout_opt_ LPWSAOVERLAPPED lpOverlapped, _In_opt_ LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine)
WINSOCK_API_LINKAGE INT WSAAPI WSARemoveServiceClass(_In_ LPGUID lpServiceClassId)
struct servent * PSERVENT
Definition: winsock2.h:2711
WINSOCK_API_LINKAGE INT WSAAPI WSAEnumNameSpaceProvidersA(_Inout_ LPDWORD lpdwBufferLength, _Out_writes_bytes_to_(*lpdwBufferLength, *lpdwBufferLength) LPWSANAMESPACE_INFOA lpnspBuffer)
PWSAQUERYSET2A PWSAQUERYSET2
Definition: winsock2.h:878
LPWSANAMESPACE_INFOEXA LPWSANAMESPACE_INFOEX
Definition: winsock2.h:985
WINSOCK_API_LINKAGE HANDLE WSAAPI WSAAsyncGetServByPort(_In_ HWND hWnd, _In_ u_int wMsg, _In_ int port, _In_ const char FAR *proto, _Out_writes_bytes_(buflen) char FAR *buf, _In_ int buflen)
* PWSAQUERYSETW
Definition: winsock2.h:830
WINSOCK_API_LINKAGE INT WSAAPI WSAInstallServiceClassW(_In_ LPWSASERVICECLASSINFOW lpServiceClassInfo)
LPWSAQUERYSET2A LPWSAQUERYSET2
Definition: winsock2.h:879
struct _WSAPROTOCOLCHAIN * LPWSAPROTOCOLCHAIN
WINSOCK_API_LINKAGE int WSAAPI WSASendDisconnect(_In_ SOCKET s, _In_opt_ LPWSABUF lpOutboundDisconnectData)
struct _WSANETWORKEVENTS * LPWSANETWORKEVENTS
struct _AFPROTOCOLS AFPROTOCOLS
unsigned short u_short
Definition: winsock2.h:50
WINSOCK_API_LINKAGE int WSAAPI WSAUnhookBlockingHook(void)
Definition: bhook.c:130
WINSOCK_API_LINKAGE char FAR *WSAAPI inet_ntoa(_In_ struct in_addr in)
struct protoent * PPROTOENT
Definition: winsock2.h:2714
DWORD WSAEVENT
Definition: winsock2.h:600
WSAPROTOCOL_INFOA WSAPROTOCOL_INFO
Definition: winsock2.h:700
struct _WSANAMESPACE_INFOW * PWSANAMESPACE_INFOW
struct _WSAQuerySet2A WSAQUERYSET2A
WINSOCK_API_LINKAGE int WSAAPI recv(_In_ SOCKET s, _Out_writes_bytes_to_(len, return) __out_data_source(NETWORK) char FAR *buf, _In_ int len, _In_ int flags)
WINSOCK_API_LINKAGE INT WSAAPI WSAEnumNameSpaceProvidersW(_Inout_ LPDWORD lpdwBufferLength, _Out_writes_bytes_to_(*lpdwBufferLength, *lpdwBufferLength) LPWSANAMESPACE_INFOW lpnspBuffer)
struct sockaddr_in FAR * LPSOCKADDR_IN
Definition: winsock2.h:2700
struct WSAData WSADATA
LPWSAPROTOCOL_INFOA LPWSAPROTOCOL_INFO
Definition: winsock2.h:701
WINSOCK_API_LINKAGE int WSAAPI WSAEnumProtocolsA(_In_opt_ LPINT lpiProtocols, _Out_writes_bytes_to_opt_(*lpdwBufferLength, *lpdwBufferLength) LPWSAPROTOCOL_INFOA lpProtocolBuffer, _Inout_ LPDWORD lpdwBufferLength)
void(CALLBACK * LPWSAOVERLAPPED_COMPLETION_ROUTINE)(IN DWORD dwError, IN DWORD cbTransferred, IN LPWSAOVERLAPPED lpOverlapped, IN DWORD dwFlags)
Definition: winsock2.h:716
enum _WSAESETSERVICEOP * PWSAESETSERVICEOP
struct _WSAPROTOCOL_INFOA WSAPROTOCOL_INFOA
WINSOCK_API_LINKAGE INT WSAAPI WSAStringToAddressW(_In_ LPWSTR AddressString, _In_ INT AddressFamily, _In_opt_ LPWSAPROTOCOL_INFOW lpProtocolInfo, _Out_writes_bytes_to_(*lpAddressLength, *lpAddressLength) LPSOCKADDR lpAddress, _Inout_ LPINT lpAddressLength)
WINSOCK_API_LINKAGE int WSAAPI sendto(_In_ SOCKET s, _In_reads_bytes_(len) const char FAR *buf, _In_ int len, _In_ int flags, _In_reads_bytes_(tolen) const struct sockaddr FAR *to, _In_ int tolen)
PWSANAMESPACE_INFOEXA PWSANAMESPACE_INFOEX
Definition: winsock2.h:984
WINSOCK_API_LINKAGE INT WSAAPI WSALookupServiceEnd(_In_ HANDLE hLookup)
struct _WSAOVERLAPPED * LPWSAOVERLAPPED
struct _WSANSClassInfoA * PWSANSCLASSINFOA
WINSOCK_API_LINKAGE int WSAAPI WSASendTo(_In_ SOCKET s, _In_reads_(dwBufferCount) LPWSABUF lpBuffers, _In_ DWORD dwBufferCount, _Out_opt_ LPDWORD lpNumberOfBytesSent, _In_ DWORD dwFlags, _In_reads_bytes_opt_(iTolen) const struct sockaddr FAR *lpTo, _In_ int iTolen, _Inout_opt_ LPWSAOVERLAPPED lpOverlapped, _In_opt_ LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine)
LPWSANSCLASSINFOA LPWSANSCLASSINFO
Definition: winsock2.h:911
unsigned int u_int
Definition: winsock2.h:51
WINSOCK_API_LINKAGE int WSAAPI send(_In_ SOCKET s, _In_reads_bytes_(len) const char FAR *buf, _In_ int len, _In_ int flags)
LPWSAQUERYSETA LPWSAQUERYSET
Definition: winsock2.h:876
WINSOCK_API_LINKAGE struct hostent FAR *WSAAPI gethostbyaddr(_In_reads_bytes_(len) const char FAR *addr, _In_ int len, _In_ int type)
struct _WSAVersion * PWSAVERSION
WINSOCK_API_LINKAGE INT WSAAPI WSAProviderConfigChange(_Inout_ LPHANDLE lpNotificationHandle, _Inout_opt_ LPWSAOVERLAPPED lpOverlapped, _In_opt_ LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine)
WINSOCK_API_LINKAGE INT WSAAPI WSAAddressToStringW(_In_reads_bytes_(dwAddressLength) LPSOCKADDR lpsaAddress, _In_ DWORD dwAddressLength, _In_opt_ LPWSAPROTOCOL_INFOW lpProtocolInfo, _Out_writes_to_(*lpdwAddressStringLength, *lpdwAddressStringLength) LPWSTR lpszAddressString, _Inout_ LPDWORD lpdwAddressStringLength)
struct timeval FAR * LPTIMEVAL
Definition: winsock2.h:2718
WINSOCK_API_LINKAGE BOOL WSAAPI WSAIsBlocking(void)
Definition: bhook.c:65
#define WSASYS_STATUS_LEN
Definition: winsock2.h:234
struct hostent FAR * LPHOSTENT
Definition: winsock2.h:2709
struct _WSANAMESPACE_INFOEXA * PWSANAMESPACE_INFOEXA
LPWSASERVICECLASSINFOA LPWSASERVICECLASSINFO
Definition: winsock2.h:935
struct _WSAVersion * LPWSAVERSION
WINSOCK_API_LINKAGE int WSAAPI getpeername(_In_ SOCKET s, _Out_writes_bytes_to_(*namelen, *namelen) struct sockaddr FAR *name, _Inout_ int FAR *namelen)
WINSOCK_API_LINKAGE int WSAAPI getsockname(_In_ SOCKET s, _Out_writes_bytes_to_(*namelen, *namelen) struct sockaddr FAR *name, _Inout_ int FAR *namelen)
WINSOCK_API_LINKAGE INT WSAAPI WSAGetServiceClassInfoW(_In_ LPGUID lpProviderId, _In_ LPGUID lpServiceClassId, _Inout_ LPDWORD lpdwBufSize, _Out_writes_bytes_to_(*lpdwBufSize, *lpdwBufSize) LPWSASERVICECLASSINFOW lpServiceClassInfo)
WINSOCK_API_LINKAGE int WSAAPI WSANtohs(_In_ SOCKET s, _In_ u_short netshort, _Out_ u_short FAR *lphostshort)
#define WSADESCRIPTION_LEN
Definition: winsock2.h:233
BOOL PASCAL WSAConnectByList(_In_ SOCKET s, _In_ PSOCKET_ADDRESS_LIST SocketAddress, _Inout_opt_ LPDWORD LocalAddressLength, _Out_writes_bytes_to_opt_(*LocalAddressLength, *LocalAddressLength) LPSOCKADDR LocalAddress, _Inout_opt_ LPDWORD RemoteAddressLength, _Out_writes_bytes_to_opt_(*RemoteAddressLength, *RemoteAddressLength) LPSOCKADDR RemoteAddress, _In_opt_ const struct timeval *timeout, _Reserved_ LPWSAOVERLAPPED Reserved)
struct fd_set FAR * LPFD_SET
Definition: winsock2.h:2706
WINSOCK_API_LINKAGE int WSAAPI WSARecvDisconnect(_In_ SOCKET s, _In_opt_ __out_data_source(NETWORK) LPWSABUF lpInboundDisconnectData)
_WSAESETSERVICEOP
Definition: winsock2.h:882
@ RNRSERVICE_DEREGISTER
Definition: winsock2.h:884
@ RNRSERVICE_REGISTER
Definition: winsock2.h:883
@ RNRSERVICE_DELETE
Definition: winsock2.h:885
WINSOCK_API_LINKAGE void WSAAPI WSASetLastError(_In_ int iError)
_Must_inspect_result_ WINSOCK_API_LINKAGE SOCKET WSAAPI accept(_In_ SOCKET s, _Out_writes_bytes_opt_(*addrlen) struct sockaddr FAR *addr, _Inout_opt_ int FAR *addrlen)
struct linger * PLINGER
Definition: winsock2.h:2702
int PASCAL FAR __WSAFDIsSet(SOCKET, fd_set FAR *)
WINSOCK_API_LINKAGE int WSAAPI listen(_In_ SOCKET s, _In_ int backlog)
struct _WSAPROTOCOL_INFOW * LPWSAPROTOCOL_INFOW
WINSOCK_API_LINKAGE int WSAAPI WSACleanup(void)
Definition: startup.c:60
struct _WSAQuerySet2A * PWSAQUERYSET2A
unsigned char u_char
Definition: winsock2.h:49
WINSOCK_API_LINKAGE INT WSAAPI WSAGetServiceClassInfoA(_In_ LPGUID lpProviderId, _In_ LPGUID lpServiceClassId, _Inout_ LPDWORD lpdwBufSize, _Out_writes_bytes_to_(*lpdwBufSize, *lpdwBufSize) LPWSASERVICECLASSINFOA lpServiceClassInfo)
WINSOCK_API_LINKAGE HANDLE WSAAPI WSAAsyncGetHostByName(_In_ HWND hWnd, _In_ u_int wMsg, _In_z_ const char FAR *name, _Out_writes_bytes_(buflen) char FAR *buf, _In_ int buflen)
WINSOCK_API_LINKAGE FARPROC WSAAPI WSASetBlockingHook(_In_ FARPROC lpBlockFunc)
struct _WSAServiceClassInfoA WSASERVICECLASSINFOA
struct _WSAQuerySet2W WSAQUERYSET2W
struct _WSANAMESPACE_INFOEXW * PWSANAMESPACE_INFOEXW
PWSASERVICECLASSINFOA PWSASERVICECLASSINFO
Definition: winsock2.h:934
enum _WSAEcomparator * LPWSAECOMPARATOR
struct _WSANAMESPACE_INFOEXA * LPWSANAMESPACE_INFOEXA
WINSOCK_API_LINKAGE INT WSAAPI WSAInstallServiceClassA(_In_ LPWSASERVICECLASSINFOA lpServiceClassInfo)
struct _WSAPROTOCOL_INFOA * LPWSAPROTOCOL_INFOA
WINSOCK_API_LINKAGE int WSAAPI recvfrom(_In_ SOCKET s, _Out_writes_bytes_to_(len, return) __out_data_source(NETWORK) char FAR *buf, _In_ int len, _In_ int flags, _Out_writes_bytes_to_opt_(*fromlen, *fromlen) struct sockaddr FAR *from, _Inout_opt_ int FAR *fromlen)
struct _WSAOVERLAPPED WSAOVERLAPPED
struct _WSAVersion WSAVERSION
WSANAMESPACE_INFOA WSANAMESPACE_INFO
Definition: winsock2.h:980
WINSOCK_API_LINKAGE INT WSAAPI WSASetServiceW(_In_ LPWSAQUERYSETW lpqsRegInfo, _In_ WSAESETSERVICEOP essoperation, _In_ DWORD dwControlFlags)
PWSANSCLASSINFOA PWSANSCLASSINFO
Definition: winsock2.h:910
struct _WSAQuerySet2W * PWSAQUERYSET2W
struct in_addr * PIN_ADDR
#define WSAAPI
Definition: winsock2.h:599
struct _AFPROTOCOLS * LPAFPROTOCOLS
int(CALLBACK * LPCONDITIONPROC)(IN LPWSABUF lpCallerId, IN LPWSABUF lpCallerData, IN OUT LPQOS lpSQOS, IN OUT LPQOS lpGQOS, IN LPWSABUF lpCalleeId, IN LPWSABUF lpCalleeData, OUT GROUP FAR *g, IN DWORD_PTR dwCallbackData)
Definition: winsock2.h:705
struct _WSANSClassInfoW WSANSCLASSINFOW
UINT_PTR SOCKET
Definition: winsock.h:41
_Must_inspect_result_ _In_ ULONG _In_ PSOCKADDR LocalAddress
Definition: wsk.h:171
_Must_inspect_result_ _In_ ULONG _In_ PSOCKADDR _In_ PSOCKADDR RemoteAddress
Definition: wsk.h:172
const char * LPCSTR
Definition: xmlstorage.h:183
__wchar_t WCHAR
Definition: xmlstorage.h:180
WCHAR * LPWSTR
Definition: xmlstorage.h:184
char * LPSTR
Definition: xmlstorage.h:182
char CHAR
Definition: xmlstorage.h:175
unsigned char BYTE
Definition: xxhash.c:193