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 DEFAULT_MINIMUM_ENTITIES 32
30#define MAX_HOSTNAME_LEN 128
31#define MAX_DOMAIN_NAME_LEN 128
32#define MAX_SCOPE_ID_LEN 256
33#define MAX_DHCPV6_DUID_LENGTH 130
34#define MAX_DNS_SUFFIX_STRING_LENGTH 256
36#define BROADCAST_NODETYPE 1
37#define PEER_TO_PEER_NODETYPE 2
38#define MIXED_NODETYPE 4
39#define HYBRID_NODETYPE 8
97#if (NTDDI_VERSION >= NTDDI_WIN2KSP1)
110typedef struct _IP_ADAPTER_UNICAST_ADDRESS {
117 struct _IP_ADAPTER_UNICAST_ADDRESS *Next;
123 ULONG PreferredLifetime;
125} IP_ADAPTER_UNICAST_ADDRESS, *PIP_ADAPTER_UNICAST_ADDRESS;
127typedef struct _IP_ADAPTER_ANYCAST_ADDRESS {
135 struct _IP_ADAPTER_ANYCAST_ADDRESS *Next;
137} IP_ADAPTER_ANYCAST_ADDRESS, *PIP_ADAPTER_ANYCAST_ADDRESS;
139typedef struct _IP_ADAPTER_MULTICAST_ADDRESS {
147 struct _IP_ADAPTER_MULTICAST_ADDRESS *Next;
149} IP_ADAPTER_MULTICAST_ADDRESS, *PIP_ADAPTER_MULTICAST_ADDRESS;
151typedef struct _IP_ADAPTER_DNS_SERVER_ADDRESS {
159 struct _IP_ADAPTER_DNS_SERVER_ADDRESS *Next;
161} IP_ADAPTER_DNS_SERVER_ADDRESS, *PIP_ADAPTER_DNS_SERVER_ADDRESS;
163typedef struct _IP_ADAPTER_PREFIX {
171 struct _IP_ADAPTER_PREFIX *Next;
174} IP_ADAPTER_PREFIX, *PIP_ADAPTER_PREFIX;
176typedef struct _IP_ADAPTER_WINS_SERVER_ADDRESS_LH {
184 struct _IP_ADAPTER_WINS_SERVER_ADDRESS_LH *Next;
186} IP_ADAPTER_WINS_SERVER_ADDRESS_LH, *PIP_ADAPTER_WINS_SERVER_ADDRESS_LH;
187typedef IP_ADAPTER_WINS_SERVER_ADDRESS_LH IP_ADAPTER_WINS_SERVER_ADDRESS;
188typedef IP_ADAPTER_WINS_SERVER_ADDRESS_LH *PIP_ADAPTER_WINS_SERVER_ADDRESS;
190typedef struct _IP_ADAPTER_GATEWAY_ADDRESS_LH {
198 struct _IP_ADAPTER_GATEWAY_ADDRESS_LH *Next;
200} IP_ADAPTER_GATEWAY_ADDRESS_LH, *PIP_ADAPTER_GATEWAY_ADDRESS_LH;
201typedef IP_ADAPTER_GATEWAY_ADDRESS_LH IP_ADAPTER_GATEWAY_ADDRESS;
202typedef IP_ADAPTER_GATEWAY_ADDRESS_LH *PIP_ADAPTER_GATEWAY_ADDRESS;
204typedef struct _IP_ADAPTER_DNS_SUFFIX {
205 struct _IP_ADAPTER_DNS_SUFFIX *Next;
207} IP_ADAPTER_DNS_SUFFIX, *PIP_ADAPTER_DNS_SUFFIX;
209#define IP_ADAPTER_DDNS_ENABLED 0x1
210#define IP_ADAPTER_REGISTER_ADAPTER_SUFFIX 0x2
211#define IP_ADAPTER_DHCP_ENABLED 0x4
212#define IP_ADAPTER_RECEIVE_ONLY 0x8
213#define IP_ADAPTER_NO_MULTICAST 0x10
214#define IP_ADAPTER_IPV6_OTHER_STATEFUL_CONFIG 0x20
215#define IP_ADAPTER_NETBIOS_OVER_TCPIP_ENABLED 0x40
216#define IP_ADAPTER_IPV4_ENABLED 0x80
217#define IP_ADAPTER_IPV6_ENABLED 0x100
218#define IP_ADAPTER_IPV6_MANAGE_ADDRESS_CONFIG 0x200
220typedef struct _IP_ADAPTER_ADDRESSES_LH {
228 struct _IP_ADAPTER_ADDRESSES_LH *Next;
230 PIP_ADAPTER_UNICAST_ADDRESS FirstUnicastAddress;
231 PIP_ADAPTER_ANYCAST_ADDRESS FirstAnycastAddress;
232 PIP_ADAPTER_MULTICAST_ADDRESS FirstMulticastAddress;
233 PIP_ADAPTER_DNS_SERVER_ADDRESS FirstDnsServerAddress;
238 DWORD PhysicalAddressLength;
242 DWORD DdnsEnabled : 1;
243 DWORD RegisterAdapterSuffix : 1;
244 DWORD Dhcpv4Enabled : 1;
245 DWORD ReceiveOnly : 1;
246 DWORD NoMulticast : 1;
247 DWORD Ipv6OtherStatefulConfig : 1;
248 DWORD NetbiosOverTcpipEnabled : 1;
249 DWORD Ipv4Enabled : 1;
250 DWORD Ipv6Enabled : 1;
251 DWORD Ipv6ManagedAddressConfigurationSupported : 1;
258 DWORD ZoneIndices[16];
259 PIP_ADAPTER_PREFIX FirstPrefix;
262 PIP_ADAPTER_WINS_SERVER_ADDRESS_LH FirstWinsServerAddress;
263 PIP_ADAPTER_GATEWAY_ADDRESS_LH FirstGatewayAddress;
274 ULONG Dhcpv6ClientDuidLength;
276 PIP_ADAPTER_DNS_SUFFIX FirstDnsSuffix;
277} IP_ADAPTER_ADDRESSES_LH, *PIP_ADAPTER_ADDRESSES_LH;
279typedef struct _IP_ADAPTER_ADDRESSES_XP {
287 struct _IP_ADAPTER_ADDRESSES_XP *Next;
289 PIP_ADAPTER_UNICAST_ADDRESS FirstUnicastAddress;
290 PIP_ADAPTER_ANYCAST_ADDRESS FirstAnycastAddress;
291 PIP_ADAPTER_MULTICAST_ADDRESS FirstMulticastAddress;
292 PIP_ADAPTER_DNS_SERVER_ADDRESS FirstDnsServerAddress;
297 DWORD PhysicalAddressLength;
303 DWORD ZoneIndices[16];
304 PIP_ADAPTER_PREFIX FirstPrefix;
305} IP_ADAPTER_ADDRESSES_XP, *PIP_ADAPTER_ADDRESSES_XP;
308#if (NTDDI_VERSION >= NTDDI_VISTA)
309typedef IP_ADAPTER_ADDRESSES_LH IP_ADAPTER_ADDRESSES;
312typedef IP_ADAPTER_ADDRESSES_XP IP_ADAPTER_ADDRESSES;
316#define GAA_FLAG_SKIP_UNICAST 0x00000001
317#define GAA_FLAG_SKIP_ANYCAST 0x00000002
318#define GAA_FLAG_SKIP_MULTICAST 0x00000004
319#define GAA_FLAG_SKIP_DNS_SERVER 0x00000008
320#define GAA_FLAG_INCLUDE_PREFIX 0x00000010
321#define GAA_FLAG_SKIP_FRIENDLY_NAME 0x00000020
322#define GAA_FLAG_INCLUDE_WINS_INFO 0x00000040
323#define GAA_FLAG_INCLUDE_ALL_GATEWAYS 0x00000080
324#define GAA_FLAG_INCLUDE_ALL_INTERFACES 0x00000100
325#define GAA_FLAG_INCLUDE_ALL_COMPARTMENTS 0x00000200
326#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
static PIP_ADAPTER_ADDRESSES
struct _IP_ADDR_STRING * PIP_ADDR_STRING
NL_PREFIX_ORIGIN IP_PREFIX_ORIGIN
#define MAX_ADAPTER_NAME_LENGTH
#define MAX_DOMAIN_NAME_LEN
struct IP_ADDRESS_STRING * PIP_ADDRESS_STRING
#define MAX_DNS_SUFFIX_STRING_LENGTH
struct IP_ADDRESS_STRING * PIP_MASK_STRING
struct _IP_INTERFACE_NAME_INFO * PIP_INTERFACE_NAME_INFO
struct _IP_PER_ADAPTER_INFO IP_PER_ADAPTER_INFO
#define MAX_ADAPTER_DESCRIPTION_LENGTH
struct _IP_ADAPTER_INFO IP_ADAPTER_INFO
struct IP_ADDRESS_STRING IP_MASK_STRING
#define MAX_DHCPV6_DUID_LENGTH
NL_DAD_STATE IP_DAD_STATE
NL_SUFFIX_ORIGIN IP_SUFFIX_ORIGIN
struct _IP_INTERFACE_NAME_INFO IP_INTERFACE_NAME_INFO
#define MAX_ADAPTER_ADDRESS_LENGTH
struct _IP_ADDR_STRING IP_ADDR_STRING
struct _IP_ADAPTER_INFO * PIP_ADAPTER_INFO
struct _IP_PER_ADAPTER_INFO * PIP_PER_ADAPTER_INFO
struct FIXED_INFO * PFIXED_INFO
_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
PIP_ADDR_STRING CurrentDnsServer
IP_ADDR_STRING DnsServerList
IP_ADDR_STRING SecondaryWinsServer
IP_ADDR_STRING IpAddressList
BYTE Address[MAX_ADAPTER_ADDRESS_LENGTH]
PIP_ADDR_STRING CurrentIpAddress
IP_ADDR_STRING DhcpServer
char AdapterName[MAX_ADAPTER_NAME_LENGTH+4]
IP_ADDR_STRING GatewayList
struct _IP_ADAPTER_INFO * Next
char Description[MAX_ADAPTER_DESCRIPTION_LENGTH+4]
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
_Must_inspect_result_ _In_ ULONG Flags
_Must_inspect_result_ typedef _In_ PHYSICAL_ADDRESS PhysicalAddress