ReactOS 0.4.16-dev-297-gc569aee
ws2def.h
Go to the documentation of this file.
1#pragma once
2
3#define _WS2DEF_
4
5#ifdef __cplusplus
6extern "C" {
7#endif
8
9#if !defined(_WINSOCK2API_) && defined(_WINSOCKAPI_)
10#error Include only winsock2.h, not both winsock.h and ws2def.h in the same module.
11#endif
12
13#if (_WIN32_WINNT >= 0x0600)
14
15#ifdef _MSC_VER
16#define WS2DEF_INLINE __inline
17#else
18#define WS2DEF_INLINE extern inline
19#endif
20
21#endif/* (_WIN32_WINNT >= 0x0600) */
22
23#include <inaddr.h>
24
26
27#define AF_UNSPEC 0
28#define AF_UNIX 1
29#define AF_INET 2
30#define AF_IMPLINK 3
31#define AF_PUP 4
32#define AF_CHAOS 5
33#define AF_NS 6
34#define AF_IPX AF_NS
35#define AF_ISO 7
36#define AF_OSI AF_ISO
37#define AF_ECMA 8
38#define AF_DATAKIT 9
39#define AF_CCITT 10
40#define AF_SNA 11
41#define AF_DECnet 12
42#define AF_DLI 13
43#define AF_LAT 14
44#define AF_HYLINK 15
45#define AF_APPLETALK 16
46#define AF_NETBIOS 17
47#define AF_VOICEVIEW 18
48#define AF_FIREFOX 19
49#define AF_UNKNOWN1 20
50#define AF_BAN 21
51#define AF_ATM 22
52#define AF_INET6 23
53#define AF_CLUSTER 24
54#define AF_12844 25
55#define AF_IRDA 26
56#define AF_NETDES 28
57
58#if (_WIN32_WINNT < 0x0501)
59
60#define AF_MAX 29
61
62#else
63
64#define AF_TCNPROCESS 29
65#define AF_TCNMESSAGE 30
66#define AF_ICLFXBM 31
67
68#if(_WIN32_WINNT < 0x0600)
69
70#define AF_MAX 32
71
72#else
73
74#define AF_BTH 32
75#if (_WIN32_WINNT < 0x0601)
76#define AF_MAX 33
77#else
78#define AF_LINK 33
79#define AF_MAX 34
80#endif /* (_WIN32_WINNT < 0x0601) */
81
82#endif /* (_WIN32_WINNT < 0x0600) */
83
84#endif /* (_WIN32_WINNT < 0x0501) */
85
86#define SOCK_STREAM 1
87#define SOCK_DGRAM 2
88#define SOCK_RAW 3
89#define SOCK_RDM 4
90#define SOCK_SEQPACKET 5
91
92#define SOL_SOCKET 0xffff
93
94#define SO_DEBUG 0x0001
95#define SO_ACCEPTCONN 0x0002
96#define SO_REUSEADDR 0x0004
97#define SO_KEEPALIVE 0x0008
98#define SO_DONTROUTE 0x0010
99#define SO_BROADCAST 0x0020
100#define SO_USELOOPBACK 0x0040
101#define SO_LINGER 0x0080
102#define SO_OOBINLINE 0x0100
103
104#define SO_DONTLINGER (int)(~SO_LINGER)
105#define SO_EXCLUSIVEADDRUSE ((int)(~SO_REUSEADDR))
106
107#define SO_SNDBUF 0x1001
108#define SO_RCVBUF 0x1002
109#define SO_SNDLOWAT 0x1003
110#define SO_RCVLOWAT 0x1004
111#define SO_SNDTIMEO 0x1005
112#define SO_RCVTIMEO 0x1006
113#define SO_ERROR 0x1007
114#define SO_TYPE 0x1008
115#define SO_BSP_STATE 0x1009
116
117#define SO_GROUP_ID 0x2001
118#define SO_GROUP_PRIORITY 0x2002
119#define SO_MAX_MSG_SIZE 0x2003
120
121#define SO_CONDITIONAL_ACCEPT 0x3002
122#define SO_PAUSE_ACCEPT 0x3003
123#define SO_COMPARTMENT_ID 0x3004
124#if (_WIN32_WINNT >= 0x0600)
125#define SO_RANDOMIZE_PORT 0x3005
126#define SO_PORT_SCALABILITY 0x3006
127#endif /* (_WIN32_WINNT >= 0x0600) */
128
129#define WSK_SO_BASE 0x4000
130
131#define TCP_NODELAY 0x0001
132
133#define _SS_MAXSIZE 128
134#define _SS_ALIGNSIZE (sizeof(__int64))
135
136#if (_WIN32_WINNT >= 0x0600)
137
138#define _SS_PAD1SIZE (_SS_ALIGNSIZE - sizeof(USHORT))
139#define _SS_PAD2SIZE (_SS_MAXSIZE - (sizeof(USHORT) + _SS_PAD1SIZE + _SS_ALIGNSIZE))
140
141#else
142
143#define _SS_PAD1SIZE (_SS_ALIGNSIZE - sizeof (short))
144#define _SS_PAD2SIZE (_SS_MAXSIZE - (sizeof (short) + _SS_PAD1SIZE + _SS_ALIGNSIZE))
145
146#endif /* (_WIN32_WINNT >= 0x0600) */
147
148#define IOC_UNIX 0x00000000
149#define IOC_WS2 0x08000000
150#define IOC_PROTOCOL 0x10000000
151#define IOC_VENDOR 0x18000000
152
153#if (_WIN32_WINNT >= 0x0600)
154#define IOC_WSK (IOC_WS2|0x07000000)
155#endif
156
157#define _WSAIO(x,y) (IOC_VOID|(x)|(y))
158#define _WSAIOR(x,y) (IOC_OUT|(x)|(y))
159#define _WSAIOW(x,y) (IOC_IN|(x)|(y))
160#define _WSAIORW(x,y) (IOC_INOUT|(x)|(y))
161
162#define SIO_ASSOCIATE_HANDLE _WSAIOW(IOC_WS2,1)
163#define SIO_ENABLE_CIRCULAR_QUEUEING _WSAIO(IOC_WS2,2)
164#define SIO_FIND_ROUTE _WSAIOR(IOC_WS2,3)
165#define SIO_FLUSH _WSAIO(IOC_WS2,4)
166#define SIO_GET_BROADCAST_ADDRESS _WSAIOR(IOC_WS2,5)
167#define SIO_GET_EXTENSION_FUNCTION_POINTER _WSAIORW(IOC_WS2,6)
168#define SIO_GET_QOS _WSAIORW(IOC_WS2,7)
169#define SIO_GET_GROUP_QOS _WSAIORW(IOC_WS2,8)
170#define SIO_MULTIPOINT_LOOPBACK _WSAIOW(IOC_WS2,9)
171#define SIO_MULTICAST_SCOPE _WSAIOW(IOC_WS2,10)
172#define SIO_SET_QOS _WSAIOW(IOC_WS2,11)
173#define SIO_SET_GROUP_QOS _WSAIOW(IOC_WS2,12)
174#define SIO_TRANSLATE_HANDLE _WSAIORW(IOC_WS2,13)
175#define SIO_ROUTING_INTERFACE_QUERY _WSAIORW(IOC_WS2,20)
176#define SIO_ROUTING_INTERFACE_CHANGE _WSAIOW(IOC_WS2,21)
177#define SIO_ADDRESS_LIST_QUERY _WSAIOR(IOC_WS2,22)
178#define SIO_ADDRESS_LIST_CHANGE _WSAIO(IOC_WS2,23)
179#define SIO_QUERY_TARGET_PNP_HANDLE _WSAIOR(IOC_WS2,24)
180
181#if(_WIN32_WINNT >= 0x0501)
182#define SIO_ADDRESS_LIST_SORT _WSAIORW(IOC_WS2,25)
183#endif
184
185#if (_WIN32_WINNT >= 0x0600)
186#define SIO_RESERVED_1 _WSAIOW(IOC_WS2,26)
187#define SIO_RESERVED_2 _WSAIOW(IOC_WS2,33)
188#endif
189
190#define IPPROTO_IP 0
191
192#define IPPORT_TCPMUX 1
193#define IPPORT_ECHO 7
194#define IPPORT_DISCARD 9
195#define IPPORT_SYSTAT 11
196#define IPPORT_DAYTIME 13
197#define IPPORT_NETSTAT 15
198#define IPPORT_QOTD 17
199#define IPPORT_MSP 18
200#define IPPORT_CHARGEN 19
201#define IPPORT_FTP_DATA 20
202#define IPPORT_FTP 21
203#define IPPORT_TELNET 23
204#define IPPORT_SMTP 25
205#define IPPORT_TIMESERVER 37
206#define IPPORT_NAMESERVER 42
207#define IPPORT_WHOIS 43
208#define IPPORT_MTP 57
209
210#define IPPORT_TFTP 69
211#define IPPORT_RJE 77
212#define IPPORT_FINGER 79
213#define IPPORT_TTYLINK 87
214#define IPPORT_SUPDUP 95
215
216#define IPPORT_POP3 110
217#define IPPORT_NTP 123
218#define IPPORT_EPMAP 135
219#define IPPORT_NETBIOS_NS 137
220#define IPPORT_NETBIOS_DGM 138
221#define IPPORT_NETBIOS_SSN 139
222#define IPPORT_IMAP 143
223#define IPPORT_SNMP 161
224#define IPPORT_SNMP_TRAP 162
225#define IPPORT_IMAP3 220
226#define IPPORT_LDAP 389
227#define IPPORT_HTTPS 443
228#define IPPORT_MICROSOFT_DS 445
229#define IPPORT_EXECSERVER 512
230#define IPPORT_LOGINSERVER 513
231#define IPPORT_CMDSERVER 514
232#define IPPORT_EFSSERVER 520
233
234#define IPPORT_BIFFUDP 512
235#define IPPORT_WHOSERVER 513
236#define IPPORT_ROUTESERVER 520
237#define IPPORT_RESERVED 1024
238
239#if (_WIN32_WINNT >= 0x0600)
240
241#define IPPORT_REGISTERED_MIN IPPORT_RESERVED
242#define IPPORT_REGISTERED_MAX 0xbfff
243#define IPPORT_DYNAMIC_MIN 0xc000
244#define IPPORT_DYNAMIC_MAX 0xffff
245
246#endif /* (_WIN32_WINNT >= 0x0600) */
247
248#define IN_CLASSA(i) (((LONG)(i) & 0x80000000) == 0)
249#define IN_CLASSA_NET 0xff000000
250#define IN_CLASSA_NSHIFT 24
251#define IN_CLASSA_HOST 0x00ffffff
252#define IN_CLASSA_MAX 128
253
254#define IN_CLASSB(i) (((LONG)(i) & 0xc0000000) == 0x80000000)
255#define IN_CLASSB_NET 0xffff0000
256#define IN_CLASSB_NSHIFT 16
257#define IN_CLASSB_HOST 0x0000ffff
258#define IN_CLASSB_MAX 65536
259
260#define IN_CLASSC(i) (((LONG)(i) & 0xe0000000) == 0xc0000000)
261#define IN_CLASSC_NET 0xffffff00
262#define IN_CLASSC_NSHIFT 8
263#define IN_CLASSC_HOST 0x000000ff
264
265#define IN_CLASSD(i) (((long)(i) & 0xf0000000) == 0xe0000000)
266#define IN_CLASSD_NET 0xf0000000
267#define IN_CLASSD_NSHIFT 28
268#define IN_CLASSD_HOST 0x0fffffff
269#define IN_MULTICAST(i) IN_CLASSD(i)
270
271#define INADDR_ANY (ULONG)0x00000000
272#define INADDR_LOOPBACK 0x7f000001
273#define INADDR_BROADCAST (ULONG)0xffffffff
274#define INADDR_NONE 0xffffffff
275
276#define SCOPEID_UNSPECIFIED_INIT {0}
277
278#define IOCPARM_MASK 0x7f
279#define IOC_VOID 0x20000000
280#define IOC_OUT 0x40000000
281#define IOC_IN 0x80000000
282#define IOC_INOUT (IOC_IN|IOC_OUT)
283
284#define _IO(x,y) (IOC_VOID|((x)<<8)|(y))
285#define _IOR(x,y,t) (IOC_OUT|(((long)sizeof(t)&IOCPARM_MASK)<<16)|((x)<<8)|(y))
286#define _IOW(x,y,t) (IOC_IN|(((long)sizeof(t)&IOCPARM_MASK)<<16)|((x)<<8)|(y))
287
288#define MSG_TRUNC 0x0100
289#define MSG_CTRUNC 0x0200
290#define MSG_BCAST 0x0400
291#define MSG_MCAST 0x0800
292
293#define AI_PASSIVE 0x00000001
294#define AI_CANONNAME 0x00000002
295#define AI_NUMERICHOST 0x00000004
296#define AI_NUMERICSERV 0x00000008
297
298#define AI_ALL 0x00000100
299#define AI_ADDRCONFIG 0x00000400
300#define AI_V4MAPPED 0x00000800
301
302#define AI_NON_AUTHORITATIVE 0x00004000
303#define AI_SECURE 0x00008000
304#define AI_RETURN_PREFERRED_NAMES 0x00010000
305
306#define AI_FQDN 0x00020000
307#define AI_FILESERVER 0x00040000
308
309#define AI_DISABLE_IDN_ENCODING 0x00080000
310
311#define NS_ALL 0
312
313#define NS_SAP 1
314#define NS_NDS 2
315#define NS_PEER_BROWSE 3
316#define NS_SLP 5
317#define NS_DHCP 6
318
319#define NS_TCPIP_LOCAL 10
320#define NS_TCPIP_HOSTS 11
321#define NS_DNS 12
322#define NS_NETBT 13
323#define NS_WINS 14
324
325#if(_WIN32_WINNT >= 0x0501)
326#define NS_NLA 15
327#endif
328
329#if(_WIN32_WINNT >= 0x0600)
330#define NS_BTH 16
331#endif
332
333#define NS_NBP 20
334
335#define NS_MS 30
336#define NS_STDA 31
337#define NS_NTDS 32
338
339#if(_WIN32_WINNT >= 0x0600)
340#define NS_EMAIL 37
341#define NS_PNRPNAME 38
342#define NS_PNRPCLOUD 39
343#endif
344
345#define NS_X500 40
346#define NS_NIS 41
347#define NS_NISPLUS 42
348
349#define NS_WRQ 50
350
351#define NS_NETDES 60
352
353#define NI_NOFQDN 0x01
354#define NI_NUMERICHOST 0x02
355#define NI_NAMEREQD 0x04
356#define NI_NUMERICSERV 0x08
357#define NI_DGRAM 0x10
358
359#define NI_MAXHOST 1025
360#define NI_MAXSERV 32
361
362typedef struct sockaddr {
363#if (_WIN32_WINNT < 0x0600)
365#else
367#endif
370
371#ifndef __CSADDR_DEFINED__
372#define __CSADDR_DEFINED__
373
374typedef struct _SOCKET_ADDRESS {
378
379typedef struct _SOCKET_ADDRESS_LIST {
383
384#if (_WIN32_WINNT >= 0x0600)
385#define SIZEOF_SOCKET_ADDRESS_LIST(AddressCount) \
386 (FIELD_OFFSET(SOCKET_ADDRESS_LIST, Address) + \
387 AddressCount * sizeof(SOCKET_ADDRESS))
388#endif
389
390typedef struct _CSADDR_INFO {
396
397#endif /* __CSADDR_DEFINED__ */
398
399typedef struct sockaddr_storage {
405
406typedef struct sockaddr_storage_xp {
412
413#if (_WIN32_WINNT >= 0x0600)
414
415typedef SOCKADDR_STORAGE_LH SOCKADDR_STORAGE;
416typedef SOCKADDR_STORAGE *PSOCKADDR_STORAGE, FAR *LPSOCKADDR_STORAGE;
417
418#elif (_WIN32_WINNT >= 0x0501)
419
420typedef SOCKADDR_STORAGE_XP SOCKADDR_STORAGE;
421typedef SOCKADDR_STORAGE *PSOCKADDR_STORAGE, FAR *LPSOCKADDR_STORAGE;
422
423#endif /* (_WIN32_WINNT >= 0x0600) */
424
425typedef enum {
426#if (_WIN32_WINNT >= 0x0501)
427 IPPROTO_HOPOPTS = 0,
428#endif
432#if (_WIN32_WINNT >= 0x0501)
433 IPPROTO_IPV4 = 4,
434#endif
435#if (_WIN32_WINNT >= 0x0600)
436 IPPROTO_ST = 5,
437#endif
439#if (_WIN32_WINNT >= 0x0600)
440 IPPROTO_CBT = 7,
441 IPPROTO_EGP = 8,
442 IPPROTO_IGP = 9,
443#endif
447#if (_WIN32_WINNT >= 0x0600)
448 IPPROTO_RDP = 27,
449#endif
450#if (_WIN32_WINNT >= 0x0501)
451 IPPROTO_IPV6 = 41,
452 IPPROTO_ROUTING = 43,
453 IPPROTO_FRAGMENT = 44,
454 IPPROTO_ESP = 50,
455 IPPROTO_AH = 51,
456 IPPROTO_ICMPV6 = 58,
457 IPPROTO_NONE = 59,
458 IPPROTO_DSTOPTS = 60,
459#endif /* (_WIN32_WINNT >= 0x0501) */
461#if(_WIN32_WINNT >= 0x0501)
462 IPPROTO_ICLFXBM = 78,
463#endif
464#if (_WIN32_WINNT >= 0x0600)
465 IPPROTO_PIM = 103,
466 IPPROTO_PGM = 113,
467 IPPROTO_L2TP = 115,
468 IPPROTO_SCTP = 132,
469#endif /* (_WIN32_WINNT >= 0x0600) */
477
478typedef enum {
486 ScopeLevelCount = 16
488
489typedef struct {
490 union {
491 struct {
494 };
496 };
498
499typedef struct sockaddr_in {
500#if(_WIN32_WINNT < 0x0600)
501 short sin_family;
502#else
504#endif
509
510#if(_WIN32_WINNT >= 0x0601)
511typedef struct sockaddr_dl {
512 ADDRESS_FAMILY sdl_family;
513 UCHAR sdl_data[8];
514 UCHAR sdl_zero[4];
515} SOCKADDR_DL, *PSOCKADDR_DL;
516#endif
517
518typedef struct _WSABUF {
522
523typedef struct _WSAMSG {
527#if (_WIN32_WINNT >= 0x0600)
529#else
531#endif
533#if (_WIN32_WINNT >= 0x0600)
535#else
537#endif
539
540#if (_WIN32_WINNT >= 0x0600)
541#define _WSACMSGHDR cmsghdr
542#endif
543
544typedef struct _WSACMSGHDR {
549
550#if (_WIN32_WINNT >= 0x0600)
551typedef WSACMSGHDR CMSGHDR, *PCMSGHDR;
552#endif
553
554#define WSA_CMSGHDR_ALIGN(length) (((length) + TYPE_ALIGNMENT(WSACMSGHDR)-1) & \
555 (~(TYPE_ALIGNMENT(WSACMSGHDR)-1)))
556
557#define WSA_CMSGDATA_ALIGN(length) (((length) + MAX_NATURAL_ALIGNMENT-1) & \
558 (~(MAX_NATURAL_ALIGNMENT-1)))
559
560#if(_WIN32_WINNT >= 0x0600)
561#define CMSGHDR_ALIGN WSA_CMSGHDR_ALIGN
562#define CMSGDATA_ALIGN WSA_CMSGDATA_ALIGN
563#endif
564
565/*
566 * WSA_CMSG_FIRSTHDR
567 *
568 * Returns a pointer to the first ancillary data object,
569 * or a null pointer if there is no ancillary data in the
570 * control buffer of the WSAMSG structure.
571 *
572 * LPCMSGHDR
573 * WSA_CMSG_FIRSTHDR (
574 * LPWSAMSG msg
575 * );
576 */
577#define WSA_CMSG_FIRSTHDR(msg) (((msg)->Control.len >= sizeof(WSACMSGHDR)) \
578 ? (LPWSACMSGHDR)(msg)->Control.buf \
579 : (LPWSACMSGHDR)NULL)
580
581#if(_WIN32_WINNT >= 0x0600)
582#define CMSG_FIRSTHDR WSA_CMSG_FIRSTHDR
583#endif
584
585/*
586 * WSA_CMSG_NXTHDR
587 *
588 * Returns a pointer to the next ancillary data object,
589 * or a null if there are no more data objects.
590 *
591 * LPCMSGHDR
592 * WSA_CMSG_NEXTHDR (
593 * LPWSAMSG msg,
594 * LPWSACMSGHDR cmsg
595 * );
596 */
597#define WSA_CMSG_NXTHDR(msg, cmsg) \
598 ( ((cmsg) == NULL) \
599 ? WSA_CMSG_FIRSTHDR(msg) \
600 : ( ( ((PUCHAR)(cmsg) + \
601 WSA_CMSGHDR_ALIGN((cmsg)->cmsg_len) + \
602 sizeof(WSACMSGHDR) ) > \
603 (PUCHAR)((msg)->Control.buf) + \
604 (msg)->Control.len ) \
605 ? (LPWSACMSGHDR)NULL \
606 : (LPWSACMSGHDR)((PUCHAR)(cmsg) + \
607 WSA_CMSGHDR_ALIGN((cmsg)->cmsg_len)) ) )
608
609#if(_WIN32_WINNT >= 0x0600)
610#define CMSG_NXTHDR WSA_CMSG_NXTHDR
611#endif
612
613/*
614 * WSA_CMSG_DATA
615 *
616 * Returns a pointer to the first byte of data (what is referred
617 * to as the cmsg_data member though it is not defined in
618 * the structure).
619 *
620 * Note that RFC 2292 defines this as CMSG_DATA, but that name
621 * is already used by wincrypt.h, and so Windows has used WSA_CMSG_DATA.
622 *
623 * PUCHAR
624 * WSA_CMSG_DATA (
625 * LPWSACMSGHDR pcmsg
626 * );
627 */
628#define WSA_CMSG_DATA(cmsg) ((PUCHAR)(cmsg) + WSA_CMSGDATA_ALIGN(sizeof(WSACMSGHDR)))
629
630/*
631 * WSA_CMSG_SPACE
632 *
633 * Returns total size of an ancillary data object given
634 * the amount of data. Used to allocate the correct amount
635 * of space.
636 *
637 * SIZE_T
638 * WSA_CMSG_SPACE (
639 * SIZE_T length
640 * );
641 */
642#define WSA_CMSG_SPACE(length) (WSA_CMSGDATA_ALIGN(sizeof(WSACMSGHDR) + WSA_CMSGHDR_ALIGN(length)))
643
644#if(_WIN32_WINNT >= 0x0600)
645#define CMSG_SPACE WSA_CMSG_SPACE
646#endif
647
648/*
649 * WSA_CMSG_LEN
650 *
651 * Returns the value to store in cmsg_len given the amount of data.
652 *
653 * SIZE_T
654 * WSA_CMSG_LEN (
655 * SIZE_T length
656 * );
657 */
658#define WSA_CMSG_LEN(length) (WSA_CMSGDATA_ALIGN(sizeof(WSACMSGHDR)) + length)
659
660#if(_WIN32_WINNT >= 0x0600)
661#define CMSG_LEN WSA_CMSG_LEN
662#endif
663
664typedef struct addrinfo {
674
675typedef struct addrinfoW {
685
686#if (_WIN32_WINNT >= 0x0600)
687
688typedef struct addrinfoexA {
689 int ai_flags;
690 int ai_family;
691 int ai_socktype;
692 int ai_protocol;
693 size_t ai_addrlen;
694 char *ai_canonname;
695 struct sockaddr *ai_addr;
696 void *ai_blob;
697 size_t ai_bloblen;
698 LPGUID ai_provider;
699 struct addrinfoexA *ai_next;
700} ADDRINFOEXA, *PADDRINFOEXA, *LPADDRINFOEXA;
701
702typedef struct addrinfoexW {
703 int ai_flags;
704 int ai_family;
705 int ai_socktype;
706 int ai_protocol;
707 size_t ai_addrlen;
708 PWSTR ai_canonname;
709 struct sockaddr *ai_addr;
710 void *ai_blob;
711 size_t ai_bloblen;
712 LPGUID ai_provider;
713 struct addrinfoexW *ai_next;
714} ADDRINFOEXW, *PADDRINFOEXW, *LPADDRINFOEXW;
715
716#endif /* (_WIN32_WINNT >= 0x0600) */
717
718#ifdef __cplusplus
719}
720#endif
#define __int64
Definition: basetyps.h:16
unsigned short u_short
Definition: types.h:81
#define FAR
Definition: zlib.h:34
unsigned long DWORD
Definition: ntddk_ex.h:95
unsigned short USHORT
Definition: pedump.c:61
ULONG Level
Definition: ws2def.h:493
ULONG Zone
Definition: ws2def.h:492
ULONG Value
Definition: ws2def.h:495
INT iProtocol
Definition: ws2def.h:394
SOCKET_ADDRESS RemoteAddr
Definition: ws2def.h:392
INT iSocketType
Definition: ws2def.h:393
SOCKET_ADDRESS LocalAddr
Definition: ws2def.h:391
SOCKET_ADDRESS Address[1]
Definition: ws2def.h:381
LPSOCKADDR lpSockaddr
Definition: ws2def.h:375
INT iSockaddrLength
Definition: ws2def.h:376
ULONG len
Definition: ws2def.h:519
CHAR FAR * buf
Definition: ws2def.h:520
INT cmsg_type
Definition: ws2def.h:547
SIZE_T cmsg_len
Definition: ws2def.h:545
INT cmsg_level
Definition: ws2def.h:546
LPWSABUF lpBuffers
Definition: ws2def.h:526
DWORD dwBufferCount
Definition: ws2def.h:530
DWORD dwFlags
Definition: ws2def.h:536
LPSOCKADDR name
Definition: ws2def.h:524
WSABUF Control
Definition: ws2def.h:532
INT namelen
Definition: ws2def.h:525
int ai_protocol
Definition: ws2def.h:679
PWSTR ai_canonname
Definition: ws2def.h:681
size_t ai_addrlen
Definition: ws2def.h:680
struct addrinfoW * ai_next
Definition: ws2def.h:683
int ai_flags
Definition: ws2def.h:676
int ai_family
Definition: ws2def.h:677
struct sockaddr * ai_addr
Definition: ws2def.h:682
int ai_socktype
Definition: ws2def.h:678
size_t ai_addrlen
Definition: ws2def.h:669
struct sockaddr * ai_addr
Definition: ws2def.h:671
char * ai_canonname
Definition: ws2def.h:670
int ai_socktype
Definition: ws2def.h:667
int ai_protocol
Definition: ws2def.h:668
struct addrinfo * ai_next
Definition: ws2def.h:672
int ai_flags
Definition: ws2def.h:665
int ai_family
Definition: ws2def.h:666
Definition: tcpip.h:126
char sin_zero[8]
Definition: winsock.h:513
USHORT sin_port
Definition: ws2def.h:505
IN_ADDR sin_addr
Definition: ws2def.h:506
short sin_family
Definition: winsock.h:510
CHAR __ss_pad2[_SS_PAD2SIZE]
Definition: ws2def.h:410
CHAR __ss_pad1[_SS_PAD1SIZE]
Definition: ws2def.h:408
__int64 __ss_align
Definition: ws2def.h:409
ADDRESS_FAMILY ss_family
Definition: ws2def.h:400
__int64 __ss_align
Definition: ws2def.h:402
CHAR __ss_pad1[_SS_PAD1SIZE]
Definition: ws2def.h:401
CHAR __ss_pad2[_SS_PAD2SIZE]
Definition: ws2def.h:403
u_short sa_family
Definition: winsock.h:217
char sa_data[14]
Definition: winsock.h:218
uint16_t * PWSTR
Definition: typedefs.h:56
ULONG_PTR SIZE_T
Definition: typedefs.h:80
int32_t INT
Definition: typedefs.h:58
uint32_t ULONG
Definition: typedefs.h:59
struct _WSAMSG LPWSAMSG
struct _CSADDR_INFO * LPCSADDR_INFO
struct sockaddr_storage * LPSOCKADDR_STORAGE_LH
struct _WSABUF * LPWSABUF
#define _SS_PAD2SIZE
Definition: ws2def.h:144
struct _WSACMSGHDR * LPWSACMSGHDR
struct sockaddr_in SOCKADDR_IN
struct _SOCKET_ADDRESS SOCKET_ADDRESS
struct sockaddr_storage_xp SOCKADDR_STORAGE_XP
struct addrinfoW ADDRINFOW
struct sockaddr_storage SOCKADDR_STORAGE_LH
struct sockaddr_storage * PSOCKADDR_STORAGE_LH
struct _WSAMSG * PWSAMSG
struct _SOCKET_ADDRESS_LIST * PSOCKET_ADDRESS_LIST
SCOPE_LEVEL
Definition: ws2def.h:478
@ ScopeLevelCount
Definition: ws2def.h:486
@ ScopeLevelSubnet
Definition: ws2def.h:481
@ ScopeLevelLink
Definition: ws2def.h:480
@ ScopeLevelInterface
Definition: ws2def.h:479
@ ScopeLevelSite
Definition: ws2def.h:483
@ ScopeLevelOrganization
Definition: ws2def.h:484
@ ScopeLevelGlobal
Definition: ws2def.h:485
@ ScopeLevelAdmin
Definition: ws2def.h:482
struct sockaddr_storage_xp * PSOCKADDR_STORAGE_XP
enum IPPROTO * PIPROTO
struct sockaddr_in * PSOCKADDR_IN
USHORT ADDRESS_FAMILY
Definition: ws2def.h:25
struct _WSACMSGHDR WSACMSGHDR
struct _WSACMSGHDR * PWSACMSGHDR
struct _WSAMSG WSAMSG
struct _SOCKET_ADDRESS_LIST * LPSOCKET_ADDRESS_LIST
struct _CSADDR_INFO * PCSADDR_INFO
struct _SOCKET_ADDRESS_LIST SOCKET_ADDRESS_LIST
struct _CSADDR_INFO CSADDR_INFO
struct sockaddr_storage_xp * LPSOCKADDR_STORAGE_XP
struct sockaddr * PSOCKADDR
struct sockaddr * LPSOCKADDR
struct addrinfo ADDRINFOA
struct SCOPE_ID * PSCOPE_ID
IPPROTO
Definition: ws2def.h:425
@ IPPROTO_MAX
Definition: ws2def.h:471
@ IPPROTO_IDP
Definition: ws2def.h:446
@ IPPROTO_RESERVED_IPSECOFFLOAD
Definition: ws2def.h:474
@ IPPROTO_RAW
Definition: ws2def.h:470
@ IPPROTO_RESERVED_MAX
Definition: ws2def.h:475
@ IPPROTO_TCP
Definition: ws2def.h:438
@ IPPROTO_IGMP
Definition: ws2def.h:430
@ IPPROTO_PUP
Definition: ws2def.h:444
@ IPPROTO_RESERVED_RAW
Definition: ws2def.h:472
@ IPPROTO_ICMP
Definition: ws2def.h:429
@ IPPROTO_GGP
Definition: ws2def.h:431
@ IPPROTO_UDP
Definition: ws2def.h:445
@ IPPROTO_ND
Definition: ws2def.h:460
@ IPPROTO_RESERVED_IPSEC
Definition: ws2def.h:473
struct _SOCKET_ADDRESS * LPSOCKET_ADDRESS
#define _SS_PAD1SIZE
Definition: ws2def.h:143
struct _WSABUF WSABUF
struct _SOCKET_ADDRESS * PSOCKET_ADDRESS
struct sockaddr SOCKADDR
struct addrinfoW * PADDRINFOW
struct addrinfo * PADDRINFOA
unsigned char UCHAR
Definition: xmlstorage.h:181
char CHAR
Definition: xmlstorage.h:175