[PSDK] Attempt to improve the whole iphlpapi related headers situation. CORE-7685...
[reactos.git] / reactos / include / psdk / iprtrmib.h
index 7337004..b09f1ce 100644 (file)
  *
  * 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
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
  */
 #ifndef WINE_IPRTRMIB_H__
 #define WINE_IPRTRMIB_H__
 
-#define MAX_INTERFACE_NAME_LEN 256
-
+#include <mprapi.h>
 #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
+#include <ipmib.h>
+#include <tcpmib.h>
+#include <udpmib.h>
 
-#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
+typedef enum _TCP_TABLE_CLASS
 {
-    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,
@@ -316,19 +38,17 @@ typedef enum {
     TCP_TABLE_OWNER_MODULE_ALL
 } TCP_TABLE_CLASS, *PTCP_TABLE_CLASS;
 
-typedef struct _MIB_TCPROW_OWNER_PID {
-  DWORD dwState;
-  DWORD dwLocalAddr;
-  DWORD dwLocalPort;
-  DWORD dwRemoteAddr;
-  DWORD dwRemotePort;
-  DWORD dwOwningPid;
-} MIB_TCPROW_OWNER_PID, *PMIB_TCPROW_OWNER_PID;
-
-typedef struct {
-  DWORD                dwNumEntries;
-  MIB_TCPROW_OWNER_PID table[1];
-} MIB_TCPTABLE_OWNER_PID, *PMIB_TCPTABLE_OWNER_PID;
+typedef enum _UDP_TABLE_CLASS
+{
+    UDP_TABLE_BASIC,
+    UDP_TABLE_OWNER_PID,
+    UDP_TABLE_OWNER_MODULE
+} UDP_TABLE_CLASS, *PUDP_TABLE_CLASS;
 
+/* ReactOS */
+typedef enum _TCPIP_OWNER_MODULE_INFO_CLASS
+{
+    TCPIP_OWNER_MODULE_INFO_BASIC
+} TCPIP_OWNER_MODULE_INFO_CLASS, *PTCPIP_OWNER_MODULE_INFO_CLASS;
 
 #endif /* WINE_IPRTRMIB_H__ */