mirror of
https://github.com/reactos/reactos.git
synced 2024-08-27 13:48:42 +00:00
320 lines
8 KiB
C
320 lines
8 KiB
C
/* WINE iprtrmib.h
|
|
* Copyright (C) 2003 Juan Lang
|
|
*
|
|
* This library is free software; you can redistribute it and/or
|
|
* modify it under the terms of the GNU Lesser General Public
|
|
* License as published by the Free Software Foundation; either
|
|
* version 2.1 of the License, or (at your option) any later version.
|
|
*
|
|
* This library is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
* Lesser General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU Lesser General Public
|
|
* License along with this library; if not, write to the Free Software
|
|
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
|
*/
|
|
#ifndef WINE_IPRTRMIB_H__
|
|
#define WINE_IPRTRMIB_H__
|
|
|
|
#define MAX_INTERFACE_NAME_LEN 256
|
|
|
|
#include <ipifcons.h>
|
|
|
|
#define MAXLEN_IFDESCR 256
|
|
#define MAXLEN_PHYSADDR 8
|
|
|
|
//It should be 16 according to Lei Shen blog (http://www.mychinaworks.com/blog/lshen/2008/04/16/220/
|
|
#define TCPIP_OWNING_MODULE_SIZE 16
|
|
|
|
typedef struct _MIB_IFROW
|
|
{
|
|
WCHAR wszName[MAX_INTERFACE_NAME_LEN];
|
|
DWORD dwIndex;
|
|
DWORD dwType;
|
|
DWORD dwMtu;
|
|
DWORD dwSpeed;
|
|
DWORD dwPhysAddrLen;
|
|
BYTE bPhysAddr[MAXLEN_PHYSADDR];
|
|
DWORD dwAdminStatus;
|
|
DWORD dwOperStatus;
|
|
DWORD dwLastChange;
|
|
DWORD dwInOctets;
|
|
DWORD dwInUcastPkts;
|
|
DWORD dwInNUcastPkts;
|
|
DWORD dwInDiscards;
|
|
DWORD dwInErrors;
|
|
DWORD dwInUnknownProtos;
|
|
DWORD dwOutOctets;
|
|
DWORD dwOutUcastPkts;
|
|
DWORD dwOutNUcastPkts;
|
|
DWORD dwOutDiscards;
|
|
DWORD dwOutErrors;
|
|
DWORD dwOutQLen;
|
|
DWORD dwDescrLen;
|
|
BYTE bDescr[MAXLEN_IFDESCR];
|
|
} MIB_IFROW,*PMIB_IFROW;
|
|
|
|
typedef struct _MIB_IFTABLE
|
|
{
|
|
DWORD dwNumEntries;
|
|
MIB_IFROW table[1];
|
|
} MIB_IFTABLE, *PMIB_IFTABLE;
|
|
|
|
typedef struct _MIBICMPSTATS
|
|
{
|
|
DWORD dwMsgs;
|
|
DWORD dwErrors;
|
|
DWORD dwDestUnreachs;
|
|
DWORD dwTimeExcds;
|
|
DWORD dwParmProbs;
|
|
DWORD dwSrcQuenchs;
|
|
DWORD dwRedirects;
|
|
DWORD dwEchos;
|
|
DWORD dwEchoReps;
|
|
DWORD dwTimestamps;
|
|
DWORD dwTimestampReps;
|
|
DWORD dwAddrMasks;
|
|
DWORD dwAddrMaskReps;
|
|
} MIBICMPSTATS;
|
|
|
|
typedef struct _MIBICMPINFO
|
|
{
|
|
MIBICMPSTATS icmpInStats;
|
|
MIBICMPSTATS icmpOutStats;
|
|
} MIBICMPINFO;
|
|
|
|
typedef struct _MIB_ICMP
|
|
{
|
|
MIBICMPINFO stats;
|
|
} MIB_ICMP,*PMIB_ICMP;
|
|
|
|
typedef struct _MIB_UDPSTATS
|
|
{
|
|
DWORD dwInDatagrams;
|
|
DWORD dwNoPorts;
|
|
DWORD dwInErrors;
|
|
DWORD dwOutDatagrams;
|
|
DWORD dwNumAddrs;
|
|
} MIB_UDPSTATS,*PMIB_UDPSTATS;
|
|
|
|
typedef struct _MIB_UDPROW
|
|
{
|
|
DWORD dwLocalAddr;
|
|
DWORD dwLocalPort;
|
|
} MIB_UDPROW, *PMIB_UDPROW;
|
|
|
|
typedef struct _MIB_UDPTABLE
|
|
{
|
|
DWORD dwNumEntries;
|
|
MIB_UDPROW table[1];
|
|
} MIB_UDPTABLE, *PMIB_UDPTABLE;
|
|
|
|
typedef struct _MIB_TCPSTATS
|
|
{
|
|
DWORD dwRtoAlgorithm;
|
|
DWORD dwRtoMin;
|
|
DWORD dwRtoMax;
|
|
DWORD dwMaxConn;
|
|
DWORD dwActiveOpens;
|
|
DWORD dwPassiveOpens;
|
|
DWORD dwAttemptFails;
|
|
DWORD dwEstabResets;
|
|
DWORD dwCurrEstab;
|
|
DWORD dwInSegs;
|
|
DWORD dwOutSegs;
|
|
DWORD dwRetransSegs;
|
|
DWORD dwInErrs;
|
|
DWORD dwOutRsts;
|
|
DWORD dwNumConns;
|
|
} MIB_TCPSTATS, *PMIB_TCPSTATS;
|
|
|
|
typedef struct _MIBICMPSTATS_EX
|
|
{
|
|
DWORD dwMsgs;
|
|
DWORD dwErrors;
|
|
DWORD rgdwTypeCount[256];
|
|
} MIBICMPSTATS_EX, *PMIBICMPSTATS_EX;
|
|
|
|
typedef struct _MIB_ICMP_EX
|
|
{
|
|
MIBICMPSTATS_EX icmpInStats;
|
|
MIBICMPSTATS_EX icmpOutStats;
|
|
} MIB_ICMP_EX,*PMIB_ICMP_EX;
|
|
|
|
typedef struct _MIB_TCPROW
|
|
{
|
|
DWORD dwState;
|
|
DWORD dwLocalAddr;
|
|
DWORD dwLocalPort;
|
|
DWORD dwRemoteAddr;
|
|
DWORD dwRemotePort;
|
|
} MIB_TCPROW, *PMIB_TCPROW;
|
|
|
|
#define MIB_TCP_STATE_CLOSED 1
|
|
#define MIB_TCP_STATE_LISTEN 2
|
|
#define MIB_TCP_STATE_SYN_SENT 3
|
|
#define MIB_TCP_STATE_SYN_RCVD 4
|
|
#define MIB_TCP_STATE_ESTAB 5
|
|
#define MIB_TCP_STATE_FIN_WAIT1 6
|
|
#define MIB_TCP_STATE_FIN_WAIT2 7
|
|
#define MIB_TCP_STATE_CLOSE_WAIT 8
|
|
#define MIB_TCP_STATE_CLOSING 9
|
|
#define MIB_TCP_STATE_LAST_ACK 10
|
|
#define MIB_TCP_STATE_TIME_WAIT 11
|
|
#define MIB_TCP_STATE_DELETE_TCB 12
|
|
|
|
typedef struct _MIB_TCPTABLE
|
|
{
|
|
DWORD dwNumEntries;
|
|
MIB_TCPROW table[1];
|
|
} MIB_TCPTABLE, *PMIB_TCPTABLE;
|
|
|
|
typedef struct _MIB_IPSTATS
|
|
{
|
|
DWORD dwForwarding;
|
|
DWORD dwDefaultTTL;
|
|
DWORD dwInReceives;
|
|
DWORD dwInHdrErrors;
|
|
DWORD dwInAddrErrors;
|
|
DWORD dwForwDatagrams;
|
|
DWORD dwInUnknownProtos;
|
|
DWORD dwInDiscards;
|
|
DWORD dwInDelivers;
|
|
DWORD dwOutRequests;
|
|
DWORD dwRoutingDiscards;
|
|
DWORD dwOutDiscards;
|
|
DWORD dwOutNoRoutes;
|
|
DWORD dwReasmTimeout;
|
|
DWORD dwReasmReqds;
|
|
DWORD dwReasmOks;
|
|
DWORD dwReasmFails;
|
|
DWORD dwFragOks;
|
|
DWORD dwFragFails;
|
|
DWORD dwFragCreates;
|
|
DWORD dwNumIf;
|
|
DWORD dwNumAddr;
|
|
DWORD dwNumRoutes;
|
|
} MIB_IPSTATS, *PMIB_IPSTATS;
|
|
|
|
typedef struct _MIB_IPADDRROW
|
|
{
|
|
DWORD dwAddr;
|
|
DWORD dwIndex;
|
|
DWORD dwMask;
|
|
DWORD dwBCastAddr;
|
|
DWORD dwReasmSize;
|
|
unsigned short unused1;
|
|
unsigned short wType;
|
|
} MIB_IPADDRROW, *PMIB_IPADDRROW;
|
|
|
|
typedef struct _MIB_IPADDRTABLE
|
|
{
|
|
DWORD dwNumEntries;
|
|
MIB_IPADDRROW table[1];
|
|
} MIB_IPADDRTABLE, *PMIB_IPADDRTABLE;
|
|
|
|
|
|
typedef struct _MIB_IPFORWARDNUMBER
|
|
{
|
|
DWORD dwValue;
|
|
}MIB_IPFORWARDNUMBER,*PMIB_IPFORWARDNUMBER;
|
|
|
|
typedef struct _MIB_IPFORWARDROW
|
|
{
|
|
DWORD dwForwardDest;
|
|
DWORD dwForwardMask;
|
|
DWORD dwForwardPolicy;
|
|
DWORD dwForwardNextHop;
|
|
DWORD dwForwardIfIndex;
|
|
DWORD dwForwardType;
|
|
DWORD dwForwardProto;
|
|
DWORD dwForwardAge;
|
|
DWORD dwForwardNextHopAS;
|
|
DWORD dwForwardMetric1;
|
|
DWORD dwForwardMetric2;
|
|
DWORD dwForwardMetric3;
|
|
DWORD dwForwardMetric4;
|
|
DWORD dwForwardMetric5;
|
|
}MIB_IPFORWARDROW, *PMIB_IPFORWARDROW;
|
|
|
|
#define MIB_IPROUTE_TYPE_OTHER 1
|
|
#define MIB_IPROUTE_TYPE_INVALID 2
|
|
#define MIB_IPROUTE_TYPE_DIRECT 3
|
|
#define MIB_IPROUTE_TYPE_INDIRECT 4
|
|
|
|
#define MIB_IPPROTO_OTHER 1
|
|
#define MIB_IPPROTO_LOCAL 2
|
|
#define MIB_IPPROTO_NETMGMT 3
|
|
#define MIB_IPPROTO_ICMP 4
|
|
#define MIB_IPPROTO_EGP 5
|
|
#define MIB_IPPROTO_GGP 6
|
|
#define MIB_IPPROTO_HELLO 7
|
|
#define MIB_IPPROTO_RIP 8
|
|
#define MIB_IPPROTO_IS_IS 9
|
|
#define MIB_IPPROTO_ES_IS 10
|
|
#define MIB_IPPROTO_CISCO 11
|
|
#define MIB_IPPROTO_BBN 12
|
|
#define MIB_IPPROTO_OSPF 13
|
|
#define MIB_IPPROTO_BGP 14
|
|
|
|
#define MIB_IPPROTO_NT_AUTOSTATIC 10002
|
|
#define MIB_IPPROTO_NT_STATIC 10006
|
|
#define MIB_IPPROTO_NT_STATIC_NON_DOD 10007
|
|
|
|
typedef struct _MIB_IPFORWARDTABLE
|
|
{
|
|
DWORD dwNumEntries;
|
|
MIB_IPFORWARDROW table[1];
|
|
} MIB_IPFORWARDTABLE, *PMIB_IPFORWARDTABLE;
|
|
|
|
typedef struct _MIB_IPNETROW
|
|
{
|
|
DWORD dwIndex;
|
|
DWORD dwPhysAddrLen;
|
|
BYTE bPhysAddr[MAXLEN_PHYSADDR];
|
|
DWORD dwAddr;
|
|
DWORD dwType;
|
|
} MIB_IPNETROW, *PMIB_IPNETROW;
|
|
|
|
#define MIB_IPNET_TYPE_OTHER 1
|
|
#define MIB_IPNET_TYPE_INVALID 2
|
|
#define MIB_IPNET_TYPE_DYNAMIC 3
|
|
#define MIB_IPNET_TYPE_STATIC 4
|
|
|
|
typedef struct _MIB_IPNETTABLE
|
|
{
|
|
DWORD dwNumEntries;
|
|
MIB_IPNETROW table[1];
|
|
} MIB_IPNETTABLE, *PMIB_IPNETTABLE;
|
|
|
|
typedef struct _MIB_TCPROW_OWNER_MODULE {
|
|
DWORD dwState;
|
|
DWORD dwLocalAddr;
|
|
DWORD dwLocalPort;
|
|
DWORD dwRemoteAddr;
|
|
DWORD dwRemotePort;
|
|
DWORD dwOwningPid;
|
|
LARGE_INTEGER liCreateTimestamp;
|
|
ULONGLONG OwningModuleInfo[TCPIP_OWNING_MODULE_SIZE];
|
|
} MIB_TCPROW_OWNER_MODULE, *PMIB_TCPROW_OWNER_MODULE;
|
|
|
|
typedef enum {
|
|
TCPIP_OWNER_MODULE_INFO_BASIC
|
|
} TCPIP_OWNER_MODULE_INFO_CLASS, *PTCPIP_OWNER_MODULE_INFO_CLASS;
|
|
|
|
typedef enum {
|
|
TCP_TABLE_BASIC_LISTENER,
|
|
TCP_TABLE_BASIC_CONNECTIONS,
|
|
TCP_TABLE_BASIC_ALL,
|
|
TCP_TABLE_OWNER_PID_LISTENER,
|
|
TCP_TABLE_OWNER_PID_CONNECTIONS,
|
|
TCP_TABLE_OWNER_PID_ALL,
|
|
TCP_TABLE_OWNER_MODULE_LISTENER,
|
|
TCP_TABLE_OWNER_MODULE_CONNECTIONS,
|
|
TCP_TABLE_OWNER_MODULE_ALL
|
|
} TCP_TABLE_CLASS, *PTCP_TABLE_CLASS;
|
|
|
|
#endif /* WINE_IPRTRMIB_H__ */
|