root/trunk/win32/iprtrmib.d

Revision 181, 5.9 kB (checked in by WeirdCat, 5 years ago)

minor fixes

Line 
1 /***********************************************************************\
2 *                               iprtrmib.d                              *
3 *                                                                       *
4 *                       Windows API header module                       *
5 *                                                                       *
6 *                 Translated from MinGW Windows headers                 *
7 *                           by Stewart Gordon                           *
8 *                                                                       *
9 *                       Placed into public domain                       *
10 \***********************************************************************/
11 module win32.iprtrmib;
12
13 import win32.ipifcons;
14 private import win32.windef;
15
16 // FIXME: check types of constants
17
18 const size_t
19     MAXLEN_PHYSADDR        =   8,
20     MAXLEN_IFDESCR         = 256,
21     MAX_INTERFACE_NAME_LEN = 256;
22
23 enum {
24     MIB_IPNET_TYPE_OTHER = 1,
25     MIB_IPNET_TYPE_INVALID,
26     MIB_IPNET_TYPE_DYNAMIC,
27     MIB_IPNET_TYPE_STATIC
28 }
29
30 enum {
31     MIB_TCP_RTO_OTHER = 1,
32     MIB_TCP_RTO_CONSTANT,
33     MIB_TCP_RTO_RSRE,
34     MIB_TCP_RTO_VANJ
35 }
36
37 enum {
38     MIB_TCP_STATE_CLOSED = 1,
39     MIB_TCP_STATE_LISTEN,
40     MIB_TCP_STATE_SYN_SENT,
41     MIB_TCP_STATE_SYN_RCVD,
42     MIB_TCP_STATE_ESTAB,
43     MIB_TCP_STATE_FIN_WAIT1,
44     MIB_TCP_STATE_FIN_WAIT2,
45     MIB_TCP_STATE_CLOSE_WAIT,
46     MIB_TCP_STATE_CLOSING,
47     MIB_TCP_STATE_LAST_ACK,
48     MIB_TCP_STATE_TIME_WAIT,
49     MIB_TCP_STATE_DELETE_TCB // = 12
50 }
51
52 const DWORD
53     MIB_USE_CURRENT_TTL        = -1,
54     MIB_USE_CURRENT_FORWARDING = -1,
55     MIB_TCP_MAXCONN_DYNAMIC    = -1;
56
57 struct MIB_IPADDRROW {
58     DWORD  dwAddr;
59     DWORD  dwIndex;
60     DWORD  dwMask;
61     DWORD  dwBCastAddr;
62     DWORD  dwReasmSize;
63     ushort unused1;
64     ushort unused2;
65 }
66 alias MIB_IPADDRROW* PMIB_IPADDRROW;
67
68 struct MIB_IPADDRTABLE {
69     DWORD            dwNumEntries;
70     MIB_IPADDRROW[1] _table;
71
72     MIB_IPADDRROW* table() { return _table.ptr; }
73 }
74 alias MIB_IPADDRTABLE* PMIB_IPADDRTABLE;
75
76 struct MIB_IPFORWARDROW {
77     DWORD dwForwardDest;
78     DWORD dwForwardMask;
79     DWORD dwForwardPolicy;
80     DWORD dwForwardNextHop;
81     DWORD dwForwardIfIndex;
82     DWORD dwForwardType;
83     DWORD dwForwardProto;
84     DWORD dwForwardAge;
85     DWORD dwForwardNextHopAS;
86     DWORD dwForwardMetric1;
87     DWORD dwForwardMetric2;
88     DWORD dwForwardMetric3;
89     DWORD dwForwardMetric4;
90     DWORD dwForwardMetric5;
91 }
92 alias MIB_IPFORWARDROW* PMIB_IPFORWARDROW;
93
94 struct MIB_IPFORWARDTABLE {
95     DWORD               dwNumEntries;
96     MIB_IPFORWARDROW[1] _table;
97
98     MIB_IPFORWARDROW* table() { return _table.ptr; }
99 }
100 alias MIB_IPFORWARDTABLE* PMIB_IPFORWARDTABLE;
101
102 struct MIB_IPNETROW {
103     DWORD dwIndex;
104     DWORD dwPhysAddrLen;
105     BYTE[MAXLEN_PHYSADDR] bPhysAddr;
106     DWORD dwAddr;
107     DWORD dwType;
108 }
109 alias MIB_IPNETROW* PMIB_IPNETROW;
110
111 struct MIB_IPNETTABLE {
112     DWORD           dwNumEntries;
113     MIB_IPNETROW[1] _table;
114
115     MIB_IPNETROW* table() { return _table.ptr; }
116 }
117 alias MIB_IPNETTABLE* PMIB_IPNETTABLE;
118
119 struct MIBICMPSTATS {
120     DWORD dwMsgs;
121     DWORD dwErrors;
122     DWORD dwDestUnreachs;
123     DWORD dwTimeExcds;
124     DWORD dwParmProbs;
125     DWORD dwSrcQuenchs;
126     DWORD dwRedirects;
127     DWORD dwEchos;
128     DWORD dwEchoReps;
129     DWORD dwTimestamps;
130     DWORD dwTimestampReps;
131     DWORD dwAddrMasks;
132     DWORD dwAddrMaskReps;
133 }
134 alias MIBICMPSTATS* PMIBICMPSTATS;
135
136 struct MIBICMPINFO {
137     MIBICMPSTATS icmpInStats;
138     MIBICMPSTATS icmpOutStats;
139 }
140 alias MIBICMPINFO* PMIBICMPINFO;
141
142 struct MIB_ICMP {
143     MIBICMPINFO stats;
144 }
145 alias MIB_ICMP* PMIB_ICMP;
146
147 struct MIB_IFROW {
148     WCHAR[MAX_INTERFACE_NAME_LEN] wszName;
149     DWORD dwIndex;
150     DWORD dwType;
151     DWORD dwMtu;
152     DWORD dwSpeed;
153     DWORD dwPhysAddrLen;
154     BYTE[MAXLEN_PHYSADDR] bPhysAddr;
155     DWORD dwAdminStatus;
156     DWORD dwOperStatus;
157     DWORD dwLastChange;
158     DWORD dwInOctets;
159     DWORD dwInUcastPkts;
160     DWORD dwInNUcastPkts;
161     DWORD dwInDiscards;
162     DWORD dwInErrors;
163     DWORD dwInUnknownProtos;
164     DWORD dwOutOctets;
165     DWORD dwOutUcastPkts;
166     DWORD dwOutNUcastPkts;
167     DWORD dwOutDiscards;
168     DWORD dwOutErrors;
169     DWORD dwOutQLen;
170     DWORD dwDescrLen;
171     BYTE[MAXLEN_IFDESCR] bDescr;
172 }
173 alias MIB_IFROW* PMIB_IFROW;
174
175 struct MIB_IFTABLE {
176     DWORD        dwNumEntries;
177     MIB_IFROW[1] _table;
178
179     MIB_IFROW* table() { return _table.ptr; }
180 }
181 alias MIB_IFTABLE* PMIB_IFTABLE;
182
183 struct MIB_IPSTATS {
184     DWORD dwForwarding;
185     DWORD dwDefaultTTL;
186     DWORD dwInReceives;
187     DWORD dwInHdrErrors;
188     DWORD dwInAddrErrors;
189     DWORD dwForwDatagrams;
190     DWORD dwInUnknownProtos;
191     DWORD dwInDiscards;
192     DWORD dwInDelivers;
193     DWORD dwOutRequests;
194     DWORD dwRoutingDiscards;
195     DWORD dwOutDiscards;
196     DWORD dwOutNoRoutes;
197     DWORD dwReasmTimeout;
198     DWORD dwReasmReqds;
199     DWORD dwReasmOks;
200     DWORD dwReasmFails;
201     DWORD dwFragOks;
202     DWORD dwFragFails;
203     DWORD dwFragCreates;
204     DWORD dwNumIf;
205     DWORD dwNumAddr;
206     DWORD dwNumRoutes;
207 }
208 alias MIB_IPSTATS* PMIB_IPSTATS;
209
210 struct MIB_TCPSTATS {
211     DWORD dwRtoAlgorithm;
212     DWORD dwRtoMin;
213     DWORD dwRtoMax;
214     DWORD dwMaxConn;
215     DWORD dwActiveOpens;
216     DWORD dwPassiveOpens;
217     DWORD dwAttemptFails;
218     DWORD dwEstabResets;
219     DWORD dwCurrEstab;
220     DWORD dwInSegs;
221     DWORD dwOutSegs;
222     DWORD dwRetransSegs;
223     DWORD dwInErrs;
224     DWORD dwOutRsts;
225     DWORD dwNumConns;
226 }
227 alias MIB_TCPSTATS* PMIB_TCPSTATS;
228
229 struct MIB_TCPROW {
230     DWORD dwState;
231     DWORD dwLocalAddr;
232     DWORD dwLocalPort;
233     DWORD dwRemoteAddr;
234     DWORD dwRemotePort;
235 }
236 alias MIB_TCPROW* PMIB_TCPROW;
237
238 struct MIB_TCPTABLE {
239     DWORD         dwNumEntries;
240     MIB_TCPROW[1] _table;
241
242     MIB_TCPROW* table() { return _table.ptr; }
243 }
244 alias MIB_TCPTABLE* PMIB_TCPTABLE;
245
246 struct MIB_UDPSTATS {
247     DWORD dwInDatagrams;
248     DWORD dwNoPorts;
249     DWORD dwInErrors;
250     DWORD dwOutDatagrams;
251     DWORD dwNumAddrs;
252 }
253 alias MIB_UDPSTATS* PMIB_UDPSTATS;
254
255 struct MIB_UDPROW {
256     DWORD dwLocalAddr;
257     DWORD dwLocalPort;
258 }
259 alias MIB_UDPROW* PMIB_UDPROW;
260
261 struct MIB_UDPTABLE {
262     DWORD         dwNumEntries;
263     MIB_UDPROW[1] _table;
264
265     MIB_UDPROW* table() { return _table.ptr; }
266 }
267 alias MIB_UDPTABLE* PMIB_UDPTABLE;
Note: See TracBrowser for help on using the browser.