ReactOS  0.4.12-dev-916-gffc4e30
ws2ipdef.h
Go to the documentation of this file.
1 #pragma once
2 
3 #define _WS2IPDEF_
4 
5 #ifdef __cplusplus
6 extern "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 
158 typedef union sockaddr_gen {
162 } sockaddr_gen;
163 
164 typedef struct _INTERFACE_INFO {
170 
171 typedef struct _INTERFACE_INFO_EX {
177 
178 typedef struct sockaddr_in6 {
183  union {
186  };
188 
189 typedef struct sockaddr_in6_w2ksp1 {
190  short sin6_family;
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 
217 typedef union _SOCKADDR_INET {
222 
223 typedef 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 
256 extern CONST IN_ADDR in4addr_any;
265 
266 extern CONST IN6_ADDR in6addr_any;
280 
281 #ifndef __midl
282 
284 BOOLEAN
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 
297 BOOLEAN
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 
310 BOOLEAN
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 
323 BOOLEAN
325  return (BOOLEAN)(a->s6_bytes[0] == 0xff);
326 }
327 
329 BOOLEAN
331  return (BOOLEAN)(((a->s6_bytes[0] & 0xe0) != 0) &&
333 }
334 
336 BOOLEAN
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 
346 BOOLEAN
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 
356 BOOLEAN
360 }
361 
363 BOOLEAN
365  return (BOOLEAN)((a->s6_bytes[0] == 0xfe) &&
366  ((a->s6_bytes[1] & 0xc0) == 0x80));
367 }
368 
370 BOOLEAN
372  return (BOOLEAN)((a->s6_bytes[0] == 0xfe) &&
373  ((a->s6_bytes[1] & 0xc0) == 0xc0));
374 }
375 
377 BOOLEAN
379  ULONG High = (a->s6_bytes[0] & 0xf0);
380  return (BOOLEAN)((High != 0) && (High != 0xf0));
381 }
382 
384 BOOLEAN
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 
395 BOOLEAN
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 
409 BOOLEAN
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 
420 BOOLEAN
422  return (BOOLEAN)(IN6_IS_ADDR_MULTICAST(a) &&
423  ((a->s6_bytes[1] & 0xf) == 1));
424 }
425 
427 BOOLEAN
429  return (BOOLEAN)(IN6_IS_ADDR_MULTICAST(a) &&
430  ((a->s6_bytes[1] & 0xf) == 2));
431 }
432 
434 BOOLEAN
436  return (BOOLEAN)(IN6_IS_ADDR_MULTICAST(a) &&
437  ((a->s6_bytes[1] & 0xf) == 5));
438 }
439 
441 BOOLEAN
443  return (BOOLEAN)(IN6_IS_ADDR_MULTICAST(a) &&
444  ((a->s6_bytes[1] & 0xf) == 8));
445 }
446 
448 BOOLEAN
450  return (BOOLEAN)(IN6_IS_ADDR_MULTICAST(a) &&
451  ((a->s6_bytes[1] & 0xf) == 0xe));
452 }
453 
455 VOID
457  memset(a->s6_bytes, 0, sizeof(IN6_ADDR));
458 }
459 
461 VOID
463  memset(a->s6_bytes, 0, sizeof(IN6_ADDR));
464  a->s6_bytes[15] = 1;
465 }
466 
468 VOID
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 
478 VOID
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 
488 BOOLEAN
490  WS2IPDEF_ASSERT(a->sin6_family == AF_INET6);
491  return IN6_IS_ADDR_UNSPECIFIED(&a->sin6_addr);
492 }
493 
495 BOOLEAN
497  WS2IPDEF_ASSERT(a->sin6_family == AF_INET6);
498  return IN6_IS_ADDR_LOOPBACK(&a->sin6_addr);
499 }
500 
502 BOOLEAN
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 
510 BOOLEAN
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 
521 typedef enum _MULTICAST_MODE_TYPE {
525 
526 typedef struct ip_mreq {
529 } IP_MREQ, *PIP_MREQ;
530 
531 typedef struct ip_mreq_source {
536 
537 typedef struct ip_msfilter {
544 
545 typedef struct ipv6_mreq {
549 
550 #if (NTDDI_VERSION >= NTDDI_WINXP)
551 
552 typedef struct group_req {
554  SOCKADDR_STORAGE gr_group;
556 
557 typedef struct group_source_req {
559  SOCKADDR_STORAGE gsr_group;
560  SOCKADDR_STORAGE gsr_source;
562 
563 typedef 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 
577 typedef struct in_pktinfo {
581 
582 C_ASSERT(sizeof(IN_PKTINFO) == 8);
583 
584 typedef struct in6_pktinfo {
588 
589 C_ASSERT(sizeof(IN6_PKTINFO) == 20);
590 
591 #ifdef __cplusplus
592 }
593 #endif
WS2TCPIP_INLINE VOID IN6_SET_ADDR_UNSPECIFIED(PIN6_ADDR a)
Definition: ws2ipdef.h:456
CONST IN_ADDR in4addr_linklocalprefix
CONST IN_ADDR in4addr_loopback
IN6_ADDR ipv6mr_multiaddr
Definition: ws2ipdef.h:546
struct group_filter GROUP_FILTER
struct _INTERFACE_INFO INTERFACE_INFO
WS2TCPIP_INLINE BOOLEAN IN6_IS_ADDR_MULTICAST(CONST IN6_ADDR *a)
Definition: ws2ipdef.h:324
SOCKADDR_IN6_LH FAR * LPSOCKADDR_IN6
Definition: ws2ipdef.h:201
union _SOCKADDR_INET SOCKADDR_INET
enum _MULTICAST_MODE_TYPE MULTICAST_MODE_TYPE
CONST IN6_ADDR in6addr_allmldv2routersonlink
_MULTICAST_MODE_TYPE
Definition: ws2ipdef.h:521
ULONG sin6_flowinfo
Definition: ws2ipdef.h:181
IN_ADDR imr_multiaddr
Definition: ws2ipdef.h:532
ADDRESS_FAMILY sin6_family
Definition: ws2ipdef.h:179
struct _sockaddr_in6_pair SOCKADDR_IN6_PAIR
struct in6_pktinfo IN6_PKTINFO
struct ip_mreq_source * PIP_MREQ_SOURCE
WS2TCPIP_INLINE VOID IN6ADDR_SETANY(PSOCKADDR_IN6 a)
Definition: ws2ipdef.h:469
WS2TCPIP_INLINE BOOLEAN IN6_IS_ADDR_MC_SITELOCAL(CONST IN6_ADDR *a)
Definition: ws2ipdef.h:435
ULONG gr_interface
Definition: ws2ipdef.h:553
USHORT sin6_port
Definition: ws2ipdef.h:180
SOCKADDR_IN6 Ipv6
Definition: ws2ipdef.h:219
IN_ADDR imr_multiaddr
Definition: ws2ipdef.h:527
struct ip_msfilter IP_MSFILTER
CONST IN6_ADDR in6addr_multicastprefix
SOCKADDR_STORAGE gsr_group
Definition: ws2ipdef.h:559
WS2TCPIP_INLINE BOOLEAN IN6ADDR_ISUNSPECIFIED(CONST SOCKADDR_IN6 *a)
Definition: ws2ipdef.h:511
struct sockaddr_in6 * LPSOCKADDR_IN6_LH
struct ip_mreq IP_MREQ
GLint GLint GLint GLint GLint x
Definition: gl.h:1548
ADDRESS_FAMILY si_family
Definition: ws2ipdef.h:220
WS2TCPIP_INLINE BOOLEAN IN6_ADDR_EQUAL(CONST IN6_ADDR *x, CONST IN6_ADDR *y)
Definition: ws2ipdef.h:285
CONST SCOPE_ID scopeid_unspecified
struct group_req * PGROUP_REQ
WS2TCPIP_INLINE BOOLEAN IN6_IS_ADDR_SUBNET_RESERVED_ANYCAST(CONST IN6_ADDR *a)
Definition: ws2ipdef.h:347
CONST IN6_ADDR in6addr_teredoinitiallinklocaladdress
sockaddr_gen iiAddress
Definition: ws2ipdef.h:166
WS2TCPIP_INLINE BOOLEAN IN6ADDR_ISANY(CONST SOCKADDR_IN6 *a)
Definition: ws2ipdef.h:489
struct _INTERFACE_INFO_EX INTERFACE_INFO_EX
ULONG sin6_scope_id
Definition: ws2ipdef.h:184
struct sockaddr_in6_w2ksp1 * PSOCKADDR_IN6_W2KSP1
PSOCKADDR_IN6 DestinationAddress
Definition: ws2ipdef.h:225
struct sockaddr_in6_w2ksp1 SOCKADDR_IN6_W2KSP1
struct _INTERFACE_INFO * LPINTERFACE_INFO
WS2TCPIP_INLINE BOOLEAN IN6_IS_ADDR_MC_GLOBAL(CONST IN6_ADDR *a)
Definition: ws2ipdef.h:449
USHORT sin6_port
Definition: ws2ipdef.h:153
struct ipv6_mreq * PIPV6_MREQ
CONST IN_ADDR in4addr_broadcast
WS2TCPIP_INLINE VOID IN6ADDR_SETLOOPBACK(PSOCKADDR_IN6 a)
Definition: ws2ipdef.h:479
SOCKET_ADDRESS iiBroadcastAddress
Definition: ws2ipdef.h:174
SCOPE_ID sin6_scope_struct
Definition: ws2ipdef.h:185
struct sockaddr_in6 SOCKADDR_IN6_LH
WS2TCPIP_INLINE BOOLEAN IN6_IS_ADDR_V4TRANSLATED(CONST IN6_ADDR *a)
Definition: ws2ipdef.h:410
IN_ADDR imsf_multiaddr
Definition: ws2ipdef.h:538
#define a
Definition: ke_i.h:78
IN_ADDR imsf_slist[1]
Definition: ws2ipdef.h:542
short SHORT
Definition: pedump.c:59
#define FAR
Definition: guiddef.h:36
struct group_source_req GROUP_SOURCE_REQ
IN_ADDR imsf_interface
Definition: ws2ipdef.h:539
IN_ADDR imr_interface
Definition: ws2ipdef.h:534
WS2TCPIP_INLINE BOOLEAN IN6_IS_ADDR_ANYCAST(CONST IN6_ADDR *a)
Definition: ws2ipdef.h:357
unsigned char BOOLEAN
#define AF_INET6
Definition: winsock.h:369
IN_ADDR imr_sourceaddr
Definition: ws2ipdef.h:533
CONST IN6_ADDR in6addr_any
SOCKADDR_STORAGE gr_group
Definition: ws2ipdef.h:554
CONST IN6_ADDR in6addr_allnodesonnode
ULONG gsr_interface
Definition: ws2ipdef.h:558
WS2TCPIP_INLINE VOID IN6_SET_ADDR_LOOPBACK(PIN6_ADDR a)
Definition: ws2ipdef.h:462
WS2TCPIP_INLINE BOOLEAN IN6_IS_ADDR_SUBNET_ROUTER_ANYCAST(CONST IN6_ADDR *a)
Definition: ws2ipdef.h:337
sockaddr_gen iiNetmask
Definition: ws2ipdef.h:168
#define b
Definition: ke_i.h:79
WS2TCPIP_INLINE BOOLEAN IN6_IS_ADDR_MC_ORGLOCAL(CONST IN6_ADDR *a)
Definition: ws2ipdef.h:442
ULONG ipv6mr_interface
Definition: ws2ipdef.h:547
struct ip_mreq_source IP_MREQ_SOURCE
ULONG gf_numsrc
Definition: ws2ipdef.h:567
WS2TCPIP_INLINE BOOLEAN IN6_IS_ADDR_EUI64(CONST IN6_ADDR *a)
Definition: ws2ipdef.h:330
#define UNALIGNED
Definition: crtdefs.h:132
GLboolean GLboolean GLboolean b
Definition: glext.h:6204
SOCKADDR_STORAGE gf_group
Definition: ws2ipdef.h:565
IN6_ADDR sin6_addr
Definition: ws2ipdef.h:182
SOCKADDR_IN6_LH * PSOCKADDR_IN6
Definition: ws2ipdef.h:200
struct in6_pktinfo * PIN6_PKTINFO
Definition: tcpip.h:125
struct sockaddr_in6_w2ksp1 * LPSOCKADDR_IN6_W2KSP1
SOCKADDR_STORAGE gf_slist[1]
Definition: ws2ipdef.h:568
struct in_pktinfo * PIN_PKTINFO
SOCKET_ADDRESS iiNetmask
Definition: ws2ipdef.h:175
CONST IN_ADDR in4addr_any
SHORT sin6_family
Definition: ws2ipdef.h:152
struct in_pktinfo IN_PKTINFO
IN_ADDR ipi_addr
Definition: ws2ipdef.h:578
IN6_ADDR ipi6_addr
Definition: ws2ipdef.h:585
#define WS2TCPIP_INLINE
Definition: ws2ipdef.h:16
SOCKET_ADDRESS iiAddress
Definition: ws2ipdef.h:173
Definition: strmini.h:378
USHORT ADDRESS_FAMILY
Definition: ws2def.h:25
WS2TCPIP_INLINE BOOLEAN IN6_IS_ADDR_SITELOCAL(CONST IN6_ADDR *a)
Definition: ws2ipdef.h:371
CONST IN6_ADDR in6addr_solicitednodemulticastprefix
sockaddr_gen iiBroadcastAddress
Definition: ws2ipdef.h:167
ULONG ipi6_ifindex
Definition: ws2ipdef.h:586
WS2TCPIP_INLINE BOOLEAN IN6_IS_ADDR_LOOPBACK(CONST IN6_ADDR *a)
Definition: ws2ipdef.h:311
CONST IN_ADDR in4addr_allteredohostsonlink
struct _sockaddr_in6_pair * PSOCKADDR_IN6_PAIR
struct ipv6_mreq IPV6_MREQ
struct in6_addr sin6_addr
Definition: ws2ipdef.h:193
ULONG ipi_ifindex
Definition: ws2ipdef.h:579
union sockaddr_gen sockaddr_gen
CONST IN6_ADDR in6addr_allroutersonlink
SOCKADDR_STORAGE gsr_source
Definition: ws2ipdef.h:560
ULONG imsf_numsrc
Definition: ws2ipdef.h:541
CONST IN_ADDR in4addr_allnodesonlink
#define WS2IPDEF_ASSERT(exp)
Definition: ws2ipdef.h:10
WS2TCPIP_INLINE BOOLEAN IN6_IS_ADDR_UNSPECIFIED(CONST IN6_ADDR *a)
Definition: ws2ipdef.h:298
CONST IN6_ADDR in6addr_6to4prefix
WS2TCPIP_INLINE BOOLEAN IN6_IS_ADDR_V4COMPAT(CONST IN6_ADDR *a)
Definition: ws2ipdef.h:396
unsigned short USHORT
Definition: pedump.c:61
struct group_filter * PGROUP_FILTER
struct group_source_req * PGROUP_SOURCE_REQ
ULONG gf_interface
Definition: ws2ipdef.h:564
WS2TCPIP_INLINE BOOLEAN IN6ADDR_ISEQUAL(CONST SOCKADDR_IN6 *a, CONST SOCKADDR_IN6 *b)
Definition: ws2ipdef.h:503
struct sockaddr_in6 * PSOCKADDR_IN6_LH
struct sockaddr_in6_old AddressIn6
Definition: ws2ipdef.h:161
CONST IN6_ADDR in6addr_linklocalprefix
GLint GLint GLint GLint GLint GLint y
Definition: gl.h:1548
union _SOCKADDR_INET * PSOCKADDR_INET
SOCKADDR_IN Ipv4
Definition: ws2ipdef.h:218
SOCKADDR_IN6_LH SOCKADDR_IN6
Definition: ws2ipdef.h:199
WS2TCPIP_INLINE BOOLEAN IN6_IS_ADDR_GLOBAL(CONST IN6_ADDR *a)
Definition: ws2ipdef.h:378
WS2TCPIP_INLINE BOOLEAN IN6_IS_ADDR_MC_LINKLOCAL(CONST IN6_ADDR *a)
Definition: ws2ipdef.h:428
MULTICAST_MODE_TYPE imsf_fmode
Definition: ws2ipdef.h:540
CONST IN6_ADDR in6addr_loopback
MULTICAST_MODE_TYPE gf_fmode
Definition: ws2ipdef.h:566
CONST IN6_ADDR in6addr_teredoprefix_old
IN6_ADDR sin6_addr
Definition: ws2ipdef.h:155
C_ASSERT(sizeof(IN_PKTINFO)==8)
CONST IN6_ADDR in6addr_v4mappedprefix
struct _INTERFACE_INFO_EX * LPINTERFACE_INFO_EX
unsigned int ULONG
Definition: retypes.h:1
CONST IN6_ADDR in6addr_allnodesonlink
WS2TCPIP_INLINE BOOLEAN IN6_IS_ADDR_MC_NODELOCAL(CONST IN6_ADDR *a)
Definition: ws2ipdef.h:421
PSOCKADDR_IN6 SourceAddress
Definition: ws2ipdef.h:224
WS2TCPIP_INLINE BOOLEAN IN6ADDR_ISLOOPBACK(CONST SOCKADDR_IN6 *a)
Definition: ws2ipdef.h:496
struct group_req GROUP_REQ
GLboolean GLboolean GLboolean GLboolean a
Definition: glext.h:6204
CONST IN_ADDR in4addr_alligmpv3routersonlink
CONST IN6_ADDR in6addr_teredoprefix
#define memset(x, y, z)
Definition: compat.h:39
struct ip_mreq * PIP_MREQ
struct ip_msfilter * PIP_MSFILTER
IN_ADDR imr_interface
Definition: ws2ipdef.h:528
struct sockaddr_in AddressIn
Definition: ws2ipdef.h:160
ULONG sin6_flowinfo
Definition: ws2ipdef.h:154
struct sockaddr Address
Definition: ws2ipdef.h:159
#define CONST
Definition: pedump.c:81
CONST IN_ADDR in4addr_allroutersonlink
#define __int64
Definition: basetyps.h:16
WS2TCPIP_INLINE BOOLEAN IN6_IS_ADDR_LINKLOCAL(CONST IN6_ADDR *a)
Definition: ws2ipdef.h:364
CONST IN_ADDR in4addr_multicastprefix
WS2TCPIP_INLINE BOOLEAN IN6_IS_ADDR_V4MAPPED(CONST IN6_ADDR *a)
Definition: ws2ipdef.h:385