windows-nt/Source/XPSP1/NT/base/wmi/fchba/mof/fccimmap.mof
2020-09-26 16:20:57 +08:00

689 lines
15 KiB
Plaintext

//***************************************************************************
//
// fccimmap.mof
//
// Module: Fibre channel CIM Mapping classes
//
// Purpose: Contains Fibre channel classes used for a generic
// mapping from WDM fibre channel classes.
//
// Copyright (c) 2001 Microsoft Corporation
//
//***************************************************************************
#pragma namespace("\\\\.\\root\\cimv2")
[Dynamic,
Provider("wmimap"),
WdmShadowClass("MSFC_Card"),
DerivedClassType("NonConcrete")
]
class FC_Card : CIM_Card
{
[key]
string InstanceName;
//
// CIM_ManagedElement
//
[WmiMapFill,
MaxLen (64), Description (
"The Caption property is a short textual description (one-"
"line string) of the object.") : amended
]
string Caption;
[WmiMapFill,
Description (
"The Description property provides a textual description of "
"the object.")
]
string Description;
//
// CIM_ManagedSystemElement
//
[WmiMapFill,
Description (
"A datetime value indicating when the object was installed. "
"A lack of a value does not indicate that the object is not "
"installed.") : amended,
MappingStrings {"MIF.DMTF|ComponentID|001.5"} ]
datetime InstallDate;
//
// CIM_PhysicalElement
//
[WmiMapFill,
MaxLen (256), Description (
"CreationClassName indicates the name of the class or the "
"subclass used in the creation of an instance. When used "
"with the other key properties of this class, this property "
"allows all instances of this class and its subclasses to "
"be uniquely identified.") : amended ]
string CreationClassName;
[WmiMapFill,
MaxLen (256), Description (
"The name of the organization responsible for producing the "
"PhysicalElement. This may be the entity from whom the Element "
"is purchased, but this is not necessarily true. The latter "
"information is contained in the Vendor property of "
"CIM_Product.") : amended ]
string Manufacturer;
//
// CIM_PhysicalPackage
//
};
[Dynamic,
Provider("wmimap"),
WdmShadowClass("MSFC_PhysicalConnector"),
DerivedClassType("NonConcrete")
]
class FC_PhysicalConnector : CIM_PhysicalConnector
{
[key]
string InstanceName;
//
// CIM_ManagedElement
//
[WmiMapFill,
MaxLen (64), Description (
"The Caption property is a short textual description (one-"
"line string) of the object.") : amended
]
string Caption;
[WmiMapFill,
Description (
"The Description property provides a textual description of "
"the object.")
]
string Description;
//
// CIM_ManagedSystemElement
//
[WmiMapFill,
Description (
"A datetime value indicating when the object was installed. "
"A lack of a value does not indicate that the object is not "
"installed.") : amended,
MappingStrings {"MIF.DMTF|ComponentID|001.5"} ]
datetime InstallDate;
//
// CIM_PhysicalElement
//
[WmiMapFill,
MaxLen (256), Description (
"CreationClassName indicates the name of the class or the "
"subclass used in the creation of an instance. When used "
"with the other key properties of this class, this property "
"allows all instances of this class and its subclasses to "
"be uniquely identified.") : amended ]
string CreationClassName;
[WmiMapFill,
MaxLen (256), Description (
"The name of the organization responsible for producing the "
"PhysicalElement. This may be the entity from whom the Element "
"is purchased, but this is not necessarily true. The latter "
"information is contained in the Vendor property of "
"CIM_Product.") : amended ]
string Manufacturer;
//
// CIM_PhysicalConnector
//
};
//
// TODO: Need WmiMapFill properties
//
[Dynamic,
Provider("wmimap"),
WdmShadowClass("MSFC_FibreChannelAdapter"),
DerivedClassType("NonConcrete")
]
class FC_FibreChannelAdapter : CIM_FibreChannelAdapter
{
[key]
string InstanceName;
};
[Dynamic,
Provider("wmimap"),
WdmShadowClass("MSFC_ScsiController"),
DerivedClassType("NonConcrete")
]
class FC_ScsiController : CIM_ScsiController
{
[key]
string InstanceName;
};
[Dynamic,
Provider("wmimap"),
WdmShadowClass("MSFC_FibrePort"),
DerivedClassType("NonConcrete")
]
class FC_FibrePort : CIM_FibrePort
{
[key]
string InstanceName;
};
[Dynamic,
Provider("wmimap"),
WdmShadowClass("MSFC_FibrePortOnFCAdapter"),
DerivedClassType("NonConcrete")
]
class FC_FibrePortOnFCAdapter : CIM_FibrePortOnFCAdapter
{
[key]
string InstanceName;
[Override ("Antecedent"),
Max (1),
Description ("The FibreChannelAdapter that includes the Port.") : amended
]
FC_FibreChannelAdapter REF Antecedent;
[Override ("Dependent"),
Max (1),
Description ("The FibrePort on the Adapter.") : amended
]
FC_FibrePort REF Dependent;
};
[Dynamic,
Provider("wmimap"),
WdmShadowClass("MSFC_FCAdapterEventCounters"),
DerivedClassType("NonConcrete")
]
class FC_FCAdapterEventCounters : CIM_FCAdapterEventCounters
{
[key]
string InstanceName;
[WmiMapFill,
MaxLen (256),
Description (
"The scoping System's CreationClassName.") : amended
]
string SystemCreationClassName;
[WmiMapFill,
MaxLen (256),
Description ("The scoping System's Name.") : amended
]
string SystemName;
[WmiMapFill,
MaxLen (256),
Description ("The scoping Device's CreationClassName.") : amended
]
string DeviceCreationClassName;
[WmiMapFill,
MaxLen (64),
Description ("The scoping Device's ID.") : amended
]
string DeviceID;
[WmiMapFill,
MaxLen (256), Description (
"CreationClassName indicates the name of the class or the "
"subclass used in the creation of an instance. When used "
"with the other key properties of this class, this property "
"allows all instances of this class and its subclasses to "
"be uniquely identified.") : amended
]
string CreationClassName;
[MaxLen (256), Override ("Name"), Description (
"The Name property, inherited from StatisticalInformation, "
"serves as part of the object key.") : amended
]
string Name;
};
[Dynamic,
Provider("wmimap"),
WdmShadowClass("MSFC_FibrePortEventCounters"),
DerivedClassType("NonConcrete")
]
class FC_FCFibrePortEventCounters : CIM_FibrePortEventCounters
{
[key]
string InstanceName;
[WmiMapFill,
MaxLen (256),
Description (
"The scoping System's CreationClassName.") : amended
]
string SystemCreationClassName;
[WmiMapFill,
MaxLen (256),
Description ("The scoping System's Name.") : amended
]
string SystemName;
[WmiMapFill,
MaxLen (256),
Description ("The scoping Device's CreationClassName.") : amended
]
string DeviceCreationClassName;
[WmiMapFill,
MaxLen (64),
Description ("The scoping Device's ID.") : amended
]
string DeviceID;
[WmiMapFill,
MaxLen (256), Description (
"CreationClassName indicates the name of the class or the "
"subclass used in the creation of an instance. When used "
"with the other key properties of this class, this property "
"allows all instances of this class and its subclasses to "
"be uniquely identified.") : amended
]
string CreationClassName;
[MaxLen (256), Override ("Name"), Description (
"The Name property, inherited from StatisticalInformation, "
"serves as part of the object key.") : amended
]
string Name;
};
[Dynamic,
Provider("wmimap"),
WdmShadowClass("MSFC_FibrePortActiveLogin"),
DerivedClassType("NonConcrete")
]
class FC_FibrePortActiveLogin : CIM_FibrePortActiveLogin
{
[Description ("The originator of the login.") : amended
]
FC_FibrePort REF LoginOriginator;
[Description ("The responder to the login.") : amended
]
FC_FibrePort REF LoginResponder;
};
#if 0
//
// This is a CIM extension class that specifies the additonal
// adapter attributes needed for HBA. Where do these go in the CIM Heirarchy ?
//
// TODO: Get descriptions from FC-MI
[HBAType("HBA_PORTSTATISTICS")
]
class CIMExt_FibrePortHBAStatistics
{
sint64 SecondsSinceLastReset;
sint64 TxFrames;
sint64 TxWords;
sint64 RxFrames;
sint64 RxWords;
sint64 LIPCount;
sint64 NOSCount;
sint64 ErrorFrames;
sint64 DumpedFrames;
sint64 LinkFailureCount;
sint64 LossOfSyncCount;
sint64 LossOfSignalCount;
sint64 PrimitiveSeqProtocolErrCount;
sint64 InvalidTxWordCount;
sint64 InvalidCRCCount;
};
[Dynamic,
Provider("wmimap"),
WdmShadowClass("MSFC_FibrePortHBAStatistics"),
DerivedClassType("NonConcrete")
]
class FC_FibrePortHBAStatistics : CIMExt_FibrePortHBAStatistics
{
[key]
string InstanceName;
};
[HBAType("HBA_PORTATTRIBUTES")
]
class CIMExt_FibrePortHBAAttributes
{
CIM_FibrePort Ref Port;
[HBAType("HBA_WWN")
]
uint8 NodeWWN[8];
[HBAType("HBA_WWN")
]
uint8 PortWWN[8];
uint32 PortFcId;
[HBAType("HBA_PORTTYPE"),
Values{"Unknown", "Other", "Not present", "Fabric", "Public Loop",
"HBA_PORTTYPE_FLPORT", "Fabric Port", "Fabric expansion port",
"Generic Fabric Port", "Private Loop", "Point to Point"} : amended,
ValueMap{"1", "2", "3", "5", "6", "7", "8", "9", "10", "20", "21"}
]
uint32 PortType;
[HBAType("HBA_PORTSTATE"),
Values{"Unknown", "Operational", "User Offline", "Bypassed",
"In diagnostics mode", "Link Down", "Port Error", "Loopback"
} : amended,
ValueMap{"1","2","3","4","5","6","7","8"}
]
uint32 PortState;
// TODO: See GS-2 spec for enumeration/ValueMap
[HBAType("HBA_COS")
]
uint32 PortSupportedClassofService;
[HBAType("HBA_FC4TYPES")
]
uint8 PortSupportedFc4Types[32];
[HBAType("HBA_FC4TYPES")
]
uint8 PortActiveFc4Types[32];
[MaxLen(256)
]
string PortSymbolicName;
[MaxLen(256)
]
string OSDeviceName;
[HBAType("HBA_PORTSPEED"),
Values{"1 GBit/sec", "2 GBit/sec", "10 GBit/sec"} : amended,
ValueMap{"1", "2", "4"}
]
uint32 PortSupportedSpeed;
[HBAType("HBA_PORTSPEED"),
Values{"1 GBit/sec", "2 GBit/sec", "10 GBit/sec"} : amended,
ValueMap{"1", "2", "4"}
]
uint32 PortSpeed;
uint32 PortMaxFrameSize;
[HBAType("HBA_WWN")
]
uint8 FabricName[8];
uint32 NumberofDiscoveredPorts;
};
[Dynamic,
Provider("wmimap"),
WdmShadowClass("MSFC_FibrePortHBAAttributes"),
DerivedClassType("NonConcrete")
]
class FC_FibrePortHBAAttributes : CIMExt_FibrePortHBAAttributes
{
[key]
string InstanceName;
};
[HBAType("HBA_ADAPTERATTRIBUTES")
]
class CIMExt_FCAdapterHBAAttributes
{
CIM_FibreChannelAdapter REF Adapter;
[MaxLen(64)
]
string Manufacturer;
[MaxLen(64)
]
string SerialNumber;
[MaxLen(256)
]
string Model;
[MaxLen(256)
]
string ModelDescription;
[HBAType("HBA_WWN")
]
uint8 NodeWWN[8];
[MaxLen(256)
]
string NodeSymbolicName;
[MaxLen(256)
]
string HardwareVersion;
[MaxLen(256)
]
string DriverVersion;
[MaxLen(256)
]
string OptionROMVersion;
[MaxLen(256)
]
string FirmwareVersion;
uint32 VendorSpecificID;
uint32 NumberOfPorts;
[MaxLen(256)
]
string DriverName;
};
[Dynamic,
Provider("wmimap"),
WdmShadowClass("MSFC_FCAdapterHBAAttributes"),
DerivedClassType("NonConcrete")
]
class FC_FCAdapterHBAAttributes : CIMExt_FCAdapterHBAAttributes
{
[key]
string InstanceName;
};
[HBAType("HBA_MGMTINFO")
]
class CIMExt_HBAFC3MgmtInfo
{
CIM_FibreChannelAdapter REF Adapter;
[HBAType("HBA_WWN")
]
uint8 wwn[8];
uint32 unittype;
uint32 PortId;
uint32 NumberOfAttachedNodes;
uint16 IPVersion;
uint16 UDPPort;
uint8 IPAddress[16];
uin16 reserved;
uint16 TopologyDiscoveryFlags;
};
[Dynamic,
Provider("wmimap"),
WdmShadowClass("MSFC_HBAFC3MgmtInfo"),
DerivedClassType("NonConcrete")
]
class FC_HBAFC3MgmtInfo : CIMExt_HBAFC3MgmtInfo
{
[key]
string InstanceName;
};
class CIMExt_HBAPortMethods
{
[HBAType("HBA_STATUS")
]
uint32 GetDiscoveredPortAttributes([in] CIM_FibrePort Ref Port,
[in] uint32 DiscoveredPortIndex,
[out] CIMExt_FibrePortHBAAttributes PortAttributes);
[HBAType("HBA_STATUS")
]
uint32 GetPortAttributesByWWN([in,
HBAType("HBA_WWN")
] uint8 wwn[8],
[out] CIMExt_FibrePortHBAAttributes PortAttributes);
};
[Dynamic,
Provider("wmimap"),
WdmShadowClass("MSFC_HBAPortMethods"),
DerivedClassType("NonConcrete")
]
class FC_HBAPortMethods : CIMExt_HBAPortMethods
{
[key]
string InstanceName;
};
class CIMExt_HBAFc3MgmtMethods
{
[HBAType("HBA_STATUS")
]
uint32 SendCTPassThru([in] uint8 RequestBuffer[],
[out] uint8 ResponseBuffer[]
);
[HBAType("HBA_STATUS")
]
uint32 SendRNID([in,
HBAType("HBA_WWN")
] uint8 wwn[8],
[in,
HBAType("HBA_WWNTYPE"),
Values{"NODE_WWN", "PORT_WWN"},
ValueMap{"0", "1"}
] uint32 wwntype,
[out
] uint8 ResponseBuffer[]);
};
[Dynamic,
Provider("wmimap"),
WdmShadowClass("MSFC_HBAFc3MgmtMethods"),
DerivedClassType("NonConcrete")
]
class FC_HBAFc3MgmtMethods : CIMExt_HBAFc3MgmtMethods
{
[key]
string InstanceName;
};
[HBAType("HBA_SCSIID")
]
class HBAScsiID
{
[MaxLen(256)
]
string OSDeviceName;
uint32 ScsiBusNumber;
uint32 ScsiTargetNumber;
uint32 ScsiOSLun;
};
[HBAType("HBA_FCPID")
]
class HBAFCPID
{
uint32 Fcid;
[HBAType("HBA_WWN")
]
uint8 NodeWWN[8];
[HBAType("HBA_WWN")
]
uint8 PortWWN[8];
uint64 FcpLun;
};
[HBAType("HBA_FCPSCSIENTRY")
]
class HBAFCPScsiEntry
{
HBAScsiID ScsiId;
HBAFCPID FCPId;
};
[HBAType("HBA_FCPBINDINGENTRY")
]
class HBAFCPBindingEntry
{
[HBAType("HBA_FCPBINDINGTYPE"),
Values{"TO_D_ID", "TO_WWN"},
ValueMap{"0", "1"}
]
uint32 Type;
[HBAType("HBA_FCPSCSIENTRY")
]
HBAScsiID ScsiId;
[HBAType("HBA_FCID")
]
HBAFCPID FCPId;
};
class CimExt_HBAFCPInfoMethods
{
uint32 GetFcpTargetMapping([out] HBAFCPScsiEntry Entry[]);
uint32 GetFcpPersistentBindind([out] HBAFCPBindingEntry Entry[]);
};
[Dynamic,
Provider("wmimap"),
WdmShadowClass("MSFC_HBAFCPInfoMethods"),
DerivedClassType("NonConcrete")
]
class FC_HBAFCPInfoMethods : CIMExt_HBAFCPInfoMethods
{
[key]
string InstanceName;
};
#endif