ReactOS 0.4.16-dev-1946-g52006dd
netioapi.h
Go to the documentation of this file.
1/*
2 * Copyright 2015 Hans Leidekker for CodeWeavers
3 *
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
8 *
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
13 *
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
17 */
18
19#ifndef __WINE_NETIOAPI_H
20#define __WINE_NETIOAPI_H
21
22#include <ntddndis.h>
23
24#ifndef IPHLPAPI_DLL_LINKAGE
25#if defined(__REACTOS__) && defined(__GNUC__)
26/* FIXME: CORE-6504 */
27#define IPHLPAPI_DLL_LINKAGE
28#else
29#define IPHLPAPI_DLL_LINKAGE DECLSPEC_IMPORT
30#endif
31#endif
32
33#ifndef ANY_SIZE
34#define ANY_SIZE 1
35#endif
36
38{
43
45{
51
52typedef struct _MIB_IF_ROW2
53{
69 struct
70 {
106
107typedef struct _MIB_IF_TABLE2
108{
112
114{
151
153{
157
159{
173
175{
179
181{
187
189{
193
194typedef struct _IP_ADDRESS_PREFIX
195{
199
201{
218
220{
224
225typedef struct _MIB_IPNET_ROW2
226{
233
234 union
235 {
236 struct
237 {
243
244 union
245 {
250
251typedef struct _MIB_IPNET_TABLE2
252{
256
261
263
292
293#endif /* __WINE_NETIOAPI_H */
unsigned char BOOLEAN
unsigned char UINT8
#define VOID
Definition: acefi.h:82
unsigned long DWORD
Definition: ntddk_ex.h:95
enum _NET_IF_ADMIN_STATUS NET_IF_ADMIN_STATUS
#define IF_MAX_PHYS_ADDRESS_LENGTH
Definition: ifdef.h:67
enum _NET_IF_DIRECTION_TYPE NET_IF_DIRECTION_TYPE
IF_OPER_STATUS
Definition: ifdef.h:184
enum _NET_IF_CONNECTION_TYPE NET_IF_CONNECTION_TYPE
UINT32 NET_IF_COMPARTMENT_ID
Definition: ifdef.h:24
enum _NET_IF_MEDIA_CONNECT_STATE NET_IF_MEDIA_CONNECT_STATE
#define IF_MAX_STRING_SIZE
Definition: ifdef.h:66
TUNNEL_TYPE
Definition: ifdef.h:168
ULONG NET_IFINDEX
Definition: ifdef.h:26
enum _NET_IF_ACCESS_TYPE NET_IF_ACCESS_TYPE
ULONG IFTYPE
Definition: ipifcons.h:230
unsigned __int64 ULONG64
Definition: imports.h:198
enum _NL_NEIGHBOR_STATE NL_NEIGHBOR_STATE
NL_DAD_STATE
Definition: nldef.h:39
enum _NL_ROUTE_ORIGIN NL_ROUTE_ORIGIN
enum _NL_ROUTER_DISCOVERY_BEHAVIOR NL_ROUTER_DISCOVERY_BEHAVIOR
NL_PREFIX_ORIGIN
Definition: nldef.h:8
NL_SUFFIX_ORIGIN
Definition: nldef.h:23
NL_ROUTE_PROTOCOL
Definition: nldef.h:56
enum _NL_LINK_LOCAL_ADDRESS_BEHAVIOR NL_LINK_LOCAL_ADDRESS_BEHAVIOR
enum _NDIS_MEDIUM NDIS_MEDIUM
enum _NDIS_PHYSICAL_MEDIUM NDIS_PHYSICAL_MEDIUM
SOCKADDR_INET Prefix
Definition: netioapi.h:196
SOCKADDR_INET Address
Definition: netioapi.h:182
NET_IFINDEX InterfaceIndex
Definition: netioapi.h:184
MIB_ANYCASTIPADDRESS_ROW Table[ANY_SIZE]
Definition: netioapi.h:191
UCHAR PermanentPhysicalAddress[IF_MAX_PHYS_ADDRESS_LENGTH]
Definition: netioapi.h:61
ULONG64 InDiscards
Definition: netioapi.h:90
NET_IF_CONNECTION_TYPE ConnectionType
Definition: netioapi.h:84
NET_LUID InterfaceLuid
Definition: netioapi.h:54
ULONG64 OutUcastPkts
Definition: netioapi.h:97
BOOLEAN LowPower
Definition: netioapi.h:77
WCHAR Alias[IF_MAX_STRING_SIZE+1]
Definition: netioapi.h:57
ULONG64 OutBroadcastOctets
Definition: netioapi.h:103
NET_IF_ADMIN_STATUS AdminStatus
Definition: netioapi.h:81
ULONG64 InErrors
Definition: netioapi.h:91
ULONG64 InUnknownProtos
Definition: netioapi.h:92
ULONG64 InBroadcastOctets
Definition: netioapi.h:95
GUID InterfaceGuid
Definition: netioapi.h:56
ULONG64 InNUcastPkts
Definition: netioapi.h:89
NET_IFINDEX InterfaceIndex
Definition: netioapi.h:55
BOOLEAN EndPointInterface
Definition: netioapi.h:78
BOOLEAN Paused
Definition: netioapi.h:76
ULONG64 InMulticastOctets
Definition: netioapi.h:94
ULONG64 OutErrors
Definition: netioapi.h:100
NDIS_MEDIUM MediaType
Definition: netioapi.h:65
IF_OPER_STATUS OperStatus
Definition: netioapi.h:80
BOOLEAN NotMediaConnected
Definition: netioapi.h:75
NET_IF_NETWORK_GUID NetworkGuid
Definition: netioapi.h:83
ULONG64 TransmitLinkSpeed
Definition: netioapi.h:85
IFTYPE Type
Definition: netioapi.h:63
struct _MIB_IF_ROW2::@4149 InterfaceAndOperStatusFlags
NET_IF_DIRECTION_TYPE DirectionType
Definition: netioapi.h:68
ULONG64 OutUcastOctets
Definition: netioapi.h:101
ULONG64 ReceiveLinkSpeed
Definition: netioapi.h:86
ULONG64 OutNUcastPkts
Definition: netioapi.h:98
ULONG PhysicalAddressLength
Definition: netioapi.h:59
ULONG64 OutOctets
Definition: netioapi.h:96
ULONG64 OutMulticastOctets
Definition: netioapi.h:102
BOOLEAN FilterInterface
Definition: netioapi.h:72
ULONG64 OutQLen
Definition: netioapi.h:104
BOOLEAN ConnectorPresent
Definition: netioapi.h:73
ULONG64 InUcastOctets
Definition: netioapi.h:93
WCHAR Description[IF_MAX_STRING_SIZE+1]
Definition: netioapi.h:58
NDIS_PHYSICAL_MEDIUM PhysicalMediumType
Definition: netioapi.h:66
ULONG64 InUcastPkts
Definition: netioapi.h:88
NET_IF_ACCESS_TYPE AccessType
Definition: netioapi.h:67
ULONG Mtu
Definition: netioapi.h:62
UCHAR PhysicalAddress[IF_MAX_PHYS_ADDRESS_LENGTH]
Definition: netioapi.h:60
NET_IF_MEDIA_CONNECT_STATE MediaConnectState
Definition: netioapi.h:82
BOOLEAN HardwareInterface
Definition: netioapi.h:71
ULONG64 OutDiscards
Definition: netioapi.h:99
BOOLEAN NotAuthenticated
Definition: netioapi.h:74
ULONG64 InOctets
Definition: netioapi.h:87
TUNNEL_TYPE TunnelType
Definition: netioapi.h:64
MIB_IF_ROW2 Table[1]
Definition: netioapi.h:110
ULONG NumEntries
Definition: netioapi.h:109
NL_ROUTE_PROTOCOL Protocol
Definition: netioapi.h:210
NET_LUID InterfaceLuid
Definition: netioapi.h:202
SOCKADDR_INET NextHop
Definition: netioapi.h:205
NL_ROUTE_ORIGIN Origin
Definition: netioapi.h:216
NET_IFINDEX InterfaceIndex
Definition: netioapi.h:203
ULONG PreferredLifetime
Definition: netioapi.h:208
BOOLEAN AutoconfigureAddress
Definition: netioapi.h:212
UCHAR SitePrefixLength
Definition: netioapi.h:206
IP_ADDRESS_PREFIX DestinationPrefix
Definition: netioapi.h:204
MIB_IPFORWARD_ROW2 Table[ANY_SIZE]
Definition: netioapi.h:222
BOOLEAN WeakHostReceive
Definition: netioapi.h:125
NL_LINK_LOCAL_ADDRESS_BEHAVIOR LinkLocalAddressBehavior
Definition: netioapi.h:136
BOOLEAN SupportsRouterDiscovery
Definition: netioapi.h:145
NL_INTERFACE_OFFLOAD_ROD ReceiveOffload
Definition: netioapi.h:148
BOOLEAN ForwardingEnabled
Definition: netioapi.h:123
ULONG64 InterfaceIdentifier
Definition: netioapi.h:119
ADDRESS_FAMILY Family
Definition: netioapi.h:115
BOOLEAN SupportsWakeUpPatterns
Definition: netioapi.h:143
ULONG PathMtuDiscoveryTimeout
Definition: netioapi.h:135
NET_IFINDEX InterfaceIndex
Definition: netioapi.h:117
BOOLEAN WeakHostSend
Definition: netioapi.h:124
ULONG MaxRouterAdvertisementInterval
Definition: netioapi.h:121
BOOLEAN SupportsNeighborDiscovery
Definition: netioapi.h:144
NL_INTERFACE_OFFLOAD_ROD TransmitOffload
Definition: netioapi.h:147
NET_LUID InterfaceLuid
Definition: netioapi.h:116
ULONG MinRouterAdvertisementInterval
Definition: netioapi.h:120
BOOLEAN OtherStatefulConfigurationSupported
Definition: netioapi.h:129
BOOLEAN AdvertisingEnabled
Definition: netioapi.h:122
ULONG ZoneIndices[ScopeLevelCount]
Definition: netioapi.h:138
BOOLEAN UseNeighborUnreachabilityDetection
Definition: netioapi.h:127
ULONG LinkLocalAddressTimeout
Definition: netioapi.h:137
BOOLEAN AdvertiseDefaultRoute
Definition: netioapi.h:130
BOOLEAN DisableDefaultRoutes
Definition: netioapi.h:149
BOOLEAN UseAutomaticMetric
Definition: netioapi.h:126
NL_ROUTER_DISCOVERY_BEHAVIOR RouterDiscoveryBehavior
Definition: netioapi.h:131
BOOLEAN ManagedAddressConfigurationSupported
Definition: netioapi.h:128
MIB_IPINTERFACE_ROW Table[ANY_SIZE]
Definition: netioapi.h:155
BOOLEAN IsUnreachable
Definition: netioapi.h:239
ULONG LastUnreachable
Definition: netioapi.h:247
UCHAR PhysicalAddress[IF_MAX_PHYS_ADDRESS_LENGTH]
Definition: netioapi.h:230
union _MIB_IPNET_ROW2::@4150 DUMMYUNIONNAME
struct _MIB_IPNET_ROW2::@4150::@4152 DUMMYSTRUCTNAME
ULONG LastReachable
Definition: netioapi.h:246
SOCKADDR_INET Address
Definition: netioapi.h:227
NL_NEIGHBOR_STATE State
Definition: netioapi.h:232
union _MIB_IPNET_ROW2::@4151 ReachabilityTime
NET_IFINDEX InterfaceIndex
Definition: netioapi.h:228
NET_LUID InterfaceLuid
Definition: netioapi.h:229
ULONG PhysicalAddressLength
Definition: netioapi.h:231
BOOLEAN IsRouter
Definition: netioapi.h:238
MIB_IPNET_ROW2 Table[ANY_SIZE]
Definition: netioapi.h:254
NET_IFINDEX InterfaceIndex
Definition: netioapi.h:162
NL_SUFFIX_ORIGIN SuffixOrigin
Definition: netioapi.h:164
NL_PREFIX_ORIGIN PrefixOrigin
Definition: netioapi.h:163
SOCKADDR_INET Address
Definition: netioapi.h:160
NL_DAD_STATE DadState
Definition: netioapi.h:169
LARGE_INTEGER CreationTimeStamp
Definition: netioapi.h:171
MIB_UNICASTIPADDRESS_ROW Table[1]
Definition: netioapi.h:177
void * PVOID
Definition: typedefs.h:50
ULONG_PTR SIZE_T
Definition: typedefs.h:80
const char * PCSTR
Definition: typedefs.h:52
uint32_t ULONG
Definition: typedefs.h:59
char * PCHAR
Definition: typedefs.h:51
#define WINAPI
Definition: msvc.h:6
struct _MIB_UNICASTIPADDRESS_ROW MIB_UNICASTIPADDRESS_ROW
struct _MIB_IPFORWARD_TABLE2 MIB_IPFORWARD_TABLE2
struct _MIB_IPINTERFACE_ROW MIB_IPINTERFACE_ROW
struct _MIB_IPNET_ROW2 MIB_IPNET_ROW2
struct _MIB_UNICASTIPADDRESS_TABLE MIB_UNICASTIPADDRESS_TABLE
struct _MIB_IF_TABLE2 * PMIB_IF_TABLE2
IPHLPAPI_DLL_LINKAGE DWORD WINAPI GetAnycastIpAddressTable(ADDRESS_FAMILY, MIB_ANYCASTIPADDRESS_TABLE **)
#define IPHLPAPI_DLL_LINKAGE
Definition: netioapi.h:29
struct _MIB_IF_TABLE2 MIB_IF_TABLE2
IPHLPAPI_DLL_LINKAGE DWORD WINAPI GetUnicastIpAddressTable(ADDRESS_FAMILY, MIB_UNICASTIPADDRESS_TABLE **)
struct _MIB_IPINTERFACE_ROW * PMIB_IPINTERFACE_ROW
IPHLPAPI_DLL_LINKAGE DWORD WINAPI SetCurrentThreadCompartmentId(NET_IF_COMPARTMENT_ID)
struct _MIB_IPFORWARD_TABLE2 * PMIB_IPFORWARD_TABLE2
struct _MIB_IPINTERFACE_TABLE MIB_IPINTERFACE_TABLE
struct _MIB_ANYCASTIPADDRESS_ROW * PMIB_ANYCASTIPADDRESS_ROW
struct _MIB_IPNET_TABLE2 * PMIB_IPNET_TABLE2
IPHLPAPI_DLL_LINKAGE DWORD WINAPI ConvertInterfaceLuidToGuid(const NET_LUID *, GUID *)
IPHLPAPI_DLL_LINKAGE DWORD WINAPI GetIpForwardTable2(ADDRESS_FAMILY, MIB_IPFORWARD_TABLE2 **)
enum _MIB_IF_TABLE_LEVEL MIB_IF_TABLE_LEVEL
IPHLPAPI_DLL_LINKAGE DWORD WINAPI GetUnicastIpAddressEntry(MIB_UNICASTIPADDRESS_ROW *)
IPHLPAPI_DLL_LINKAGE DWORD WINAPI ConvertInterfaceNameToLuidA(const char *, NET_LUID *)
IPHLPAPI_DLL_LINKAGE DWORD WINAPI GetIfTable2(MIB_IF_TABLE2 **)
VOID(WINAPI * PUNICAST_IPADDRESS_CHANGE_CALLBACK)(PVOID, PMIB_UNICASTIPADDRESS_ROW, MIB_NOTIFICATION_TYPE)
Definition: netioapi.h:259
struct _IP_ADDRESS_PREFIX IP_ADDRESS_PREFIX
struct _MIB_IF_ROW2 MIB_IF_ROW2
IPHLPAPI_DLL_LINKAGE DWORD WINAPI ConvertInterfaceLuidToIndex(const NET_LUID *, NET_IFINDEX *)
struct _IP_ADDRESS_PREFIX * PIP_ADDRESS_PREFIX
struct _MIB_IPNET_TABLE2 MIB_IPNET_TABLE2
_MIB_NOTIFICATION_TYPE
Definition: netioapi.h:45
@ MibAddInstance
Definition: netioapi.h:47
@ MibInitialNotification
Definition: netioapi.h:49
@ MibDeleteInstance
Definition: netioapi.h:48
@ MibParameterNotification
Definition: netioapi.h:46
struct _MIB_UNICASTIPADDRESS_ROW * PMIB_UNICASTIPADDRESS_ROW
IPHLPAPI_DLL_LINKAGE void WINAPI FreeMibTable(void *)
#define ANY_SIZE
Definition: netioapi.h:34
IPHLPAPI_DLL_LINKAGE DWORD WINAPI ConvertInterfaceLuidToNameA(const NET_LUID *, char *, SIZE_T)
IPHLPAPI_DLL_LINKAGE DWORD WINAPI GetIpInterfaceTable(ADDRESS_FAMILY, MIB_IPINTERFACE_TABLE **)
struct _MIB_IPINTERFACE_TABLE * PMIB_IPINTERFACE_TABLE
IPHLPAPI_DLL_LINKAGE DWORD WINAPI ConvertLengthToIpv4Mask(ULONG, ULONG *)
struct _MIB_IPNET_ROW2 * PMIB_IPNET_ROW2
_MIB_IF_TABLE_LEVEL
Definition: netioapi.h:38
@ MibIfTableNormalWithoutStatistics
Definition: netioapi.h:41
@ MibIfTableNormal
Definition: netioapi.h:39
@ MibIfTableRaw
Definition: netioapi.h:40
struct _MIB_ANYCASTIPADDRESS_TABLE * PMIB_ANYCASTIPADDRESS_TABLE
IPHLPAPI_DLL_LINKAGE DWORD WINAPI ConvertInterfaceLuidToNameW(const NET_LUID *, WCHAR *, SIZE_T)
VOID(WINAPI * PIPINTERFACE_CHANGE_CALLBACK)(PVOID, PMIB_IPINTERFACE_ROW, MIB_NOTIFICATION_TYPE)
Definition: netioapi.h:257
IPHLPAPI_DLL_LINKAGE DWORD WINAPI ConvertInterfaceAliasToLuid(const WCHAR *, NET_LUID *)
IPHLPAPI_DLL_LINKAGE DWORD WINAPI GetIpNetTable2(ADDRESS_FAMILY, MIB_IPNET_TABLE2 **)
IPHLPAPI_DLL_LINKAGE DWORD WINAPI ConvertInterfaceNameToLuidW(const WCHAR *, NET_LUID *)
IPHLPAPI_DLL_LINKAGE DWORD WINAPI GetIfEntry2Ex(MIB_IF_TABLE_LEVEL, MIB_IF_ROW2 *)
struct _MIB_IPFORWARD_ROW2 MIB_IPFORWARD_ROW2
struct _MIB_IF_ROW2 * PMIB_IF_ROW2
IPHLPAPI_DLL_LINKAGE DWORD WINAPI ConvertInterfaceIndexToLuid(NET_IFINDEX, NET_LUID *)
IPHLPAPI_DLL_LINKAGE DWORD WINAPI GetIfTable2Ex(MIB_IF_TABLE_LEVEL, MIB_IF_TABLE2 **)
IPHLPAPI_DLL_LINKAGE DWORD WINAPI ConvertInterfaceLuidToAlias(const NET_LUID *, WCHAR *, SIZE_T)
IPHLPAPI_DLL_LINKAGE DWORD WINAPI GetIfEntry2(MIB_IF_ROW2 *)
enum _MIB_NOTIFICATION_TYPE MIB_NOTIFICATION_TYPE
VOID(WINAPI * PIPFORWARD_CHANGE_CALLBACK)(VOID *, MIB_IPFORWARD_ROW2 *, MIB_NOTIFICATION_TYPE)
Definition: netioapi.h:262
IPHLPAPI_DLL_LINKAGE NET_IFINDEX WINAPI if_nametoindex(PCSTR)
IPHLPAPI_DLL_LINKAGE DWORD WINAPI GetIpNetEntry2(MIB_IPNET_ROW2 *)
IPHLPAPI_DLL_LINKAGE PCHAR WINAPI if_indextoname(NET_IFINDEX, PCHAR)
enum _MIB_NOTIFICATION_TYPE * PMIB_NOTIFICATION_TYPE
IPHLPAPI_DLL_LINKAGE DWORD WINAPI ConvertInterfaceGuidToLuid(const GUID *, NET_LUID *)
IPHLPAPI_DLL_LINKAGE DWORD WINAPI GetIpForwardEntry2(MIB_IPFORWARD_ROW2 *)
struct _MIB_ANYCASTIPADDRESS_TABLE MIB_ANYCASTIPADDRESS_TABLE
IPHLPAPI_DLL_LINKAGE NET_IF_COMPARTMENT_ID WINAPI GetCurrentThreadCompartmentId(void)
struct _MIB_ANYCASTIPADDRESS_ROW MIB_ANYCASTIPADDRESS_ROW
enum _MIB_IF_TABLE_LEVEL * PMIB_IF_TABLE_LEVEL
struct _MIB_IPFORWARD_ROW2 * PMIB_IPFORWARD_ROW2
struct _MIB_UNICASTIPADDRESS_TABLE * PMIB_UNICASTIPADDRESS_TABLE
@ ScopeLevelCount
Definition: ws2def.h:486
USHORT ADDRESS_FAMILY
Definition: ws2def.h:25
unsigned char UCHAR
Definition: xmlstorage.h:181
__wchar_t WCHAR
Definition: xmlstorage.h:180