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
|
---|
14 | extern "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
|
---|