Watt-32 tcp/ip  2.2 dev-rel.10
ntddndis.h
1 /*
2  *++ BUILD Version: 0001
3  * Copyright (c) 1990-1993 Microsoft Corporation
4  * Module Name:
5  * ntddndis.h
6  * Abstract:
7  * This is the include file that defines all constants and types for
8  * accessing the Network driver interface device.
9  * Author:
10  * Steve Wood (stevewo) 27-May-1990
11  * Revision History:
12  * Adam Barr (adamba) 04-Nov-1992 added the correct values for NDIS 3.0.
13  * Jameel Hyder (jameelh) 01-Aug-95 added Pnp IoCTLs and structures
14  * Kyle Brandon (kyleb) 09/24/96 added general co ndis oids.
15  *--
16  *
17  * Some OIDs also taken from WireShark.
18  */
19 
20 #ifndef _w32_NTDDNDIS_H
21 #define _w32_NTDDNDIS_H
22 
23 //
24 // Device Name - this string is the name of the device. It is the name
25 // that should be passed to NtOpenFile when accessing the device.
26 //
27 // Note: For devices that support multiple units, it should be suffixed
28 // with the Ascii representation of the unit number.
29 //
30 #define DD_NDIS_DEVICE_NAME "\\Device\\UNKNOWN"
31 
32 //
33 // NtDeviceIoControlFile IoControlCode values for this device.
34 //
35 // Warning: Remember that the low two bits of the code specify how the
36 // buffers are passed to the driver!
37 //
38 #define _NDIS_CONTROL_CODE(request,method) \
39  CTL_CODE(FILE_DEVICE_PHYSICAL_NETCARD, request, method, FILE_ANY_ACCESS)
40 #define IOCTL_NDIS_QUERY_GLOBAL_STATS _NDIS_CONTROL_CODE (0, METHOD_OUT_DIRECT)
41 #define IOCTL_NDIS_QUERY_ALL_STATS _NDIS_CONTROL_CODE (1, METHOD_OUT_DIRECT)
42 #define IOCTL_NDIS_ADD_DEVICE _NDIS_CONTROL_CODE (2, METHOD_BUFFERED)
43 #define IOCTL_NDIS_DELETE_DEVICE _NDIS_CONTROL_CODE (3, METHOD_BUFFERED)
44 #define IOCTL_NDIS_TRANSLATE_NAME _NDIS_CONTROL_CODE (4, METHOD_BUFFERED)
45 #define IOCTL_NDIS_ADD_TDI_DEVICE _NDIS_CONTROL_CODE (5, METHOD_BUFFERED)
46 #define IOCTL_NDIS_NOTIFY_PROTOCOL _NDIS_CONTROL_CODE (6, METHOD_BUFFERED)
47 #define IOCTL_NDIS_GET_LOG_DATA _NDIS_CONTROL_CODE (7, METHOD_OUT_DIRECT)
48 
49 //
50 // NtDeviceIoControlFile InputBuffer/OutputBuffer record structures for
51 // this device.
52 //
53 //
54 // This is the type of an NDIS OID value.
55 //
56 typedef ULONG NDIS_OID, *PNDIS_OID;
57 
58 //
59 // IOCTL_NDIS_QUERY_ALL_STATS returns a sequence of these, packed
60 // together (no padding is required since statistics all have
61 // four or eight bytes of data).
62 //
63 typedef struct _NDIS_STATISTICS_VALUE {
64  NDIS_OID Oid;
65  ULONG DataLength;
66  UCHAR Data[1]; // variable length
68 
69 //
70 // Structure used by TRANSLATE_NAME IOCTL
71 //
72 typedef struct _NET_PNP_ID {
73  ULONG ClassId;
74  ULONG Token;
76 
77 typedef struct _NET_PNP_TRANSLATE_LIST {
78  ULONG BytesNeeded;
79  NET_PNP_ID IdArray[ANYSIZE_ARRAY];
81 
82 //
83 // Structure used to define a self-contained variable data structure
84 //
85 typedef struct _NDIS_VAR_DATA_DESC {
86  USHORT Length; // # of octects of data
87  USHORT MaximumLength; // # of octects available
88  LONG Offset; // Offset of data relative to the descriptor
90 
91 
92 //
93 // Object Identifiers used by NdisRequest Query/Set Information
94 //
95 //
96 // General Objects
97 //
98 #define OID_GEN_SUPPORTED_LIST 0x00010101
99 #define OID_GEN_HARDWARE_STATUS 0x00010102
100 #define OID_GEN_MEDIA_SUPPORTED 0x00010103
101 #define OID_GEN_MEDIA_IN_USE 0x00010104
102 #define OID_GEN_MAXIMUM_LOOKAHEAD 0x00010105
103 #define OID_GEN_MAXIMUM_FRAME_SIZE 0x00010106
104 #define OID_GEN_LINK_SPEED 0x00010107
105 #define OID_GEN_TRANSMIT_BUFFER_SPACE 0x00010108
106 #define OID_GEN_RECEIVE_BUFFER_SPACE 0x00010109
107 #define OID_GEN_TRANSMIT_BLOCK_SIZE 0x0001010A
108 #define OID_GEN_RECEIVE_BLOCK_SIZE 0x0001010B
109 #define OID_GEN_VENDOR_ID 0x0001010C
110 #define OID_GEN_VENDOR_DESCRIPTION 0x0001010D
111 #define OID_GEN_CURRENT_PACKET_FILTER 0x0001010E
112 #define OID_GEN_CURRENT_LOOKAHEAD 0x0001010F
113 #define OID_GEN_DRIVER_VERSION 0x00010110
114 #define OID_GEN_MAXIMUM_TOTAL_SIZE 0x00010111
115 #define OID_GEN_PROTOCOL_OPTIONS 0x00010112
116 #define OID_GEN_MAC_OPTIONS 0x00010113
117 #define OID_GEN_MEDIA_CONNECT_STATUS 0x00010114
118 #define OID_GEN_MAXIMUM_SEND_PACKETS 0x00010115
119 #define OID_GEN_VENDOR_DRIVER_VERSION 0x00010116
120 #define OID_GEN_NETWORK_LAYER_ADDRESSES 0x00010118
121 #define OID_GEN_TRANSPORT_HEADER_OFFSET 0x00010119
122 #define OID_GEN_MEDIA_CAPABILITIES 0x00010201
123 #define OID_GEN_PHYSICAL_MEDIUM 0x00010202
124 #define OID_GEN_PHYSICAL_MEDIUM_EX 0x00010203
125 #define OID_GEN_VLAN_ID 0x0001021C
126 #define OID_GEN_XMIT_OK 0x00020101
127 #define OID_GEN_RCV_OK 0x00020102
128 #define OID_GEN_XMIT_ERROR 0x00020103
129 #define OID_GEN_RCV_ERROR 0x00020104
130 #define OID_GEN_RCV_NO_BUFFER 0x00020105
131 #define OID_GEN_DIRECTED_BYTES_XMIT 0x00020201
132 #define OID_GEN_DIRECTED_FRAMES_XMIT 0x00020202
133 #define OID_GEN_MULTICAST_BYTES_XMIT 0x00020203
134 #define OID_GEN_MULTICAST_FRAMES_XMIT 0x00020204
135 #define OID_GEN_BROADCAST_BYTES_XMIT 0x00020205
136 #define OID_GEN_BROADCAST_FRAMES_XMIT 0x00020206
137 #define OID_GEN_DIRECTED_BYTES_RCV 0x00020207
138 #define OID_GEN_DIRECTED_FRAMES_RCV 0x00020208
139 #define OID_GEN_MULTICAST_BYTES_RCV 0x00020209
140 #define OID_GEN_MULTICAST_FRAMES_RCV 0x0002020A
141 #define OID_GEN_BROADCAST_BYTES_RCV 0x0002020B
142 #define OID_GEN_BROADCAST_FRAMES_RCV 0x0002020C
143 #define OID_GEN_RCV_CRC_ERROR 0x0002020D
144 #define OID_GEN_TRANSMIT_QUEUE_LENGTH 0x0002020E
145 #define OID_GEN_GET_TIME_CAPS 0x0002020F
146 #define OID_GEN_GET_NETCARD_TIME 0x00020210
147 
148 //
149 // These are connection-oriented general OIDs.
150 // These replace the above OIDs for connection-oriented media.
151 //
152 #define OID_GEN_CO_SUPPORTED_LIST 0x00010101
153 #define OID_GEN_CO_HARDWARE_STATUS 0x00010102
154 #define OID_GEN_CO_MEDIA_SUPPORTED 0x00010103
155 #define OID_GEN_CO_MEDIA_IN_USE 0x00010104
156 #define OID_GEN_CO_LINK_SPEED 0x00010105
157 #define OID_GEN_CO_VENDOR_ID 0x00010106
158 #define OID_GEN_CO_VENDOR_DESCRIPTION 0x00010107
159 #define OID_GEN_CO_DRIVER_VERSION 0x00010108
160 #define OID_GEN_CO_PROTOCOL_OPTIONS 0x00010109
161 #define OID_GEN_CO_MAC_OPTIONS 0x0001010A
162 #define OID_GEN_CO_MEDIA_CONNECT_STATUS 0x0001010B
163 #define OID_GEN_CO_VENDOR_DRIVER_VERSION 0x0001010C
164 #define OID_GEN_CO_MINIMUM_LINK_SPEED 0x0001010D
165 #define OID_GEN_CO_GET_TIME_CAPS 0x00010201
166 #define OID_GEN_CO_GET_NETCARD_TIME 0x00020210
167 
168 //
169 // These are connection-oriented statistics OIDs.
170 //
171 #define OID_GEN_CO_XMIT_PDUS_OK 0x00020101
172 #define OID_GEN_CO_RCV_PDUS_OK 0x00020102
173 #define OID_GEN_CO_XMIT_PDUS_ERROR 0x00020103
174 #define OID_GEN_CO_RCV_PDUS_ERROR 0x00020104
175 #define OID_GEN_CO_RCV_PDUS_NO_BUFFER 0x00020105
176 #define OID_GEN_CO_RCV_CRC_ERROR 0x00020201
177 #define OID_GEN_CO_TRANSMIT_QUEUE_LENGTH 0x00020202
178 #define OID_GEN_CO_BYTES_XMIT 0x00020203
179 #define OID_GEN_CO_BYTES_RCV 0x00020204
180 #define OID_GEN_CO_BYTES_XMIT_OUTSTANDING 0x00020205
181 #define OID_GEN_CO_NETCARD_LOAD 0x00020206
182 
183 //
184 // These are objects for Connection-oriented media call-managers and are not
185 // valid for ndis drivers. Under construction.
186 //
187 #define OID_CO_ADD_PVC 0xFF000001
188 #define OID_CO_DELETE_PVC 0xFF000002
189 #define OID_CO_GET_CALL_INFORMATION 0xFF000003
190 #define OID_CO_ADD_ADDRESS 0xFF000004
191 #define OID_CO_DELETE_ADDRESS 0xFF000005
192 #define OID_CO_GET_ADDRESSES 0xFF000006
193 #define OID_CO_ADDRESS_CHANGE 0xFF000007
194 #define OID_CO_SIGNALING_ENABLED 0xFF000008
195 #define OID_CO_SIGNALING_DISABLED 0xFF000009
196 
197 //
198 // 802.3 Objects (Ethernet)
199 //
200 #define OID_802_3_PERMANENT_ADDRESS 0x01010101
201 #define OID_802_3_CURRENT_ADDRESS 0x01010102
202 #define OID_802_3_MULTICAST_LIST 0x01010103
203 #define OID_802_3_MAXIMUM_LIST_SIZE 0x01010104
204 #define OID_802_3_MAC_OPTIONS 0x01010105
205 
206 #define NDIS_802_3_MAC_OPTION_PRIORITY 0x00000001
207 #define OID_802_3_RCV_ERROR_ALIGNMENT 0x01020101
208 #define OID_802_3_XMIT_ONE_COLLISION 0x01020102
209 #define OID_802_3_XMIT_MORE_COLLISIONS 0x01020103
210 #define OID_802_3_XMIT_DEFERRED 0x01020201
211 #define OID_802_3_XMIT_MAX_COLLISIONS 0x01020202
212 #define OID_802_3_RCV_OVERRUN 0x01020203
213 #define OID_802_3_XMIT_UNDERRUN 0x01020204
214 #define OID_802_3_XMIT_HEARTBEAT_FAILURE 0x01020205
215 #define OID_802_3_XMIT_TIMES_CRS_LOST 0x01020206
216 #define OID_802_3_XMIT_LATE_COLLISIONS 0x01020207
217 
218 //
219 // 802.5 Objects (Token-Ring)
220 //
221 #define OID_802_5_PERMANENT_ADDRESS 0x02010101
222 #define OID_802_5_CURRENT_ADDRESS 0x02010102
223 #define OID_802_5_CURRENT_FUNCTIONAL 0x02010103
224 #define OID_802_5_CURRENT_GROUP 0x02010104
225 #define OID_802_5_LAST_OPEN_STATUS 0x02010105
226 #define OID_802_5_CURRENT_RING_STATUS 0x02010106
227 #define OID_802_5_CURRENT_RING_STATE 0x02010107
228 #define OID_802_5_LINE_ERRORS 0x02020101
229 #define OID_802_5_LOST_FRAMES 0x02020102
230 #define OID_802_5_BURST_ERRORS 0x02020201
231 #define OID_802_5_AC_ERRORS 0x02020202
232 #define OID_802_5_ABORT_DELIMETERS 0x02020203
233 #define OID_802_5_FRAME_COPIED_ERRORS 0x02020204
234 #define OID_802_5_FREQUENCY_ERRORS 0x02020205
235 #define OID_802_5_TOKEN_ERRORS 0x02020206
236 #define OID_802_5_INTERNAL_ERRORS 0x02020207
237 
238 //
239 // FDDI Objects
240 //
241 #define OID_FDDI_LONG_PERMANENT_ADDR 0x03010101
242 #define OID_FDDI_LONG_CURRENT_ADDR 0x03010102
243 #define OID_FDDI_LONG_MULTICAST_LIST 0x03010103
244 #define OID_FDDI_LONG_MAX_LIST_SIZE 0x03010104
245 #define OID_FDDI_SHORT_PERMANENT_ADDR 0x03010105
246 #define OID_FDDI_SHORT_CURRENT_ADDR 0x03010106
247 #define OID_FDDI_SHORT_MULTICAST_LIST 0x03010107
248 #define OID_FDDI_SHORT_MAX_LIST_SIZE 0x03010108
249 #define OID_FDDI_ATTACHMENT_TYPE 0x03020101
250 #define OID_FDDI_UPSTREAM_NODE_LONG 0x03020102
251 #define OID_FDDI_DOWNSTREAM_NODE_LONG 0x03020103
252 #define OID_FDDI_FRAME_ERRORS 0x03020104
253 #define OID_FDDI_FRAMES_LOST 0x03020105
254 #define OID_FDDI_RING_MGT_STATE 0x03020106
255 #define OID_FDDI_LCT_FAILURES 0x03020107
256 #define OID_FDDI_LEM_REJECTS 0x03020108
257 #define OID_FDDI_LCONNECTION_STATE 0x03020109
258 #define OID_FDDI_SMT_STATION_ID 0x03030201
259 #define OID_FDDI_SMT_OP_VERSION_ID 0x03030202
260 #define OID_FDDI_SMT_HI_VERSION_ID 0x03030203
261 #define OID_FDDI_SMT_LO_VERSION_ID 0x03030204
262 #define OID_FDDI_SMT_MANUFACTURER_DATA 0x03030205
263 #define OID_FDDI_SMT_USER_DATA 0x03030206
264 #define OID_FDDI_SMT_MIB_VERSION_ID 0x03030207
265 #define OID_FDDI_SMT_MAC_CT 0x03030208
266 #define OID_FDDI_SMT_NON_MASTER_CT 0x03030209
267 #define OID_FDDI_SMT_MASTER_CT 0x0303020A
268 #define OID_FDDI_SMT_AVAILABLE_PATHS 0x0303020B
269 #define OID_FDDI_SMT_CONFIG_CAPABILITIES 0x0303020C
270 #define OID_FDDI_SMT_CONFIG_POLICY 0x0303020D
271 #define OID_FDDI_SMT_CONNECTION_POLICY 0x0303020E
272 #define OID_FDDI_SMT_T_NOTIFY 0x0303020F
273 #define OID_FDDI_SMT_STAT_RPT_POLICY 0x03030210
274 #define OID_FDDI_SMT_TRACE_MAX_EXPIRATION 0x03030211
275 #define OID_FDDI_SMT_PORT_INDEXES 0x03030212
276 #define OID_FDDI_SMT_MAC_INDEXES 0x03030213
277 #define OID_FDDI_SMT_BYPASS_PRESENT 0x03030214
278 #define OID_FDDI_SMT_ECM_STATE 0x03030215
279 #define OID_FDDI_SMT_CF_STATE 0x03030216
280 #define OID_FDDI_SMT_HOLD_STATE 0x03030217
281 #define OID_FDDI_SMT_REMOTE_DISCONNECT_FLAG 0x03030218
282 #define OID_FDDI_SMT_STATION_STATUS 0x03030219
283 #define OID_FDDI_SMT_PEER_WRAP_FLAG 0x0303021A
284 #define OID_FDDI_SMT_MSG_TIME_STAMP 0x0303021B
285 #define OID_FDDI_SMT_TRANSITION_TIME_STAMP 0x0303021C
286 #define OID_FDDI_SMT_SET_COUNT 0x0303021D
287 #define OID_FDDI_SMT_LAST_SET_STATION_ID 0x0303021E
288 #define OID_FDDI_SMT_STATION_ACTION 0x03030277
289 #define OID_FDDI_MAC_FRAME_STATUS_FUNCTIONS 0x0303021F
290 #define OID_FDDI_MAC_BRIDGE_FUNCTIONS 0x03030220
291 #define OID_FDDI_MAC_T_MAX_CAPABILITY 0x03030221
292 #define OID_FDDI_MAC_TVX_CAPABILITY 0x03030222
293 #define OID_FDDI_MAC_AVAILABLE_PATHS 0x03030223
294 #define OID_FDDI_MAC_CURRENT_PATH 0x03030224
295 #define OID_FDDI_MAC_UPSTREAM_NBR 0x03030225
296 #define OID_FDDI_MAC_DOWNSTREAM_NBR 0x03030226
297 #define OID_FDDI_MAC_OLD_UPSTREAM_NBR 0x03030227
298 #define OID_FDDI_MAC_OLD_DOWNSTREAM_NBR 0x03030228
299 #define OID_FDDI_MAC_DUP_ADDRESS_TEST 0x03030229
300 #define OID_FDDI_MAC_REQUESTED_PATHS 0x0303022A
301 #define OID_FDDI_MAC_DOWNSTREAM_PORT_TYPE 0x0303022B
302 #define OID_FDDI_MAC_INDEX 0x0303022C
303 #define OID_FDDI_MAC_SMT_ADDRESS 0x0303022D
304 #define OID_FDDI_MAC_LONG_GRP_ADDRESS 0x0303022E
305 #define OID_FDDI_MAC_SHORT_GRP_ADDRESS 0x0303022F
306 #define OID_FDDI_MAC_T_REQ 0x03030230
307 #define OID_FDDI_MAC_T_NEG 0x03030231
308 #define OID_FDDI_MAC_T_MAX 0x03030232
309 #define OID_FDDI_MAC_TVX_VALUE 0x03030233
310 #define OID_FDDI_MAC_T_PRI0 0x03030234
311 #define OID_FDDI_MAC_T_PRI1 0x03030235
312 #define OID_FDDI_MAC_T_PRI2 0x03030236
313 #define OID_FDDI_MAC_T_PRI3 0x03030237
314 #define OID_FDDI_MAC_T_PRI4 0x03030238
315 #define OID_FDDI_MAC_T_PRI5 0x03030239
316 #define OID_FDDI_MAC_T_PRI6 0x0303023A
317 #define OID_FDDI_MAC_FRAME_CT 0x0303023B
318 #define OID_FDDI_MAC_COPIED_CT 0x0303023C
319 #define OID_FDDI_MAC_TRANSMIT_CT 0x0303023D
320 #define OID_FDDI_MAC_TOKEN_CT 0x0303023E
321 #define OID_FDDI_MAC_ERROR_CT 0x0303023F
322 #define OID_FDDI_MAC_LOST_CT 0x03030240
323 #define OID_FDDI_MAC_TVX_EXPIRED_CT 0x03030241
324 #define OID_FDDI_MAC_NOT_COPIED_CT 0x03030242
325 #define OID_FDDI_MAC_LATE_CT 0x03030243
326 #define OID_FDDI_MAC_RING_OP_CT 0x03030244
327 #define OID_FDDI_MAC_FRAME_ERROR_THRESHOLD 0x03030245
328 #define OID_FDDI_MAC_FRAME_ERROR_RATIO 0x03030246
329 #define OID_FDDI_MAC_NOT_COPIED_THRESHOLD 0x03030247
330 #define OID_FDDI_MAC_NOT_COPIED_RATIO 0x03030248
331 #define OID_FDDI_MAC_RMT_STATE 0x03030249
332 #define OID_FDDI_MAC_DA_FLAG 0x0303024A
333 #define OID_FDDI_MAC_UNDA_FLAG 0x0303024B
334 #define OID_FDDI_MAC_FRAME_ERROR_FLAG 0x0303024C
335 #define OID_FDDI_MAC_NOT_COPIED_FLAG 0x0303024D
336 #define OID_FDDI_MAC_MA_UNITDATA_AVAILABLE 0x0303024E
337 #define OID_FDDI_MAC_HARDWARE_PRESENT 0x0303024F
338 #define OID_FDDI_MAC_MA_UNITDATA_ENABLE 0x03030250
339 #define OID_FDDI_PATH_INDEX 0x03030251
340 #define OID_FDDI_PATH_RING_LATENCY 0x03030252
341 #define OID_FDDI_PATH_TRACE_STATUS 0x03030253
342 #define OID_FDDI_PATH_SBA_PAYLOAD 0x03030254
343 #define OID_FDDI_PATH_SBA_OVERHEAD 0x03030255
344 #define OID_FDDI_PATH_CONFIGURATION 0x03030256
345 #define OID_FDDI_PATH_T_R_MODE 0x03030257
346 #define OID_FDDI_PATH_SBA_AVAILABLE 0x03030258
347 #define OID_FDDI_PATH_TVX_LOWER_BOUND 0x03030259
348 #define OID_FDDI_PATH_T_MAX_LOWER_BOUND 0x0303025A
349 #define OID_FDDI_PATH_MAX_T_REQ 0x0303025B
350 #define OID_FDDI_PORT_MY_TYPE 0x0303025C
351 #define OID_FDDI_PORT_NEIGHBOR_TYPE 0x0303025D
352 #define OID_FDDI_PORT_CONNECTION_POLICIES 0x0303025E
353 #define OID_FDDI_PORT_MAC_INDICATED 0x0303025F
354 #define OID_FDDI_PORT_CURRENT_PATH 0x03030260
355 #define OID_FDDI_PORT_REQUESTED_PATHS 0x03030261
356 #define OID_FDDI_PORT_MAC_PLACEMENT 0x03030262
357 #define OID_FDDI_PORT_AVAILABLE_PATHS 0x03030263
358 #define OID_FDDI_PORT_MAC_LOOP_TIME 0x03030264
359 #define OID_FDDI_PORT_PMD_CLASS 0x03030265
360 #define OID_FDDI_PORT_CONNECTION_CAPABILITIES 0x03030266
361 #define OID_FDDI_PORT_INDEX 0x03030267
362 #define OID_FDDI_PORT_MAINT_LS 0x03030268
363 #define OID_FDDI_PORT_BS_FLAG 0x03030269
364 #define OID_FDDI_PORT_PC_LS 0x0303026A
365 #define OID_FDDI_PORT_EB_ERROR_CT 0x0303026B
366 #define OID_FDDI_PORT_LCT_FAIL_CT 0x0303026C
367 #define OID_FDDI_PORT_LER_ESTIMATE 0x0303026D
368 #define OID_FDDI_PORT_LEM_REJECT_CT 0x0303026E
369 #define OID_FDDI_PORT_LEM_CT 0x0303026F
370 #define OID_FDDI_PORT_LER_CUTOFF 0x03030270
371 #define OID_FDDI_PORT_LER_ALARM 0x03030271
372 #define OID_FDDI_PORT_CONNNECT_STATE 0x03030272
373 #define OID_FDDI_PORT_PCM_STATE 0x03030273
374 #define OID_FDDI_PORT_PC_WITHHOLD 0x03030274
375 #define OID_FDDI_PORT_LER_FLAG 0x03030275
376 #define OID_FDDI_PORT_HARDWARE_PRESENT 0x03030276
377 #define OID_FDDI_PORT_ACTION 0x03030278
378 #define OID_FDDI_IF_DESCR 0x03030279
379 #define OID_FDDI_IF_TYPE 0x0303027A
380 #define OID_FDDI_IF_MTU 0x0303027B
381 #define OID_FDDI_IF_SPEED 0x0303027C
382 #define OID_FDDI_IF_PHYS_ADDRESS 0x0303027D
383 #define OID_FDDI_IF_ADMIN_STATUS 0x0303027E
384 #define OID_FDDI_IF_OPER_STATUS 0x0303027F
385 #define OID_FDDI_IF_LAST_CHANGE 0x03030280
386 #define OID_FDDI_IF_IN_OCTETS 0x03030281
387 #define OID_FDDI_IF_IN_UCAST_PKTS 0x03030282
388 #define OID_FDDI_IF_IN_NUCAST_PKTS 0x03030283
389 #define OID_FDDI_IF_IN_DISCARDS 0x03030284
390 #define OID_FDDI_IF_IN_ERRORS 0x03030285
391 #define OID_FDDI_IF_IN_UNKNOWN_PROTOS 0x03030286
392 #define OID_FDDI_IF_OUT_OCTETS 0x03030287
393 #define OID_FDDI_IF_OUT_UCAST_PKTS 0x03030288
394 #define OID_FDDI_IF_OUT_NUCAST_PKTS 0x03030289
395 #define OID_FDDI_IF_OUT_DISCARDS 0x0303028A
396 #define OID_FDDI_IF_OUT_ERRORS 0x0303028B
397 #define OID_FDDI_IF_OUT_QLEN 0x0303028C
398 #define OID_FDDI_IF_SPECIFIC 0x0303028D
399 
400 //
401 // WAN objects
402 //
403 #define OID_WAN_PERMANENT_ADDRESS 0x04010101
404 #define OID_WAN_CURRENT_ADDRESS 0x04010102
405 #define OID_WAN_QUALITY_OF_SERVICE 0x04010103
406 #define OID_WAN_PROTOCOL_TYPE 0x04010104
407 #define OID_WAN_MEDIUM_SUBTYPE 0x04010105
408 #define OID_WAN_HEADER_FORMAT 0x04010106
409 #define OID_WAN_GET_INFO 0x04010107
410 #define OID_WAN_SET_LINK_INFO 0x04010108
411 #define OID_WAN_GET_LINK_INFO 0x04010109
412 #define OID_WAN_LINE_COUNT 0x0401010A
413 #define OID_WAN_GET_BRIDGE_INFO 0x0401020A
414 #define OID_WAN_SET_BRIDGE_INFO 0x0401020B
415 #define OID_WAN_GET_COMP_INFO 0x0401020C
416 #define OID_WAN_SET_COMP_INFO 0x0401020D
417 #define OID_WAN_GET_STATS_INFO 0x0401020E
418 
419 //
420 // LocalTalk objects
421 //
422 #define OID_LTALK_CURRENT_NODE_ID 0x05010102
423 #define OID_LTALK_IN_BROADCASTS 0x05020101
424 #define OID_LTALK_IN_LENGTH_ERRORS 0x05020102
425 #define OID_LTALK_OUT_NO_HANDLERS 0x05020201
426 #define OID_LTALK_COLLISIONS 0x05020202
427 #define OID_LTALK_DEFERS 0x05020203
428 #define OID_LTALK_NO_DATA_ERRORS 0x05020204
429 #define OID_LTALK_RANDOM_CTS_ERRORS 0x05020205
430 #define OID_LTALK_FCS_ERRORS 0x05020206
431 
432 //
433 // Arcnet objects
434 //
435 #define OID_ARCNET_PERMANENT_ADDRESS 0x06010101
436 #define OID_ARCNET_CURRENT_ADDRESS 0x06010102
437 #define OID_ARCNET_RECONFIGURATIONS 0x06020201
438 
439 //
440 // TAPI objects
441 //
442 #define OID_TAPI_ACCEPT 0x07030101
443 #define OID_TAPI_ANSWER 0x07030102
444 #define OID_TAPI_CLOSE 0x07030103
445 #define OID_TAPI_CLOSE_CALL 0x07030104
446 #define OID_TAPI_CONDITIONAL_MEDIA_DETECTION 0x07030105
447 #define OID_TAPI_CONFIG_DIALOG 0x07030106
448 #define OID_TAPI_DEV_SPECIFIC 0x07030107
449 #define OID_TAPI_DIAL 0x07030108
450 #define OID_TAPI_DROP 0x07030109
451 #define OID_TAPI_GET_ADDRESS_CAPS 0x0703010A
452 #define OID_TAPI_GET_ADDRESS_ID 0x0703010B
453 #define OID_TAPI_GET_ADDRESS_STATUS 0x0703010C
454 #define OID_TAPI_GET_CALL_ADDRESS_ID 0x0703010D
455 #define OID_TAPI_GET_CALL_INFO 0x0703010E
456 #define OID_TAPI_GET_CALL_STATUS 0x0703010F
457 #define OID_TAPI_GET_DEV_CAPS 0x07030110
458 #define OID_TAPI_GET_DEV_CONFIG 0x07030111
459 #define OID_TAPI_GET_EXTENSION_ID 0x07030112
460 #define OID_TAPI_GET_ID 0x07030113
461 #define OID_TAPI_GET_LINE_DEV_STATUS 0x07030114
462 #define OID_TAPI_MAKE_CALL 0x07030115
463 #define OID_TAPI_NEGOTIATE_EXT_VERSION 0x07030116
464 #define OID_TAPI_OPEN 0x07030117
465 #define OID_TAPI_PROVIDER_INITIALIZE 0x07030118
466 #define OID_TAPI_PROVIDER_SHUTDOWN 0x07030119
467 #define OID_TAPI_SECURE_CALL 0x0703011A
468 #define OID_TAPI_SELECT_EXT_VERSION 0x0703011B
469 #define OID_TAPI_SEND_USER_USER_INFO 0x0703011C
470 #define OID_TAPI_SET_APP_SPECIFIC 0x0703011D
471 #define OID_TAPI_SET_CALL_PARAMS 0x0703011E
472 #define OID_TAPI_SET_DEFAULT_MEDIA_DETECTION 0x0703011F
473 #define OID_TAPI_SET_DEV_CONFIG 0x07030120
474 #define OID_TAPI_SET_MEDIA_MODE 0x07030121
475 #define OID_TAPI_SET_STATUS_MESSAGES 0x07030122
476 #define OID_TAPI_GATHER_DIGITS 0x07030123
477 #define OID_TAPI_MONITOR_DIGITS 0x07030124
478 
479 //
480 // ATM Connection Oriented Ndis
481 //
482 #define OID_ATM_SUPPORTED_VC_RATES 0x08010101
483 #define OID_ATM_SUPPORTED_SERVICE_CATEGORY 0x08010102
484 #define OID_ATM_SUPPORTED_AAL_TYPES 0x08010103
485 #define OID_ATM_HW_CURRENT_ADDRESS 0x08010104
486 #define OID_ATM_MAX_ACTIVE_VCS 0x08010105
487 #define OID_ATM_MAX_ACTIVE_VCI_BITS 0x08010106
488 #define OID_ATM_MAX_ACTIVE_VPI_BITS 0x08010107
489 #define OID_ATM_MAX_AAL0_PACKET_SIZE 0x08010108
490 #define OID_ATM_MAX_AAL1_PACKET_SIZE 0x08010109
491 #define OID_ATM_MAX_AAL34_PACKET_SIZE 0x0801010A
492 #define OID_ATM_MAX_AAL5_PACKET_SIZE 0x0801010B
493 #define OID_ATM_SIGNALING_VPIVCI 0x08010201
494 #define OID_ATM_ASSIGNED_VPI 0x08010202
495 #define OID_ATM_ACQUIRE_ACCESS_NET_RESOURCES 0x08010203
496 #define OID_ATM_RELEASE_ACCESS_NET_RESOURCES 0x08010204
497 #define OID_ATM_ILMI_VPIVCI 0x08010205
498 #define OID_ATM_DIGITAL_BROADCAST_VPIVCI 0x08010206
499 #define OID_ATM_GET_NEAREST_FLOW 0x08010207
500 #define OID_ATM_ALIGNMENT_REQUIRED 0x08010208
501 
502 //
503 // ATM specific statistics OIDs.
504 //
505 #define OID_ATM_RCV_CELLS_OK 0x08020101
506 #define OID_ATM_XMIT_CELLS_OK 0x08020102
507 #define OID_ATM_RCV_CELLS_DROPPED 0x08020103
508 #define OID_ATM_RCV_INVALID_VPI_VCI 0x08020201
509 #define OID_ATM_CELLS_HEC_ERROR 0x08020202
510 #define OID_ATM_RCV_REASSEMBLY_ERROR 0x08020203
511 
512 //
513 // PCCA (Wireless) object
514 //
515 //
516 // All WirelessWAN devices must support the following OIDs
517 //
518 #define OID_WW_GEN_NETWORK_TYPES_SUPPORTED 0x09010101
519 #define OID_WW_GEN_NETWORK_TYPE_IN_USE 0x09010102
520 #define OID_WW_GEN_HEADER_FORMATS_SUPPORTED 0x09010103
521 #define OID_WW_GEN_HEADER_FORMAT_IN_USE 0x09010104
522 #define OID_WW_GEN_INDICATION_REQUEST 0x09010105
523 #define OID_WW_GEN_DEVICE_INFO 0x09010106
524 #define OID_WW_GEN_OPERATION_MODE 0x09010107
525 #define OID_WW_GEN_LOCK_STATUS 0x09010108
526 #define OID_WW_GEN_DISABLE_TRANSMITTER 0x09010109
527 #define OID_WW_GEN_NETWORK_ID 0x0901010A
528 #define OID_WW_GEN_PERMANENT_ADDRESS 0x0901010B
529 #define OID_WW_GEN_CURRENT_ADDRESS 0x0901010C
530 #define OID_WW_GEN_SUSPEND_DRIVER 0x0901010D
531 #define OID_WW_GEN_BASESTATION_ID 0x0901010E
532 #define OID_WW_GEN_CHANNEL_ID 0x0901010F
533 #define OID_WW_GEN_ENCRYPTION_SUPPORTED 0x09010110
534 #define OID_WW_GEN_ENCRYPTION_IN_USE 0x09010111
535 #define OID_WW_GEN_ENCRYPTION_STATE 0x09010112
536 #define OID_WW_GEN_CHANNEL_QUALITY 0x09010113
537 #define OID_WW_GEN_REGISTRATION_STATUS 0x09010114
538 #define OID_WW_GEN_RADIO_LINK_SPEED 0x09010115
539 #define OID_WW_GEN_LATENCY 0x09010116
540 #define OID_WW_GEN_BATTERY_LEVEL 0x09010117
541 #define OID_WW_GEN_EXTERNAL_POWER 0x09010118
542 
543 //
544 // Network Dependent OIDs - Mobitex:
545 //
546 #define OID_WW_MBX_SUBADDR 0x09050101
547 
548 #define OID_WW_MBX_FLEXLIST 0x09050103
549 #define OID_WW_MBX_GROUPLIST 0x09050104
550 #define OID_WW_MBX_TRAFFIC_AREA 0x09050105
551 #define OID_WW_MBX_LIVE_DIE 0x09050106
552 #define OID_WW_MBX_TEMP_DEFAULTLIST 0x09050107
553 
554 //
555 // Network Dependent OIDs - Pinpoint:
556 //
557 #define OID_WW_PIN_LOC_AUTHORIZE 0x09090101
558 #define OID_WW_PIN_LAST_LOCATION 0x09090102
559 #define OID_WW_PIN_LOC_FIX 0x09090103
560 
561 //
562 // Network Dependent - CDPD:
563 //
564 #define OID_WW_CDPD_SPNI 0x090D0101
565 #define OID_WW_CDPD_WASI 0x090D0102
566 #define OID_WW_CDPD_AREA_COLOR 0x090D0103
567 #define OID_WW_CDPD_TX_POWER_LEVEL 0x090D0104
568 #define OID_WW_CDPD_EID 0x090D0105
569 #define OID_WW_CDPD_HEADER_COMPRESSION 0x090D0106
570 #define OID_WW_CDPD_DATA_COMPRESSION 0x090D0107
571 #define OID_WW_CDPD_CHANNEL_SELECT 0x090D0108
572 #define OID_WW_CDPD_CHANNEL_STATE 0x090D0109
573 #define OID_WW_CDPD_NEI 0x090D010A
574 #define OID_WW_CDPD_NEI_STATE 0x090D010B
575 #define OID_WW_CDPD_SERVICE_PROVIDER_IDENTIFIER 0x090D010C
576 #define OID_WW_CDPD_SLEEP_MODE 0x090D010D
577 #define OID_WW_CDPD_CIRCUIT_SWITCHED 0x090D010E
578 #define OID_WW_CDPD_TEI 0x090D010F
579 #define OID_WW_CDPD_RSSI 0x090D0110
580 
581 //
582 // Network Dependent - Ardis:
583 //
584 #define OID_WW_ARD_SNDCP 0x09110101
585 #define OID_WW_ARD_TMLY_MSG 0x09110102
586 #define OID_WW_ARD_DATAGRAM 0x09110103
587 
588 //
589 // Network Dependent - DataTac:
590 //
591 #define OID_WW_TAC_COMPRESSION 0x09150101
592 #define OID_WW_TAC_SET_CONFIG 0x09150102
593 #define OID_WW_TAC_GET_STATUS 0x09150103
594 #define OID_WW_TAC_USER_HEADER 0x09150104
595 
596 //
597 // Network Dependent - Metricom:
598 //
599 #define OID_WW_MET_FUNCTION 0x09190101
600 
601 //
602 // IRDA objects
603 //
604 #define OID_IRDA_RECEIVING 0x0A010100
605 #define OID_IRDA_TURNAROUND_TIME 0x0A010101
606 #define OID_IRDA_SUPPORTED_SPEEDS 0x0A010102
607 #define OID_IRDA_LINK_SPEED 0x0A010103
608 #define OID_IRDA_MEDIA_BUSY 0x0A010104
609 #define OID_IRDA_EXTRA_RCV_BOFS 0x0A010200
610 #define OID_IRDA_RATE_SNIFF 0x0A010201
611 #define OID_IRDA_UNICAST_LIST 0x0A010202
612 #define OID_IRDA_MAX_UNICAST_LIST_SIZE 0x0A010203
613 #define OID_IRDA_MAX_RECEIVE_WINDOW_SIZE 0x0A010204
614 #define OID_IRDA_MAX_SEND_WINDOW_SIZE 0x0A010205
615 
616 /*
617  * Copied and adapted from WiresShark:
618  */
619 
620 /* 802.11 OIDs */
621 #define OID_802_11_BSSID 0x0D010101
622 #define OID_802_11_SSID 0x0D010102
623 #define OID_802_11_NETWORK_TYPES_SUPPORTED 0x0D010203
624 #define OID_802_11_NETWORK_TYPE_IN_USE 0x0D010204
625 #define OID_802_11_TX_POWER_LEVEL 0x0D010205
626 #define OID_802_11_RSSI 0x0D010206
627 #define OID_802_11_RSSI_TRIGGER 0x0D010207
628 #define OID_802_11_INFRASTRUCTURE_MODE 0x0D010108
629 #define OID_802_11_FRAGMENTATION_THRESHOLD 0x0D010209
630 #define OID_802_11_RTS_THRESHOLD 0x0D01020A
631 #define OID_802_11_NUMBER_OF_ANTENNAS 0x0D01020B
632 #define OID_802_11_RX_ANTENNA_SELECTED 0x0D01020C
633 #define OID_802_11_TX_ANTENNA_SELECTED 0x0D01020D
634 #define OID_802_11_SUPPORTED_RATES 0x0D01020E
635 #define OID_802_11_DESIRED_RATES 0x0D010210
636 #define OID_802_11_CONFIGURATION 0x0D010211
637 #define OID_802_11_STATISTICS 0x0D020212
638 #define OID_802_11_ADD_WEP 0x0D010113
639 #define OID_802_11_REMOVE_WEP 0x0D010114
640 #define OID_802_11_DISASSOCIATE 0x0D010115
641 #define OID_802_11_POWER_MODE 0x0D010216
642 #define OID_802_11_BSSID_LIST 0x0D010217
643 #define OID_802_11_AUTHENTICATION_MODE 0x0D010118
644 #define OID_802_11_PRIVACY_FILTER 0x0D010119
645 #define OID_802_11_BSSID_LIST_SCAN 0x0D01011A
646 #define OID_802_11_WEP_STATUS 0x0D01011B
647 
648 #define OID_802_11_ENCRYPTION_STATUS OID_802_11_WEP_STATUS
649 #define OID_802_11_RELOAD_DEFAULTS 0x0D01011C
650 #define OID_802_11_ADD_KEY 0x0D01011D
651 #define OID_802_11_REMOVE_KEY 0x0D01011E
652 #define OID_802_11_ASSOCIATION_INFORMATION 0x0D01011F
653 #define OID_802_11_TEST 0x0D010120
654 #define OID_802_11_CAPABILITY 0x0D010122
655 #define OID_802_11_PMKID 0x0D010123
656 
657 /* PnP and power management OIDs */
658 #define OID_PNP_CAPABILITIES 0xFD010100
659 #define OID_PNP_SET_POWER 0xFD010101
660 #define OID_PNP_QUERY_POWER 0xFD010102
661 #define OID_PNP_ADD_WAKE_UP_PATTERN 0xFD010103
662 #define OID_PNP_REMOVE_WAKE_UP_PATTERN 0xFD010104
663 #define OID_PNP_WAKE_UP_PATTERN_LIST 0xFD010105
664 #define OID_PNP_ENABLE_WAKE_UP 0xFD010106
665 
666 /* TCP/IP OIDs */
667 #define OID_TCP_TASK_OFFLOAD 0xFC010201
668 #define OID_TCP_TASK_IPSEC_ADD_SA 0xFC010202
669 #define OID_TCP_TASK_IPSEC_DELETE_SA 0xFC010203
670 #define OID_TCP_SAN_SUPPORT 0xFC010204
671 #define OID_TCP_TASK_IPSEC_ADD_UDPESP_SA 0xFC010205
672 #define OID_TCP_TASK_IPSEC_DELETE_UDPESP_SA 0xFC010206
673 #define OID_TCP4_OFFLOAD_STATS 0xFC010207
674 #define OID_TCP6_OFFLOAD_STATS 0xFC010208
675 #define OID_IP4_OFFLOAD_STATS 0xFC010209
676 #define OID_IP6_OFFLOAD_STATS 0xFC01020A
677 
678 //
679 // Medium the Ndis Driver is running on (OID_GEN_MEDIA_SUPPORTED/
680 // OID_GEN_MEDIA_IN_USE).
681 //
682 typedef enum _NDIS_MEDIUM {
683  NdisMedium802_3,
684  NdisMedium802_5,
685  NdisMediumFddi,
686  NdisMediumWan,
687  NdisMediumLocalTalk,
688  NdisMediumDix, // defined for convenience, not a real medium
689  NdisMediumArcnetRaw,
690  NdisMediumArcnet878_2,
691  NdisMediumAtm,
692  NdisMediumWirelessWan,
693  NdisMediumIrda,
694  NdisMediumBpc,
695  NdisMediumCoWan,
696  NdisMedium1394,
697  NdisMediumInfiniBand,
698  NdisMediumTunnel,
699  NdisMediumNative802_11,
700  NdisMediumLoopback,
701  NdisMediumWiMAX,
702  NdisMediumIP,
703  NdisMediumCHDLC,
704  NdisMediumPPPSerial,
705  NdisMediumMax // Not a real medium, defined as an upper-bound
706 } NDIS_MEDIUM, *PNDIS_MEDIUM;
707 
708 //
709 // Hardware status codes (OID_GEN_HARDWARE_STATUS).
710 //
711 typedef enum _NDIS_HARDWARE_STATUS {
712  NdisHardwareStatusReady,
713  NdisHardwareStatusInitializing,
714  NdisHardwareStatusReset,
715  NdisHardwareStatusClosing,
716  NdisHardwareStatusNotReady
717 } NDIS_HARDWARE_STATUS, *PNDIS_HARDWARE_STATUS;
718 
719 //
720 // this is the type passed in the OID_GEN_GET_TIME_CAPS request
721 //
722 typedef struct _GEN_GET_TIME_CAPS {
723  ULONG Flags; // Bits defined below
724  ULONG ClockPrecision;
726 
727 #define READABLE_LOCAL_CLOCK 0x000000001
728 #define CLOCK_NETWORK_DERIVED 0x000000002
729 #define CLOCK_PRECISION 0x000000004
730 #define RECEIVE_TIME_INDICATION_CAPABLE 0x000000008
731 #define TIMED_SEND_CAPABLE 0x000000010
732 #define TIME_STAMP_CAPABLE 0x000000020
733 
734 //
735 // this is the type passed in the OID_GEN_GET_NETCARD_TIME request
736 //
737 typedef struct _GEN_GET_NETCARD_TIME {
738  ULONG ReadTime;
740 
741 //
742 // Defines the attachment types for FDDI (OID_FDDI_ATTACHMENT_TYPE).
743 //
744 typedef enum _NDIS_FDDI_ATTACHMENT_TYPE {
745  NdisFddiTypeIsolated = 1,
746  NdisFddiTypeLocalA,
747  NdisFddiTypeLocalB,
748  NdisFddiTypeLocalAB,
749  NdisFddiTypeLocalS,
750  NdisFddiTypeWrapA,
751  NdisFddiTypeWrapB,
752  NdisFddiTypeWrapAB,
753  NdisFddiTypeWrapS,
754  NdisFddiTypeCWrapA,
755  NdisFddiTypeCWrapB,
756  NdisFddiTypeCWrapS,
757  NdisFddiTypeThrough
758 } NDIS_FDDI_ATTACHMENT_TYPE, *PNDIS_FDDI_ATTACHMENT_TYPE;
759 
760 //
761 // Defines the ring management states for FDDI (OID_FDDI_RING_MGT_STATE).
762 //
763 typedef enum _NDIS_FDDI_RING_MGT_STATE {
764  NdisFddiRingIsolated = 1,
765  NdisFddiRingNonOperational,
766  NdisFddiRingOperational,
767  NdisFddiRingDetect,
768  NdisFddiRingNonOperationalDup,
769  NdisFddiRingOperationalDup,
770  NdisFddiRingDirected,
771  NdisFddiRingTrace
772 } NDIS_FDDI_RING_MGT_STATE, *PNDIS_FDDI_RING_MGT_STATE;
773 
774 //
775 // Defines the Lconnection state for FDDI (OID_FDDI_LCONNECTION_STATE).
776 //
777 typedef enum _NDIS_FDDI_LCONNECTION_STATE {
778  NdisFddiStateOff = 1,
779  NdisFddiStateBreak,
780  NdisFddiStateTrace,
781  NdisFddiStateConnect,
782  NdisFddiStateNext,
783  NdisFddiStateSignal,
784  NdisFddiStateJoin,
785  NdisFddiStateVerify,
786  NdisFddiStateActive,
787  NdisFddiStateMaintenance
788 } NDIS_FDDI_LCONNECTION_STATE, *PNDIS_FDDI_LCONNECTION_STATE;
789 
790 //
791 // Defines the medium subtypes for WAN medium (OID_WAN_MEDIUM_SUBTYPE).
792 //
793 typedef enum _NDIS_WAN_MEDIUM_SUBTYPE {
794  NdisWanMediumHub,
795  NdisWanMediumX_25,
796  NdisWanMediumIsdn,
797  NdisWanMediumSerial,
798  NdisWanMediumFrameRelay,
799  NdisWanMediumAtm,
800  NdisWanMediumSonet,
801  NdisWanMediumSW56K
802 } NDIS_WAN_MEDIUM_SUBTYPE, *PNDIS_WAN_MEDIUM_SUBTYPE;
803 
804 //
805 // Defines the header format for WAN medium (OID_WAN_HEADER_FORMAT).
806 //
807 typedef enum _NDIS_WAN_HEADER_FORMAT {
808  NdisWanHeaderNative, // src/dest based on subtype, followed by NLPID
809  NdisWanHeaderEthernet // emulation of ethernet header
810 } NDIS_WAN_HEADER_FORMAT, *PNDIS_WAN_HEADER_FORMAT;
811 
812 //
813 // Defines the line quality on a WAN line (OID_WAN_QUALITY_OF_SERVICE).
814 //
815 typedef enum _NDIS_WAN_QUALITY {
816  NdisWanRaw,
817  NdisWanErrorControl,
818  NdisWanReliable
819 } NDIS_WAN_QUALITY, *PNDIS_WAN_QUALITY;
820 
821 //
822 // Defines the state of a token-ring adapter (OID_802_5_CURRENT_RING_STATE).
823 //
824 typedef enum _NDIS_802_5_RING_STATE {
825  NdisRingStateOpened = 1,
826  NdisRingStateClosed,
827  NdisRingStateOpening,
828  NdisRingStateClosing,
829  NdisRingStateOpenFailure,
830  NdisRingStateRingFailure
831 } NDIS_802_5_RING_STATE, *PNDIS_802_5_RING_STATE;
832 
833 //
834 // Defines the state of the LAN media
835 //
836 typedef enum _NDIS_MEDIA_STATE {
837  NdisMediaStateConnected,
838  NdisMediaStateDisconnected
839 } NDIS_MEDIA_STATE, *PNDIS_MEDIA_STATE;
840 
841 //
842 // The following is set on a per-packet basis as OOB data with NdisClass802_3Priority
843 //
844 typedef ULONG Priority_802_3; // 0-7 priority levels
845 
846 //
847 // The following structure is used to query OID_GEN_CO_LINK_SPEED and
848 // OID_GEN_CO_MINIMUM_LINK_SPEED. The first OID will return the current
849 // link speed of the adapter. The second will return the minimum link speed
850 // the adapter is capable of.
851 //
852 typedef struct _NDIS_CO_LINK_SPEED {
853  ULONG Outbound;
854  ULONG Inbound;
856 
857 //
858 // Ndis Packet Filter Bits (OID_GEN_CURRENT_PACKET_FILTER).
859 //
860 #define NDIS_PACKET_TYPE_DIRECTED 0x0001
861 #define NDIS_PACKET_TYPE_MULTICAST 0x0002
862 #define NDIS_PACKET_TYPE_ALL_MULTICAST 0x0004
863 #define NDIS_PACKET_TYPE_BROADCAST 0x0008
864 #define NDIS_PACKET_TYPE_SOURCE_ROUTING 0x0010
865 #define NDIS_PACKET_TYPE_PROMISCUOUS 0x0020
866 #define NDIS_PACKET_TYPE_SMT 0x0040
867 #define NDIS_PACKET_TYPE_ALL_LOCAL 0x0080
868 #define NDIS_PACKET_TYPE_MAC_FRAME 0x8000
869 #define NDIS_PACKET_TYPE_FUNCTIONAL 0x4000
870 #define NDIS_PACKET_TYPE_ALL_FUNCTIONAL 0x2000
871 #define NDIS_PACKET_TYPE_GROUP 0x1000
872 
873 //
874 // Ndis Token-Ring Ring Status Codes (OID_802_5_CURRENT_RING_STATUS).
875 //
876 #define NDIS_RING_SIGNAL_LOSS 0x00008000
877 #define NDIS_RING_HARD_ERROR 0x00004000
878 #define NDIS_RING_SOFT_ERROR 0x00002000
879 #define NDIS_RING_TRANSMIT_BEACON 0x00001000
880 #define NDIS_RING_LOBE_WIRE_FAULT 0x00000800
881 #define NDIS_RING_AUTO_REMOVAL_ERROR 0x00000400
882 #define NDIS_RING_REMOVE_RECEIVED 0x00000200
883 #define NDIS_RING_COUNTER_OVERFLOW 0x00000100
884 #define NDIS_RING_SINGLE_STATION 0x00000080
885 #define NDIS_RING_RING_RECOVERY 0x00000040
886 
887 //
888 // Ndis protocol option bits (OID_GEN_PROTOCOL_OPTIONS).
889 //
890 #define NDIS_PROT_OPTION_ESTIMATED_LENGTH 0x00000001
891 #define NDIS_PROT_OPTION_NO_LOOPBACK 0x00000002
892 #define NDIS_PROT_OPTION_NO_RSVD_ON_RCVPKT 0x00000004
893 
894 //
895 // Ndis MAC option bits (OID_GEN_MAC_OPTIONS).
896 //
897 #define NDIS_MAC_OPTION_COPY_LOOKAHEAD_DATA 0x00000001
898 #define NDIS_MAC_OPTION_RECEIVE_SERIALIZED 0x00000002
899 #define NDIS_MAC_OPTION_TRANSFERS_NOT_PEND 0x00000004
900 #define NDIS_MAC_OPTION_NO_LOOPBACK 0x00000008
901 #define NDIS_MAC_OPTION_FULL_DUPLEX 0x00000010
902 #define NDIS_MAC_OPTION_EOTX_INDICATION 0x00000020
903 #define NDIS_MAC_OPTION_RESERVED 0x80000000
904 
905 //
906 // NDIS MAC option bits for OID_GEN_CO_MAC_OPTIONS.
907 //
908 #define NDIS_CO_MAC_OPTION_DYNAMIC_LINK_SPEED 0x00000001
909 
910 //
911 // The following is set on a per-packet basis as OOB data with NdisClassIrdaPacketInfo
912 // This is the per-packet info specified on a per-packet basis
913 //
914 typedef struct _NDIS_IRDA_PACKET_INFO {
915  UINT ExtraBOFs;
916  UINT MinTurnAroundTime;
918 
919 #endif /* _w32_NTDDNDIS_H */
920