3#if !(defined _WINSOCK2API_ || defined _WINSOCKAPI_)
7#define _GNU_H_WINDOWS32_SOCKETS
9#if (!defined(_WIN64) && !defined(WIN32))
14#ifndef INCL_WINSOCK_API_PROTOTYPES
15#define INCL_WINSOCK_API_PROTOTYPES 1
18#ifndef INCL_WINSOCK_API_TYPEDEFS
19#define INCL_WINSOCK_API_TYPEDEFS 0
27#define MAKEWORD(low,high) ((WORD)(((BYTE)(low)) | ((WORD)((BYTE)(high))) << 8))
30#ifndef WINSOCK_VERSION
31#define WINSOCK_VERSION MAKEWORD(2,2)
34#ifndef WINSOCK_API_LINKAGE
36#define WINSOCK_API_LINKAGE DECLSPEC_IMPORT
38#define WINSOCK_API_LINKAGE
42#if (defined(_LP64) || defined(__LP64__)) && !defined(_M_AMD64)
53#if !defined ( _BSDTYPES_DEFINED )
61typedef unsigned int u_long;
63#define _BSDTYPES_DEFINED
66#if(_WIN32_WINNT >= 0x0501)
67typedef unsigned __int64 u_int64;
78#ifndef _SYS_TYPES_FD_SET
95#define FD_CLR(fd, set) do { \
97 for (__i = 0; __i < ((fd_set FAR*)(set))->fd_count ; __i++) { \
98 if (((fd_set FAR*)(set))->fd_array[__i] == fd) { \
99 while (__i < ((fd_set FAR*)(set))->fd_count-1) { \
100 ((fd_set FAR*)(set))->fd_array[__i] = \
101 ((fd_set FAR*)(set))->fd_array[__i+1]; \
104 ((fd_set FAR*)(set))->fd_count--; \
113#define FD_SET(fd, set) do { \
115 for (__i = 0; __i < ((fd_set FAR *)(set))->fd_count; __i++) { \
116 if (((fd_set FAR *)(set))->fd_array[__i] == (fd)) { \
120 if (__i == ((fd_set FAR *)(set))->fd_count) { \
121 if (((fd_set FAR *)(set))->fd_count < FD_SETSIZE) { \
122 ((fd_set FAR *)(set))->fd_array[__i] = (fd); \
123 ((fd_set FAR *)(set))->fd_count++; \
130#define FD_ZERO(set) (((fd_set FAR*)(set))->fd_count=0)
134#define FD_ISSET(fd, set) __WSAFDIsSet((SOCKET)(fd), (fd_set FAR*)(set))
137#elif !defined (USE_SYS_TYPES_FD_SET)
138#warning "fd_set and associated macros have been defined in sys/types. \
139 This may cause runtime problems with W32 sockets"
142#if !(defined (__INSIDE_CYGWIN__) || defined (__INSIDE_MSYS__))
144#ifndef _TIMEVAL_DEFINED
147#define _TIMEVAL_DEFINED
148#define _STRUCT_TIMEVAL
154#define timerisset(tvp) ((tvp)->tv_sec || (tvp)->tv_usec)
156#define timercmp(tvp, uvp, cmp) \
157 (((tvp)->tv_sec != (uvp)->tv_sec) ? \
158 ((tvp)->tv_sec cmp (uvp)->tv_sec) : \
159 ((tvp)->tv_usec cmp (uvp)->tv_usec))
161#define timerclear(tvp) (tvp)->tv_sec = (tvp)->tv_usec = 0
165#define h_addr h_addr_list[0]
180#define FIONBIO _IOW('f', 126, u_long)
207#define SOMAXCONN 0x7fffffff
211#define MSG_DONTROUTE 4
212#if(_WIN32_WINNT >= 0x0502)
216#define h_errno WSAGetLastError()
217#define HOST_NOT_FOUND WSAHOST_NOT_FOUND
218#define TRY_AGAIN WSATRY_AGAIN
219#define NO_RECOVERY WSANO_RECOVERY
220#define NO_DATA WSANO_DATA
221#define NO_ADDRESS WSANO_ADDRESS
225#define FIONREAD _IOR('f', 127, u_long)
226#define FIOASYNC _IOW('f', 125, u_long)
227#define SIOCSHIWAT _IOW('s', 0, u_long)
228#define SIOCGHIWAT _IOR('s', 1, u_long)
229#define SIOCSLOWAT _IOW('s', 2, u_long)
230#define SIOCGLOWAT _IOR('s', 3, u_long)
231#define SIOCATMARK _IOR('s', 7, u_long)
233#define IMPLINK_IP 155
234#define IMPLINK_LOWEXPER 156
235#define IMPLINK_HIGHEXPER 158
237#define ADDR_ANY INADDR_ANY
239#define WSADESCRIPTION_LEN 256
240#define WSASYS_STATUS_LEN 128
242#define INVALID_SOCKET (SOCKET)(~0)
244#define SOCKET_ERROR (-1)
246#define FROM_PROTOCOL_INFO (-1)
248#define SO_PROTOCOL_INFOA 0x2004
249#define SO_PROTOCOL_INFOW 0x2005
251#define SO_PROTOCOL_INFO SO_PROTOCOL_INFOW
253#define SO_PROTOCOL_INFO SO_PROTOCOL_INFOA
255#define PVD_CONFIG 0x3001
257#define PF_UNSPEC AF_UNSPEC
258#define PF_UNIX AF_UNIX
259#define PF_INET AF_INET
260#define PF_IMPLINK AF_IMPLINK
262#define PF_CHAOS AF_CHAOS
267#define PF_ECMA AF_ECMA
268#define PF_DATAKIT AF_DATAKIT
269#define PF_CCITT AF_CCITT
271#define PF_DECnet AF_DECnet
274#define PF_HYLINK AF_HYLINK
275#define PF_APPLETALK AF_APPLETALK
276#define PF_VOICEVIEW AF_VOICEVIEW
277#define PF_FIREFOX AF_FIREFOX
278#define PF_UNKNOWN1 AF_UNKNOWN1
281#define PF_INET6 AF_INET6
282#if(_WIN32_WINNT >= 0x0600)
287#define MSG_PARTIAL 0x8000
288#define MSG_INTERRUPT 0x10
289#define MSG_MAXIOVLEN 16
291#define MAXGETHOSTSTRUCT 1024
294#define FD_READ (1 << FD_READ_BIT)
295#define FD_WRITE_BIT 1
296#define FD_WRITE (1 << FD_WRITE_BIT)
298#define FD_OOB (1 << FD_OOB_BIT)
299#define FD_ACCEPT_BIT 3
300#define FD_ACCEPT (1 << FD_ACCEPT_BIT)
301#define FD_CONNECT_BIT 4
302#define FD_CONNECT (1 << FD_CONNECT_BIT)
303#define FD_CLOSE_BIT 5
304#define FD_CLOSE (1 << FD_CLOSE_BIT)
306#define FD_QOS (1 << FD_QOS_BIT)
307#define FD_GROUP_QOS_BIT 7
308#define FD_GROUP_QOS (1 << FD_GROUP_QOS_BIT)
309#define FD_ROUTING_INTERFACE_CHANGE_BIT 8
310#define FD_ROUTING_INTERFACE_CHANGE (1 << FD_ROUTING_INTERFACE_CHANGE_BIT)
311#define FD_ADDRESS_LIST_CHANGE_BIT 9
312#define FD_ADDRESS_LIST_CHANGE (1 << FD_ADDRESS_LIST_CHANGE_BIT)
313#define FD_MAX_EVENTS 10
314#define FD_ALL_EVENTS ((1 << FD_MAX_EVENTS) - 1)
318#define WSABASEERR 10000
319#define WSAEINTR (WSABASEERR+4)
320#define WSAEBADF (WSABASEERR+9)
321#define WSAEACCES (WSABASEERR+13)
322#define WSAEFAULT (WSABASEERR+14)
323#define WSAEINVAL (WSABASEERR+22)
324#define WSAEMFILE (WSABASEERR+24)
325#define WSAEWOULDBLOCK (WSABASEERR+35)
326#define WSAEINPROGRESS (WSABASEERR+36)
327#define WSAEALREADY (WSABASEERR+37)
328#define WSAENOTSOCK (WSABASEERR+38)
329#define WSAEDESTADDRREQ (WSABASEERR+39)
330#define WSAEMSGSIZE (WSABASEERR+40)
331#define WSAEPROTOTYPE (WSABASEERR+41)
332#define WSAENOPROTOOPT (WSABASEERR+42)
333#define WSAEPROTONOSUPPORT (WSABASEERR+43)
334#define WSAESOCKTNOSUPPORT (WSABASEERR+44)
335#define WSAEOPNOTSUPP (WSABASEERR+45)
336#define WSAEPFNOSUPPORT (WSABASEERR+46)
337#define WSAEAFNOSUPPORT (WSABASEERR+47)
338#define WSAEADDRINUSE (WSABASEERR+48)
339#define WSAEADDRNOTAVAIL (WSABASEERR+49)
340#define WSAENETDOWN (WSABASEERR+50)
341#define WSAENETUNREACH (WSABASEERR+51)
342#define WSAENETRESET (WSABASEERR+52)
343#define WSAECONNABORTED (WSABASEERR+53)
344#define WSAECONNRESET (WSABASEERR+54)
345#define WSAENOBUFS (WSABASEERR+55)
346#define WSAEISCONN (WSABASEERR+56)
347#define WSAENOTCONN (WSABASEERR+57)
348#define WSAESHUTDOWN (WSABASEERR+58)
349#define WSAETOOMANYREFS (WSABASEERR+59)
350#define WSAETIMEDOUT (WSABASEERR+60)
351#define WSAECONNREFUSED (WSABASEERR+61)
352#define WSAELOOP (WSABASEERR+62)
353#define WSAENAMETOOLONG (WSABASEERR+63)
354#define WSAEHOSTDOWN (WSABASEERR+64)
355#define WSAEHOSTUNREACH (WSABASEERR+65)
356#define WSAENOTEMPTY (WSABASEERR+66)
357#define WSAEPROCLIM (WSABASEERR+67)
358#define WSAEUSERS (WSABASEERR+68)
359#define WSAEDQUOT (WSABASEERR+69)
360#define WSAESTALE (WSABASEERR+70)
361#define WSAEREMOTE (WSABASEERR+71)
362#define WSASYSNOTREADY (WSABASEERR+91)
363#define WSAVERNOTSUPPORTED (WSABASEERR+92)
364#define WSANOTINITIALISED (WSABASEERR+93)
365#define WSAEDISCON (WSABASEERR+101)
366#define WSAENOMORE (WSABASEERR+102)
367#define WSAECANCELLED (WSABASEERR+103)
368#define WSAEINVALIDPROCTABLE (WSABASEERR+104)
369#define WSAEINVALIDPROVIDER (WSABASEERR+105)
370#define WSAEPROVIDERFAILEDINIT (WSABASEERR+106)
371#define WSASYSCALLFAILURE (WSABASEERR+107)
372#define WSASERVICE_NOT_FOUND (WSABASEERR+108)
373#define WSATYPE_NOT_FOUND (WSABASEERR+109)
374#define WSA_E_NO_MORE (WSABASEERR+110)
375#define WSA_E_CANCELLED (WSABASEERR+111)
376#define WSAEREFUSED (WSABASEERR+112)
377#define WSAHOST_NOT_FOUND (WSABASEERR+1001)
378#define WSATRY_AGAIN (WSABASEERR+1002)
379#define WSANO_RECOVERY (WSABASEERR+1003)
380#define WSANO_DATA (WSABASEERR+1004)
381#define WSA_QOS_RECEIVERS (WSABASEERR + 1005)
382#define WSA_QOS_SENDERS (WSABASEERR + 1006)
383#define WSA_QOS_NO_SENDERS (WSABASEERR + 1007)
384#define WSA_QOS_NO_RECEIVERS (WSABASEERR + 1008)
385#define WSA_QOS_REQUEST_CONFIRMED (WSABASEERR + 1009)
386#define WSA_QOS_ADMISSION_FAILURE (WSABASEERR + 1010)
387#define WSA_QOS_POLICY_FAILURE (WSABASEERR + 1011)
388#define WSA_QOS_BAD_STYLE (WSABASEERR + 1012)
389#define WSA_QOS_BAD_OBJECT (WSABASEERR + 1013)
390#define WSA_QOS_TRAFFIC_CTRL_ERROR (WSABASEERR + 1014)
391#define WSA_QOS_GENERIC_ERROR (WSABASEERR + 1015)
392#define WSA_QOS_ESERVICETYPE (WSABASEERR + 1016)
393#define WSA_QOS_EFLOWSPEC (WSABASEERR + 1017)
394#define WSA_QOS_EPROVSPECBUF (WSABASEERR + 1018)
395#define WSA_QOS_EFILTERSTYLE (WSABASEERR + 1019)
396#define WSA_QOS_EFILTERTYPE (WSABASEERR + 1020)
397#define WSA_QOS_EFILTERCOUNT (WSABASEERR + 1021)
398#define WSA_QOS_EOBJLENGTH (WSABASEERR + 1022)
399#define WSA_QOS_EFLOWCOUNT (WSABASEERR + 1023)
400#define WSA_QOS_EUNKOWNPSOBJ (WSABASEERR + 1024)
401#define WSA_QOS_EPOLICYOBJ (WSABASEERR + 1025)
402#define WSA_QOS_EFLOWDESC (WSABASEERR + 1026)
403#define WSA_QOS_EPSFLOWSPEC (WSABASEERR + 1027)
404#define WSA_QOS_EPSFILTERSPEC (WSABASEERR + 1028)
405#define WSA_QOS_ESDMODEOBJ (WSABASEERR + 1029)
406#define WSA_QOS_ESHAPERATEOBJ (WSABASEERR + 1030)
407#define WSA_QOS_RESERVED_PETYPE (WSABASEERR + 1031)
411#define WSANO_ADDRESS WSANO_DATA
413#define CF_ACCEPT 0x0000
414#define CF_REJECT 0x0001
415#define CF_DEFER 0x0002
416#define SD_RECEIVE 0x00
420#define SG_UNCONSTRAINED_GROUP 0x01
421#define SG_CONSTRAINED_GROUP 0x02
423#define MAX_PROTOCOL_CHAIN 7
425#define BASE_PROTOCOL 1
426#define LAYERED_PROTOCOL 0
428#define WSAPROTOCOL_LEN 255
430#define PFL_MULTIPLE_PROTO_ENTRIES 0x00000001
431#define PFL_RECOMMENDED_PROTO_ENTRY 0x00000002
432#define PFL_HIDDEN 0x00000004
433#define PFL_MATCHES_PROTOCOL_ZERO 0x00000008
434#define PFL_NETWORKDIRECT_PROVIDER 0x00000010
436#define XP1_CONNECTIONLESS 0x00000001
437#define XP1_GUARANTEED_DELIVERY 0x00000002
438#define XP1_GUARANTEED_ORDER 0x00000004
439#define XP1_MESSAGE_ORIENTED 0x00000008
440#define XP1_PSEUDO_STREAM 0x00000010
441#define XP1_GRACEFUL_CLOSE 0x00000020
442#define XP1_EXPEDITED_DATA 0x00000040
443#define XP1_CONNECT_DATA 0x00000080
444#define XP1_DISCONNECT_DATA 0x00000100
445#define XP1_SUPPORT_BROADCAST 0x00000200
446#define XP1_SUPPORT_MULTIPOINT 0x00000400
447#define XP1_MULTIPOINT_CONTROL_PLANE 0x00000800
448#define XP1_MULTIPOINT_DATA_PLANE 0x00001000
449#define XP1_QOS_SUPPORTED 0x00002000
450#define XP1_INTERRUPT 0x00004000
451#define XP1_UNI_SEND 0x00008000
452#define XP1_UNI_RECV 0x00010000
453#define XP1_IFS_HANDLES 0x00020000
454#define XP1_PARTIAL_MESSAGE 0x00040000
455#define XP1_SAN_SUPPORT_SDP 0x00080000
457#define BIGENDIAN 0x0000
458#define LITTLEENDIAN 0x0001
460#define SECURITY_PROTOCOL_NONE 0x0000
462#define JL_SENDER_ONLY 0x01
463#define JL_RECEIVER_ONLY 0x02
466#define WSA_FLAG_OVERLAPPED 0x01
467#define WSA_FLAG_MULTIPOINT_C_ROOT 0x02
468#define WSA_FLAG_MULTIPOINT_C_LEAF 0x04
469#define WSA_FLAG_MULTIPOINT_D_ROOT 0x08
470#define WSA_FLAG_MULTIPOINT_D_LEAF 0x10
471#define WSA_FLAG_ACCESS_SYSTEM_SECURITY 0x40
473#define TH_NETDEV 0x00000001
474#define TH_TAPI 0x00000002
476#define SERVICE_MULTIPLE 0x00000001
478#define RES_UNUSED_1 0x00000001
479#define RES_FLUSH_CACHE 0x00000002
481#define RES_SERVICE 0x00000004
484#define SERVICE_TYPE_VALUE_IPXPORTA "IpxSocket"
485#define SERVICE_TYPE_VALUE_IPXPORTW L"IpxSocket"
486#define SERVICE_TYPE_VALUE_SAPIDA "SapId"
487#define SERVICE_TYPE_VALUE_SAPIDW L"SapId"
489#define SERVICE_TYPE_VALUE_TCPPORTA "TcpPort"
490#define SERVICE_TYPE_VALUE_TCPPORTW L"TcpPort"
492#define SERVICE_TYPE_VALUE_UDPPORTA "UdpPort"
493#define SERVICE_TYPE_VALUE_UDPPORTW L"UdpPort"
495#define SERVICE_TYPE_VALUE_OBJECTIDA "ObjectId"
496#define SERVICE_TYPE_VALUE_OBJECTIDW L"ObjectId"
499#define SERVICE_TYPE_VALUE_SAPID SERVICE_TYPE_VALUE_SAPIDW
500#define SERVICE_TYPE_VALUE_TCPPORT SERVICE_TYPE_VALUE_TCPPORTW
501#define SERVICE_TYPE_VALUE_UDPPORT SERVICE_TYPE_VALUE_UDPPORTW
502#define SERVICE_TYPE_VALUE_OBJECTID SERVICE_TYPE_VALUE_OBJECTIDW
504#define SERVICE_TYPE_VALUE_SAPID SERVICE_TYPE_VALUE_SAPIDA
505#define SERVICE_TYPE_VALUE_TCPPORT SERVICE_TYPE_VALUE_TCPPORTA
506#define SERVICE_TYPE_VALUE_UDPPORT SERVICE_TYPE_VALUE_UDPPORTA
507#define SERVICE_TYPE_VALUE_OBJECTID SERVICE_TYPE_VALUE_OBJECTIDA
510#define LUP_DEEP 0x0001
511#define LUP_CONTAINERS 0x0002
512#define LUP_NOCONTAINERS 0x0004
513#define LUP_NEAREST 0x0008
514#define LUP_RETURN_NAME 0x0010
515#define LUP_RETURN_TYPE 0x0020
516#define LUP_RETURN_VERSION 0x0040
517#define LUP_RETURN_COMMENT 0x0080
518#define LUP_RETURN_ADDR 0x0100
519#define LUP_RETURN_BLOB 0x0200
520#define LUP_RETURN_ALIASES 0x0400
521#define LUP_RETURN_QUERY_STRING 0x0800
522#define LUP_RETURN_ALL 0x0FF0
523#define LUP_RES_SERVICE 0x8000
524#define LUP_FLUSHCACHE 0x1000
525#define LUP_FLUSHPREVIOUS 0x2000
526#define LUP_NON_AUTHORITATIVE 0x4000
527#define LUP_SECURE 0x8000
528#define LUP_RETURN_PREFERRED_NAMES 0x10000
529#define LUP_ADDRCONFIG 0x00100000
530#define LUP_DUAL_ADDR 0x00200000
531#define LUP_FILESERVER 0x00400000
533#define RESULT_IS_ALIAS 0x0001
534#if(_WIN32_WINNT >= 0x0501)
535#define RESULT_IS_ADDED 0x0010
536#define RESULT_IS_CHANGED 0x0020
537#define RESULT_IS_DELETED 0x0040
542#define s_addr S_un.S_addr
543#define s_host S_un.S_un_b.s_b2
544#define s_net S_un.S_un_b.s_b1
545#define s_imp S_un.S_un_w.s_w2
546#define s_impno S_un.S_un_b.s_b4
547#define s_lh S_un.S_un_b.s_b3
584#define WSAAPI FAR PASCAL
585#define WSAEVENT HANDLE
586#define LPWSAEVENT LPHANDLE
587#define WSAOVERLAPPED OVERLAPPED
589#define WSA_IO_PENDING (ERROR_IO_PENDING)
590#define WSA_IO_INCOMPLETE (ERROR_IO_INCOMPLETE)
591#define WSA_INVALID_HANDLE (ERROR_INVALID_HANDLE)
592#define WSA_INVALID_PARAMETER (ERROR_INVALID_PARAMETER)
593#define WSA_NOT_ENOUGH_MEMORY (ERROR_NOT_ENOUGH_MEMORY)
594#define WSA_OPERATION_ABORTED (ERROR_OPERATION_ABORTED)
595#define WSA_INVALID_EVENT ((WSAEVENT)NULL)
596#define WSA_MAXIMUM_WAIT_EVENTS (MAXIMUM_WAIT_OBJECTS)
597#define WSA_WAIT_FAILED ((DWORD)-1L)
598#define WSA_WAIT_EVENT_0 (WAIT_OBJECT_0)
599#define WSA_WAIT_IO_COMPLETION (WAIT_IO_COMPLETION)
600#define WSA_WAIT_TIMEOUT (WAIT_TIMEOUT)
601#define WSA_INFINITE (INFINITE)
605#define WSAAPI FAR PASCAL
616#define WSA_IO_PENDING (WSAEWOULDBLOCK)
617#define WSA_IO_INCOMPLETE (WSAEWOULDBLOCK)
618#define WSA_INVALID_HANDLE (WSAENOTSOCK)
619#define WSA_INVALID_PARAMETER (WSAEINVAL)
620#define WSA_NOT_ENOUGH_MEMORY (WSAENOBUFS)
621#define WSA_OPERATION_ABORTED (WSAEINTR)
623#define WSA_INVALID_EVENT ((WSAEVENT)NULL)
624#define WSA_MAXIMUM_WAIT_EVENTS (MAXIMUM_WAIT_OBJECTS)
625#define WSA_WAIT_FAILED ((DWORD)-1L)
626#define WSA_WAIT_EVENT_0 ((DWORD)0)
627#define WSA_WAIT_TIMEOUT ((DWORD)0x102L)
628#define WSA_INFINITE ((DWORD)-1L)
728#if(_WIN32_WINNT >= 0x0501)
730#define SIO_NSP_NOTIFY_CHANGE _WSAIOW(IOC_WS2,25)
732typedef enum _WSACOMPLETIONTYPE {
733 NSP_NOTIFY_IMMEDIATELY = 0,
738} WSACOMPLETIONTYPE, * PWSACOMPLETIONTYPE, *LPWSACOMPLETIONTYPE;
740typedef struct _WSACOMPLETION {
741 WSACOMPLETIONTYPE
Type;
761} WSACOMPLETION, *PWSACOMPLETION, *LPWSACOMPLETION;
765#ifndef __BLOB_T_DEFINED
766#define __BLOB_T_DEFINED
768#ifndef _tagBLOB_DEFINED
769#define _tagBLOB_DEFINED
771#define _LPBLOB_DEFINED
773typedef struct _BLOB {
820typedef struct _WSAQuerySetW {
822 LPWSTR lpszServiceInstanceName;
829 DWORD dwNumberOfProtocols;
832 DWORD dwNumberOfCsAddrs;
994#if(_WIN32_WINNT >= 0x0600)
996#define POLLRDNORM 0x0100
997#define POLLRDBAND 0x0200
998#define POLLIN (POLLRDNORM | POLLRDBAND)
999#define POLLPRI 0x0400
1001#define POLLWRNORM 0x0010
1002#define POLLOUT (POLLWRNORM)
1003#define POLLWRBAND 0x0020
1005#define POLLERR 0x0001
1006#define POLLHUP 0x0002
1007#define POLLNVAL 0x0004
1013} WSAPOLLFD, *PWSAPOLLFD,
FAR *LPWSAPOLLFD;
1017#if INCL_WINSOCK_API_TYPEDEFS
1033(
WSAAPI *LPFN_CLOSESOCKET)(
1043(
WSAAPI *LPFN_IOCTLSOCKET)(
1049(
WSAAPI *LPFN_GETPEERNAME)(
1055(
WSAAPI *LPFN_GETSOCKNAME)(
1061(
WSAAPI *LPFN_GETSOCKOPT)(
1076typedef unsigned long
1138(
WSAAPI *LPFN_SETSOCKOPT)(
1158(
WSAAPI *LPFN_GETHOSTBYADDR)(
1164(
WSAAPI *LPFN_GETHOSTBYNAME)(
1168(
WSAAPI *LPFN_GETHOSTNAME)(
1173(
WSAAPI *LPFN_GETSERVBYPORT)(
1178(
WSAAPI *LPFN_GETSERVBYNAME)(
1183(
WSAAPI *LPFN_GETPROTOBYNUMBER)(
1187(
WSAAPI *LPFN_GETPROTOBYNAME)(
1192(
WSAAPI *LPFN_WSASTARTUP)(
1200(
WSAAPI *LPFN_WSASETLASTERROR)(
1213(
WSAAPI *LPFN_WSASETBLOCKINGHOOK)(
1220(
WSAAPI *LPFN_WSAASYNCGETSERVBYNAME)(
1229(
WSAAPI *LPFN_WSAASYNCGETSERVBYPORT)(
1238(
WSAAPI *LPFN_WSAASYNCGETPROTOBYNAME)(
1246(
WSAAPI *LPFN_WSAASYNCGETPROTOBYNUMBER)(
1254(
WSAAPI *LPFN_WSAASYNCGETHOSTBYNAME)(
1262(
WSAAPI *LPFN_WSAASYNCGETHOSTBYADDR)(
1272(
WSAAPI *LPFN_WSACANCELASYNCREQUEST)(
1276(
WSAAPI *LPFN_WSAASYNCSELECT)(
1292(
WSAAPI *LPFN_WSACLOSEEVENT)(
1296(
WSAAPI *LPFN_WSACONNECT)(
1309(
WSAAPI *LPFN_WSADUPLICATESOCKETA)(
1315(
WSAAPI *LPFN_WSADUPLICATESOCKETW)(
1321#define LPFN_WSADUPLICATESOCKET LPFN_WSADUPLICATESOCKETW
1323#define LPFN_WSADUPLICATESOCKET LPFN_WSADUPLICATESOCKETA
1327(
WSAAPI *LPFN_WSAENUMNETWORKEVENTS)(
1333(
WSAAPI *LPFN_WSAENUMPROTOCOLSA)(
1339(
WSAAPI *LPFN_WSAENUMPROTOCOLSW)(
1345#define LPFN_WSAENUMPROTOCOLS LPFN_WSAENUMPROTOCOLSW
1347#define LPFN_WSAENUMPROTOCOLS LPFN_WSAENUMPROTOCOLSA
1351(
WSAAPI *LPFN_WSAEVENTSELECT)(
1354 _In_ long lNetworkEvents);
1357(
WSAAPI *LPFN_WSAGETOVERLAPPEDRESULT)(
1365(
WSAAPI *LPFN_WSAGETQOSBYNAME)(
1395(
WSAAPI *LPFN_WSAJOINLEAF)(
1428(
WSAAPI *LPFN_WSARECVDISCONNECT)(
1433(
WSAAPI *LPFN_WSARECVFROM)(
1445(
WSAAPI *LPFN_WSARESETEVENT)(
1459(
WSAAPI *LPFN_WSASENDDISCONNECT)(
1476(
WSAAPI *LPFN_WSASETEVENT)(
1481(
WSAAPI *LPFN_WSASOCKETA)(
1491(
WSAAPI *LPFN_WSASOCKETW)(
1500#define LPFN_WSASOCKET LPFN_WSASOCKETW
1502#define LPFN_WSASOCKET LPFN_WSASOCKETA
1506(
WSAAPI *LPFN_WSAWAITFORMULTIPLEEVENTS)(
1514(
WSAAPI *LPFN_WSAADDRESSTOSTRINGA)(
1522(
WSAAPI *LPFN_WSAADDRESSTOSTRINGW)(
1530#define LPFN_WSAADDRESSTOSTRING LPFN_WSAADDRESSTOSTRINGW
1532#define LPFN_WSAADDRESSTOSTRING LPFN_WSAADDRESSTOSTRINGA
1536(
WSAAPI *LPFN_WSASTRINGTOADDRESSA)(
1544(
WSAAPI *LPFN_WSASTRINGTOADDRESSW)(
1552#define LPFN_WSASTRINGTOADDRESS LPFN_WSASTRINGTOADDRESSW
1554#define LPFN_WSASTRINGTOADDRESS LPFN_WSASTRINGTOADDRESSA
1558(
WSAAPI *LPFN_WSALOOKUPSERVICEBEGINA)(
1564(
WSAAPI *LPFN_WSALOOKUPSERVICEBEGINW)(
1570#define LPFN_WSALOOKUPSERVICEBEGIN LPFN_WSALOOKUPSERVICEBEGINW
1572#define LPFN_WSALOOKUPSERVICEBEGIN LPFN_WSALOOKUPSERVICEBEGINA
1576(
WSAAPI *LPFN_WSALOOKUPSERVICENEXTA)(
1583(
WSAAPI *LPFN_WSALOOKUPSERVICENEXTW)(
1590#define LPFN_WSALOOKUPSERVICENEXT LPFN_WSALOOKUPSERVICENEXTW
1592#define LPFN_WSALOOKUPSERVICENEXT LPFN_WSALOOKUPSERVICENEXTA
1596(
WSAAPI *LPFN_WSALOOKUPSERVICEEND)(
1600(
WSAAPI *LPFN_WSAINSTALLSERVICECLASSA)(
1604(
WSAAPI *LPFN_WSAINSTALLSERVICECLASSW)(
1608#define LPFN_WSAINSTALLSERVICECLASS LPFN_WSAINSTALLSERVICECLASSW
1610#define LPFN_WSAINSTALLSERVICECLASS LPFN_WSAINSTALLSERVICECLASSA
1614(
WSAAPI *LPFN_WSAREMOVESERVICECLASS)(
1618(
WSAAPI *LPFN_WSAGETSERVICECLASSINFOA)(
1625(
WSAAPI *LPFN_WSAGETSERVICECLASSINFOW)(
1632#define LPFN_WSAGETSERVICECLASSINFO LPFN_WSAGETSERVICECLASSINFOW
1634#define LPFN_WSAGETSERVICECLASSINFO LPFN_WSAGETSERVICECLASSINFOA
1638(
WSAAPI *LPFN_WSAENUMNAMESPACEPROVIDERSA)(
1643(
WSAAPI *LPFN_WSAENUMNAMESPACEPROVIDERSW)(
1648#define LPFN_WSAENUMNAMESPACEPROVIDERS LPFN_WSAENUMNAMESPACEPROVIDERSW
1650#define LPFN_WSAENUMNAMESPACEPROVIDERS LPFN_WSAENUMNAMESPACEPROVIDERSA
1654(
WSAAPI *LPFN_WSAGETSERVICECLASSNAMEBYCLASSIDA)(
1660(
WSAAPI *LPFN_WSAGETSERVICECLASSNAMEBYCLASSIDW)(
1666#define LPFN_WSAGETSERVICECLASSNAMEBYCLASSID LPFN_WSAGETSERVICECLASSNAMEBYCLASSIDW
1668#define LPFN_WSAGETSERVICECLASSNAMEBYCLASSID LPFN_WSAGETSERVICECLASSNAMEBYCLASSIDA
1672(
WSAAPI *LPFN_WSASETSERVICEA)(
1678(
WSAAPI *LPFN_WSASETSERVICEW)(
1684#define LPFN_WSASETSERVICE LPFN_WSASETSERVICEW
1686#define LPFN_WSASETSERVICE LPFN_WSASETSERVICEA
1690(
WSAAPI *LPFN_WSAPROVIDERCONFIGCHANGE)(
1695#if(_WIN32_WINNT >= 0x0501)
1697(
WSAAPI *LPFN_WSANSPIOCTL)(
1705 _In_opt_ LPWSACOMPLETION lpCompletion);
1708#if (_WIN32_WINNT >= 0x0600)
1711(
WSAAPI *LPFN_WSAENUMNAMESPACEPROVIDERSEXA)(
1716(
WSAAPI *LPFN_WSAENUMNAMESPACEPROVIDERSEXW)(
1721#define LPFN_WSAENUMNAMESPACEPROVIDERSEX LPFN_WSAENUMNAMESPACEPROVIDERSEXW
1723#define LPFN_WSAENUMNAMESPACEPROVIDERSEX LPFN_WSAENUMNAMESPACEPROVIDERSEXA
1730#if INCL_WINSOCK_API_PROTOTYPES
2117#define WSAConnectByName WSAConnectByNameW
2119#define WSAConnectByName WSAConnectByNameA
2182#define WSADuplicateSocket WSADuplicateSocketW
2184#define WSADuplicateSocket WSADuplicateSocketA
2212#define WSAEnumProtocols WSAEnumProtocolsW
2214#define WSAEnumProtocols WSAEnumProtocolsA
2223 _In_ long lNetworkEvents);
2405#define WSASocket WSASocketW
2407#define WSASocket WSASocketA
2441#define WSAAddressToString WSAAddressToStringW
2443#define WSAAddressToString WSAAddressToStringA
2467#define WSAStringToAddress WSAStringToAddressW
2469#define WSAStringToAddress WSAStringToAddressA
2489#define WSALookupServiceBegin WSALookupServiceBeginW
2491#define WSALookupServiceBegin WSALookupServiceBeginA
2513#define WSALookupServiceNext WSALookupServiceNextW
2515#define WSALookupServiceNext WSALookupServiceNextA
2537#define WSAInstallServiceClass WSAInstallServiceClassW
2539#define WSAInstallServiceClass WSAInstallServiceClassA
2567#define WSAGetServiceClassInfo WSAGetServiceClassInfoW
2569#define WSAGetServiceClassInfo WSAGetServiceClassInfoA
2587#define WSAEnumNameSpaceProviders WSAEnumNameSpaceProvidersW
2589#define WSAEnumNameSpaceProviders WSAEnumNameSpaceProvidersA
2611#define WSAGetServiceClassNameByClassId WSAGetServiceClassNameByClassIdW
2613#define WSAGetServiceClassNameByClassId WSAGetServiceClassNameByClassIdA
2633#define WSASetService WSASetServiceW
2635#define WSASetService WSASetServiceA
2646#if(_WIN32_WINNT >= 0x0501)
2658 _In_opt_ LPWSACOMPLETION lpCompletion);
2661#if(_WIN32_WINNT >= 0x0600)
2677WSAEnumNameSpaceProvidersExA(
2684WSAEnumNameSpaceProvidersExW(
2689#define WSAEnumNameSpaceProvidersEx WSAEnumNameSpaceProvidersExW
2691#define WSAEnumNameSpaceProvidersEx WSAEnumNameSpaceProvidersExA
2726#define WSAMAKEASYNCREPLY(buflen,error) MAKELONG(buflen,error)
2727#define WSAMAKESELECTREPLY(event,error) MAKELONG(event,error)
2728#define WSAGETASYNCBUFLEN(lParam) LOWORD(lParam)
2729#define WSAGETASYNCERROR(lParam) HIWORD(lParam)
2730#define WSAGETSELECTEVENT(lParam) LOWORD(lParam)
2731#define WSAGETSELECTERROR(lParam) HIWORD(lParam)
unsigned int(__cdecl typeof(jpeg_read_scanlines))(struct jpeg_decompress_struct *
GLuint GLuint GLsizei GLenum type
GLenum GLuint GLenum GLsizei const GLchar * buf
GLenum const GLvoid * addr
PSDBQUERYRESULT_VISTA PVOID DWORD * dwSize
static unsigned int number
unsigned __int3264 UINT_PTR
_In_ HANDLE _In_ DWORD _In_ DWORD _Inout_opt_ LPOVERLAPPED lpOverlapped
IN PCO_ADDRESS_FAMILY AddressFamily
#define _In_reads_bytes_(s)
#define _Struct_size_bytes_(s)
#define _Out_writes_bytes_opt_(s)
#define _Out_writes_bytes_to_(s, c)
#define _Must_inspect_result_
#define _Field_range_(l, h)
#define _Out_writes_bytes_to_opt_(s, c)
#define _Out_writes_to_(s, c)
#define _Out_writes_bytes_(s)
#define _In_reads_bytes_opt_(s)
INT WSAAPI WSAGetServiceClassNameByClassIdW(IN LPGUID lpServiceClassId, OUT LPWSTR lpszServiceClassName, IN OUT LPDWORD lpdwBufferLength)
INT WSAAPI WSAGetServiceClassNameByClassIdA(IN LPGUID lpServiceClassId, OUT LPSTR lpszServiceClassName, IN OUT LPDWORD lpdwBufferLength)
INT WSPAPI WSANSPIoctl(HANDLE hLookup, DWORD dwControlCode, LPVOID lpvInBuffer, DWORD cbInBuffer, LPVOID lpvOutBuffer, DWORD cbOutBuffer, LPDWORD lpcbBytesReturned, LPWSACOMPLETION lpCompletion)
#define __out_data_source(src_sym)
char szDescription[WSADESCRIPTION_LEN+1]
char szSystemStatus[WSASYS_STATUS_LEN+1]
unsigned short iMaxSockets
_Field_size_bytes_(cbSize) BYTE *pBlobData
FLOWSPEC ReceivingFlowspec
int iErrorCode[FD_MAX_EVENTS]
DWORD ChainEntries[MAX_PROTOCOL_CHAIN]
CHAR szProtocol[WSAPROTOCOL_LEN+1]
WSAPROTOCOLCHAIN ProtocolChain
WCHAR szProtocol[WSAPROTOCOL_LEN+1]
WSAPROTOCOLCHAIN ProtocolChain
DWORD dwNumberOfProtocols
LPSTR lpszServiceInstanceName
LPAFPROTOCOLS lpafpProtocols
LPCSADDR_INFO lpcsaBuffer
LPWSTR lpszServiceInstanceName
DWORD dwNumberOfProtocols
_Field_size_(dwNumberOfCsAddrs) LPCSADDR_INFO lpcsaBuffer
_Field_size_(dwNumberOfProtocols) LPAFPROTOCOLS lpafpProtocols
_Field_size_(dwNumberOfCsAddrs) LPCSADDR_INFO lpcsaBuffer
_Field_size_(dwNumberOfProtocols) LPAFPROTOCOLS lpafpProtocols
DWORD dwNumberOfProtocols
LPSTR lpszServiceInstanceName
LPSTR lpszServiceClassName
LPWSANSCLASSINFOA lpClassInfos
LPWSTR lpszServiceClassName
LPWSANSCLASSINFOW lpClassInfos
SOCKET fd_array[FD_SETSIZE]
union in_addr::@1034 S_un
struct in_addr::@1034::@1035 S_un_b
struct in_addr::@1034::@1036 S_un_w
_Must_inspect_result_ _In_ WDFQUEUE _In_opt_ WDFREQUEST _In_opt_ WDFFILEOBJECT _Inout_opt_ PWDF_REQUEST_PARAMETERS Parameters
_In_ PCCERT_CONTEXT _In_ DWORD dwFlags
_In_ void _In_ PCCERT_CONTEXT _In_opt_ LPFILETIME _In_ DWORD _In_ DWORD dwTimeout
_Reserved_ PVOID Reserved
_In_ DWORD dwIoControlCode
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
_Out_writes_bytes_to_ lpdwBufferLength LPSTR lpszServiceClassName
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
struct linger FAR * LPLINGER
struct _AFPROTOCOLS * PAFPROTOCOLS
struct _WSAServiceClassInfoA * LPWSASERVICECLASSINFOA
struct _WSANAMESPACE_INFOEXW WSANAMESPACE_INFOEXW
struct _QualityOfService QOS
#define MAX_PROTOCOL_CHAIN
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
struct _WSANAMESPACE_INFOEXA WSANAMESPACE_INFOEXA
WINSOCK_API_LINKAGE int WSAAPI WSAEventSelect(_In_ SOCKET s, _In_opt_ WSAEVENT hEventObject, _In_ long lNetworkEvents)
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
PWSAQUERYSETA PWSAQUERYSET
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)
WSAQUERYSET2A WSAQUERYSET2
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
struct _WSANAMESPACE_INFOW * LPWSANAMESPACE_INFOW
struct _WSANSClassInfoA WSANSCLASSINFOA
struct _WSAServiceClassInfoA * PWSASERVICECLASSINFOA
enum _WSAESETSERVICEOP * LPWSAESETSERVICEOP
LPWSANAMESPACE_INFOA LPWSANAMESPACE_INFO
enum _WSAESETSERVICEOP WSAESETSERVICEOP
_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
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)
#define WINSOCK_API_LINKAGE
WINSOCK_API_LINKAGE BOOL WSAAPI WSACloseEvent(_In_ WSAEVENT hEvent)
WINSOCK_API_LINKAGE int WSAAPI WSACancelAsyncRequest(_In_ HANDLE hAsyncTaskHandle)
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
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
_Out_writes_bytes_to_ lpdwBufferLength LPSTR _Inout_ LPDWORD lpdwBufferLength
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)
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
WINSOCK_API_LINKAGE int WSAAPI WSADuplicateSocketA(_In_ SOCKET s, _In_ DWORD dwProcessId, _Out_ LPWSAPROTOCOL_INFOA lpProtocolInfo)
_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)
WINSOCK_API_LINKAGE struct hostent FAR *WSAAPI gethostbyname(_In_z_ const char FAR *name)
WINSOCK_API_LINKAGE WSAEVENT WSAAPI WSACreateEvent(void)
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)
_Must_inspect_result_ WINSOCK_API_LINKAGE SOCKET WSAAPI socket(_In_ int af, _In_ int type, _In_ int protocol)
struct servent FAR * LPSERVENT
struct WSAData * LPWSADATA
struct _WSANAMESPACE_INFOA * PWSANAMESPACE_INFOA
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
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
WINSOCK_API_LINKAGE INT WSAAPI WSAEnumNameSpaceProvidersA(_Inout_ LPDWORD lpdwBufferLength, _Out_writes_bytes_to_(*lpdwBufferLength, *lpdwBufferLength) LPWSANAMESPACE_INFOA lpnspBuffer)
PWSAQUERYSET2A PWSAQUERYSET2
LPWSANAMESPACE_INFOEXA LPWSANAMESPACE_INFOEX
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)
WINSOCK_API_LINKAGE INT WSAAPI WSAInstallServiceClassW(_In_ LPWSASERVICECLASSINFOW lpServiceClassInfo)
LPWSAQUERYSET2A LPWSAQUERYSET2
struct _WSAPROTOCOLCHAIN * LPWSAPROTOCOLCHAIN
WINSOCK_API_LINKAGE int WSAAPI WSASendDisconnect(_In_ SOCKET s, _In_opt_ LPWSABUF lpOutboundDisconnectData)
struct _WSANETWORKEVENTS * LPWSANETWORKEVENTS
struct _AFPROTOCOLS AFPROTOCOLS
WINSOCK_API_LINKAGE int WSAAPI WSAUnhookBlockingHook(void)
WINSOCK_API_LINKAGE char FAR *WSAAPI inet_ntoa(_In_ struct in_addr in)
struct protoent * PPROTOENT
WSAPROTOCOL_INFOA WSAPROTOCOL_INFO
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
LPWSAPROTOCOL_INFOA LPWSAPROTOCOL_INFO
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)
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
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
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
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
WINSOCK_API_LINKAGE BOOL WSAAPI WSAIsBlocking(void)
#define WSASYS_STATUS_LEN
struct hostent FAR * LPHOSTENT
struct _WSANAMESPACE_INFOEXA * PWSANAMESPACE_INFOEXA
LPWSASERVICECLASSINFOA LPWSASERVICECLASSINFO
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
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
WINSOCK_API_LINKAGE int WSAAPI WSARecvDisconnect(_In_ SOCKET s, _In_opt_ __out_data_source(NETWORK) LPWSABUF lpInboundDisconnectData)
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)
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)
struct _WSAQuerySet2A * PWSAQUERYSET2A
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
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
WINSOCK_API_LINKAGE INT WSAAPI WSASetServiceW(_In_ LPWSAQUERYSETW lpqsRegInfo, _In_ WSAESETSERVICEOP essoperation, _In_ DWORD dwControlFlags)
PWSANSCLASSINFOA PWSANSCLASSINFO
struct _WSAQuerySet2W * PWSAQUERYSET2W
struct in_addr * PIN_ADDR
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)
struct _WSANSClassInfoW WSANSCLASSINFOW
_Must_inspect_result_ _In_ ULONG _In_ PSOCKADDR LocalAddress
_Must_inspect_result_ _In_ ULONG _In_ PSOCKADDR _In_ PSOCKADDR RemoteAddress