8 #define MSTCPIP_ASSERT_UNDEFINED 9 #define ASSERT(exp) ((VOID) 0) 13 #define MSTCPIP_INLINE __inline 15 #define MSTCPIP_INLINE static inline 26 #define SIO_RCVALL _WSAIOW(IOC_VENDOR,1) 27 #define SIO_RCVALL_MCAST _WSAIOW(IOC_VENDOR,2) 28 #define SIO_RCVALL_IGMPMCAST _WSAIOW(IOC_VENDOR,3) 29 #define SIO_KEEPALIVE_VALS _WSAIOW(IOC_VENDOR,4) 30 #define SIO_ABSORB_RTRALERT _WSAIOW(IOC_VENDOR,5) 31 #define SIO_UCAST_IF _WSAIOW(IOC_VENDOR,6) 32 #define SIO_LIMIT_BROADCASTS _WSAIOW(IOC_VENDOR,7) 33 #define SIO_INDEX_BIND _WSAIOW(IOC_VENDOR,8) 34 #define SIO_INDEX_MCASTIF _WSAIOW(IOC_VENDOR,9) 35 #define SIO_INDEX_ADD_MCAST _WSAIOW(IOC_VENDOR,10) 36 #define SIO_INDEX_DEL_MCAST _WSAIOW(IOC_VENDOR,11) 37 #define SIO_RCVALL_MCAST_IF _WSAIOW(IOC_VENDOR,13) 38 #define SIO_RCVALL_IF _WSAIOW(IOC_VENDOR,14) 47 #define RCVALL_MAX RCVALL_IPLEVEL 54 #if (NTDDI_VERSION >= NTDDI_WIN7) 55 DEFINE_GUID(SOCKET_DEFAULT2_QM_POLICY, 0xaec2ef9c, 0x3a4d, 0x4d3e, 0x88, 0x42, 0x23, 0x99, 0x42, 0xe3, 0x9a, 0x47);
58 #define SIO_ACQUIRE_PORT_RESERVATION _WSAIOW(IOC_VENDOR, 100) 59 #define SIO_RELEASE_PORT_RESERVATION _WSAIOW(IOC_VENDOR, 101) 60 #define SIO_ASSOCIATE_PORT_RESERVATION _WSAIOW(IOC_VENDOR, 102) 72 #define INVALID_PORT_RESERVATION_TOKEN ((ULONG64)0) 91 #if (NTDDI_VERSION >= NTDDI_VISTA) 93 #define _SECURE_SOCKET_TYPES_DEFINED_ 95 #define SIO_SET_SECURITY _WSAIOW(IOC_VENDOR, 200) 96 #define SIO_QUERY_SECURITY _WSAIORW(IOC_VENDOR, 201) 97 #define SIO_SET_PEER_TARGET_NAME _WSAIOW(IOC_VENDOR, 202) 98 #define SIO_DELETE_PEER_TARGET_NAME _WSAIOW(IOC_VENDOR, 203) 100 #define SIO_SOCKET_USAGE_NOTIFICATION _WSAIOW(IOC_VENDOR, 204) 102 typedef enum _SOCKET_USAGE_TYPE {
103 SYSTEM_CRITICAL_SOCKET = 1
106 typedef enum _SOCKET_SECURITY_PROTOCOL {
107 SOCKET_SECURITY_PROTOCOL_DEFAULT,
108 SOCKET_SECURITY_PROTOCOL_IPSEC,
109 #if (NTDDI_VERSION >= NTDDI_WIN7) 110 SOCKET_SECURITY_PROTOCOL_IPSEC2,
112 SOCKET_SECURITY_PROTOCOL_INVALID
113 } SOCKET_SECURITY_PROTOCOL;
115 #define SOCKET_SETTINGS_GUARANTEE_ENCRYPTION 0x1 116 #define SOCKET_SETTINGS_ALLOW_INSECURE 0x2 118 typedef struct _SOCKET_SECURITY_SETTINGS {
119 SOCKET_SECURITY_PROTOCOL SecurityProtocol;
121 } SOCKET_SECURITY_SETTINGS;
123 #define SOCKET_SETTINGS_IPSEC_SKIP_FILTER_INSTANTIATION 0x1 125 #if (NTDDI_VERSION >= NTDDI_WIN7) 127 #define SOCKET_SETTINGS_IPSEC_OPTIONAL_PEER_NAME_VERIFICATION 0x2 128 #define SOCKET_SETTINGS_IPSEC_ALLOW_FIRST_INBOUND_PKT_UNENCRYPTED 0x4 129 #define SOCKET_SETTINGS_IPSEC_PEER_NAME_IS_RAW_FORMAT 0x8 133 typedef struct _SOCKET_SECURITY_SETTINGS_IPSEC {
134 SOCKET_SECURITY_PROTOCOL SecurityProtocol;
137 GUID AuthipMMPolicyKey;
138 GUID AuthipQMPolicyKey;
141 ULONG UserNameStringLen;
142 ULONG DomainNameStringLen;
143 ULONG PasswordStringLen;
144 wchar_t AllStrings[0];
145 } SOCKET_SECURITY_SETTINGS_IPSEC;
147 typedef struct _SOCKET_PEER_TARGET_NAME {
148 SOCKET_SECURITY_PROTOCOL SecurityProtocol;
149 SOCKADDR_STORAGE PeerAddress;
150 ULONG PeerTargetNameStringLen;
151 wchar_t AllStrings[0];
152 } SOCKET_PEER_TARGET_NAME;
154 typedef struct _SOCKET_SECURITY_QUERY_TEMPLATE {
155 SOCKET_SECURITY_PROTOCOL SecurityProtocol;
156 SOCKADDR_STORAGE PeerAddress;
157 ULONG PeerTokenAccessMask;
158 } SOCKET_SECURITY_QUERY_TEMPLATE;
160 #if (NTDDI_VERSION >= NTDDI_WIN7) 162 #define SOCKET_QUERY_IPSEC2_ABORT_CONNECTION_ON_FIELD_CHANGE 0x1 164 #define SOCKET_QUERY_IPSEC2_FIELD_MASK_MM_SA_ID 0x1 165 #define SOCKET_QUERY_IPSEC2_FIELD_MASK_QM_SA_ID 0x2 167 typedef struct _SOCKET_SECURITY_QUERY_TEMPLATE_IPSEC2 {
168 SOCKET_SECURITY_PROTOCOL SecurityProtocol;
169 SOCKADDR_STORAGE PeerAddress;
170 ULONG PeerTokenAccessMask;
173 } SOCKET_SECURITY_QUERY_TEMPLATE_IPSEC2;
177 #define SOCKET_INFO_CONNECTION_SECURED 0x1 178 #define SOCKET_INFO_CONNECTION_ENCRYPTED 0x2 179 #define SOCKET_INFO_CONNECTION_IMPERSONATED 0x4 181 typedef struct _SOCKET_SECURITY_QUERY_INFO {
182 SOCKET_SECURITY_PROTOCOL SecurityProtocol;
184 UINT64 PeerApplicationAccessTokenHandle;
185 UINT64 PeerMachineAccessTokenHandle;
186 } SOCKET_SECURITY_QUERY_INFO;
188 #if (NTDDI_VERSION >= NTDDI_WIN7) 189 typedef struct _SOCKET_SECURITY_QUERY_INFO_IPSEC2 {
190 SOCKET_SECURITY_PROTOCOL SecurityProtocol;
192 UINT64 PeerApplicationAccessTokenHandle;
193 UINT64 PeerMachineAccessTokenHandle;
197 GUID SaLookupContext;
198 } SOCKET_SECURITY_QUERY_INFO_IPSEC2;
201 #define SIO_QUERY_WFP_ALE_ENDPOINT_HANDLE _WSAIOR(IOC_VENDOR, 205) 202 #define SIO_QUERY_RSS_SCALABILITY_INFO _WSAIOR(IOC_VENDOR, 210) 204 typedef struct _RSS_SCALABILITY_INFO {
206 } RSS_SCALABILITY_INFO, *PRSS_SCALABILITY_INFO;
210 #define IN4_CLASSA(i) (((LONG)(i) & 0x00000080) == 0) 211 #define IN4_CLASSB(i) (((LONG)(i) & 0x000000c0) == 0x00000080) 212 #define IN4_CLASSC(i) (((LONG)(i) & 0x000000e0) == 0x000000c0) 213 #define IN4_CLASSD(i) (((LONG)(i) & 0x000000f0) == 0x000000e0) 214 #define IN4_MULTICAST(i) IN4_CLASSD(i) 216 #define IN4ADDR_ANY INADDR_ANY 217 #define IN4ADDR_LOOPBACK 0x0100007f 218 #define IN4ADDR_BROADCAST INADDR_BROADCAST 219 #define IN4ADDR_NONE INADDR_NONE 220 #define IN4ADDR_ANY_INIT { 0 } 221 #define IN4ADDR_LOOPBACK_INIT { 0x7f, 0, 0, 1 } 222 #define IN4ADDR_BROADCAST_INIT { 0xff, 0xff, 0xff, 0xff } 223 #define IN4ADDR_ALLNODESONLINK_INIT { 0xe0, 0, 0, 1 } 224 #define IN4ADDR_ALLROUTERSONLINK_INIT { 0xe0, 0, 0, 2 } 225 #define IN4ADDR_ALLIGMPV3ROUTERSONLINK_INIT { 0xe0, 0, 0, 0x16 } 226 #define IN4ADDR_ALLTEREDONODESONLINK_INIT { 0xe0, 0, 0, 0xfd } 227 #define IN4ADDR_LINKLOCALPREFIX_INIT { 0xa9, 0xfe, } 228 #define IN4ADDR_MULTICASTPREFIX_INIT { 0xe0, } 230 #define IN4ADDR_LOOPBACKPREFIX_LENGTH 8 231 #define IN4ADDR_LINKLOCALPREFIX_LENGTH 16 232 #define IN4ADDR_MULTICASTPREFIX_LENGTH 4 234 #if (NTDDI_VERSION >= NTDDI_WIN2KSP1) 242 return (
BOOLEAN)(
a->s_addr ==
b->s_addr);
247 IN4_UNALIGNED_ADDR_EQUAL(
251 return (
BOOLEAN)(
a->s_addr ==
b->s_addr);
256 IN4_IS_ADDR_UNSPECIFIED(
259 return (
BOOLEAN)(
a->s_addr == IN4ADDR_ANY);
264 IN4_IS_UNALIGNED_ADDR_UNSPECIFIED(
267 return (
BOOLEAN)(
a->s_addr == IN4ADDR_ANY);
272 IN4_IS_ADDR_LOOPBACK(
280 IN4_IS_UNALIGNED_ADDR_LOOPBACK(
288 IN4_IS_ADDR_BROADCAST(
291 return (
BOOLEAN)(
a->s_addr == IN4ADDR_BROADCAST);
296 IN4_IS_UNALIGNED_ADDR_BROADCAST(
299 return (
BOOLEAN)(
a->s_addr == IN4ADDR_BROADCAST);
304 IN4_IS_ADDR_MULTICAST(
307 return (
BOOLEAN)IN4_MULTICAST(
a->s_addr);
312 IN4_IS_UNALIGNED_ADDR_MULTICAST(
315 return (
BOOLEAN)IN4_MULTICAST(
a->s_addr);
320 IN4_IS_ADDR_LINKLOCAL(
323 return (
BOOLEAN)((
a->s_addr & 0xffff) == 0xfea9);
328 IN4_IS_UNALIGNED_ADDR_LINKLOCAL(
331 return (
BOOLEAN)((
a->s_addr & 0xffff) == 0xfea9);
336 IN4_IS_ADDR_SITELOCAL(
342 #define IN4_IS_UNALIGNED_ADDR_SITELOCAL IN4_IS_ADDR_SITELOCAL 349 return (
BOOLEAN)(((
a->s_addr & 0x00ff) == 0x0a) ||
350 ((
a->s_addr & 0xf0ff) == 0x10ac) ||
351 ((
a->s_addr & 0xffff) == 0xa8c0));
356 IN4_IS_UNALIGNED_ADDR_RFC1918(
360 return IN4_IS_ADDR_RFC1918(&Ipv4Address);
365 IN4_IS_ADDR_MC_LINKLOCAL(
368 return (
BOOLEAN)((
a->s_addr & 0xffffff) == 0xe0);
373 IN4_IS_ADDR_MC_ADMINLOCAL(
376 return (
BOOLEAN)((
a->s_addr & 0xffff) == 0xffef);
381 IN4_IS_ADDR_MC_SITELOCAL(
384 return (
BOOLEAN)((
a->s_addr & 0xff) == 0xef) &&
385 !IN4_IS_ADDR_MC_ADMINLOCAL(
a);
398 memset(
a->sin_zero, 0,
sizeof(
a->sin_zero));
408 a->sin_addr.s_addr = IN4ADDR_ANY;
409 memset(
a->sin_zero, 0,
sizeof(
a->sin_zero));
419 a->sin_addr.s_addr = IN4ADDR_LOOPBACK;
420 memset(
a->sin_zero, 0,
sizeof(
a->sin_zero));
429 return IN4_IS_ADDR_UNSPECIFIED(&
a->sin_addr);
438 return IN4_IS_ADDR_LOOPBACK(&
a->sin_addr);
446 SCOPE_ID UnspecifiedScopeId = {{{0}}};
448 return UnspecifiedScopeId;
458 return (
BOOLEAN)(IN4ADDR_SCOPE_ID(
a).Value == IN4ADDR_SCOPE_ID(
b).Value &&
459 IN4_ADDR_EQUAL(&
a->sin_addr, &
b->sin_addr));
464 IN4ADDR_ISUNSPECIFIED(
468 return (
BOOLEAN)(IN4ADDR_SCOPE_ID(
a).Value == 0 &&
469 IN4_IS_ADDR_UNSPECIFIED(&
a->sin_addr));
472 #define INET_IS_ALIGNED(Pointer, Type) \ 473 (((ULONG_PTR)Pointer & (TYPE_ALIGNMENT(Type)-1)) == 0) 477 Ipv4UnicastAddressScope(
495 Ipv4MulticastAddressScope(
522 if (IN4_IS_ADDR_BROADCAST(&Ipv4Address)) {
524 }
else if (IN4_IS_ADDR_MULTICAST(&Ipv4Address)) {
525 return Ipv4MulticastAddressScope((
UCHAR *) &Ipv4Address);
527 return Ipv4UnicastAddressScope((
UCHAR *) &Ipv4Address);
538 if (IN4_IS_ADDR_MULTICAST(&Ipv4Address)) {
541 if (IN4_IS_ADDR_BROADCAST(&Ipv4Address)) {
544 if (IN4_IS_ADDR_UNSPECIFIED(&Ipv4Address)) {
547 if (((Ipv4Address.
s_addr & 0x000000ff) == 0) ||
548 ((Ipv4Address.
s_addr & 0x000000f0) == 240)) {
556 IN4_UNCANONICALIZE_SCOPE_ID(
572 IN4_IS_ADDR_6TO4ELIGIBLE(
576 !(IN4_IS_ADDR_LOOPBACK(
a) ||
577 IN4_IS_ADDR_LINKLOCAL(
a) ||
578 IN4_IS_ADDR_SITELOCAL(
a) ||
579 IN4_IS_ADDR_RFC1918(
a)));
584 IN4_IS_UNALIGNED_ADDR_6TO4ELIGIBLE(
588 return IN4_IS_ADDR_6TO4ELIGIBLE(&Ipv4Address);
615 IN6_IS_ADDR_ALLNODESONNODE(
623 IN6_IS_ADDR_ALLNODESONLINK(
631 IN6_IS_ADDR_ALLROUTERSONLINK(
639 IN6_IS_ADDR_SOLICITEDNODE(
651 return (
BOOLEAN)(((
a->s6_words[4] & 0xfffd) == 0x0000) &&
652 (
a->s6_words[5] == 0xfe5e));
692 return IN6_IS_ADDR_ISATAP(&
a->sin6_addr);
701 return IN6_IS_ADDR_6TO4(&
a->sin6_addr);
710 return IN6_IS_ADDR_TEREDO(&
a->sin6_addr);
715 IN6_GET_ADDR_V4MAPPED(
718 return (
CONST UCHAR *) (Ipv6Address->s6_words + 6);
723 IN6_GET_ADDR_V4COMPAT(
726 return (
CONST UCHAR *) (Ipv6Address->s6_words + 6);
731 IN6_EXTRACT_V4ADDR_FROM_ISATAP(
734 return (
CONST UCHAR *) (Ipv6Address->s6_words + 6);
739 IN6_EXTRACT_V4ADDR_FROM_6TO4(
742 return (
CONST UCHAR *) (Ipv6Address->s6_words + 1);
747 IN6_SET_ADDR_V4MAPPED(
760 IN6_SET_ADDR_V4COMPAT(
773 IN6_SET_ADDR_SOLICITEDNODE(
778 Multicast->s6_bytes[13] = Unicast->s6_bytes[13];
779 Multicast->s6_bytes[14] = Unicast->s6_bytes[14];
780 Multicast->s6_bytes[15] = Unicast->s6_bytes[15];
785 IN6_SET_ISATAP_IDENTIFIER(
789 if (IN4_IS_ADDR_6TO4ELIGIBLE(Ipv4Address)) {
790 Ipv6Address->s6_words[4] = 0x0002;
792 Ipv6Address->s6_words[4] = 0x0000;
794 Ipv6Address->s6_words[5] = 0xFE5E;
804 Ipv6Address->s6_words[0] = 0x0220;
806 Ipv6Address->s6_words[3] = 0x0000;
811 Ipv6UnicastAddressScope(
836 return (
SCOPE_LEVEL)(Ipv6Address->s6_bytes[1] & 0xf);
845 return IN6_MULTICAST_SCOPE(
Address);
847 return Ipv6UnicastAddressScope(
Address);
867 Ipv4Address = IN6_EXTRACT_V4ADDR_FROM_ISATAP(Ipv6Address);
868 }
else if (IN6_IS_ADDR_6TO4(Ipv6Address)) {
869 Ipv4Address = IN6_EXTRACT_V4ADDR_FROM_6TO4(Ipv6Address);
881 IN6_UNCANONICALIZE_SCOPE_ID(
895 #if (NTDDI_VERSION >= NTDDI_VISTA) 907 a->sin6_flowinfo = 0;
909 a->sin6_scope_struct = scope;
910 IN6_UNCANONICALIZE_SCOPE_ID(&
a->sin6_addr, &
a->sin6_scope_struct);
922 a6->sin6_port =
port;
923 a6->sin6_flowinfo = 0;
924 IN6_SET_ADDR_V4MAPPED(&a6->sin6_addr,
a4);
925 a6->sin6_scope_struct = scope;
926 IN4_UNCANONICALIZE_SCOPE_ID(
a4, &a6->sin6_scope_struct);
948 INET_UNALIGNED_ADDR_EQUAL(
963 INET_IS_ADDR_UNSPECIFIED(
977 INET_IS_UNALIGNED_ADDR_UNSPECIFIED(
991 INET_IS_ADDR_LOOPBACK(
1005 INET_IS_ADDR_BROADCAST(
1019 INET_IS_ADDR_MULTICAST(
1033 INET_ADDR_UNSPECIFIED(
1074 INET_SOCKADDR_LENGTH(
1085 #if (NTDDI_VERSION >= NTDDI_VISTA) 1088 INETADDR_SETSOCKADDR(
1120 INETADDR_SETLOOPBACK(
1146 INETADDR_ISLOOPBACK(
1159 INETADDR_ISV4MAPPED(
1178 return (
BOOLEAN)((
sa.Value ==
sb.Value) && INET_ADDR_EQUAL(af, aa,
ab));
1183 NL_IS_ADDR_UNSPECIFIED(
1188 return (
BOOLEAN)((
s.Value == 0) && INET_IS_ADDR_UNSPECIFIED(af,
a));
1209 INETADDR_ISUNSPECIFIED(
1220 #if (NTDDI_VERSION >= NTDDI_VISTA) 1272 INETADDR_SET_ADDRESS(
1286 INET_UNCANONICALIZE_SCOPE_ID(
1300 #ifndef __IP2STRING__ 1301 #define __IP2STRING__ 1303 #if (NTDDI_VERSION >= NTDDI_VISTA) 1376 #define RtlIpv4AddressToString RtlIpv4AddressToStringW 1377 #define RtlIpv4StringToAddress RtlIpv4StringToAddressW 1378 #define RtlIpv4AddressToStringEx RtlIpv4AddressToStringExW 1379 #define RtlIpv4StringToAddressEx RtlIpv4StringToAddressExW 1381 #define RtlIpv4AddressToString RtlIpv4AddressToStringA 1382 #define RtlIpv4StringToAddress RtlIpv4StringToAddressA 1383 #define RtlIpv4AddressToStringEx RtlIpv4AddressToStringExA 1384 #define RtlIpv4StringToAddressEx RtlIpv4StringToAddressExA 1460 #define RtlIpv6AddressToString RtlIpv6AddressToStringW 1461 #define RtlIpv6StringToAddress RtlIpv6StringToAddressW 1462 #define RtlIpv6StringToAddressEx RtlIpv6StringToAddressExW 1463 #define RtlIpv6AddressToStringEx RtlIpv6AddressToStringExW 1465 #define RtlIpv6AddressToString RtlIpv6AddressToStringA 1466 #define RtlIpv6StringToAddress RtlIpv6StringToAddressA 1467 #define RtlIpv6StringToAddressEx RtlIpv6StringToAddressExA 1468 #define RtlIpv6AddressToStringEx RtlIpv6AddressToStringExA 1476 typedef union _DL_EUI48 DL_EUI48, *PDL_EUI48;
1481 RtlEthernetAddressToStringA(
1482 _In_ const DL_EUI48 *Addr,
1488 RtlEthernetAddressToStringW(
1489 _In_ const DL_EUI48 *Addr,
1495 RtlEthernetStringToAddressA(
1498 _Out_ DL_EUI48 *Addr);
1503 RtlEthernetStringToAddressW(
1506 _Out_ DL_EUI48 *Addr);
1509 #define RtlEthernetAddressToString RtlEthernetAddressToStringW 1510 #define RtlEthernetStringToAddress RtlEthernetStringToAddressW 1512 #define RtlEthernetAddressToString RtlEthernetAddressToStringA 1513 #define RtlEthernetStringToAddress RtlEthernetStringToAddressA
NTSYSAPI NTSTATUS NTAPI RtlIpv4StringToAddressA(_In_ PCSTR String, _In_ BOOLEAN Strict, _Out_ PCSTR *Terminator, _Out_ struct in_addr *Addr)
struct _INET_PORT_RANGE INET_PORT_RANGE
IN PCO_ADDRESS_FAMILY AddressFamily
WS2TCPIP_INLINE BOOLEAN IN6_IS_ADDR_MULTICAST(CONST IN6_ADDR *a)
#define IN6ADDR_SOLICITEDNODEMULTICASTPREFIX_LENGTH
int memcmp(void *Buffer1, void *Buffer2, ACPI_SIZE Count)
NTSYSAPI PWSTR NTAPI RtlIpv4AddressToStringW(_In_ const struct in_addr *Addr, _Out_writes_(16) PWCHAR S)
WS2TCPIP_INLINE VOID IN6ADDR_SETANY(PSOCKADDR_IN6 a)
NTSYSAPI PSTR NTAPI RtlIpv6AddressToStringA(_In_ const struct in6_addr *Addr, _Out_writes_(46) PSTR S)
#define UNREFERENCED_PARAMETER(P)
struct _INET_PORT_RANGE * PINET_PORT_RANGE
NTSYSAPI NTSTATUS NTAPI RtlIpv4StringToAddressExW(_In_ PCWSTR AddressString, _In_ BOOLEAN Strict, _Out_ struct in_addr *Address, _Out_ PUSHORT Port)
struct INET_PORT_RESERVATION_TOKEN * PINET_PORT_RESERVATION_TOKEN
#define _Out_writes_to_(size, count)
_IRQL_requires_same_ _In_ PLSA_STRING _In_ SECURITY_LOGON_TYPE _In_ ULONG _In_ ULONG _In_opt_ PTOKEN_GROUPS _In_ PTOKEN_SOURCE _Out_ PVOID _Out_ PULONG _Inout_ PLUID _Out_ PHANDLE Token
NTSYSAPI PSTR NTAPI RtlIpv4AddressToStringA(_In_ const struct in_addr *Addr, _Out_writes_(16) PSTR S)
WS2TCPIP_INLINE BOOLEAN IN6ADDR_ISUNSPECIFIED(CONST SOCKADDR_IN6 *a)
WS2TCPIP_INLINE BOOLEAN IN6_ADDR_EQUAL(CONST IN6_ADDR *x, CONST IN6_ADDR *y)
static const struct update_accum a4
struct in_addr * PIN_ADDR
WS2TCPIP_INLINE BOOLEAN IN6ADDR_ISANY(CONST SOCKADDR_IN6 *a)
WS2TCPIP_INLINE VOID IN6ADDR_SETLOOPBACK(PSOCKADDR_IN6 a)
_Must_inspect_result_ _In_ WDFDEVICE _In_ WDFSTRING String
NTSTATUS(* NTAPI)(IN PFILE_FULL_EA_INFORMATION EaBuffer, IN ULONG EaLength, OUT PULONG ErrorOffset)
WS2TCPIP_INLINE BOOLEAN IN6_IS_ADDR_V4TRANSLATED(CONST IN6_ADDR *a)
DEFINE_GUID(SOCKET_DEFAULT2_QM_POLICY, 0xaec2ef9c, 0x3a4d, 0x4d3e, 0x88, 0x42, 0x23, 0x99, 0x42, 0xe3, 0x9a, 0x47)
_Reserved_ PVOID Reserved
CONST IN6_ADDR in6addr_any
CONST IN6_ADDR in6addr_allnodesonnode
UCHAR ab[sizeof("Hello World!") -1]
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING _Out_opt_ PUSHORT _Inout_opt_ PUNICODE_STRING Value
GLboolean GLboolean GLboolean b
#define IN6ADDR_TEREDOPREFIX_LENGTH
_Must_inspect_result_ _In_ ULONG Flags
SOCKADDR_IN6_LH * PSOCKADDR_IN6
struct INET_PORT_RESERVATION_INSTANCE * PINET_PORT_RESERVATION_INSTANCE
NTSYSAPI NTSTATUS NTAPI RtlIpv6StringToAddressW(_In_ PCWSTR String, _Out_ PCWSTR *Terminator, _Out_ struct in6_addr *Addr)
CONST IN_ADDR in4addr_any
NTSYSAPI NTSTATUS NTAPI RtlIpv4StringToAddressExA(_In_ PCSTR AddressString, _In_ BOOLEAN Strict, _Out_ struct in_addr *Address, _Out_ PUSHORT Port)
NTSYSAPI NTSTATUS NTAPI RtlIpv6StringToAddressExW(_In_ PCWSTR AddressString, _Out_ struct in6_addr *Address, _Out_ PULONG ScopeId, _Out_ PUSHORT Port)
WS2TCPIP_INLINE BOOLEAN IN6_IS_ADDR_SITELOCAL(CONST IN6_ADDR *a)
CONST IN6_ADDR in6addr_solicitednodemulticastprefix
NTSYSAPI NTSTATUS NTAPI RtlIpv4AddressToStringExA(_In_ const struct in_addr *Address, _In_ USHORT Port, _Out_writes_to_(*AddressStringLength, *AddressStringLength) PCHAR AddressString, _Inout_ PULONG AddressStringLength)
GLenum const GLvoid * addr
struct INET_PORT_RESERVATION_INFORMATION * PINET_PORT_RESERVATION_INFORMATION
WS2TCPIP_INLINE BOOLEAN IN6_IS_ADDR_LOOPBACK(CONST IN6_ADDR *a)
NTSYSAPI NTSTATUS NTAPI RtlIpv6AddressToStringExA(_In_ const struct in6_addr *Address, _In_ ULONG ScopeId, _In_ USHORT Port, _Out_writes_to_(*AddressStringLength, *AddressStringLength) PSTR AddressString, _Inout_ PULONG AddressStringLength)
CONST IN6_ADDR in6addr_allroutersonlink
struct in6_addr * PIN6_ADDR
WS2TCPIP_INLINE BOOLEAN IN6_IS_ADDR_UNSPECIFIED(CONST IN6_ADDR *a)
CONST IN6_ADDR in6addr_6to4prefix
WS2TCPIP_INLINE BOOLEAN IN6_IS_ADDR_V4COMPAT(CONST IN6_ADDR *a)
WS2TCPIP_INLINE BOOLEAN IN6ADDR_ISEQUAL(CONST SOCKADDR_IN6 *a, CONST SOCKADDR_IN6 *b)
struct sockaddr_in SOCKADDR_IN
struct sockaddr_in * PSOCKADDR_IN
SOCKADDR_IN6_LH SOCKADDR_IN6
NTSYSAPI NTSTATUS NTAPI RtlIpv6AddressToStringExW(_In_ const struct in6_addr *Address, _In_ ULONG ScopeId, _In_ USHORT Port, _Out_writes_to_(*AddressStringLength, *AddressStringLength) PWCHAR AddressString, _Inout_ PULONG AddressStringLength)
CONST IN6_ADDR in6addr_teredoprefix_old
struct RCVALL_IF * PRCVALL_IF
CONST IN6_ADDR in6addr_v4mappedprefix
NTSYSAPI NTSTATUS NTAPI RtlIpv6StringToAddressExA(_In_ PCSTR AddressString, _Out_ struct in6_addr *Address, _Out_ PULONG ScopeId, _Out_ PUSHORT Port)
INET_PORT_RESERVATION_TOKEN
CONST IN6_ADDR in6addr_allnodesonlink
#define RtlCopyMemory(Destination, Source, Length)
WS2TCPIP_INLINE BOOLEAN IN6ADDR_ISLOOPBACK(CONST SOCKADDR_IN6 *a)
GLboolean GLboolean GLboolean GLboolean a
unsigned long long UINT64
CONST IN6_ADDR in6addr_teredoprefix
NTSYSAPI NTSTATUS NTAPI RtlIpv6StringToAddressA(_In_ PCSTR String, _Out_ PCSTR *Terminator, _Out_ struct in6_addr *Addr)
NTSYSAPI NTSTATUS NTAPI RtlIpv4StringToAddressW(_In_ PCWSTR String, _In_ BOOLEAN Strict, _Out_ PCWSTR *Terminator, _Out_ struct in_addr *Addr)
#define RTL_BITS_OF(sizeOfArg)
static struct sockaddr_in sa
#define IN6ADDR_6TO4PREFIX_LENGTH
enum RCVALL_VALUE * PRCVALL_VALUE
NTSYSAPI PWSTR NTAPI RtlIpv6AddressToStringW(_In_ const struct in6_addr *Addr, _Out_writes_(46) PWSTR S)
WS2TCPIP_INLINE BOOLEAN IN6_IS_ADDR_LINKLOCAL(CONST IN6_ADDR *a)
struct _INET_PORT_RANGE * PINET_PORT_RESERVATION
#define _Out_writes_(size)
NTSTATUS NTAPI RtlIpv4AddressToStringExW(_In_ const struct in_addr *Address, _In_ USHORT Port, _Out_writes_to_(*AddressStringLength, *AddressStringLength) PWCHAR AddressString, _Inout_ PULONG AddressStringLength)
WS2TCPIP_INLINE BOOLEAN IN6_IS_ADDR_V4MAPPED(CONST IN6_ADDR *a)