19#ifndef WINE_IPTYPES_H_
20#define WINE_IPTYPES_H_
26#define MAX_ADAPTER_DESCRIPTION_LENGTH 128
27#define MAX_ADAPTER_NAME_LENGTH 256
28#define MAX_ADAPTER_ADDRESS_LENGTH 8
29#define MAX_HOSTNAME_LEN 128
30#define MAX_DOMAIN_NAME_LEN 128
31#define MAX_SCOPE_ID_LEN 256
32#define MAX_DHCPV6_DUID_LENGTH 130
33#define MAX_DNS_SUFFIX_STRING_LENGTH 256
35#define BROADCAST_NODETYPE 1
36#define PEER_TO_PEER_NODETYPE 2
37#define MIXED_NODETYPE 4
38#define HYBRID_NODETYPE 8
97#define IP_ADAPTER_ADDRESS_DNS_ELIGIBLE 0x00000001
98#define IP_ADAPTER_ADDRESS_TRANSIENT 0x00000002
100typedef struct _IP_ADAPTER_UNICAST_ADDRESS_LH {
107 struct _IP_ADAPTER_UNICAST_ADDRESS_LH *
Next;
113 ULONG PreferredLifetime;
115 UINT8 OnLinkPrefixLength;
116} IP_ADAPTER_UNICAST_ADDRESS_LH, *PIP_ADAPTER_UNICAST_ADDRESS_LH;
118typedef struct _IP_ADAPTER_UNICAST_ADDRESS_XP {
125 struct _IP_ADAPTER_UNICAST_ADDRESS_XP *
Next;
131 ULONG PreferredLifetime;
133} IP_ADAPTER_UNICAST_ADDRESS_XP, *PIP_ADAPTER_UNICAST_ADDRESS_XP;
135typedef IP_ADAPTER_UNICAST_ADDRESS_LH IP_ADAPTER_UNICAST_ADDRESS;
136typedef IP_ADAPTER_UNICAST_ADDRESS_LH *PIP_ADAPTER_UNICAST_ADDRESS;
138typedef struct _IP_ADAPTER_ANYCAST_ADDRESS {
146 struct _IP_ADAPTER_ANYCAST_ADDRESS *
Next;
148} IP_ADAPTER_ANYCAST_ADDRESS, *PIP_ADAPTER_ANYCAST_ADDRESS;
150typedef struct _IP_ADAPTER_MULTICAST_ADDRESS {
158 struct _IP_ADAPTER_MULTICAST_ADDRESS *
Next;
160} IP_ADAPTER_MULTICAST_ADDRESS, *PIP_ADAPTER_MULTICAST_ADDRESS;
162typedef struct _IP_ADAPTER_DNS_SERVER_ADDRESS {
170 struct _IP_ADAPTER_DNS_SERVER_ADDRESS *
Next;
172} IP_ADAPTER_DNS_SERVER_ADDRESS, *PIP_ADAPTER_DNS_SERVER_ADDRESS;
174typedef struct _IP_ADAPTER_PREFIX {
182 struct _IP_ADAPTER_PREFIX *
Next;
185} IP_ADAPTER_PREFIX, *PIP_ADAPTER_PREFIX;
187typedef struct _IP_ADAPTER_WINS_SERVER_ADDRESS_LH {
195 struct _IP_ADAPTER_WINS_SERVER_ADDRESS_LH *
Next;
197} IP_ADAPTER_WINS_SERVER_ADDRESS_LH, *PIP_ADAPTER_WINS_SERVER_ADDRESS_LH;
198typedef IP_ADAPTER_WINS_SERVER_ADDRESS_LH IP_ADAPTER_WINS_SERVER_ADDRESS;
199typedef IP_ADAPTER_WINS_SERVER_ADDRESS_LH *PIP_ADAPTER_WINS_SERVER_ADDRESS;
201typedef struct _IP_ADAPTER_GATEWAY_ADDRESS_LH {
209 struct _IP_ADAPTER_GATEWAY_ADDRESS_LH *
Next;
211} IP_ADAPTER_GATEWAY_ADDRESS_LH, *PIP_ADAPTER_GATEWAY_ADDRESS_LH;
212typedef IP_ADAPTER_GATEWAY_ADDRESS_LH IP_ADAPTER_GATEWAY_ADDRESS;
213typedef IP_ADAPTER_GATEWAY_ADDRESS_LH *PIP_ADAPTER_GATEWAY_ADDRESS;
215typedef struct _IP_ADAPTER_DNS_SUFFIX {
216 struct _IP_ADAPTER_DNS_SUFFIX *
Next;
218} IP_ADAPTER_DNS_SUFFIX, *PIP_ADAPTER_DNS_SUFFIX;
220#define IP_ADAPTER_DDNS_ENABLED 0x1
221#define IP_ADAPTER_REGISTER_ADAPTER_SUFFIX 0x2
222#define IP_ADAPTER_DHCP_ENABLED 0x4
223#define IP_ADAPTER_RECEIVE_ONLY 0x8
224#define IP_ADAPTER_NO_MULTICAST 0x10
225#define IP_ADAPTER_IPV6_OTHER_STATEFUL_CONFIG 0x20
226#define IP_ADAPTER_NETBIOS_OVER_TCPIP_ENABLED 0x40
227#define IP_ADAPTER_IPV4_ENABLED 0x80
228#define IP_ADAPTER_IPV6_ENABLED 0x100
229#define IP_ADAPTER_IPV6_MANAGE_ADDRESS_CONFIG 0x200
231typedef struct _IP_ADAPTER_ADDRESSES_LH {
239 struct _IP_ADAPTER_ADDRESSES_LH *
Next;
241 PIP_ADAPTER_UNICAST_ADDRESS FirstUnicastAddress;
242 PIP_ADAPTER_ANYCAST_ADDRESS FirstAnycastAddress;
243 PIP_ADAPTER_MULTICAST_ADDRESS FirstMulticastAddress;
244 PIP_ADAPTER_DNS_SERVER_ADDRESS FirstDnsServerAddress;
249 DWORD PhysicalAddressLength;
253 DWORD DdnsEnabled : 1;
254 DWORD RegisterAdapterSuffix : 1;
255 DWORD Dhcpv4Enabled : 1;
256 DWORD ReceiveOnly : 1;
257 DWORD NoMulticast : 1;
258 DWORD Ipv6OtherStatefulConfig : 1;
259 DWORD NetbiosOverTcpipEnabled : 1;
260 DWORD Ipv4Enabled : 1;
261 DWORD Ipv6Enabled : 1;
262 DWORD Ipv6ManagedAddressConfigurationSupported : 1;
269 DWORD ZoneIndices[16];
270 PIP_ADAPTER_PREFIX FirstPrefix;
273 PIP_ADAPTER_WINS_SERVER_ADDRESS_LH FirstWinsServerAddress;
274 PIP_ADAPTER_GATEWAY_ADDRESS_LH FirstGatewayAddress;
285 ULONG Dhcpv6ClientDuidLength;
287 PIP_ADAPTER_DNS_SUFFIX FirstDnsSuffix;
288} IP_ADAPTER_ADDRESSES_LH, *PIP_ADAPTER_ADDRESSES_LH;
290typedef struct _IP_ADAPTER_ADDRESSES_XP {
298 struct _IP_ADAPTER_ADDRESSES_XP *
Next;
300 PIP_ADAPTER_UNICAST_ADDRESS FirstUnicastAddress;
301 PIP_ADAPTER_ANYCAST_ADDRESS FirstAnycastAddress;
302 PIP_ADAPTER_MULTICAST_ADDRESS FirstMulticastAddress;
303 PIP_ADAPTER_DNS_SERVER_ADDRESS FirstDnsServerAddress;
308 DWORD PhysicalAddressLength;
314 DWORD ZoneIndices[16];
315 PIP_ADAPTER_PREFIX FirstPrefix;
316} IP_ADAPTER_ADDRESSES_XP, *PIP_ADAPTER_ADDRESSES_XP;
318typedef IP_ADAPTER_ADDRESSES_LH IP_ADAPTER_ADDRESSES;
319typedef IP_ADAPTER_ADDRESSES_LH *PIP_ADAPTER_ADDRESSES;
321#define GAA_FLAG_SKIP_UNICAST 0x00000001
322#define GAA_FLAG_SKIP_ANYCAST 0x00000002
323#define GAA_FLAG_SKIP_MULTICAST 0x00000004
324#define GAA_FLAG_SKIP_DNS_SERVER 0x00000008
325#define GAA_FLAG_INCLUDE_PREFIX 0x00000010
326#define GAA_FLAG_SKIP_FRIENDLY_NAME 0x00000020
327#define GAA_FLAG_INCLUDE_WINS_INFO 0x00000040
328#define GAA_FLAG_INCLUDE_GATEWAYS 0x00000080
329#define GAA_FLAG_INCLUDE_ALL_INTERFACES 0x00000100
330#define GAA_FLAG_INCLUDE_ALL_COMPARTMENTS 0x00000200
331#define GAA_FLAG_INCLUDE_TUNNEL_BINDINGORDER 0x00000400
static const WCHAR Description[]
union Alignment_ Alignment
enum _NET_IF_CONNECTION_TYPE NET_IF_CONNECTION_TYPE
UINT32 NET_IF_COMPARTMENT_ID
_Must_inspect_result_ _Out_ PNDIS_STATUS _Out_ PNDIS_STATUS _Out_ PNDIS_HANDLE _Out_ PUINT _In_ UINT _In_ NDIS_HANDLE _In_ NDIS_HANDLE _In_ PNDIS_STRING AdapterName
_In_ ULONG _In_ ULONG _In_ ULONG Length
struct _IP_ADDR_STRING * PIP_ADDR_STRING
#define MAX_DOMAIN_NAME_LEN
IP_PER_ADAPTER_INFO_W2KSP1 * PIP_PER_ADAPTER_INFO
IP_PER_ADAPTER_INFO_W2KSP1 IP_PER_ADAPTER_INFO
FIXED_INFO_W2KSP1 * PFIXED_INFO
struct IP_ADDRESS_STRING * PIP_ADDRESS_STRING
#define MAX_DNS_SUFFIX_STRING_LENGTH
struct IP_ADDRESS_STRING * PIP_MASK_STRING
struct _IP_ADAPTER_INFO IP_ADAPTER_INFO
struct IP_ADDRESS_STRING IP_MASK_STRING
#define MAX_DHCPV6_DUID_LENGTH
#define MAX_ADAPTER_ADDRESS_LENGTH
struct _IP_ADDR_STRING IP_ADDR_STRING
struct _IP_ADAPTER_INFO * PIP_ADAPTER_INFO
FIXED_INFO_W2KSP1 FIXED_INFO
STDMETHOD() Next(THIS_ ULONG celt, IAssociationElement *pElement, ULONG *pceltFetched) PURE
PIP_ADDR_STRING CurrentDnsServer
IP_ADDR_STRING DnsServerList
BYTE Address[MAX_ADAPTER_ADDRESS_LENGTH]
struct _IP_ADAPTER_INFO * Next
IP_ADDR_STRING SecondaryWinsServer
IP_ADDR_STRING IpAddressList
PIP_ADDR_STRING CurrentIpAddress
char AdapterName[MAX_ADAPTER_NAME_LENGTH+4]
char Description[MAX_ADAPTER_DESCRIPTION_LENGTH+4]
IP_ADDR_STRING DhcpServer
IP_ADDR_STRING GatewayList
IP_ADDR_STRING PrimaryWinsServer
struct _IP_ADDR_STRING * Next
IP_ADDRESS_STRING IpAddress
IP_ADDR_STRING DnsServerList
PIP_ADDR_STRING CurrentDnsServer
_Must_inspect_result_ _In_ WDFDEVICE _In_ WDFSTRING String
_Reserved_ PVOID Reserved
NL_PREFIX_ORIGIN IP_PREFIX_ORIGIN
#define MAX_ADAPTER_NAME_LENGTH
#define MAX_ADAPTER_DESCRIPTION_LENGTH
NL_DAD_STATE IP_DAD_STATE
NL_SUFFIX_ORIGIN IP_SUFFIX_ORIGIN
#define MAX_ADAPTER_ADDRESS_LENGTH
_Must_inspect_result_ _In_ ULONG Flags
_Must_inspect_result_ typedef _In_ PHYSICAL_ADDRESS PhysicalAddress