2 * Copyright (C) 2003 Juan Lang
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18 #ifndef WINE_IPRTRMIB_H__
19 #define WINE_IPRTRMIB_H__
21 #define MAX_INTERFACE_NAME_LEN 256
25 #define MAXLEN_IFDESCR 256
26 #define MAXLEN_PHYSADDR 8
28 typedef struct _MIB_IFROW
30 WCHAR wszName[MAX_INTERFACE_NAME_LEN];
36 BYTE bPhysAddr[MAXLEN_PHYSADDR];
45 DWORD dwInUnknownProtos;
48 DWORD dwOutNUcastPkts;
53 BYTE bDescr[MAXLEN_IFDESCR];
54 } MIB_IFROW,*PMIB_IFROW;
56 typedef struct _MIB_IFTABLE
60 } MIB_IFTABLE, *PMIB_IFTABLE;
62 typedef struct _MIBICMPSTATS
74 DWORD dwTimestampReps;
79 typedef struct _MIBICMPINFO
81 MIBICMPSTATS icmpInStats;
82 MIBICMPSTATS icmpOutStats;
85 typedef struct _MIB_ICMP
88 } MIB_ICMP,*PMIB_ICMP;
90 typedef struct _MIB_UDPSTATS
97 } MIB_UDPSTATS,*PMIB_UDPSTATS;
99 typedef struct _MIB_UDPROW
103 } MIB_UDPROW, *PMIB_UDPROW;
105 typedef struct _MIB_UDPTABLE
109 } MIB_UDPTABLE, *PMIB_UDPTABLE;
111 typedef struct _MIB_TCPSTATS
113 DWORD dwRtoAlgorithm;
118 DWORD dwPassiveOpens;
119 DWORD dwAttemptFails;
128 } MIB_TCPSTATS, *PMIB_TCPSTATS;
130 typedef struct _MIB_TCPROW
137 } MIB_TCPROW, *PMIB_TCPROW;
139 #define MIB_TCP_STATE_CLOSED 1
140 #define MIB_TCP_STATE_LISTEN 2
141 #define MIB_TCP_STATE_SYN_SENT 3
142 #define MIB_TCP_STATE_SYN_RCVD 4
143 #define MIB_TCP_STATE_ESTAB 5
144 #define MIB_TCP_STATE_FIN_WAIT1 6
145 #define MIB_TCP_STATE_FIN_WAIT2 7
146 #define MIB_TCP_STATE_CLOSE_WAIT 8
147 #define MIB_TCP_STATE_CLOSING 9
148 #define MIB_TCP_STATE_LAST_ACK 10
149 #define MIB_TCP_STATE_TIME_WAIT 11
150 #define MIB_TCP_STATE_DELETE_TCB 12
152 typedef struct _MIB_TCPTABLE
156 } MIB_TCPTABLE, *PMIB_TCPTABLE;
158 typedef struct _MIB_IPSTATS
164 DWORD dwInAddrErrors;
165 DWORD dwForwDatagrams;
166 DWORD dwInUnknownProtos;
170 DWORD dwRoutingDiscards;
173 DWORD dwReasmTimeout;
183 } MIB_IPSTATS, *PMIB_IPSTATS;
185 typedef struct _MIB_IPADDRROW
192 unsigned short unused1;
193 unsigned short wType;
194 } MIB_IPADDRROW, *PMIB_IPADDRROW;
196 typedef struct _MIB_IPADDRTABLE
199 MIB_IPADDRROW table[1];
200 } MIB_IPADDRTABLE, *PMIB_IPADDRTABLE;
203 typedef struct _MIB_IPFORWARDNUMBER
206 }MIB_IPFORWARDNUMBER,*PMIB_IPFORWARDNUMBER;
208 typedef struct _MIB_IPFORWARDROW
212 DWORD dwForwardPolicy;
213 DWORD dwForwardNextHop;
214 DWORD dwForwardIfIndex;
216 DWORD dwForwardProto;
218 DWORD dwForwardNextHopAS;
219 DWORD dwForwardMetric1;
220 DWORD dwForwardMetric2;
221 DWORD dwForwardMetric3;
222 DWORD dwForwardMetric4;
223 DWORD dwForwardMetric5;
224 }MIB_IPFORWARDROW, *PMIB_IPFORWARDROW;
226 #define MIB_IPROUTE_TYPE_OTHER 1
227 #define MIB_IPROUTE_TYPE_INVALID 2
228 #define MIB_IPROUTE_TYPE_DIRECT 3
229 #define MIB_IPROUTE_TYPE_INDIRECT 4
231 #define MIB_IPPROTO_OTHER 1
232 #define MIB_IPPROTO_LOCAL 2
233 #define MIB_IPPROTO_NETMGMT 3
234 #define MIB_IPPROTO_ICMP 4
235 #define MIB_IPPROTO_EGP 5
236 #define MIB_IPPROTO_GGP 6
237 #define MIB_IPPROTO_HELLO 7
238 #define MIB_IPPROTO_RIP 8
239 #define MIB_IPPROTO_IS_IS 9
240 #define MIB_IPPROTO_ES_IS 10
241 #define MIB_IPPROTO_CISCO 11
242 #define MIB_IPPROTO_BBN 12
243 #define MIB_IPPROTO_OSPF 13
244 #define MIB_IPPROTO_BGP 14
246 #define MIB_IPPROTO_NT_AUTOSTATIC 10002
247 #define MIB_IPPROTO_NT_STATIC 10006
248 #define MIB_IPPROTO_NT_STATIC_NON_DOD 10007
250 typedef struct _MIB_IPFORWARDTABLE
253 MIB_IPFORWARDROW table[1];
254 } MIB_IPFORWARDTABLE, *PMIB_IPFORWARDTABLE;
256 typedef struct _MIB_IPNETROW
260 BYTE bPhysAddr[MAXLEN_PHYSADDR];
263 } MIB_IPNETROW, *PMIB_IPNETROW;
265 #define MIB_IPNET_TYPE_OTHER 1
266 #define MIB_IPNET_TYPE_INVALID 2
267 #define MIB_IPNET_TYPE_DYNAMIC 3
268 #define MIB_IPNET_TYPE_STATIC 4
270 typedef struct _MIB_IPNETTABLE
273 MIB_IPNETROW table[1];
274 } MIB_IPNETTABLE, *PMIB_IPNETTABLE;
276 #endif /* WINE_IPRTRMIB_H__ */