home *** CD-ROM | disk | FTP | other *** search
/ Team Palmtops 7 / Palmtops_numero07.iso / WinCE / SDKWindowsCE / AutoPC / apcsdk10.exe / data1.cab / Emulation_Include_Files / ntddndis.h < prev    next >
Encoding:
C/C++ Source or Header  |  1999-05-13  |  47.1 KB  |  1,440 lines

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