include: Split iprtrmib.h into multiple mib.h files. Include them where appropriate.
diff --git a/include/Makefile.in b/include/Makefile.in index 6bd9020..2d139e4 100644 --- a/include/Makefile.in +++ b/include/Makefile.in
@@ -297,6 +297,7 @@ icmpapi.h \ idispids.h \ ifdef.h \ + ifmib.h \ imagehlp.h \ imm.h \ in6addr.h \ @@ -306,6 +307,7 @@ ipexport.h \ iphlpapi.h \ ipifcons.h \ + ipmib.h \ iprtrmib.h \ iptypes.h \ isguids.h \ @@ -499,11 +501,13 @@ t2embapi.h \ tapi.h \ tchar.h \ + tcpmib.h \ textserv.h \ tlhelp32.h \ tmschema.h \ traffic.h \ twain.h \ + udpmib.h \ userenv.h \ usp10.h \ uuids.h \
diff --git a/include/ifmib.h b/include/ifmib.h new file mode 100644 index 0000000..dbdcd41 --- /dev/null +++ b/include/ifmib.h
@@ -0,0 +1,65 @@ +/* + * 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 St, Fifth Floor, Boston, MA 02110-1301, USA + */ +#ifndef __WINE_IFMIB_H +#define __WINE_IFMIB_H + +#include <ifdef.h> + + +/* Interface table */ + +#define MAX_INTERFACE_NAME_LEN 256 +#define MAXLEN_PHYSADDR 8 +#define MAXLEN_IFDESCR 256 + +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; + + +#endif /* __WINE_IFMIB_H */
diff --git a/include/ipmib.h b/include/ipmib.h new file mode 100644 index 0000000..c9d76e7 --- /dev/null +++ b/include/ipmib.h
@@ -0,0 +1,165 @@ +/* + * 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 St, Fifth Floor, Boston, MA 02110-1301, USA + */ +#ifndef __WINE_IPMIB_H +#define __WINE_IPMIB_H + +#include <ifmib.h> +#include <nldef.h> + + +/* IPADDR table */ + +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; + + +/* IPFORWARD table */ + +typedef struct _MIB_IPFORWARDNUMBER +{ + DWORD dwValue; +} MIB_IPFORWARDNUMBER, *PMIB_IPFORWARDNUMBER; + +#define MIB_IPROUTE_TYPE_OTHER 1 +#define MIB_IPROUTE_TYPE_INVALID 2 +#define MIB_IPROUTE_TYPE_DIRECT 3 +#define MIB_IPROUTE_TYPE_INDIRECT 4 + +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; + +typedef struct _MIB_IPFORWARDTABLE +{ + DWORD dwNumEntries; + MIB_IPFORWARDROW table[1]; +} MIB_IPFORWARDTABLE, *PMIB_IPFORWARDTABLE; + + +/* IPNET table */ + +#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_IPNETROW +{ + DWORD dwIndex; + DWORD dwPhysAddrLen; + BYTE bPhysAddr[MAXLEN_PHYSADDR]; + DWORD dwAddr; + DWORD dwType; +} MIB_IPNETROW, *PMIB_IPNETROW; + +typedef struct _MIB_IPNETTABLE +{ + DWORD dwNumEntries; + MIB_IPNETROW table[1]; +} MIB_IPNETTABLE, *PMIB_IPNETTABLE; + + +/* IP statistics */ + +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; + + +/* ICMP statistics */ + +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; + +#endif /* __WINE_IPMIB_H */
diff --git a/include/iprtrmib.h b/include/iprtrmib.h index cf2bb24..477f1dd 100644 --- a/include/iprtrmib.h +++ b/include/iprtrmib.h
@@ -21,259 +21,8 @@ #include <mprapi.h> #include <ipifcons.h> -#define MAXLEN_IFDESCR 256 -#define MAXLEN_PHYSADDR 8 - -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 _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_TCP_RTO_OTHER 1 -#define MIB_TCP_RTO_CONSTANT 2 -#define MIB_TCP_RTO_RSRE 3 -#define MIB_TCP_RTO_VANJ 4 -#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; +#include <ipmib.h> +#include <tcpmib.h> +#include <udpmib.h> #endif /* WINE_IPRTRMIB_H__ */
diff --git a/include/nldef.h b/include/nldef.h index abce1af..cbf82ee 100644 --- a/include/nldef.h +++ b/include/nldef.h
@@ -48,4 +48,23 @@ IpDadStatePreferred, } NL_DAD_STATE; +#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 + #endif /* __WINE_NLDEF_H */
diff --git a/include/tcpmib.h b/include/tcpmib.h new file mode 100644 index 0000000..51ee9f5 --- /dev/null +++ b/include/tcpmib.h
@@ -0,0 +1,79 @@ +/* + * 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 St, Fifth Floor, Boston, MA 02110-1301, USA + */ +#ifndef __WINE_TCPMIB_H +#define __WINE_TCPMIB_H + + +/* TCP tables */ + +#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_TCPROW +{ + DWORD dwState; + DWORD dwLocalAddr; + DWORD dwLocalPort; + DWORD dwRemoteAddr; + DWORD dwRemotePort; +} MIB_TCPROW, *PMIB_TCPROW; + +typedef struct _MIB_TCPTABLE +{ + DWORD dwNumEntries; + MIB_TCPROW table[1]; +} MIB_TCPTABLE, *PMIB_TCPTABLE; + + +/* TCP stats */ + +#define MIB_TCP_RTO_OTHER 1 +#define MIB_TCP_RTO_CONSTANT 2 +#define MIB_TCP_RTO_RSRE 3 +#define MIB_TCP_RTO_VANJ 4 + +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; + +#endif /* __WINE_TCPMIB_H */
diff --git a/include/udpmib.h b/include/udpmib.h new file mode 100644 index 0000000..5dc0efe --- /dev/null +++ b/include/udpmib.h
@@ -0,0 +1,48 @@ +/* + * 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 St, Fifth Floor, Boston, MA 02110-1301, USA + */ +#ifndef __WINE_UDPMIB_H +#define __WINE_UDPMIB_H + + +/* UDP table */ + +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; + + +/* UDP statistics */ + +typedef struct _MIB_UDPSTATS +{ + DWORD dwInDatagrams; + DWORD dwNoPorts; + DWORD dwInErrors; + DWORD dwOutDatagrams; + DWORD dwNumAddrs; +} MIB_UDPSTATS, *PMIB_UDPSTATS; + +#endif /* __WINE_UDPMIB_H */