Ntddndis.h
上传用户:gzdtt123
上传日期:2022-01-26
资源大小:88k
文件大小:47k
开发平台:

Visual C++

  1. /*++ BUILD Version: 0001                // Increment this if a change has global effects
  2.    Copyright (c) 1990-1993  Microsoft Corporation
  3.    Module Name:
  4.    ntddndis.h
  5.    Abstract:
  6.    This is the include file that defines all constants and types for
  7.    accessing the Network driver interface device.
  8.    Author:
  9.    Steve Wood (stevewo) 27-May-1990
  10.    Revision History:
  11.    Adam Barr (adamba)           04-Nov-1992             added the correct values for NDIS 3.0.
  12.    Jameel Hyder (jameelh)       01-Aug-95               added Pnp IoCTLs and structures
  13.    Kyle Brandon (kyleb) 09/24/96                added general co ndis oids.
  14.    -- */
  15. #ifndef _NTDDNDIS_
  16. #define _NTDDNDIS_
  17. //
  18. // Device Name - this string is the name of the device.  It is the name
  19. // that should be passed to NtOpenFile when accessing the device.
  20. //
  21. // Note:  For devices that support multiple units, it should be suffixed
  22. //                with the Ascii representation of the unit number.
  23. //
  24. #define DD_NDIS_DEVICE_NAME "\Device\UNKNOWN"
  25. //
  26. // NtDeviceIoControlFile IoControlCode values for this device.
  27. //
  28. // Warning:  Remember that the low two bits of the code specify how the
  29. //                       buffers are passed to the driver!
  30. //
  31. #define _NDIS_CONTROL_CODE(request,method) 
  32. CTL_CODE(FILE_DEVICE_PHYSICAL_NETCARD, request, method, FILE_ANY_ACCESS)
  33. #define IOCTL_NDIS_QUERY_GLOBAL_STATS _NDIS_CONTROL_CODE( 0, METHOD_OUT_DIRECT )
  34. #define IOCTL_NDIS_QUERY_ALL_STATS _NDIS_CONTROL_CODE( 1, METHOD_OUT_DIRECT )
  35. #define IOCTL_NDIS_ADD_DEVICE _NDIS_CONTROL_CODE( 2, METHOD_BUFFERED )
  36. #define IOCTL_NDIS_DELETE_DEVICE _NDIS_CONTROL_CODE( 3, METHOD_BUFFERED )
  37. #define IOCTL_NDIS_TRANSLATE_NAME _NDIS_CONTROL_CODE( 4, METHOD_BUFFERED )
  38. #define IOCTL_NDIS_ADD_TDI_DEVICE _NDIS_CONTROL_CODE( 5, METHOD_BUFFERED )
  39. #define IOCTL_NDIS_NOTIFY_PROTOCOL _NDIS_CONTROL_CODE( 6, METHOD_BUFFERED )
  40. #define IOCTL_NDIS_GET_LOG_DATA _NDIS_CONTROL_CODE( 7, METHOD_OUT_DIRECT )
  41. //
  42. // NtDeviceIoControlFile InputBuffer/OutputBuffer record structures for
  43. // this device.
  44. //
  45. //
  46. // This is the type of an NDIS OID value.
  47. //
  48. typedef ULONG NDIS_OID, *PNDIS_OID;
  49. //
  50. // IOCTL_NDIS_QUERY_ALL_STATS returns a sequence of these, packed
  51. // together (no padding is required since statistics all have
  52. // four or eight bytes of data).
  53. //
  54. typedef struct _NDIS_STATISTICS_VALUE {
  55.     NDIS_OID Oid;
  56.     ULONG DataLength;
  57.     UCHAR Data[1]; // variable length
  58. } NDIS_STATISTICS_VALUE, *PNDIS_STATISTICS_VALUE;
  59. //
  60. // Structure used by TRANSLATE_NAME IOCTL
  61. //
  62. typedef struct _NET_PNP_ID {
  63.     ULONG ClassId;
  64.     ULONG Token;
  65. } NET_PNP_ID, *PNET_PNP_ID;
  66. typedef struct _NET_PNP_TRANSLATE_LIST {
  67.     ULONG BytesNeeded;
  68.     NET_PNP_ID IdArray[ANYSIZE_ARRAY];
  69. } NET_PNP_TRANSLATE_LIST, *PNET_PNP_TRANSLATE_LIST;
  70. //
  71. // Structure used to define a self-contained variable data structure
  72. //
  73. typedef struct _NDIS_VAR_DATA_DESC {
  74.     USHORT Length; // # of octects of data
  75.     USHORT MaximumLength; // # of octects available
  76.     LONG Offset; // Offset of data relative to the descriptor
  77. } NDIS_VAR_DATA_DESC, *PNDIS_VAR_DATA_DESC;
  78. //
  79. // Object Identifiers used by NdisRequest Query/Set Information
  80. //
  81. //
  82. // General Objects
  83. //
  84. #define OID_GEN_SUPPORTED_LIST    0x00010101
  85. #define OID_GEN_HARDWARE_STATUS   0x00010102
  86. #define OID_GEN_MEDIA_SUPPORTED   0x00010103
  87. #define OID_GEN_MEDIA_IN_USE 0x00010104
  88. #define OID_GEN_MAXIMUM_LOOKAHEAD     0x00010105
  89. #define OID_GEN_MAXIMUM_FRAME_SIZE    0x00010106
  90. #define OID_GEN_LINK_SPEED    0x00010107
  91. #define OID_GEN_TRANSMIT_BUFFER_SPACE     0x00010108
  92. #define OID_GEN_RECEIVE_BUFFER_SPACE 0x00010109
  93. #define OID_GEN_TRANSMIT_BLOCK_SIZE   0x0001010A
  94. #define OID_GEN_RECEIVE_BLOCK_SIZE    0x0001010B
  95. #define OID_GEN_VENDOR_ID     0x0001010C
  96. #define OID_GEN_VENDOR_DESCRIPTION    0x0001010D
  97. #define OID_GEN_CURRENT_PACKET_FILTER     0x0001010E
  98. #define OID_GEN_CURRENT_LOOKAHEAD     0x0001010F
  99. #define OID_GEN_DRIVER_VERSION    0x00010110
  100. #define OID_GEN_MAXIMUM_TOTAL_SIZE    0x00010111
  101. #define OID_GEN_PROTOCOL_OPTIONS 0x00010112
  102. #define OID_GEN_MAC_OPTIONS   0x00010113
  103. #define OID_GEN_MEDIA_CONNECT_STATUS 0x00010114
  104. #define OID_GEN_MAXIMUM_SEND_PACKETS 0x00010115
  105. #define OID_GEN_VENDOR_DRIVER_VERSION 0x00010116
  106. #define OID_GEN_XMIT_OK   0x00020101
  107. #define OID_GEN_RCV_OK    0x00020102
  108. #define OID_GEN_XMIT_ERROR    0x00020103
  109. #define OID_GEN_RCV_ERROR     0x00020104
  110. #define OID_GEN_RCV_NO_BUFFER     0x00020105
  111. #define OID_GEN_DIRECTED_BYTES_XMIT   0x00020201
  112. #define OID_GEN_DIRECTED_FRAMES_XMIT 0x00020202
  113. #define OID_GEN_MULTICAST_BYTES_XMIT 0x00020203
  114. #define OID_GEN_MULTICAST_FRAMES_XMIT     0x00020204
  115. #define OID_GEN_BROADCAST_BYTES_XMIT 0x00020205
  116. #define OID_GEN_BROADCAST_FRAMES_XMIT     0x00020206
  117. #define OID_GEN_DIRECTED_BYTES_RCV    0x00020207
  118. #define OID_GEN_DIRECTED_FRAMES_RCV   0x00020208
  119. #define OID_GEN_MULTICAST_BYTES_RCV   0x00020209
  120. #define OID_GEN_MULTICAST_FRAMES_RCV 0x0002020A
  121. #define OID_GEN_BROADCAST_BYTES_RCV   0x0002020B
  122. #define OID_GEN_BROADCAST_FRAMES_RCV 0x0002020C
  123. #define OID_GEN_RCV_CRC_ERROR     0x0002020D
  124. #define OID_GEN_TRANSMIT_QUEUE_LENGTH     0x0002020E
  125. #define OID_GEN_GET_TIME_CAPS 0x0002020F
  126. #define OID_GEN_GET_NETCARD_TIME 0x00020210
  127. //
  128. //      These are connection-oriented general OIDs.
  129. //      These replace the above OIDs for connection-oriented media.
  130. //
  131. #define OID_GEN_CO_SUPPORTED_LIST    0x00010101
  132. #define OID_GEN_CO_HARDWARE_STATUS   0x00010102
  133. #define OID_GEN_CO_MEDIA_SUPPORTED   0x00010103
  134. #define OID_GEN_CO_MEDIA_IN_USE 0x00010104
  135. #define OID_GEN_CO_LINK_SPEED    0x00010105
  136. #define OID_GEN_CO_VENDOR_ID     0x00010106
  137. #define OID_GEN_CO_VENDOR_DESCRIPTION    0x00010107
  138. #define OID_GEN_CO_DRIVER_VERSION    0x00010108
  139. #define OID_GEN_CO_PROTOCOL_OPTIONS 0x00010109
  140. #define OID_GEN_CO_MAC_OPTIONS   0x0001010A
  141. #define OID_GEN_CO_MEDIA_CONNECT_STATUS 0x0001010B
  142. #define OID_GEN_CO_VENDOR_DRIVER_VERSION 0x0001010C
  143. #define OID_GEN_CO_MINIMUM_LINK_SPEED 0x0001010D
  144. #define OID_GEN_CO_GET_TIME_CAPS 0x00010201
  145. #define OID_GEN_CO_GET_NETCARD_TIME 0x00010202
  146. //
  147. //      These are connection-oriented statistics OIDs.
  148. //
  149. #define OID_GEN_CO_XMIT_PDUS_OK 0x00020101
  150. #define OID_GEN_CO_RCV_PDUS_OK 0x00020102
  151. #define OID_GEN_CO_XMIT_PDUS_ERROR 0x00020103
  152. #define OID_GEN_CO_RCV_PDUS_ERROR 0x00020104
  153. #define OID_GEN_CO_RCV_PDUS_NO_BUFFER 0x00020105
  154. #define OID_GEN_CO_RCV_CRC_ERROR 0x00020201
  155. #define OID_GEN_CO_TRANSMIT_QUEUE_LENGTH 0x00020202
  156. #define OID_GEN_CO_BYTES_XMIT 0x00020203
  157. #define OID_GEN_CO_BYTES_RCV 0x00020204
  158. #define OID_GEN_CO_BYTES_XMIT_OUTSTANDING 0x00020205
  159. #define OID_GEN_CO_NETCARD_LOAD 0x00020206
  160. //
  161. // These are objects for Connection-oriented media call-managers and are not
  162. // valid for ndis drivers. Under construction.
  163. //
  164. #define OID_CO_ADD_PVC 0xFF000001
  165. #define OID_CO_DELETE_PVC 0xFF000002
  166. #define OID_CO_GET_CALL_INFORMATION 0xFF000003
  167. #define OID_CO_ADD_ADDRESS 0xFF000004
  168. #define OID_CO_DELETE_ADDRESS 0xFF000005
  169. #define OID_CO_GET_ADDRESSES 0xFF000006
  170. #define OID_CO_ADDRESS_CHANGE 0xFF000007
  171. #define OID_CO_SIGNALING_ENABLED 0xFF000008
  172. #define OID_CO_SIGNALING_DISABLED 0xFF000009
  173. //
  174. // 802.3 Objects (Ethernet)
  175. //
  176. #define OID_802_3_PERMANENT_ADDRESS   0x01010101
  177. #define OID_802_3_CURRENT_ADDRESS     0x01010102
  178. #define OID_802_3_MULTICAST_LIST 0x01010103
  179. #define OID_802_3_MAXIMUM_LIST_SIZE   0x01010104
  180. #define OID_802_3_MAC_OPTIONS   0x01010105
  181. //
  182. //
  183. #define NDIS_802_3_MAC_OPTION_PRIORITY 0x00000001
  184. #define OID_802_3_RCV_ERROR_ALIGNMENT     0x01020101
  185. #define OID_802_3_XMIT_ONE_COLLISION 0x01020102
  186. #define OID_802_3_XMIT_MORE_COLLISIONS    0x01020103
  187. #define OID_802_3_XMIT_DEFERRED   0x01020201
  188. #define OID_802_3_XMIT_MAX_COLLISIONS     0x01020202
  189. #define OID_802_3_RCV_OVERRUN     0x01020203
  190. #define OID_802_3_XMIT_UNDERRUN   0x01020204
  191. #define OID_802_3_XMIT_HEARTBEAT_FAILURE 0x01020205
  192. #define OID_802_3_XMIT_TIMES_CRS_LOST     0x01020206
  193. #define OID_802_3_XMIT_LATE_COLLISIONS    0x01020207
  194. //
  195. // 802.5 Objects (Token-Ring)
  196. //
  197. #define OID_802_5_PERMANENT_ADDRESS   0x02010101
  198. #define OID_802_5_CURRENT_ADDRESS     0x02010102
  199. #define OID_802_5_CURRENT_FUNCTIONAL 0x02010103
  200. #define OID_802_5_CURRENT_GROUP   0x02010104
  201. #define OID_802_5_LAST_OPEN_STATUS    0x02010105
  202. #define OID_802_5_CURRENT_RING_STATUS     0x02010106
  203. #define OID_802_5_CURRENT_RING_STATE 0x02010107
  204. #define OID_802_5_LINE_ERRORS     0x02020101
  205. #define OID_802_5_LOST_FRAMES     0x02020102
  206. #define OID_802_5_BURST_ERRORS    0x02020201
  207. #define OID_802_5_AC_ERRORS   0x02020202
  208. #define OID_802_5_ABORT_DELIMETERS    0x02020203
  209. #define OID_802_5_FRAME_COPIED_ERRORS     0x02020204
  210. #define OID_802_5_FREQUENCY_ERRORS    0x02020205
  211. #define OID_802_5_TOKEN_ERRORS    0x02020206
  212. #define OID_802_5_INTERNAL_ERRORS     0x02020207
  213. //
  214. // FDDI Objects
  215. //
  216. #define OID_FDDI_LONG_PERMANENT_ADDR 0x03010101
  217. #define OID_FDDI_LONG_CURRENT_ADDR    0x03010102
  218. #define OID_FDDI_LONG_MULTICAST_LIST 0x03010103
  219. #define OID_FDDI_LONG_MAX_LIST_SIZE   0x03010104
  220. #define OID_FDDI_SHORT_PERMANENT_ADDR     0x03010105
  221. #define OID_FDDI_SHORT_CURRENT_ADDR   0x03010106
  222. #define OID_FDDI_SHORT_MULTICAST_LIST     0x03010107
  223. #define OID_FDDI_SHORT_MAX_LIST_SIZE 0x03010108
  224. #define OID_FDDI_ATTACHMENT_TYPE 0x03020101
  225. #define OID_FDDI_UPSTREAM_NODE_LONG   0x03020102
  226. #define OID_FDDI_DOWNSTREAM_NODE_LONG     0x03020103
  227. #define OID_FDDI_FRAME_ERRORS     0x03020104
  228. #define OID_FDDI_FRAMES_LOST 0x03020105
  229. #define OID_FDDI_RING_MGT_STATE   0x03020106
  230. #define OID_FDDI_LCT_FAILURES     0x03020107
  231. #define OID_FDDI_LEM_REJECTS 0x03020108
  232. #define OID_FDDI_LCONNECTION_STATE    0x03020109
  233. #define OID_FDDI_SMT_STATION_ID   0x03030201
  234. #define OID_FDDI_SMT_OP_VERSION_ID    0x03030202
  235. #define OID_FDDI_SMT_HI_VERSION_ID    0x03030203
  236. #define OID_FDDI_SMT_LO_VERSION_ID    0x03030204
  237. #define OID_FDDI_SMT_MANUFACTURER_DATA    0x03030205
  238. #define OID_FDDI_SMT_USER_DATA    0x03030206
  239. #define OID_FDDI_SMT_MIB_VERSION_ID   0x03030207
  240. #define OID_FDDI_SMT_MAC_CT   0x03030208
  241. #define OID_FDDI_SMT_NON_MASTER_CT    0x03030209
  242. #define OID_FDDI_SMT_MASTER_CT    0x0303020A
  243. #define OID_FDDI_SMT_AVAILABLE_PATHS 0x0303020B
  244. #define OID_FDDI_SMT_CONFIG_CAPABILITIES 0x0303020C
  245. #define OID_FDDI_SMT_CONFIG_POLICY    0x0303020D
  246. #define OID_FDDI_SMT_CONNECTION_POLICY    0x0303020E
  247. #define OID_FDDI_SMT_T_NOTIFY     0x0303020F
  248. #define OID_FDDI_SMT_STAT_RPT_POLICY 0x03030210
  249. #define OID_FDDI_SMT_TRACE_MAX_EXPIRATION    0x03030211
  250. #define OID_FDDI_SMT_PORT_INDEXES     0x03030212
  251. #define OID_FDDI_SMT_MAC_INDEXES 0x03030213
  252. #define OID_FDDI_SMT_BYPASS_PRESENT   0x03030214
  253. #define OID_FDDI_SMT_ECM_STATE    0x03030215
  254. #define OID_FDDI_SMT_CF_STATE     0x03030216
  255. #define OID_FDDI_SMT_HOLD_STATE   0x03030217
  256. #define OID_FDDI_SMT_REMOTE_DISCONNECT_FLAG  0x03030218
  257. #define OID_FDDI_SMT_STATION_STATUS   0x03030219
  258. #define OID_FDDI_SMT_PEER_WRAP_FLAG   0x0303021A
  259. #define OID_FDDI_SMT_MSG_TIME_STAMP   0x0303021B
  260. #define OID_FDDI_SMT_TRANSITION_TIME_STAMP   0x0303021C
  261. #define OID_FDDI_SMT_SET_COUNT    0x0303021D
  262. #define OID_FDDI_SMT_LAST_SET_STATION_ID 0x0303021E
  263. #define OID_FDDI_MAC_FRAME_STATUS_FUNCTIONS  0x0303021F
  264. #define OID_FDDI_MAC_BRIDGE_FUNCTIONS     0x03030220
  265. #define OID_FDDI_MAC_T_MAX_CAPABILITY     0x03030221
  266. #define OID_FDDI_MAC_TVX_CAPABILITY   0x03030222
  267. #define OID_FDDI_MAC_AVAILABLE_PATHS 0x03030223
  268. #define OID_FDDI_MAC_CURRENT_PATH     0x03030224
  269. #define OID_FDDI_MAC_UPSTREAM_NBR     0x03030225
  270. #define OID_FDDI_MAC_DOWNSTREAM_NBR   0x03030226
  271. #define OID_FDDI_MAC_OLD_UPSTREAM_NBR     0x03030227
  272. #define OID_FDDI_MAC_OLD_DOWNSTREAM_NBR   0x03030228
  273. #define OID_FDDI_MAC_DUP_ADDRESS_TEST     0x03030229
  274. #define OID_FDDI_MAC_REQUESTED_PATHS 0x0303022A
  275. #define OID_FDDI_MAC_DOWNSTREAM_PORT_TYPE    0x0303022B
  276. #define OID_FDDI_MAC_INDEX    0x0303022C
  277. #define OID_FDDI_MAC_SMT_ADDRESS 0x0303022D
  278. #define OID_FDDI_MAC_LONG_GRP_ADDRESS     0x0303022E
  279. #define OID_FDDI_MAC_SHORT_GRP_ADDRESS    0x0303022F
  280. #define OID_FDDI_MAC_T_REQ    0x03030230
  281. #define OID_FDDI_MAC_T_NEG    0x03030231
  282. #define OID_FDDI_MAC_T_MAX    0x03030232
  283. #define OID_FDDI_MAC_TVX_VALUE    0x03030233
  284. #define OID_FDDI_MAC_T_PRI0   0x03030234
  285. #define OID_FDDI_MAC_T_PRI1   0x03030235
  286. #define OID_FDDI_MAC_T_PRI2   0x03030236
  287. #define OID_FDDI_MAC_T_PRI3   0x03030237
  288. #define OID_FDDI_MAC_T_PRI4   0x03030238
  289. #define OID_FDDI_MAC_T_PRI5   0x03030239
  290. #define OID_FDDI_MAC_T_PRI6   0x0303023A
  291. #define OID_FDDI_MAC_FRAME_CT     0x0303023B
  292. #define OID_FDDI_MAC_COPIED_CT    0x0303023C
  293. #define OID_FDDI_MAC_TRANSMIT_CT 0x0303023D
  294. #define OID_FDDI_MAC_TOKEN_CT     0x0303023E
  295. #define OID_FDDI_MAC_ERROR_CT     0x0303023F
  296. #define OID_FDDI_MAC_LOST_CT 0x03030240
  297. #define OID_FDDI_MAC_TVX_EXPIRED_CT   0x03030241
  298. #define OID_FDDI_MAC_NOT_COPIED_CT    0x03030242
  299. #define OID_FDDI_MAC_LATE_CT 0x03030243
  300. #define OID_FDDI_MAC_RING_OP_CT   0x03030244
  301. #define OID_FDDI_MAC_FRAME_ERROR_THRESHOLD   0x03030245
  302. #define OID_FDDI_MAC_FRAME_ERROR_RATIO    0x03030246
  303. #define OID_FDDI_MAC_NOT_COPIED_THRESHOLD    0x03030247
  304. #define OID_FDDI_MAC_NOT_COPIED_RATIO     0x03030248
  305. #define OID_FDDI_MAC_RMT_STATE    0x03030249
  306. #define OID_FDDI_MAC_DA_FLAG 0x0303024A
  307. #define OID_FDDI_MAC_UNDA_FLAG    0x0303024B
  308. #define OID_FDDI_MAC_FRAME_ERROR_FLAG     0x0303024C
  309. #define OID_FDDI_MAC_NOT_COPIED_FLAG 0x0303024D
  310. #define OID_FDDI_MAC_MA_UNITDATA_AVAILABLE   0x0303024E
  311. #define OID_FDDI_MAC_HARDWARE_PRESENT     0x0303024F
  312. #define OID_FDDI_MAC_MA_UNITDATA_ENABLE   0x03030250
  313. #define OID_FDDI_PATH_INDEX   0x03030251
  314. #define OID_FDDI_PATH_RING_LATENCY    0x03030252
  315. #define OID_FDDI_PATH_TRACE_STATUS    0x03030253
  316. #define OID_FDDI_PATH_SBA_PAYLOAD     0x03030254
  317. #define OID_FDDI_PATH_SBA_OVERHEAD    0x03030255
  318. #define OID_FDDI_PATH_CONFIGURATION   0x03030256
  319. #define OID_FDDI_PATH_T_R_MODE    0x03030257
  320. #define OID_FDDI_PATH_SBA_AVAILABLE   0x03030258
  321. #define OID_FDDI_PATH_TVX_LOWER_BOUND     0x03030259
  322. #define OID_FDDI_PATH_T_MAX_LOWER_BOUND   0x0303025A
  323. #define OID_FDDI_PATH_MAX_T_REQ   0x0303025B
  324. #define OID_FDDI_PORT_MY_TYPE     0x0303025C
  325. #define OID_FDDI_PORT_NEIGHBOR_TYPE   0x0303025D
  326. #define OID_FDDI_PORT_CONNECTION_POLICIES    0x0303025E
  327. #define OID_FDDI_PORT_MAC_INDICATED   0x0303025F
  328. #define OID_FDDI_PORT_CURRENT_PATH    0x03030260
  329. #define OID_FDDI_PORT_REQUESTED_PATHS     0x03030261
  330. #define OID_FDDI_PORT_MAC_PLACEMENT   0x03030262
  331. #define OID_FDDI_PORT_AVAILABLE_PATHS     0x03030263
  332. #define OID_FDDI_PORT_MAC_LOOP_TIME   0x03030264
  333. #define OID_FDDI_PORT_PMD_CLASS   0x03030265
  334. #define OID_FDDI_PORT_CONNECTION_CAPABILITIES 0x03030266
  335. #define OID_FDDI_PORT_INDEX   0x03030267
  336. #define OID_FDDI_PORT_MAINT_LS    0x03030268
  337. #define OID_FDDI_PORT_BS_FLAG     0x03030269
  338. #define OID_FDDI_PORT_PC_LS   0x0303026A
  339. #define OID_FDDI_PORT_EB_ERROR_CT     0x0303026B
  340. #define OID_FDDI_PORT_LCT_FAIL_CT     0x0303026C
  341. #define OID_FDDI_PORT_LER_ESTIMATE    0x0303026D
  342. #define OID_FDDI_PORT_LEM_REJECT_CT   0x0303026E
  343. #define OID_FDDI_PORT_LEM_CT 0x0303026F
  344. #define OID_FDDI_PORT_LER_CUTOFF 0x03030270
  345. #define OID_FDDI_PORT_LER_ALARM   0x03030271
  346. #define OID_FDDI_PORT_CONNNECT_STATE 0x03030272
  347. #define OID_FDDI_PORT_PCM_STATE   0x03030273
  348. #define OID_FDDI_PORT_PC_WITHHOLD     0x03030274
  349. #define OID_FDDI_PORT_LER_FLAG    0x03030275
  350. #define OID_FDDI_PORT_HARDWARE_PRESENT    0x03030276
  351. #define OID_FDDI_SMT_STATION_ACTION   0x03030277
  352. #define OID_FDDI_PORT_ACTION 0x03030278
  353. #define OID_FDDI_IF_DESCR     0x03030279
  354. #define OID_FDDI_IF_TYPE 0x0303027A
  355. #define OID_FDDI_IF_MTU   0x0303027B
  356. #define OID_FDDI_IF_SPEED     0x0303027C
  357. #define OID_FDDI_IF_PHYS_ADDRESS 0x0303027D
  358. #define OID_FDDI_IF_ADMIN_STATUS 0x0303027E
  359. #define OID_FDDI_IF_OPER_STATUS   0x0303027F
  360. #define OID_FDDI_IF_LAST_CHANGE   0x03030280
  361. #define OID_FDDI_IF_IN_OCTETS     0x03030281
  362. #define OID_FDDI_IF_IN_UCAST_PKTS     0x03030282
  363. #define OID_FDDI_IF_IN_NUCAST_PKTS    0x03030283
  364. #define OID_FDDI_IF_IN_DISCARDS   0x03030284
  365. #define OID_FDDI_IF_IN_ERRORS     0x03030285
  366. #define OID_FDDI_IF_IN_UNKNOWN_PROTOS     0x03030286
  367. #define OID_FDDI_IF_OUT_OCTETS    0x03030287
  368. #define OID_FDDI_IF_OUT_UCAST_PKTS    0x03030288
  369. #define OID_FDDI_IF_OUT_NUCAST_PKTS   0x03030289
  370. #define OID_FDDI_IF_OUT_DISCARDS 0x0303028A
  371. #define OID_FDDI_IF_OUT_ERRORS    0x0303028B
  372. #define OID_FDDI_IF_OUT_QLEN 0x0303028C
  373. #define OID_FDDI_IF_SPECIFIC 0x0303028D
  374. //
  375. // WAN objects
  376. //
  377. #define OID_WAN_PERMANENT_ADDRESS     0x04010101
  378. #define OID_WAN_CURRENT_ADDRESS   0x04010102
  379. #define OID_WAN_QUALITY_OF_SERVICE    0x04010103
  380. #define OID_WAN_PROTOCOL_TYPE     0x04010104
  381. #define OID_WAN_MEDIUM_SUBTYPE    0x04010105
  382. #define OID_WAN_HEADER_FORMAT     0x04010106
  383. #define OID_WAN_GET_INFO 0x04010107
  384. #define OID_WAN_SET_LINK_INFO     0x04010108
  385. #define OID_WAN_GET_LINK_INFO     0x04010109
  386. #define OID_WAN_LINE_COUNT    0x0401010A
  387. #define OID_WAN_GET_BRIDGE_INFO   0x0401020A
  388. #define OID_WAN_SET_BRIDGE_INFO   0x0401020B
  389. #define OID_WAN_GET_COMP_INFO     0x0401020C
  390. #define OID_WAN_SET_COMP_INFO     0x0401020D
  391. #define OID_WAN_GET_STATS_INFO    0x0401020E
  392. //
  393. // LocalTalk objects
  394. //
  395. #define OID_LTALK_CURRENT_NODE_ID     0x05010102
  396. #define OID_LTALK_IN_BROADCASTS   0x05020101
  397. #define OID_LTALK_IN_LENGTH_ERRORS    0x05020102
  398. #define OID_LTALK_OUT_NO_HANDLERS     0x05020201
  399. #define OID_LTALK_COLLISIONS 0x05020202
  400. #define OID_LTALK_DEFERS 0x05020203
  401. #define OID_LTALK_NO_DATA_ERRORS 0x05020204
  402. #define OID_LTALK_RANDOM_CTS_ERRORS   0x05020205
  403. #define OID_LTALK_FCS_ERRORS 0x05020206
  404. //
  405. // Arcnet objects
  406. //
  407. #define OID_ARCNET_PERMANENT_ADDRESS 0x06010101
  408. #define OID_ARCNET_CURRENT_ADDRESS    0x06010102
  409. #define OID_ARCNET_RECONFIGURATIONS   0x06020201
  410. //
  411. // TAPI objects
  412. //
  413. #define OID_TAPI_ACCEPT   0x07030101
  414. #define OID_TAPI_ANSWER   0x07030102
  415. #define OID_TAPI_CLOSE    0x07030103
  416. #define OID_TAPI_CLOSE_CALL   0x07030104
  417. #define OID_TAPI_CONDITIONAL_MEDIA_DETECTION 0x07030105
  418. #define OID_TAPI_CONFIG_DIALOG    0x07030106
  419. #define OID_TAPI_DEV_SPECIFIC     0x07030107
  420. #define OID_TAPI_DIAL     0x07030108
  421. #define OID_TAPI_DROP     0x07030109
  422. #define OID_TAPI_GET_ADDRESS_CAPS     0x0703010A
  423. #define OID_TAPI_GET_ADDRESS_ID   0x0703010B
  424. #define OID_TAPI_GET_ADDRESS_STATUS   0x0703010C
  425. #define OID_TAPI_GET_CALL_ADDRESS_ID 0x0703010D
  426. #define OID_TAPI_GET_CALL_INFO    0x0703010E
  427. #define OID_TAPI_GET_CALL_STATUS 0x0703010F
  428. #define OID_TAPI_GET_DEV_CAPS     0x07030110
  429. #define OID_TAPI_GET_DEV_CONFIG   0x07030111
  430. #define OID_TAPI_GET_EXTENSION_ID     0x07030112
  431. #define OID_TAPI_GET_ID   0x07030113
  432. #define OID_TAPI_GET_LINE_DEV_STATUS 0x07030114
  433. #define OID_TAPI_MAKE_CALL    0x07030115
  434. #define OID_TAPI_NEGOTIATE_EXT_VERSION    0x07030116
  435. #define OID_TAPI_OPEN     0x07030117
  436. #define OID_TAPI_PROVIDER_INITIALIZE 0x07030118
  437. #define OID_TAPI_PROVIDER_SHUTDOWN    0x07030119
  438. #define OID_TAPI_SECURE_CALL 0x0703011A
  439. #define OID_TAPI_SELECT_EXT_VERSION   0x0703011B
  440. #define OID_TAPI_SEND_USER_USER_INFO 0x0703011C
  441. #define OID_TAPI_SET_APP_SPECIFIC     0x0703011D
  442. #define OID_TAPI_SET_CALL_PARAMS 0x0703011E
  443. #define OID_TAPI_SET_DEFAULT_MEDIA_DETECTION 0x0703011F
  444. #define OID_TAPI_SET_DEV_CONFIG   0x07030120
  445. #define OID_TAPI_SET_MEDIA_MODE   0x07030121
  446. #define OID_TAPI_SET_STATUS_MESSAGES 0x07030122
  447. //
  448. // ATM Connection Oriented Ndis
  449. //
  450. #define OID_ATM_SUPPORTED_VC_RATES 0x08010101
  451. #define OID_ATM_SUPPORTED_SERVICE_CATEGORY 0x08010102
  452. #define OID_ATM_SUPPORTED_AAL_TYPES 0x08010103
  453. #define OID_ATM_HW_CURRENT_ADDRESS 0x08010104
  454. #define OID_ATM_MAX_ACTIVE_VCS 0x08010105
  455. #define OID_ATM_MAX_ACTIVE_VCI_BITS 0x08010106
  456. #define OID_ATM_MAX_ACTIVE_VPI_BITS 0x08010107
  457. #define OID_ATM_MAX_AAL0_PACKET_SIZE 0x08010108
  458. #define OID_ATM_MAX_AAL1_PACKET_SIZE 0x08010109
  459. #define OID_ATM_MAX_AAL34_PACKET_SIZE 0x0801010A
  460. #define OID_ATM_MAX_AAL5_PACKET_SIZE 0x0801010B
  461. #define OID_ATM_SIGNALING_VPIVCI 0x08010201
  462. #define OID_ATM_ASSIGNED_VPI 0x08010202
  463. #define OID_ATM_ACQUIRE_ACCESS_NET_RESOURCES 0x08010203
  464. #define OID_ATM_RELEASE_ACCESS_NET_RESOURCES 0x08010204
  465. #define OID_ATM_ILMI_VPIVCI 0x08010205
  466. #define OID_ATM_DIGITAL_BROADCAST_VPIVCI 0x08010206
  467. #define OID_ATM_GET_NEAREST_FLOW 0x08010207
  468. #define OID_ATM_ALIGNMENT_REQUIRED 0x08010208
  469. //
  470. //      ATM specific statistics OIDs.
  471. //
  472. #define OID_ATM_RCV_CELLS_OK 0x08020101
  473. #define OID_ATM_XMIT_CELLS_OK 0x08020102
  474. #define OID_ATM_RCV_CELLS_DROPPED 0x08020103
  475. #define OID_ATM_RCV_INVALID_VPI_VCI 0x08020201
  476. #define OID_ATM_CELLS_HEC_ERROR 0x08020202
  477. #define OID_ATM_RCV_REASSEMBLY_ERROR 0x08020203
  478. //
  479. // PCCA (Wireless) object
  480. //
  481. //
  482. // All WirelessWAN devices must support the following OIDs
  483. //
  484. #define OID_WW_GEN_NETWORK_TYPES_SUPPORTED 0x09010101
  485. #define OID_WW_GEN_NETWORK_TYPE_IN_USE 0x09010102
  486. #define OID_WW_GEN_HEADER_FORMATS_SUPPORTED 0x09010103
  487. #define OID_WW_GEN_HEADER_FORMAT_IN_USE 0x09010104
  488. #define OID_WW_GEN_INDICATION_REQUEST 0x09010105
  489. #define OID_WW_GEN_DEVICE_INFO 0x09010106
  490. #define OID_WW_GEN_OPERATION_MODE 0x09010107
  491. #define OID_WW_GEN_LOCK_STATUS 0x09010108
  492. #define OID_WW_GEN_DISABLE_TRANSMITTER 0x09010109
  493. #define OID_WW_GEN_NETWORK_ID 0x0901010A
  494. #define OID_WW_GEN_PERMANENT_ADDRESS 0x0901010B
  495. #define OID_WW_GEN_CURRENT_ADDRESS 0x0901010C
  496. #define OID_WW_GEN_SUSPEND_DRIVER 0x0901010D
  497. #define OID_WW_GEN_BASESTATION_ID 0x0901010E
  498. #define OID_WW_GEN_CHANNEL_ID 0x0901010F
  499. #define OID_WW_GEN_ENCRYPTION_SUPPORTED 0x09010110
  500. #define OID_WW_GEN_ENCRYPTION_IN_USE 0x09010111
  501. #define OID_WW_GEN_ENCRYPTION_STATE 0x09010112
  502. #define OID_WW_GEN_CHANNEL_QUALITY 0x09010113
  503. #define OID_WW_GEN_REGISTRATION_STATUS 0x09010114
  504. #define OID_WW_GEN_RADIO_LINK_SPEED 0x09010115
  505. #define OID_WW_GEN_LATENCY 0x09010116
  506. #define OID_WW_GEN_BATTERY_LEVEL 0x09010117
  507. #define OID_WW_GEN_EXTERNAL_POWER 0x09010118
  508. //
  509. // Network Dependent OIDs - Mobitex:
  510. //
  511. #define OID_WW_MBX_SUBADDR 0x09050101
  512. // OID 0x09050102 is reserved and may not be used
  513. #define OID_WW_MBX_FLEXLIST 0x09050103
  514. #define OID_WW_MBX_GROUPLIST 0x09050104
  515. #define OID_WW_MBX_TRAFFIC_AREA 0x09050105
  516. #define OID_WW_MBX_LIVE_DIE 0x09050106
  517. #define OID_WW_MBX_TEMP_DEFAULTLIST 0x09050107
  518. //
  519. // Network Dependent OIDs - Pinpoint:
  520. //
  521. #define OID_WW_PIN_LOC_AUTHORIZE 0x09090101
  522. #define OID_WW_PIN_LAST_LOCATION 0x09090102
  523. #define OID_WW_PIN_LOC_FIX 0x09090103
  524. //
  525. // Network Dependent - CDPD:
  526. //
  527. #define OID_WW_CDPD_SPNI 0x090D0101
  528. #define OID_WW_CDPD_WASI 0x090D0102
  529. #define OID_WW_CDPD_AREA_COLOR 0x090D0103
  530. #define OID_WW_CDPD_TX_POWER_LEVEL 0x090D0104
  531. #define OID_WW_CDPD_EID 0x090D0105
  532. #define OID_WW_CDPD_HEADER_COMPRESSION 0x090D0106
  533. #define OID_WW_CDPD_DATA_COMPRESSION 0x090D0107
  534. #define OID_WW_CDPD_CHANNEL_SELECT 0x090D0108
  535. #define OID_WW_CDPD_CHANNEL_STATE 0x090D0109
  536. #define OID_WW_CDPD_NEI 0x090D010A
  537. #define OID_WW_CDPD_NEI_STATE 0x090D010B
  538. #define OID_WW_CDPD_SERVICE_PROVIDER_IDENTIFIER 0x090D010C
  539. #define OID_WW_CDPD_SLEEP_MODE 0x090D010D
  540. #define OID_WW_CDPD_CIRCUIT_SWITCHED 0x090D010E
  541. #define OID_WW_CDPD_TEI 0x090D010F
  542. #define OID_WW_CDPD_RSSI 0x090D0110
  543. //
  544. // Network Dependent - Ardis:
  545. //
  546. #define OID_WW_ARD_SNDCP 0x09110101
  547. #define OID_WW_ARD_TMLY_MSG 0x09110102
  548. #define OID_WW_ARD_DATAGRAM 0x09110103
  549. //
  550. // Network Dependent - DataTac:
  551. //
  552. #define OID_WW_TAC_COMPRESSION 0x09150101
  553. #define OID_WW_TAC_SET_CONFIG 0x09150102
  554. #define OID_WW_TAC_GET_STATUS 0x09150103
  555. #define OID_WW_TAC_USER_HEADER 0x09150104
  556. //
  557. // Network Dependent - Metricom:
  558. //
  559. #define OID_WW_MET_FUNCTION 0x09190101
  560. //
  561. // IRDA objects
  562. //
  563. #define OID_IRDA_RECEIVING 0x0A010100
  564. #define OID_IRDA_TURNAROUND_TIME 0x0A010101
  565. #define OID_IRDA_SUPPORTED_SPEEDS 0x0A010102
  566. #define OID_IRDA_LINK_SPEED 0x0A010103
  567. #define OID_IRDA_MEDIA_BUSY 0x0A010104
  568. #define OID_IRDA_EXTRA_RCV_BOFS 0x0A010200
  569. #define OID_IRDA_RATE_SNIFF 0x0A010201
  570. #define OID_IRDA_UNICAST_LIST 0x0A010202
  571. #define OID_IRDA_MAX_UNICAST_LIST_SIZE 0x0A010203
  572. #define OID_IRDA_MAX_RECEIVE_WINDOW_SIZE 0x0A010204
  573. #define OID_IRDA_MAX_SEND_WINDOW_SIZE 0x0A010205
  574. //
  575. // Medium the Ndis Driver is running on (OID_GEN_MEDIA_SUPPORTED/
  576. // OID_GEN_MEDIA_IN_USE).
  577. //
  578. typedef enum _NDIS_MEDIUM {
  579.     NdisMedium802_3,
  580.     NdisMedium802_5,
  581.     NdisMediumFddi,
  582.     NdisMediumWan,
  583.     NdisMediumLocalTalk,
  584.     NdisMediumDix, // defined for convenience, not a real medium
  585.      NdisMediumArcnetRaw,
  586.     NdisMediumArcnet878_2,
  587.     NdisMediumAtm,
  588.     NdisMediumWirelessWan,
  589.     NdisMediumIrda,
  590.     NdisMediumMax // Not a real medium, defined as an upper-bound
  591. } NDIS_MEDIUM, *PNDIS_MEDIUM;
  592. //
  593. // Hardware status codes (OID_GEN_HARDWARE_STATUS).
  594. //
  595. typedef enum _NDIS_HARDWARE_STATUS {
  596.     NdisHardwareStatusReady,
  597.     NdisHardwareStatusInitializing,
  598.     NdisHardwareStatusReset,
  599.     NdisHardwareStatusClosing,
  600.     NdisHardwareStatusNotReady
  601. } NDIS_HARDWARE_STATUS, *PNDIS_HARDWARE_STATUS;
  602. //
  603. // this is the type passed in the OID_GEN_GET_TIME_CAPS request
  604. //
  605. typedef struct _GEN_GET_TIME_CAPS {
  606.     ULONG Flags; // Bits defined below
  607.     ULONG ClockPrecision;
  608. } GEN_GET_TIME_CAPS, *PGEN_GET_TIME_CAPS;
  609. #define READABLE_LOCAL_CLOCK 0x000000001
  610. #define CLOCK_NETWORK_DERIVED 0x000000002
  611. #define CLOCK_PRECISION 0x000000004
  612. #define RECEIVE_TIME_INDICATION_CAPABLE 0x000000008
  613. #define TIMED_SEND_CAPABLE 0x000000010
  614. #define TIME_STAMP_CAPABLE 0x000000020
  615. //
  616. //
  617. // this is the type passed in the OID_GEN_GET_NETCARD_TIME request
  618. //
  619. typedef struct _GEN_GET_NETCARD_TIME {
  620.     ULONG ReadTime;
  621. } GEN_GET_NETCARD_TIME, *PGEN_GET_NETCARD_TIME;
  622. //
  623. // Defines the attachment types for FDDI (OID_FDDI_ATTACHMENT_TYPE).
  624. //
  625. typedef enum _NDIS_FDDI_ATTACHMENT_TYPE {
  626.     NdisFddiTypeIsolated = 1,
  627.     NdisFddiTypeLocalA,
  628.     NdisFddiTypeLocalB,
  629.     NdisFddiTypeLocalAB,
  630.     NdisFddiTypeLocalS,
  631.     NdisFddiTypeWrapA,
  632.     NdisFddiTypeWrapB,
  633.     NdisFddiTypeWrapAB,
  634.     NdisFddiTypeWrapS,
  635.     NdisFddiTypeCWrapA,
  636.     NdisFddiTypeCWrapB,
  637.     NdisFddiTypeCWrapS,
  638.     NdisFddiTypeThrough
  639. } NDIS_FDDI_ATTACHMENT_TYPE, *PNDIS_FDDI_ATTACHMENT_TYPE;
  640. //
  641. // Defines the ring management states for FDDI (OID_FDDI_RING_MGT_STATE).
  642. //
  643. typedef enum _NDIS_FDDI_RING_MGT_STATE {
  644.     NdisFddiRingIsolated = 1,
  645.     NdisFddiRingNonOperational,
  646.     NdisFddiRingOperational,
  647.     NdisFddiRingDetect,
  648.     NdisFddiRingNonOperationalDup,
  649.     NdisFddiRingOperationalDup,
  650.     NdisFddiRingDirected,
  651.     NdisFddiRingTrace
  652. } NDIS_FDDI_RING_MGT_STATE, *PNDIS_FDDI_RING_MGT_STATE;
  653. //
  654. // Defines the Lconnection state for FDDI (OID_FDDI_LCONNECTION_STATE).
  655. //
  656. typedef enum _NDIS_FDDI_LCONNECTION_STATE {
  657.     NdisFddiStateOff = 1,
  658.     NdisFddiStateBreak,
  659.     NdisFddiStateTrace,
  660.     NdisFddiStateConnect,
  661.     NdisFddiStateNext,
  662.     NdisFddiStateSignal,
  663.     NdisFddiStateJoin,
  664.     NdisFddiStateVerify,
  665.     NdisFddiStateActive,
  666.     NdisFddiStateMaintenance
  667. } NDIS_FDDI_LCONNECTION_STATE, *PNDIS_FDDI_LCONNECTION_STATE;
  668. //
  669. // Defines the medium subtypes for WAN medium (OID_WAN_MEDIUM_SUBTYPE).
  670. //
  671. typedef enum _NDIS_WAN_MEDIUM_SUBTYPE {
  672.     NdisWanMediumHub,
  673.     NdisWanMediumX_25,
  674.     NdisWanMediumIsdn,
  675.     NdisWanMediumSerial,
  676.     NdisWanMediumFrameRelay,
  677.     NdisWanMediumAtm,
  678.     NdisWanMediumSonet,
  679.     NdisWanMediumSW56K
  680. } NDIS_WAN_MEDIUM_SUBTYPE, *PNDIS_WAN_MEDIUM_SUBTYPE;
  681. //
  682. // Defines the header format for WAN medium (OID_WAN_HEADER_FORMAT).
  683. //
  684. typedef enum _NDIS_WAN_HEADER_FORMAT {
  685.     NdisWanHeaderNative, // src/dest based on subtype, followed by NLPID
  686.      NdisWanHeaderEthernet // emulation of ethernet header
  687. } NDIS_WAN_HEADER_FORMAT, *PNDIS_WAN_HEADER_FORMAT;
  688. //
  689. // Defines the line quality on a WAN line (OID_WAN_QUALITY_OF_SERVICE).
  690. //
  691. typedef enum _NDIS_WAN_QUALITY {
  692.     NdisWanRaw,
  693.     NdisWanErrorControl,
  694.     NdisWanReliable
  695. } NDIS_WAN_QUALITY, *PNDIS_WAN_QUALITY;
  696. //
  697. // Defines the state of a token-ring adapter (OID_802_5_CURRENT_RING_STATE).
  698. //
  699. typedef enum _NDIS_802_5_RING_STATE {
  700.     NdisRingStateOpened = 1,
  701.     NdisRingStateClosed,
  702.     NdisRingStateOpening,
  703.     NdisRingStateClosing,
  704.     NdisRingStateOpenFailure,
  705.     NdisRingStateRingFailure
  706. } NDIS_802_5_RING_STATE, *PNDIS_802_5_RING_STATE;
  707. //
  708. // Defines the state of the LAN media
  709. //
  710. typedef enum _NDIS_MEDIA_STATE {
  711.     NdisMediaStateConnected,
  712.     NdisMediaStateDisconnected
  713. } NDIS_MEDIA_STATE, *PNDIS_MEDIA_STATE;
  714. //
  715. // The following is set on a per-packet basis as OOB data with NdisClass802_3Priority
  716. //
  717. typedef ULONG Priority_802_3; // 0-7 priority levels
  718. //
  719. //      The following structure is used to query OID_GEN_CO_LINK_SPEED and
  720. //      OID_GEN_CO_MINIMUM_LINK_SPEED.  The first OID will return the current
  721. //      link speed of the adapter.  The second will return the minimum link speed
  722. //      the adapter is capable of.
  723. //
  724. typedef struct _NDIS_CO_LINK_SPEED {
  725.     ULONG Outbound;
  726.     ULONG Inbound;
  727. } NDIS_CO_LINK_SPEED,
  728. *PNDIS_CO_LINK_SPEED;
  729. //
  730. // Ndis Packet Filter Bits (OID_GEN_CURRENT_PACKET_FILTER).
  731. //
  732. #define NDIS_PACKET_TYPE_DIRECTED 0x0001
  733. #define NDIS_PACKET_TYPE_MULTICAST 0x0002
  734. #define NDIS_PACKET_TYPE_ALL_MULTICAST 0x0004
  735. #define NDIS_PACKET_TYPE_BROADCAST 0x0008
  736. #define NDIS_PACKET_TYPE_SOURCE_ROUTING 0x0010
  737. #define NDIS_PACKET_TYPE_PROMISCUOUS 0x0020
  738. #define NDIS_PACKET_TYPE_SMT 0x0040
  739. #define NDIS_PACKET_TYPE_ALL_LOCAL 0x0080
  740. #define NDIS_PACKET_TYPE_MAC_FRAME 0x8000
  741. #define NDIS_PACKET_TYPE_FUNCTIONAL 0x4000
  742. #define NDIS_PACKET_TYPE_ALL_FUNCTIONAL 0x2000
  743. #define NDIS_PACKET_TYPE_GROUP 0x1000
  744. //
  745. // Ndis Token-Ring Ring Status Codes (OID_802_5_CURRENT_RING_STATUS).
  746. //
  747. #define NDIS_RING_SIGNAL_LOSS 0x00008000
  748. #define NDIS_RING_HARD_ERROR 0x00004000
  749. #define NDIS_RING_SOFT_ERROR 0x00002000
  750. #define NDIS_RING_TRANSMIT_BEACON 0x00001000
  751. #define NDIS_RING_LOBE_WIRE_FAULT 0x00000800
  752. #define NDIS_RING_AUTO_REMOVAL_ERROR 0x00000400
  753. #define NDIS_RING_REMOVE_RECEIVED 0x00000200
  754. #define NDIS_RING_COUNTER_OVERFLOW 0x00000100
  755. #define NDIS_RING_SINGLE_STATION 0x00000080
  756. #define NDIS_RING_RING_RECOVERY 0x00000040
  757. //
  758. // Ndis protocol option bits (OID_GEN_PROTOCOL_OPTIONS).
  759. //
  760. #define NDIS_PROT_OPTION_ESTIMATED_LENGTH    0x00000001
  761. #define NDIS_PROT_OPTION_NO_LOOPBACK 0x00000002
  762. #define NDIS_PROT_OPTION_NO_RSVD_ON_RCVPKT 0x00000004
  763. //
  764. // Ndis MAC option bits (OID_GEN_MAC_OPTIONS).
  765. //
  766. #define NDIS_MAC_OPTION_COPY_LOOKAHEAD_DATA  0x00000001
  767. #define NDIS_MAC_OPTION_RECEIVE_SERIALIZED   0x00000002
  768. #define NDIS_MAC_OPTION_TRANSFERS_NOT_PEND   0x00000004
  769. #define NDIS_MAC_OPTION_NO_LOOPBACK 0x00000008
  770. #define NDIS_MAC_OPTION_FULL_DUPLEX 0x00000010
  771. #define NDIS_MAC_OPTION_EOTX_INDICATION 0x00000020
  772. #define NDIS_MAC_OPTION_RESERVED 0x80000000
  773. //
  774. //      NDIS MAC option bits for OID_GEN_CO_MAC_OPTIONS.
  775. //
  776. #define NDIS_CO_MAC_OPTION_DYNAMIC_LINK_SPEED 0x00000001
  777. #ifdef IRDA
  778. //
  779. // The following is set on a per-packet basis as OOB data with NdisClassIrdaPacketInfo
  780. // This is the per-packet info specified on a per-packet basis
  781. //
  782. typedef struct _NDIS_IRDA_PACKET_INFO {
  783.     UINT ExtraBOFs;
  784.     UINT MinTurnAroundTime;
  785. } NDIS_IRDA_PACKET_INFO, *PNDIS_IRDA_PACKET_INFO;
  786. #endif
  787. #ifdef  WIRELESS_WAN
  788. //
  789. // Wireless WAN structure definitions
  790. //
  791. //
  792. // currently defined Wireless network subtypes
  793. //
  794. typedef enum _NDIS_WW_NETWORK_TYPE {
  795.     NdisWWGeneric,
  796.     NdisWWMobitex,
  797.     NdisWWPinpoint,
  798.     NdisWWCDPD,
  799.     NdisWWArdis,
  800.     NdisWWDataTAC,
  801.     NdisWWMetricom,
  802.     NdisWWGSM,
  803.     NdisWWCDMA,
  804.     NdisWWTDMA,
  805.     NdisWWAMPS,
  806.     NdisWWInmarsat,
  807.     NdisWWpACT
  808. } NDIS_WW_NETWORK_TYPE;
  809. //
  810. // currently defined header formats
  811. //
  812. typedef enum _NDIS_WW_HEADER_FORMAT {
  813.     NdisWWDIXEthernetFrames,
  814.     NdisWWMPAKFrames,
  815.     NdisWWRDLAPFrames,
  816.     NdisWWMDC4800Frames
  817. } NDIS_WW_HEADER_FORMAT;
  818. //
  819. // currently defined encryption types
  820. //
  821. typedef enum _NDIS_WW_ENCRYPTION_TYPE {
  822.     NdisWWUnknownEncryption = -1,
  823.     NdisWWNoEncryption,
  824.     NdisWWDefaultEncryption
  825. } NDIS_WW_ENCRYPTION_TYPE, *PNDIS_WW_ENCRYPTION_TYPE;
  826. //
  827. // OID_WW_GEN_INDICATION_REQUEST
  828. //
  829. typedef struct _NDIS_WW_INDICATION_REQUEST {
  830.     NDIS_OID Oid; // IN
  831.     UINT uIndicationFlag; // IN
  832.     UINT uApplicationToken; // IN OUT
  833.     HANDLE hIndicationHandle; // IN OUT
  834.     INT iPollingInterval; // IN OUT
  835.     NDIS_VAR_DATA_DESC InitialValue; // IN OUT
  836.     NDIS_VAR_DATA_DESC OIDIndicationValue; // OUT - only valid after indication
  837.     NDIS_VAR_DATA_DESC TriggerValue; // IN
  838. } NDIS_WW_INDICATION_REQUEST, *PNDIS_WW_INDICATION_REQUEST;
  839. #define OID_INDICATION_REQUEST_ENABLE 0x0000
  840. #define OID_INDICATION_REQUEST_CANCEL 0x0001
  841. //
  842. // OID_WW_GEN_DEVICE_INFO
  843. //
  844. typedef struct _WW_DEVICE_INFO {
  845.     NDIS_VAR_DATA_DESC Manufacturer;
  846.     NDIS_VAR_DATA_DESC ModelNum;
  847.     NDIS_VAR_DATA_DESC SWVersionNum;
  848.     NDIS_VAR_DATA_DESC SerialNum;
  849. } WW_DEVICE_INFO, *PWW_DEVICE_INFO;
  850. //
  851. // OID_WW_GEN_OPERATION_MODE
  852. //
  853. typedef INT WW_OPERATION_MODE; //  0 = Normal mode
  854. //  1 = Power saving mode
  855. // -1 = mode unknown
  856. //
  857. // OID_WW_GEN_LOCK_STATUS
  858. //
  859. typedef INT WW_LOCK_STATUS; //  0 = unlocked
  860. //  1 = locked
  861. // -1 = unknown lock status
  862. //
  863. // OID_WW_GEN_DISABLE_TRANSMITTER
  864. //
  865. typedef INT WW_DISABLE_TRANSMITTER; //  0 = transmitter enabled
  866. //  1 = transmitter disabled
  867. // -1 = unknown value
  868. //
  869. // OID_WW_GEN_NETWORK_ID
  870. //
  871. typedef NDIS_VAR_DATA_DESC WW_NETWORK_ID;
  872. //
  873. // OID_WW_GEN_PERMANENT_ADDRESS 
  874. //
  875. typedef NDIS_VAR_DATA_DESC WW_PERMANENT_ADDRESS;
  876. //
  877. // OID_WW_GEN_CURRENT_ADDRESS   
  878. //
  879. typedef struct _WW_CURRENT_ADDRESS {
  880.     NDIS_WW_HEADER_FORMAT Format;
  881.     NDIS_VAR_DATA_DESC Address;
  882. } WW_CURRENT_ADDRESS, *PWW_CURRENT_ADDRESS;
  883. //
  884. // OID_WW_GEN_SUSPEND_DRIVER
  885. //
  886. typedef BOOLEAN WW_SUSPEND_DRIVER; // 0 = driver operational
  887. // 1 = driver suspended
  888. //
  889. // OID_WW_GEN_BASESTATION_ID
  890. //
  891. typedef NDIS_VAR_DATA_DESC WW_BASESTATION_ID;
  892. //
  893. // OID_WW_GEN_CHANNEL_ID
  894. //
  895. typedef NDIS_VAR_DATA_DESC WW_CHANNEL_ID;
  896. //
  897. // OID_WW_GEN_ENCRYPTION_STATE
  898. //
  899. typedef BOOLEAN WW_ENCRYPTION_STATE; // 0 = if encryption is disabled
  900. // 1 = if encryption is enabled
  901. //
  902. // OID_WW_GEN_CHANNEL_QUALITY
  903. //
  904. typedef INT WW_CHANNEL_QUALITY; //  0 = Not in network contact,
  905. // 1-100 = Quality of Channel (100 is highest quality).
  906. // -1 = channel quality is unknown
  907. //
  908. // OID_WW_GEN_REGISTRATION_STATUS
  909. //
  910. typedef INT WW_REGISTRATION_STATUS; //  0 = Registration denied
  911. //  1 = Registration pending
  912. //  2 = Registered
  913. // -1 = unknown registration status
  914. //
  915. // OID_WW_GEN_RADIO_LINK_SPEED
  916. //
  917. typedef UINT WW_RADIO_LINK_SPEED; // Bits per second.
  918. //
  919. // OID_WW_GEN_LATENCY
  920. //
  921. typedef UINT WW_LATENCY; //  milliseconds
  922. //
  923. // OID_WW_GEN_BATTERY_LEVEL
  924. //
  925. typedef INT WW_BATTERY_LEVEL; //  0-100 = battery level in percentage
  926. //      (100=fully charged)
  927. // -1 = unknown battery level.
  928. //
  929. // OID_WW_GEN_EXTERNAL_POWER
  930. //
  931. typedef INT WW_EXTERNAL_POWER; //   0 = no external power connected
  932. //   1 = external power connected
  933. //  -1 = unknown
  934. //
  935. // OID_WW_MET_FUNCTION
  936. //
  937. typedef NDIS_VAR_DATA_DESC WW_MET_FUNCTION;
  938. //
  939. // OID_WW_TAC_COMPRESSION
  940. //
  941. typedef BOOLEAN WW_TAC_COMPRESSION; // Determines whether or not network level compression
  942. // is being used.
  943. //
  944. // OID_WW_TAC_SET_CONFIG
  945. //
  946. typedef struct _WW_TAC_SETCONFIG {
  947.     NDIS_VAR_DATA_DESC RCV_MODE;
  948.     NDIS_VAR_DATA_DESC TX_CONTROL;
  949.     NDIS_VAR_DATA_DESC RX_CONTROL;
  950.     NDIS_VAR_DATA_DESC FLOW_CONTROL;
  951.     NDIS_VAR_DATA_DESC RESET_CNF;
  952.     NDIS_VAR_DATA_DESC READ_CNF;
  953. } WW_TAC_SETCONFIG, *PWW_TAC_SETCONFIG;
  954. //
  955. // OID_WW_TAC_GET_STATUS
  956. //
  957. typedef struct _WW_TAC_GETSTATUS {
  958.     BOOLEAN Action; // Set = Execute command.
  959.     NDIS_VAR_DATA_DESC Command;
  960.     NDIS_VAR_DATA_DESC Option;
  961.     NDIS_VAR_DATA_DESC Response; // The response to the requested command
  962.     // - max. length of string is 256 octets.
  963. } WW_TAC_GETSTATUS, *PWW_TAC_GETSTATUS;
  964. //
  965. // OID_WW_TAC_USER_HEADER
  966. //
  967. typedef NDIS_VAR_DATA_DESC WW_TAC_USERHEADER; // This will hold the user header - Max. 64 octets.
  968. //
  969. // OID_WW_ARD_SNDCP
  970. //
  971. typedef struct _WW_ARD_SNDCP {
  972.     NDIS_VAR_DATA_DESC Version; // The version of SNDCP protocol supported.
  973.     INT BlockSize; // The block size used for SNDCP
  974.     INT Window; // The window size used in SNDCP
  975. } WW_ARD_SNDCP, *PWW_ARD_SNDCP;
  976. //
  977. // OID_WW_ARD_TMLY_MSG
  978. //
  979. typedef BOOLEAN WW_ARD_CHANNEL_STATUS; // The current status of the inbound RF Channel.
  980. //
  981. // OID_WW_ARD_DATAGRAM
  982. //
  983. typedef struct _WW_ARD_DATAGRAM {
  984.     BOOLEAN LoadLevel; // Byte that contains the load level info.
  985.     INT SessionTime; // Datagram session time remaining.
  986.     NDIS_VAR_DATA_DESC HostAddr; // Host address.
  987.     NDIS_VAR_DATA_DESC THostAddr; // Test host address.
  988. } WW_ARD_DATAGRAM, *PWW_ARD_DATAGRAM;
  989. //
  990. // OID_WW_CDPD_SPNI
  991. //
  992. typedef struct _WW_CDPD_SPNI {
  993.     UINT SPNI[10]; //10 16-bit service provider network IDs
  994.     INT OperatingMode; // 0 = ignore SPNI,
  995.     // 1 = require SPNI from list,
  996.     // 2 = prefer SPNI from list.
  997.     // 3 = exclude SPNI from list.
  998. } WW_CDPD_SPNI, *PWW_CDPD_SPNI;
  999. //
  1000. // OID_WW_CDPD_WASI
  1001. //
  1002. typedef struct _WW_CDPD_WIDE_AREA_SERVICE_ID {
  1003.     UINT WASI[10]; //10 16-bit wide area service IDs
  1004.     INT OperatingMode; // 0 = ignore WASI,
  1005.     // 1 = Require WASI from list,
  1006.     // 2 = prefer WASI from list
  1007.     // 3 = exclude WASI from list.
  1008. } WW_CDPD_WIDE_AREA_SERVICE_ID, *PWW_CDPD_WIDE_AREA_SERVICE_ID;
  1009. //
  1010. // OID_WW_CDPD_AREA_COLOR
  1011. //
  1012. typedef INT WW_CDPD_AREA_COLOR;
  1013. //
  1014. // OID_WW_CDPD_TX_POWER_LEVEL
  1015. //
  1016. typedef UINT WW_CDPD_TX_POWER_LEVEL;
  1017. //
  1018. // OID_WW_CDPD_EID
  1019. //
  1020. typedef NDIS_VAR_DATA_DESC WW_CDPD_EID;
  1021. //
  1022. // OID_WW_CDPD_HEADER_COMPRESSION
  1023. //
  1024. typedef INT WW_CDPD_HEADER_COMPRESSION; //  0 = no header compression,
  1025. //  1 = always compress headers,
  1026. //  2 = compress headers if MD-IS does
  1027. // -1 = unknown
  1028. //
  1029. // OID_WW_CDPD_DATA_COMPRESSION
  1030. //
  1031. typedef INT WW_CDPD_DATA_COMPRESSION; // 0  = no data compression,
  1032. // 1  = data compression enabled
  1033. // -1 =  unknown
  1034. //
  1035. // OID_WW_CDPD_CHANNEL_SELECT
  1036. //
  1037. typedef struct _WW_CDPD_CHANNEL_SELECT {
  1038.     UINT ChannelID; // channel number
  1039.     UINT fixedDuration; // duration in seconds
  1040. } WW_CDPD_CHANNEL_SELECT, *PWW_CDPD_CHANNEL_SELECT;
  1041. //
  1042. // OID_WW_CDPD_CHANNEL_STATE
  1043. //
  1044. typedef enum _WW_CDPD_CHANNEL_STATE {
  1045.     CDPDChannelNotAvail,
  1046.     CDPDChannelScanning,
  1047.     CDPDChannelInitAcquired,
  1048.     CDPDChannelAcquired,
  1049.     CDPDChannelSleeping,
  1050.     CDPDChannelWaking,
  1051.     CDPDChannelCSDialing,
  1052.     CDPDChannelCSRedial,
  1053.     CDPDChannelCSAnswering,
  1054.     CDPDChannelCSConnected,
  1055.     CDPDChannelCSSuspended
  1056. } WW_CDPD_CHANNEL_STATE, *PWW_CDPD_CHANNEL_STATE;
  1057. //
  1058. // OID_WW_CDPD_NEI
  1059. //
  1060. typedef enum _WW_CDPD_NEI_FORMAT {
  1061.     CDPDNeiIPv4,
  1062.     CDPDNeiCLNP,
  1063.     CDPDNeiIPv6
  1064. } WW_CDPD_NEI_FORMAT, *PWW_CDPD_NEI_FORMAT;
  1065. typedef enum _WW_CDPD_NEI_TYPE {
  1066.     CDPDNeiIndividual,
  1067.     CDPDNeiMulticast,
  1068.     CDPDNeiBroadcast
  1069. } WW_CDPD_NEI_TYPE;
  1070. typedef struct _WW_CDPD_NEI {
  1071.     UINT uNeiIndex;
  1072.     WW_CDPD_NEI_FORMAT NeiFormat;
  1073.     WW_CDPD_NEI_TYPE NeiType;
  1074.     WORD NeiGmid; // group member identifier, only
  1075.     // meaningful if NeiType ==
  1076.     // CDPDNeiMulticast
  1077.     NDIS_VAR_DATA_DESC NeiAddress;
  1078. } WW_CDPD_NEI;
  1079. //
  1080. // OID_WW_CDPD_NEI_STATE
  1081. //
  1082. typedef enum _WW_CDPD_NEI_STATE {
  1083.     CDPDUnknown,
  1084.     CDPDRegistered,
  1085.     CDPDDeregistered
  1086. } WW_CDPD_NEI_STATE, *PWW_CDPD_NEI_STATE;
  1087. typedef enum _WW_CDPD_NEI_SUB_STATE {
  1088.     CDPDPending, // Registration pending
  1089.      CDPDNoReason, // Registration denied - no reason given
  1090.      CDPDMDISNotCapable, // Registration denied - MD-IS not capable of
  1091.     //  handling M-ES at this time
  1092.      CDPDNEINotAuthorized, // Registration denied - NEI is not authorized to
  1093.     //  use this subnetwork
  1094.      CDPDInsufficientAuth, // Registration denied - M-ES gave insufficient
  1095.     //  authentication credentials
  1096.      CDPDUnsupportedAuth, // Registration denied - M-ES gave unsupported
  1097.     //  authentication credentials
  1098.      CDPDUsageExceeded, // Registration denied - NEI has exceeded usage
  1099.     //  limitations
  1100.      CDPDDeniedThisNetwork // Registration denied on this network, service
  1101.     //  may be obtained on alternate Service Provider
  1102.     //  network
  1103. } WW_CDPD_NEI_SUB_STATE;
  1104. typedef struct _WW_CDPD_NEI_REG_STATE {
  1105.     UINT uNeiIndex;
  1106.     WW_CDPD_NEI_STATE NeiState;
  1107.     WW_CDPD_NEI_SUB_STATE NeiSubState;
  1108. } WW_CDPD_NEI_REG_STATE, *PWW_CDPD_NEI_REG_STATE;
  1109. //
  1110. // OID_WW_CDPD_SERVICE_PROVIDER_IDENTIFIER
  1111. //
  1112. typedef struct _WW_CDPD_SERVICE_PROVIDER_ID {
  1113.     UINT SPI[10]; //10 16-bit service provider IDs
  1114.     INT OperatingMode; // 0 = ignore SPI,
  1115.     // 1 = require SPI from list,
  1116.     // 2 = prefer SPI from list.
  1117.     // 3 = exclude SPI from list.
  1118. } WW_CDPD_SERVICE_PROVIDER_ID, *PWW_CDPD_SERVICE_PROVIDER_ID;
  1119. //
  1120. // OID_WW_CDPD_SLEEP_MODE
  1121. //
  1122. typedef INT WW_CDPD_SLEEP_MODE;
  1123. //
  1124. // OID_WW_CDPD_TEI
  1125. //
  1126. typedef ULONG WW_CDPD_TEI;
  1127. //
  1128. // OID_WW_CDPD_CIRCUIT_SWITCHED
  1129. //
  1130. typedef struct _WW_CDPD_CIRCUIT_SWITCHED {
  1131.     INT service_preference; // -1 = unknown,
  1132.     //  0 = always use packet switched CDPD,
  1133.     //  1 = always use CS CDPD via AMPS,
  1134.     //  2 = always use CS CDPD via PSTN,
  1135.     //  3 = use circuit switched via AMPS only
  1136.     //      when packet switched is not available.
  1137.     //  4 = use packet switched only when circuit
  1138.     //   switched via AMPS is not available.
  1139.     //  5 = device manuf. defined service
  1140.     //   preference.
  1141.     //  6 = device manuf. defined service
  1142.     //   preference.
  1143.     INT service_status; // -1 = unknown,
  1144.     //  0 = packet switched CDPD,
  1145.     //  1 = circuit switched CDPD via AMPS,
  1146.     //  2 = circuit switched CDPD via PSTN.
  1147.     INT connect_rate; //  CS connection bit rate (bits per second).
  1148.     //  0 = no active connection,
  1149.     // -1 = unknown
  1150.     //  Dial code last used to dial.
  1151.     NDIS_VAR_DATA_DESC dial_code[20];
  1152.     UINT sid; //  Current AMPS system ID
  1153.     INT a_b_side_selection; // -1 = unknown,
  1154.     //  0 = no AMPS service
  1155.     //  1 = AMPS "A" side channels selected
  1156.     //  2 = AMPS "B" side channels selected
  1157.     INT AMPS_channel; // -1= unknown
  1158.     //  0 = no AMPS service.
  1159.     //  1-1023 = AMPS channel number in use
  1160.     UINT action; //  0 = no action
  1161.     //  1 = suspend (hangup)
  1162.     //  2 = dial
  1163.     //  Default dial code for CS CDPD service
  1164.     //  encoded as specified in the CS CDPD
  1165.     //  implementor guidelines.
  1166.     NDIS_VAR_DATA_DESC default_dial[20];
  1167.     //  Number for the CS CDPD network to call
  1168.     //   back the mobile, encoded as specified in
  1169.     //   the CS CDPD implementor guidelines.
  1170.     NDIS_VAR_DATA_DESC call_back[20];
  1171.     UINT sid_list[10]; //  List of 10 16-bit preferred AMPS
  1172.     //   system IDs for CS CDPD.
  1173.     UINT inactivity_timer; //  Wait time after last data before dropping
  1174.     //   call.
  1175.     //  0-65535 = inactivity time limit (seconds).
  1176.     UINT receive_timer; //  secs. per CS-CDPD Implementor Guidelines.
  1177.     UINT conn_resp_timer; //  secs. per CS-CDPD Implementor Guidelines.
  1178.     UINT reconn_resp_timer; //  secs. per CS-CDPD Implementor Guidelines.
  1179.     UINT disconn_timer; //  secs. per CS-CDPD Implementor Guidelines.
  1180.     UINT NEI_reg_timer; //  secs. per CS-CDPD Implementor Guidelines.
  1181.     UINT reconn_retry_timer; //  secs. per CS-CDPD Implementor Guidelines.
  1182.     UINT link_reset_timer; //  secs. per CS-CDPD Implementor Guidelines.
  1183.     UINT link_reset_ack_timer; //  secs. per CS-CDPD Implementor Guidelines.
  1184.     UINT n401_retry_limit; //  per CS-CDPD Implementor Guidelines.
  1185.     UINT n402_retry_limit; //  per CS-CDPD Implementor Guidelines.
  1186.     UINT n404_retry_limit; //  per CS-CDPD Implementor Guidelines.
  1187.     UINT n405_retry_limit; //  per CS-CDPD Implementor Guidelines.
  1188. } WW_CDPD_CIRCUIT_SWITCHED, *WW_PCDPD_CIRCUIT_SWITCHED;
  1189. typedef UINT WW_CDPD_RSSI;
  1190. //
  1191. // OID_WW_PIN_LOC_AUTHORIZE
  1192. //
  1193. typedef INT WW_PIN_AUTHORIZED; // 0  = unauthorized
  1194. // 1  = authorized
  1195. // -1 = unknown
  1196. //
  1197. // OID_WW_PIN_LAST_LOCATION
  1198. // OID_WW_PIN_LOC_FIX
  1199. //
  1200. typedef struct _WW_PIN_LOCATION {
  1201.     INT Latitude; // Latitude in hundredths of a second
  1202.     INT Longitude; // Longitude in hundredths of a second
  1203.     INT Altitude; // Altitude in feet
  1204.     INT FixTime; // Time of the location fix, since midnight,  local time (of the
  1205.     // current day), in tenths of a second
  1206.     INT NetTime; // Current local network time of the current day, since midnight,
  1207.     // in tenths of a second
  1208.     INT LocQuality; // 0-100 = location quality
  1209.     INT LatReg; // Latitude registration offset, in hundredths of a second
  1210.     INT LongReg; // Longitude registration offset, in hundredths of a second
  1211.     INT GMTOffset; // Offset in minutes of the local time zone from GMT
  1212. } WW_PIN_LOCATION, *PWW_PIN_LOCATION;
  1213. //
  1214. // The following is set on a per-packet basis as OOB data with NdisClassWirelessWanMbxMailbox
  1215. //
  1216. typedef ULONG WW_MBX_MAILBOX_FLAG; // 1 = set mailbox flag, 0 = do not set mailbox flag
  1217. //
  1218. // OID_WW_MBX_SUBADDR
  1219. //
  1220. typedef struct _WW_MBX_PMAN {
  1221.     BOOLEAN ACTION; // 0 = Login PMAN,  1 = Logout PMAN
  1222.     UINT MAN;
  1223.     UCHAR PASSWORD[8]; // Password should be null for Logout and indications.
  1224.     // Maximum length of password is 8 chars.
  1225. } WW_MBX_PMAN, *PWW_MBX_PMAN;
  1226. //
  1227. // OID_WW_MBX_FLEXLIST
  1228. //
  1229. typedef struct _WW_MBX_FLEXLIST {
  1230.     INT count; //  Number of MAN entries used.
  1231.     // -1=unknown.
  1232.     UINT MAN[7]; //  List of MANs.
  1233. } WW_MBX_FLEXLIST;
  1234. //
  1235. // OID_WW_MBX_GROUPLIST
  1236. //
  1237. typedef struct _WW_MBX_GROUPLIST {
  1238.     INT count; //  Number of MAN entries used.
  1239.     // -1=unknown.
  1240.     UINT MAN[15]; //  List of MANs.
  1241. } WW_MBX_GROUPLIST;
  1242. //
  1243. // OID_WW_MBX_TRAFFIC_AREA
  1244. //
  1245. typedef enum _WW_MBX_TRAFFIC_AREA {
  1246.     unknown_traffic_area, // The driver has no information about the current traffic area.
  1247.      in_traffic_area, // Mobile unit has entered a subscribed traffic area.
  1248.      in_auth_traffic_area, // Mobile unit is outside traffic area but is authorized.
  1249.      unauth_traffic_area // Mobile unit is outside traffic area but is un-authorized.
  1250. } WW_MBX_TRAFFIC_AREA;
  1251. //
  1252. // OID_WW_MBX_LIVE_DIE
  1253. //
  1254. typedef INT WW_MBX_LIVE_DIE; //  0 = DIE last received       
  1255. //  1 = LIVE last received
  1256. // -1 = unknown
  1257. //
  1258. // OID_WW_MBX_TEMP_DEFAULTLIST
  1259. //
  1260. typedef struct _WW_MBX_CHANNEL_PAIR {
  1261.     UINT Mobile_Tx;
  1262.     UINT Mobile_Rx;
  1263. } WW_MBX_CHANNEL_PAIR, *PWW_MBX_CHANNEL_PAIR;
  1264. typedef struct _WW_MBX_TEMPDEFAULTLIST {
  1265.     UINT Length;
  1266.     WW_MBX_CHANNEL_PAIR ChannelPair[1];
  1267. } WW_MBX_TEMPDEFAULTLIST, *WW_PMBX_TEMPDEFAULTLIST;
  1268. #endif // WIRELESS_WAN
  1269. #endif // _NTDDNDIS_