NDIS_MEDIUM = (
NdisMedium802_3,
NdisMedium802_5,
NdisMediumFddi,
NdisMediumWan,
NdisMediumLocalTalk,
NdisMediumDix, // defined for convenience, not a real medium
NdisMediumArcnetRaw,
NdisMediumArcnet878_2,
NdisMediumAtm,
NdisMediumWirelessWan,
NdisMediumIrda,
NdisMediumBpc,
NdisMediumCoWan,
NdisMedium1394,
NdisMediumInfiniBand,
NdisMediumMax // Not a real medium, defined as an upper-bound
);
NDIS_PHYSICAL_MEDIUM = (
NdisPhysicalMediumUnspecified,
NdisPhysicalMediumWirelessLan,
NdisPhysicalMediumCableModem,
NdisPhysicalMediumPhoneLine,
NdisPhysicalMediumPowerLine,
NdisPhysicalMediumDSL, // includes ADSL and UADSL (G.Lite)
NdisPhysicalMediumFibreChannel,
NdisPhysicalMedium1394,
NdisPhysicalMediumWirelessWan,
NdisPhysicalMediumNative802_11,
NdisPhysicalMediumBluetooth,
NdisPhysicalMediumInfiniband,
NdisPhysicalMediumWiMax,
NdisPhysicalMediumUWB,
NdisPhysicalMedium802_3,
NdisPhysicalMedium802_5,
NdisPhysicalMediumIrda,
NdisPhysicalMediumWiredWAN,
NdisPhysicalMediumWiredCoWan,
NdisPhysicalMediumOther,
NdisPhysicalMediumMax // Not a real physical type, defined as an upper-bound
);
NET_IF_ACCESS_TYPE =
( NET_IF_ACCESS_LOOPBACK = 1,
NET_IF_ACCESS_BROADCAST = 2,
NET_IF_ACCESS_POINT_TO_POINT = 3,
NET_IF_ACCESS_POINT_TO_MULTI_POINT = 4,
NET_IF_ACCESS_MAXIMUM = 5);
TUNNEL_TYPE = (
TUNNEL_TYPE_NONE = 0,
TUNNEL_TYPE_OTHER = 1,
TUNNEL_TYPE_DIRECT = 2,
TUNNEL_TYPE_6TO4 = 11,
TUNNEL_TYPE_ISATAP = 13,
TUNNEL_TYPE_TEREDO = 14);
NET_IF_DIRECTION_TYPE = (
NET_IF_DIRECTION_SENDRECEIVE,
NET_IF_DIRECTION_SENDONLY,
NET_IF_DIRECTION_RECEIVEONLY,
NET_IF_DIRECTION_MAXIMUM
);
TInterfaceAndOperStatusFlags = (
HardwareInterface = 1,
FilterInterface = 1,
ConnectorPresent = 1,
NotAuthenticated = 1,
NotMediaConnected = 1,
Paused = 1,
LowPower = 1,
EndPointInterface = 1);
NET_IF_ADMIN_STATUS = ( // ifAdminStatus
NET_IF_ADMIN_STATUS_UP = 1,
NET_IF_ADMIN_STATUS_DOWN = 2,
NET_IF_ADMIN_STATUS_TESTING = 3
);
IF_OPER_STATUS = (
IfOperStatusUp,
IfOperStatusDown,
IfOperStatusTesting,
IfOperStatusUnknown,
IfOperStatusDormant,
IfOperStatusNotPresent,
IfOperStatusLowerLayerDown);
{$EXTERNALSYM IF_OPER_STATUS}
TIfOperStatus = IF_OPER_STATUS;
NET_IF_MEDIA_CONNECT_STATE = (
MediaConnectStateUnknown,
MediaConnectStateConnected,
MediaConnectStateDisconnected);
NET_IF_CONNECTION_TYPE = (
NET_IF_CONNECTION_DEDICATED = 1,
NET_IF_CONNECTION_PASSIVE = 2,
NET_IF_CONNECTION_DEMAND = 3,
NET_IF_CONNECTION_MAXIMUM = 4);
TMibIfRow2 = packed record
InterfaceLuid: record
case integer of
0: (
Value: Dword);
1: (
Reserved: Dword;
NetLuidIndex: Dword;
IfType: Dword);
end;
InterfaceIndex:ULONG ;
InterfaceGuid: TGUID;
Alias:array[0..256] of WCHAR;
Description:array[0..256] of WCHAR;
PhysicalAddressLength:ULONG;
PhysicalAddress:array[0..31] of UCHAR;
PermanentPhysicalAddress:array[0..31] of UCHAR;
Mtu:ULONG;
Typet:ULONG;
TunnelType:TUNNEL_TYPE;
MediaType:NDIS_MEDIUM;
PhysicalMediumType:NDIS_PHYSICAL_MEDIUM;
AccessType:NET_IF_ACCESS_TYPE;
DirectionType:NET_IF_DIRECTION_TYPE;
InterfaceAndOperStatusFlags: TInterfaceAndOperStatusFlags ;
OperStatus:IF_OPER_STATUS;
AdminStatus:NET_IF_ADMIN_STATUS;
MediaConnectState:NET_IF_MEDIA_CONNECT_STATE;
NetworkGuid:TGUID;
ConnectionType:NET_IF_CONNECTION_TYPE;
TransmitLinkSpeed:DWORD;
ReceiveLinkSpeed:DWORD;
InOctets:DWORD;
InUcastPkts:DWORD;
InNUcastPkts:DWORD;
InDiscards:DWORD;
InErrors:DWORD;
InUnknownProtos:DWORD;
InUcastOctets:DWORD;
InMulticastOctets:DWORD;
InBroadcastOctets:DWORD;
OutOctets:DWORD;
OutUcastPkts:DWORD;
OutNUcastPkts:DWORD;
OutDiscards:DWORD;
OutErrors:DWORD;
OutUcastOctets:DWORD;
OutMulticastOctets:DWORD;
OutBroadcastOctets:DWORD;
OutQLen:DWORD;
end;
TMibIfArray2 = array [0..512] of TMibIfRow2;
TMibIfTable2 = packed record
dwNumEntries: ULONG ;
Table : TMibIfArray2;
end;