ReactOS  0.4.14-dev-384-g5b37caa
netioapi.h
Go to the documentation of this file.
1 #ifndef _NETIOAPI_H_
2 #define _NETIOAPI_H_
3 
4 #ifdef __cplusplus
5 extern "C" {
6 #endif
7 
8 #ifdef _IPHLPAPI_H
9  #define NETIO_STATUS DWORD
10  #define NETIOAPI_API_ WINAPI
11 #else
12  #define NETIO_STATUS NTSTATUS
13  #define NETIOAPI_API_ NTAPI
14 #endif
15 
16 #define NETIOAPI_API NETIO_STATUS NETIOAPI_API_
17 
18 #ifdef _WS2IPDEF_
19 #include <ntddndis.h>
20 #include <ifdef.h>
21 
22 typedef struct _MIB_IF_ROW2 {
23  NET_LUID InterfaceLuid;
24  NET_IFINDEX InterfaceIndex;
28  ULONG PhysicalAddressLength;
30  UCHAR PermanentPhysicalAddress[IF_MAX_PHYS_ADDRESS_LENGTH];
31  ULONG Mtu;
32  IFTYPE Type;
33  TUNNEL_TYPE TunnelType;
34  NDIS_MEDIUM MediaType;
35  NDIS_PHYSICAL_MEDIUM PhysicalMediumType;
36  NET_IF_ACCESS_TYPE AccessType;
37  NET_IF_DIRECTION_TYPE DirectionType;
38  struct {
39  BOOLEAN HardwareInterface : 1;
40  BOOLEAN FilterInterface : 1;
41  BOOLEAN ConnectorPresent : 1;
42  BOOLEAN NotAuthenticated : 1;
43  BOOLEAN NotMediaConnected : 1;
44  BOOLEAN Paused : 1;
45  BOOLEAN LowPower : 1;
46  BOOLEAN EndPointInterface : 1;
47  } InterfaceAndOperStatusFlags;
48  IF_OPER_STATUS OperStatus;
49  NET_IF_ADMIN_STATUS AdminStatus;
50  NET_IF_MEDIA_CONNECT_STATE MediaConnectState;
51  NET_IF_NETWORK_GUID NetworkGuid;
52  NET_IF_CONNECTION_TYPE ConnectionType;
53  ULONG64 TransmitLinkSpeed;
54  ULONG64 ReceiveLinkSpeed;
55  ULONG64 InOctets;
56  ULONG64 InUcastPkts;
57  ULONG64 InNUcastPkts;
58  ULONG64 InDiscards;
59  ULONG64 InErrors;
60  ULONG64 InUnknownProtos;
61  ULONG64 InUcastOctets;
62  ULONG64 InMulticastOctets;
63  ULONG64 InBroadcastOctets;
64  ULONG64 OutOctets;
65  ULONG64 OutUcastPkts;
66  ULONG64 OutNUcastPkts;
67  ULONG64 OutDiscards;
68  ULONG64 OutErrors;
69  ULONG64 OutUcastOctets;
70  ULONG64 OutMulticastOctets;
71  ULONG64 OutBroadcastOctets;
72  ULONG64 OutQLen;
73 } MIB_IF_ROW2, *PMIB_IF_ROW2;
74 
75 typedef struct _MIB_IF_TABLE2
76 {
77  ULONG NumEntries;
78  MIB_IF_ROW2 Table[1];
79 } MIB_IF_TABLE2, *PMIB_IF_TABLE2;
80 
81 NETIOAPI_API GetIfEntry2(IN OUT PMIB_IF_ROW2 Row);
82 NETIOAPI_API GetIfTable2(OUT PMIB_IF_TABLE2 *Table);
83 
84 #endif
85 
86 #ifdef __cplusplus
87 }
88 #endif
89 
90 #endif
enum _NET_IF_ADMIN_STATUS NET_IF_ADMIN_STATUS
#define IN
Definition: typedefs.h:38
ASMGENDATA Table[]
Definition: genincdata.c:61
Type
Definition: Type.h:6
enum _NDIS_MEDIUM NDIS_MEDIUM
IF_OPER_STATUS
Definition: ifdef.h:184
TUNNEL_TYPE
Definition: ifdef.h:168
static const WCHAR Description[]
Definition: oid.c:1266
enum _NDIS_PHYSICAL_MEDIUM NDIS_PHYSICAL_MEDIUM
#define NETIOAPI_API
Definition: netioapi.h:16
enum _NET_IF_ACCESS_TYPE NET_IF_ACCESS_TYPE
unsigned char BOOLEAN
ULONG IFTYPE
Definition: ipifcons.h:230
__wchar_t WCHAR
Definition: xmlstorage.h:180
unsigned __int64 ULONG64
Definition: imports.h:198
_Must_inspect_result_ typedef _In_ PHYSICAL_ADDRESS PhysicalAddress
Definition: iotypes.h:1061
unsigned char UCHAR
Definition: xmlstorage.h:181
enum _NET_IF_DIRECTION_TYPE NET_IF_DIRECTION_TYPE
static const GUID InterfaceGuid
Definition: wlanapi.c:25
enum _NET_IF_CONNECTION_TYPE NET_IF_CONNECTION_TYPE
enum _NET_IF_MEDIA_CONNECT_STATE NET_IF_MEDIA_CONNECT_STATE
#define OUT
Definition: typedefs.h:39
unsigned int ULONG
Definition: retypes.h:1
ULONG NET_IFINDEX
Definition: ifdef.h:26
#define IF_MAX_PHYS_ADDRESS_LENGTH
Definition: ifdef.h:67
#define IF_MAX_STRING_SIZE
Definition: ifdef.h:66