123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390 |
- /**
- * This file is part of the mingw-w64 runtime package.
- * No warranty is given; refer to the file DISCLAIMER within this pack
- */
- #ifndef _NETIOAPI_H_
- #define _NETIOAPI_H_
- #include <winapifamily.h>
- #if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP)
- #ifdef __cplusplus
- extern "C" {
- #endif
- #ifndef ANY_SIZE
- #define ANY_SIZE 1
- #endif
- #ifdef __IPHLPAPI_H__
- #define NETIO_STATUS DWORD
- #define NETIO_SUCCESS(x) ((x) == NO_ERROR)
- #define NETIOAPI_API_ WINAPI
- #else
- #include <ws2def.h>
- #ifndef __CYGWIN__
- #include <ws2ipdef.h>
- #endif
- #include <iprtrmib.h>
- #include <ifdef.h>
- #include <nldef.h>
- #define NETIO_STATUS NTSTATUS
- #define NETIO_SUCCESS(x) NT_SUCCESS (x)
- #define NETIOAPI_API_ NTAPI
- #endif
- #define _NETIOAPI_SUCCESS_
- #define NETIOAPI_API NETIO_STATUS NETIOAPI_API_
- #define IF_NAMESIZE NDIS_IF_MAX_STRING_SIZE
- typedef enum _MIB_NOTIFICATION_TYPE {
- MibParameterNotification,
- MibAddInstance,
- MibDeleteInstance,
- MibInitialNotification
- } MIB_NOTIFICATION_TYPE,*PMIB_NOTIFICATION_TYPE;
- #ifdef _WS2IPDEF_
- #include <ntddndis.h>
- #define MIB_INVALID_TEREDO_PORT_NUMBER 0
- typedef enum _MIB_IF_TABLE_LEVEL {
- MibIfTableNormal,
- MibIfTableRaw
- } MIB_IF_TABLE_LEVEL, *PMIB_IF_TABLE_LEVEL;
- typedef struct _MIB_IF_ROW2 {
- NET_LUID InterfaceLuid;
- NET_IFINDEX InterfaceIndex;
- GUID InterfaceGuid;
- WCHAR Alias[IF_MAX_STRING_SIZE + 1];
- WCHAR Description[IF_MAX_STRING_SIZE + 1];
- ULONG PhysicalAddressLength;
- UCHAR PhysicalAddress[IF_MAX_PHYS_ADDRESS_LENGTH];
- UCHAR PermanentPhysicalAddress[IF_MAX_PHYS_ADDRESS_LENGTH];
- ULONG Mtu;
- IFTYPE Type;
- TUNNEL_TYPE TunnelType;
- NDIS_MEDIUM MediaType;
- NDIS_PHYSICAL_MEDIUM PhysicalMediumType;
- NET_IF_ACCESS_TYPE AccessType;
- NET_IF_DIRECTION_TYPE DirectionType;
- struct {
- BOOLEAN HardwareInterface : 1;
- BOOLEAN FilterInterface : 1;
- BOOLEAN ConnectorPresent : 1;
- BOOLEAN NotAuthenticated : 1;
- BOOLEAN NotMediaConnected : 1;
- BOOLEAN Paused : 1;
- BOOLEAN LowPower : 1;
- BOOLEAN EndPointInterface : 1;
- } InterfaceAndOperStatusFlags;
- IF_OPER_STATUS OperStatus;
- NET_IF_ADMIN_STATUS AdminStatus;
- NET_IF_MEDIA_CONNECT_STATE MediaConnectState;
- NET_IF_NETWORK_GUID NetworkGuid;
- NET_IF_CONNECTION_TYPE ConnectionType;
- ULONG64 TransmitLinkSpeed;
- ULONG64 ReceiveLinkSpeed;
- ULONG64 InOctets;
- ULONG64 InUcastPkts;
- ULONG64 InNUcastPkts;
- ULONG64 InDiscards;
- ULONG64 InErrors;
- ULONG64 InUnknownProtos;
- ULONG64 InUcastOctets;
- ULONG64 InMulticastOctets;
- ULONG64 InBroadcastOctets;
- ULONG64 OutOctets;
- ULONG64 OutUcastPkts;
- ULONG64 OutNUcastPkts;
- ULONG64 OutDiscards;
- ULONG64 OutErrors;
- ULONG64 OutUcastOctets;
- ULONG64 OutMulticastOctets;
- ULONG64 OutBroadcastOctets;
- ULONG64 OutQLen;
- } MIB_IF_ROW2,*PMIB_IF_ROW2;
- typedef struct _MIB_IF_TABLE2 {
- ULONG NumEntries;
- MIB_IF_ROW2 Table[ANY_SIZE];
- } MIB_IF_TABLE2, *PMIB_IF_TABLE2;
- typedef struct _MIB_IPINTERFACE_ROW {
- ADDRESS_FAMILY Family;
- NET_LUID InterfaceLuid;
- NET_IFINDEX InterfaceIndex;
- ULONG MaxReassemblySize;
- ULONG64 InterfaceIdentifier;
- ULONG MinRouterAdvertisementInterval;
- ULONG MaxRouterAdvertisementInterval;
- BOOLEAN AdvertisingEnabled;
- BOOLEAN ForwardingEnabled;
- BOOLEAN WeakHostSend;
- BOOLEAN WeakHostReceive;
- BOOLEAN UseAutomaticMetric;
- BOOLEAN UseNeighborUnreachabilityDetection;
- BOOLEAN ManagedAddressConfigurationSupported;
- BOOLEAN OtherStatefulConfigurationSupported;
- BOOLEAN AdvertiseDefaultRoute;
- NL_ROUTER_DISCOVERY_BEHAVIOR RouterDiscoveryBehavior;
- ULONG DadTransmits;
- ULONG BaseReachableTime;
- ULONG RetransmitTime;
- ULONG PathMtuDiscoveryTimeout;
- NL_LINK_LOCAL_ADDRESS_BEHAVIOR LinkLocalAddressBehavior;
- ULONG LinkLocalAddressTimeout;
- ULONG ZoneIndices[ScopeLevelCount];
- ULONG SitePrefixLength;
- ULONG Metric;
- ULONG NlMtu;
- BOOLEAN Connected;
- BOOLEAN SupportsWakeUpPatterns;
- BOOLEAN SupportsNeighborDiscovery;
- BOOLEAN SupportsRouterDiscovery;
- ULONG ReachableTime;
- NL_INTERFACE_OFFLOAD_ROD TransmitOffload;
- NL_INTERFACE_OFFLOAD_ROD ReceiveOffload;
- BOOLEAN DisableDefaultRoutes;
- } MIB_IPINTERFACE_ROW,*PMIB_IPINTERFACE_ROW;
- typedef struct _MIB_IPINTERFACE_TABLE {
- ULONG NumEntries;
- MIB_IPINTERFACE_ROW Table[ANY_SIZE];
- } MIB_IPINTERFACE_TABLE,*PMIB_IPINTERFACE_TABLE;
- typedef struct _MIB_IFSTACK_ROW {
- NET_IFINDEX HigherLayerInterfaceIndex;
- NET_IFINDEX LowerLayerInterfaceIndex;
- } MIB_IFSTACK_ROW,*PMIB_IFSTACK_ROW;
- typedef struct _MIB_INVERTEDIFSTACK_ROW {
- NET_IFINDEX LowerLayerInterfaceIndex;
- NET_IFINDEX HigherLayerInterfaceIndex;
- } MIB_INVERTEDIFSTACK_ROW,*PMIB_INVERTEDIFSTACK_ROW;
- typedef struct _MIB_IFSTACK_TABLE {
- ULONG NumEntries;
- MIB_IFSTACK_ROW Table[ANY_SIZE];
- } MIB_IFSTACK_TABLE,*PMIB_IFSTACK_TABLE;
- typedef struct _MIB_INVERTEDIFSTACK_TABLE {
- ULONG NumEntries;
- MIB_INVERTEDIFSTACK_ROW Table[ANY_SIZE];
- } MIB_INVERTEDIFSTACK_TABLE,*PMIB_INVERTEDIFSTACK_TABLE;
- typedef struct _MIB_IP_NETWORK_CONNECTION_BANDWIDTH_ESTIMATES {
- NL_BANDWIDTH_INFORMATION InboundBandwidthInformation;
- NL_BANDWIDTH_INFORMATION OutboundBandwidthInformation;
- } MIB_IP_NETWORK_CONNECTION_BANDWIDTH_ESTIMATES, *PMIB_IP_NETWORK_CONNECTION_BANDWIDTH_ESTIMATES;
- typedef struct _MIB_UNICASTIPADDRESS_ROW {
- SOCKADDR_INET Address;
- NET_LUID InterfaceLuid;
- NET_IFINDEX InterfaceIndex;
- NL_PREFIX_ORIGIN PrefixOrigin;
- NL_SUFFIX_ORIGIN SuffixOrigin;
- ULONG ValidLifetime;
- ULONG PreferredLifetime;
- UINT8 OnLinkPrefixLength;
- BOOLEAN SkipAsSource;
- NL_DAD_STATE DadState;
- SCOPE_ID ScopeId;
- LARGE_INTEGER CreationTimeStamp;
- } MIB_UNICASTIPADDRESS_ROW,*PMIB_UNICASTIPADDRESS_ROW;
- typedef struct _MIB_UNICASTIPADDRESS_TABLE {
- ULONG NumEntries;
- MIB_UNICASTIPADDRESS_ROW Table[ANY_SIZE];
- } MIB_UNICASTIPADDRESS_TABLE,*PMIB_UNICASTIPADDRESS_TABLE;
- typedef struct _MIB_ANYCASTIPADDRESS_ROW {
- SOCKADDR_INET Address;
- NET_LUID InterfaceLuid;
- NET_IFINDEX InterfaceIndex;
- SCOPE_ID ScopeId;
- } MIB_ANYCASTIPADDRESS_ROW,*PMIB_ANYCASTIPADDRESS_ROW;
- typedef struct _MIB_ANYCASTIPADDRESS_TABLE {
- ULONG NumEntries;
- MIB_ANYCASTIPADDRESS_ROW Table[ANY_SIZE];
- } MIB_ANYCASTIPADDRESS_TABLE,*PMIB_ANYCASTIPADDRESS_TABLE;
- typedef struct _MIB_MULTICASTIPADDRESS_ROW {
- SOCKADDR_INET Address;
- NET_IFINDEX InterfaceIndex;
- NET_LUID InterfaceLuid;
- SCOPE_ID ScopeId;
- } MIB_MULTICASTIPADDRESS_ROW,*PMIB_MULTICASTIPADDRESS_ROW;
- typedef struct _MIB_MULTICASTIPADDRESS_TABLE {
- ULONG NumEntries;
- MIB_MULTICASTIPADDRESS_ROW Table[ANY_SIZE];
- } MIB_MULTICASTIPADDRESS_TABLE,*PMIB_MULTICASTIPADDRESS_TABLE;
- typedef struct _IP_ADDRESS_PREFIX {
- SOCKADDR_INET Prefix;
- UINT8 PrefixLength;
- } IP_ADDRESS_PREFIX,*PIP_ADDRESS_PREFIX;
- typedef struct _MIB_IPFORWARD_ROW2 {
- NET_LUID InterfaceLuid;
- NET_IFINDEX InterfaceIndex;
- IP_ADDRESS_PREFIX DestinationPrefix;
- SOCKADDR_INET NextHop;
- UCHAR SitePrefixLength;
- ULONG ValidLifetime;
- ULONG PreferredLifetime;
- ULONG Metric;
- NL_ROUTE_PROTOCOL Protocol;
- BOOLEAN Loopback;
- BOOLEAN AutoconfigureAddress;
- BOOLEAN Publish;
- BOOLEAN Immortal;
- ULONG Age;
- NL_ROUTE_ORIGIN Origin;
- } MIB_IPFORWARD_ROW2,*PMIB_IPFORWARD_ROW2;
- typedef struct _MIB_IPFORWARD_TABLE2 {
- ULONG NumEntries;
- MIB_IPFORWARD_ROW2 Table[ANY_SIZE];
- } MIB_IPFORWARD_TABLE2,*PMIB_IPFORWARD_TABLE2;
- typedef struct _MIB_IPPATH_ROW {
- SOCKADDR_INET Source;
- SOCKADDR_INET Destination;
- NET_LUID InterfaceLuid;
- NET_IFINDEX InterfaceIndex;
- SOCKADDR_INET CurrentNextHop;
- ULONG PathMtu;
- ULONG RttMean;
- ULONG RttDeviation;
- __C89_NAMELESS union {
- ULONG LastReachable;
- ULONG LastUnreachable;
- };
- BOOLEAN IsReachable;
- ULONG64 LinkTransmitSpeed;
- ULONG64 LinkReceiveSpeed;
- } MIB_IPPATH_ROW,*PMIB_IPPATH_ROW;
- typedef struct _MIB_IPPATH_TABLE {
- ULONG NumEntries;
- MIB_IPPATH_ROW Table[ANY_SIZE];
- } MIB_IPPATH_TABLE,*PMIB_IPPATH_TABLE;
- typedef struct _MIB_IPNET_ROW2 {
- SOCKADDR_INET Address;
- NET_IFINDEX InterfaceIndex;
- NET_LUID InterfaceLuid;
- UCHAR PhysicalAddress[IF_MAX_PHYS_ADDRESS_LENGTH];
- ULONG PhysicalAddressLength;
- NL_NEIGHBOR_STATE State;
- __C89_NAMELESS union {
- __C89_NAMELESS struct {
- BOOLEAN IsRouter : 1;
- BOOLEAN IsUnreachable : 1;
- };
- UCHAR Flags;
- };
- union {
- ULONG LastReachable;
- ULONG LastUnreachable;
- } ReachabilityTime;
- } MIB_IPNET_ROW2, *PMIB_IPNET_ROW2;
- typedef struct _MIB_IPNET_TABLE2 {
- ULONG NumEntries;
- MIB_IPNET_ROW2 Table[ANY_SIZE];
- } MIB_IPNET_TABLE2, *PMIB_IPNET_TABLE2;
- typedef VOID (NETIOAPI_API_ *PIPINTERFACE_CHANGE_CALLBACK) (PVOID CallerContext, PMIB_IPINTERFACE_ROW Row, MIB_NOTIFICATION_TYPE NotificationType);
- typedef VOID (NETIOAPI_API_ *PUNICAST_IPADDRESS_CHANGE_CALLBACK) (PVOID CallerContext, PMIB_UNICASTIPADDRESS_ROW Row, MIB_NOTIFICATION_TYPE NotificationType);
- typedef VOID (NETIOAPI_API_ *PSTABLE_UNICAST_IPADDRESS_TABLE_CALLBACK) (PVOID CallerContext, PMIB_UNICASTIPADDRESS_TABLE AddressTable);
- typedef VOID (NETIOAPI_API_ *PTEREDO_PORT_CHANGE_CALLBACK) (PVOID CallerContext, USHORT Port, MIB_NOTIFICATION_TYPE NotificationType);
- typedef VOID (NETIOAPI_API_ *PIPFORWARD_CHANGE_CALLBACK) (PVOID CallerContext, PMIB_IPFORWARD_ROW2 Row, MIB_NOTIFICATION_TYPE NotificationType);
- NETIO_STATUS NETIOAPI_API_ GetIfEntry2 (PMIB_IF_ROW2 Row);
- NETIO_STATUS NETIOAPI_API_ GetIfTable2 (PMIB_IF_TABLE2 *Table);
- NETIO_STATUS NETIOAPI_API_ GetIfTable2Ex (MIB_IF_TABLE_LEVEL Level, PMIB_IF_TABLE2 *Table);
- NETIO_STATUS NETIOAPI_API_ GetIfStackTable (PMIB_IFSTACK_TABLE *Table);
- NETIO_STATUS NETIOAPI_API_ GetInvertedIfStackTable (PMIB_INVERTEDIFSTACK_TABLE *Table);
- NETIO_STATUS NETIOAPI_API_ GetIpInterfaceEntry (PMIB_IPINTERFACE_ROW Row);
- NETIO_STATUS NETIOAPI_API_ GetIpInterfaceTable (ADDRESS_FAMILY Family, PMIB_IPINTERFACE_TABLE *Table);
- VOID NETIOAPI_API_ InitializeIpInterfaceEntry (PMIB_IPINTERFACE_ROW Row);
- NETIO_STATUS NETIOAPI_API_ NotifyIpInterfaceChange (ADDRESS_FAMILY Family, PIPINTERFACE_CHANGE_CALLBACK Callback, PVOID CallerContext, BOOLEAN InitialNotification, HANDLE *NotificationHandle);
- NETIO_STATUS NETIOAPI_API_ SetIpInterfaceEntry (PMIB_IPINTERFACE_ROW Row);
- NETIO_STATUS NETIOAPI_API_ GetIpNetworkConnectionBandwidthEstimates (NET_IFINDEX InterfaceIndex, ADDRESS_FAMILY AddressFamily, PMIB_IP_NETWORK_CONNECTION_BANDWIDTH_ESTIMATES BandwidthEstimates);
- NETIO_STATUS NETIOAPI_API_ CreateUnicastIpAddressEntry (CONST MIB_UNICASTIPADDRESS_ROW *Row);
- NETIO_STATUS NETIOAPI_API_ DeleteUnicastIpAddressEntry (CONST MIB_UNICASTIPADDRESS_ROW *Row);
- NETIO_STATUS NETIOAPI_API_ GetUnicastIpAddressEntry (PMIB_UNICASTIPADDRESS_ROW Row);
- NETIO_STATUS NETIOAPI_API_ GetUnicastIpAddressTable (ADDRESS_FAMILY Family, PMIB_UNICASTIPADDRESS_TABLE *Table);
- VOID NETIOAPI_API_ InitializeUnicastIpAddressEntry (PMIB_UNICASTIPADDRESS_ROW Row);
- NETIO_STATUS NETIOAPI_API_ NotifyUnicastIpAddressChange (ADDRESS_FAMILY Family, PUNICAST_IPADDRESS_CHANGE_CALLBACK Callback, PVOID CallerContext, BOOLEAN InitialNotification, HANDLE *NotificationHandle);
- NETIO_STATUS NETIOAPI_API_ CreateAnycastIpAddressEntry (CONST MIB_ANYCASTIPADDRESS_ROW *Row);
- NETIO_STATUS NETIOAPI_API_ DeleteAnycastIpAddressEntry (CONST MIB_ANYCASTIPADDRESS_ROW *Row);
- NETIO_STATUS NETIOAPI_API_ GetAnycastIpAddressEntry (PMIB_ANYCASTIPADDRESS_ROW Row);
- NETIO_STATUS NETIOAPI_API_ GetAnycastIpAddressTable (ADDRESS_FAMILY Family, PMIB_ANYCASTIPADDRESS_TABLE *Table);
- NETIO_STATUS NETIOAPI_API_ NotifyStableUnicastIpAddressTable (ADDRESS_FAMILY Family, PMIB_UNICASTIPADDRESS_TABLE *Table, PSTABLE_UNICAST_IPADDRESS_TABLE_CALLBACK CallerCallback, PVOID CallerContext, HANDLE *NotificationHandle);
- NETIO_STATUS NETIOAPI_API_ SetUnicastIpAddressEntry (CONST MIB_UNICASTIPADDRESS_ROW *Row);
- NETIO_STATUS NETIOAPI_API_ GetMulticastIpAddressEntry (PMIB_MULTICASTIPADDRESS_ROW Row);
- NETIO_STATUS NETIOAPI_API_ GetMulticastIpAddressTable (ADDRESS_FAMILY Family, PMIB_MULTICASTIPADDRESS_TABLE *Table);
- NETIO_STATUS NETIOAPI_API_ CreateIpForwardEntry2 (CONST MIB_IPFORWARD_ROW2 *Row);
- NETIO_STATUS NETIOAPI_API_ DeleteIpForwardEntry2 (CONST MIB_IPFORWARD_ROW2 *Row);
- 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);
- NETIO_STATUS NETIOAPI_API_ GetIpForwardEntry2 (PMIB_IPFORWARD_ROW2 Row);
- NETIO_STATUS NETIOAPI_API_ GetIpForwardTable2 (ADDRESS_FAMILY Family, PMIB_IPFORWARD_TABLE2 *Table);
- VOID NETIOAPI_API_ InitializeIpForwardEntry (PMIB_IPFORWARD_ROW2 Row);
- NETIO_STATUS NETIOAPI_API_ NotifyRouteChange2 (ADDRESS_FAMILY AddressFamily, PIPFORWARD_CHANGE_CALLBACK Callback, PVOID CallerContext, BOOLEAN InitialNotification, HANDLE *NotificationHandle);
- NETIO_STATUS NETIOAPI_API_ SetIpForwardEntry2 (CONST MIB_IPFORWARD_ROW2 *Route);
- NETIO_STATUS NETIOAPI_API_ FlushIpPathTable (ADDRESS_FAMILY Family);
- NETIO_STATUS NETIOAPI_API_ GetIpPathEntry (PMIB_IPPATH_ROW Row);
- NETIO_STATUS NETIOAPI_API_ GetIpPathTable (ADDRESS_FAMILY Family, PMIB_IPPATH_TABLE *Table);
- NETIO_STATUS NETIOAPI_API_ CreateIpNetEntry2 (CONST MIB_IPNET_ROW2 *Row);
- NETIO_STATUS NETIOAPI_API_ DeleteIpNetEntry2 (CONST MIB_IPNET_ROW2 *Row);
- NETIO_STATUS NETIOAPI_API_ FlushIpNetTable2 (ADDRESS_FAMILY Family, NET_IFINDEX InterfaceIndex);
- NETIO_STATUS NETIOAPI_API_ GetIpNetEntry2 (PMIB_IPNET_ROW2 Row);
- NETIO_STATUS NETIOAPI_API_ GetIpNetTable2 (ADDRESS_FAMILY Family, PMIB_IPNET_TABLE2 *Table);
- NETIO_STATUS NETIOAPI_API_ ResolveIpNetEntry2 (PMIB_IPNET_ROW2 Row, CONST SOCKADDR_INET *SourceAddress);
- NETIO_STATUS NETIOAPI_API_ SetIpNetEntry2 (PMIB_IPNET_ROW2 Row);
- NETIO_STATUS NETIOAPI_API_ NotifyTeredoPortChange (PTEREDO_PORT_CHANGE_CALLBACK Callback, PVOID CallerContext, BOOLEAN InitialNotification, HANDLE *NotificationHandle);
- NETIO_STATUS NETIOAPI_API_ GetTeredoPort (USHORT *Port);
- NETIO_STATUS NETIOAPI_API_ CancelMibChangeNotify2 (HANDLE NotificationHandle);
- VOID NETIOAPI_API_ FreeMibTable (PVOID Memory);
- 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);
- #endif
- NETIO_STATUS NETIOAPI_API_ ConvertInterfaceNameToLuidA (CONST CHAR *InterfaceName, NET_LUID *InterfaceLuid);
- NETIO_STATUS NETIOAPI_API_ ConvertInterfaceNameToLuidW (CONST WCHAR *InterfaceName, NET_LUID *InterfaceLuid);
- NETIO_STATUS NETIOAPI_API_ ConvertInterfaceLuidToNameA (CONST NET_LUID *InterfaceLuid, PSTR InterfaceName, SIZE_T Length);
- NETIO_STATUS NETIOAPI_API_ ConvertInterfaceLuidToNameW (CONST NET_LUID *InterfaceLuid, PWSTR InterfaceName, SIZE_T Length);
- NETIO_STATUS NETIOAPI_API_ ConvertInterfaceLuidToIndex (CONST NET_LUID *InterfaceLuid, PNET_IFINDEX InterfaceIndex);
- NETIO_STATUS NETIOAPI_API_ ConvertInterfaceIndexToLuid (NET_IFINDEX InterfaceIndex, PNET_LUID InterfaceLuid);
- NETIO_STATUS NETIOAPI_API_ ConvertInterfaceLuidToAlias (CONST NET_LUID *InterfaceLuid, PWSTR InterfaceAlias, SIZE_T Length);
- NETIO_STATUS NETIOAPI_API_ ConvertInterfaceAliasToLuid (CONST WCHAR *InterfaceAlias, PNET_LUID InterfaceLuid);
- NETIO_STATUS NETIOAPI_API_ ConvertInterfaceLuidToGuid (CONST NET_LUID *InterfaceLuid, GUID *InterfaceGuid);
- NETIO_STATUS NETIOAPI_API_ ConvertInterfaceGuidToLuid (CONST GUID *InterfaceGuid, PNET_LUID InterfaceLuid);
- NET_IFINDEX NETIOAPI_API_ if_nametoindex (PCSTR InterfaceName);
- PCHAR NETIOAPI_API_ if_indextoname (NET_IFINDEX InterfaceIndex, PCHAR InterfaceName);
- NET_IF_COMPARTMENT_ID NETIOAPI_API_ GetCurrentThreadCompartmentId (VOID);
- NETIO_STATUS NETIOAPI_API_ SetCurrentThreadCompartmentId (NET_IF_COMPARTMENT_ID CompartmentId);
- NET_IF_COMPARTMENT_ID NETIOAPI_API_ GetSessionCompartmentId (ULONG SessionId);
- NETIO_STATUS NETIOAPI_API_ SetSessionCompartmentId (ULONG SessionId, NET_IF_COMPARTMENT_ID CompartmentId);
- NETIO_STATUS NETIOAPI_API_ GetNetworkInformation (CONST NET_IF_NETWORK_GUID *NetworkGuid, PNET_IF_COMPARTMENT_ID CompartmentId, PULONG SiteId, PWCHAR NetworkName, ULONG Length);
- NETIO_STATUS NETIOAPI_API_ SetNetworkInformation (CONST NET_IF_NETWORK_GUID *NetworkGuid, NET_IF_COMPARTMENT_ID CompartmentId, CONST WCHAR *NetworkName);
- NETIO_STATUS NETIOAPI_API_ ConvertLengthToIpv4Mask (ULONG MaskLength, PULONG Mask);
- NETIO_STATUS NETIOAPI_API_ ConvertIpv4MaskToLength (ULONG Mask, PUINT8 MaskLength);
- #ifdef __cplusplus
- }
- #endif
- #endif
- #endif
|