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)
55DEFINE_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)
102typedef enum _SOCKET_USAGE_TYPE {
103 SYSTEM_CRITICAL_SOCKET = 1
106typedef 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
118typedef 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
133typedef 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;
147typedef 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;
154typedef 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
167typedef 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
181typedef 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)
189typedef 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)
204typedef 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);
247IN4_UNALIGNED_ADDR_EQUAL(
251 return (
BOOLEAN)(
a->s_addr ==
b->s_addr);
256IN4_IS_ADDR_UNSPECIFIED(
259 return (
BOOLEAN)(
a->s_addr == IN4ADDR_ANY);
264IN4_IS_UNALIGNED_ADDR_UNSPECIFIED(
267 return (
BOOLEAN)(
a->s_addr == IN4ADDR_ANY);
280IN4_IS_UNALIGNED_ADDR_LOOPBACK(
288IN4_IS_ADDR_BROADCAST(
291 return (
BOOLEAN)(
a->s_addr == IN4ADDR_BROADCAST);
296IN4_IS_UNALIGNED_ADDR_BROADCAST(
299 return (
BOOLEAN)(
a->s_addr == IN4ADDR_BROADCAST);
304IN4_IS_ADDR_MULTICAST(
307 return (
BOOLEAN)IN4_MULTICAST(
a->s_addr);
312IN4_IS_UNALIGNED_ADDR_MULTICAST(
315 return (
BOOLEAN)IN4_MULTICAST(
a->s_addr);
320IN4_IS_ADDR_LINKLOCAL(
323 return (
BOOLEAN)((
a->s_addr & 0xffff) == 0xfea9);
328IN4_IS_UNALIGNED_ADDR_LINKLOCAL(
331 return (
BOOLEAN)((
a->s_addr & 0xffff) == 0xfea9);
336IN4_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));
356IN4_IS_UNALIGNED_ADDR_RFC1918(
360 return IN4_IS_ADDR_RFC1918(&Ipv4Address);
365IN4_IS_ADDR_MC_LINKLOCAL(
368 return (
BOOLEAN)((
a->s_addr & 0xffffff) == 0xe0);
373IN4_IS_ADDR_MC_ADMINLOCAL(
376 return (
BOOLEAN)((
a->s_addr & 0xffff) == 0xffef);
381IN4_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));
464IN4ADDR_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)
477Ipv4UnicastAddressScope(
495Ipv4MulticastAddressScope(
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)) {
556IN4_UNCANONICALIZE_SCOPE_ID(
572IN4_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)));
584IN4_IS_UNALIGNED_ADDR_6TO4ELIGIBLE(
588 return IN4_IS_ADDR_6TO4ELIGIBLE(&Ipv4Address);
615IN6_IS_ADDR_ALLNODESONNODE(
623IN6_IS_ADDR_ALLNODESONLINK(
631IN6_IS_ADDR_ALLROUTERSONLINK(
639IN6_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);
715IN6_GET_ADDR_V4MAPPED(
718 return (
CONST UCHAR *) (Ipv6Address->s6_words + 6);
723IN6_GET_ADDR_V4COMPAT(
726 return (
CONST UCHAR *) (Ipv6Address->s6_words + 6);
731IN6_EXTRACT_V4ADDR_FROM_ISATAP(
734 return (
CONST UCHAR *) (Ipv6Address->s6_words + 6);
739IN6_EXTRACT_V4ADDR_FROM_6TO4(
742 return (
CONST UCHAR *) (Ipv6Address->s6_words + 1);
747IN6_SET_ADDR_V4MAPPED(
760IN6_SET_ADDR_V4COMPAT(
773IN6_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];
785IN6_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;
811Ipv6UnicastAddressScope(
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);
881IN6_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);
948INET_UNALIGNED_ADDR_EQUAL(
963INET_IS_ADDR_UNSPECIFIED(
977INET_IS_UNALIGNED_ADDR_UNSPECIFIED(
991INET_IS_ADDR_LOOPBACK(
1005INET_IS_ADDR_BROADCAST(
1019INET_IS_ADDR_MULTICAST(
1033INET_ADDR_UNSPECIFIED(
1074INET_SOCKADDR_LENGTH(
1085#if (NTDDI_VERSION >= NTDDI_VISTA)
1088INETADDR_SETSOCKADDR(
1120INETADDR_SETLOOPBACK(
1178 return (
BOOLEAN)((
sa.Value ==
sb.Value) && INET_ADDR_EQUAL(af, aa,
ab));
1183NL_IS_ADDR_UNSPECIFIED(
1188 return (
BOOLEAN)((
s.Value == 0) && INET_IS_ADDR_UNSPECIFIED(af,
a));
1209INETADDR_ISUNSPECIFIED(
1220#if (NTDDI_VERSION >= NTDDI_VISTA)
1272INETADDR_SET_ADDRESS(
1286INET_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
1476typedef union _DL_EUI48 DL_EUI48, *PDL_EUI48;
1481RtlEthernetAddressToStringA(
1482 _In_ const DL_EUI48 *Addr,
1488RtlEthernetAddressToStringW(
1489 _In_ const DL_EUI48 *Addr,
1495RtlEthernetStringToAddressA(
1498 _Out_ DL_EUI48 *Addr);
1503RtlEthernetStringToAddressW(
1506 _Out_ DL_EUI48 *Addr);
1509#define RtlEthernetAddressToString RtlEthernetAddressToStringW
1510#define RtlEthernetStringToAddress RtlEthernetStringToAddressW
1512#define RtlEthernetAddressToString RtlEthernetAddressToStringA
1513#define RtlEthernetStringToAddress RtlEthernetStringToAddressA
unsigned long long UINT64
int memcmp(void *Buffer1, void *Buffer2, ACPI_SIZE Count)
static struct sockaddr_in sa
GLboolean GLboolean GLboolean b
GLenum const GLvoid * addr
GLboolean GLboolean GLboolean GLboolean a
struct in6_addr * PIN6_ADDR
struct in_addr * PIN_ADDR
#define IN6_IS_ADDR_LINKLOCAL(a)
#define IN6_IS_ADDR_UNSPECIFIED(a)
#define IN6_IS_ADDR_LOOPBACK(a)
#define IN6_IS_ADDR_V4COMPAT(a)
#define IN6_IS_ADDR_V4MAPPED(a)
#define IN6_IS_ADDR_SITELOCAL(a)
#define IN6_IS_ADDR_MULTICAST(a)
const struct in6_addr in6addr_any
UCHAR ab[sizeof("Hello World!") -1]
static const struct update_accum a4
struct _INET_PORT_RANGE * PINET_PORT_RANGE
enum RCVALL_VALUE * PRCVALL_VALUE
struct _INET_PORT_RANGE * PINET_PORT_RESERVATION
struct INET_PORT_RESERVATION_INSTANCE * PINET_PORT_RESERVATION_INSTANCE
struct _INET_PORT_RANGE INET_PORT_RANGE
struct INET_PORT_RESERVATION_TOKEN * PINET_PORT_RESERVATION_TOKEN
struct INET_PORT_RESERVATION_INFORMATION * PINET_PORT_RESERVATION_INFORMATION
struct RCVALL_IF * PRCVALL_IF
IN PCO_ADDRESS_FAMILY AddressFamily
NTSYSAPI NTSTATUS NTAPI RtlIpv6StringToAddressW(_In_ PCWSTR String, _Out_ PCWSTR *Terminator, _Out_ struct in6_addr *Addr)
NTSYSAPI NTSTATUS NTAPI RtlIpv6StringToAddressExW(_In_ PCWSTR AddressString, _Out_ struct in6_addr *Address, _Out_ PULONG ScopeId, _Out_ PUSHORT Port)
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)
NTSTATUS NTAPI RtlIpv4AddressToStringExW(_In_ const struct in_addr *Address, _In_ USHORT Port, _Out_writes_to_(*AddressStringLength, *AddressStringLength) PWCHAR AddressString, _Inout_ PULONG AddressStringLength)
NTSYSAPI NTSTATUS NTAPI RtlIpv4StringToAddressExA(_In_ PCSTR AddressString, _In_ BOOLEAN Strict, _Out_ struct in_addr *Address, _Out_ PUSHORT Port)
NTSYSAPI NTSTATUS NTAPI RtlIpv4AddressToStringExA(_In_ const struct in_addr *Address, _In_ USHORT Port, _Out_writes_to_(*AddressStringLength, *AddressStringLength) PCHAR AddressString, _Inout_ PULONG AddressStringLength)
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)
NTSYSAPI PSTR NTAPI RtlIpv6AddressToStringA(_In_ const struct in6_addr *Addr, _Out_writes_(46) PSTR S)
NTSYSAPI NTSTATUS NTAPI RtlIpv6StringToAddressExA(_In_ PCSTR AddressString, _Out_ struct in6_addr *Address, _Out_ PULONG ScopeId, _Out_ PUSHORT Port)
NTSYSAPI PWSTR NTAPI RtlIpv4AddressToStringW(_In_ const struct in_addr *Addr, _Out_writes_(16) PWCHAR S)
NTSYSAPI NTSTATUS NTAPI RtlIpv4StringToAddressA(_In_ PCSTR String, _In_ BOOLEAN Strict, _Out_ PCSTR *Terminator, _Out_ struct in_addr *Addr)
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)
NTSYSAPI NTSTATUS NTAPI RtlIpv4StringToAddressExW(_In_ PCWSTR AddressString, _In_ BOOLEAN Strict, _Out_ struct in_addr *Address, _Out_ PUSHORT Port)
NTSYSAPI PWSTR NTAPI RtlIpv6AddressToStringW(_In_ const struct in6_addr *Addr, _Out_writes_(46) PWSTR S)
#define _Out_writes_to_(s, c)
#define RTL_BITS_OF(sizeOfArg)
#define UNREFERENCED_PARAMETER(P)
#define DEFINE_GUID(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8)
INET_PORT_RESERVATION_TOKEN
NTSYSAPI PSTR NTAPI RtlIpv4AddressToStringA(_In_ const struct in_addr *Addr, _Out_writes_(16) PSTR S)
#define RtlCopyMemory(Destination, Source, Length)
_Must_inspect_result_ _In_ WDFDEVICE _In_ WDFSTRING String
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING _Out_opt_ PUSHORT _Inout_opt_ PUNICODE_STRING Value
_Reserved_ PVOID Reserved
struct sockaddr_in SOCKADDR_IN
struct sockaddr_in * PSOCKADDR_IN
WS2TCPIP_INLINE VOID IN6ADDR_SETLOOPBACK(PSOCKADDR_IN6 a)
CONST IN6_ADDR in6addr_allnodesonlink
CONST IN6_ADDR in6addr_allnodesonnode
CONST IN_ADDR in4addr_any
CONST IN6_ADDR in6addr_teredoprefix
WS2TCPIP_INLINE BOOLEAN IN6ADDR_ISANY(CONST SOCKADDR_IN6 *a)
WS2TCPIP_INLINE BOOLEAN IN6ADDR_ISUNSPECIFIED(CONST SOCKADDR_IN6 *a)
CONST IN6_ADDR in6addr_teredoprefix_old
SOCKADDR_IN6_LH * PSOCKADDR_IN6
CONST IN6_ADDR in6addr_6to4prefix
WS2TCPIP_INLINE VOID IN6ADDR_SETANY(PSOCKADDR_IN6 a)
WS2TCPIP_INLINE BOOLEAN IN6_ADDR_EQUAL(CONST IN6_ADDR *x, CONST IN6_ADDR *y)
#define IN6ADDR_TEREDOPREFIX_LENGTH
WS2TCPIP_INLINE BOOLEAN IN6ADDR_ISEQUAL(CONST SOCKADDR_IN6 *a, CONST SOCKADDR_IN6 *b)
WS2TCPIP_INLINE BOOLEAN IN6_IS_ADDR_V4TRANSLATED(CONST IN6_ADDR *a)
#define IN6ADDR_6TO4PREFIX_LENGTH
WS2TCPIP_INLINE BOOLEAN IN6ADDR_ISLOOPBACK(CONST SOCKADDR_IN6 *a)
CONST IN6_ADDR in6addr_allroutersonlink
CONST IN6_ADDR in6addr_v4mappedprefix
#define IN6ADDR_SOLICITEDNODEMULTICASTPREFIX_LENGTH
CONST IN6_ADDR in6addr_solicitednodemulticastprefix
SOCKADDR_IN6_LH SOCKADDR_IN6
_Must_inspect_result_ _In_ ULONG Flags