msvcp90: Return last index in string::find_last_not_of_cstr_substr if input is empty.
[wine/multimedia.git] / include / ipmib.h
blob65576be064d58973b11ae335982fb8db6a253836
1 /*
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
21 #include <ifmib.h>
22 #include <nldef.h>
25 /* IPADDR table */
27 typedef struct _MIB_IPADDRROW
29 DWORD dwAddr;
30 IF_INDEX dwIndex;
31 DWORD dwMask;
32 DWORD dwBCastAddr;
33 DWORD dwReasmSize;
34 unsigned short unused1;
35 unsigned short wType;
36 } MIB_IPADDRROW, *PMIB_IPADDRROW;
38 typedef struct _MIB_IPADDRTABLE
40 DWORD dwNumEntries;
41 MIB_IPADDRROW table[1];
42 } MIB_IPADDRTABLE, *PMIB_IPADDRTABLE;
45 /* IPFORWARD table */
47 typedef struct _MIB_IPFORWARDNUMBER
49 DWORD dwValue;
50 } MIB_IPFORWARDNUMBER, *PMIB_IPFORWARDNUMBER;
52 typedef enum
54 MIB_IPROUTE_TYPE_OTHER = 1,
55 MIB_IPROUTE_TYPE_INVALID = 2,
56 MIB_IPROUTE_TYPE_DIRECT = 3,
57 MIB_IPROUTE_TYPE_INDIRECT = 4,
58 } MIB_IPFORWARD_TYPE;
60 typedef NL_ROUTE_PROTOCOL MIB_IPFORWARD_PROTO;
62 typedef struct _MIB_IPFORWARDROW
64 DWORD dwForwardDest;
65 DWORD dwForwardMask;
66 DWORD dwForwardPolicy;
67 DWORD dwForwardNextHop;
68 IF_INDEX dwForwardIfIndex;
69 union
71 DWORD dwForwardType;
72 MIB_IPFORWARD_TYPE ForwardType;
73 } DUMMYUNIONNAME1;
74 union
76 DWORD dwForwardProto;
77 MIB_IPFORWARD_PROTO ForwardProto;
78 } DUMMYUNIONNAME2;
79 DWORD dwForwardAge;
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
90 DWORD dwNumEntries;
91 MIB_IPFORWARDROW table[1];
92 } MIB_IPFORWARDTABLE, *PMIB_IPFORWARDTABLE;
95 /* IPNET table */
97 typedef enum
99 MIB_IPNET_TYPE_OTHER = 1,
100 MIB_IPNET_TYPE_INVALID = 2,
101 MIB_IPNET_TYPE_DYNAMIC = 3,
102 MIB_IPNET_TYPE_STATIC = 4,
103 } MIB_IPNET_TYPE;
105 typedef struct _MIB_IPNETROW
107 DWORD dwIndex;
108 DWORD dwPhysAddrLen;
109 BYTE bPhysAddr[MAXLEN_PHYSADDR];
110 DWORD dwAddr;
111 union
113 DWORD dwType;
114 MIB_IPNET_TYPE Type;
115 } DUMMYUNIONNAME;
116 } MIB_IPNETROW, *PMIB_IPNETROW;
118 typedef struct _MIB_IPNETTABLE
120 DWORD dwNumEntries;
121 MIB_IPNETROW table[1];
122 } MIB_IPNETTABLE, *PMIB_IPNETTABLE;
125 /* IP statistics */
127 typedef enum
129 MIB_IP_FORWARDING = 1,
130 MIB_IP_NOT_FORWARDING = 2,
131 } MIB_IPSTATS_FORWARDING, *PMIB_IPSTATS_FORWARDING;
133 typedef struct _MIB_IPSTATS
135 union
137 DWORD dwForwarding;
138 MIB_IPSTATS_FORWARDING Forwarding;
139 } DUMMYUNIONNAME;
140 DWORD dwDefaultTTL;
141 DWORD dwInReceives;
142 DWORD dwInHdrErrors;
143 DWORD dwInAddrErrors;
144 DWORD dwForwDatagrams;
145 DWORD dwInUnknownProtos;
146 DWORD dwInDiscards;
147 DWORD dwInDelivers;
148 DWORD dwOutRequests;
149 DWORD dwRoutingDiscards;
150 DWORD dwOutDiscards;
151 DWORD dwOutNoRoutes;
152 DWORD dwReasmTimeout;
153 DWORD dwReasmReqds;
154 DWORD dwReasmOks;
155 DWORD dwReasmFails;
156 DWORD dwFragOks;
157 DWORD dwFragFails;
158 DWORD dwFragCreates;
159 DWORD dwNumIf;
160 DWORD dwNumAddr;
161 DWORD dwNumRoutes;
162 } MIB_IPSTATS, *PMIB_IPSTATS;
165 /* ICMP statistics */
167 typedef struct _MIBICMPSTATS
169 DWORD dwMsgs;
170 DWORD dwErrors;
171 DWORD dwDestUnreachs;
172 DWORD dwTimeExcds;
173 DWORD dwParmProbs;
174 DWORD dwSrcQuenchs;
175 DWORD dwRedirects;
176 DWORD dwEchos;
177 DWORD dwEchoReps;
178 DWORD dwTimestamps;
179 DWORD dwTimestampReps;
180 DWORD dwAddrMasks;
181 DWORD dwAddrMaskReps;
182 } MIBICMPSTATS, *PMIBICMPSTATS;
184 typedef struct _MIBICMPINFO
186 MIBICMPSTATS icmpInStats;
187 MIBICMPSTATS icmpOutStats;
188 } MIBICMPINFO;
190 typedef struct _MIB_ICMP
192 MIBICMPINFO stats;
193 } MIB_ICMP, *PMIB_ICMP;
195 typedef enum
197 ICMP4_ECHO_REPLY = 0,
198 ICMP4_DST_UNREACH = 3,
199 ICMP4_SOURCE_QUENCH = 4,
200 ICMP4_REDIRECT = 5,
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;
212 typedef enum
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,
227 ND_REDIRECT = 137,
228 ICMP6_V2_MEMBERSHIP_REPORT = 143,
229 } ICMP6_TYPE, *PICMP6_TYPE;
231 typedef struct _MIBICMPSTATS_EX
233 DWORD dwMsgs;
234 DWORD dwErrors;
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 */