source: Daodan/MSYS2/mingw32/i686-w64-mingw32/include/netioapi.h@ 1167

Last change on this file since 1167 was 1166, checked in by rossy, 3 years ago

Daodan: Replace MinGW build env with an up-to-date MSYS2 env

File size: 16.6 KB
Line 
1/**
2 * This file is part of the mingw-w64 runtime package.
3 * No warranty is given; refer to the file DISCLAIMER within this pack
4 */
5
6#ifndef _NETIOAPI_H_
7#define _NETIOAPI_H_
8
9#include <winapifamily.h>
10
11#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP)
12
13#ifdef __cplusplus
14extern "C" {
15#endif
16
17#ifndef ANY_SIZE
18#define ANY_SIZE 1
19#endif
20
21#ifdef __IPHLPAPI_H__
22#define NETIO_STATUS DWORD
23#define NETIO_SUCCESS(x) ((x) == NO_ERROR)
24#define NETIOAPI_API_ WINAPI
25#else
26#include <ws2def.h>
27#ifndef __CYGWIN__
28#include <ws2ipdef.h>
29#endif
30#include <iprtrmib.h>
31#include <ifdef.h>
32#include <nldef.h>
33
34#define NETIO_STATUS NTSTATUS
35#define NETIO_SUCCESS(x) NT_SUCCESS (x)
36#define NETIOAPI_API_ NTAPI
37#endif
38
39#define _NETIOAPI_SUCCESS_
40#define NETIOAPI_API NETIO_STATUS NETIOAPI_API_
41
42#define IF_NAMESIZE NDIS_IF_MAX_STRING_SIZE
43
44 typedef enum _MIB_NOTIFICATION_TYPE {
45 MibParameterNotification,
46 MibAddInstance,
47 MibDeleteInstance,
48 MibInitialNotification
49 } MIB_NOTIFICATION_TYPE,*PMIB_NOTIFICATION_TYPE;
50
51#ifdef _WS2IPDEF_
52#include <ntddndis.h>
53
54#define MIB_INVALID_TEREDO_PORT_NUMBER 0
55
56 typedef enum _MIB_IF_TABLE_LEVEL {
57 MibIfTableNormal,
58 MibIfTableRaw
59 } MIB_IF_TABLE_LEVEL, *PMIB_IF_TABLE_LEVEL;
60
61 typedef struct _MIB_IF_ROW2 {
62 NET_LUID InterfaceLuid;
63 NET_IFINDEX InterfaceIndex;
64 GUID InterfaceGuid;
65 WCHAR Alias[IF_MAX_STRING_SIZE + 1];
66 WCHAR Description[IF_MAX_STRING_SIZE + 1];
67 ULONG PhysicalAddressLength;
68 UCHAR PhysicalAddress[IF_MAX_PHYS_ADDRESS_LENGTH];
69 UCHAR PermanentPhysicalAddress[IF_MAX_PHYS_ADDRESS_LENGTH];
70 ULONG Mtu;
71 IFTYPE Type;
72 TUNNEL_TYPE TunnelType;
73 NDIS_MEDIUM MediaType;
74 NDIS_PHYSICAL_MEDIUM PhysicalMediumType;
75 NET_IF_ACCESS_TYPE AccessType;
76 NET_IF_DIRECTION_TYPE DirectionType;
77 struct {
78 BOOLEAN HardwareInterface : 1;
79 BOOLEAN FilterInterface : 1;
80 BOOLEAN ConnectorPresent : 1;
81 BOOLEAN NotAuthenticated : 1;
82 BOOLEAN NotMediaConnected : 1;
83 BOOLEAN Paused : 1;
84 BOOLEAN LowPower : 1;
85 BOOLEAN EndPointInterface : 1;
86 } InterfaceAndOperStatusFlags;
87 IF_OPER_STATUS OperStatus;
88 NET_IF_ADMIN_STATUS AdminStatus;
89 NET_IF_MEDIA_CONNECT_STATE MediaConnectState;
90 NET_IF_NETWORK_GUID NetworkGuid;
91 NET_IF_CONNECTION_TYPE ConnectionType;
92 ULONG64 TransmitLinkSpeed;
93 ULONG64 ReceiveLinkSpeed;
94 ULONG64 InOctets;
95 ULONG64 InUcastPkts;
96 ULONG64 InNUcastPkts;
97 ULONG64 InDiscards;
98 ULONG64 InErrors;
99 ULONG64 InUnknownProtos;
100 ULONG64 InUcastOctets;
101 ULONG64 InMulticastOctets;
102 ULONG64 InBroadcastOctets;
103 ULONG64 OutOctets;
104 ULONG64 OutUcastPkts;
105 ULONG64 OutNUcastPkts;
106 ULONG64 OutDiscards;
107 ULONG64 OutErrors;
108 ULONG64 OutUcastOctets;
109 ULONG64 OutMulticastOctets;
110 ULONG64 OutBroadcastOctets;
111 ULONG64 OutQLen;
112 } MIB_IF_ROW2,*PMIB_IF_ROW2;
113
114 typedef struct _MIB_IF_TABLE2 {
115 ULONG NumEntries;
116 MIB_IF_ROW2 Table[ANY_SIZE];
117 } MIB_IF_TABLE2, *PMIB_IF_TABLE2;
118
119 typedef struct _MIB_IPINTERFACE_ROW {
120 ADDRESS_FAMILY Family;
121 NET_LUID InterfaceLuid;
122 NET_IFINDEX InterfaceIndex;
123 ULONG MaxReassemblySize;
124 ULONG64 InterfaceIdentifier;
125 ULONG MinRouterAdvertisementInterval;
126 ULONG MaxRouterAdvertisementInterval;
127 BOOLEAN AdvertisingEnabled;
128 BOOLEAN ForwardingEnabled;
129 BOOLEAN WeakHostSend;
130 BOOLEAN WeakHostReceive;
131 BOOLEAN UseAutomaticMetric;
132 BOOLEAN UseNeighborUnreachabilityDetection;
133 BOOLEAN ManagedAddressConfigurationSupported;
134 BOOLEAN OtherStatefulConfigurationSupported;
135 BOOLEAN AdvertiseDefaultRoute;
136 NL_ROUTER_DISCOVERY_BEHAVIOR RouterDiscoveryBehavior;
137 ULONG DadTransmits;
138 ULONG BaseReachableTime;
139 ULONG RetransmitTime;
140 ULONG PathMtuDiscoveryTimeout;
141 NL_LINK_LOCAL_ADDRESS_BEHAVIOR LinkLocalAddressBehavior;
142 ULONG LinkLocalAddressTimeout;
143 ULONG ZoneIndices[ScopeLevelCount];
144 ULONG SitePrefixLength;
145 ULONG Metric;
146 ULONG NlMtu;
147 BOOLEAN Connected;
148 BOOLEAN SupportsWakeUpPatterns;
149 BOOLEAN SupportsNeighborDiscovery;
150 BOOLEAN SupportsRouterDiscovery;
151 ULONG ReachableTime;
152 NL_INTERFACE_OFFLOAD_ROD TransmitOffload;
153 NL_INTERFACE_OFFLOAD_ROD ReceiveOffload;
154 BOOLEAN DisableDefaultRoutes;
155 } MIB_IPINTERFACE_ROW,*PMIB_IPINTERFACE_ROW;
156
157 typedef struct _MIB_IPINTERFACE_TABLE {
158 ULONG NumEntries;
159 MIB_IPINTERFACE_ROW Table[ANY_SIZE];
160 } MIB_IPINTERFACE_TABLE,*PMIB_IPINTERFACE_TABLE;
161
162 typedef struct _MIB_IFSTACK_ROW {
163 NET_IFINDEX HigherLayerInterfaceIndex;
164 NET_IFINDEX LowerLayerInterfaceIndex;
165 } MIB_IFSTACK_ROW,*PMIB_IFSTACK_ROW;
166
167 typedef struct _MIB_INVERTEDIFSTACK_ROW {
168 NET_IFINDEX LowerLayerInterfaceIndex;
169 NET_IFINDEX HigherLayerInterfaceIndex;
170 } MIB_INVERTEDIFSTACK_ROW,*PMIB_INVERTEDIFSTACK_ROW;
171
172 typedef struct _MIB_IFSTACK_TABLE {
173 ULONG NumEntries;
174 MIB_IFSTACK_ROW Table[ANY_SIZE];
175 } MIB_IFSTACK_TABLE,*PMIB_IFSTACK_TABLE;
176
177 typedef struct _MIB_INVERTEDIFSTACK_TABLE {
178 ULONG NumEntries;
179 MIB_INVERTEDIFSTACK_ROW Table[ANY_SIZE];
180 } MIB_INVERTEDIFSTACK_TABLE,*PMIB_INVERTEDIFSTACK_TABLE;
181
182 typedef struct _MIB_IP_NETWORK_CONNECTION_BANDWIDTH_ESTIMATES {
183 NL_BANDWIDTH_INFORMATION InboundBandwidthInformation;
184 NL_BANDWIDTH_INFORMATION OutboundBandwidthInformation;
185 } MIB_IP_NETWORK_CONNECTION_BANDWIDTH_ESTIMATES, *PMIB_IP_NETWORK_CONNECTION_BANDWIDTH_ESTIMATES;
186
187 typedef struct _MIB_UNICASTIPADDRESS_ROW {
188 SOCKADDR_INET Address;
189 NET_LUID InterfaceLuid;
190 NET_IFINDEX InterfaceIndex;
191 NL_PREFIX_ORIGIN PrefixOrigin;
192 NL_SUFFIX_ORIGIN SuffixOrigin;
193 ULONG ValidLifetime;
194 ULONG PreferredLifetime;
195 UINT8 OnLinkPrefixLength;
196 BOOLEAN SkipAsSource;
197 NL_DAD_STATE DadState;
198 SCOPE_ID ScopeId;
199 LARGE_INTEGER CreationTimeStamp;
200 } MIB_UNICASTIPADDRESS_ROW,*PMIB_UNICASTIPADDRESS_ROW;
201
202 typedef struct _MIB_UNICASTIPADDRESS_TABLE {
203 ULONG NumEntries;
204 MIB_UNICASTIPADDRESS_ROW Table[ANY_SIZE];
205 } MIB_UNICASTIPADDRESS_TABLE,*PMIB_UNICASTIPADDRESS_TABLE;
206
207 typedef struct _MIB_ANYCASTIPADDRESS_ROW {
208 SOCKADDR_INET Address;
209 NET_LUID InterfaceLuid;
210 NET_IFINDEX InterfaceIndex;
211 SCOPE_ID ScopeId;
212 } MIB_ANYCASTIPADDRESS_ROW,*PMIB_ANYCASTIPADDRESS_ROW;
213
214 typedef struct _MIB_ANYCASTIPADDRESS_TABLE {
215 ULONG NumEntries;
216 MIB_ANYCASTIPADDRESS_ROW Table[ANY_SIZE];
217 } MIB_ANYCASTIPADDRESS_TABLE,*PMIB_ANYCASTIPADDRESS_TABLE;
218
219 typedef struct _MIB_MULTICASTIPADDRESS_ROW {
220 SOCKADDR_INET Address;
221 NET_IFINDEX InterfaceIndex;
222 NET_LUID InterfaceLuid;
223 SCOPE_ID ScopeId;
224 } MIB_MULTICASTIPADDRESS_ROW,*PMIB_MULTICASTIPADDRESS_ROW;
225
226 typedef struct _MIB_MULTICASTIPADDRESS_TABLE {
227 ULONG NumEntries;
228 MIB_MULTICASTIPADDRESS_ROW Table[ANY_SIZE];
229 } MIB_MULTICASTIPADDRESS_TABLE,*PMIB_MULTICASTIPADDRESS_TABLE;
230
231 typedef struct _IP_ADDRESS_PREFIX {
232 SOCKADDR_INET Prefix;
233 UINT8 PrefixLength;
234 } IP_ADDRESS_PREFIX,*PIP_ADDRESS_PREFIX;
235
236 typedef struct _MIB_IPFORWARD_ROW2 {
237 NET_LUID InterfaceLuid;
238 NET_IFINDEX InterfaceIndex;
239 IP_ADDRESS_PREFIX DestinationPrefix;
240 SOCKADDR_INET NextHop;
241 UCHAR SitePrefixLength;
242 ULONG ValidLifetime;
243 ULONG PreferredLifetime;
244 ULONG Metric;
245 NL_ROUTE_PROTOCOL Protocol;
246 BOOLEAN Loopback;
247 BOOLEAN AutoconfigureAddress;
248 BOOLEAN Publish;
249 BOOLEAN Immortal;
250 ULONG Age;
251 NL_ROUTE_ORIGIN Origin;
252 } MIB_IPFORWARD_ROW2,*PMIB_IPFORWARD_ROW2;
253
254 typedef struct _MIB_IPFORWARD_TABLE2 {
255 ULONG NumEntries;
256 MIB_IPFORWARD_ROW2 Table[ANY_SIZE];
257 } MIB_IPFORWARD_TABLE2,*PMIB_IPFORWARD_TABLE2;
258
259 typedef struct _MIB_IPPATH_ROW {
260 SOCKADDR_INET Source;
261 SOCKADDR_INET Destination;
262 NET_LUID InterfaceLuid;
263 NET_IFINDEX InterfaceIndex;
264 SOCKADDR_INET CurrentNextHop;
265 ULONG PathMtu;
266 ULONG RttMean;
267 ULONG RttDeviation;
268 __C89_NAMELESS union {
269 ULONG LastReachable;
270 ULONG LastUnreachable;
271 };
272 BOOLEAN IsReachable;
273 ULONG64 LinkTransmitSpeed;
274 ULONG64 LinkReceiveSpeed;
275 } MIB_IPPATH_ROW,*PMIB_IPPATH_ROW;
276
277 typedef struct _MIB_IPPATH_TABLE {
278 ULONG NumEntries;
279 MIB_IPPATH_ROW Table[ANY_SIZE];
280 } MIB_IPPATH_TABLE,*PMIB_IPPATH_TABLE;
281
282 typedef struct _MIB_IPNET_ROW2 {
283 SOCKADDR_INET Address;
284 NET_IFINDEX InterfaceIndex;
285 NET_LUID InterfaceLuid;
286 UCHAR PhysicalAddress[IF_MAX_PHYS_ADDRESS_LENGTH];
287 ULONG PhysicalAddressLength;
288 NL_NEIGHBOR_STATE State;
289 __C89_NAMELESS union {
290 __C89_NAMELESS struct {
291 BOOLEAN IsRouter : 1;
292 BOOLEAN IsUnreachable : 1;
293 };
294 UCHAR Flags;
295 };
296 union {
297 ULONG LastReachable;
298 ULONG LastUnreachable;
299 } ReachabilityTime;
300 } MIB_IPNET_ROW2, *PMIB_IPNET_ROW2;
301
302 typedef struct _MIB_IPNET_TABLE2 {
303 ULONG NumEntries;
304 MIB_IPNET_ROW2 Table[ANY_SIZE];
305 } MIB_IPNET_TABLE2, *PMIB_IPNET_TABLE2;
306
307 typedef VOID (NETIOAPI_API_ *PIPINTERFACE_CHANGE_CALLBACK) (PVOID CallerContext, PMIB_IPINTERFACE_ROW Row, MIB_NOTIFICATION_TYPE NotificationType);
308 typedef VOID (NETIOAPI_API_ *PUNICAST_IPADDRESS_CHANGE_CALLBACK) (PVOID CallerContext, PMIB_UNICASTIPADDRESS_ROW Row, MIB_NOTIFICATION_TYPE NotificationType);
309 typedef VOID (NETIOAPI_API_ *PSTABLE_UNICAST_IPADDRESS_TABLE_CALLBACK) (PVOID CallerContext, PMIB_UNICASTIPADDRESS_TABLE AddressTable);
310
311 typedef VOID (NETIOAPI_API_ *PTEREDO_PORT_CHANGE_CALLBACK) (PVOID CallerContext, USHORT Port, MIB_NOTIFICATION_TYPE NotificationType);
312 typedef VOID (NETIOAPI_API_ *PIPFORWARD_CHANGE_CALLBACK) (PVOID CallerContext, PMIB_IPFORWARD_ROW2 Row, MIB_NOTIFICATION_TYPE NotificationType);
313
314 NETIO_STATUS NETIOAPI_API_ GetIfEntry2 (PMIB_IF_ROW2 Row);
315 NETIO_STATUS NETIOAPI_API_ GetIfTable2 (PMIB_IF_TABLE2 *Table);
316 NETIO_STATUS NETIOAPI_API_ GetIfTable2Ex (MIB_IF_TABLE_LEVEL Level, PMIB_IF_TABLE2 *Table);
317 NETIO_STATUS NETIOAPI_API_ GetIfStackTable (PMIB_IFSTACK_TABLE *Table);
318 NETIO_STATUS NETIOAPI_API_ GetInvertedIfStackTable (PMIB_INVERTEDIFSTACK_TABLE *Table);
319 NETIO_STATUS NETIOAPI_API_ GetIpInterfaceEntry (PMIB_IPINTERFACE_ROW Row);
320 NETIO_STATUS NETIOAPI_API_ GetIpInterfaceTable (ADDRESS_FAMILY Family, PMIB_IPINTERFACE_TABLE *Table);
321 VOID NETIOAPI_API_ InitializeIpInterfaceEntry (PMIB_IPINTERFACE_ROW Row);
322 NETIO_STATUS NETIOAPI_API_ NotifyIpInterfaceChange (ADDRESS_FAMILY Family, PIPINTERFACE_CHANGE_CALLBACK Callback, PVOID CallerContext, BOOLEAN InitialNotification, HANDLE *NotificationHandle);
323 NETIO_STATUS NETIOAPI_API_ SetIpInterfaceEntry (PMIB_IPINTERFACE_ROW Row);
324 NETIO_STATUS NETIOAPI_API_ GetIpNetworkConnectionBandwidthEstimates (NET_IFINDEX InterfaceIndex, ADDRESS_FAMILY AddressFamily, PMIB_IP_NETWORK_CONNECTION_BANDWIDTH_ESTIMATES BandwidthEstimates);
325 NETIO_STATUS NETIOAPI_API_ CreateUnicastIpAddressEntry (CONST MIB_UNICASTIPADDRESS_ROW *Row);
326 NETIO_STATUS NETIOAPI_API_ DeleteUnicastIpAddressEntry (CONST MIB_UNICASTIPADDRESS_ROW *Row);
327 NETIO_STATUS NETIOAPI_API_ GetUnicastIpAddressEntry (PMIB_UNICASTIPADDRESS_ROW Row);
328 NETIO_STATUS NETIOAPI_API_ GetUnicastIpAddressTable (ADDRESS_FAMILY Family, PMIB_UNICASTIPADDRESS_TABLE *Table);
329 VOID NETIOAPI_API_ InitializeUnicastIpAddressEntry (PMIB_UNICASTIPADDRESS_ROW Row);
330 NETIO_STATUS NETIOAPI_API_ NotifyUnicastIpAddressChange (ADDRESS_FAMILY Family, PUNICAST_IPADDRESS_CHANGE_CALLBACK Callback, PVOID CallerContext, BOOLEAN InitialNotification, HANDLE *NotificationHandle);
331 NETIO_STATUS NETIOAPI_API_ CreateAnycastIpAddressEntry (CONST MIB_ANYCASTIPADDRESS_ROW *Row);
332 NETIO_STATUS NETIOAPI_API_ DeleteAnycastIpAddressEntry (CONST MIB_ANYCASTIPADDRESS_ROW *Row);
333 NETIO_STATUS NETIOAPI_API_ GetAnycastIpAddressEntry (PMIB_ANYCASTIPADDRESS_ROW Row);
334 NETIO_STATUS NETIOAPI_API_ GetAnycastIpAddressTable (ADDRESS_FAMILY Family, PMIB_ANYCASTIPADDRESS_TABLE *Table);
335 NETIO_STATUS NETIOAPI_API_ NotifyStableUnicastIpAddressTable (ADDRESS_FAMILY Family, PMIB_UNICASTIPADDRESS_TABLE *Table, PSTABLE_UNICAST_IPADDRESS_TABLE_CALLBACK CallerCallback, PVOID CallerContext, HANDLE *NotificationHandle);
336 NETIO_STATUS NETIOAPI_API_ SetUnicastIpAddressEntry (CONST MIB_UNICASTIPADDRESS_ROW *Row);
337 NETIO_STATUS NETIOAPI_API_ GetMulticastIpAddressEntry (PMIB_MULTICASTIPADDRESS_ROW Row);
338 NETIO_STATUS NETIOAPI_API_ GetMulticastIpAddressTable (ADDRESS_FAMILY Family, PMIB_MULTICASTIPADDRESS_TABLE *Table);
339 NETIO_STATUS NETIOAPI_API_ CreateIpForwardEntry2 (CONST MIB_IPFORWARD_ROW2 *Row);
340 NETIO_STATUS NETIOAPI_API_ DeleteIpForwardEntry2 (CONST MIB_IPFORWARD_ROW2 *Row);
341 NETIO_STATUS NETIOAPI_API_ GetBestRoute2 (NET_LUID *InterfaceLuid, NET_IFINDEX InterfaceIndex, CONST SOCKADDR_INET *SourceAddress, CONST SOCKADDR_INET *DestinationAddress, ULONG AddressSortOptions, PMIB_IPFORWARD_ROW2 BestRoute, SOCKADDR_INET *BestSourceAddress);
342 NETIO_STATUS NETIOAPI_API_ GetIpForwardEntry2 (PMIB_IPFORWARD_ROW2 Row);
343 NETIO_STATUS NETIOAPI_API_ GetIpForwardTable2 (ADDRESS_FAMILY Family, PMIB_IPFORWARD_TABLE2 *Table);
344 VOID NETIOAPI_API_ InitializeIpForwardEntry (PMIB_IPFORWARD_ROW2 Row);
345 NETIO_STATUS NETIOAPI_API_ NotifyRouteChange2 (ADDRESS_FAMILY AddressFamily, PIPFORWARD_CHANGE_CALLBACK Callback, PVOID CallerContext, BOOLEAN InitialNotification, HANDLE *NotificationHandle);
346 NETIO_STATUS NETIOAPI_API_ SetIpForwardEntry2 (CONST MIB_IPFORWARD_ROW2 *Route);
347 NETIO_STATUS NETIOAPI_API_ FlushIpPathTable (ADDRESS_FAMILY Family);
348 NETIO_STATUS NETIOAPI_API_ GetIpPathEntry (PMIB_IPPATH_ROW Row);
349 NETIO_STATUS NETIOAPI_API_ GetIpPathTable (ADDRESS_FAMILY Family, PMIB_IPPATH_TABLE *Table);
350 NETIO_STATUS NETIOAPI_API_ CreateIpNetEntry2 (CONST MIB_IPNET_ROW2 *Row);
351 NETIO_STATUS NETIOAPI_API_ DeleteIpNetEntry2 (CONST MIB_IPNET_ROW2 *Row);
352 NETIO_STATUS NETIOAPI_API_ FlushIpNetTable2 (ADDRESS_FAMILY Family, NET_IFINDEX InterfaceIndex);
353 NETIO_STATUS NETIOAPI_API_ GetIpNetEntry2 (PMIB_IPNET_ROW2 Row);
354 NETIO_STATUS NETIOAPI_API_ GetIpNetTable2 (ADDRESS_FAMILY Family, PMIB_IPNET_TABLE2 *Table);
355 NETIO_STATUS NETIOAPI_API_ ResolveIpNetEntry2 (PMIB_IPNET_ROW2 Row, CONST SOCKADDR_INET *SourceAddress);
356 NETIO_STATUS NETIOAPI_API_ SetIpNetEntry2 (PMIB_IPNET_ROW2 Row);
357 NETIO_STATUS NETIOAPI_API_ NotifyTeredoPortChange (PTEREDO_PORT_CHANGE_CALLBACK Callback, PVOID CallerContext, BOOLEAN InitialNotification, HANDLE *NotificationHandle);
358 NETIO_STATUS NETIOAPI_API_ GetTeredoPort (USHORT *Port);
359 NETIO_STATUS NETIOAPI_API_ CancelMibChangeNotify2 (HANDLE NotificationHandle);
360 VOID NETIOAPI_API_ FreeMibTable (PVOID Memory);
361 NETIO_STATUS NETIOAPI_API_ CreateSortedAddressPairs (const PSOCKADDR_IN6 SourceAddressList, ULONG SourceAddressCount, const PSOCKADDR_IN6 DestinationAddressList, ULONG DestinationAddressCount, ULONG AddressSortOptions, PSOCKADDR_IN6_PAIR *SortedAddressPairList, ULONG *SortedAddressPairCount);
362#endif
363
364 NETIO_STATUS NETIOAPI_API_ ConvertInterfaceNameToLuidA (CONST CHAR *InterfaceName, NET_LUID *InterfaceLuid);
365 NETIO_STATUS NETIOAPI_API_ ConvertInterfaceNameToLuidW (CONST WCHAR *InterfaceName, NET_LUID *InterfaceLuid);
366 NETIO_STATUS NETIOAPI_API_ ConvertInterfaceLuidToNameA (CONST NET_LUID *InterfaceLuid, PSTR InterfaceName, SIZE_T Length);
367 NETIO_STATUS NETIOAPI_API_ ConvertInterfaceLuidToNameW (CONST NET_LUID *InterfaceLuid, PWSTR InterfaceName, SIZE_T Length);
368 NETIO_STATUS NETIOAPI_API_ ConvertInterfaceLuidToIndex (CONST NET_LUID *InterfaceLuid, PNET_IFINDEX InterfaceIndex);
369 NETIO_STATUS NETIOAPI_API_ ConvertInterfaceIndexToLuid (NET_IFINDEX InterfaceIndex, PNET_LUID InterfaceLuid);
370 NETIO_STATUS NETIOAPI_API_ ConvertInterfaceLuidToAlias (CONST NET_LUID *InterfaceLuid, PWSTR InterfaceAlias, SIZE_T Length);
371 NETIO_STATUS NETIOAPI_API_ ConvertInterfaceAliasToLuid (CONST WCHAR *InterfaceAlias, PNET_LUID InterfaceLuid);
372 NETIO_STATUS NETIOAPI_API_ ConvertInterfaceLuidToGuid (CONST NET_LUID *InterfaceLuid, GUID *InterfaceGuid);
373 NETIO_STATUS NETIOAPI_API_ ConvertInterfaceGuidToLuid (CONST GUID *InterfaceGuid, PNET_LUID InterfaceLuid);
374 NET_IFINDEX NETIOAPI_API_ if_nametoindex (PCSTR InterfaceName);
375 PCHAR NETIOAPI_API_ if_indextoname (NET_IFINDEX InterfaceIndex, PCHAR InterfaceName);
376 NET_IF_COMPARTMENT_ID NETIOAPI_API_ GetCurrentThreadCompartmentId (VOID);
377 NETIO_STATUS NETIOAPI_API_ SetCurrentThreadCompartmentId (NET_IF_COMPARTMENT_ID CompartmentId);
378 NET_IF_COMPARTMENT_ID NETIOAPI_API_ GetSessionCompartmentId (ULONG SessionId);
379 NETIO_STATUS NETIOAPI_API_ SetSessionCompartmentId (ULONG SessionId, NET_IF_COMPARTMENT_ID CompartmentId);
380 NETIO_STATUS NETIOAPI_API_ GetNetworkInformation (CONST NET_IF_NETWORK_GUID *NetworkGuid, PNET_IF_COMPARTMENT_ID CompartmentId, PULONG SiteId, PWCHAR NetworkName, ULONG Length);
381 NETIO_STATUS NETIOAPI_API_ SetNetworkInformation (CONST NET_IF_NETWORK_GUID *NetworkGuid, NET_IF_COMPARTMENT_ID CompartmentId, CONST WCHAR *NetworkName);
382 NETIO_STATUS NETIOAPI_API_ ConvertLengthToIpv4Mask (ULONG MaskLength, PULONG Mask);
383 NETIO_STATUS NETIOAPI_API_ ConvertIpv4MaskToLength (ULONG Mask, PUINT8 MaskLength);
384
385#ifdef __cplusplus
386}
387#endif
388
389#endif
390#endif
Note: See TracBrowser for help on using the repository browser.