mirror of
https://github.com/reactos/reactos.git
synced 2024-12-29 10:35:28 +00:00
90 lines
2.2 KiB
C
90 lines
2.2 KiB
C
#ifndef _NETIOAPI_H_
|
|
#define _NETIOAPI_H_
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
#ifdef _IPHLPAPI_H
|
|
#define NETIO_STATUS DWORD
|
|
#define NETIOAPI_API_ WINAPI
|
|
#else
|
|
#define NETIO_STATUS NTSTATUS
|
|
#define NETIOAPI_API_ NTAPI
|
|
#endif
|
|
|
|
#define NETIOAPI_API NETIO_STATUS NETIOAPI_API_
|
|
|
|
#ifdef _WS2IPDEF_
|
|
#include <ntddndis.h>
|
|
#include <ifdef.h>
|
|
|
|
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[1];
|
|
} MIB_IF_TABLE2, *PMIB_IF_TABLE2;
|
|
|
|
NETIOAPI_API GetIfEntry2(IN OUT PMIB_IF_ROW2 Row);
|
|
NETIOAPI_API GetIfTable2(OUT PMIB_IF_TABLE2 *Table);
|
|
|
|
#endif
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif
|