add some new (incomplete) network headers

svn path=/trunk/; revision=40136
This commit is contained in:
Christoph von Wittich 2009-03-20 15:08:12 +00:00
parent b2ab2d049e
commit f0b2b4bfa6
5 changed files with 138 additions and 0 deletions

View file

@ -0,0 +1,23 @@
#ifndef _IFDEF_
#define _IFDEF_
#define IF_MAX_STRING_SIZE 256
#define IF_MAX_PHYS_ADDRESS_LENGTH 32
typedef union _NET_LUID_LH
{
ULONG64 Value;
struct
{
ULONG64 Reserved:24;
ULONG64 NetLuidIndex:24;
ULONG64 IfType:16;
}Info;
} NET_LUID_LH, *PNET_LUID_LH;
typedef NET_LUID_LH NET_LUID;
typedef NET_LUID* PNET_LUID;
typedef ULONG NET_IFINDEX, *PNET_IFINDEX;
#endif

View file

@ -2,6 +2,8 @@
#define _IPTYPES_H
#include <sys/types.h>
#include <ifdef.h>
#ifdef __cplusplus
extern "C" {
#endif

View file

@ -0,0 +1,83 @@
#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>
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;
NETIOAPI_API GetIfEntry2(IN OUT PMIB_IF_ROW2 Row);
#endif
#ifdef __cplusplus
}
#endif
#endif

View file

@ -0,0 +1,15 @@
#ifndef _WS2DEF_
#define _WS2DEF_
#ifdef __cplusplus
extern "C" {
#endif
#ifdef __cplusplus
}
#endif
#endif

View file

@ -0,0 +1,15 @@
#ifndef _WS2IPDEF_
#define _WS2IPDEF_
#ifdef __cplusplus
extern "C" {
#endif
#ifdef __cplusplus
}
#endif
#endif