1 | /**
|
---|
2 | * This file has no copyright assigned and is placed in the Public Domain.
|
---|
3 | * This file is part of the mingw-w64 runtime package.
|
---|
4 | * No warranty is given; refer to the file DISCLAIMER.PD within this package.
|
---|
5 | */
|
---|
6 | #ifndef IP_TYPES_INCLUDED
|
---|
7 | #define IP_TYPES_INCLUDED
|
---|
8 |
|
---|
9 | #include <winapifamily.h>
|
---|
10 | #if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) || _WIN32_WINNT >= 0x0A00
|
---|
11 |
|
---|
12 | #ifdef __cplusplus
|
---|
13 | extern "C" {
|
---|
14 | #endif
|
---|
15 |
|
---|
16 | #include <time.h>
|
---|
17 | #include <ifdef.h>
|
---|
18 | #include <nldef.h>
|
---|
19 |
|
---|
20 | #define MAX_ADAPTER_DESCRIPTION_LENGTH 128
|
---|
21 | #define MAX_ADAPTER_NAME_LENGTH 256
|
---|
22 | #define MAX_ADAPTER_ADDRESS_LENGTH 8
|
---|
23 | #define DEFAULT_MINIMUM_ENTITIES 32
|
---|
24 | #define MAX_HOSTNAME_LEN 128
|
---|
25 | #define MAX_DOMAIN_NAME_LEN 128
|
---|
26 | #define MAX_SCOPE_ID_LEN 256
|
---|
27 | #define MAX_DHCPV6_DUID_LENGTH 130
|
---|
28 | #define MAX_DNS_SUFFIX_STRING_LENGTH 256
|
---|
29 |
|
---|
30 | #define BROADCAST_NODETYPE 1
|
---|
31 | #define PEER_TO_PEER_NODETYPE 2
|
---|
32 | #define MIXED_NODETYPE 4
|
---|
33 | #define HYBRID_NODETYPE 8
|
---|
34 |
|
---|
35 | typedef struct {
|
---|
36 | char String[4*4];
|
---|
37 | } IP_ADDRESS_STRING,*PIP_ADDRESS_STRING,IP_MASK_STRING,*PIP_MASK_STRING;
|
---|
38 |
|
---|
39 | typedef struct _IP_ADDR_STRING {
|
---|
40 | struct _IP_ADDR_STRING *Next;
|
---|
41 | IP_ADDRESS_STRING IpAddress;
|
---|
42 | IP_MASK_STRING IpMask;
|
---|
43 | DWORD Context;
|
---|
44 | } IP_ADDR_STRING,*PIP_ADDR_STRING;
|
---|
45 |
|
---|
46 | typedef struct _IP_ADAPTER_INFO {
|
---|
47 | struct _IP_ADAPTER_INFO *Next;
|
---|
48 | DWORD ComboIndex;
|
---|
49 | char AdapterName[MAX_ADAPTER_NAME_LENGTH + 4];
|
---|
50 | char Description[MAX_ADAPTER_DESCRIPTION_LENGTH + 4];
|
---|
51 | UINT AddressLength;
|
---|
52 | BYTE Address[MAX_ADAPTER_ADDRESS_LENGTH];
|
---|
53 | DWORD Index;
|
---|
54 | UINT Type;
|
---|
55 | UINT DhcpEnabled;
|
---|
56 | PIP_ADDR_STRING CurrentIpAddress;
|
---|
57 | IP_ADDR_STRING IpAddressList;
|
---|
58 | IP_ADDR_STRING GatewayList;
|
---|
59 | IP_ADDR_STRING DhcpServer;
|
---|
60 | WINBOOL HaveWins;
|
---|
61 | IP_ADDR_STRING PrimaryWinsServer;
|
---|
62 | IP_ADDR_STRING SecondaryWinsServer;
|
---|
63 | time_t LeaseObtained;
|
---|
64 | time_t LeaseExpires;
|
---|
65 | } IP_ADAPTER_INFO,*PIP_ADAPTER_INFO;
|
---|
66 |
|
---|
67 | #ifdef _WINSOCK2API_
|
---|
68 |
|
---|
69 | typedef NL_PREFIX_ORIGIN IP_PREFIX_ORIGIN;
|
---|
70 | typedef NL_SUFFIX_ORIGIN IP_SUFFIX_ORIGIN;
|
---|
71 | typedef NL_DAD_STATE IP_DAD_STATE;
|
---|
72 |
|
---|
73 | typedef struct _IP_ADAPTER_UNICAST_ADDRESS_XP {
|
---|
74 | __C89_NAMELESS union {
|
---|
75 | ULONGLONG Alignment;
|
---|
76 | __C89_NAMELESS struct {
|
---|
77 | ULONG Length;
|
---|
78 | DWORD Flags;
|
---|
79 | };
|
---|
80 | };
|
---|
81 | struct _IP_ADAPTER_UNICAST_ADDRESS_XP *Next;
|
---|
82 | SOCKET_ADDRESS Address;
|
---|
83 | IP_PREFIX_ORIGIN PrefixOrigin;
|
---|
84 | IP_SUFFIX_ORIGIN SuffixOrigin;
|
---|
85 | IP_DAD_STATE DadState;
|
---|
86 | ULONG ValidLifetime;
|
---|
87 | ULONG PreferredLifetime;
|
---|
88 | ULONG LeaseLifetime;
|
---|
89 | } IP_ADAPTER_UNICAST_ADDRESS_XP,*PIP_ADAPTER_UNICAST_ADDRESS_XP;
|
---|
90 |
|
---|
91 | typedef struct _IP_ADAPTER_UNICAST_ADDRESS_LH {
|
---|
92 | __C89_NAMELESS union {
|
---|
93 | ULONGLONG Alignment;
|
---|
94 | __C89_NAMELESS struct {
|
---|
95 | ULONG Length;
|
---|
96 | DWORD Flags;
|
---|
97 | };
|
---|
98 | };
|
---|
99 | struct _IP_ADAPTER_UNICAST_ADDRESS_LH *Next;
|
---|
100 | SOCKET_ADDRESS Address;
|
---|
101 | IP_PREFIX_ORIGIN PrefixOrigin;
|
---|
102 | IP_SUFFIX_ORIGIN SuffixOrigin;
|
---|
103 | IP_DAD_STATE DadState;
|
---|
104 | ULONG ValidLifetime;
|
---|
105 | ULONG PreferredLifetime;
|
---|
106 | ULONG LeaseLifetime;
|
---|
107 | UINT8 OnLinkPrefixLength;
|
---|
108 | } IP_ADAPTER_UNICAST_ADDRESS_LH,*PIP_ADAPTER_UNICAST_ADDRESS_LH;
|
---|
109 |
|
---|
110 | #if (_WIN32_WINNT >= 0x0600)
|
---|
111 | typedef IP_ADAPTER_UNICAST_ADDRESS_LH IP_ADAPTER_UNICAST_ADDRESS;
|
---|
112 | typedef IP_ADAPTER_UNICAST_ADDRESS_LH *PIP_ADAPTER_UNICAST_ADDRESS;
|
---|
113 | #else /* _WIN32_WINNT >= 0x0501 */
|
---|
114 | typedef IP_ADAPTER_UNICAST_ADDRESS_XP IP_ADAPTER_UNICAST_ADDRESS;
|
---|
115 | typedef IP_ADAPTER_UNICAST_ADDRESS_XP *PIP_ADAPTER_UNICAST_ADDRESS;
|
---|
116 | #endif
|
---|
117 |
|
---|
118 | typedef struct _IP_ADAPTER_ANYCAST_ADDRESS_XP {
|
---|
119 | __C89_NAMELESS union {
|
---|
120 | ULONGLONG Alignment;
|
---|
121 | __C89_NAMELESS struct {
|
---|
122 | ULONG Length;
|
---|
123 | DWORD Flags;
|
---|
124 | };
|
---|
125 | };
|
---|
126 | struct _IP_ADAPTER_ANYCAST_ADDRESS_XP *Next;
|
---|
127 | SOCKET_ADDRESS Address;
|
---|
128 | } IP_ADAPTER_ANYCAST_ADDRESS_XP,*PIP_ADAPTER_ANYCAST_ADDRESS_XP;
|
---|
129 | typedef IP_ADAPTER_ANYCAST_ADDRESS_XP IP_ADAPTER_ANYCAST_ADDRESS;
|
---|
130 | typedef IP_ADAPTER_ANYCAST_ADDRESS_XP *PIP_ADAPTER_ANYCAST_ADDRESS;
|
---|
131 |
|
---|
132 | typedef struct _IP_ADAPTER_MULTICAST_ADDRESS_XP {
|
---|
133 | __C89_NAMELESS union {
|
---|
134 | ULONGLONG Alignment;
|
---|
135 | __C89_NAMELESS struct {
|
---|
136 | ULONG Length;
|
---|
137 | DWORD Flags;
|
---|
138 | };
|
---|
139 | };
|
---|
140 | struct _IP_ADAPTER_MULTICAST_ADDRESS_XP *Next;
|
---|
141 | SOCKET_ADDRESS Address;
|
---|
142 | } IP_ADAPTER_MULTICAST_ADDRESS_XP,*PIP_ADAPTER_MULTICAST_ADDRESS_XP;
|
---|
143 | typedef IP_ADAPTER_MULTICAST_ADDRESS_XP IP_ADAPTER_MULTICAST_ADDRESS;
|
---|
144 | typedef IP_ADAPTER_MULTICAST_ADDRESS_XP *PIP_ADAPTER_MULTICAST_ADDRESS;
|
---|
145 |
|
---|
146 | #define IP_ADAPTER_ADDRESS_DNS_ELIGIBLE 0x01
|
---|
147 | #define IP_ADAPTER_ADDRESS_TRANSIENT 0x02
|
---|
148 | #define IP_ADAPTER_ADDRESS_PRIMARY 0x04
|
---|
149 |
|
---|
150 | typedef struct _IP_ADAPTER_DNS_SERVER_ADDRESS_XP {
|
---|
151 | __C89_NAMELESS union {
|
---|
152 | ULONGLONG Alignment;
|
---|
153 | __C89_NAMELESS struct {
|
---|
154 | ULONG Length;
|
---|
155 | DWORD Reserved;
|
---|
156 | };
|
---|
157 | };
|
---|
158 | struct _IP_ADAPTER_DNS_SERVER_ADDRESS_XP *Next;
|
---|
159 | SOCKET_ADDRESS Address;
|
---|
160 | } IP_ADAPTER_DNS_SERVER_ADDRESS_XP,*PIP_ADAPTER_DNS_SERVER_ADDRESS_XP;
|
---|
161 | typedef IP_ADAPTER_DNS_SERVER_ADDRESS_XP IP_ADAPTER_DNS_SERVER_ADDRESS;
|
---|
162 | typedef IP_ADAPTER_DNS_SERVER_ADDRESS_XP *PIP_ADAPTER_DNS_SERVER_ADDRESS;
|
---|
163 |
|
---|
164 | typedef struct _IP_ADAPTER_PREFIX_XP {
|
---|
165 | __C89_NAMELESS union {
|
---|
166 | ULONGLONG Alignment;
|
---|
167 | __C89_NAMELESS struct {
|
---|
168 | ULONG Length;
|
---|
169 | DWORD Flags;
|
---|
170 | };
|
---|
171 | };
|
---|
172 | struct _IP_ADAPTER_PREFIX_XP *Next;
|
---|
173 | SOCKET_ADDRESS Address;
|
---|
174 | ULONG PrefixLength;
|
---|
175 | } IP_ADAPTER_PREFIX_XP,*PIP_ADAPTER_PREFIX_XP;
|
---|
176 | typedef IP_ADAPTER_PREFIX_XP IP_ADAPTER_PREFIX;
|
---|
177 | typedef IP_ADAPTER_PREFIX_XP *PIP_ADAPTER_PREFIX;
|
---|
178 |
|
---|
179 | typedef struct _IP_ADAPTER_WINS_SERVER_ADDRESS_LH {
|
---|
180 | __C89_NAMELESS union {
|
---|
181 | ULONGLONG Alignment;
|
---|
182 | __C89_NAMELESS struct {
|
---|
183 | ULONG Length;
|
---|
184 | DWORD Reserved;
|
---|
185 | };
|
---|
186 | };
|
---|
187 | struct _IP_ADAPTER_WINS_SERVER_ADDRESS_LH *Next;
|
---|
188 | SOCKET_ADDRESS Address;
|
---|
189 | } IP_ADAPTER_WINS_SERVER_ADDRESS_LH,*PIP_ADAPTER_WINS_SERVER_ADDRESS_LH;
|
---|
190 | #if (_WIN32_WINNT >= 0x0600)
|
---|
191 | typedef IP_ADAPTER_WINS_SERVER_ADDRESS_LH IP_ADAPTER_WINS_SERVER_ADDRESS;
|
---|
192 | typedef IP_ADAPTER_WINS_SERVER_ADDRESS_LH *PIP_ADAPTER_WINS_SERVER_ADDRESS;
|
---|
193 | #endif
|
---|
194 |
|
---|
195 | typedef struct _IP_ADAPTER_GATEWAY_ADDRESS_LH {
|
---|
196 | __C89_NAMELESS union {
|
---|
197 | ULONGLONG Alignment;
|
---|
198 | __C89_NAMELESS struct {
|
---|
199 | ULONG Length;
|
---|
200 | DWORD Reserved;
|
---|
201 | };
|
---|
202 | };
|
---|
203 | struct _IP_ADAPTER_GATEWAY_ADDRESS_LH *Next;
|
---|
204 | SOCKET_ADDRESS Address;
|
---|
205 | } IP_ADAPTER_GATEWAY_ADDRESS_LH,*PIP_ADAPTER_GATEWAY_ADDRESS_LH;
|
---|
206 | #if (_WIN32_WINNT >= 0x0600)
|
---|
207 | typedef IP_ADAPTER_GATEWAY_ADDRESS_LH IP_ADAPTER_GATEWAY_ADDRESS;
|
---|
208 | typedef IP_ADAPTER_GATEWAY_ADDRESS_LH *PIP_ADAPTER_GATEWAY_ADDRESS;
|
---|
209 | #endif
|
---|
210 |
|
---|
211 | typedef struct _IP_ADAPTER_DNS_SUFFIX {
|
---|
212 | struct _IP_ADAPTER_DNS_SUFFIX *Next;
|
---|
213 | WCHAR String[MAX_DNS_SUFFIX_STRING_LENGTH];
|
---|
214 | } IP_ADAPTER_DNS_SUFFIX, *PIP_ADAPTER_DNS_SUFFIX;
|
---|
215 |
|
---|
216 | #define IP_ADAPTER_DDNS_ENABLED 0x01
|
---|
217 | #define IP_ADAPTER_REGISTER_ADAPTER_SUFFIX 0x02
|
---|
218 | #define IP_ADAPTER_DHCP_ENABLED 0x04
|
---|
219 | #define IP_ADAPTER_RECEIVE_ONLY 0x08
|
---|
220 | #define IP_ADAPTER_NO_MULTICAST 0x10
|
---|
221 | #define IP_ADAPTER_IPV6_OTHER_STATEFUL_CONFIG 0x20
|
---|
222 | #define IP_ADAPTER_NETBIOS_OVER_TCPIP_ENABLED 0x40
|
---|
223 | #define IP_ADAPTER_IPV4_ENABLED 0x80
|
---|
224 | #define IP_ADAPTER_IPV6_ENABLED 0x100
|
---|
225 | #define IP_ADAPTER_IPV6_MANAGE_ADDRESS_CONFIG 0x200
|
---|
226 |
|
---|
227 | typedef struct _IP_ADAPTER_ADDRESSES_LH {
|
---|
228 | __C89_NAMELESS union {
|
---|
229 | ULONGLONG Alignment;
|
---|
230 | __C89_NAMELESS struct {
|
---|
231 | ULONG Length;
|
---|
232 | IF_INDEX IfIndex;
|
---|
233 | };
|
---|
234 | };
|
---|
235 | struct _IP_ADAPTER_ADDRESSES_LH *Next;
|
---|
236 | PCHAR AdapterName;
|
---|
237 | PIP_ADAPTER_UNICAST_ADDRESS_LH FirstUnicastAddress;
|
---|
238 | PIP_ADAPTER_ANYCAST_ADDRESS_XP FirstAnycastAddress;
|
---|
239 | PIP_ADAPTER_MULTICAST_ADDRESS_XP FirstMulticastAddress;
|
---|
240 | PIP_ADAPTER_DNS_SERVER_ADDRESS_XP FirstDnsServerAddress;
|
---|
241 | PWCHAR DnsSuffix;
|
---|
242 | PWCHAR Description;
|
---|
243 | PWCHAR FriendlyName;
|
---|
244 | BYTE PhysicalAddress[MAX_ADAPTER_ADDRESS_LENGTH];
|
---|
245 | ULONG PhysicalAddressLength;
|
---|
246 | __C89_NAMELESS union {
|
---|
247 | ULONG Flags;
|
---|
248 | __C89_NAMELESS struct {
|
---|
249 | ULONG DdnsEnabled : 1;
|
---|
250 | ULONG RegisterAdapterSuffix : 1;
|
---|
251 | ULONG Dhcpv4Enabled : 1;
|
---|
252 | ULONG ReceiveOnly : 1;
|
---|
253 | ULONG NoMulticast : 1;
|
---|
254 | ULONG Ipv6OtherStatefulConfig : 1;
|
---|
255 | ULONG NetbiosOverTcpipEnabled : 1;
|
---|
256 | ULONG Ipv4Enabled : 1;
|
---|
257 | ULONG Ipv6Enabled : 1;
|
---|
258 | ULONG Ipv6ManagedAddressConfigurationSupported : 1;
|
---|
259 | };
|
---|
260 | };
|
---|
261 | ULONG Mtu;
|
---|
262 | IFTYPE IfType;
|
---|
263 | IF_OPER_STATUS OperStatus;
|
---|
264 | IF_INDEX Ipv6IfIndex;
|
---|
265 | ULONG ZoneIndices[16];
|
---|
266 | PIP_ADAPTER_PREFIX_XP FirstPrefix;
|
---|
267 |
|
---|
268 | ULONG64 TransmitLinkSpeed;
|
---|
269 | ULONG64 ReceiveLinkSpeed;
|
---|
270 | PIP_ADAPTER_WINS_SERVER_ADDRESS_LH FirstWinsServerAddress;
|
---|
271 | PIP_ADAPTER_GATEWAY_ADDRESS_LH FirstGatewayAddress;
|
---|
272 | ULONG Ipv4Metric;
|
---|
273 | ULONG Ipv6Metric;
|
---|
274 | IF_LUID Luid;
|
---|
275 | SOCKET_ADDRESS Dhcpv4Server;
|
---|
276 | NET_IF_COMPARTMENT_ID CompartmentId;
|
---|
277 | NET_IF_NETWORK_GUID NetworkGuid;
|
---|
278 | NET_IF_CONNECTION_TYPE ConnectionType;
|
---|
279 | TUNNEL_TYPE TunnelType;
|
---|
280 |
|
---|
281 | SOCKET_ADDRESS Dhcpv6Server;
|
---|
282 | BYTE Dhcpv6ClientDuid[MAX_DHCPV6_DUID_LENGTH];
|
---|
283 | ULONG Dhcpv6ClientDuidLength;
|
---|
284 | ULONG Dhcpv6Iaid;
|
---|
285 | #if (NTDDI_VERSION >= 0x06000100) /* NTDDI_VISTASP1 */
|
---|
286 | PIP_ADAPTER_DNS_SUFFIX FirstDnsSuffix;
|
---|
287 | #endif
|
---|
288 | } IP_ADAPTER_ADDRESSES_LH, *PIP_ADAPTER_ADDRESSES_LH;
|
---|
289 |
|
---|
290 | typedef struct _IP_ADAPTER_ADDRESSES_XP {
|
---|
291 | __C89_NAMELESS union {
|
---|
292 | ULONGLONG Alignment;
|
---|
293 | __C89_NAMELESS struct {
|
---|
294 | ULONG Length;
|
---|
295 | DWORD IfIndex;
|
---|
296 | };
|
---|
297 | };
|
---|
298 | struct _IP_ADAPTER_ADDRESSES_XP *Next;
|
---|
299 | PCHAR AdapterName;
|
---|
300 | PIP_ADAPTER_UNICAST_ADDRESS_XP FirstUnicastAddress;
|
---|
301 | PIP_ADAPTER_ANYCAST_ADDRESS_XP FirstAnycastAddress;
|
---|
302 | PIP_ADAPTER_MULTICAST_ADDRESS_XP FirstMulticastAddress;
|
---|
303 | PIP_ADAPTER_DNS_SERVER_ADDRESS_XP FirstDnsServerAddress;
|
---|
304 | PWCHAR DnsSuffix;
|
---|
305 | PWCHAR Description;
|
---|
306 | PWCHAR FriendlyName;
|
---|
307 | BYTE PhysicalAddress[MAX_ADAPTER_ADDRESS_LENGTH];
|
---|
308 | DWORD PhysicalAddressLength;
|
---|
309 | DWORD Flags;
|
---|
310 | DWORD Mtu;
|
---|
311 | DWORD IfType;
|
---|
312 | IF_OPER_STATUS OperStatus;
|
---|
313 | DWORD Ipv6IfIndex;
|
---|
314 | DWORD ZoneIndices[16];
|
---|
315 | PIP_ADAPTER_PREFIX_XP FirstPrefix;
|
---|
316 | } IP_ADAPTER_ADDRESSES_XP,*PIP_ADAPTER_ADDRESSES_XP;
|
---|
317 |
|
---|
318 | #if (_WIN32_WINNT >= 0x0600)
|
---|
319 | typedef IP_ADAPTER_ADDRESSES_LH IP_ADAPTER_ADDRESSES;
|
---|
320 | typedef IP_ADAPTER_ADDRESSES_LH *PIP_ADAPTER_ADDRESSES;
|
---|
321 | #else /* _WIN32_WINNT >= 0x0501 */
|
---|
322 | typedef IP_ADAPTER_ADDRESSES_XP IP_ADAPTER_ADDRESSES;
|
---|
323 | typedef IP_ADAPTER_ADDRESSES_XP *PIP_ADAPTER_ADDRESSES;
|
---|
324 | #endif
|
---|
325 |
|
---|
326 | #define GAA_FLAG_SKIP_UNICAST 0x0001
|
---|
327 | #define GAA_FLAG_SKIP_ANYCAST 0x0002
|
---|
328 | #define GAA_FLAG_SKIP_MULTICAST 0x0004
|
---|
329 | #define GAA_FLAG_SKIP_DNS_SERVER 0x0008
|
---|
330 | #define GAA_FLAG_INCLUDE_PREFIX 0x0010
|
---|
331 | #define GAA_FLAG_SKIP_FRIENDLY_NAME 0x0020
|
---|
332 | #define GAA_FLAG_INCLUDE_WINS_INFO 0x0040
|
---|
333 | #define GAA_FLAG_INCLUDE_GATEWAYS 0x0080
|
---|
334 | #define GAA_FLAG_INCLUDE_ALL_INTERFACES 0x0100
|
---|
335 | #define GAA_FLAG_INCLUDE_ALL_COMPARTMENTS 0x0200
|
---|
336 | #define GAA_FLAG_INCLUDE_TUNNEL_BINDINGORDER 0x0400
|
---|
337 | #endif /* _WINSOCK2API_ */
|
---|
338 |
|
---|
339 | typedef struct _IP_PER_ADAPTER_INFO {
|
---|
340 | UINT AutoconfigEnabled;
|
---|
341 | UINT AutoconfigActive;
|
---|
342 | PIP_ADDR_STRING CurrentDnsServer;
|
---|
343 | IP_ADDR_STRING DnsServerList;
|
---|
344 | } IP_PER_ADAPTER_INFO,*PIP_PER_ADAPTER_INFO;
|
---|
345 |
|
---|
346 | typedef struct {
|
---|
347 | char HostName[MAX_HOSTNAME_LEN + 4];
|
---|
348 | char DomainName[MAX_DOMAIN_NAME_LEN + 4];
|
---|
349 | PIP_ADDR_STRING CurrentDnsServer;
|
---|
350 | IP_ADDR_STRING DnsServerList;
|
---|
351 | UINT NodeType;
|
---|
352 | char ScopeId[MAX_SCOPE_ID_LEN + 4];
|
---|
353 | UINT EnableRouting;
|
---|
354 | UINT EnableProxy;
|
---|
355 | UINT EnableDns;
|
---|
356 | } FIXED_INFO,*PFIXED_INFO;
|
---|
357 |
|
---|
358 | #ifndef IP_INTERFACE_NAME_INFO_DEFINED
|
---|
359 | #define IP_INTERFACE_NAME_INFO_DEFINED
|
---|
360 |
|
---|
361 | typedef struct ip_interface_name_info {
|
---|
362 | ULONG Index;
|
---|
363 | ULONG MediaType;
|
---|
364 | UCHAR ConnectionType;
|
---|
365 | UCHAR AccessType;
|
---|
366 | GUID DeviceGuid;
|
---|
367 | GUID InterfaceGuid;
|
---|
368 | } IP_INTERFACE_NAME_INFO,*PIP_INTERFACE_NAME_INFO;
|
---|
369 | #endif
|
---|
370 |
|
---|
371 | #ifdef __cplusplus
|
---|
372 | }
|
---|
373 | #endif
|
---|
374 |
|
---|
375 | #endif /* #if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) || _WIN32_WINNT >= 0x0A00 */
|
---|
376 |
|
---|
377 | #endif /* IP_TYPES_INCLUDED */
|
---|
378 |
|
---|