|
|
1.1 root 1: /*++ BUILD Version: 0001 // Increment this if a change has global effects
2:
3: Copyright (c) 1990-1993 Microsoft Corporation
4:
5: Module Name:
6:
7: ntddndis.h
8:
9: Abstract:
10:
11: This is the include file that defines all constants and types for
12: accessing the Network driver interface device.
13:
14: Author:
15:
16: Steve Wood (stevewo) 27-May-1990
17:
18: Revision History:
19:
20: Adam Barr (adamba) 04-Nov-1992
21: added the correct values for NDIS 3.0.
22:
23: --*/
24:
25: #ifndef _NTDDNDIS_
26: #define _NTDDNDIS_
27:
28:
29: //
30: // Device Name - this string is the name of the device. It is the name
31: // that should be passed to NtOpenFile when accessing the device.
32: //
33: // Note: For devices that support multiple units, it should be suffixed
34: // with the Ascii representation of the unit number.
35: //
36:
37: #define DD_NDIS_DEVICE_NAME "\\Device\\UNKNOWN"
38:
39:
40: //
41: // NtDeviceIoControlFile IoControlCode values for this device.
42: //
43: // Warning: Remember that the low two bits of the code specify how the
44: // buffers are passed to the driver!
45: //
46:
47: #define _NDIS_CONTROL_CODE(request,method) \
48: CTL_CODE(FILE_DEVICE_PHYSICAL_NETCARD, request, method, FILE_ANY_ACCESS)
49:
50: #define IOCTL_NDIS_QUERY_GLOBAL_STATS _NDIS_CONTROL_CODE( 0, METHOD_OUT_DIRECT )
51: #define IOCTL_NDIS_QUERY_ALL_STATS _NDIS_CONTROL_CODE( 1, METHOD_OUT_DIRECT )
52:
53:
54: //
55: // NtDeviceIoControlFile InputBuffer/OutputBuffer record structures for
56: // this device.
57: //
58:
59: //
60: // This is the type of an NDIS OID value.
61: //
62:
63: typedef ULONG NDIS_OID, *PNDIS_OID;
64:
65:
66: //
67: // IOCTL_NDIS_QUERY_ALL_STATS returns a sequence of these, packed
68: // together (no padding is required since statistics all have
69: // four or eight bytes of data).
70: //
71:
72: typedef struct _NDIS_STATISTICS_VALUE {
73: NDIS_OID Oid;
74: ULONG DataLength;
75: UCHAR Data[1]; // variable length
76: } NDIS_STATISTICS_VALUE, *PNDIS_STATISTICS_VALUE;
77:
78:
79: //
80: // Object Identifiers used by NdisRequest Query/Set Information
81: //
82:
83: //
84: // General Objects
85: //
86:
87: #define OID_GEN_SUPPORTED_LIST 0x00010101
88: #define OID_GEN_HARDWARE_STATUS 0x00010102
89: #define OID_GEN_MEDIA_SUPPORTED 0x00010103
90: #define OID_GEN_MEDIA_IN_USE 0x00010104
91: #define OID_GEN_MAXIMUM_LOOKAHEAD 0x00010105
92: #define OID_GEN_MAXIMUM_FRAME_SIZE 0x00010106
93: #define OID_GEN_LINK_SPEED 0x00010107
94: #define OID_GEN_TRANSMIT_BUFFER_SPACE 0x00010108
95: #define OID_GEN_RECEIVE_BUFFER_SPACE 0x00010109
96: #define OID_GEN_TRANSMIT_BLOCK_SIZE 0x0001010A
97: #define OID_GEN_RECEIVE_BLOCK_SIZE 0x0001010B
98: #define OID_GEN_VENDOR_ID 0x0001010C
99: #define OID_GEN_VENDOR_DESCRIPTION 0x0001010D
100: #define OID_GEN_CURRENT_PACKET_FILTER 0x0001010E
101: #define OID_GEN_CURRENT_LOOKAHEAD 0x0001010F
102: #define OID_GEN_DRIVER_VERSION 0x00010110
103: #define OID_GEN_MAXIMUM_TOTAL_SIZE 0x00010111
104: #define OID_GEN_PROTOCOL_OPTIONS 0x00010112
105: #define OID_GEN_MAC_OPTIONS 0x00010113
106:
107: #define OID_GEN_XMIT_OK 0x00020101
108: #define OID_GEN_RCV_OK 0x00020102
109: #define OID_GEN_XMIT_ERROR 0x00020103
110: #define OID_GEN_RCV_ERROR 0x00020104
111: #define OID_GEN_RCV_NO_BUFFER 0x00020105
112:
113: #define OID_GEN_DIRECTED_BYTES_XMIT 0x00020201
114: #define OID_GEN_DIRECTED_FRAMES_XMIT 0x00020202
115: #define OID_GEN_MULTICAST_BYTES_XMIT 0x00020203
116: #define OID_GEN_MULTICAST_FRAMES_XMIT 0x00020204
117: #define OID_GEN_BROADCAST_BYTES_XMIT 0x00020205
118: #define OID_GEN_BROADCAST_FRAMES_XMIT 0x00020206
119: #define OID_GEN_DIRECTED_BYTES_RCV 0x00020207
120: #define OID_GEN_DIRECTED_FRAMES_RCV 0x00020208
121: #define OID_GEN_MULTICAST_BYTES_RCV 0x00020209
122: #define OID_GEN_MULTICAST_FRAMES_RCV 0x0002020A
123: #define OID_GEN_BROADCAST_BYTES_RCV 0x0002020B
124: #define OID_GEN_BROADCAST_FRAMES_RCV 0x0002020C
125:
126: #define OID_GEN_RCV_CRC_ERROR 0x0002020D
127: #define OID_GEN_TRANSMIT_QUEUE_LENGTH 0x0002020E
128:
129:
130: //
131: // 802.3 Objects (Ethernet)
132: //
133:
134: #define OID_802_3_PERMANENT_ADDRESS 0x01010101
135: #define OID_802_3_CURRENT_ADDRESS 0x01010102
136: #define OID_802_3_MULTICAST_LIST 0x01010103
137: #define OID_802_3_MAXIMUM_LIST_SIZE 0x01010104
138:
139: #define OID_802_3_RCV_ERROR_ALIGNMENT 0x01020101
140: #define OID_802_3_XMIT_ONE_COLLISION 0x01020102
141: #define OID_802_3_XMIT_MORE_COLLISIONS 0x01020103
142:
143: #define OID_802_3_XMIT_DEFERRED 0x01020201
144: #define OID_802_3_XMIT_MAX_COLLISIONS 0x01020202
145: #define OID_802_3_RCV_OVERRUN 0x01020203
146: #define OID_802_3_XMIT_UNDERRUN 0x01020204
147: #define OID_802_3_XMIT_HEARTBEAT_FAILURE 0x01020205
148: #define OID_802_3_XMIT_TIMES_CRS_LOST 0x01020206
149: #define OID_802_3_XMIT_LATE_COLLISIONS 0x01020207
150:
151:
152: //
153: // 802.5 Objects (Token-Ring)
154: //
155:
156: #define OID_802_5_PERMANENT_ADDRESS 0x02010101
157: #define OID_802_5_CURRENT_ADDRESS 0x02010102
158: #define OID_802_5_CURRENT_FUNCTIONAL 0x02010103
159: #define OID_802_5_CURRENT_GROUP 0x02010104
160: #define OID_802_5_LAST_OPEN_STATUS 0x02010105
161: #define OID_802_5_CURRENT_RING_STATUS 0x02010106
162: #define OID_802_5_CURRENT_RING_STATE 0x02010107
163:
164: #define OID_802_5_LINE_ERRORS 0x02020101
165: #define OID_802_5_LOST_FRAMES 0x02020102
166:
167: #define OID_802_5_BURST_ERRORS 0x02020201
168: #define OID_802_5_AC_ERRORS 0x02020202
169: #define OID_802_5_ABORT_DELIMETERS 0x02020203
170: #define OID_802_5_FRAME_COPIED_ERRORS 0x02020204
171: #define OID_802_5_FREQUENCY_ERRORS 0x02020205
172: #define OID_802_5_TOKEN_ERRORS 0x02020206
173: #define OID_802_5_INTERNAL_ERRORS 0x02020207
174:
175:
176: //
177: // FDDI Objects
178: //
179:
180: #define OID_FDDI_LONG_PERMANENT_ADDR 0x03010101
181: #define OID_FDDI_LONG_CURRENT_ADDR 0x03010102
182: #define OID_FDDI_LONG_MULTICAST_LIST 0x03010103
183: #define OID_FDDI_LONG_MAX_LIST_SIZE 0x03010104
184: #define OID_FDDI_SHORT_PERMANENT_ADDR 0x03010105
185: #define OID_FDDI_SHORT_CURRENT_ADDR 0x03010106
186: #define OID_FDDI_SHORT_MULTICAST_LIST 0x03010107
187: #define OID_FDDI_SHORT_MAX_LIST_SIZE 0x03010108
188:
189: #define OID_FDDI_ATTACHMENT_TYPE 0x03020101
190: #define OID_FDDI_UPSTREAM_NODE_LONG 0x03020102
191: #define OID_FDDI_DOWNSTREAM_NODE_LONG 0x03020103
192: #define OID_FDDI_FRAME_ERRORS 0x03020104
193: #define OID_FDDI_FRAMES_LOST 0x03020105
194: #define OID_FDDI_RING_MGT_STATE 0x03020106
195: #define OID_FDDI_LCT_FAILURES 0x03020107
196: #define OID_FDDI_LEM_REJECTS 0x03020108
197: #define OID_FDDI_LCONNECTION_STATE 0x03020109
198:
199: #define OID_FDDI_SMT_STATION_ID 0x03030201
200: #define OID_FDDI_SMT_OP_VERSION_ID 0x03030202
201: #define OID_FDDI_SMT_HI_VERSION_ID 0x03030203
202: #define OID_FDDI_SMT_LO_VERSION_ID 0x03030204
203: #define OID_FDDI_SMT_MANUFACTURER_DATA 0x03030205
204: #define OID_FDDI_SMT_USER_DATA 0x03030206
205: #define OID_FDDI_SMT_MIB_VERSION_ID 0x03030207
206: #define OID_FDDI_SMT_MAC_CT 0x03030208
207: #define OID_FDDI_SMT_NON_MASTER_CT 0x03030209
208: #define OID_FDDI_SMT_MASTER_CT 0x0303020A
209: #define OID_FDDI_SMT_AVAILABLE_PATHS 0x0303020B
210: #define OID_FDDI_SMT_CONFIG_CAPABILITIES 0x0303020C
211: #define OID_FDDI_SMT_CONFIG_POLICY 0x0303020D
212: #define OID_FDDI_SMT_CONNECTION_POLICY 0x0303020E
213: #define OID_FDDI_SMT_T_NOTIFY 0x0303020F
214: #define OID_FDDI_SMT_STAT_RPT_POLICY 0x03030210
215: #define OID_FDDI_SMT_TRACE_MAX_EXPIRATION 0x03030211
216: #define OID_FDDI_SMT_PORT_INDEXES 0x03030212
217: #define OID_FDDI_SMT_MAC_INDEXES 0x03030213
218: #define OID_FDDI_SMT_BYPASS_PRESENT 0x03030214
219: #define OID_FDDI_SMT_ECM_STATE 0x03030215
220: #define OID_FDDI_SMT_CF_STATE 0x03030216
221: #define OID_FDDI_SMT_HOLD_STATE 0x03030217
222: #define OID_FDDI_SMT_REMOTE_DISCONNECT_FLAG 0x03030218
223: #define OID_FDDI_SMT_STATION_STATUS 0x03030219
224: #define OID_FDDI_SMT_PEER_WRAP_FLAG 0x0303021A
225: #define OID_FDDI_SMT_MSG_TIME_STAMP 0x0303021B
226: #define OID_FDDI_SMT_TRANSITION_TIME_STAMP 0x0303021C
227: #define OID_FDDI_SMT_SET_COUNT 0x0303021D
228: #define OID_FDDI_SMT_LAST_SET_STATION_ID 0x0303021E
229: #define OID_FDDI_MAC_FRAME_STATUS_FUNCTIONS 0x0303021F
230: #define OID_FDDI_MAC_BRIDGE_FUNCTIONS 0x03030220
231: #define OID_FDDI_MAC_T_MAX_CAPABILITY 0x03030221
232: #define OID_FDDI_MAC_TVX_CAPABILITY 0x03030222
233: #define OID_FDDI_MAC_AVAILABLE_PATHS 0x03030223
234: #define OID_FDDI_MAC_CURRENT_PATH 0x03030224
235: #define OID_FDDI_MAC_UPSTREAM_NBR 0x03030225
236: #define OID_FDDI_MAC_DOWNSTREAM_NBR 0x03030226
237: #define OID_FDDI_MAC_OLD_UPSTREAM_NBR 0x03030227
238: #define OID_FDDI_MAC_OLD_DOWNSTREAM_NBR 0x03030228
239: #define OID_FDDI_MAC_DUP_ADDRESS_TEST 0x03030229
240: #define OID_FDDI_MAC_REQUESTED_PATHS 0x0303022A
241: #define OID_FDDI_MAC_DOWNSTREAM_PORT_TYPE 0x0303022B
242: #define OID_FDDI_MAC_INDEX 0x0303022C
243: #define OID_FDDI_MAC_SMT_ADDRESS 0x0303022D
244: #define OID_FDDI_MAC_LONG_GRP_ADDRESS 0x0303022E
245: #define OID_FDDI_MAC_SHORT_GRP_ADDRESS 0x0303022F
246: #define OID_FDDI_MAC_T_REQ 0x03030230
247: #define OID_FDDI_MAC_T_NEG 0x03030231
248: #define OID_FDDI_MAC_T_MAX 0x03030232
249: #define OID_FDDI_MAC_TVX_VALUE 0x03030233
250: #define OID_FDDI_MAC_T_PRI0 0x03030234
251: #define OID_FDDI_MAC_T_PRI1 0x03030235
252: #define OID_FDDI_MAC_T_PRI2 0x03030236
253: #define OID_FDDI_MAC_T_PRI3 0x03030237
254: #define OID_FDDI_MAC_T_PRI4 0x03030238
255: #define OID_FDDI_MAC_T_PRI5 0x03030239
256: #define OID_FDDI_MAC_T_PRI6 0x0303023A
257: #define OID_FDDI_MAC_FRAME_CT 0x0303023B
258: #define OID_FDDI_MAC_COPIED_CT 0x0303023C
259: #define OID_FDDI_MAC_TRANSMIT_CT 0x0303023D
260: #define OID_FDDI_MAC_TOKEN_CT 0x0303023E
261: #define OID_FDDI_MAC_ERROR_CT 0x0303023F
262: #define OID_FDDI_MAC_LOST_CT 0x03030240
263: #define OID_FDDI_MAC_TVX_EXPIRED_CT 0x03030241
264: #define OID_FDDI_MAC_NOT_COPIED_CT 0x03030242
265: #define OID_FDDI_MAC_LATE_CT 0x03030243
266: #define OID_FDDI_MAC_RING_OP_CT 0x03030244
267: #define OID_FDDI_MAC_FRAME_ERROR_THRESHOLD 0x03030245
268: #define OID_FDDI_MAC_FRAME_ERROR_RATIO 0x03030246
269: #define OID_FDDI_MAC_NOT_COPIED_THRESHOLD 0x03030247
270: #define OID_FDDI_MAC_NOT_COPIED_RATIO 0x03030248
271: #define OID_FDDI_MAC_RMT_STATE 0x03030249
272: #define OID_FDDI_MAC_DA_FLAG 0x0303024A
273: #define OID_FDDI_MAC_UNDA_FLAG 0x0303024B
274: #define OID_FDDI_MAC_FRAME_ERROR_FLAG 0x0303024C
275: #define OID_FDDI_MAC_NOT_COPIED_FLAG 0x0303024D
276: #define OID_FDDI_MAC_MA_UNITDATA_AVAILABLE 0x0303024E
277: #define OID_FDDI_MAC_HARDWARE_PRESENT 0x0303024F
278: #define OID_FDDI_MAC_MA_UNITDATA_ENABLE 0x03030250
279: #define OID_FDDI_PATH_INDEX 0x03030251
280: #define OID_FDDI_PATH_RING_LATENCY 0x03030252
281: #define OID_FDDI_PATH_TRACE_STATUS 0x03030253
282: #define OID_FDDI_PATH_SBA_PAYLOAD 0x03030254
283: #define OID_FDDI_PATH_SBA_OVERHEAD 0x03030255
284: #define OID_FDDI_PATH_CONFIGURATION 0x03030256
285: #define OID_FDDI_PATH_T_R_MODE 0x03030257
286: #define OID_FDDI_PATH_SBA_AVAILABLE 0x03030258
287: #define OID_FDDI_PATH_TVX_LOWER_BOUND 0x03030259
288: #define OID_FDDI_PATH_T_MAX_LOWER_BOUND 0x0303025A
289: #define OID_FDDI_PATH_MAX_T_REQ 0x0303025B
290: #define OID_FDDI_PORT_MY_TYPE 0x0303025C
291: #define OID_FDDI_PORT_NEIGHBOR_TYPE 0x0303025D
292: #define OID_FDDI_PORT_CONNECTION_POLICIES 0x0303025E
293: #define OID_FDDI_PORT_MAC_INDICATED 0x0303025F
294: #define OID_FDDI_PORT_CURRENT_PATH 0x03030260
295: #define OID_FDDI_PORT_REQUESTED_PATHS 0x03030261
296: #define OID_FDDI_PORT_MAC_PLACEMENT 0x03030262
297: #define OID_FDDI_PORT_AVAILABLE_PATHS 0x03030263
298: #define OID_FDDI_PORT_MAC_LOOP_TIME 0x03030264
299: #define OID_FDDI_PORT_PMD_CLASS 0x03030265
300: #define OID_FDDI_PORT_CONNECTION_CAPABILITIES 0x03030266
301: #define OID_FDDI_PORT_INDEX 0x03030267
302: #define OID_FDDI_PORT_MAINT_LS 0x03030268
303: #define OID_FDDI_PORT_BS_FLAG 0x03030269
304: #define OID_FDDI_PORT_PC_LS 0x0303026A
305: #define OID_FDDI_PORT_EB_ERROR_CT 0x0303026B
306: #define OID_FDDI_PORT_LCT_FAIL_CT 0x0303026C
307: #define OID_FDDI_PORT_LER_ESTIMATE 0x0303026D
308: #define OID_FDDI_PORT_LEM_REJECT_CT 0x0303026E
309: #define OID_FDDI_PORT_LEM_CT 0x0303026F
310: #define OID_FDDI_PORT_LER_CUTOFF 0x03030270
311: #define OID_FDDI_PORT_LER_ALARM 0x03030271
312: #define OID_FDDI_PORT_CONNNECT_STATE 0x03030272
313: #define OID_FDDI_PORT_PCM_STATE 0x03030273
314: #define OID_FDDI_PORT_PC_WITHHOLD 0x03030274
315: #define OID_FDDI_PORT_LER_FLAG 0x03030275
316: #define OID_FDDI_PORT_HARDWARE_PRESENT 0x03030276
317: #define OID_FDDI_SMT_STATION_ACTION 0x03030277
318: #define OID_FDDI_PORT_ACTION 0x03030278
319: #define OID_FDDI_IF_DESCR 0x03030279
320: #define OID_FDDI_IF_TYPE 0x0303027A
321: #define OID_FDDI_IF_MTU 0x0303027B
322: #define OID_FDDI_IF_SPEED 0x0303027C
323: #define OID_FDDI_IF_PHYS_ADDRESS 0x0303027D
324: #define OID_FDDI_IF_ADMIN_STATUS 0x0303027E
325: #define OID_FDDI_IF_OPER_STATUS 0x0303027F
326: #define OID_FDDI_IF_LAST_CHANGE 0x03030280
327: #define OID_FDDI_IF_IN_OCTETS 0x03030281
328: #define OID_FDDI_IF_IN_UCAST_PKTS 0x03030282
329: #define OID_FDDI_IF_IN_NUCAST_PKTS 0x03030283
330: #define OID_FDDI_IF_IN_DISCARDS 0x03030284
331: #define OID_FDDI_IF_IN_ERRORS 0x03030285
332: #define OID_FDDI_IF_IN_UNKNOWN_PROTOS 0x03030286
333: #define OID_FDDI_IF_OUT_OCTETS 0x03030287
334: #define OID_FDDI_IF_OUT_UCAST_PKTS 0x03030288
335: #define OID_FDDI_IF_OUT_NUCAST_PKTS 0x03030289
336: #define OID_FDDI_IF_OUT_DISCARDS 0x0303028A
337: #define OID_FDDI_IF_OUT_ERRORS 0x0303028B
338: #define OID_FDDI_IF_OUT_QLEN 0x0303028C
339: #define OID_FDDI_IF_SPECIFIC 0x0303028D
340:
341:
342:
343: //
344: // WAN objects
345: //
346:
347: #define OID_WAN_PERMANENT_ADDRESS 0x04010101
348: #define OID_WAN_CURRENT_ADDRESS 0x04010102
349: #define OID_WAN_QUALITY_OF_SERVICE 0x04010103
350: #define OID_WAN_PROTOCOL_TYPE 0x04010104
351: #define OID_WAN_MEDIUM_SUBTYPE 0x04010105
352: #define OID_WAN_HEADER_FORMAT 0x04010106
353:
354:
355: //
356: // LocalTalk objects
357: //
358:
359: #define OID_LTALK_CURRENT_NODE_ID 0x05010102
360:
361: #define OID_LTALK_IN_BROADCASTS 0x05020101
362: #define OID_LTALK_IN_LENGTH_ERRORS 0x05020102
363:
364: #define OID_LTALK_OUT_NO_HANDLERS 0x05020201
365: #define OID_LTALK_COLLISIONS 0x05020202
366: #define OID_LTALK_DEFERS 0x05020203
367: #define OID_LTALK_NO_DATA_ERRORS 0x05020204
368: #define OID_LTALK_RANDOM_CTS_ERRORS 0x05020205
369: #define OID_LTALK_FCS_ERRORS 0x05020206
370:
371:
372: //
373: // Arcnet objects
374: //
375:
376: #define OID_ARCNET_PERMANENT_ADDRESS 0x06010101
377: #define OID_ARCNET_CURRENT_ADDRESS 0x06010102
378:
379: #define OID_ARCNET_RECONFIGURATIONS 0x06020201
380:
381:
382: //
383: // Medium the Ndis Driver is running on (OID_GEN_MEDIA_SUPPORTED/
384: // OID_GEN_MEDIA_IN_USE).
385: //
386:
387: typedef enum _NDIS_MEDIUM {
388: NdisMedium802_3,
389: NdisMedium802_5,
390: NdisMediumFddi,
391: NdisMediumWan,
392: NdisMediumLocalTalk,
393: NdisMediumDix, // defined for convenience, not a real medium
394: NdisMediumArcnetRaw,
395: NdisMediumArcnet878_2
396: } NDIS_MEDIUM, *PNDIS_MEDIUM;
397:
398:
399: //
400: // Hardware status codes (OID_GEN_HARDWARE_STATUS).
401: //
402:
403: typedef enum _NDIS_HARDWARE_STATUS {
404: NdisHardwareStatusReady,
405: NdisHardwareStatusInitializing,
406: NdisHardwareStatusReset,
407: NdisHardwareStatusClosing,
408: NdisHardwareStatusNotReady
409: } NDIS_HARDWARE_STATUS, *PNDIS_HARDWARE_STATUS;
410:
411:
412: //
413: // Defines the attachment types for FDDI (OID_FDDI_ATTACHMENT_TYPE).
414: //
415:
416: typedef enum _NDIS_FDDI_ATTACHMENT_TYPE {
417: NdisFddiTypeIsolated = 1,
418: NdisFddiTypeLocalA,
419: NdisFddiTypeLocalB,
420: NdisFddiTypeLocalAB,
421: NdisFddiTypeLocalS,
422: NdisFddiTypeWrapA,
423: NdisFddiTypeWrapB,
424: NdisFddiTypeWrapAB,
425: NdisFddiTypeWrapS,
426: NdisFddiTypeCWrapA,
427: NdisFddiTypeCWrapB,
428: NdisFddiTypeCWrapS,
429: NdisFddiTypeThrough
430: } NDIS_FDDI_ATTACHMENT_TYPE, *PNDIS_FDDI_ATTACHMENT_TYPE;
431:
432:
433: //
434: // Defines the ring management states for FDDI (OID_FDDI_RING_MGT_STATE).
435: //
436:
437: typedef enum _NDIS_FDDI_RING_MGT_STATE {
438: NdisFddiRingIsolated = 1,
439: NdisFddiRingNonOperational,
440: NdisFddiRingOperational,
441: NdisFddiRingDetect,
442: NdisFddiRingNonOperationalDup,
443: NdisFddiRingOperationalDup,
444: NdisFddiRingDirected,
445: NdisFddiRingTrace
446: } NDIS_FDDI_RING_MGT_STATE, *PNDIS_FDDI_RING_MGT_STATE;
447:
448:
449: //
450: // Defines the Lconnection state for FDDI (OID_FDDI_LCONNECTION_STATE).
451: //
452:
453: typedef enum _NDIS_FDDI_LCONNECTION_STATE {
454: NdisFddiStateOff = 1,
455: NdisFddiStateBreak,
456: NdisFddiStateTrace,
457: NdisFddiStateConnect,
458: NdisFddiStateNext,
459: NdisFddiStateSignal,
460: NdisFddiStateJoin,
461: NdisFddiStateVerify,
462: NdisFddiStateActive,
463: NdisFddiStateMaintenance
464: } NDIS_FDDI_LCONNECTION_STATE, *PNDIS_FDDI_LCONNECTION_STATE;
465:
466:
467: //
468: // Defines the medium subtypes for WAN medium (OID_WAN_MEDIUM_SUBTYPE).
469: //
470:
471: typedef enum _NDIS_WAN_MEDIUM_SUBTYPE {
472: NdisWanMediumHub,
473: NdisWanMediumX_25,
474: NdisWanMediumIsdn,
475: NdisWanMediumSerial,
476: NdisWanMediumFrameRelay
477: } NDIS_WAN_MEDIUM_SUBTYPE, *PNDIS_WAN_MEDIUM_SUBTYPE;
478:
479:
480: //
481: // Defines the header format for WAN medium (OID_WAN_HEADER_FORMAT).
482: //
483:
484: typedef enum _NDIS_WAN_HEADER_FORMAT {
485: NdisWanHeaderNative, // src/dest based on subtype, followed by NLPID
486: NdisWanHeaderEthernet // emulation of ethernet header
487: } NDIS_WAN_HEADER_FORMAT, *PNDIS_WAN_HEADER_FORMAT;
488:
489:
490: //
491: // Defines the line quality on a WAN line (OID_WAN_QUALITY_OF_SERVICE).
492: //
493:
494: typedef enum _NDIS_WAN_QUALITY {
495: NdisWanRaw,
496: NdisWanErrorControl,
497: NdisWanReliable
498: } NDIS_WAN_QUALITY, *PNDIS_WAN_QUALITY;
499:
500:
501: //
502: // Defines the state of a token-ring adapter (OID_802_5_CURRENT_RING_STATE).
503: //
504:
505: typedef enum _NDIS_802_5_RING_STATE {
506: NdisRingStateOpened = 1,
507: NdisRingStateClosed,
508: NdisRingStateOpening,
509: NdisRingStateClosing,
510: NdisRingStateOpenFailure,
511: NdisRingStateRingFailure
512: } NDIS_802_5_RING_STATE, *PNDIS_802_5_RING_STATE;
513:
514:
515:
516: //
517: // Ndis Packet Filter Bits (OID_GEN_CURRENT_PACKET_FILTER).
518: //
519:
520: #define NDIS_PACKET_TYPE_DIRECTED 0x0001
521: #define NDIS_PACKET_TYPE_MULTICAST 0x0002
522: #define NDIS_PACKET_TYPE_ALL_MULTICAST 0x0004
523: #define NDIS_PACKET_TYPE_BROADCAST 0x0008
524: #define NDIS_PACKET_TYPE_SOURCE_ROUTING 0x0010
525: #define NDIS_PACKET_TYPE_PROMISCUOUS 0x0020
526: #define NDIS_PACKET_TYPE_SMT 0x0040
527: #define NDIS_PACKET_TYPE_MAC_FRAME 0x8000
528: #define NDIS_PACKET_TYPE_FUNCTIONAL 0x4000
529: #define NDIS_PACKET_TYPE_ALL_FUNCTIONAL 0x2000
530: #define NDIS_PACKET_TYPE_GROUP 0x1000
531:
532:
533: //
534: // Ndis Token-Ring Ring Status Codes (OID_802_5_CURRENT_RING_STATUS).
535: //
536:
537: #define NDIS_RING_SIGNAL_LOSS 0x00008000
538: #define NDIS_RING_HARD_ERROR 0x00004000
539: #define NDIS_RING_SOFT_ERROR 0x00002000
540: #define NDIS_RING_TRANSMIT_BEACON 0x00001000
541: #define NDIS_RING_LOBE_WIRE_FAULT 0x00000800
542: #define NDIS_RING_AUTO_REMOVAL_ERROR 0x00000400
543: #define NDIS_RING_REMOVE_RECEIVED 0x00000200
544: #define NDIS_RING_COUNTER_OVERFLOW 0x00000100
545: #define NDIS_RING_SINGLE_STATION 0x00000080
546: #define NDIS_RING_RING_RECOVERY 0x00000040
547:
548:
549: //
550: // Ndis protocol option bits (OID_GEN_PROTOCOL_OPTIONS).
551: //
552:
553: #define NDIS_PROT_OPTION_ESTIMATED_LENGTH 0x00000001
554:
555:
556: //
557: // Ndis MAC option bits (OID_GEN_MAC_OPTIONS).
558: //
559:
560: #define NDIS_MAC_OPTION_COPY_LOOKAHEAD_DATA 0x00000001
561: #define NDIS_MAC_OPTION_RECEIVE_SERIALIZED 0x00000002
562: #define NDIS_MAC_OPTION_TRANSFERS_NOT_PEND 0x00000004
563:
564:
565: #endif // ndef _NTDDNDIS_
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.