ReactOS 0.4.16-dev-2491-g3dc6630
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#ifndef USE_WS_PREFIX
312#define AI_DNS_ONLY 0x00000010
313#else
314#define WS_AI_DNS_ONLY 0x00000010
315#endif
316
317#define NS_ALL 0
318
319#define NS_SAP 1
320#define NS_NDS 2
321#define NS_PEER_BROWSE 3
322#define NS_SLP 5
323#define NS_DHCP 6
324
325#define NS_TCPIP_LOCAL 10
326#define NS_TCPIP_HOSTS 11
327#define NS_DNS 12
328#define NS_NETBT 13
329#define NS_WINS 14
330
331#if(_WIN32_WINNT >= 0x0501)
332#define NS_NLA 15
333#endif
334
335#if(_WIN32_WINNT >= 0x0600)
336#define NS_BTH 16
337#endif
338
339#define NS_NBP 20
340
341#define NS_MS 30
342#define NS_STDA 31
343#define NS_NTDS 32
344
345#if(_WIN32_WINNT >= 0x0600)
346#define NS_EMAIL 37
347#define NS_PNRPNAME 38
348#define NS_PNRPCLOUD 39
349#endif
350
351#define NS_X500 40
352#define NS_NIS 41
353#define NS_NISPLUS 42
354
355#define NS_WRQ 50
356
357#define NS_NETDES 60
358
359#define NI_NOFQDN 0x01
360#define NI_NUMERICHOST 0x02
361#define NI_NAMEREQD 0x04
362#define NI_NUMERICSERV 0x08
363#define NI_DGRAM 0x10
364
365#define NI_MAXHOST 1025
366#define NI_MAXSERV 32
367
368typedef struct sockaddr {
369#if (_WIN32_WINNT < 0x0600)
371#else
373#endif
376
377#ifndef __CSADDR_DEFINED__
378#define __CSADDR_DEFINED__
379
380typedef struct _SOCKET_ADDRESS {
384
385typedef struct _SOCKET_ADDRESS_LIST {
389
390#if (_WIN32_WINNT >= 0x0600)
391#define SIZEOF_SOCKET_ADDRESS_LIST(AddressCount) \
392 (FIELD_OFFSET(SOCKET_ADDRESS_LIST, Address) + \
393 AddressCount * sizeof(SOCKET_ADDRESS))
394#endif
395
396typedef struct _CSADDR_INFO {
402
403#endif /* __CSADDR_DEFINED__ */
404
405typedef struct sockaddr_storage {
411
412typedef struct sockaddr_storage_xp {
418
419#if (_WIN32_WINNT >= 0x0600)
420
421typedef SOCKADDR_STORAGE_LH SOCKADDR_STORAGE;
422typedef SOCKADDR_STORAGE *PSOCKADDR_STORAGE, FAR *LPSOCKADDR_STORAGE;
423
424#elif (_WIN32_WINNT >= 0x0501)
425
426typedef SOCKADDR_STORAGE_XP SOCKADDR_STORAGE;
427typedef SOCKADDR_STORAGE *PSOCKADDR_STORAGE, FAR *LPSOCKADDR_STORAGE;
428
429#endif /* (_WIN32_WINNT >= 0x0600) */
430
431typedef enum {
432#if (_WIN32_WINNT >= 0x0501)
433 IPPROTO_HOPOPTS = 0,
434#endif
438#if (_WIN32_WINNT >= 0x0501)
439 IPPROTO_IPV4 = 4,
440#endif
441#if (_WIN32_WINNT >= 0x0600)
442 IPPROTO_ST = 5,
443#endif
445#if (_WIN32_WINNT >= 0x0600)
446 IPPROTO_CBT = 7,
447 IPPROTO_EGP = 8,
448 IPPROTO_IGP = 9,
449#endif
453#if (_WIN32_WINNT >= 0x0600)
454 IPPROTO_RDP = 27,
455#endif
456#if (_WIN32_WINNT >= 0x0501)
457 IPPROTO_IPV6 = 41,
458 IPPROTO_ROUTING = 43,
459 IPPROTO_FRAGMENT = 44,
460 IPPROTO_ESP = 50,
461 IPPROTO_AH = 51,
462 IPPROTO_ICMPV6 = 58,
463 IPPROTO_NONE = 59,
464 IPPROTO_DSTOPTS = 60,
465#endif /* (_WIN32_WINNT >= 0x0501) */
467#if(_WIN32_WINNT >= 0x0501)
468 IPPROTO_ICLFXBM = 78,
469#endif
470#if (_WIN32_WINNT >= 0x0600)
471 IPPROTO_PIM = 103,
472 IPPROTO_PGM = 113,
473 IPPROTO_L2TP = 115,
474 IPPROTO_SCTP = 132,
475#endif /* (_WIN32_WINNT >= 0x0600) */
483
484typedef enum {
492 ScopeLevelCount = 16
494
495typedef struct {
496 union {
497 struct {
500 };
502 };
504
505typedef struct sockaddr_in {
506#if(_WIN32_WINNT < 0x0600)
507 short sin_family;
508#else
510#endif
515
516#if(_WIN32_WINNT >= 0x0601)
517typedef struct sockaddr_dl {
518 ADDRESS_FAMILY sdl_family;
519 UCHAR sdl_data[8];
520 UCHAR sdl_zero[4];
521} SOCKADDR_DL, *PSOCKADDR_DL;
522#endif
523
524typedef struct _WSABUF {
528
529typedef struct _WSAMSG {
533#if (_WIN32_WINNT >= 0x0600)
535#else
537#endif
539#if (_WIN32_WINNT >= 0x0600)
541#else
543#endif
545
546#if (_WIN32_WINNT >= 0x0600)
547#define _WSACMSGHDR cmsghdr
548#endif
549
550typedef struct _WSACMSGHDR {
555
556#if (_WIN32_WINNT >= 0x0600)
557typedef WSACMSGHDR CMSGHDR, *PCMSGHDR;
558#endif
559
560#define WSA_CMSGHDR_ALIGN(length) (((length) + TYPE_ALIGNMENT(WSACMSGHDR)-1) & \
561 (~(TYPE_ALIGNMENT(WSACMSGHDR)-1)))
562
563#define WSA_CMSGDATA_ALIGN(length) (((length) + MAX_NATURAL_ALIGNMENT-1) & \
564 (~(MAX_NATURAL_ALIGNMENT-1)))
565
566#if(_WIN32_WINNT >= 0x0600)
567#define CMSGHDR_ALIGN WSA_CMSGHDR_ALIGN
568#define CMSGDATA_ALIGN WSA_CMSGDATA_ALIGN
569#endif
570
571/*
572 * WSA_CMSG_FIRSTHDR
573 *
574 * Returns a pointer to the first ancillary data object,
575 * or a null pointer if there is no ancillary data in the
576 * control buffer of the WSAMSG structure.
577 *
578 * LPCMSGHDR
579 * WSA_CMSG_FIRSTHDR (
580 * LPWSAMSG msg
581 * );
582 */
583#define WSA_CMSG_FIRSTHDR(msg) (((msg)->Control.len >= sizeof(WSACMSGHDR)) \
584 ? (LPWSACMSGHDR)(msg)->Control.buf \
585 : (LPWSACMSGHDR)NULL)
586
587#if(_WIN32_WINNT >= 0x0600)
588#define CMSG_FIRSTHDR WSA_CMSG_FIRSTHDR
589#endif
590
591/*
592 * WSA_CMSG_NXTHDR
593 *
594 * Returns a pointer to the next ancillary data object,
595 * or a null if there are no more data objects.
596 *
597 * LPCMSGHDR
598 * WSA_CMSG_NEXTHDR (
599 * LPWSAMSG msg,
600 * LPWSACMSGHDR cmsg
601 * );
602 */
603#define WSA_CMSG_NXTHDR(msg, cmsg) \
604 ( ((cmsg) == NULL) \
605 ? WSA_CMSG_FIRSTHDR(msg) \
606 : ( ( ((PUCHAR)(cmsg) + \
607 WSA_CMSGHDR_ALIGN((cmsg)->cmsg_len) + \
608 sizeof(WSACMSGHDR) ) > \
609 (PUCHAR)((msg)->Control.buf) + \
610 (msg)->Control.len ) \
611 ? (LPWSACMSGHDR)NULL \
612 : (LPWSACMSGHDR)((PUCHAR)(cmsg) + \
613 WSA_CMSGHDR_ALIGN((cmsg)->cmsg_len)) ) )
614
615#if(_WIN32_WINNT >= 0x0600)
616#define CMSG_NXTHDR WSA_CMSG_NXTHDR
617#endif
618
619/*
620 * WSA_CMSG_DATA
621 *
622 * Returns a pointer to the first byte of data (what is referred
623 * to as the cmsg_data member though it is not defined in
624 * the structure).
625 *
626 * Note that RFC 2292 defines this as CMSG_DATA, but that name
627 * is already used by wincrypt.h, and so Windows has used WSA_CMSG_DATA.
628 *
629 * PUCHAR
630 * WSA_CMSG_DATA (
631 * LPWSACMSGHDR pcmsg
632 * );
633 */
634#define WSA_CMSG_DATA(cmsg) ((PUCHAR)(cmsg) + WSA_CMSGDATA_ALIGN(sizeof(WSACMSGHDR)))
635
636/*
637 * WSA_CMSG_SPACE
638 *
639 * Returns total size of an ancillary data object given
640 * the amount of data. Used to allocate the correct amount
641 * of space.
642 *
643 * SIZE_T
644 * WSA_CMSG_SPACE (
645 * SIZE_T length
646 * );
647 */
648#define WSA_CMSG_SPACE(length) (WSA_CMSGDATA_ALIGN(sizeof(WSACMSGHDR) + WSA_CMSGHDR_ALIGN(length)))
649
650#if(_WIN32_WINNT >= 0x0600)
651#define CMSG_SPACE WSA_CMSG_SPACE
652#endif
653
654/*
655 * WSA_CMSG_LEN
656 *
657 * Returns the value to store in cmsg_len given the amount of data.
658 *
659 * SIZE_T
660 * WSA_CMSG_LEN (
661 * SIZE_T length
662 * );
663 */
664#define WSA_CMSG_LEN(length) (WSA_CMSGDATA_ALIGN(sizeof(WSACMSGHDR)) + length)
665
666#if(_WIN32_WINNT >= 0x0600)
667#define CMSG_LEN WSA_CMSG_LEN
668#endif
669
670typedef struct addrinfo {
680
681typedef struct addrinfoW {
691
692#if (_WIN32_WINNT >= 0x0600)
693
694typedef struct addrinfoexA {
695 int ai_flags;
696 int ai_family;
697 int ai_socktype;
698 int ai_protocol;
699 size_t ai_addrlen;
700 char *ai_canonname;
701 struct sockaddr *ai_addr;
702 void *ai_blob;
703 size_t ai_bloblen;
704 LPGUID ai_provider;
705 struct addrinfoexA *ai_next;
706} ADDRINFOEXA, *PADDRINFOEXA, *LPADDRINFOEXA;
707
708typedef struct addrinfoexW {
709 int ai_flags;
710 int ai_family;
711 int ai_socktype;
712 int ai_protocol;
713 size_t ai_addrlen;
714 PWSTR ai_canonname;
715 struct sockaddr *ai_addr;
716 void *ai_blob;
717 size_t ai_bloblen;
718 LPGUID ai_provider;
719 struct addrinfoexW *ai_next;
720} ADDRINFOEXW, *PADDRINFOEXW, *LPADDRINFOEXW;
721
722#endif /* (_WIN32_WINNT >= 0x0600) */
723
724#ifdef __cplusplus
725}
726#endif
unsigned short u_short
Definition: types.h:81
#define FAR
Definition: zlib.h:34
#define __int64
Definition: corecrt.h:72
unsigned long DWORD
Definition: ntddk_ex.h:95
unsigned short USHORT
Definition: pedump.c:61
ULONG Level
Definition: ws2def.h:499
ULONG Zone
Definition: ws2def.h:498
ULONG Value
Definition: ws2def.h:501
INT iProtocol
Definition: ws2def.h:400
SOCKET_ADDRESS RemoteAddr
Definition: ws2def.h:398
INT iSocketType
Definition: ws2def.h:399
SOCKET_ADDRESS LocalAddr
Definition: ws2def.h:397
SOCKET_ADDRESS Address[1]
Definition: ws2def.h:387
LPSOCKADDR lpSockaddr
Definition: ws2def.h:381
INT iSockaddrLength
Definition: ws2def.h:382
ULONG len
Definition: ws2def.h:525
CHAR FAR * buf
Definition: ws2def.h:526
INT cmsg_type
Definition: ws2def.h:553
SIZE_T cmsg_len
Definition: ws2def.h:551
INT cmsg_level
Definition: ws2def.h:552
LPWSABUF lpBuffers
Definition: ws2def.h:532
DWORD dwBufferCount
Definition: ws2def.h:536
DWORD dwFlags
Definition: ws2def.h:542
LPSOCKADDR name
Definition: ws2def.h:530
WSABUF Control
Definition: ws2def.h:538
INT namelen
Definition: ws2def.h:531
int ai_protocol
Definition: ws2def.h:685
PWSTR ai_canonname
Definition: ws2def.h:687
size_t ai_addrlen
Definition: ws2def.h:686
struct addrinfoW * ai_next
Definition: ws2def.h:689
int ai_flags
Definition: ws2def.h:682
int ai_family
Definition: ws2def.h:683
struct sockaddr * ai_addr
Definition: ws2def.h:688
int ai_socktype
Definition: ws2def.h:684
size_t ai_addrlen
Definition: ws2def.h:675
struct sockaddr * ai_addr
Definition: ws2def.h:677
char * ai_canonname
Definition: ws2def.h:676
int ai_socktype
Definition: ws2def.h:673
int ai_protocol
Definition: ws2def.h:674
struct addrinfo * ai_next
Definition: ws2def.h:678
int ai_flags
Definition: ws2def.h:671
int ai_family
Definition: ws2def.h:672
Definition: tcpip.h:126
char sin_zero[8]
Definition: winsock.h:507
USHORT sin_port
Definition: ws2def.h:511
IN_ADDR sin_addr
Definition: ws2def.h:512
short sin_family
Definition: winsock.h:504
CHAR __ss_pad2[_SS_PAD2SIZE]
Definition: ws2def.h:416
CHAR __ss_pad1[_SS_PAD1SIZE]
Definition: ws2def.h:414
__int64 __ss_align
Definition: ws2def.h:415
ADDRESS_FAMILY ss_family
Definition: ws2def.h:406
__int64 __ss_align
Definition: ws2def.h:408
CHAR __ss_pad1[_SS_PAD1SIZE]
Definition: ws2def.h:407
CHAR __ss_pad2[_SS_PAD2SIZE]
Definition: ws2def.h:409
u_short sa_family
Definition: winsock.h:211
char sa_data[14]
Definition: winsock.h:212
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:484
@ ScopeLevelCount
Definition: ws2def.h:492
@ ScopeLevelSubnet
Definition: ws2def.h:487
@ ScopeLevelLink
Definition: ws2def.h:486
@ ScopeLevelInterface
Definition: ws2def.h:485
@ ScopeLevelSite
Definition: ws2def.h:489
@ ScopeLevelOrganization
Definition: ws2def.h:490
@ ScopeLevelGlobal
Definition: ws2def.h:491
@ ScopeLevelAdmin
Definition: ws2def.h:488
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:431
@ IPPROTO_MAX
Definition: ws2def.h:477
@ IPPROTO_IDP
Definition: ws2def.h:452
@ IPPROTO_RESERVED_IPSECOFFLOAD
Definition: ws2def.h:480
@ IPPROTO_RAW
Definition: ws2def.h:476
@ IPPROTO_RESERVED_MAX
Definition: ws2def.h:481
@ IPPROTO_TCP
Definition: ws2def.h:444
@ IPPROTO_IGMP
Definition: ws2def.h:436
@ IPPROTO_PUP
Definition: ws2def.h:450
@ IPPROTO_RESERVED_RAW
Definition: ws2def.h:478
@ IPPROTO_ICMP
Definition: ws2def.h:435
@ IPPROTO_GGP
Definition: ws2def.h:437
@ IPPROTO_UDP
Definition: ws2def.h:451
@ IPPROTO_ND
Definition: ws2def.h:466
@ IPPROTO_RESERVED_IPSEC
Definition: ws2def.h:479
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