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.

688 lines
15 KiB

  1. //***************************************************************************
  2. //
  3. // fccimmap.mof
  4. //
  5. // Module: Fibre channel CIM Mapping classes
  6. //
  7. // Purpose: Contains Fibre channel classes used for a generic
  8. // mapping from WDM fibre channel classes.
  9. //
  10. // Copyright (c) 2001 Microsoft Corporation
  11. //
  12. //***************************************************************************
  13. #pragma namespace("\\\\.\\root\\cimv2")
  14. [Dynamic,
  15. Provider("wmimap"),
  16. WdmShadowClass("MSFC_Card"),
  17. DerivedClassType("NonConcrete")
  18. ]
  19. class FC_Card : CIM_Card
  20. {
  21. [key]
  22. string InstanceName;
  23. //
  24. // CIM_ManagedElement
  25. //
  26. [WmiMapFill,
  27. MaxLen (64), Description (
  28. "The Caption property is a short textual description (one-"
  29. "line string) of the object.") : amended
  30. ]
  31. string Caption;
  32. [WmiMapFill,
  33. Description (
  34. "The Description property provides a textual description of "
  35. "the object.")
  36. ]
  37. string Description;
  38. //
  39. // CIM_ManagedSystemElement
  40. //
  41. [WmiMapFill,
  42. Description (
  43. "A datetime value indicating when the object was installed. "
  44. "A lack of a value does not indicate that the object is not "
  45. "installed.") : amended,
  46. MappingStrings {"MIF.DMTF|ComponentID|001.5"} ]
  47. datetime InstallDate;
  48. //
  49. // CIM_PhysicalElement
  50. //
  51. [WmiMapFill,
  52. MaxLen (256), Description (
  53. "CreationClassName indicates the name of the class or the "
  54. "subclass used in the creation of an instance. When used "
  55. "with the other key properties of this class, this property "
  56. "allows all instances of this class and its subclasses to "
  57. "be uniquely identified.") : amended ]
  58. string CreationClassName;
  59. [WmiMapFill,
  60. MaxLen (256), Description (
  61. "The name of the organization responsible for producing the "
  62. "PhysicalElement. This may be the entity from whom the Element "
  63. "is purchased, but this is not necessarily true. The latter "
  64. "information is contained in the Vendor property of "
  65. "CIM_Product.") : amended ]
  66. string Manufacturer;
  67. //
  68. // CIM_PhysicalPackage
  69. //
  70. };
  71. [Dynamic,
  72. Provider("wmimap"),
  73. WdmShadowClass("MSFC_PhysicalConnector"),
  74. DerivedClassType("NonConcrete")
  75. ]
  76. class FC_PhysicalConnector : CIM_PhysicalConnector
  77. {
  78. [key]
  79. string InstanceName;
  80. //
  81. // CIM_ManagedElement
  82. //
  83. [WmiMapFill,
  84. MaxLen (64), Description (
  85. "The Caption property is a short textual description (one-"
  86. "line string) of the object.") : amended
  87. ]
  88. string Caption;
  89. [WmiMapFill,
  90. Description (
  91. "The Description property provides a textual description of "
  92. "the object.")
  93. ]
  94. string Description;
  95. //
  96. // CIM_ManagedSystemElement
  97. //
  98. [WmiMapFill,
  99. Description (
  100. "A datetime value indicating when the object was installed. "
  101. "A lack of a value does not indicate that the object is not "
  102. "installed.") : amended,
  103. MappingStrings {"MIF.DMTF|ComponentID|001.5"} ]
  104. datetime InstallDate;
  105. //
  106. // CIM_PhysicalElement
  107. //
  108. [WmiMapFill,
  109. MaxLen (256), Description (
  110. "CreationClassName indicates the name of the class or the "
  111. "subclass used in the creation of an instance. When used "
  112. "with the other key properties of this class, this property "
  113. "allows all instances of this class and its subclasses to "
  114. "be uniquely identified.") : amended ]
  115. string CreationClassName;
  116. [WmiMapFill,
  117. MaxLen (256), Description (
  118. "The name of the organization responsible for producing the "
  119. "PhysicalElement. This may be the entity from whom the Element "
  120. "is purchased, but this is not necessarily true. The latter "
  121. "information is contained in the Vendor property of "
  122. "CIM_Product.") : amended ]
  123. string Manufacturer;
  124. //
  125. // CIM_PhysicalConnector
  126. //
  127. };
  128. //
  129. // TODO: Need WmiMapFill properties
  130. //
  131. [Dynamic,
  132. Provider("wmimap"),
  133. WdmShadowClass("MSFC_FibreChannelAdapter"),
  134. DerivedClassType("NonConcrete")
  135. ]
  136. class FC_FibreChannelAdapter : CIM_FibreChannelAdapter
  137. {
  138. [key]
  139. string InstanceName;
  140. };
  141. [Dynamic,
  142. Provider("wmimap"),
  143. WdmShadowClass("MSFC_ScsiController"),
  144. DerivedClassType("NonConcrete")
  145. ]
  146. class FC_ScsiController : CIM_ScsiController
  147. {
  148. [key]
  149. string InstanceName;
  150. };
  151. [Dynamic,
  152. Provider("wmimap"),
  153. WdmShadowClass("MSFC_FibrePort"),
  154. DerivedClassType("NonConcrete")
  155. ]
  156. class FC_FibrePort : CIM_FibrePort
  157. {
  158. [key]
  159. string InstanceName;
  160. };
  161. [Dynamic,
  162. Provider("wmimap"),
  163. WdmShadowClass("MSFC_FibrePortOnFCAdapter"),
  164. DerivedClassType("NonConcrete")
  165. ]
  166. class FC_FibrePortOnFCAdapter : CIM_FibrePortOnFCAdapter
  167. {
  168. [key]
  169. string InstanceName;
  170. [Override ("Antecedent"),
  171. Max (1),
  172. Description ("The FibreChannelAdapter that includes the Port.") : amended
  173. ]
  174. FC_FibreChannelAdapter REF Antecedent;
  175. [Override ("Dependent"),
  176. Max (1),
  177. Description ("The FibrePort on the Adapter.") : amended
  178. ]
  179. FC_FibrePort REF Dependent;
  180. };
  181. [Dynamic,
  182. Provider("wmimap"),
  183. WdmShadowClass("MSFC_FCAdapterEventCounters"),
  184. DerivedClassType("NonConcrete")
  185. ]
  186. class FC_FCAdapterEventCounters : CIM_FCAdapterEventCounters
  187. {
  188. [key]
  189. string InstanceName;
  190. [WmiMapFill,
  191. MaxLen (256),
  192. Description (
  193. "The scoping System's CreationClassName.") : amended
  194. ]
  195. string SystemCreationClassName;
  196. [WmiMapFill,
  197. MaxLen (256),
  198. Description ("The scoping System's Name.") : amended
  199. ]
  200. string SystemName;
  201. [WmiMapFill,
  202. MaxLen (256),
  203. Description ("The scoping Device's CreationClassName.") : amended
  204. ]
  205. string DeviceCreationClassName;
  206. [WmiMapFill,
  207. MaxLen (64),
  208. Description ("The scoping Device's ID.") : amended
  209. ]
  210. string DeviceID;
  211. [WmiMapFill,
  212. MaxLen (256), Description (
  213. "CreationClassName indicates the name of the class or the "
  214. "subclass used in the creation of an instance. When used "
  215. "with the other key properties of this class, this property "
  216. "allows all instances of this class and its subclasses to "
  217. "be uniquely identified.") : amended
  218. ]
  219. string CreationClassName;
  220. [MaxLen (256), Override ("Name"), Description (
  221. "The Name property, inherited from StatisticalInformation, "
  222. "serves as part of the object key.") : amended
  223. ]
  224. string Name;
  225. };
  226. [Dynamic,
  227. Provider("wmimap"),
  228. WdmShadowClass("MSFC_FibrePortEventCounters"),
  229. DerivedClassType("NonConcrete")
  230. ]
  231. class FC_FCFibrePortEventCounters : CIM_FibrePortEventCounters
  232. {
  233. [key]
  234. string InstanceName;
  235. [WmiMapFill,
  236. MaxLen (256),
  237. Description (
  238. "The scoping System's CreationClassName.") : amended
  239. ]
  240. string SystemCreationClassName;
  241. [WmiMapFill,
  242. MaxLen (256),
  243. Description ("The scoping System's Name.") : amended
  244. ]
  245. string SystemName;
  246. [WmiMapFill,
  247. MaxLen (256),
  248. Description ("The scoping Device's CreationClassName.") : amended
  249. ]
  250. string DeviceCreationClassName;
  251. [WmiMapFill,
  252. MaxLen (64),
  253. Description ("The scoping Device's ID.") : amended
  254. ]
  255. string DeviceID;
  256. [WmiMapFill,
  257. MaxLen (256), Description (
  258. "CreationClassName indicates the name of the class or the "
  259. "subclass used in the creation of an instance. When used "
  260. "with the other key properties of this class, this property "
  261. "allows all instances of this class and its subclasses to "
  262. "be uniquely identified.") : amended
  263. ]
  264. string CreationClassName;
  265. [MaxLen (256), Override ("Name"), Description (
  266. "The Name property, inherited from StatisticalInformation, "
  267. "serves as part of the object key.") : amended
  268. ]
  269. string Name;
  270. };
  271. [Dynamic,
  272. Provider("wmimap"),
  273. WdmShadowClass("MSFC_FibrePortActiveLogin"),
  274. DerivedClassType("NonConcrete")
  275. ]
  276. class FC_FibrePortActiveLogin : CIM_FibrePortActiveLogin
  277. {
  278. [Description ("The originator of the login.") : amended
  279. ]
  280. FC_FibrePort REF LoginOriginator;
  281. [Description ("The responder to the login.") : amended
  282. ]
  283. FC_FibrePort REF LoginResponder;
  284. };
  285. #if 0
  286. //
  287. // This is a CIM extension class that specifies the additonal
  288. // adapter attributes needed for HBA. Where do these go in the CIM Heirarchy ?
  289. //
  290. // TODO: Get descriptions from FC-MI
  291. [HBAType("HBA_PORTSTATISTICS")
  292. ]
  293. class CIMExt_FibrePortHBAStatistics
  294. {
  295. sint64 SecondsSinceLastReset;
  296. sint64 TxFrames;
  297. sint64 TxWords;
  298. sint64 RxFrames;
  299. sint64 RxWords;
  300. sint64 LIPCount;
  301. sint64 NOSCount;
  302. sint64 ErrorFrames;
  303. sint64 DumpedFrames;
  304. sint64 LinkFailureCount;
  305. sint64 LossOfSyncCount;
  306. sint64 LossOfSignalCount;
  307. sint64 PrimitiveSeqProtocolErrCount;
  308. sint64 InvalidTxWordCount;
  309. sint64 InvalidCRCCount;
  310. };
  311. [Dynamic,
  312. Provider("wmimap"),
  313. WdmShadowClass("MSFC_FibrePortHBAStatistics"),
  314. DerivedClassType("NonConcrete")
  315. ]
  316. class FC_FibrePortHBAStatistics : CIMExt_FibrePortHBAStatistics
  317. {
  318. [key]
  319. string InstanceName;
  320. };
  321. [HBAType("HBA_PORTATTRIBUTES")
  322. ]
  323. class CIMExt_FibrePortHBAAttributes
  324. {
  325. CIM_FibrePort Ref Port;
  326. [HBAType("HBA_WWN")
  327. ]
  328. uint8 NodeWWN[8];
  329. [HBAType("HBA_WWN")
  330. ]
  331. uint8 PortWWN[8];
  332. uint32 PortFcId;
  333. [HBAType("HBA_PORTTYPE"),
  334. Values{"Unknown", "Other", "Not present", "Fabric", "Public Loop",
  335. "HBA_PORTTYPE_FLPORT", "Fabric Port", "Fabric expansion port",
  336. "Generic Fabric Port", "Private Loop", "Point to Point"} : amended,
  337. ValueMap{"1", "2", "3", "5", "6", "7", "8", "9", "10", "20", "21"}
  338. ]
  339. uint32 PortType;
  340. [HBAType("HBA_PORTSTATE"),
  341. Values{"Unknown", "Operational", "User Offline", "Bypassed",
  342. "In diagnostics mode", "Link Down", "Port Error", "Loopback"
  343. } : amended,
  344. ValueMap{"1","2","3","4","5","6","7","8"}
  345. ]
  346. uint32 PortState;
  347. // TODO: See GS-2 spec for enumeration/ValueMap
  348. [HBAType("HBA_COS")
  349. ]
  350. uint32 PortSupportedClassofService;
  351. [HBAType("HBA_FC4TYPES")
  352. ]
  353. uint8 PortSupportedFc4Types[32];
  354. [HBAType("HBA_FC4TYPES")
  355. ]
  356. uint8 PortActiveFc4Types[32];
  357. [MaxLen(256)
  358. ]
  359. string PortSymbolicName;
  360. [MaxLen(256)
  361. ]
  362. string OSDeviceName;
  363. [HBAType("HBA_PORTSPEED"),
  364. Values{"1 GBit/sec", "2 GBit/sec", "10 GBit/sec"} : amended,
  365. ValueMap{"1", "2", "4"}
  366. ]
  367. uint32 PortSupportedSpeed;
  368. [HBAType("HBA_PORTSPEED"),
  369. Values{"1 GBit/sec", "2 GBit/sec", "10 GBit/sec"} : amended,
  370. ValueMap{"1", "2", "4"}
  371. ]
  372. uint32 PortSpeed;
  373. uint32 PortMaxFrameSize;
  374. [HBAType("HBA_WWN")
  375. ]
  376. uint8 FabricName[8];
  377. uint32 NumberofDiscoveredPorts;
  378. };
  379. [Dynamic,
  380. Provider("wmimap"),
  381. WdmShadowClass("MSFC_FibrePortHBAAttributes"),
  382. DerivedClassType("NonConcrete")
  383. ]
  384. class FC_FibrePortHBAAttributes : CIMExt_FibrePortHBAAttributes
  385. {
  386. [key]
  387. string InstanceName;
  388. };
  389. [HBAType("HBA_ADAPTERATTRIBUTES")
  390. ]
  391. class CIMExt_FCAdapterHBAAttributes
  392. {
  393. CIM_FibreChannelAdapter REF Adapter;
  394. [MaxLen(64)
  395. ]
  396. string Manufacturer;
  397. [MaxLen(64)
  398. ]
  399. string SerialNumber;
  400. [MaxLen(256)
  401. ]
  402. string Model;
  403. [MaxLen(256)
  404. ]
  405. string ModelDescription;
  406. [HBAType("HBA_WWN")
  407. ]
  408. uint8 NodeWWN[8];
  409. [MaxLen(256)
  410. ]
  411. string NodeSymbolicName;
  412. [MaxLen(256)
  413. ]
  414. string HardwareVersion;
  415. [MaxLen(256)
  416. ]
  417. string DriverVersion;
  418. [MaxLen(256)
  419. ]
  420. string OptionROMVersion;
  421. [MaxLen(256)
  422. ]
  423. string FirmwareVersion;
  424. uint32 VendorSpecificID;
  425. uint32 NumberOfPorts;
  426. [MaxLen(256)
  427. ]
  428. string DriverName;
  429. };
  430. [Dynamic,
  431. Provider("wmimap"),
  432. WdmShadowClass("MSFC_FCAdapterHBAAttributes"),
  433. DerivedClassType("NonConcrete")
  434. ]
  435. class FC_FCAdapterHBAAttributes : CIMExt_FCAdapterHBAAttributes
  436. {
  437. [key]
  438. string InstanceName;
  439. };
  440. [HBAType("HBA_MGMTINFO")
  441. ]
  442. class CIMExt_HBAFC3MgmtInfo
  443. {
  444. CIM_FibreChannelAdapter REF Adapter;
  445. [HBAType("HBA_WWN")
  446. ]
  447. uint8 wwn[8];
  448. uint32 unittype;
  449. uint32 PortId;
  450. uint32 NumberOfAttachedNodes;
  451. uint16 IPVersion;
  452. uint16 UDPPort;
  453. uint8 IPAddress[16];
  454. uin16 reserved;
  455. uint16 TopologyDiscoveryFlags;
  456. };
  457. [Dynamic,
  458. Provider("wmimap"),
  459. WdmShadowClass("MSFC_HBAFC3MgmtInfo"),
  460. DerivedClassType("NonConcrete")
  461. ]
  462. class FC_HBAFC3MgmtInfo : CIMExt_HBAFC3MgmtInfo
  463. {
  464. [key]
  465. string InstanceName;
  466. };
  467. class CIMExt_HBAPortMethods
  468. {
  469. [HBAType("HBA_STATUS")
  470. ]
  471. uint32 GetDiscoveredPortAttributes([in] CIM_FibrePort Ref Port,
  472. [in] uint32 DiscoveredPortIndex,
  473. [out] CIMExt_FibrePortHBAAttributes PortAttributes);
  474. [HBAType("HBA_STATUS")
  475. ]
  476. uint32 GetPortAttributesByWWN([in,
  477. HBAType("HBA_WWN")
  478. ] uint8 wwn[8],
  479. [out] CIMExt_FibrePortHBAAttributes PortAttributes);
  480. };
  481. [Dynamic,
  482. Provider("wmimap"),
  483. WdmShadowClass("MSFC_HBAPortMethods"),
  484. DerivedClassType("NonConcrete")
  485. ]
  486. class FC_HBAPortMethods : CIMExt_HBAPortMethods
  487. {
  488. [key]
  489. string InstanceName;
  490. };
  491. class CIMExt_HBAFc3MgmtMethods
  492. {
  493. [HBAType("HBA_STATUS")
  494. ]
  495. uint32 SendCTPassThru([in] uint8 RequestBuffer[],
  496. [out] uint8 ResponseBuffer[]
  497. );
  498. [HBAType("HBA_STATUS")
  499. ]
  500. uint32 SendRNID([in,
  501. HBAType("HBA_WWN")
  502. ] uint8 wwn[8],
  503. [in,
  504. HBAType("HBA_WWNTYPE"),
  505. Values{"NODE_WWN", "PORT_WWN"},
  506. ValueMap{"0", "1"}
  507. ] uint32 wwntype,
  508. [out
  509. ] uint8 ResponseBuffer[]);
  510. };
  511. [Dynamic,
  512. Provider("wmimap"),
  513. WdmShadowClass("MSFC_HBAFc3MgmtMethods"),
  514. DerivedClassType("NonConcrete")
  515. ]
  516. class FC_HBAFc3MgmtMethods : CIMExt_HBAFc3MgmtMethods
  517. {
  518. [key]
  519. string InstanceName;
  520. };
  521. [HBAType("HBA_SCSIID")
  522. ]
  523. class HBAScsiID
  524. {
  525. [MaxLen(256)
  526. ]
  527. string OSDeviceName;
  528. uint32 ScsiBusNumber;
  529. uint32 ScsiTargetNumber;
  530. uint32 ScsiOSLun;
  531. };
  532. [HBAType("HBA_FCPID")
  533. ]
  534. class HBAFCPID
  535. {
  536. uint32 Fcid;
  537. [HBAType("HBA_WWN")
  538. ]
  539. uint8 NodeWWN[8];
  540. [HBAType("HBA_WWN")
  541. ]
  542. uint8 PortWWN[8];
  543. uint64 FcpLun;
  544. };
  545. [HBAType("HBA_FCPSCSIENTRY")
  546. ]
  547. class HBAFCPScsiEntry
  548. {
  549. HBAScsiID ScsiId;
  550. HBAFCPID FCPId;
  551. };
  552. [HBAType("HBA_FCPBINDINGENTRY")
  553. ]
  554. class HBAFCPBindingEntry
  555. {
  556. [HBAType("HBA_FCPBINDINGTYPE"),
  557. Values{"TO_D_ID", "TO_WWN"},
  558. ValueMap{"0", "1"}
  559. ]
  560. uint32 Type;
  561. [HBAType("HBA_FCPSCSIENTRY")
  562. ]
  563. HBAScsiID ScsiId;
  564. [HBAType("HBA_FCID")
  565. ]
  566. HBAFCPID FCPId;
  567. };
  568. class CimExt_HBAFCPInfoMethods
  569. {
  570. uint32 GetFcpTargetMapping([out] HBAFCPScsiEntry Entry[]);
  571. uint32 GetFcpPersistentBindind([out] HBAFCPBindingEntry Entry[]);
  572. };
  573. [Dynamic,
  574. Provider("wmimap"),
  575. WdmShadowClass("MSFC_HBAFCPInfoMethods"),
  576. DerivedClassType("NonConcrete")
  577. ]
  578. class FC_HBAFCPInfoMethods : CIMExt_HBAFCPInfoMethods
  579. {
  580. [key]
  581. string InstanceName;
  582. };
  583. #endif