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