Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1717 lines
74 KiB

  1. /*--
  2. Copyright (C) Microsoft Corporation, 1999 - 1999
  3. Module Name:
  4. netcard.h
  5. Abstract:
  6. Contains definitions, globals and function prototypes used by "ndis" test.
  7. Author:
  8. 4-Aug-1998 (t-rajkup)
  9. Environment:
  10. User mode only.
  11. Revision History:
  12. None.
  13. --*/
  14. #ifndef HEADER__NETCARD
  15. #define HEADER__NETCARD
  16. /*==========================< ndis test - includes >=======================*/
  17. #include <wmium.h>
  18. #include <initguid.h>
  19. #include <ndisguid.h>
  20. #define WIRELESS_WAN
  21. #include <ntddndis.h>
  22. #include <qos.h>
  23. /*==========================< ndis test - functions >=====================*/
  24. ULONG
  25. ShowGuidData(
  26. IN ULONG argc,
  27. IN ULONG ulOidCode,
  28. IN PUCHAR pucNamePtr,
  29. IN PUCHAR pucDataPtr,
  30. IN ULONG ulDataSize
  31. );
  32. typedef
  33. ULONG
  34. (*WMI_OPEN)(
  35. GUID *pGuid,
  36. ULONG DesiredAccess,
  37. WMIHANDLE *DataBlockHandle
  38. );
  39. typedef
  40. ULONG
  41. (*WMI_CLOSE)(
  42. WMIHANDLE DataBlockHandle
  43. );
  44. typedef
  45. ULONG
  46. (*WMI_QUERYALL)(
  47. WMIHANDLE DataBlockHandle,
  48. PULONG pulBufferSize,
  49. PVOID pvBuffer
  50. );
  51. typedef
  52. ULONG
  53. (*WMI_QUERYSINGLE)(
  54. WMIHANDLE DataBlockHandle,
  55. LPCSTR InstanceName,
  56. PULONG pulBufferSize,
  57. PVOID pvBuffer
  58. );
  59. typedef
  60. ULONG
  61. (*WMI_NOTIFY)(
  62. LPGUID pGuid,
  63. BOOLEAN Enable,
  64. PVOID DeliveryInfo,
  65. ULONG DeliveryContext,
  66. ULONG Flags
  67. );
  68. ULONG
  69. NdtWmiOpenBlock(
  70. IN GUID *pGuid,
  71. IN OUT WMIHANDLE *pWmiHandle
  72. );
  73. BOOLEAN
  74. fShowQueryInfoResults(
  75. PUCHAR pucBuffer,
  76. ULONG ulBytesReturned,
  77. NDIS_OID ulOID,
  78. ULONG argc
  79. );
  80. VOID
  81. LoadWmiLibrary(
  82. HINSTANCE hWmiLib
  83. );
  84. ULONG
  85. NdtWmiQueryAllData(
  86. IN WMIHANDLE WmiHandle,
  87. IN OUT PULONG pulBufferSize,
  88. IN OUT PVOID pvBuffer,
  89. IN BOOLEAN fCheckShort
  90. );
  91. VOID
  92. _CRTAPI1
  93. HapiPrint(PCHAR Format,
  94. ... );
  95. VOID
  96. _CRTAPI1
  97. HapiPrintEx(PCHAR Format,
  98. va_list args);
  99. VOID
  100. ShowIrdaOids(ULONG ulOid,
  101. PULONG pulDataPtr,
  102. ULONG ulBytesReturned,
  103. PULONG pulTypeNeeded,
  104. PULONG pulArraySize
  105. );
  106. VOID
  107. ShowWirelessWanOids(ULONG ulOid,
  108. PULONG pulDataPtr,
  109. ULONG ulBytesReturned,
  110. PULONG pulTypeNeeded,
  111. PULONG pulArraySize
  112. );
  113. VOID
  114. ShowAtmOids(ULONG ulOid,
  115. PULONG pulDataPtr,
  116. ULONG ulBytesReturned,
  117. PULONG pulTypeNeeded,
  118. PULONG pulArraySize
  119. );
  120. VOID
  121. ShowArcnetOids(ULONG ulOid,
  122. PULONG pulDataPtr,
  123. PULONG pulTypeNeeded
  124. );
  125. VOID
  126. ShowFddiOids(ULONG ulOid,
  127. PULONG pulDataPtr,
  128. ULONG ulBytesReturned,
  129. PULONG pulTypeNeeded,
  130. PULONG pulArraySize
  131. );
  132. VOID
  133. ShowTokenRingOids(ULONG ulOid,
  134. PULONG pulDataPtr,
  135. PULONG pulTypeNeeded
  136. );
  137. VOID
  138. ShowEthernetOids(ULONG ulOid,
  139. PULONG pulDataPtr,
  140. ULONG ulBytesReturned,
  141. PULONG pulTypeNeeded,
  142. PULONG pulArraySize
  143. );
  144. VOID
  145. ShowPnpPowerOids(ULONG ulOid,
  146. PULONG pulDataPtr,
  147. ULONG ulBytesReturned,
  148. PULONG pulTypeNeeded,
  149. PULONG pulArraySize
  150. );
  151. VOID
  152. ShowGeneralOids(ULONG ulOid,
  153. PULONG pulDataPtr,
  154. ULONG ulBytesReturned,
  155. PULONG pulTypeNeeded,
  156. PULONG pulArraySize
  157. );
  158. VOID
  159. ShowCoGeneralOids(ULONG ulOid,
  160. PULONG pulDataPtr,
  161. ULONG ulBytesReturned,
  162. PULONG pulTypeNeeded,
  163. PULONG pulArraySize
  164. );
  165. VOID
  166. NdtPrintOidName(
  167. ULONG ulOidCode
  168. );
  169. static
  170. VOID
  171. ShowHardwareStatus(
  172. IN ULONG ulStatus
  173. );
  174. static
  175. VOID
  176. ShowMediaList(
  177. IN PULONG pulMedia,
  178. IN ULONG ulNumMedia
  179. );
  180. static
  181. VOID
  182. ShowSupportedGuids(
  183. IN PVOID pvDataPtr,
  184. IN ULONG ulTotalBytes
  185. );
  186. static
  187. VOID
  188. ShowTimeCaps(
  189. IN PVOID pvDataPtr
  190. );
  191. PVOID
  192. GetEmbeddedData(
  193. PNDIS_VAR_DATA_DESC pNdisVarDataDesc
  194. );
  195. static
  196. VOID
  197. FixMediaList(
  198. IN OUT PULONG pulMedia,
  199. IN ULONG ulNumMedia
  200. );
  201. static
  202. VOID
  203. EthPrintAddress(
  204. PUCHAR pucAddress
  205. );
  206. static
  207. VOID
  208. TokenRingShowAddress(
  209. IN PUCHAR pucAddress,
  210. IN ULONG ulLength
  211. );
  212. static
  213. VOID
  214. FddiShowAddress(
  215. IN PUCHAR pucAddress,
  216. IN ULONG ulLength
  217. );
  218. static
  219. VOID
  220. FddiShowRawData(
  221. IN PUCHAR pucBuffer,
  222. IN ULONG ulLength
  223. );
  224. static
  225. VOID
  226. ShowWWHeaderFormat(
  227. ULONG
  228. ulFormat
  229. );
  230. VOID
  231. PrintWNodeHeader(
  232. PWNODE_HEADER pWnodeHeader
  233. );
  234. VOID
  235. NdtPrintStatus(
  236. NDIS_STATUS lGeneralStatus
  237. );
  238. PUCHAR
  239. OffsetToPtr(
  240. PVOID pvBase,
  241. ULONG ulOffset
  242. );
  243. ULONG
  244. NdtWmiQuerySingleInstance(
  245. WMIHANDLE WmiHandle,
  246. PCHAR strDeviceName,
  247. PULONG pulBufferSize,
  248. PVOID pvBuffer,
  249. BOOLEAN fCheckShort
  250. );
  251. VOID
  252. GetMediaList(
  253. PULONG pulMedia,
  254. ULONG ulNumMedia
  255. );
  256. int
  257. GetNumOids(
  258. PNDIS_MEDIUM medium,
  259. int index
  260. );
  261. int
  262. GetBaseAddr(
  263. PNDIS_MEDIUM medium,
  264. int index
  265. );
  266. typedef struct _ATM_VC_RATES_SUPPORTED
  267. {
  268. ULONG MinCellRate;
  269. ULONG MaxCellRate;
  270. } ATM_VC_RATES_SUPPORTED, *PATM_VC_RATES_SUPPORTED;
  271. //
  272. // ATM Service Category
  273. //
  274. #define ATM_SERVICE_CATEGORY_CBR 1 // Constant Bit Rate
  275. #define ATM_SERVICE_CATEGORY_VBR 2 // Variable Bit Rate
  276. #define ATM_SERVICE_CATEGORY_UBR 4 // Unspecified Bit Rate
  277. #define ATM_SERVICE_CATEGORY_ABR 8 // Available Bit Rate
  278. //
  279. // AAL types that the miniport supports
  280. //
  281. #define AAL_TYPE_AAL0 1
  282. #define AAL_TYPE_AAL1 2
  283. #define AAL_TYPE_AAL34 4
  284. #define AAL_TYPE_AAL5 8
  285. typedef struct _ATM_VPIVCI
  286. {
  287. ULONG Vpi;
  288. ULONG Vci;
  289. } ATM_VPIVCI, *PATM_VPIVCI;
  290. struct _CONSTANT_ENTRY
  291. {
  292. LONG lValue; // integer value
  293. PCHAR strName; // constant name
  294. };
  295. typedef struct _CONSTANT_ENTRY *PCONSTANT_ENTRY;
  296. typedef struct _CONSTANT_ENTRY CONSTANT_ENTRY;
  297. /*==========================< ndis test - globals >=======================*/
  298. #define strNtDeviceHeader "\\DEVICE\\"
  299. //
  300. // Globals used in infering problems
  301. //
  302. BOOL NdisFlag;
  303. ULONG ulFirstErrorCount;
  304. ULONG ulSecondErrorCount;
  305. #define NDIS_SLEEP_TIME 2000 // 2 second
  306. #define NDIS_MAX_ERROR_COUNT 1 // max no of error counts that can be seen between 2 successice error count readings
  307. #define NDIS_MAX_RCV_ERROR 10000 // max no of rcv errors
  308. #define NDIS_MAX_TX_ERROR 10000 // max no of xmit errors
  309. #define ulNDIS_VERSION_40 40
  310. #define ulNDIS_VERSION_50 50
  311. //
  312. // constants for operating system
  313. //
  314. #define ulINVALID_OS 0x00000000
  315. #define ulWINDOWS_95 0x00000001
  316. #define ulWINDOWS_NT 0x00000002
  317. //
  318. // hibernate/standby/wake-related constants
  319. //
  320. #define ulHIBERNATE 1
  321. #define ulSTANDBY 2
  322. #define ulWAKEUPTIMER 4
  323. #define ulTEST_SUCCESSFUL 0x00
  324. #define ulTEST_WARNED 0x01
  325. #define ulTEST_FAILED 0x02
  326. #define ulTEST_BLOCKED 0x03
  327. //
  328. // media type definitions for use with scripts
  329. //
  330. #define ulMEDIUM_ETHERNET 0x01
  331. #define ulMEDIUM_TOKENRING 0x02
  332. #define ulMEDIUM_FDDI 0x03
  333. #define ulMEDIUM_ARCNET 0x04
  334. #define ulMEDIUM_WIRELESSWAN 0x05
  335. #define ulMEDIUM_IRDA 0x06
  336. #define ulMEDIUM_ATM 0x07
  337. #define ulMEDIUM_NDISWAN 0x08
  338. // packettype
  339. #define ulSTRESS_FIXEDSIZE 0x00000000
  340. #define ulSTRESS_RANDOMSIZE 0x00000001
  341. #define ulSTRESS_CYCLICAL 0x00000002
  342. #define ulSTRESS_SMALLSIZE 0x00000003
  343. // packet makeup
  344. #define ulSTRESS_RAND 0x00000000
  345. #define ulSTRESS_SMALL 0x00000010
  346. #define ulSTRESS_ZEROS 0x00000020
  347. #define ulSTRESS_ONES 0x00000030
  348. // response type
  349. #define ulSTRESS_FULLRESP 0x00000000
  350. #define ulSTRESS_NORESP 0x00000100
  351. #define ulSTRESS_ACK 0x00000200
  352. #define ulSTRESS_ACK10 0x00000300
  353. // windowing (speed control)
  354. #define ulSTRESS_WINDOW_ON 0x00000000
  355. #define ulSTRESS_WINDOW_OFF 0x00001000
  356. //
  357. // verify received packets, or just count them
  358. // (or'ed in with main options)
  359. //
  360. #define ulPERFORM_VERIFYRECEIVES 0x00000008
  361. #define ulPERFORM_INDICATE_RCV 0x00000000
  362. //
  363. // main performance test options
  364. //
  365. #define ulPERFORM_SENDONLY 0x00000000
  366. #define ulPERFORM_SEND 0x00000001
  367. #define ulPERFORM_BOTH 0x00000002
  368. #define ulPERFORM_RECEIVE 0x00000003
  369. #define ulPERFORM_MODEMASK 0x00000003
  370. // receive-type options
  371. // valid for both Receive and ReceivePacket
  372. //
  373. //
  374. // DEFAULT
  375. // PR -- uses lookahead if whole packet, else transfer data
  376. // PRP -- uses packet from ReceivePacket if small (<= 256), else queues packet for DPC
  377. //
  378. #define ulRECEIVE_DEFAULT 0x00000000
  379. //
  380. // NOCOPY
  381. // PR -- use just lookahead, even if NOT whole packet. Used to check lookahead
  382. // PRP -- use from ReceivePacket no matter what the size
  383. //
  384. #define ulRECEIVE_NOCOPY 0x00000001
  385. //
  386. // TRANSFER
  387. // PR -- call NdisTransferData from Receive handler
  388. // PRP -- call NdisTransferData from ReceivePacket Handler
  389. //
  390. #define ulRECEIVE_TRANSFER 0x00000002
  391. //
  392. // PARTIAL_TRANSFER
  393. // same as transfer EXCEPT copies random length before transfer
  394. //
  395. #define ulRECEIVE_PARTIAL_TRANSFER 0x00000003
  396. #define ulMAX_NDIS30_RECEIVE_OPTION 0x00000003
  397. //
  398. // following options just apply to Ndis40 (ReceivePacket handler)
  399. //
  400. //
  401. // IGNORE -- used to detect what path is being used..
  402. // PNP -- ignore all packets
  403. //
  404. #define ulRECEIVE_PACKETIGNORE 0x00000004
  405. //
  406. // do local copy of packet, rest of work done in DPC
  407. //
  408. #define ulRECEIVE_LOCCOPY 0x00000005
  409. //
  410. // PRP -- queues all packets for handling in DPC
  411. //
  412. #define ulRECEIVE_QUEUE 0x00000006
  413. //
  414. // double queue packet
  415. // PRP -- packet queued twice (on main queue, and on secondary queue where
  416. // all that is done with it in DPC is remove it)
  417. //
  418. #define ulRECEIVE_DOUBLE_QUEUE 0x00000007
  419. //
  420. // triple queue packet
  421. //
  422. #define ulRECEIVE_TRIPLE_QUEUE 0x00000008
  423. #define ulMAX_NDIS40_RECEIVE_OPTION 0x00000008
  424. //
  425. // This can be ORed with any of the following. Caused any extra
  426. // receives to be thrown away. Allows tests to be run on corp net
  427. //
  428. #define ulRECEIVE_ALLOW_BUSY_NET 0x80000000
  429. //
  430. // This value is passed from the script to run the particular type of test.
  431. //
  432. // Type of Priority test
  433. //
  434. #define ulPRIORITY_TYPE_802_3 0x0001
  435. #define ulPRIORITY_TYPE_802_1P 0x0002
  436. // Send Type
  437. #define ulPRIORITY_SEND 0x0001
  438. #define ulPRIORITY_SEND_PACKETS 0x0002
  439. #define NDIS_STATUS_SUCCESS ((NDIS_STATUS)STATUS_SUCCESS)
  440. #define NDIS_STATUS_PENDING ((NDIS_STATUS)STATUS_PENDING)
  441. #define NDIS_STATUS_NOT_RECOGNIZED ((NDIS_STATUS)0x00010001L)
  442. #define NDIS_STATUS_NOT_COPIED ((NDIS_STATUS)0x00010002L)
  443. #define NDIS_STATUS_NOT_ACCEPTED ((NDIS_STATUS)0x00010003L)
  444. #define NDIS_STATUS_CALL_ACTIVE ((NDIS_STATUS)0x00010007L)
  445. #define NDIS_STATUS_ONLINE ((NDIS_STATUS)0x40010003L)
  446. #define NDIS_STATUS_RESET_START ((NDIS_STATUS)0x40010004L)
  447. #define NDIS_STATUS_RESET_END ((NDIS_STATUS)0x40010005L)
  448. #define NDIS_STATUS_RING_STATUS ((NDIS_STATUS)0x40010006L)
  449. #define NDIS_STATUS_CLOSED ((NDIS_STATUS)0x40010007L)
  450. #define NDIS_STATUS_WAN_LINE_UP ((NDIS_STATUS)0x40010008L)
  451. #define NDIS_STATUS_WAN_LINE_DOWN ((NDIS_STATUS)0x40010009L)
  452. #define NDIS_STATUS_WAN_FRAGMENT ((NDIS_STATUS)0x4001000AL)
  453. #define NDIS_STATUS_MEDIA_CONNECT ((NDIS_STATUS)0x4001000BL)
  454. #define NDIS_STATUS_MEDIA_DISCONNECT ((NDIS_STATUS)0x4001000CL)
  455. #define NDIS_STATUS_HARDWARE_LINE_UP ((NDIS_STATUS)0x4001000DL)
  456. #define NDIS_STATUS_HARDWARE_LINE_DOWN ((NDIS_STATUS)0x4001000EL)
  457. #define NDIS_STATUS_INTERFACE_UP ((NDIS_STATUS)0x4001000FL)
  458. #define NDIS_STATUS_INTERFACE_DOWN ((NDIS_STATUS)0x40010010L)
  459. #define NDIS_STATUS_MEDIA_BUSY ((NDIS_STATUS)0x40010011L)
  460. #define NDIS_STATUS_MEDIA_SPECIFIC_INDICATION ((NDIS_STATUS)0x40010012L)
  461. #define NDIS_STATUS_WW_INDICATION NDIS_STATUS_MEDIA_SPECIFIC_INDICATION
  462. #define NDIS_STATUS_LINK_SPEED_CHANGE ((NDIS_STATUS)0x40010013L)
  463. #define NDIS_STATUS_NOT_RESETTABLE ((NDIS_STATUS)0x80010001L)
  464. #define NDIS_STATUS_SOFT_ERRORS ((NDIS_STATUS)0x80010003L)
  465. #define NDIS_STATUS_HARD_ERRORS ((NDIS_STATUS)0x80010004L)
  466. #define NDIS_STATUS_BUFFER_OVERFLOW ((NDIS_STATUS)STATUS_BUFFER_OVERFLOW)
  467. #define NDIS_STATUS_FAILURE ((NDIS_STATUS)STATUS_UNSUCCESSFUL)
  468. #define NDIS_STATUS_RESOURCES ((NDIS_STATUS)STATUS_INSUFFICIENT_RESOURCES)
  469. #define NDIS_STATUS_CLOSING ((NDIS_STATUS)0xC0010002L)
  470. #define NDIS_STATUS_BAD_VERSION ((NDIS_STATUS)0xC0010004L)
  471. #define NDIS_STATUS_BAD_CHARACTERISTICS ((NDIS_STATUS)0xC0010005L)
  472. #define NDIS_STATUS_ADAPTER_NOT_FOUND ((NDIS_STATUS)0xC0010006L)
  473. #define NDIS_STATUS_OPEN_FAILED ((NDIS_STATUS)0xC0010007L)
  474. #define NDIS_STATUS_DEVICE_FAILED ((NDIS_STATUS)0xC0010008L)
  475. #define NDIS_STATUS_MULTICAST_FULL ((NDIS_STATUS)0xC0010009L)
  476. #define NDIS_STATUS_MULTICAST_EXISTS ((NDIS_STATUS)0xC001000AL)
  477. #define NDIS_STATUS_MULTICAST_NOT_FOUND ((NDIS_STATUS)0xC001000BL)
  478. #define NDIS_STATUS_REQUEST_ABORTED ((NDIS_STATUS)0xC001000CL)
  479. #define NDIS_STATUS_RESET_IN_PROGRESS ((NDIS_STATUS)0xC001000DL)
  480. #define NDIS_STATUS_CLOSING_INDICATING ((NDIS_STATUS)0xC001000EL)
  481. #define NDIS_STATUS_NOT_SUPPORTED ((NDIS_STATUS)STATUS_NOT_SUPPORTED)
  482. #define NDIS_STATUS_INVALID_PACKET ((NDIS_STATUS)0xC001000FL)
  483. #define NDIS_STATUS_OPEN_LIST_FULL ((NDIS_STATUS)0xC0010010L)
  484. #define NDIS_STATUS_ADAPTER_NOT_READY ((NDIS_STATUS)0xC0010011L)
  485. #define NDIS_STATUS_ADAPTER_NOT_OPEN ((NDIS_STATUS)0xC0010012L)
  486. #define NDIS_STATUS_NOT_INDICATING ((NDIS_STATUS)0xC0010013L)
  487. #define NDIS_STATUS_INVALID_LENGTH ((NDIS_STATUS)0xC0010014L)
  488. #define NDIS_STATUS_INVALID_DATA ((NDIS_STATUS)0xC0010015L)
  489. #define NDIS_STATUS_BUFFER_TOO_SHORT ((NDIS_STATUS)0xC0010016L)
  490. #define NDIS_STATUS_INVALID_OID ((NDIS_STATUS)0xC0010017L)
  491. #define NDIS_STATUS_ADAPTER_REMOVED ((NDIS_STATUS)0xC0010018L)
  492. #define NDIS_STATUS_UNSUPPORTED_MEDIA ((NDIS_STATUS)0xC0010019L)
  493. #define NDIS_STATUS_GROUP_ADDRESS_IN_USE ((NDIS_STATUS)0xC001001AL)
  494. #define NDIS_STATUS_FILE_NOT_FOUND ((NDIS_STATUS)0xC001001BL)
  495. #define NDIS_STATUS_ERROR_READING_FILE ((NDIS_STATUS)0xC001001CL)
  496. #define NDIS_STATUS_ALREADY_MAPPED ((NDIS_STATUS)0xC001001DL)
  497. #define NDIS_STATUS_RESOURCE_CONFLICT ((NDIS_STATUS)0xC001001EL)
  498. #define NDIS_STATUS_NO_CABLE ((NDIS_STATUS)0xC001001FL)
  499. #define NDIS_STATUS_INVALID_SAP ((NDIS_STATUS)0xC0010020L)
  500. #define NDIS_STATUS_SAP_IN_USE ((NDIS_STATUS)0xC0010021L)
  501. #define NDIS_STATUS_INVALID_ADDRESS ((NDIS_STATUS)0xC0010022L)
  502. #define NDIS_STATUS_VC_NOT_ACTIVATED ((NDIS_STATUS)0xC0010023L)
  503. #define NDIS_STATUS_DEST_OUT_OF_ORDER ((NDIS_STATUS)0xC0010024L) // cause 27
  504. #define NDIS_STATUS_VC_NOT_AVAILABLE ((NDIS_STATUS)0xC0010025L) // cause 35,45
  505. #define NDIS_STATUS_CELLRATE_NOT_AVAILABLE ((NDIS_STATUS)0xC0010026L) // cause 37
  506. #define NDIS_STATUS_INCOMPATABLE_QOS ((NDIS_STATUS)0xC0010027L) // cause 49
  507. #define NDIS_STATUS_AAL_PARAMS_UNSUPPORTED ((NDIS_STATUS)0xC0010028L) // cause 93
  508. #define NDIS_STATUS_NO_ROUTE_TO_DESTINATION ((NDIS_STATUS)0xC0010029L) // cause 3
  509. #define NDIS_STATUS_TOKEN_RING_OPEN_ERROR ((NDIS_STATUS)0xC0011000L)
  510. CONSTANT_ENTRY NdisTestConstantTable[] =
  511. {
  512. //
  513. // OID definitions (from ntddndis.h)
  514. //
  515. OID_GEN_SUPPORTED_LIST , "OID_GEN_SUPPORTED_LIST" , // 1
  516. OID_GEN_HARDWARE_STATUS , "OID_GEN_HARDWARE_STATUS" ,
  517. OID_GEN_MEDIA_SUPPORTED , "OID_GEN_MEDIA_SUPPORTED" ,
  518. OID_GEN_MEDIA_IN_USE , "OID_GEN_MEDIA_IN_USE" , // 4
  519. OID_GEN_MAXIMUM_LOOKAHEAD , "OID_GEN_MAXIMUM_LOOKAHEAD" ,
  520. OID_GEN_MAXIMUM_FRAME_SIZE , "OID_GEN_MAXIMUM_FRAME_SIZE" ,
  521. OID_GEN_LINK_SPEED , "OID_GEN_LINK_SPEED" ,
  522. OID_GEN_TRANSMIT_BUFFER_SPACE , "OID_GEN_TRANSMIT_BUFFER_SPACE" , // 8
  523. OID_GEN_RECEIVE_BUFFER_SPACE , "OID_GEN_RECEIVE_BUFFER_SPACE" ,
  524. OID_GEN_TRANSMIT_BLOCK_SIZE , "OID_GEN_TRANSMIT_BLOCK_SIZE" ,
  525. OID_GEN_RECEIVE_BLOCK_SIZE , "OID_GEN_RECEIVE_BLOCK_SIZE" ,
  526. OID_GEN_VENDOR_ID , "OID_GEN_VENDOR_ID" , // 12
  527. OID_GEN_VENDOR_DESCRIPTION , "OID_GEN_VENDOR_DESCRIPTION" ,
  528. OID_GEN_CURRENT_PACKET_FILTER , "OID_GEN_CURRENT_PACKET_FILTER" ,
  529. OID_GEN_CURRENT_LOOKAHEAD , "OID_GEN_CURRENT_LOOKAHEAD" ,
  530. OID_GEN_DRIVER_VERSION , "OID_GEN_DRIVER_VERSION" , // 16
  531. OID_GEN_MAXIMUM_TOTAL_SIZE , "OID_GEN_MAXIMUM_TOTAL_SIZE" ,
  532. OID_GEN_PROTOCOL_OPTIONS , "OID_GEN_PROTOCOL_OPTIONS" ,
  533. OID_GEN_MAC_OPTIONS , "OID_GEN_MAC_OPTIONS" ,
  534. OID_GEN_MEDIA_CONNECT_STATUS , "OID_GEN_MEDIA_CONNECT_STATUS" , // 20
  535. OID_GEN_MAXIMUM_SEND_PACKETS , "OID_GEN_MAXIMUM_SEND_PACKETS" ,
  536. OID_GEN_VENDOR_DRIVER_VERSION , "OID_GEN_VENDOR_DRIVER_VERSION" ,
  537. OID_GEN_SUPPORTED_GUIDS , "OID_GEN_SUPPORTED_GUIDS" ,
  538. OID_GEN_NETWORK_LAYER_ADDRESSES , "OID_GEN_NETWORK_LAYER_ADDRESSES" , // 24
  539. OID_GEN_XMIT_OK , "OID_GEN_XMIT_OK" ,
  540. OID_GEN_RCV_OK , "OID_GEN_RCV_OK" ,
  541. OID_GEN_XMIT_ERROR , "OID_GEN_XMIT_ERROR" ,
  542. OID_GEN_RCV_ERROR , "OID_GEN_RCV_ERROR" , // 28
  543. OID_GEN_RCV_NO_BUFFER , "OID_GEN_RCV_NO_BUFFER" ,
  544. OID_GEN_DIRECTED_BYTES_XMIT , "OID_GEN_DIRECTED_BYTES_XMIT" ,
  545. OID_GEN_DIRECTED_FRAMES_XMIT , "OID_GEN_DIRECTED_FRAMES_XMIT" ,
  546. OID_GEN_MULTICAST_BYTES_XMIT , "OID_GEN_MULTICAST_BYTES_XMIT" , // 32
  547. OID_GEN_MULTICAST_FRAMES_XMIT , "OID_GEN_MULTICAST_FRAMES_XMIT" ,
  548. OID_GEN_BROADCAST_BYTES_XMIT , "OID_GEN_BROADCAST_BYTES_XMIT" ,
  549. OID_GEN_BROADCAST_FRAMES_XMIT , "OID_GEN_BROADCAST_FRAMES_XMIT" ,
  550. OID_GEN_DIRECTED_BYTES_RCV , "OID_GEN_DIRECTED_BYTES_RCV" , // 36
  551. OID_GEN_DIRECTED_FRAMES_RCV , "OID_GEN_DIRECTED_FRAMES_RCV" ,
  552. OID_GEN_MULTICAST_BYTES_RCV , "OID_GEN_MULTICAST_BYTES_RCV" ,
  553. OID_GEN_MULTICAST_FRAMES_RCV , "OID_GEN_MULTICAST_FRAMES_RCV" ,
  554. OID_GEN_BROADCAST_BYTES_RCV , "OID_GEN_BROADCAST_BYTES_RCV" , // 40
  555. OID_GEN_BROADCAST_FRAMES_RCV , "OID_GEN_BROADCAST_FRAMES_RCV" ,
  556. OID_GEN_RCV_CRC_ERROR , "OID_GEN_RCV_CRC_ERROR" ,
  557. OID_GEN_TRANSMIT_QUEUE_LENGTH , "OID_GEN_TRANSMIT_QUEUE_LENGTH" ,
  558. OID_GEN_GET_TIME_CAPS , "OID_GEN_GET_TIME_CAPS" , // 44
  559. OID_GEN_GET_NETCARD_TIME , "OID_GEN_GET_NETCARD_TIME" , // 45
  560. //
  561. // 802.3 Objects
  562. //
  563. OID_802_3_PERMANENT_ADDRESS , "OID_802_3_PERMANENT_ADDRESS" , // 1
  564. OID_802_3_CURRENT_ADDRESS , "OID_802_3_CURRENT_ADDRESS" ,
  565. OID_802_3_MULTICAST_LIST , "OID_802_3_MULTICAST_LIST" ,
  566. OID_802_3_MAXIMUM_LIST_SIZE , "OID_802_3_MAXIMUM_LIST_SIZE" , // 4
  567. OID_802_3_MAC_OPTIONS , "OID_802_3_MAC_OPTIONS" ,
  568. OID_802_3_RCV_ERROR_ALIGNMENT , "OID_802_3_RCV_ERROR_ALIGNMENT" ,
  569. OID_802_3_XMIT_ONE_COLLISION , "OID_802_3_XMIT_ONE_COLLISION" ,
  570. OID_802_3_XMIT_MORE_COLLISIONS , "OID_802_3_XMIT_MORE_COLLISIONS" , // 8
  571. OID_802_3_XMIT_DEFERRED , "OID_802_3_XMIT_DEFERRED" ,
  572. OID_802_3_XMIT_MAX_COLLISIONS , "OID_802_3_XMIT_MAX_COLLISIONS" ,
  573. OID_802_3_RCV_OVERRUN , "OID_802_3_RCV_OVERRUN" ,
  574. OID_802_3_XMIT_UNDERRUN , "OID_802_3_XMIT_UNDERRUN" , // 12
  575. OID_802_3_XMIT_HEARTBEAT_FAILURE , "OID_802_3_XMIT_HEARTBEAT_FAILURE" ,
  576. OID_802_3_XMIT_TIMES_CRS_LOST , "OID_802_3_XMIT_TIMES_CRS_LOST" ,
  577. OID_802_3_XMIT_LATE_COLLISIONS , "OID_802_3_XMIT_LATE_COLLISIONS" , // 15
  578. //
  579. // 802.5 Objects
  580. //
  581. OID_802_5_PERMANENT_ADDRESS , "OID_802_5_PERMANENT_ADDRESS" , // 1
  582. OID_802_5_CURRENT_ADDRESS , "OID_802_5_CURRENT_ADDRESS" ,
  583. OID_802_5_CURRENT_FUNCTIONAL , "OID_802_5_CURRENT_FUNCTIONAL" ,
  584. OID_802_5_CURRENT_GROUP , "OID_802_5_CURRENT_GROUP" , // 4
  585. OID_802_5_LAST_OPEN_STATUS , "OID_802_5_LAST_OPEN_STATUS" ,
  586. OID_802_5_CURRENT_RING_STATUS , "OID_802_5_CURRENT_RING_STATUS" ,
  587. OID_802_5_CURRENT_RING_STATE , "OID_802_5_CURRENT_RING_STATE" ,
  588. OID_802_5_LINE_ERRORS , "OID_802_5_LINE_ERRORS" , // 8
  589. OID_802_5_LOST_FRAMES , "OID_802_5_LOST_FRAMES" ,
  590. OID_802_5_BURST_ERRORS , "OID_802_5_BURST_ERRORS" ,
  591. OID_802_5_AC_ERRORS , "OID_802_5_AC_ERRORS" ,
  592. OID_802_5_ABORT_DELIMETERS , "OID_802_5_ABORT_DELIMETERS" , // 12
  593. OID_802_5_FRAME_COPIED_ERRORS , "OID_802_5_FRAME_COPIED_ERRORS" ,
  594. OID_802_5_FREQUENCY_ERRORS , "OID_802_5_FREQUENCY_ERRORS" ,
  595. OID_802_5_TOKEN_ERRORS , "OID_802_5_TOKEN_ERRORS" ,
  596. OID_802_5_INTERNAL_ERRORS , "OID_802_5_INTERNAL_ERRORS" , // 16
  597. //
  598. // Fddi objects
  599. //
  600. OID_FDDI_LONG_PERMANENT_ADDR , "OID_FDDI_LONG_PERMANENT_ADDR" , // 1
  601. OID_FDDI_LONG_CURRENT_ADDR , "OID_FDDI_LONG_CURRENT_ADDR" ,
  602. OID_FDDI_LONG_MULTICAST_LIST , "OID_FDDI_LONG_MULTICAST_LIST" ,
  603. OID_FDDI_LONG_MAX_LIST_SIZE , "OID_FDDI_LONG_MAX_LIST_SIZE" , // 4
  604. OID_FDDI_SHORT_PERMANENT_ADDR , "OID_FDDI_SHORT_PERMANENT_ADDR" ,
  605. OID_FDDI_SHORT_CURRENT_ADDR , "OID_FDDI_SHORT_CURRENT_ADDR" ,
  606. OID_FDDI_SHORT_MULTICAST_LIST , "OID_FDDI_SHORT_MULTICAST_LIST" ,
  607. OID_FDDI_SHORT_MAX_LIST_SIZE , "OID_FDDI_SHORT_MAX_LIST_SIZE" , // 8
  608. OID_FDDI_ATTACHMENT_TYPE , "OID_FDDI_ATTACHMENT_TYPE" ,
  609. OID_FDDI_UPSTREAM_NODE_LONG , "OID_FDDI_UPSTREAM_NODE_LONG" ,
  610. OID_FDDI_DOWNSTREAM_NODE_LONG , "OID_FDDI_DOWNSTREAM_NODE_LONG" ,
  611. OID_FDDI_FRAME_ERRORS , "OID_FDDI_FRAME_ERRORS" , // 12
  612. OID_FDDI_FRAMES_LOST , "OID_FDDI_FRAMES_LOST" ,
  613. OID_FDDI_RING_MGT_STATE , "OID_FDDI_RING_MGT_STATE" ,
  614. OID_FDDI_LCT_FAILURES , "OID_FDDI_LCT_FAILURES" ,
  615. OID_FDDI_LEM_REJECTS , "OID_FDDI_LEM_REJECTS" , // 16
  616. OID_FDDI_LCONNECTION_STATE , "OID_FDDI_LCONNECTION_STATE" ,
  617. //
  618. // fddi SMT/MAC/PATH/PORT/IF objects
  619. //
  620. OID_FDDI_SMT_STATION_ID , "OID_FDDI_SMT_STATION_ID" ,
  621. OID_FDDI_SMT_OP_VERSION_ID , "OID_FDDI_SMT_OP_VERSION_ID" ,
  622. OID_FDDI_SMT_HI_VERSION_ID , "OID_FDDI_SMT_HI_VERSION_ID" , // 20
  623. OID_FDDI_SMT_LO_VERSION_ID , "OID_FDDI_SMT_LO_VERSION_ID" ,
  624. OID_FDDI_SMT_MANUFACTURER_DATA , "OID_FDDI_SMT_MANUFACTURER_DATA" ,
  625. OID_FDDI_SMT_USER_DATA , "OID_FDDI_SMT_USER_DATA" ,
  626. OID_FDDI_SMT_MIB_VERSION_ID , "OID_FDDI_SMT_MIB_VERSION_ID" , // 24
  627. OID_FDDI_SMT_MAC_CT , "OID_FDDI_SMT_MAC_CT" ,
  628. OID_FDDI_SMT_NON_MASTER_CT , "OID_FDDI_SMT_NON_MASTER_CT" ,
  629. OID_FDDI_SMT_MASTER_CT , "OID_FDDI_SMT_MASTER_CT" ,
  630. OID_FDDI_SMT_AVAILABLE_PATHS , "OID_FDDI_SMT_AVAILABLE_PATHS" , // 28
  631. OID_FDDI_SMT_CONFIG_CAPABILITIES , "OID_FDDI_SMT_CONFIG_CAPABILITIES" ,
  632. OID_FDDI_SMT_CONFIG_POLICY , "OID_FDDI_SMT_CONFIG_POLICY" ,
  633. OID_FDDI_SMT_CONNECTION_POLICY , "OID_FDDI_SMT_CONNECTION_POLICY" ,
  634. OID_FDDI_SMT_T_NOTIFY , "OID_FDDI_SMT_T_NOTIFY" , // 32
  635. OID_FDDI_SMT_STAT_RPT_POLICY , "OID_FDDI_SMT_STAT_RPT_POLICY" ,
  636. OID_FDDI_SMT_TRACE_MAX_EXPIRATION , "OID_FDDI_SMT_TRACE_MAX_EXPIRATION" ,
  637. OID_FDDI_SMT_PORT_INDEXES , "OID_FDDI_SMT_PORT_INDEXES" ,
  638. OID_FDDI_SMT_MAC_INDEXES , "OID_FDDI_SMT_MAC_INDEXES" , // 36
  639. OID_FDDI_SMT_BYPASS_PRESENT , "OID_FDDI_SMT_BYPASS_PRESENT" ,
  640. OID_FDDI_SMT_ECM_STATE , "OID_FDDI_SMT_ECM_STATE" ,
  641. OID_FDDI_SMT_CF_STATE , "OID_FDDI_SMT_CF_STATE" ,
  642. OID_FDDI_SMT_HOLD_STATE , "OID_FDDI_SMT_HOLD_STATE" , // 40
  643. OID_FDDI_SMT_REMOTE_DISCONNECT_FLAG , "OID_FDDI_SMT_REMOTE_DISCONNECT_FLAG",
  644. OID_FDDI_SMT_STATION_STATUS , "OID_FDDI_SMT_STATION_STATUS" ,
  645. OID_FDDI_SMT_PEER_WRAP_FLAG , "OID_FDDI_SMT_PEER_WRAP_FLAG" ,
  646. OID_FDDI_SMT_MSG_TIME_STAMP , "OID_FDDI_SMT_MSG_TIME_STAMP" , // 44
  647. OID_FDDI_SMT_TRANSITION_TIME_STAMP , "OID_FDDI_SMT_TRANSITION_TIME_STAMP",
  648. OID_FDDI_SMT_SET_COUNT , "OID_FDDI_SMT_SET_COUNT" ,
  649. OID_FDDI_SMT_LAST_SET_STATION_ID , "OID_FDDI_SMT_LAST_SET_STATION_ID" ,
  650. OID_FDDI_MAC_FRAME_STATUS_FUNCTIONS , "OID_FDDI_MAC_FRAME_STATUS_FUNCTIONS", // 48
  651. OID_FDDI_MAC_BRIDGE_FUNCTIONS , "OID_FDDI_MAC_BRIDGE_FUNCTIONS" ,
  652. OID_FDDI_MAC_T_MAX_CAPABILITY , "OID_FDDI_MAC_T_MAX_CAPABILITY" ,
  653. OID_FDDI_MAC_TVX_CAPABILITY , "OID_FDDI_MAC_TVX_CAPABILITY" ,
  654. OID_FDDI_MAC_AVAILABLE_PATHS , "OID_FDDI_MAC_AVAILABLE_PATHS" , // 52
  655. OID_FDDI_MAC_CURRENT_PATH , "OID_FDDI_MAC_CURRENT_PATH" ,
  656. OID_FDDI_MAC_UPSTREAM_NBR , "OID_FDDI_MAC_UPSTREAM_NBR" ,
  657. OID_FDDI_MAC_DOWNSTREAM_NBR , "OID_FDDI_MAC_DOWNSTREAM_NBR" ,
  658. OID_FDDI_MAC_OLD_UPSTREAM_NBR , "OID_FDDI_MAC_OLD_UPSTREAM_NBR" , // 56
  659. OID_FDDI_MAC_OLD_DOWNSTREAM_NBR , "OID_FDDI_MAC_OLD_DOWNSTREAM_NBR" ,
  660. OID_FDDI_MAC_DUP_ADDRESS_TEST , "OID_FDDI_MAC_DUP_ADDRESS_TEST" ,
  661. OID_FDDI_MAC_REQUESTED_PATHS , "OID_FDDI_MAC_REQUESTED_PATHS" ,
  662. OID_FDDI_MAC_DOWNSTREAM_PORT_TYPE , "OID_FDDI_MAC_DOWNSTREAM_PORT_TYPE" , // 60
  663. OID_FDDI_MAC_INDEX , "OID_FDDI_MAC_INDEX" ,
  664. OID_FDDI_MAC_SMT_ADDRESS , "OID_FDDI_MAC_SMT_ADDRESS" ,
  665. OID_FDDI_MAC_LONG_GRP_ADDRESS , "OID_FDDI_MAC_LONG_GRP_ADDRESS" ,
  666. OID_FDDI_MAC_SHORT_GRP_ADDRESS , "OID_FDDI_MAC_SHORT_GRP_ADDRESS" , // 64
  667. OID_FDDI_MAC_T_REQ , "OID_FDDI_MAC_T_REQ" ,
  668. OID_FDDI_MAC_T_NEG , "OID_FDDI_MAC_T_NEG" ,
  669. OID_FDDI_MAC_T_MAX , "OID_FDDI_MAC_T_MAX" ,
  670. OID_FDDI_MAC_TVX_VALUE , "OID_FDDI_MAC_TVX_VALUE" , // 68
  671. OID_FDDI_MAC_T_PRI0 , "OID_FDDI_MAC_T_PRI0" ,
  672. OID_FDDI_MAC_T_PRI1 , "OID_FDDI_MAC_T_PRI1" ,
  673. OID_FDDI_MAC_T_PRI2 , "OID_FDDI_MAC_T_PRI2" ,
  674. OID_FDDI_MAC_T_PRI3 , "OID_FDDI_MAC_T_PRI3" , // 72
  675. OID_FDDI_MAC_T_PRI4 , "OID_FDDI_MAC_T_PRI4" ,
  676. OID_FDDI_MAC_T_PRI5 , "OID_FDDI_MAC_T_PRI5" ,
  677. OID_FDDI_MAC_T_PRI6 , "OID_FDDI_MAC_T_PRI6" ,
  678. OID_FDDI_MAC_FRAME_CT , "OID_FDDI_MAC_FRAME_CT" , // 76
  679. OID_FDDI_MAC_COPIED_CT , "OID_FDDI_MAC_COPIED_CT" ,
  680. OID_FDDI_MAC_TRANSMIT_CT , "OID_FDDI_MAC_TRANSMIT_CT" ,
  681. OID_FDDI_MAC_TOKEN_CT , "OID_FDDI_MAC_TOKEN_CT" ,
  682. OID_FDDI_MAC_ERROR_CT , "OID_FDDI_MAC_ERROR_CT" , // 80
  683. OID_FDDI_MAC_LOST_CT , "OID_FDDI_MAC_LOST_CT" ,
  684. OID_FDDI_MAC_TVX_EXPIRED_CT , "OID_FDDI_MAC_TVX_EXPIRED_CT" ,
  685. OID_FDDI_MAC_NOT_COPIED_CT , "OID_FDDI_MAC_NOT_COPIED_CT" ,
  686. OID_FDDI_MAC_LATE_CT , "OID_FDDI_MAC_LATE_CT" , // 84
  687. OID_FDDI_MAC_RING_OP_CT , "OID_FDDI_MAC_RING_OP_CT" ,
  688. OID_FDDI_MAC_FRAME_ERROR_THRESHOLD , "OID_FDDI_MAC_FRAME_ERROR_THRESHOLD",
  689. OID_FDDI_MAC_FRAME_ERROR_RATIO , "OID_FDDI_MAC_FRAME_ERROR_RATIO" ,
  690. OID_FDDI_MAC_NOT_COPIED_THRESHOLD , "OID_FDDI_MAC_NOT_COPIED_THRESHOLD" , // 88
  691. OID_FDDI_MAC_NOT_COPIED_RATIO , "OID_FDDI_MAC_NOT_COPIED_RATIO" ,
  692. OID_FDDI_MAC_RMT_STATE , "OID_FDDI_MAC_RMT_STATE" ,
  693. OID_FDDI_MAC_DA_FLAG , "OID_FDDI_MAC_DA_FLAG" ,
  694. OID_FDDI_MAC_UNDA_FLAG , "OID_FDDI_MAC_UNDA_FLAG" , // 92
  695. OID_FDDI_MAC_FRAME_ERROR_FLAG , "OID_FDDI_MAC_FRAME_ERROR_FLAG" ,
  696. OID_FDDI_MAC_NOT_COPIED_FLAG , "OID_FDDI_MAC_NOT_COPIED_FLAG" ,
  697. OID_FDDI_MAC_MA_UNITDATA_AVAILABLE , "OID_FDDI_MAC_MA_UNITDATA_AVAILABLE",
  698. OID_FDDI_MAC_HARDWARE_PRESENT , "OID_FDDI_MAC_HARDWARE_PRESENT" , // 96
  699. OID_FDDI_MAC_MA_UNITDATA_ENABLE , "OID_FDDI_MAC_MA_UNITDATA_ENABLE" ,
  700. OID_FDDI_PATH_INDEX , "OID_FDDI_PATH_INDEX" ,
  701. OID_FDDI_PATH_RING_LATENCY , "OID_FDDI_PATH_RING_LATENCY" ,
  702. OID_FDDI_PATH_TRACE_STATUS , "OID_FDDI_PATH_TRACE_STATUS" , // 100
  703. OID_FDDI_PATH_SBA_PAYLOAD , "OID_FDDI_PATH_SBA_PAYLOAD" ,
  704. OID_FDDI_PATH_SBA_OVERHEAD , "OID_FDDI_PATH_SBA_OVERHEAD" ,
  705. OID_FDDI_PATH_CONFIGURATION , "OID_FDDI_PATH_CONFIGURATION" ,
  706. OID_FDDI_PATH_T_R_MODE , "OID_FDDI_PATH_T_R_MODE" , // 104
  707. OID_FDDI_PATH_SBA_AVAILABLE , "OID_FDDI_PATH_SBA_AVAILABLE" ,
  708. OID_FDDI_PATH_TVX_LOWER_BOUND , "OID_FDDI_PATH_TVX_LOWER_BOUND" ,
  709. OID_FDDI_PATH_T_MAX_LOWER_BOUND , "OID_FDDI_PATH_T_MAX_LOWER_BOUND" ,
  710. OID_FDDI_PATH_MAX_T_REQ , "OID_FDDI_PATH_MAX_T_REQ" , // 108
  711. OID_FDDI_PORT_MY_TYPE , "OID_FDDI_PORT_MY_TYPE" ,
  712. OID_FDDI_PORT_NEIGHBOR_TYPE , "OID_FDDI_PORT_NEIGHBOR_TYPE" ,
  713. OID_FDDI_PORT_CONNECTION_POLICIES , "OID_FDDI_PORT_CONNECTION_POLICIES" ,
  714. OID_FDDI_PORT_MAC_INDICATED , "OID_FDDI_PORT_MAC_INDICATED" , // 112
  715. OID_FDDI_PORT_CURRENT_PATH , "OID_FDDI_PORT_CURRENT_PATH" ,
  716. OID_FDDI_PORT_REQUESTED_PATHS , "OID_FDDI_PORT_REQUESTED_PATHS" ,
  717. OID_FDDI_PORT_MAC_PLACEMENT , "OID_FDDI_PORT_MAC_PLACEMENT" ,
  718. OID_FDDI_PORT_AVAILABLE_PATHS , "OID_FDDI_PORT_AVAILABLE_PATHS" , // 116
  719. OID_FDDI_PORT_MAC_LOOP_TIME , "OID_FDDI_PORT_MAC_LOOP_TIME" ,
  720. OID_FDDI_PORT_PMD_CLASS , "OID_FDDI_PORT_PMD_CLASS" ,
  721. OID_FDDI_PORT_CONNECTION_CAPABILITIES , "OID_FDDI_PORT_CONNECTION_CAPABILITIES",
  722. OID_FDDI_PORT_INDEX , "OID_FDDI_PORT_INDEX" , // 120
  723. OID_FDDI_PORT_MAINT_LS , "OID_FDDI_PORT_MAINT_LS" ,
  724. OID_FDDI_PORT_BS_FLAG , "OID_FDDI_PORT_BS_FLAG" ,
  725. OID_FDDI_PORT_PC_LS , "OID_FDDI_PORT_PC_LS" ,
  726. OID_FDDI_PORT_EB_ERROR_CT , "OID_FDDI_PORT_EB_ERROR_CT" , // 124
  727. OID_FDDI_PORT_LCT_FAIL_CT , "OID_FDDI_PORT_LCT_FAIL_CT" ,
  728. OID_FDDI_PORT_LER_ESTIMATE , "OID_FDDI_PORT_LER_ESTIMATE" ,
  729. OID_FDDI_PORT_LEM_REJECT_CT , "OID_FDDI_PORT_LEM_REJECT_CT" ,
  730. OID_FDDI_PORT_LEM_CT , "OID_FDDI_PORT_LEM_CT" , // 128
  731. OID_FDDI_PORT_LER_CUTOFF , "OID_FDDI_PORT_LER_CUTOFF" ,
  732. OID_FDDI_PORT_LER_ALARM , "OID_FDDI_PORT_LER_ALARM" ,
  733. OID_FDDI_PORT_CONNNECT_STATE , "OID_FDDI_PORT_CONNNECT_STATE" ,
  734. OID_FDDI_PORT_PCM_STATE , "OID_FDDI_PORT_PCM_STATE" , // 132
  735. OID_FDDI_PORT_PC_WITHHOLD , "OID_FDDI_PORT_PC_WITHHOLD" ,
  736. OID_FDDI_PORT_LER_FLAG , "OID_FDDI_PORT_LER_FLAG" ,
  737. OID_FDDI_PORT_HARDWARE_PRESENT , "OID_FDDI_PORT_HARDWARE_PRESENT" ,
  738. OID_FDDI_SMT_STATION_ACTION , "OID_FDDI_SMT_STATION_ACTION" , // 136
  739. OID_FDDI_PORT_ACTION , "OID_FDDI_PORT_ACTION" ,
  740. OID_FDDI_IF_DESCR , "OID_FDDI_IF_DESCR" ,
  741. OID_FDDI_IF_TYPE , "OID_FDDI_IF_TYPE" ,
  742. OID_FDDI_IF_MTU , "OID_FDDI_IF_MTU" , // 140
  743. OID_FDDI_IF_SPEED , "OID_FDDI_IF_SPEED" ,
  744. OID_FDDI_IF_PHYS_ADDRESS , "OID_FDDI_IF_PHYS_ADDRESS" ,
  745. OID_FDDI_IF_ADMIN_STATUS , "OID_FDDI_IF_ADMIN_STATUS" ,
  746. OID_FDDI_IF_OPER_STATUS , "OID_FDDI_IF_OPER_STATUS" , // 144
  747. OID_FDDI_IF_LAST_CHANGE , "OID_FDDI_IF_LAST_CHANGE" ,
  748. OID_FDDI_IF_IN_OCTETS , "OID_FDDI_IF_IN_OCTETS" ,
  749. OID_FDDI_IF_IN_UCAST_PKTS , "OID_FDDI_IF_IN_UCAST_PKTS" ,
  750. OID_FDDI_IF_IN_NUCAST_PKTS , "OID_FDDI_IF_IN_NUCAST_PKTS" , // 148
  751. OID_FDDI_IF_IN_DISCARDS , "OID_FDDI_IF_IN_DISCARDS" ,
  752. OID_FDDI_IF_IN_ERRORS , "OID_FDDI_IF_IN_ERRORS" ,
  753. OID_FDDI_IF_IN_UNKNOWN_PROTOS , "OID_FDDI_IF_IN_UNKNOWN_PROTOS" ,
  754. OID_FDDI_IF_OUT_OCTETS , "OID_FDDI_IF_OUT_OCTETS" , // 152
  755. OID_FDDI_IF_OUT_UCAST_PKTS , "OID_FDDI_IF_OUT_UCAST_PKTS" ,
  756. OID_FDDI_IF_OUT_NUCAST_PKTS , "OID_FDDI_IF_OUT_NUCAST_PKTS" ,
  757. OID_FDDI_IF_OUT_DISCARDS , "OID_FDDI_IF_OUT_DISCARDS" ,
  758. OID_FDDI_IF_OUT_ERRORS , "OID_FDDI_IF_OUT_ERRORS" , // 156
  759. OID_FDDI_IF_OUT_QLEN , "OID_FDDI_IF_OUT_QLEN" ,
  760. OID_FDDI_IF_SPECIFIC , "OID_FDDI_IF_SPECIFIC" , // 158
  761. //
  762. // WAN objects
  763. //
  764. OID_WAN_PERMANENT_ADDRESS , "OID_WAN_PERMANENT_ADDRESS" , // 1
  765. OID_WAN_CURRENT_ADDRESS , "OID_WAN_CURRENT_ADDRESS" ,
  766. OID_WAN_QUALITY_OF_SERVICE , "OID_WAN_QUALITY_OF_SERVICE" ,
  767. OID_WAN_PROTOCOL_TYPE , "OID_WAN_PROTOCOL_TYPE" , // 4
  768. OID_WAN_MEDIUM_SUBTYPE , "OID_WAN_MEDIUM_SUBTYPE" ,
  769. OID_WAN_HEADER_FORMAT , "OID_WAN_HEADER_FORMAT" ,
  770. OID_WAN_GET_INFO , "OID_WAN_GET_INFO" ,
  771. OID_WAN_SET_LINK_INFO , "OID_WAN_SET_LINK_INFO" , // 8
  772. OID_WAN_GET_LINK_INFO , "OID_WAN_GET_LINK_INFO" ,
  773. OID_WAN_LINE_COUNT , "OID_WAN_LINE_COUNT" ,
  774. OID_WAN_GET_BRIDGE_INFO , "OID_WAN_GET_BRIDGE_INFO" ,
  775. OID_WAN_SET_BRIDGE_INFO , "OID_WAN_SET_BRIDGE_INFO" , // 12
  776. OID_WAN_GET_COMP_INFO , "OID_WAN_GET_COMP_INFO" ,
  777. OID_WAN_SET_COMP_INFO , "OID_WAN_SET_COMP_INFO" ,
  778. OID_WAN_GET_STATS_INFO , "OID_WAN_GET_STATS_INFO" , // 15
  779. //
  780. // ARCNET objects
  781. //
  782. OID_ARCNET_PERMANENT_ADDRESS , "OID_ARCNET_PERMANENT_ADDRESS" , // 1
  783. OID_ARCNET_CURRENT_ADDRESS , "OID_ARCNET_CURRENT_ADDRESS" ,
  784. OID_ARCNET_RECONFIGURATIONS , "OID_ARCNET_RECONFIGURATIONS" , // 3
  785. //
  786. // ATM objects
  787. //
  788. OID_ATM_SUPPORTED_VC_RATES , "OID_ATM_SUPPORTED_VC_RATES" , // 1
  789. OID_ATM_SUPPORTED_SERVICE_CATEGORY , "OID_ATM_SUPPORTED_SERVICE_CATEGORY",
  790. OID_ATM_SUPPORTED_AAL_TYPES , "OID_ATM_SUPPORTED_AAL_TYPES" ,
  791. OID_ATM_HW_CURRENT_ADDRESS , "OID_ATM_HW_CURRENT_ADDRESS" , // 4
  792. OID_ATM_MAX_ACTIVE_VCS , "OID_ATM_MAX_ACTIVE_VCS" ,
  793. OID_ATM_MAX_ACTIVE_VCI_BITS , "OID_ATM_MAX_ACTIVE_VCI_BITS" ,
  794. OID_ATM_MAX_ACTIVE_VPI_BITS , "OID_ATM_MAX_ACTIVE_VPI_BITS" ,
  795. OID_ATM_MAX_AAL0_PACKET_SIZE , "OID_ATM_MAX_AAL0_PACKET_SIZE" , // 8
  796. OID_ATM_MAX_AAL1_PACKET_SIZE , "OID_ATM_MAX_AAL1_PACKET_SIZE" ,
  797. OID_ATM_MAX_AAL34_PACKET_SIZE , "OID_ATM_MAX_AAL34_PACKET_SIZE" ,
  798. OID_ATM_MAX_AAL5_PACKET_SIZE , "OID_ATM_MAX_AAL5_PACKET_SIZE" ,
  799. OID_ATM_SIGNALING_VPIVCI , "OID_ATM_SIGNALING_VPIVCI" , // 12
  800. OID_ATM_ASSIGNED_VPI , "OID_ATM_ASSIGNED_VPI" ,
  801. OID_ATM_ACQUIRE_ACCESS_NET_RESOURCES, "OID_ATM_ACQUIRE_ACCESS_NET_RESOURCES" ,
  802. OID_ATM_RELEASE_ACCESS_NET_RESOURCES, "OID_ATM_RELEASE_ACCESS_NET_RESOURCES" ,
  803. OID_ATM_ILMI_VPIVCI , "OID_ATM_ILMI_VPIVCI" , // 16
  804. OID_ATM_DIGITAL_BROADCAST_VPIVCI , "OID_ATM_DIGITAL_BROADCAST_VPIVCI" ,
  805. OID_ATM_GET_NEAREST_FLOW , "OID_ATM_GET_NEAREST_FLOW" ,
  806. OID_ATM_ALIGNMENT_REQUIRED , "OID_ATM_ALIGNMENT_REQUIRED" ,
  807. // OID_ATM_LECS_ADDRESS???
  808. OID_ATM_SERVICE_ADDRESS , "OID_ATM_SERVICE_ADDRESS" , // 20
  809. OID_ATM_RCV_CELLS_OK , "OID_ATM_RCV_CELLS_OK" ,
  810. OID_ATM_XMIT_CELLS_OK , "OID_ATM_XMIT_CELLS_OK" ,
  811. OID_ATM_RCV_CELLS_DROPPED , "OID_ATM_RCV_CELLS_DROPPED" ,
  812. OID_ATM_RCV_INVALID_VPI_VCI , "OID_ATM_RCV_INVALID_VPI_VCI" , // 24
  813. OID_ATM_CELLS_HEC_ERROR , "OID_ATM_CELLS_HEC_ERROR" ,
  814. OID_ATM_RCV_REASSEMBLY_ERROR , "OID_ATM_RCV_REASSEMBLY_ERROR" , // 26
  815. //
  816. // PCCA (Wireless) objects
  817. //
  818. // All WirelessWAN devices must support the following OIDs
  819. //
  820. OID_WW_GEN_NETWORK_TYPES_SUPPORTED , "OID_WW_GEN_NETWORK_TYPES_SUPPORTED" , // 1
  821. OID_WW_GEN_NETWORK_TYPE_IN_USE , "OID_WW_GEN_NETWORK_TYPE_IN_USE" ,
  822. OID_WW_GEN_HEADER_FORMATS_SUPPORTED , "OID_WW_GEN_HEADER_FORMATS_SUPPORTED" ,
  823. OID_WW_GEN_HEADER_FORMAT_IN_USE , "OID_WW_GEN_HEADER_FORMAT_IN_USE" , // 4
  824. OID_WW_GEN_INDICATION_REQUEST , "OID_WW_GEN_INDICATION_REQUEST" ,
  825. OID_WW_GEN_DEVICE_INFO , "OID_WW_GEN_DEVICE_INFO" ,
  826. OID_WW_GEN_OPERATION_MODE , "OID_WW_GEN_OPERATION_MODE" ,
  827. OID_WW_GEN_LOCK_STATUS , "OID_WW_GEN_LOCK_STATUS" , // 8
  828. OID_WW_GEN_DISABLE_TRANSMITTER , "OID_WW_GEN_DISABLE_TRANSMITTER" ,
  829. OID_WW_GEN_NETWORK_ID , "OID_WW_GEN_NETWORK_ID" ,
  830. OID_WW_GEN_PERMANENT_ADDRESS , "OID_WW_GEN_PERMANENT_ADDRESS" ,
  831. OID_WW_GEN_CURRENT_ADDRESS , "OID_WW_GEN_CURRENT_ADDRESS" , // 12
  832. OID_WW_GEN_SUSPEND_DRIVER , "OID_WW_GEN_SUSPEND_DRIVER" ,
  833. OID_WW_GEN_BASESTATION_ID , "OID_WW_GEN_BASESTATION_ID" ,
  834. OID_WW_GEN_CHANNEL_ID , "OID_WW_GEN_CHANNEL_ID" ,
  835. OID_WW_GEN_ENCRYPTION_SUPPORTED , "OID_WW_GEN_ENCRYPTION_SUPPORTED" , // 16
  836. OID_WW_GEN_ENCRYPTION_IN_USE , "OID_WW_GEN_ENCRYPTION_IN_USE" ,
  837. OID_WW_GEN_ENCRYPTION_STATE , "OID_WW_GEN_ENCRYPTION_STATE" ,
  838. OID_WW_GEN_CHANNEL_QUALITY , "OID_WW_GEN_CHANNEL_QUALITY" ,
  839. OID_WW_GEN_REGISTRATION_STATUS , "OID_WW_GEN_REGISTRATION_STATUS" , // 20
  840. OID_WW_GEN_RADIO_LINK_SPEED , "OID_WW_GEN_RADIO_LINK_SPEED" ,
  841. OID_WW_GEN_LATENCY , "OID_WW_GEN_LATENCY" ,
  842. OID_WW_GEN_BATTERY_LEVEL , "OID_WW_GEN_BATTERY_LEVEL" ,
  843. OID_WW_GEN_EXTERNAL_POWER , "OID_WW_GEN_EXTERNAL_POWER" , // 24
  844. //
  845. // Network Dependent OIDs - Mobitex:
  846. //
  847. OID_WW_MBX_SUBADDR , "OID_WW_MBX_SUBADDR" ,
  848. OID_WW_MBX_FLEXLIST , "OID_WW_MBX_FLEXLIST" ,
  849. OID_WW_MBX_GROUPLIST , "OID_WW_MBX_GROUPLIST" ,
  850. OID_WW_MBX_TRAFFIC_AREA , "OID_WW_MBX_TRAFFIC_AREA" , // 28
  851. OID_WW_MBX_LIVE_DIE , "OID_WW_MBX_LIVE_DIE" ,
  852. OID_WW_MBX_TEMP_DEFAULTLIST , "OID_WW_MBX_TEMP_DEFAULTLIST" ,
  853. //
  854. // Network Dependent OIDs - Pinpoint:
  855. //
  856. OID_WW_PIN_LOC_AUTHORIZE , "OID_WW_PIN_LOC_AUTHORIZE" ,
  857. OID_WW_PIN_LAST_LOCATION , "OID_WW_PIN_LAST_LOCATION" , // 32
  858. OID_WW_PIN_LOC_FIX , "OID_WW_PIN_LOC_FIX" ,
  859. //
  860. // Network Dependent - CDPD:
  861. //
  862. OID_WW_CDPD_SPNI , "OID_WW_CDPD_SPNI" ,
  863. OID_WW_CDPD_WASI , "OID_WW_CDPD_WASI" ,
  864. OID_WW_CDPD_AREA_COLOR , "OID_WW_CDPD_AREA_COLOR" , // 36
  865. OID_WW_CDPD_TX_POWER_LEVEL , "OID_WW_CDPD_TX_POWER_LEVEL" ,
  866. OID_WW_CDPD_EID , "OID_WW_CDPD_EID" ,
  867. OID_WW_CDPD_HEADER_COMPRESSION , "OID_WW_CDPD_HEADER_COMPRESSION" ,
  868. OID_WW_CDPD_DATA_COMPRESSION , "OID_WW_CDPD_DATA_COMPRESSION" , // 40
  869. OID_WW_CDPD_CHANNEL_SELECT , "OID_WW_CDPD_CHANNEL_SELECT" ,
  870. OID_WW_CDPD_CHANNEL_STATE , "OID_WW_CDPD_CHANNEL_STATE" ,
  871. OID_WW_CDPD_NEI , "OID_WW_CDPD_NEI" ,
  872. OID_WW_CDPD_NEI_STATE , "OID_WW_CDPD_NEI_STATE" , // 44
  873. OID_WW_CDPD_SERVICE_PROVIDER_IDENTIFIER, "OID_WW_CDPD_SERVICE_PROVIDER_IDENTIFIER" ,
  874. OID_WW_CDPD_SLEEP_MODE , "OID_WW_CDPD_SLEEP_MODE" ,
  875. OID_WW_CDPD_CIRCUIT_SWITCHED , "OID_WW_CDPD_CIRCUIT_SWITCHED" ,
  876. OID_WW_CDPD_TEI , "OID_WW_CDPD_TEI" , // 48
  877. OID_WW_CDPD_RSSI , "OID_WW_CDPD_RSSI" ,
  878. //
  879. // Network Dependent - Ardis:
  880. //
  881. OID_WW_ARD_SNDCP , "OID_WW_ARD_SNDCP" ,
  882. OID_WW_ARD_TMLY_MSG , "OID_WW_ARD_TMLY_MSG" ,
  883. OID_WW_ARD_DATAGRAM , "OID_WW_ARD_DATAGRAM" , // 52
  884. //
  885. // Network Dependent - DataTac:
  886. //
  887. OID_WW_TAC_COMPRESSION , "OID_WW_TAC_COMPRESSION" ,
  888. OID_WW_TAC_SET_CONFIG , "OID_WW_TAC_SET_CONFIG" ,
  889. OID_WW_TAC_GET_STATUS , "OID_WW_TAC_GET_STATUS" ,
  890. OID_WW_TAC_USER_HEADER , "OID_WW_TAC_USER_HEADER" , // 56
  891. //
  892. // Network Dependent - Metricom:
  893. //
  894. OID_WW_MET_FUNCTION , "OID_WW_MET_FUNCTION" , // 57
  895. //
  896. // IRDA objects
  897. //
  898. OID_IRDA_RECEIVING , "OID_IRDA_RECEIVING" , // 1
  899. OID_IRDA_TURNAROUND_TIME , "OID_IRDA_TURNAROUND_TIME" ,
  900. OID_IRDA_SUPPORTED_SPEEDS , "OID_IRDA_SUPPORTED_SPEEDS" ,
  901. OID_IRDA_LINK_SPEED , "OID_IRDA_LINK_SPEED" , // 4
  902. OID_IRDA_MEDIA_BUSY , "OID_IRDA_MEDIA_BUSY" ,
  903. OID_IRDA_EXTRA_RCV_BOFS , "OID_IRDA_EXTRA_RCV_BOFS" ,
  904. OID_IRDA_RATE_SNIFF , "OID_IRDA_RATE_SNIFF" ,
  905. OID_IRDA_UNICAST_LIST , "OID_IRDA_UNICAST_LIST" , // 8
  906. OID_IRDA_MAX_UNICAST_LIST_SIZE , "OID_IRDA_MAX_UNICAST_LIST_SIZE" ,
  907. OID_IRDA_MAX_RECEIVE_WINDOW_SIZE , "OID_IRDA_MAX_RECEIVE_WINDOW_SIZE" ,
  908. OID_IRDA_MAX_SEND_WINDOW_SIZE , "OID_IRDA_MAX_SEND_WINDOW_SIZE" , // 11
  909. //
  910. // broadcast pc objects
  911. //
  912. #ifdef BROADCAST_PC
  913. #ifdef OLD_BPC
  914. OID_DSS_DATA_DEVICES , "OID_DSS_DATA_DEVICES" ,
  915. OID_DSS_TUNING_DEVICES , "OID_DSS_TUNING_DEVICES" ,
  916. OID_DSS_DATA_DEVICE_CAPS , "OID_DSS_DATA_DEVICE_CAPS" ,
  917. OID_DSS_PROGRAM_GUIDE , "OID_DSS_PROGRAM_GUIDE" , // 4
  918. OID_DSS_LAST_STATUS , "OID_DSS_LAST_STATUS" ,
  919. OID_DSS_DATA_DEVICE_SETTINGS , "OID_DSS_DATA_DEVICE_SETTINGS" ,
  920. OID_DSS_DATA_DEVICE_CONNECT , "OID_DSS_DATA_DEVICE_CONNECT" ,
  921. OID_DSS_DATA_DEVICE_DISCONNECT , "OID_DSS_DATA_DEVICE_DISCONNECT" , // 8
  922. OID_DSS_DATA_DEVICE_ENABLE , "OID_DSS_DATA_DEVICE_ENABLE" ,
  923. OID_DSS_DATA_DEVICE_TUNING , "OID_DSS_DATA_DEVICE_TUNING" ,
  924. OID_DSS_CONDITIONAL_ACCESS , "OID_DSS_CONDITIONAL_ACCESS" ,
  925. OID_DSS_POOL_RETURN , "OID_DSS_POOL_RETURN" , // 12
  926. OID_DSS_FORCE_RECEIVE , "OID_DSS_FORCE_RECEIVE" ,
  927. OID_DSS_SUBSCID_FILTER , "OID_DSS_SUBSCID_FILTER" ,
  928. OID_DSS_TUNING_DEVICE_SETTINGS , "OID_DSS_TUNING_DEVICE_SETTINGS" ,
  929. OID_DSS_POOL_RESERVE , "OID_DSS_POOL_RESERVE" , // 16
  930. OID_DSS_ADAPTER_SPECIFIC , "OID_DSS_ADAPTER_SPECIFIC" , // 17
  931. 0xfedcba98 , "YE_OLD_BOGUS_OID" , // so I
  932. don't have to update count below
  933. #else
  934. OID_BPC_ADAPTER_CAPS , "OID_BPC_ADAPTER_CAPS" , // 1
  935. OID_BPC_DEVICES , "OID_BPC_DEVICES" ,
  936. OID_BPC_DEVICE_CAPS , "OID_BPC_DEVICE_CAPS" ,
  937. OID_BPC_DEVICE_SETTINGS , "OID_BPC_DEVICE_SETTINGS" , // 4
  938. OID_BPC_CONNECTION_STATUS , "OID_BPC_CONNECTION_STATUS" ,
  939. OID_BPC_ADDRESS_COMPARE , "OID_BPC_ADDRESS_COMPARE" ,
  940. OID_BPC_PROGRAM_GUIDE , "OID_BPC_PROGRAM_GUIDE" ,
  941. OID_BPC_LAST_ERROR , "OID_BPC_LAST_ERROR" , // 8
  942. OID_BPC_POOL , "OID_BPC_POOL" ,
  943. OID_BPC_PROVIDER_SPECIFIC , "OID_BPC_PROVIDER_SPECIFIC" ,
  944. OID_BPC_ADAPTER_SPECIFIC , "OID_BPC_ADAPTER_SPECIFIC" ,
  945. OID_BPC_CONNECT , "OID_BPC_CONNECT" , // 12
  946. OID_BPC_COMMIT , "OID_BPC_COMMIT" ,
  947. OID_BPC_DISCONNECT , "OID_BPC_DISCONNECT" ,
  948. OID_BPC_CONNECTION_ENABLE , "OID_BPC_CONNECTION_ENABLE" ,
  949. OID_BPC_POOL_RESERVE , "OID_BPC_POOL_RESERVE" , // 16
  950. OID_BPC_POOL_RETURN , "OID_BPC_POOL_RETURN" ,
  951. OID_BPC_FORCE_RECEIVE , "OID_BPC_FORCE_RECEIVE" , // 18
  952. #endif
  953. #endif
  954. //
  955. // PnP and PM OIDs
  956. //
  957. OID_PNP_CAPABILITIES , "OID_PNP_CAPABILITIES" , // 1
  958. OID_PNP_SET_POWER , "OID_PNP_SET_POWER" ,
  959. OID_PNP_QUERY_POWER , "OID_PNP_QUERY_POWER" ,
  960. OID_PNP_ADD_WAKE_UP_PATTERN , "OID_PNP_ADD_WAKE_UP_PATTERN" , // 4
  961. OID_PNP_REMOVE_WAKE_UP_PATTERN , "OID_PNP_REMOVE_WAKE_UP_PATTERN" ,
  962. OID_PNP_WAKE_UP_PATTERN_LIST , "OID_PNP_WAKE_UP_PATTERN_LIST" ,
  963. OID_PNP_ENABLE_WAKE_UP , "OID_PNP_ENABLE_WAKE_UP" ,
  964. //
  965. // PnP/PM Statistics (Optional).
  966. //
  967. OID_PNP_WAKE_UP_OK , "OID_PNP_WAKE_UP_OK" , // 8
  968. OID_PNP_WAKE_UP_ERROR , "OID_PNP_WAKE_UP_ERROR" , // 9
  969. //
  970. // Generic CoNdis Oids.. (note that numbers overlap Generic Oids
  971. //
  972. OID_GEN_CO_SUPPORTED_LIST , "OID_GEN_CO_SUPPORTED_LIST" , // 1
  973. OID_GEN_CO_HARDWARE_STATUS , "OID_GEN_CO_HARDWARE_STATUS" ,
  974. OID_GEN_CO_MEDIA_SUPPORTED , "OID_GEN_CO_MEDIA_SUPPORTED" ,
  975. OID_GEN_CO_MEDIA_IN_USE , "OID_GEN_CO_MEDIA_IN_USE" , // 4
  976. OID_GEN_CO_LINK_SPEED , "OID_GEN_CO_LINK_SPEED" ,
  977. OID_GEN_CO_VENDOR_ID , "OID_GEN_CO_VENDOR_ID" ,
  978. OID_GEN_CO_VENDOR_DESCRIPTION , "OID_GEN_CO_VENDOR_DESCRIPTION" ,
  979. OID_GEN_CO_DRIVER_VERSION , "OID_GEN_CO_DRIVER_VERSION" , // 8
  980. OID_GEN_CO_PROTOCOL_OPTIONS , "OID_GEN_CO_PROTOCOL_OPTIONS" ,
  981. OID_GEN_CO_MAC_OPTIONS , "OID_GEN_CO_MAC_OPTIONS" ,
  982. OID_GEN_CO_MEDIA_CONNECT_STATUS , "OID_GEN_CO_MEDIA_CONNECT_STATUS" ,
  983. OID_GEN_CO_VENDOR_DRIVER_VERSION , "OID_GEN_CO_VENDOR_DRIVER_VERSION" , // 12
  984. OID_GEN_CO_MINIMUM_LINK_SPEED , "OID_GEN_CO_MINIMUM_LINK_SPEED" ,
  985. OID_GEN_CO_SUPPORTED_GUIDS , "OID_GEN_CO_SUPPORTED_GUIDS" ,
  986. OID_GEN_CO_GET_TIME_CAPS , "OID_GEN_CO_GET_TIME_CAPS" ,
  987. OID_GEN_CO_GET_NETCARD_TIME , "OID_GEN_CO_GET_NETCARD_TIME" , // 16
  988. OID_GEN_CO_XMIT_PDUS_OK , "OID_GEN_CO_XMIT_PDUS_OK" ,
  989. OID_GEN_CO_RCV_PDUS_OK , "OID_GEN_CO_RCV_PDUS_OK" ,
  990. OID_GEN_CO_XMIT_PDUS_ERROR , "OID_GEN_CO_XMIT_PDUS_ERROR" ,
  991. OID_GEN_CO_RCV_PDUS_ERROR , "OID_GEN_CO_RCV_PDUS_ERROR" , // 20
  992. OID_GEN_CO_RCV_PDUS_NO_BUFFER , "OID_GEN_CO_RCV_PDUS_NO_BUFFER" ,
  993. OID_GEN_CO_RCV_CRC_ERROR , "OID_GEN_CO_RCV_CRC_ERROR" ,
  994. OID_GEN_CO_TRANSMIT_QUEUE_LENGTH , "OID_GEN_CO_TRANSMIT_QUEUE_LENGTH" ,
  995. OID_GEN_CO_BYTES_XMIT , "OID_GEN_CO_BYTES_XMIT" , // 24
  996. OID_GEN_CO_BYTES_RCV , "OID_GEN_CO_BYTES_RCV" ,
  997. OID_GEN_CO_BYTES_XMIT_OUTSTANDING , "OID_GEN_CO_BYTES_XMIT_OUTSTANDING" ,
  998. OID_GEN_CO_NETCARD_LOAD , "OID_GEN_CO_NETCARD_LOAD" ,
  999. OID_GEN_CO_DEVICE_PROFILE , "OID_GEN_CO_DEVICE_PROFILE" , // 28
  1000. //
  1001. // filter types
  1002. //
  1003. NDIS_PACKET_TYPE_DIRECTED , "DIRECTED" ,
  1004. NDIS_PACKET_TYPE_MULTICAST , "MULTICAST" ,
  1005. NDIS_PACKET_TYPE_ALL_MULTICAST , "ALLMULTICAST" ,
  1006. NDIS_PACKET_TYPE_BROADCAST , "BROADCAST" ,
  1007. NDIS_PACKET_TYPE_SOURCE_ROUTING , "SOURCEROUTING" ,
  1008. NDIS_PACKET_TYPE_PROMISCUOUS , "PROMISCUOUS" ,
  1009. NDIS_PACKET_TYPE_SMT , "SMT" ,
  1010. NDIS_PACKET_TYPE_ALL_LOCAL , "ALL_LOCAL" ,
  1011. NDIS_PACKET_TYPE_MAC_FRAME , "MACFRAME" ,
  1012. NDIS_PACKET_TYPE_FUNCTIONAL , "FUNCTIONAL" ,
  1013. NDIS_PACKET_TYPE_ALL_FUNCTIONAL , "ALLFUNCTIONAL" ,
  1014. NDIS_PACKET_TYPE_GROUP , "GROUP" ,
  1015. 0x00000000 , "NONE" ,
  1016. //
  1017. // test result returns
  1018. //
  1019. ulTEST_SUCCESSFUL , "TEST_SUCCESSFUL" ,
  1020. ulTEST_WARNED , "TEST_WARNED" ,
  1021. ulTEST_FAILED , "TEST_FAILED" ,
  1022. ulTEST_BLOCKED , "TEST_BLOCKED" ,
  1023. //
  1024. // media types for return to shell
  1025. //
  1026. ulMEDIUM_ETHERNET , "MEDIUM_ETHERNET" ,
  1027. ulMEDIUM_TOKENRING , "MEDIUM_TOKENRING" ,
  1028. ulMEDIUM_FDDI , "MEDIUM_FDDI" ,
  1029. ulMEDIUM_ARCNET , "MEDIUM_ARCNET" ,
  1030. ulMEDIUM_WIRELESSWAN , "MEDIUM_WIRELESSWAN" ,
  1031. ulMEDIUM_IRDA , "MEDIUM_IRDA" ,
  1032. ulMEDIUM_ATM , "MEDIUM_ATM" ,
  1033. ulMEDIUM_NDISWAN , "MEDIUM_NDISWAN" ,
  1034. #ifdef BROADCAST_PC
  1035. ulMEDIUM_DIX , "MEDIUM_DIX" ,
  1036. #endif
  1037. //
  1038. // stress test-type constants
  1039. //
  1040. ulSTRESS_FIXEDSIZE , "STRESS_FIXEDSIZE" ,
  1041. ulSTRESS_RANDOMSIZE , "STRESS_RANDOMSIZE" ,
  1042. ulSTRESS_CYCLICAL , "STRESS_CYCLICAL" ,
  1043. ulSTRESS_SMALLSIZE , "STRESS_SMALLSIZE" ,
  1044. ulSTRESS_RAND , "STRESS_RAND" ,
  1045. ulSTRESS_SMALL , "STRESS_SMALL" ,
  1046. ulSTRESS_ZEROS , "STRESS_ZEROS" ,
  1047. ulSTRESS_ONES , "STRESS_ONES" ,
  1048. ulSTRESS_FULLRESP , "STRESS_FULLRESP" ,
  1049. ulSTRESS_NORESP , "STRESS_NORESP" ,
  1050. ulSTRESS_ACK , "STRESS_ACK" ,
  1051. ulSTRESS_ACK10 , "STRESS_ACK10" ,
  1052. ulSTRESS_WINDOW_ON , "STRESS_WINDOWING_ON" ,
  1053. ulSTRESS_WINDOW_OFF , "STRESS_WINDOWING_OFF" ,
  1054. //
  1055. // perform test-type constants
  1056. //
  1057. ulPERFORM_VERIFYRECEIVES , "PERFORM_VERIFY_RECEIVES" ,
  1058. ulPERFORM_INDICATE_RCV , "PERFORM_INDICATE_RECEIVES" ,
  1059. ulPERFORM_SEND , "PERFORM_SEND" ,
  1060. ulPERFORM_BOTH , "PERFORM_SEND_AND_RECEIVE" ,
  1061. ulPERFORM_RECEIVE , "PERFORM_RECEIVE" ,
  1062. //
  1063. // priority test-type constants
  1064. //
  1065. ulPRIORITY_TYPE_802_3 , "PRIORITY_TYPE_802_3" ,
  1066. ulPRIORITY_TYPE_802_1P , "PRIORITY_TYPE_802_1P" ,
  1067. ulPRIORITY_SEND , "PRIORITY_SEND" ,
  1068. ulPRIORITY_SEND_PACKETS , "PRIORITY_SEND_PACKETS" ,
  1069. //
  1070. // receive option constants
  1071. //
  1072. ulRECEIVE_DEFAULT , "RECEIVE_DEFAULT" ,
  1073. ulRECEIVE_PACKETIGNORE , "RECEIVE_PACKETIGNORE" ,
  1074. ulRECEIVE_NOCOPY , "RECEIVE_NOCOPY" ,
  1075. ulRECEIVE_TRANSFER , "RECEIVE_TRANSFER" ,
  1076. ulRECEIVE_PARTIAL_TRANSFER , "RECEIVE_PARTIAL_TRANSFER" ,
  1077. ulRECEIVE_LOCCOPY , "RECEIVE_LOCCOPY" ,
  1078. ulRECEIVE_QUEUE , "RECEIVE_QUEUE" ,
  1079. ulRECEIVE_DOUBLE_QUEUE , "RECEIVE_DOUBLE_QUEUE" ,
  1080. ulRECEIVE_TRIPLE_QUEUE , "RECEIVE_TRIPLE_QUEUE" ,
  1081. ulMAX_NDIS30_RECEIVE_OPTION , "MAX_NDIS30_RECEIVE_OPTION" ,
  1082. ulMAX_NDIS40_RECEIVE_OPTION , "MAX_NDIS40_RECEIVE_OPTION" ,
  1083. ulRECEIVE_ALLOW_BUSY_NET , "RECEIVE_ALLOW_BUSY_NET" ,
  1084. //
  1085. // Ndis MAC option bits (OID_GEN_MAC_OPTIONS).
  1086. //
  1087. NDIS_MAC_OPTION_COPY_LOOKAHEAD_DATA , "NDIS_MAC_OPTION_COPY_LOOKAHEAD_DATA" ,
  1088. NDIS_MAC_OPTION_RECEIVE_SERIALIZED , "NDIS_MAC_OPTION_RECEIVE_SERIALIZED",
  1089. NDIS_MAC_OPTION_TRANSFERS_NOT_PEND , "NDIS_MAC_OPTION_TRANSFERS_NOT_PEND",
  1090. NDIS_MAC_OPTION_NO_LOOPBACK , "NDIS_MAC_OPTION_NO_LOOPBACK" ,
  1091. NDIS_MAC_OPTION_FULL_DUPLEX , "NDIS_MAC_OPTION_FULL_DUPLEX" ,
  1092. NDIS_MAC_OPTION_EOTX_INDICATION , "NDIS_MAC_OPTION_EOTX_INDICATION" ,
  1093. //
  1094. // NDIS.SYS versions
  1095. //
  1096. ulNDIS_VERSION_40 , "NDIS_VERSION_4_0" ,
  1097. ulNDIS_VERSION_50 , "NDIS_VERSION_5_0" ,
  1098. //
  1099. // operating system constants
  1100. //
  1101. ulINVALID_OS , "INVALID_OPERATING_SYSTEM" ,
  1102. ulWINDOWS_NT , "WINDOWS_NT" ,
  1103. ulWINDOWS_95 , "WINDOWS_95" ,
  1104. //
  1105. // service types for flowspec
  1106. //
  1107. SERVICETYPE_NOTRAFFIC , "NO_TRAFFIC" ,
  1108. SERVICETYPE_BESTEFFORT , "BEST_EFFORT" ,
  1109. SERVICETYPE_CONTROLLEDLOAD , "CONTROLLED_LOAD" ,
  1110. SERVICETYPE_GUARANTEED , "GUARANTEED" ,
  1111. //
  1112. // service types for flowspec
  1113. //
  1114. SERVICETYPE_NOTRAFFIC , "NO_TRAFFIC" ,
  1115. SERVICETYPE_BESTEFFORT , "BEST_EFFORT" ,
  1116. SERVICETYPE_CONTROLLEDLOAD , "CONTROLLED_LOAD" ,
  1117. SERVICETYPE_GUARANTEED , "GUARANTEED" ,
  1118. //
  1119. // address families
  1120. //
  1121. 0x01 , "ADDRESS_FAMILY_Q2931" ,
  1122. 0x08000 , "ADDRESS_FAMILY_PROXY" ,
  1123. //
  1124. // atm supported service types
  1125. //
  1126. ATM_SERVICE_CATEGORY_CBR , "CONSTANT_BIT_RATE" ,
  1127. ATM_SERVICE_CATEGORY_VBR , "VARIABLE_BIT_RATE" ,
  1128. ATM_SERVICE_CATEGORY_UBR , "UNSPECIFIED_BIT_RATE" ,
  1129. ATM_SERVICE_CATEGORY_ABR , "AVAILABLE_BIT_RATE" ,
  1130. //
  1131. // AAL TYPES
  1132. //
  1133. AAL_TYPE_AAL0 , "AAL_TYPE_AAL0" ,
  1134. AAL_TYPE_AAL1 , "AAL_TYPE_AAL1" ,
  1135. AAL_TYPE_AAL34 , "AAL_TYPE_AAL34" ,
  1136. AAL_TYPE_AAL5 , "AAL_TYPE_AAL5" ,
  1137. //
  1138. // wake up types (used with enablewakeup
  1139. //
  1140. NDIS_PNP_WAKE_UP_MAGIC_PACKET , "WAKE_UP_MAGIC_PACKET" ,
  1141. NDIS_PNP_WAKE_UP_PATTERN_MATCH , "WAKE_UP_PATTERN_MATCH" ,
  1142. NDIS_PNP_WAKE_UP_LINK_CHANGE , "WAKE_UP_LINK_CHANGE" ,
  1143. //
  1144. // ndis status definitions (used with startwaitforevent)
  1145. //
  1146. NDIS_STATUS_RESET_START , "NDIS_STATUS_RESET_START" ,
  1147. NDIS_STATUS_RESET_END , "NDIS_STATUS_RESET_END" ,
  1148. NDIS_STATUS_MEDIA_CONNECT , "NDIS_STATUS_MEDIA_CONNECT" ,
  1149. NDIS_STATUS_MEDIA_DISCONNECT , "NDIS_STATUS_MEDIA_DISCONNECT" ,
  1150. NDIS_STATUS_WAN_LINE_UP , "NDIS_STATUS_WAN_LINE_UP" ,
  1151. NDIS_STATUS_WAN_LINE_DOWN , "NDIS_STATUS_WAN_LINE_DOWN" ,
  1152. NDIS_STATUS_HARDWARE_LINE_UP , "NDIS_STATUS_HARDWARE_LINE_UP" ,
  1153. NDIS_STATUS_HARDWARE_LINE_DOWN , "NDIS_STATUS_HARDWARE_LINE_DOWN" ,
  1154. NDIS_STATUS_INTERFACE_UP , "NDIS_STATUS_INTERFACE_UP" ,
  1155. NDIS_STATUS_INTERFACE_DOWN , "NDIS_STATUS_INTERFACE_DOWN" ,
  1156. //
  1157. // values in bitmask returned for getpowerstates
  1158. //
  1159. ulHIBERNATE , "HIBERNATE_SUPPORTED" ,
  1160. ulSTANDBY , "STANDBY_SUPPORTED" ,
  1161. ulWAKEUPTIMER , "WAKEUP_TIMER_SUPPORTED" ,
  1162. //
  1163. // script constants, for which set of tests to do
  1164. // (used in value for G_TestOptions) -- bitmap
  1165. //
  1166. 0x00000001 , "DO_FUNCTIONAL_TESTS" ,
  1167. 0x00000002 , "DO_STRESS_TESTS" ,
  1168. 0x00000004 , "DO_PERFORMANCE_TESTS" ,
  1169. 0x00000008 , "DO_HCT_TESTS" ,
  1170. 0x00000010 , "DO_RUNTEST" ,
  1171. 0x00010000 , "ENABLE_VERBOSE_FLAG" ,
  1172. 0x00020000 , "SKIP_1CARD_TESTS" ,
  1173. #ifdef BROADCAST_PC
  1174. BPC_MIN_DIM , "BPC_MIN_DIM" ,
  1175. #endif
  1176. //
  1177. // end of constants
  1178. //
  1179. 0, 0,
  1180. };
  1181. typedef struct OID_GUID
  1182. {
  1183. ULONG ulOid;
  1184. const
  1185. GUID *pGuid;
  1186. } OID_GUID;
  1187. //
  1188. // Max number of OIDs for which a GUID is defined
  1189. //
  1190. #define MAX_GEN_OID_GUID 25
  1191. #define MAX_ETH_OID_GUID 8
  1192. #define MAX_TRING_OID_GUID 9
  1193. #define MAX_FDDI_OID_GUID 17
  1194. //
  1195. // Starting position of OIDs for a particular media in pLanOidGuidList array
  1196. //
  1197. #define ETH_START_INDEX 26
  1198. #define TRING_START_INDEX 34
  1199. #define FDDI_START_INDEX 43
  1200. //
  1201. // Media supported by the card and the count of the no of medium
  1202. //
  1203. #define MAX_NO_OF_MEDIUM 10
  1204. PNDIS_MEDIUM WhichMediums;
  1205. int SupportedMediumCount;
  1206. //
  1207. // GUID list for LAN media
  1208. //
  1209. OID_GUID pLanOidGuidList[] = {
  1210. //
  1211. // required general info
  1212. //
  1213. OID_GEN_HARDWARE_STATUS , &GUID_NDIS_GEN_HARDWARE_STATUS ,
  1214. OID_GEN_MEDIA_SUPPORTED , &GUID_NDIS_GEN_MEDIA_SUPPORTED ,
  1215. OID_GEN_MEDIA_IN_USE , &GUID_NDIS_GEN_MEDIA_IN_USE ,
  1216. OID_GEN_MAXIMUM_LOOKAHEAD , &GUID_NDIS_GEN_MAXIMUM_LOOKAHEAD ,
  1217. OID_GEN_MAXIMUM_FRAME_SIZE , &GUID_NDIS_GEN_MAXIMUM_FRAME_SIZE ,
  1218. OID_GEN_LINK_SPEED , &GUID_NDIS_GEN_LINK_SPEED ,
  1219. OID_GEN_TRANSMIT_BUFFER_SPACE , &GUID_NDIS_GEN_TRANSMIT_BUFFER_SPACE,
  1220. OID_GEN_RECEIVE_BUFFER_SPACE , &GUID_NDIS_GEN_RECEIVE_BUFFER_SPACE ,
  1221. OID_GEN_TRANSMIT_BLOCK_SIZE , &GUID_NDIS_GEN_TRANSMIT_BLOCK_SIZE ,
  1222. OID_GEN_RECEIVE_BLOCK_SIZE , &GUID_NDIS_GEN_RECEIVE_BLOCK_SIZE ,
  1223. OID_GEN_VENDOR_ID , &GUID_NDIS_GEN_VENDOR_ID ,
  1224. OID_GEN_VENDOR_DESCRIPTION , &GUID_NDIS_GEN_VENDOR_DESCRIPTION ,
  1225. OID_GEN_CURRENT_PACKET_FILTER , &GUID_NDIS_GEN_CURRENT_PACKET_FILTER,
  1226. OID_GEN_CURRENT_LOOKAHEAD , &GUID_NDIS_GEN_CURRENT_LOOKAHEAD ,
  1227. OID_GEN_DRIVER_VERSION , &GUID_NDIS_GEN_DRIVER_VERSION ,
  1228. OID_GEN_MAXIMUM_TOTAL_SIZE , &GUID_NDIS_GEN_MAXIMUM_TOTAL_SIZE ,
  1229. OID_GEN_MAC_OPTIONS , &GUID_NDIS_GEN_MAC_OPTIONS ,
  1230. OID_GEN_MEDIA_CONNECT_STATUS , &GUID_NDIS_GEN_MEDIA_CONNECT_STATUS ,
  1231. OID_GEN_MAXIMUM_SEND_PACKETS , &GUID_NDIS_GEN_MAXIMUM_SEND_PACKETS ,
  1232. OID_GEN_VENDOR_DRIVER_VERSION , &GUID_NDIS_GEN_VENDOR_DRIVER_VERSION,
  1233. //
  1234. // Required general statistics
  1235. //
  1236. OID_GEN_XMIT_OK , &GUID_NDIS_GEN_XMIT_OK ,
  1237. OID_GEN_RCV_OK , &GUID_NDIS_GEN_RCV_OK ,
  1238. OID_GEN_XMIT_ERROR , &GUID_NDIS_GEN_XMIT_ERROR ,
  1239. OID_GEN_RCV_ERROR , &GUID_NDIS_GEN_RCV_ERROR ,
  1240. OID_GEN_RCV_NO_BUFFER , &GUID_NDIS_GEN_RCV_NO_BUFFER ,
  1241. //
  1242. // ethernet information
  1243. //
  1244. OID_802_3_PERMANENT_ADDRESS , &GUID_NDIS_802_3_PERMANENT_ADDRESS ,
  1245. OID_802_3_CURRENT_ADDRESS , &GUID_NDIS_802_3_CURRENT_ADDRESS ,
  1246. OID_802_3_MULTICAST_LIST , &GUID_NDIS_802_3_MULTICAST_LIST ,
  1247. OID_802_3_MAXIMUM_LIST_SIZE , &GUID_NDIS_802_3_MAXIMUM_LIST_SIZE ,
  1248. OID_802_3_MAC_OPTIONS , &GUID_NDIS_802_3_MAC_OPTIONS ,
  1249. //
  1250. // ethernet statistics
  1251. //
  1252. OID_802_3_RCV_ERROR_ALIGNMENT , &GUID_NDIS_802_3_RCV_ERROR_ALIGNMENT,
  1253. OID_802_3_XMIT_ONE_COLLISION , &GUID_NDIS_802_3_XMIT_ONE_COLLISION ,
  1254. OID_802_3_XMIT_MORE_COLLISIONS , &GUID_NDIS_802_3_XMIT_MORE_COLLISIONS ,
  1255. //
  1256. // Token-Ring info
  1257. //
  1258. OID_802_5_PERMANENT_ADDRESS , &GUID_NDIS_802_5_PERMANENT_ADDRESS ,
  1259. OID_802_5_CURRENT_ADDRESS , &GUID_NDIS_802_5_CURRENT_ADDRESS ,
  1260. OID_802_5_CURRENT_FUNCTIONAL , &GUID_NDIS_802_5_CURRENT_FUNCTIONAL ,
  1261. OID_802_5_CURRENT_GROUP , &GUID_NDIS_802_5_CURRENT_GROUP ,
  1262. OID_802_5_LAST_OPEN_STATUS , &GUID_NDIS_802_5_LAST_OPEN_STATUS ,
  1263. OID_802_5_CURRENT_RING_STATUS , &GUID_NDIS_802_5_CURRENT_RING_STATUS,
  1264. OID_802_5_CURRENT_RING_STATE , &GUID_NDIS_802_5_CURRENT_RING_STATE ,
  1265. //
  1266. // token ring statistics
  1267. //
  1268. OID_802_5_LINE_ERRORS , &GUID_NDIS_802_5_LINE_ERRORS ,
  1269. OID_802_5_LOST_FRAMES , &GUID_NDIS_802_5_LOST_FRAMES ,
  1270. //
  1271. // FDDI information
  1272. //
  1273. OID_FDDI_LONG_PERMANENT_ADDR , &GUID_NDIS_FDDI_LONG_PERMANENT_ADDR ,
  1274. OID_FDDI_LONG_CURRENT_ADDR , &GUID_NDIS_FDDI_LONG_CURRENT_ADDR ,
  1275. OID_FDDI_LONG_MULTICAST_LIST , &GUID_NDIS_FDDI_LONG_MULTICAST_LIST ,
  1276. OID_FDDI_LONG_MAX_LIST_SIZE , &GUID_NDIS_FDDI_LONG_MAX_LIST_SIZE ,
  1277. OID_FDDI_SHORT_PERMANENT_ADDR , &GUID_NDIS_FDDI_SHORT_PERMANENT_ADDR,
  1278. OID_FDDI_SHORT_CURRENT_ADDR , &GUID_NDIS_FDDI_SHORT_CURRENT_ADDR ,
  1279. OID_FDDI_SHORT_MULTICAST_LIST , &GUID_NDIS_FDDI_SHORT_MULTICAST_LIST,
  1280. OID_FDDI_SHORT_MAX_LIST_SIZE , &GUID_NDIS_FDDI_SHORT_MAX_LIST_SIZE ,
  1281. //
  1282. // FDDI statistics
  1283. //
  1284. OID_FDDI_ATTACHMENT_TYPE , &GUID_NDIS_FDDI_ATTACHMENT_TYPE ,
  1285. OID_FDDI_UPSTREAM_NODE_LONG , &GUID_NDIS_FDDI_UPSTREAM_NODE_LONG ,
  1286. OID_FDDI_DOWNSTREAM_NODE_LONG , &GUID_NDIS_FDDI_DOWNSTREAM_NODE_LONG,
  1287. OID_FDDI_FRAME_ERRORS , &GUID_NDIS_FDDI_FRAME_ERRORS ,
  1288. OID_FDDI_FRAMES_LOST , &GUID_NDIS_FDDI_FRAMES_LOST ,
  1289. OID_FDDI_RING_MGT_STATE , &GUID_NDIS_FDDI_RING_MGT_STATE ,
  1290. OID_FDDI_LCT_FAILURES , &GUID_NDIS_FDDI_LCT_FAILURES ,
  1291. OID_FDDI_LEM_REJECTS , &GUID_NDIS_FDDI_LEM_REJECTS ,
  1292. OID_FDDI_LCONNECTION_STATE , &GUID_NDIS_FDDI_LCONNECTION_STATE ,
  1293. };
  1294. //
  1295. // GUID list for ATM (CoNdis) media
  1296. //
  1297. OID_GUID pAtmOidGuidList[] = {
  1298. //
  1299. // required CoNdis info
  1300. //
  1301. OID_GEN_CO_HARDWARE_STATUS , &GUID_NDIS_GEN_CO_HARDWARE_STATUS ,
  1302. OID_GEN_CO_MEDIA_SUPPORTED , &GUID_NDIS_GEN_CO_MEDIA_SUPPORTED ,
  1303. OID_GEN_CO_MEDIA_IN_USE , &GUID_NDIS_GEN_CO_MEDIA_IN_USE ,
  1304. OID_GEN_CO_LINK_SPEED , &GUID_NDIS_GEN_CO_LINK_SPEED ,
  1305. OID_GEN_CO_VENDOR_ID , &GUID_NDIS_GEN_CO_VENDOR_ID ,
  1306. OID_GEN_CO_VENDOR_DESCRIPTION , &GUID_NDIS_GEN_CO_VENDOR_DESCRIPTION ,
  1307. OID_GEN_CO_DRIVER_VERSION , &GUID_NDIS_GEN_CO_DRIVER_VERSION ,
  1308. OID_GEN_CO_MAC_OPTIONS , &GUID_NDIS_GEN_CO_MAC_OPTIONS ,
  1309. OID_GEN_CO_MEDIA_CONNECT_STATUS, &GUID_NDIS_GEN_CO_MEDIA_CONNECT_STATUS ,
  1310. OID_GEN_CO_VENDOR_DRIVER_VERSION,&GUID_NDIS_GEN_CO_VENDOR_DRIVER_VERSION,
  1311. OID_GEN_CO_MINIMUM_LINK_SPEED , &GUID_NDIS_GEN_CO_MINIMUM_LINK_SPEED,
  1312. //
  1313. // required condis stats
  1314. //
  1315. OID_GEN_CO_XMIT_PDUS_OK , &GUID_NDIS_GEN_CO_XMIT_PDUS_OK ,
  1316. OID_GEN_CO_RCV_PDUS_OK , &GUID_NDIS_GEN_CO_RCV_PDUS_OK ,
  1317. OID_GEN_CO_XMIT_PDUS_ERROR , &GUID_NDIS_GEN_CO_XMIT_PDUS_ERROR ,
  1318. OID_GEN_CO_RCV_PDUS_ERROR , &GUID_NDIS_GEN_CO_RCV_PDUS_ERROR ,
  1319. OID_GEN_CO_RCV_PDUS_NO_BUFFER , &GUID_NDIS_GEN_CO_RCV_PDUS_NO_BUFFER ,
  1320. //
  1321. // ATM information
  1322. //
  1323. OID_ATM_SUPPORTED_VC_RATES , &GUID_NDIS_ATM_SUPPORTED_VC_RATES ,
  1324. OID_ATM_SUPPORTED_SERVICE_CATEGORY, &GUID_NDIS_ATM_SUPPORTED_SERVICE_CATEGORY ,
  1325. OID_ATM_SUPPORTED_AAL_TYPES , &GUID_NDIS_ATM_SUPPORTED_AAL_TYPES ,
  1326. OID_ATM_HW_CURRENT_ADDRESS , &GUID_NDIS_ATM_HW_CURRENT_ADDRESS ,
  1327. OID_ATM_MAX_ACTIVE_VCS , &GUID_NDIS_ATM_MAX_ACTIVE_VCS ,
  1328. OID_ATM_MAX_ACTIVE_VCI_BITS , &GUID_NDIS_ATM_MAX_ACTIVE_VCI_BITS ,
  1329. OID_ATM_MAX_ACTIVE_VPI_BITS , &GUID_NDIS_ATM_MAX_ACTIVE_VPI_BITS ,
  1330. OID_ATM_MAX_AAL0_PACKET_SIZE , &GUID_NDIS_ATM_MAX_AAL0_PACKET_SIZE ,
  1331. OID_ATM_MAX_AAL1_PACKET_SIZE , &GUID_NDIS_ATM_MAX_AAL1_PACKET_SIZE ,
  1332. OID_ATM_MAX_AAL34_PACKET_SIZE , &GUID_NDIS_ATM_MAX_AAL34_PACKET_SIZE,
  1333. OID_ATM_MAX_AAL5_PACKET_SIZE , &GUID_NDIS_ATM_MAX_AAL5_PACKET_SIZE ,
  1334. //
  1335. // ATM STATS
  1336. //
  1337. OID_ATM_RCV_CELLS_OK , &GUID_NDIS_ATM_RCV_CELLS_OK ,
  1338. OID_ATM_XMIT_CELLS_OK , &GUID_NDIS_ATM_XMIT_CELLS_OK ,
  1339. OID_ATM_RCV_CELLS_DROPPED , &GUID_NDIS_ATM_RCV_CELLS_DROPPED
  1340. };
  1341. //
  1342. // GUID list for status indications
  1343. //
  1344. OID_GUID pStatusGuidList[] = {
  1345. NDIS_STATUS_RESET_START , &GUID_NDIS_STATUS_RESET_START ,
  1346. NDIS_STATUS_RESET_END , &GUID_NDIS_STATUS_RESET_END ,
  1347. NDIS_STATUS_MEDIA_CONNECT , &GUID_NDIS_STATUS_MEDIA_CONNECT ,
  1348. NDIS_STATUS_MEDIA_DISCONNECT , &GUID_NDIS_STATUS_MEDIA_DISCONNECT ,
  1349. NDIS_STATUS_MEDIA_SPECIFIC_INDICATION , &GUID_NDIS_STATUS_MEDIA_SPECIFIC_INDICATION,
  1350. NDIS_STATUS_LINK_SPEED_CHANGE , &GUID_NDIS_STATUS_LINK_SPEED_CHANGE
  1351. };
  1352. const ULONG ulStatusListSize = sizeof(pStatusGuidList) / sizeof(OID_GUID);
  1353. HINSTANCE hNdtWmiLib;
  1354. WMI_OPEN pWmiOpenBlock;
  1355. WMI_CLOSE pWmiCloseBlock;
  1356. WMI_QUERYALL pWmiQueryAllData;
  1357. WMI_QUERYSINGLE pWmiQuerySingleInstance;
  1358. WMI_NOTIFY pWmiNotificationRegistration;
  1359. #define ulNETWORK_ADDRESS_LENGTH 6
  1360. #define ulMAX_INFOBUFFER_BYTES (ulNETWORK_ADDRESS_LENGTH * 256)
  1361. BOOLEAN gfUseCoNdisOids = FALSE;
  1362. #define ulFUNCTIONAL_ADDRESS_LENGTH 4
  1363. #define ulOID_STATS_MASK 0x00030000
  1364. #define ulOID_QUERYSMT 0x00030000
  1365. struct NETADDR
  1366. {
  1367. UCHAR padrNet[ulNETWORK_ADDRESS_LENGTH];
  1368. UCHAR ucSubType;
  1369. };
  1370. typedef struct NETADDR *PNETADDR;
  1371. #define ulNumGenOids 45
  1372. #define ulNumEthOids 15
  1373. #define ulNumTrOids 16
  1374. #define ulNumFddiOids 158
  1375. #define ulNumArcnetOids 3
  1376. #define ulNumAtmOids 26
  1377. #define ulNumWirelessOids 57
  1378. #define ulNumIrdaOids 11
  1379. #define ulNumCoGenOids 28
  1380. #define ulNumNdisWanOids 15
  1381. #define ulNumPnpOids 9
  1382. CONSTANT_ENTRY *pceOidEntry = &NdisTestConstantTable[0];
  1383. ULONG ulOidEntryLength = ulNumGenOids
  1384. + ulNumEthOids
  1385. + ulNumTrOids
  1386. + ulNumFddiOids
  1387. + ulNumArcnetOids
  1388. + ulNumAtmOids
  1389. + ulNumNdisWanOids
  1390. + ulNumWirelessOids
  1391. #ifdef BROADCAST_PC
  1392. + ulNumDssOids
  1393. #endif
  1394. + ulNumPnpOids
  1395. + ulNumIrdaOids;
  1396. CONSTANT_ENTRY *pceCoOidEntry = &NdisTestConstantTable[ulNumGenOids];
  1397. ULONG ulCoOidEntryLength = ulNumCoGenOids
  1398. + ulNumEthOids
  1399. + ulNumTrOids
  1400. + ulNumFddiOids
  1401. + ulNumArcnetOids
  1402. + ulNumAtmOids
  1403. + ulNumNdisWanOids
  1404. + ulNumWirelessOids
  1405. #ifdef BROADCAST_PC
  1406. + ulNumDssOids
  1407. #endif
  1408. + ulNumPnpOids
  1409. + ulNumIrdaOids;
  1410. #define ulNEED_TYPE_INVALID 0
  1411. #define ulNEED_FUNCT_ADDR 1
  1412. #define ulNEED_FULL_ADDR 2
  1413. #define ulNEED_WORD 3
  1414. #define ulNEED_DWORD 4
  1415. #define ulNEED_ARCNET_ADDR 5
  1416. #define ulNEED_SHORT_ADDR 6
  1417. #define ulNEED_GUID 7
  1418. #define ulELEMENT_ARG 3
  1419. //
  1420. // OID-related constants
  1421. // most significant byte = media type
  1422. //
  1423. #define ulOID_MEDIA_MASK 0xFF000000
  1424. #define ulOID_ALL_MEDIA 0x00000000
  1425. #define ulOID_ETHERNET 0x01000000
  1426. #define ulOID_TOKENRING 0x02000000
  1427. #define ulOID_FDDI 0x03000000
  1428. #define ulOID_ARCNET 0x06000000
  1429. #define ulOID_ATM 0x08000000
  1430. #define ulOID_WIRELESSWAN 0x09000000
  1431. #define ulOID_IRDA 0x0A000000
  1432. #define ulOID_PNP_POWER 0xFD000000
  1433. #define ulOID_PRIVATE 0xFF000000
  1434. #ifdef BROADCAST_PC
  1435. #define ulMEDIUM_DIX 0x09
  1436. #endif
  1437. #define NDT_STATUS_NO_SERVERS ((NDIS_STATUS)0x4001FFFFL)
  1438. #define NDT_STATUS_TIMEDOUT ((NDIS_STATUS)0x4001FFFDL)
  1439. //
  1440. // Sturctures used in looking up what media specific oids must be queried
  1441. //
  1442. typedef struct _MEDIA_OID_TABLE {
  1443. NDIS_MEDIUM medium;
  1444. int start_index; // starting index of the media specific oids in pLanOidGuidList
  1445. int max_oids;
  1446. } MEDIA_OID_TABLE, *PMEDIA_OID_TABLE;
  1447. MEDIA_OID_TABLE pMediaOidTable[] = {
  1448. // medium, starting position in the array, max no of oids
  1449. NdisMedium802_3, ETH_START_INDEX, MAX_ETH_OID_GUID,
  1450. NdisMedium802_5, TRING_START_INDEX, MAX_TRING_OID_GUID,
  1451. NdisMediumFddi, FDDI_START_INDEX, MAX_FDDI_OID_GUID,
  1452. };
  1453. #define MAX_MEDIA_OID_TABLE_ENTRY 3
  1454. /*=========================< ndis test - macros >============================*/
  1455. #define PRINT(_args_) \
  1456. { \
  1457. HapiPrint _args_; \
  1458. }
  1459. #define IS_NETADDR(arg) (argv[arg]->ulTypeId == ulNETADDR_TYPE)
  1460. #endif