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
27 typedef struct _MIB_IPADDRROW
34 unsigned short unused1;
36 } MIB_IPADDRROW, *PMIB_IPADDRROW;
38 typedef struct _MIB_IPADDRTABLE
41 MIB_IPADDRROW table[1];
42 } MIB_IPADDRTABLE, *PMIB_IPADDRTABLE;
47 typedef struct _MIB_IPFORWARDNUMBER
50 } MIB_IPFORWARDNUMBER, *PMIB_IPFORWARDNUMBER;
54 MIB_IPROUTE_TYPE_OTHER = 1,
55 MIB_IPROUTE_TYPE_INVALID = 2,
56 MIB_IPROUTE_TYPE_DIRECT = 3,
57 MIB_IPROUTE_TYPE_INDIRECT = 4,
60 typedef NL_ROUTE_PROTOCOL MIB_IPFORWARD_PROTO;
62 typedef struct _MIB_IPFORWARDROW
66 DWORD dwForwardPolicy;
67 DWORD dwForwardNextHop;
68 IF_INDEX dwForwardIfIndex;
72 MIB_IPFORWARD_TYPE ForwardType;
77 MIB_IPFORWARD_PROTO ForwardProto;
80 DWORD dwForwardNextHopAS;
81 DWORD dwForwardMetric1;
82 DWORD dwForwardMetric2;
83 DWORD dwForwardMetric3;
84 DWORD dwForwardMetric4;
85 DWORD dwForwardMetric5;
86 } MIB_IPFORWARDROW, *PMIB_IPFORWARDROW;
88 typedef struct _MIB_IPFORWARDTABLE
91 MIB_IPFORWARDROW table[1];
92 } MIB_IPFORWARDTABLE, *PMIB_IPFORWARDTABLE;
99 MIB_IPNET_TYPE_OTHER = 1,
100 MIB_IPNET_TYPE_INVALID = 2,
101 MIB_IPNET_TYPE_DYNAMIC = 3,
102 MIB_IPNET_TYPE_STATIC = 4,
105 typedef struct _MIB_IPNETROW
109 BYTE bPhysAddr[MAXLEN_PHYSADDR];
116 } MIB_IPNETROW, *PMIB_IPNETROW;
118 typedef struct _MIB_IPNETTABLE
121 MIB_IPNETROW table[1];
122 } MIB_IPNETTABLE, *PMIB_IPNETTABLE;
129 MIB_IP_FORWARDING = 1,
130 MIB_IP_NOT_FORWARDING = 2,
131 } MIB_IPSTATS_FORWARDING, *PMIB_IPSTATS_FORWARDING;
133 typedef struct _MIB_IPSTATS
138 MIB_IPSTATS_FORWARDING Forwarding;
143 DWORD dwInAddrErrors;
144 DWORD dwForwDatagrams;
145 DWORD dwInUnknownProtos;
149 DWORD dwRoutingDiscards;
152 DWORD dwReasmTimeout;
162 } MIB_IPSTATS, *PMIB_IPSTATS;
165 /* ICMP statistics */
167 typedef struct _MIBICMPSTATS
171 DWORD dwDestUnreachs;
179 DWORD dwTimestampReps;
181 DWORD dwAddrMaskReps;
182 } MIBICMPSTATS, *PMIBICMPSTATS;
184 typedef struct _MIBICMPINFO
186 MIBICMPSTATS icmpInStats;
187 MIBICMPSTATS icmpOutStats;
190 typedef struct _MIB_ICMP
193 } MIB_ICMP, *PMIB_ICMP;
197 ICMP4_ECHO_REPLY = 0,
198 ICMP4_DST_UNREACH = 3,
199 ICMP4_SOURCE_QUENCH = 4,
201 ICMP4_ECHO_REQUEST = 8,
202 ICMP4_ROUTER_ADVERT = 9,
203 ICMP4_ROUTER_SOLICIT = 10,
204 ICMP4_TIME_EXCEEDED = 11,
205 ICMP4_PARAM_PROB = 12,
206 ICMP4_TIMESTAMP_REQUEST = 13,
207 ICMP4_TIMESTAMP_REPLY = 14,
208 ICMP4_MASK_REQUEST = 17,
209 ICMP4_MASK_REPLY = 18,
210 } ICMP4_TYPE, *PICMP4_TYPE;
214 ICMP6_DST_UNREACH = 1,
215 ICMP6_PACKET_TOO_BIG = 2,
216 ICMP6_TIME_EXCEEDED = 3,
217 ICMP6_PARAM_PROB = 4,
218 ICMP6_ECHO_REQUEST = 128,
219 ICMP6_ECHO_REPLY = 129,
220 ICMP6_MEMBERSHIP_QUERY = 130,
221 ICMP6_MEMBERSHIP_REPORT = 131,
222 ICMP6_MEMBERSHIP_REDUCTION = 132,
223 ND_ROUTER_SOLICIT = 133,
224 ND_ROUTER_ADVERT = 134,
225 ND_NEIGHBOR_SOLICIT = 135,
226 ND_NEIGHBOR_ADVERT = 136,
228 ICMP6_V2_MEMBERSHIP_REPORT = 143,
229 } ICMP6_TYPE, *PICMP6_TYPE;
231 typedef struct _MIBICMPSTATS_EX
235 DWORD rgdwTypeCount[256];
236 } MIBICMPSTATS_EX, *PMIBICMPSTATS_EX;
238 typedef struct _MIB_ICMP_EX
240 MIBICMPSTATS_EX icmpInStats;
241 MIBICMPSTATS_EX icmpOutStats;
242 } MIB_ICMP_EX, *PMIB_ICMP_EX;
244 #endif /* __WINE_IPMIB_H */