ReactOS 0.4.16-dev-336-gb667d82
ws2ipdef.h
Go to the documentation of this file.
1#pragma once
2
3#define _WS2IPDEF_
4
5#ifdef __cplusplus
6extern "C" {
7#endif
8
9#ifndef WS2IPDEF_ASSERT
10#define WS2IPDEF_ASSERT(exp) ((VOID) 0)
11#endif
12
13#ifdef _MSC_VER
14#define WS2TCPIP_INLINE __inline
15#else
16#define WS2TCPIP_INLINE static inline
17#endif
18
19#include <in6addr.h>
20
21#define IFF_UP 0x00000001
22#define IFF_BROADCAST 0x00000002
23#define IFF_LOOPBACK 0x00000004
24#define IFF_POINTTOPOINT 0x00000008
25#define IFF_MULTICAST 0x00000010
26
27#define IP_OPTIONS 1
28#define IP_HDRINCL 2
29#define IP_TOS 3
30#define IP_TTL 4
31#define IP_MULTICAST_IF 9
32#define IP_MULTICAST_TTL 10
33#define IP_MULTICAST_LOOP 11
34#define IP_ADD_MEMBERSHIP 12
35#define IP_DROP_MEMBERSHIP 13
36#define IP_DONTFRAGMENT 14
37#define IP_ADD_SOURCE_MEMBERSHIP 15
38#define IP_DROP_SOURCE_MEMBERSHIP 16
39#define IP_BLOCK_SOURCE 17
40#define IP_UNBLOCK_SOURCE 18
41#define IP_PKTINFO 19
42#define IP_HOPLIMIT 21
43#define IP_RECEIVE_BROADCAST 22
44#define IP_RECVIF 24
45#define IP_RECVDSTADDR 25
46#define IP_IFLIST 28
47#define IP_ADD_IFLIST 29
48#define IP_DEL_IFLIST 30
49#define IP_UNICAST_IF 31
50#define IP_RTHDR 32
51#define IP_RECVRTHDR 38
52#define IP_TCLASS 39
53#define IP_RECVTCLASS 40
54#define IP_ORIGINAL_ARRIVAL_IF 47
55
56#define IP_UNSPECIFIED_TYPE_OF_SERVICE -1
57
58#define IPV6_ADDRESS_BITS RTL_BITS_OF(IN6_ADDR)
59
60#define SS_PORT(ssp) (((PSOCKADDR_IN)(ssp))->sin_port)
61
62#define SIO_GET_INTERFACE_LIST _IOR('t', 127, ULONG)
63#define SIO_GET_INTERFACE_LIST_EX _IOR('t', 126, ULONG)
64#define SIO_SET_MULTICAST_FILTER _IOW('t', 125, ULONG)
65#define SIO_GET_MULTICAST_FILTER _IOW('t', 124 | IOC_IN, ULONG)
66#define SIOCSIPMSFILTER SIO_SET_MULTICAST_FILTER
67#define SIOCGIPMSFILTER SIO_GET_MULTICAST_FILTER
68
69#define SIOCSMSFILTER _IOW('t', 126, ULONG)
70#define SIOCGMSFILTER _IOW('t', 127 | IOC_IN, ULONG)
71
72#if (NTDDI_VERSION >= NTDDI_VISTASP1)
73
74#define IDEAL_SEND_BACKLOG_IOCTLS
75
76#define SIO_IDEAL_SEND_BACKLOG_QUERY _IOR('t', 123, ULONG)
77#define SIO_IDEAL_SEND_BACKLOG_CHANGE _IO('t', 122)
78
79#endif /* (NTDDI_VERSION >= NTDDI_VISTASP1) */
80
81#define MCAST_JOIN_GROUP 41
82#define MCAST_LEAVE_GROUP 42
83#define MCAST_BLOCK_SOURCE 43
84#define MCAST_UNBLOCK_SOURCE 44
85#define MCAST_JOIN_SOURCE_GROUP 45
86#define MCAST_LEAVE_SOURCE_GROUP 46
87
88#define IP_MSFILTER_SIZE(NumSources) \
89 (sizeof(IP_MSFILTER) - sizeof(IN_ADDR) + (NumSources) * sizeof(IN_ADDR))
90
91#define IPV6_HOPOPTS 1
92#define IPV6_HDRINCL 2
93#define IPV6_UNICAST_HOPS 4
94#define IPV6_MULTICAST_IF 9
95#define IPV6_MULTICAST_HOPS 10
96#define IPV6_MULTICAST_LOOP 11
97#define IPV6_ADD_MEMBERSHIP 12
98#define IPV6_JOIN_GROUP IPV6_ADD_MEMBERSHIP
99#define IPV6_DROP_MEMBERSHIP 13
100#define IPV6_LEAVE_GROUP IPV6_DROP_MEMBERSHIP
101#define IPV6_DONTFRAG 14
102#define IPV6_PKTINFO 19
103#define IPV6_HOPLIMIT 21
104#define IPV6_PROTECTION_LEVEL 23
105#define IPV6_RECVIF 24
106#define IPV6_RECVDSTADDR 25
107#define IPV6_CHECKSUM 26
108#define IPV6_V6ONLY 27
109#define IPV6_IFLIST 28
110#define IPV6_ADD_IFLIST 29
111#define IPV6_DEL_IFLIST 30
112#define IPV6_UNICAST_IF 31
113#define IPV6_RTHDR 32
114#define IPV6_RECVRTHDR 38
115#define IPV6_TCLASS 39
116#define IPV6_RECVTCLASS 40
117
118#define IP_UNSPECIFIED_HOP_LIMIT -1
119
120#define IP_PROTECTION_LEVEL IPV6_PROTECTION_LEVEL
121#define PROTECTION_LEVEL_UNRESTRICTED 10
122#define PROTECTION_LEVEL_EDGERESTRICTED 20
123#define PROTECTION_LEVEL_RESTRICTED 30
124
125#if (NTDDI_VERSION < NTDDI_VISTA)
126#define PROTECTION_LEVEL_DEFAULT PROTECTION_LEVEL_EDGERESTRICTED
127#else
128#define PROTECTION_LEVEL_DEFAULT ((UINT)-1)
129#endif
130
131#define INET_ADDRSTRLEN 22
132#define INET6_ADDRSTRLEN 65
133
134#define TCP_OFFLOAD_NO_PREFERENCE 0
135#define TCP_OFFLOAD_NOT_PREFERRED 1
136#define TCP_OFFLOAD_PREFERRED 2
137
138#define TCP_EXPEDITED_1122 0x0002
139#define TCP_KEEPALIVE 3
140#define TCP_MAXSEG 4
141#define TCP_MAXRT 5
142#define TCP_STDURG 6
143#define TCP_NOURG 7
144#define TCP_ATMARK 8
145#define TCP_NOSYNRETRIES 9
146#define TCP_TIMESTAMPS 10
147#define TCP_OFFLOAD_PREFERENCE 11
148#define TCP_CONGESTION_ALGORITHM 12
149#define TCP_DELAY_FIN_ACK 13
150
156};
157
158typedef union sockaddr_gen {
163
164typedef struct _INTERFACE_INFO {
170
171typedef struct _INTERFACE_INFO_EX {
177
178typedef struct sockaddr_in6 {
183 union {
186 };
188
189typedef struct sockaddr_in6_w2ksp1 {
196
197#if (NTDDI_VERSION >= NTDDI_VISTA)
198
202
203#elif(NTDDI_VERSION >= NTDDI_WIN2KSP1)
204
208
209#else
210
214
215#endif /* (NTDDI_VERSION >= NTDDI_VISTA) */
216
217typedef union _SOCKADDR_INET {
222
223typedef struct _sockaddr_in6_pair {
227
228#if (NTDDI_VERSION >= NTDDI_WIN2KSP1)
229
230#define IN6ADDR_ANY_INIT {0}
231#define IN6ADDR_LOOPBACK_INIT {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1}
232#define IN6ADDR_ALLNODESONNODE_INIT {0xff, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01}
233#define IN6ADDR_ALLNODESONLINK_INIT {0xff, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01}
234#define IN6ADDR_ALLROUTERSONLINK_INIT {0xff, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02}
235#define IN6ADDR_ALLMLDV2ROUTERSONLINK_INIT {0xff, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x16}
236#define IN6ADDR_TEREDOINITIALLINKLOCALADDRESS_INIT {0xfe, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe}
237#define IN6ADDR_TEREDOOLDLINKLOCALADDRESSXP_INIT {0xfe, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 'T', 'E', 'R', 'E', 'D', 'O'}
238#define IN6ADDR_TEREDOOLDLINKLOCALADDRESSVISTA_INIT {0xfe, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}
239#define IN6ADDR_LINKLOCALPREFIX_INIT {0xfe, 0x80, }
240#define IN6ADDR_MULTICASTPREFIX_INIT {0xff, 0x00, }
241#define IN6ADDR_SOLICITEDNODEMULTICASTPREFIX_INIT {0xff, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, }
242#define IN6ADDR_V4MAPPEDPREFIX_INIT {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, }
243#define IN6ADDR_6TO4PREFIX_INIT {0x20, 0x02, }
244#define IN6ADDR_TEREDOPREFIX_INIT {0x20, 0x01, 0x00, 0x00, }
245#define IN6ADDR_TEREDOPREFIX_INIT_OLD {0x3f, 0xfe, 0x83, 0x1f, }
246
247#define IN6ADDR_LINKLOCALPREFIX_LENGTH 64
248#define IN6ADDR_MULTICASTPREFIX_LENGTH 8
249#define IN6ADDR_SOLICITEDNODEMULTICASTPREFIX_LENGTH 104
250#define IN6ADDR_V4MAPPEDPREFIX_LENGTH 96
251#define IN6ADDR_6TO4PREFIX_LENGTH 16
252#define IN6ADDR_TEREDOPREFIX_LENGTH 32
253
255
265
280
281#ifndef __midl
282
288
289 a = (__int64 UNALIGNED *)x;
290 b = (__int64 UNALIGNED *)y;
291 return (BOOLEAN)((a[1] == b[1]) && (a[0] == b[0]));
292}
293
294#define IN6_ARE_ADDR_EQUAL IN6_ADDR_EQUAL
295
299 return (BOOLEAN)((a->s6_words[0] == 0) &&
300 (a->s6_words[1] == 0) &&
301 (a->s6_words[2] == 0) &&
302 (a->s6_words[3] == 0) &&
303 (a->s6_words[4] == 0) &&
304 (a->s6_words[5] == 0) &&
305 (a->s6_words[6] == 0) &&
306 (a->s6_words[7] == 0));
307}
308
312 return (BOOLEAN)((a->s6_words[0] == 0) &&
313 (a->s6_words[1] == 0) &&
314 (a->s6_words[2] == 0) &&
315 (a->s6_words[3] == 0) &&
316 (a->s6_words[4] == 0) &&
317 (a->s6_words[5] == 0) &&
318 (a->s6_words[6] == 0) &&
319 (a->s6_words[7] == 0x0100));
320}
321
325 return (BOOLEAN)(a->s6_bytes[0] == 0xff);
326}
327
331 return (BOOLEAN)(((a->s6_bytes[0] & 0xe0) != 0) &&
333}
334
338 return (BOOLEAN)(IN6_IS_ADDR_EUI64(a) &&
339 (a->s6_words[4] == 0) &&
340 (a->s6_words[5] == 0) &&
341 (a->s6_words[6] == 0) &&
342 (a->s6_words[7] == 0));
343}
344
348 return (BOOLEAN)(IN6_IS_ADDR_EUI64(a) &&
349 (a->s6_words[4] == 0xfffd) &&
350 (a->s6_words[5] == 0xffff) &&
351 (a->s6_words[6] == 0xffff) &&
352 ((a->s6_words[7] & 0x80ff) == 0x80ff));
353}
354
360}
361
365 return (BOOLEAN)((a->s6_bytes[0] == 0xfe) &&
366 ((a->s6_bytes[1] & 0xc0) == 0x80));
367}
368
372 return (BOOLEAN)((a->s6_bytes[0] == 0xfe) &&
373 ((a->s6_bytes[1] & 0xc0) == 0xc0));
374}
375
379 ULONG High = (a->s6_bytes[0] & 0xf0);
380 return (BOOLEAN)((High != 0) && (High != 0xf0));
381}
382
386 return (BOOLEAN)((a->s6_words[0] == 0) &&
387 (a->s6_words[1] == 0) &&
388 (a->s6_words[2] == 0) &&
389 (a->s6_words[3] == 0) &&
390 (a->s6_words[4] == 0) &&
391 (a->s6_words[5] == 0xffff));
392}
393
397 return (BOOLEAN)((a->s6_words[0] == 0) &&
398 (a->s6_words[1] == 0) &&
399 (a->s6_words[2] == 0) &&
400 (a->s6_words[3] == 0) &&
401 (a->s6_words[4] == 0) &&
402 (a->s6_words[5] == 0) &&
403 !((a->s6_words[6] == 0) &&
404 (a->s6_addr[14] == 0) &&
405 ((a->s6_addr[15] == 0) || (a->s6_addr[15] == 1))));
406}
407
411 return (BOOLEAN)((a->s6_words[0] == 0) &&
412 (a->s6_words[1] == 0) &&
413 (a->s6_words[2] == 0) &&
414 (a->s6_words[3] == 0) &&
415 (a->s6_words[4] == 0xffff) &&
416 (a->s6_words[5] == 0));
417}
418
422 return (BOOLEAN)(IN6_IS_ADDR_MULTICAST(a) &&
423 ((a->s6_bytes[1] & 0xf) == 1));
424}
425
429 return (BOOLEAN)(IN6_IS_ADDR_MULTICAST(a) &&
430 ((a->s6_bytes[1] & 0xf) == 2));
431}
432
436 return (BOOLEAN)(IN6_IS_ADDR_MULTICAST(a) &&
437 ((a->s6_bytes[1] & 0xf) == 5));
438}
439
443 return (BOOLEAN)(IN6_IS_ADDR_MULTICAST(a) &&
444 ((a->s6_bytes[1] & 0xf) == 8));
445}
446
450 return (BOOLEAN)(IN6_IS_ADDR_MULTICAST(a) &&
451 ((a->s6_bytes[1] & 0xf) == 0xe));
452}
453
455VOID
457 memset(a->s6_bytes, 0, sizeof(IN6_ADDR));
458}
459
461VOID
463 memset(a->s6_bytes, 0, sizeof(IN6_ADDR));
464 a->s6_bytes[15] = 1;
465}
466
468VOID
470 a->sin6_family = AF_INET6;
471 a->sin6_port = 0;
472 a->sin6_flowinfo = 0;
473 IN6_SET_ADDR_UNSPECIFIED(&a->sin6_addr);
474 a->sin6_scope_id = 0;
475}
476
478VOID
480 a->sin6_family = AF_INET6;
481 a->sin6_port = 0;
482 a->sin6_flowinfo = 0;
483 IN6_SET_ADDR_LOOPBACK(&a->sin6_addr);
484 a->sin6_scope_id = 0;
485}
486
490 WS2IPDEF_ASSERT(a->sin6_family == AF_INET6);
491 return IN6_IS_ADDR_UNSPECIFIED(&a->sin6_addr);
492}
493
497 WS2IPDEF_ASSERT(a->sin6_family == AF_INET6);
498 return IN6_IS_ADDR_LOOPBACK(&a->sin6_addr);
499}
500
504 WS2IPDEF_ASSERT(a->sin6_family == AF_INET6);
505 return (BOOLEAN)(a->sin6_scope_id == b->sin6_scope_id &&
506 IN6_ADDR_EQUAL(&a->sin6_addr, &b->sin6_addr));
507}
508
512 WS2IPDEF_ASSERT(a->sin6_family == AF_INET6);
513 return (BOOLEAN)(a->sin6_scope_id == 0 &&
514 IN6_IS_ADDR_UNSPECIFIED(&a->sin6_addr));
515}
516
517#endif /* __midl */
518
519#endif /* (NTDDI_VERSION >= NTDDI_WIN2KSP1) */
520
525
526typedef struct ip_mreq {
530
531typedef struct ip_mreq_source {
536
537typedef struct ip_msfilter {
544
545typedef struct ipv6_mreq {
549
550#if (NTDDI_VERSION >= NTDDI_WINXP)
551
552typedef struct group_req {
554 SOCKADDR_STORAGE gr_group;
556
557typedef struct group_source_req {
559 SOCKADDR_STORAGE gsr_group;
560 SOCKADDR_STORAGE gsr_source;
562
563typedef struct group_filter {
565 SOCKADDR_STORAGE gf_group;
568 SOCKADDR_STORAGE gf_slist[1];
570
571#define GROUP_FILTER_SIZE(numsrc) \
572 (sizeof(GROUP_FILTER) - sizeof(SOCKADDR_STORAGE) \
573 + (numsrc) * sizeof(SOCKADDR_STORAGE))
574
575#endif /* (NTDDI_VERSION >= NTDDI_WINXP) */
576
577typedef struct in_pktinfo {
581
582C_ASSERT(sizeof(IN_PKTINFO) == 8);
583
584typedef struct in6_pktinfo {
588
589C_ASSERT(sizeof(IN6_PKTINFO) == 20);
590
591#ifdef __cplusplus
592}
593#endif
unsigned char BOOLEAN
#define __int64
Definition: basetyps.h:16
#define FAR
Definition: zlib.h:34
GLint GLint GLint GLint GLint x
Definition: gl.h:1548
GLint GLint GLint GLint GLint GLint y
Definition: gl.h:1548
GLboolean GLboolean GLboolean b
Definition: glext.h:6204
GLboolean GLboolean GLboolean GLboolean a
Definition: glext.h:6204
#define C_ASSERT(e)
Definition: intsafe.h:73
#define a
Definition: ke_i.h:78
#define b
Definition: ke_i.h:79
#define IN6_IS_ADDR_LINKLOCAL(a)
Definition: inet.h:131
#define IN6_IS_ADDR_MC_LINKLOCAL(a)
Definition: inet.h:136
#define IN6_IS_ADDR_UNSPECIFIED(a)
Definition: inet.h:128
#define IN6_IS_ADDR_LOOPBACK(a)
Definition: inet.h:129
#define IN6_IS_ADDR_MC_ORGLOCAL(a)
Definition: inet.h:138
#define IN6_IS_ADDR_MC_GLOBAL(a)
Definition: inet.h:139
#define IN6_IS_ADDR_MC_SITELOCAL(a)
Definition: inet.h:137
#define IN6_IS_ADDR_V4COMPAT(a)
Definition: inet.h:134
#define IN6_IS_ADDR_V4MAPPED(a)
Definition: inet.h:133
#define IN6_IS_ADDR_SITELOCAL(a)
Definition: inet.h:132
#define IN6_IS_ADDR_MULTICAST(a)
Definition: inet.h:130
#define IN6_IS_ADDR_MC_NODELOCAL(a)
Definition: inet.h:135
#define UNALIGNED
Definition: pecoff.h:227
#define CONST
Definition: pedump.c:81
short SHORT
Definition: pedump.c:59
unsigned short USHORT
Definition: pedump.c:61
#define memset(x, y, z)
Definition: compat.h:39
@ High
Definition: strmini.h:378
SOCKET_ADDRESS iiBroadcastAddress
Definition: ws2ipdef.h:174
SOCKET_ADDRESS iiNetmask
Definition: ws2ipdef.h:175
SOCKET_ADDRESS iiAddress
Definition: ws2ipdef.h:173
sockaddr_gen iiBroadcastAddress
Definition: ws2ipdef.h:167
sockaddr_gen iiNetmask
Definition: ws2ipdef.h:168
sockaddr_gen iiAddress
Definition: ws2ipdef.h:166
PSOCKADDR_IN6 SourceAddress
Definition: ws2ipdef.h:224
PSOCKADDR_IN6 DestinationAddress
Definition: ws2ipdef.h:225
SOCKADDR_STORAGE gf_group
Definition: ws2ipdef.h:565
ULONG gf_interface
Definition: ws2ipdef.h:564
ULONG gf_numsrc
Definition: ws2ipdef.h:567
SOCKADDR_STORAGE gf_slist[1]
Definition: ws2ipdef.h:568
MULTICAST_MODE_TYPE gf_fmode
Definition: ws2ipdef.h:566
SOCKADDR_STORAGE gr_group
Definition: ws2ipdef.h:554
ULONG gr_interface
Definition: ws2ipdef.h:553
SOCKADDR_STORAGE gsr_group
Definition: ws2ipdef.h:559
SOCKADDR_STORAGE gsr_source
Definition: ws2ipdef.h:560
ULONG gsr_interface
Definition: ws2ipdef.h:558
Definition: inet.h:67
IN6_ADDR ipi6_addr
Definition: ws2ipdef.h:585
ULONG ipi6_ifindex
Definition: ws2ipdef.h:586
Definition: tcpip.h:126
ULONG ipi_ifindex
Definition: ws2ipdef.h:579
IN_ADDR ipi_addr
Definition: ws2ipdef.h:578
IN_ADDR imr_multiaddr
Definition: ws2ipdef.h:532
IN_ADDR imr_interface
Definition: ws2ipdef.h:534
IN_ADDR imr_sourceaddr
Definition: ws2ipdef.h:533
IN_ADDR imr_multiaddr
Definition: ws2ipdef.h:527
IN_ADDR imr_interface
Definition: ws2ipdef.h:528
ULONG imsf_numsrc
Definition: ws2ipdef.h:541
IN_ADDR imsf_multiaddr
Definition: ws2ipdef.h:538
MULTICAST_MODE_TYPE imsf_fmode
Definition: ws2ipdef.h:540
IN_ADDR imsf_interface
Definition: ws2ipdef.h:539
IN_ADDR imsf_slist[1]
Definition: ws2ipdef.h:542
ULONG ipv6mr_interface
Definition: ws2ipdef.h:547
IN6_ADDR ipv6mr_multiaddr
Definition: ws2ipdef.h:546
USHORT sin6_port
Definition: ws2ipdef.h:153
IN6_ADDR sin6_addr
Definition: ws2ipdef.h:155
SHORT sin6_family
Definition: ws2ipdef.h:152
ULONG sin6_flowinfo
Definition: ws2ipdef.h:154
struct in6_addr sin6_addr
Definition: ws2ipdef.h:193
ULONG sin6_flowinfo
Definition: ws2ipdef.h:181
ULONG sin6_scope_id
Definition: ws2ipdef.h:184
ADDRESS_FAMILY sin6_family
Definition: ws2ipdef.h:179
SCOPE_ID sin6_scope_struct
Definition: ws2ipdef.h:185
IN6_ADDR sin6_addr
Definition: ws2ipdef.h:182
USHORT sin6_port
Definition: ws2ipdef.h:180
uint32_t ULONG
Definition: typedefs.h:59
SOCKADDR_IN Ipv4
Definition: ws2ipdef.h:218
SOCKADDR_IN6 Ipv6
Definition: ws2ipdef.h:219
ADDRESS_FAMILY si_family
Definition: ws2ipdef.h:220
struct sockaddr Address
Definition: ws2ipdef.h:159
struct sockaddr_in AddressIn
Definition: ws2ipdef.h:160
struct sockaddr_in6_old AddressIn6
Definition: ws2ipdef.h:161
#define AF_INET6
Definition: winsock.h:369
USHORT ADDRESS_FAMILY
Definition: ws2def.h:25
_MULTICAST_MODE_TYPE
Definition: ws2ipdef.h:521
@ MCAST_EXCLUDE
Definition: ws2ipdef.h:523
@ MCAST_INCLUDE
Definition: ws2ipdef.h:522
WS2TCPIP_INLINE VOID IN6ADDR_SETLOOPBACK(PSOCKADDR_IN6 a)
Definition: ws2ipdef.h:479
struct in_pktinfo * PIN_PKTINFO
CONST IN6_ADDR in6addr_allnodesonlink
CONST IN_ADDR in4addr_linklocalprefix
#define WS2TCPIP_INLINE
Definition: ws2ipdef.h:16
struct ip_mreq_source IP_MREQ_SOURCE
CONST IN6_ADDR in6addr_allnodesonnode
CONST IN_ADDR in4addr_any
CONST IN6_ADDR in6addr_teredoprefix
WS2TCPIP_INLINE BOOLEAN IN6_IS_ADDR_SUBNET_RESERVED_ANYCAST(CONST IN6_ADDR *a)
Definition: ws2ipdef.h:347
struct group_filter GROUP_FILTER
CONST IN6_ADDR in6addr_loopback
struct group_filter * PGROUP_FILTER
struct in6_pktinfo * PIN6_PKTINFO
struct _INTERFACE_INFO_EX INTERFACE_INFO_EX
WS2TCPIP_INLINE BOOLEAN IN6_IS_ADDR_SUBNET_ROUTER_ANYCAST(CONST IN6_ADDR *a)
Definition: ws2ipdef.h:337
WS2TCPIP_INLINE BOOLEAN IN6ADDR_ISANY(CONST SOCKADDR_IN6 *a)
Definition: ws2ipdef.h:489
struct group_source_req GROUP_SOURCE_REQ
struct ip_msfilter * PIP_MSFILTER
struct ip_msfilter IP_MSFILTER
CONST IN_ADDR in4addr_alligmpv3routersonlink
WS2TCPIP_INLINE BOOLEAN IN6ADDR_ISUNSPECIFIED(CONST SOCKADDR_IN6 *a)
Definition: ws2ipdef.h:511
CONST IN6_ADDR in6addr_teredoprefix_old
SOCKADDR_IN6_LH * PSOCKADDR_IN6
Definition: ws2ipdef.h:200
struct group_source_req * PGROUP_SOURCE_REQ
struct sockaddr_in6 * LPSOCKADDR_IN6_LH
enum _MULTICAST_MODE_TYPE MULTICAST_MODE_TYPE
CONST IN6_ADDR in6addr_any
struct _INTERFACE_INFO_EX * LPINTERFACE_INFO_EX
union _SOCKADDR_INET * PSOCKADDR_INET
CONST IN_ADDR in4addr_loopback
struct ipv6_mreq IPV6_MREQ
struct sockaddr_in6_w2ksp1 * LPSOCKADDR_IN6_W2KSP1
CONST IN6_ADDR in6addr_6to4prefix
CONST IN6_ADDR in6addr_multicastprefix
WS2TCPIP_INLINE VOID IN6ADDR_SETANY(PSOCKADDR_IN6 a)
Definition: ws2ipdef.h:469
struct ip_mreq IP_MREQ
struct sockaddr_in6_w2ksp1 * PSOCKADDR_IN6_W2KSP1
WS2TCPIP_INLINE BOOLEAN IN6_ADDR_EQUAL(CONST IN6_ADDR *x, CONST IN6_ADDR *y)
Definition: ws2ipdef.h:285
CONST IN_ADDR in4addr_broadcast
struct ipv6_mreq * PIPV6_MREQ
CONST SCOPE_ID scopeid_unspecified
#define WS2IPDEF_ASSERT(exp)
Definition: ws2ipdef.h:10
WS2TCPIP_INLINE BOOLEAN IN6_IS_ADDR_GLOBAL(CONST IN6_ADDR *a)
Definition: ws2ipdef.h:378
struct ip_mreq_source * PIP_MREQ_SOURCE
SOCKADDR_IN6_LH FAR * LPSOCKADDR_IN6
Definition: ws2ipdef.h:201
CONST IN_ADDR in4addr_multicastprefix
struct sockaddr_in6 SOCKADDR_IN6_LH
WS2TCPIP_INLINE BOOLEAN IN6_IS_ADDR_ANYCAST(CONST IN6_ADDR *a)
Definition: ws2ipdef.h:357
WS2TCPIP_INLINE VOID IN6_SET_ADDR_UNSPECIFIED(PIN6_ADDR a)
Definition: ws2ipdef.h:456
WS2TCPIP_INLINE BOOLEAN IN6ADDR_ISEQUAL(CONST SOCKADDR_IN6 *a, CONST SOCKADDR_IN6 *b)
Definition: ws2ipdef.h:503
struct in6_pktinfo IN6_PKTINFO
struct group_req GROUP_REQ
struct sockaddr_in6 * PSOCKADDR_IN6_LH
struct _INTERFACE_INFO INTERFACE_INFO
WS2TCPIP_INLINE BOOLEAN IN6_IS_ADDR_V4TRANSLATED(CONST IN6_ADDR *a)
Definition: ws2ipdef.h:410
WS2TCPIP_INLINE BOOLEAN IN6_IS_ADDR_EUI64(CONST IN6_ADDR *a)
Definition: ws2ipdef.h:330
CONST IN_ADDR in4addr_allteredohostsonlink
struct sockaddr_in6_w2ksp1 SOCKADDR_IN6_W2KSP1
WS2TCPIP_INLINE VOID IN6_SET_ADDR_LOOPBACK(PIN6_ADDR a)
Definition: ws2ipdef.h:462
CONST IN6_ADDR in6addr_teredoinitiallinklocaladdress
struct _sockaddr_in6_pair SOCKADDR_IN6_PAIR
struct group_req * PGROUP_REQ
struct _sockaddr_in6_pair * PSOCKADDR_IN6_PAIR
WS2TCPIP_INLINE BOOLEAN IN6ADDR_ISLOOPBACK(CONST SOCKADDR_IN6 *a)
Definition: ws2ipdef.h:496
struct _INTERFACE_INFO * LPINTERFACE_INFO
CONST IN6_ADDR in6addr_allroutersonlink
CONST IN6_ADDR in6addr_v4mappedprefix
CONST IN_ADDR in4addr_allnodesonlink
CONST IN6_ADDR in6addr_linklocalprefix
struct in_pktinfo IN_PKTINFO
CONST IN6_ADDR in6addr_solicitednodemulticastprefix
union _SOCKADDR_INET SOCKADDR_INET
CONST IN6_ADDR in6addr_allmldv2routersonlink
SOCKADDR_IN6_LH SOCKADDR_IN6
Definition: ws2ipdef.h:199
CONST IN_ADDR in4addr_allroutersonlink
struct ip_mreq * PIP_MREQ