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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
18 #ifndef __WINE_IPMIB_H
19 #define __WINE_IPMIB_H
24 /* Flags used in the wType field from MIB_IPADDRROW */
26 #define MIB_IPADDR_PRIMARY 0x0001
27 #define MIB_IPADDR_DYNAMIC 0x0004
28 #define MIB_IPADDR_DISCONNECTED 0x0008
29 #define MIB_IPADDR_DELETED 0x0040
30 #define MIB_IPADDR_TRANSIENT 0x0080
34 typedef struct _MIB_IPADDRROW
41 unsigned short unused1
;
43 } MIB_IPADDRROW
, *PMIB_IPADDRROW
;
45 typedef struct _MIB_IPADDRTABLE
48 MIB_IPADDRROW table
[1];
49 } MIB_IPADDRTABLE
, *PMIB_IPADDRTABLE
;
54 typedef struct _MIB_IPFORWARDNUMBER
57 } MIB_IPFORWARDNUMBER
, *PMIB_IPFORWARDNUMBER
;
61 MIB_IPROUTE_TYPE_OTHER
= 1,
62 MIB_IPROUTE_TYPE_INVALID
= 2,
63 MIB_IPROUTE_TYPE_DIRECT
= 3,
64 MIB_IPROUTE_TYPE_INDIRECT
= 4,
67 typedef NL_ROUTE_PROTOCOL MIB_IPFORWARD_PROTO
;
69 typedef struct _MIB_IPFORWARDROW
73 DWORD dwForwardPolicy
;
74 DWORD dwForwardNextHop
;
75 IF_INDEX dwForwardIfIndex
;
79 MIB_IPFORWARD_TYPE ForwardType
;
84 MIB_IPFORWARD_PROTO ForwardProto
;
87 DWORD dwForwardNextHopAS
;
88 DWORD dwForwardMetric1
;
89 DWORD dwForwardMetric2
;
90 DWORD dwForwardMetric3
;
91 DWORD dwForwardMetric4
;
92 DWORD dwForwardMetric5
;
93 } MIB_IPFORWARDROW
, *PMIB_IPFORWARDROW
;
95 typedef struct _MIB_IPFORWARDTABLE
98 MIB_IPFORWARDROW table
[1];
99 } MIB_IPFORWARDTABLE
, *PMIB_IPFORWARDTABLE
;
106 MIB_IPNET_TYPE_OTHER
= 1,
107 MIB_IPNET_TYPE_INVALID
= 2,
108 MIB_IPNET_TYPE_DYNAMIC
= 3,
109 MIB_IPNET_TYPE_STATIC
= 4,
112 typedef struct _MIB_IPNETROW
116 BYTE bPhysAddr
[MAXLEN_PHYSADDR
];
123 } MIB_IPNETROW
, *PMIB_IPNETROW
;
125 typedef struct _MIB_IPNETTABLE
128 MIB_IPNETROW table
[1];
129 } MIB_IPNETTABLE
, *PMIB_IPNETTABLE
;
136 MIB_IP_FORWARDING
= 1,
137 MIB_IP_NOT_FORWARDING
= 2,
138 } MIB_IPSTATS_FORWARDING
, *PMIB_IPSTATS_FORWARDING
;
140 typedef struct _MIB_IPSTATS
145 MIB_IPSTATS_FORWARDING Forwarding
;
150 DWORD dwInAddrErrors
;
151 DWORD dwForwDatagrams
;
152 DWORD dwInUnknownProtos
;
156 DWORD dwRoutingDiscards
;
159 DWORD dwReasmTimeout
;
169 } MIB_IPSTATS
, *PMIB_IPSTATS
;
172 /* ICMP statistics */
174 typedef struct _MIBICMPSTATS
178 DWORD dwDestUnreachs
;
186 DWORD dwTimestampReps
;
188 DWORD dwAddrMaskReps
;
189 } MIBICMPSTATS
, *PMIBICMPSTATS
;
191 typedef struct _MIBICMPINFO
193 MIBICMPSTATS icmpInStats
;
194 MIBICMPSTATS icmpOutStats
;
197 typedef struct _MIB_ICMP
200 } MIB_ICMP
, *PMIB_ICMP
;
204 ICMP4_ECHO_REPLY
= 0,
205 ICMP4_DST_UNREACH
= 3,
206 ICMP4_SOURCE_QUENCH
= 4,
208 ICMP4_ECHO_REQUEST
= 8,
209 ICMP4_ROUTER_ADVERT
= 9,
210 ICMP4_ROUTER_SOLICIT
= 10,
211 ICMP4_TIME_EXCEEDED
= 11,
212 ICMP4_PARAM_PROB
= 12,
213 ICMP4_TIMESTAMP_REQUEST
= 13,
214 ICMP4_TIMESTAMP_REPLY
= 14,
215 ICMP4_MASK_REQUEST
= 17,
216 ICMP4_MASK_REPLY
= 18,
217 } ICMP4_TYPE
, *PICMP4_TYPE
;
221 ICMP6_DST_UNREACH
= 1,
222 ICMP6_PACKET_TOO_BIG
= 2,
223 ICMP6_TIME_EXCEEDED
= 3,
224 ICMP6_PARAM_PROB
= 4,
225 ICMP6_ECHO_REQUEST
= 128,
226 ICMP6_ECHO_REPLY
= 129,
227 ICMP6_MEMBERSHIP_QUERY
= 130,
228 ICMP6_MEMBERSHIP_REPORT
= 131,
229 ICMP6_MEMBERSHIP_REDUCTION
= 132,
230 ND_ROUTER_SOLICIT
= 133,
231 ND_ROUTER_ADVERT
= 134,
232 ND_NEIGHBOR_SOLICIT
= 135,
233 ND_NEIGHBOR_ADVERT
= 136,
235 ICMP6_V2_MEMBERSHIP_REPORT
= 143,
236 } ICMP6_TYPE
, *PICMP6_TYPE
;
238 typedef struct _MIBICMPSTATS_EX
242 DWORD rgdwTypeCount
[256];
243 } MIBICMPSTATS_EX
, *PMIBICMPSTATS_EX
;
245 typedef struct _MIB_ICMP_EX
247 MIBICMPSTATS_EX icmpInStats
;
248 MIBICMPSTATS_EX icmpOutStats
;
249 } MIB_ICMP_EX
, *PMIB_ICMP_EX
;
251 #endif /* __WINE_IPMIB_H */