OSDN Git Service

Make <winnls.h> header effectively self-contained.
[mingw/mingw-org-wsl.git] / w32api / include / iprtrmib.h
1 #ifndef _IPRTRMIB_H
2 #define _IPRTRMIB_H
3 #if __GNUC__ >=3
4 #pragma GCC system_header
5 #endif
6
7 #include <ipifcons.h>
8 #ifdef __cplusplus
9 extern "C" {
10 #endif
11 #ifndef ANY_SIZE
12 #define ANY_SIZE 1
13 #endif
14 #define MAXLEN_PHYSADDR 8
15 #define MAXLEN_IFDESCR 256
16 #ifndef MAX_INTERFACE_NAME_LEN
17 #define MAX_INTERFACE_NAME_LEN 256
18 #endif
19 #define MIB_IPNET_TYPE_OTHER 1
20 #define MIB_IPNET_TYPE_INVALID 2
21 #define MIB_IPNET_TYPE_DYNAMIC 3
22 #define MIB_IPNET_TYPE_STATIC 4
23 #define MIB_TCP_RTO_OTHER 1
24 #define MIB_TCP_RTO_CONSTANT 2
25 #define MIB_TCP_RTO_RSRE 3
26 #define MIB_TCP_RTO_VANJ 4
27 #define MIB_TCP_STATE_CLOSED 1
28 #define MIB_TCP_STATE_LISTEN 2
29 #define MIB_TCP_STATE_SYN_SENT 3
30 #define MIB_TCP_STATE_SYN_RCVD 4
31 #define MIB_TCP_STATE_ESTAB 5
32 #define MIB_TCP_STATE_FIN_WAIT1 6
33 #define MIB_TCP_STATE_FIN_WAIT2 7
34 #define MIB_TCP_STATE_CLOSE_WAIT 8
35 #define MIB_TCP_STATE_CLOSING 9
36 #define MIB_TCP_STATE_LAST_ACK 10
37 #define MIB_TCP_STATE_TIME_WAIT 11
38 #define MIB_TCP_STATE_DELETE_TCB 12
39 #define MIB_USE_CURRENT_TTL ((DWORD)-1)
40 #define MIB_USE_CURRENT_FORWARDING ((DWORD)-1)
41 #define MIB_TCP_MAXCONN_DYNAMIC ((DWORD)-1)
42 typedef enum {
43   TCP_TABLE_BASIC_LISTENER,
44   TCP_TABLE_BASIC_CONNECTIONS,
45   TCP_TABLE_BASIC_ALL,
46   TCP_TABLE_OWNER_PID_LISTENER,
47   TCP_TABLE_OWNER_PID_CONNECTIONS,
48   TCP_TABLE_OWNER_PID_ALL,
49   TCP_TABLE_OWNER_MODULE_LISTENER,
50   TCP_TABLE_OWNER_MODULE_CONNECTIONS,
51   TCP_TABLE_OWNER_MODULE_ALL
52 } TCP_TABLE_CLASS, *PTCP_TABLE_CLASS;
53 typedef struct {
54   DWORD dwAddr;
55   DWORD dwIndex;
56   DWORD dwMask;
57   DWORD dwBCastAddr;
58   DWORD dwReasmSize;
59   unsigned short unused1;
60   unsigned short wType;
61 } MIB_IPADDRROW, *PMIB_IPADDRROW;
62 typedef struct {
63   DWORD dwNumEntries;
64   MIB_IPADDRROW table[ANY_SIZE];
65 } MIB_IPADDRTABLE, *PMIB_IPADDRTABLE;
66 typedef struct {
67   DWORD dwForwardDest;
68   DWORD dwForwardMask;
69   DWORD dwForwardPolicy;
70   DWORD dwForwardNextHop;
71   DWORD dwForwardIfIndex;
72   DWORD dwForwardType;
73   DWORD dwForwardProto;
74   DWORD dwForwardAge;
75   DWORD dwForwardNextHopAS;
76   DWORD dwForwardMetric1;
77   DWORD dwForwardMetric2;
78   DWORD dwForwardMetric3;
79   DWORD dwForwardMetric4;
80   DWORD dwForwardMetric5;
81 } MIB_IPFORWARDROW, *PMIB_IPFORWARDROW;
82 typedef struct {
83   DWORD dwNumEntries;
84   MIB_IPFORWARDROW table[ANY_SIZE];
85 } MIB_IPFORWARDTABLE, *PMIB_IPFORWARDTABLE;
86 typedef struct {
87   DWORD dwIndex;
88   DWORD dwPhysAddrLen;
89   BYTE bPhysAddr[MAXLEN_PHYSADDR];
90   DWORD dwAddr;
91   DWORD dwType;
92 } MIB_IPNETROW, *PMIB_IPNETROW;
93 typedef struct {
94   DWORD dwNumEntries;
95   MIB_IPNETROW table[ANY_SIZE];
96 } MIB_IPNETTABLE, *PMIB_IPNETTABLE;
97 typedef struct {
98   DWORD dwMsgs;
99   DWORD dwErrors;
100   DWORD dwDestUnreachs;
101   DWORD dwTimeExcds;
102   DWORD dwParmProbs;
103   DWORD dwSrcQuenchs;
104   DWORD dwRedirects;
105   DWORD dwEchos;
106   DWORD dwEchoReps;
107   DWORD dwTimestamps;
108   DWORD dwTimestampReps;
109   DWORD dwAddrMasks;
110   DWORD dwAddrMaskReps;
111 } MIBICMPSTATS, *PMIBICMPSTATS;
112 typedef struct {
113   MIBICMPSTATS icmpInStats;
114   MIBICMPSTATS icmpOutStats;
115 } MIBICMPINFO, *PMIBICMPINFO;
116 typedef struct {
117   MIBICMPINFO stats;
118 } MIB_ICMP, *PMIB_ICMP;
119 typedef struct {
120   WCHAR wszName[MAX_INTERFACE_NAME_LEN];
121   DWORD dwIndex;
122   DWORD dwType;
123   DWORD dwMtu;
124   DWORD dwSpeed;
125   DWORD dwPhysAddrLen;
126   BYTE bPhysAddr[MAXLEN_PHYSADDR];
127   DWORD dwAdminStatus;
128   DWORD dwOperStatus;
129   DWORD dwLastChange;
130   DWORD dwInOctets;
131   DWORD dwInUcastPkts;
132   DWORD dwInNUcastPkts;
133   DWORD dwInDiscards;
134   DWORD dwInErrors;
135   DWORD dwInUnknownProtos;
136   DWORD dwOutOctets;
137   DWORD dwOutUcastPkts;
138   DWORD dwOutNUcastPkts;
139   DWORD dwOutDiscards;
140   DWORD dwOutErrors;
141   DWORD dwOutQLen;
142   DWORD dwDescrLen;
143   BYTE  bDescr[MAXLEN_IFDESCR];
144 } MIB_IFROW, *PMIB_IFROW;
145 typedef struct {
146   DWORD dwNumEntries;
147   MIB_IFROW table[ANY_SIZE];
148 } MIB_IFTABLE, *PMIB_IFTABLE;
149 typedef struct {
150   DWORD dwForwarding;
151   DWORD dwDefaultTTL;
152   DWORD dwInReceives;
153   DWORD dwInHdrErrors;
154   DWORD dwInAddrErrors;
155   DWORD dwForwDatagrams;
156   DWORD dwInUnknownProtos;
157   DWORD dwInDiscards;
158   DWORD dwInDelivers;
159   DWORD dwOutRequests;
160   DWORD dwRoutingDiscards;
161   DWORD dwOutDiscards;
162   DWORD dwOutNoRoutes;
163   DWORD dwReasmTimeout;
164   DWORD dwReasmReqds;
165   DWORD dwReasmOks;
166   DWORD dwReasmFails;
167   DWORD dwFragOks;
168   DWORD dwFragFails;
169   DWORD dwFragCreates;
170   DWORD dwNumIf;
171   DWORD dwNumAddr;
172   DWORD dwNumRoutes;
173 } MIB_IPSTATS, *PMIB_IPSTATS;
174 typedef struct {
175   DWORD dwRtoAlgorithm;
176   DWORD dwRtoMin;
177   DWORD dwRtoMax;
178   DWORD dwMaxConn;
179   DWORD dwActiveOpens;
180   DWORD dwPassiveOpens;
181   DWORD dwAttemptFails;
182   DWORD dwEstabResets;
183   DWORD dwCurrEstab;
184   DWORD dwInSegs;
185   DWORD dwOutSegs;
186   DWORD dwRetransSegs;
187   DWORD dwInErrs;
188   DWORD dwOutRsts;
189   DWORD dwNumConns;
190 } MIB_TCPSTATS, *PMIB_TCPSTATS;
191 typedef struct {
192   DWORD dwState;
193   DWORD dwLocalAddr;
194   DWORD dwLocalPort;
195   DWORD dwRemoteAddr;
196   DWORD dwRemotePort;
197 } MIB_TCPROW, *PMIB_TCPROW;
198 typedef struct {
199   DWORD dwNumEntries;
200   MIB_TCPROW table[ANY_SIZE];
201 } MIB_TCPTABLE, *PMIB_TCPTABLE;
202 typedef struct {
203   DWORD dwState;
204   DWORD dwLocalAddr;
205   DWORD dwLocalPort;
206   DWORD dwRemoteAddr;
207   DWORD dwRemotePort;
208   DWORD dwOwningPid;
209 } MIB_TCPROW_OWNER_PID, *PMIB_TCPROW_OWNER_PID;
210 typedef struct {
211   DWORD dwNumEntries;
212   MIB_TCPROW_OWNER_PID table[ANY_SIZE];
213 } MIB_TCPTABLE_OWNER_PID, *PMIB_TCPTABLE_OWNER_PID;
214 typedef struct {
215   DWORD dwInDatagrams;
216   DWORD dwNoPorts;
217   DWORD dwInErrors;
218   DWORD dwOutDatagrams;
219   DWORD dwNumAddrs;
220 } MIB_UDPSTATS, *PMIB_UDPSTATS;
221 typedef struct {
222   DWORD dwLocalAddr;
223   DWORD dwLocalPort;
224 } MIB_UDPROW, *PMIB_UDPROW;
225 typedef struct {
226   DWORD dwNumEntries;
227   MIB_UDPROW table[ANY_SIZE];
228 } MIB_UDPTABLE, *PMIB_UDPTABLE;
229 typedef struct {
230   UCHAR ucLocalAddr[16];
231   DWORD dwLocalScopeId;
232   DWORD dwLocalPort;
233   UCHAR ucRemoteAddr[16];
234   DWORD dwRemoteScopeId;
235   DWORD dwRemotePort;
236   DWORD dwState;
237   DWORD dwOwningPid;
238 } MIB_TCP6ROW_OWNER_PID,  *PMIB_TCP6ROW_OWNER_PID;
239 typedef struct {
240   DWORD dwNumEntries;
241   MIB_TCP6ROW_OWNER_PID table[ANY_SIZE];
242 } MIB_TCP6TABLE_OWNER_PID,  *PMIB_TCP6TABLE_OWNER_PID;
243 #ifdef __cplusplus
244 }
245 #endif
246 #endif /* _IPRTRMIB_H */