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.
1581 lines
38 KiB
1581 lines
38 KiB
//***************************************************************************
|
|
//
|
|
// hbaapi.mof
|
|
//
|
|
// Module: WDM classes to expose HBA api data from drivers
|
|
//
|
|
// Purpose: Contains WDM classes that specify the HBA data to be exposed
|
|
// via the HBA api set.
|
|
//
|
|
// NOTE: This file contains information that is based upon an earlier
|
|
// revision of the HBAAPI 2.0 specification. Since the
|
|
// specification has not yet been approved, the information may
|
|
// change in the next release of this file.
|
|
//
|
|
// Copyright (c) 2001 Microsoft Corporation
|
|
//
|
|
//***************************************************************************
|
|
|
|
//
|
|
// define data types
|
|
//
|
|
#define HBA_STATUS uint32
|
|
|
|
//
|
|
// Common qualifiers needed for HBA_STATUS values
|
|
//
|
|
#define HBA_STATUS_QUALIFIERS \
|
|
HBAType("HBA_STATUS"), \
|
|
Description("HBA Status result for the query operation") : amended, \
|
|
ValueMap{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", \
|
|
"11", "12", "13", "14", "15", "16", "17", "18", "19", "20", \
|
|
"21", "22", "23", "24", "25", "26", "27", "28", "29"}, \
|
|
Values{ \
|
|
"Operation was successful ", \
|
|
"Error ", \
|
|
"Function not supported.", \
|
|
"invalid handle ", \
|
|
"Bad argument ", \
|
|
"WWN not recognized ", \
|
|
"Index not recognized ", \
|
|
"Larger buffer required ", \
|
|
"Information has changed since the last call to HBA_RefreshInformation ", \
|
|
"SCSI Check Condition reported", \
|
|
"Adapter busy or reserved, retry may be effective", \
|
|
"Request timed out, retry may be effective", \
|
|
"Referenced HBA has been removed or deactivated", \
|
|
"The requested ELS was rejected by the local adapter", \
|
|
"The specified LUN is not provided by the specified adapter", \
|
|
"An incompatibility has been detected among the library and driver modules", \
|
|
"Multiple adapters have a matching WWN", \
|
|
"A persistent binding request included a bad local SCSI bus number", \
|
|
"A persistent binding request included a bad local SCSI target number", \
|
|
"A persistent binding request included a bad local SCSI logical unit number", \
|
|
"A persistent binding set request included a local SCSI ID that was already bound", \
|
|
"A persistent binding request included a bad or unlocatable FCP Target FCID", \
|
|
"A persistent binding request included a bad FCP Target Node WWN", \
|
|
"A persistent binding request included a bad FCP Target Port WWN", \
|
|
"A persistent binding request included an FCP Logical Unit Number not defined by the identified Target", \
|
|
"A persistent binding request included an undefined or otherwise in accessible Logical Unit Unique Identifier", \
|
|
"A persistent binding remove request included a binding which did not match a binding established by the specified port", \
|
|
"A SCSI command was requested to an Nx_Port that was not a SCSI Target Port", \
|
|
"A request was made concerning an unsupported FC-4 protocol", \
|
|
"A request was made to enable unimplemented capabilities for a port" \
|
|
} : amended \
|
|
|
|
|
|
|
|
#define HBA_BIND_TYPE uint32
|
|
|
|
#define HBA_BIND_TYPE_QUALIFIERS \
|
|
Description("Ways of performing persistent binding") : amended, \
|
|
BitValues{ \
|
|
"HBA_BIND_TO_D_ID", \
|
|
"HBA_BIND_TO_WWPN", \
|
|
"HBA_BIND_TO_WWNN", \
|
|
"HBA_BIND_TO_LUID" \
|
|
"HBA_BIND_TARGETS" \
|
|
}, \
|
|
BitMap{ "0x01", "0x02", "0x04", "0x08", "0x0800"}
|
|
|
|
#pragma namespace("\\\\.\\root\\wmi")
|
|
|
|
//
|
|
// HBA 1.0 specific classes
|
|
//
|
|
|
|
|
|
[cpp_quote("\n"
|
|
"//***************************************************************************\n"
|
|
"//\n"
|
|
"// hbapiwmi.h\n"
|
|
"// \n"
|
|
"// Module: WDM classes to expose HBA api data from drivers\n"
|
|
"//\n"
|
|
"// Purpose: Contains WDM classes that specify the HBA data to be exposed \n"
|
|
"// via the HBA api set.\n"
|
|
"//\n"
|
|
"// NOTE: This file contains information that is based upon an earlier\n"
|
|
"// revision of the HBAAPI 2.0 specification. Since the\n"
|
|
"// specification has not yet been approved, the information may\n"
|
|
"// change in the next release of this file.\n"
|
|
"//\n"
|
|
"// Copyright (c) 2001 Microsoft Corporation\n"
|
|
"//\n"
|
|
"//***************************************************************************\n\n"
|
|
),
|
|
WMI,
|
|
guid("{3CE7904F-459F-480d-9A3C-013EDE3BDDE8}")
|
|
]
|
|
class MSFC_HBAPortStatistics
|
|
{
|
|
[
|
|
WmiDataId(1)
|
|
]
|
|
sint64 SecondsSinceLastReset;
|
|
|
|
[
|
|
WmiDataId(2)
|
|
]
|
|
sint64 TxFrames;
|
|
|
|
[
|
|
WmiDataId(3)
|
|
]
|
|
sint64 TxWords;
|
|
|
|
[
|
|
WmiDataId(4)
|
|
]
|
|
sint64 RxFrames;
|
|
|
|
[
|
|
WmiDataId(5)
|
|
]
|
|
sint64 RxWords;
|
|
|
|
[
|
|
WmiDataId(6)
|
|
]
|
|
sint64 LIPCount;
|
|
|
|
[
|
|
WmiDataId(7)
|
|
]
|
|
sint64 NOSCount;
|
|
|
|
[
|
|
WmiDataId(8)
|
|
]
|
|
sint64 ErrorFrames;
|
|
|
|
[
|
|
WmiDataId(9)
|
|
]
|
|
sint64 DumpedFrames;
|
|
|
|
[
|
|
WmiDataId(10)
|
|
]
|
|
sint64 LinkFailureCount;
|
|
|
|
// CIM_FibrePort.LossofSyncCounter
|
|
[
|
|
WmiDataId(11)
|
|
]
|
|
sint64 LossOfSyncCount;
|
|
|
|
// CIM_FibrePort.LossofSignalCounter
|
|
[
|
|
WmiDataId(12)
|
|
]
|
|
sint64 LossOfSignalCount;
|
|
|
|
[
|
|
WmiDataId(13)
|
|
]
|
|
sint64 PrimitiveSeqProtocolErrCount;
|
|
|
|
[
|
|
WmiDataId(14)
|
|
]
|
|
sint64 InvalidTxWordCount;
|
|
|
|
// CIM_FibrePort.CRCErrors
|
|
[
|
|
WmiDataId(15)
|
|
]
|
|
sint64 InvalidCRCCount;
|
|
|
|
};
|
|
|
|
[WMI,
|
|
Dynamic,
|
|
Provider("WmiProv"),
|
|
Description("This class exposes statistical information associated with "
|
|
"a Fibre Channel port. There should be one instance of this "
|
|
"class for each port.") : amended,
|
|
guid("{27EFABA4-362A-4f20-920B-ED66E280FCF5}")
|
|
]
|
|
class MSFC_FibrePortHBAStatistics
|
|
{
|
|
[key]
|
|
string InstanceName;
|
|
boolean Active;
|
|
|
|
[
|
|
Description ("Unique identifier for the port. This idenitifer must "
|
|
"be unique among all ports on all adapters. The same "
|
|
"value for the identifier must be used for the same port "
|
|
"in other classes that expose port information") : amended,
|
|
WmiRefClass("MSFC_FibrePort"),
|
|
WmiRefProperty("UniquePortId"),
|
|
WmiDataId(1)
|
|
]
|
|
uint64 UniquePortId; // CIM_FibrePort REF
|
|
|
|
[WmiDataId(2),
|
|
HBA_STATUS_QUALIFIERS
|
|
]
|
|
uint32 HBAStatus;
|
|
|
|
// Note 4 byte padding
|
|
|
|
[WmiDataId(3)
|
|
]
|
|
MSFC_HBAPortStatistics Statistics;
|
|
};
|
|
|
|
[WMI,
|
|
HBAType("HBA_PORTATTRIBUTES"),
|
|
guid("{A76BD4E3-9961-4d9b-B6BE-86E698260F68}")
|
|
]
|
|
class MSFC_HBAPortAttributesResults
|
|
{
|
|
[HBAType("HBA_WWN"),
|
|
WmiDataId(1)
|
|
]
|
|
uint8 NodeWWN[8];
|
|
|
|
[HBAType("HBA_WWN"),
|
|
WmiDataId(2)
|
|
]
|
|
uint8 PortWWN[8];
|
|
|
|
[
|
|
WmiDataId(3)
|
|
]
|
|
uint32 PortFcId;
|
|
|
|
// CIM_FibrePort.CurrentPortType
|
|
[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"},
|
|
WmiDataId(4)
|
|
]
|
|
uint32 PortType;
|
|
|
|
// CIM_LogicalDevice.Availability
|
|
[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"},
|
|
WmiDataId(5)
|
|
]
|
|
uint32 PortState;
|
|
|
|
// CIM_FibreChannelAdapter.SupportedCOS
|
|
// TODO: See GS-2 spec for enumeration/ValueMap
|
|
[HBAType("HBA_COS"),
|
|
WmiDataId(6)
|
|
]
|
|
uint32 PortSupportedClassofService;
|
|
|
|
// CIM_FibreChannelAdapter.FC4TypesSupported
|
|
[HBAType("HBA_FC4TYPES"),
|
|
WmiDataId(7)
|
|
]
|
|
uint8 PortSupportedFc4Types[32];
|
|
|
|
[HBAType("HBA_FC4TYPES"),
|
|
WmiDataId(8)
|
|
]
|
|
uint8 PortActiveFc4Types[32];
|
|
|
|
[HBAType("HBA_PORTSPEED"),
|
|
Values{"1 GBit/sec", "2 GBit/sec", "10 GBit/sec", "4 GBit/sec"} : amended,
|
|
ValueMap{"1", "2", "4", "8"},
|
|
WmiDataId(9)
|
|
]
|
|
uint32 PortSupportedSpeed;
|
|
|
|
// CIM_LogicalPort.Speed
|
|
[HBAType("HBA_PORTSPEED"),
|
|
Values{"1 GBit/sec", "2 GBit/sec", "10 GBit/sec", "4 GBit/sec"} : amended,
|
|
ValueMap{"1", "2", "4", "8"},
|
|
WmiDataId(10)
|
|
]
|
|
uint32 PortSpeed;
|
|
|
|
[
|
|
WmiDataId(11)
|
|
]
|
|
uint32 PortMaxFrameSize;
|
|
|
|
[HBAType("HBA_WWN"),
|
|
WmiDataId(12)
|
|
]
|
|
uint8 FabricName[8];
|
|
|
|
[
|
|
WmiDataId(13)
|
|
]
|
|
uint32 NumberofDiscoveredPorts;
|
|
|
|
};
|
|
|
|
[WMI,
|
|
Dynamic,
|
|
Provider("WmiProv"),
|
|
Description("This class exposes attribute information associated with "
|
|
"a Fibre Channel port. There should be one instance of this "
|
|
"class for each port.") : amended,
|
|
guid("{61B397FD-F5AE-4950-9758-0EE598E3C6E6}")
|
|
]
|
|
class MSFC_FibrePortHBAAttributes
|
|
{
|
|
[key]
|
|
string InstanceName;
|
|
boolean Active;
|
|
|
|
[
|
|
Description ("Unique identifier for the port. This idenitifer must "
|
|
"be unique among all ports on all adapters. The same "
|
|
"value for the identifier must be used for the same port "
|
|
"in other classes that expose port information") : amended,
|
|
WmiRefClass("MSFC_FibrePort"),
|
|
WmiRefProperty("UniquePortId"),
|
|
WmiDataId(1)
|
|
]
|
|
uint64 UniquePortId; // CIM_FibrePort REF
|
|
|
|
[HBA_STATUS_QUALIFIERS,
|
|
WmiDataId(2)
|
|
]
|
|
HBA_STATUS HBAStatus;
|
|
|
|
[HBAType("HBA_PORTATTRIBUTES"),
|
|
WmiDataId(3)
|
|
]
|
|
MSFC_HBAPortAttributesResults Attributes;
|
|
};
|
|
|
|
[WMI,
|
|
Dynamic,
|
|
Provider("WmiProv"),
|
|
Description("This class exposes operations that can be performed on "
|
|
"a Fibre Channel port. There should be one instance of this "
|
|
"class for each port.") : amended,
|
|
guid("{E693553E-EDF6-4d57-BF08-EFCAAE1A2E1C}")
|
|
]
|
|
class MSFC_FibrePortHBAMethods
|
|
{
|
|
[key]
|
|
string InstanceName;
|
|
boolean Active;
|
|
|
|
[
|
|
Implemented,
|
|
WmiMethodId(1)
|
|
]
|
|
void ResetStatistics();
|
|
};
|
|
|
|
|
|
[WMI,
|
|
Dynamic,
|
|
Provider("WmiProv"),
|
|
Description("This class exposes attribute information associated with a "
|
|
"fibre channel adapter. There should be one instance of this "
|
|
"class for each adapter") : amended,
|
|
guid("{F8F3EA26-AB2C-4593-8B84-C56428E6BEDB}")
|
|
]
|
|
class MSFC_FCAdapterHBAAttributes
|
|
{
|
|
[key]
|
|
string InstanceName;
|
|
boolean Active;
|
|
|
|
[
|
|
Description ("Unique identifier for the adapter. This idenitifer must "
|
|
"be unique among all adapters. The same "
|
|
"value for the identifier must be used for the same adapter "
|
|
"in other classes that expose adapter information") : amended,
|
|
|
|
WmiRefClass("MSFC_FibreChannelAdapter"),
|
|
WmiRefProperty("UniqueAdapterId"),
|
|
WmiDataId(1)
|
|
]
|
|
uint64 UniqueAdapterId; // CIM_FibreChannelAdapter REF
|
|
|
|
[HBA_STATUS_QUALIFIERS,
|
|
WmiDataId(2)
|
|
]
|
|
HBA_STATUS HBAStatus;
|
|
|
|
// CIM_NetworkAdapter.PermamentAddress
|
|
[HBAType("HBA_WWN"),
|
|
WmiDataId(3)
|
|
]
|
|
uint8 NodeWWN[8];
|
|
|
|
[WmiDataId(4)
|
|
]
|
|
uint32 VendorSpecificID;
|
|
|
|
[WmiDataId(5)
|
|
]
|
|
uint32 NumberOfPorts;
|
|
|
|
// CIM_PhysicalElement
|
|
[MaxLen(64),
|
|
WmiDataId(6)
|
|
]
|
|
string Manufacturer;
|
|
|
|
// CIM_PhysicalElement
|
|
[MaxLen(64),
|
|
WmiDataId(7)
|
|
]
|
|
string SerialNumber;
|
|
|
|
// CIM_PhysicalElement
|
|
[MaxLen(256),
|
|
WmiDataId(8)
|
|
]
|
|
string Model;
|
|
|
|
[MaxLen(256),
|
|
WmiDataId(9)
|
|
]
|
|
string ModelDescription;
|
|
|
|
[MaxLen(256),
|
|
WmiDataId(10)
|
|
]
|
|
string NodeSymbolicName;
|
|
|
|
// CIM_PhysicalElement
|
|
[MaxLen(256),
|
|
WmiDataId(11)
|
|
]
|
|
string HardwareVersion;
|
|
|
|
[MaxLen(256),
|
|
WmiDataId(12)
|
|
]
|
|
string DriverVersion;
|
|
|
|
[MaxLen(256),
|
|
WmiDataId(13)
|
|
]
|
|
string OptionROMVersion;
|
|
|
|
[MaxLen(256),
|
|
WmiDataId(14)
|
|
]
|
|
string FirmwareVersion;
|
|
|
|
[MaxLen(256),
|
|
WmiDataId(15)
|
|
]
|
|
string DriverName;
|
|
|
|
[MaxLen(256),
|
|
WmiDataId(16)
|
|
]
|
|
string MfgDomain;
|
|
};
|
|
|
|
|
|
|
|
[WMI,
|
|
Description("This class exposes FC3 Management information associated with "
|
|
"a fibre channel adapter. There should be one instance of this "
|
|
"class for each adapter") : amended,
|
|
guid("{5966A24F-6AA5-418e-B75C-2F214DFB4B18}")
|
|
]
|
|
class HBAFC3MgmtInfo
|
|
{
|
|
[
|
|
Description ("Unique identifier for the adapter. This idenitifer must "
|
|
"be unique among all adapters. The same "
|
|
"value for the identifier must be used for the same adapter "
|
|
"in other classes that expose adapter information") : amended,
|
|
|
|
WmiRefClass("MSFC_FibreChannelAdapter"),
|
|
WmiRefProperty("UniqueAdapterId"),
|
|
WmiDataId(1)
|
|
]
|
|
uint64 UniqueAdapterId; // CIM_FibreChannelAdapter REF
|
|
|
|
[HBAType("HBA_WWN"),
|
|
WmiDataId(2)
|
|
]
|
|
uint8 wwn[8];
|
|
|
|
[
|
|
WmiDataId(3)
|
|
]
|
|
uint32 unittype;
|
|
|
|
[
|
|
WmiDataId(4)
|
|
]
|
|
uint32 PortId;
|
|
|
|
[
|
|
WmiDataId(5)
|
|
]
|
|
uint32 NumberOfAttachedNodes;
|
|
|
|
[
|
|
WmiDataId(6)
|
|
]
|
|
uint16 IPVersion;
|
|
|
|
[
|
|
WmiDataId(7)
|
|
]
|
|
uint16 UDPPort;
|
|
|
|
[
|
|
WmiDataId(8)
|
|
]
|
|
uint8 IPAddress[16];
|
|
|
|
[
|
|
WmiDataId(9)
|
|
]
|
|
uint16 reserved;
|
|
|
|
[
|
|
WmiDataId(10)
|
|
]
|
|
uint16 TopologyDiscoveryFlags;
|
|
};
|
|
|
|
[HBAType("HBA_SCSIID"),
|
|
WMI,
|
|
guid("{A76F5058-B1F0-4622-9E88-5CC41E34454A}")
|
|
]
|
|
class HBAScsiID
|
|
{
|
|
[MaxLen(256),
|
|
WmiDataId(1)
|
|
]
|
|
string OSDeviceName;
|
|
|
|
[WmiDataId(2)
|
|
]
|
|
uint32 ScsiBusNumber;
|
|
|
|
[WmiDataId(3)
|
|
]
|
|
uint32 ScsiTargetNumber;
|
|
|
|
[WmiDataId(4)
|
|
]
|
|
uint32 ScsiOSLun;
|
|
};
|
|
|
|
[WMI,
|
|
guid("{CA8E7FE6-B85E-497f-8858-9B5D93A66FE1}")
|
|
]
|
|
class MSFC_FC4STATISTICS
|
|
{
|
|
[WmiDataId(1)
|
|
]
|
|
uint64 InputRequests;
|
|
|
|
[WmiDataId(2)
|
|
]
|
|
uint64 OutputRequests;
|
|
|
|
[WmiDataId(3)
|
|
]
|
|
uint64 ControlRequests;
|
|
|
|
[WmiDataId(4)
|
|
]
|
|
uint64 InputMegabytes;
|
|
|
|
[WmiDataId(5)
|
|
]
|
|
uint64 OutputMegabytes;
|
|
|
|
};
|
|
|
|
[WMI,
|
|
Description("") : amended,
|
|
guid("{8CF4C7EB-A286-409d-9EB9-29D7E0E9F4FA}")
|
|
]
|
|
class MSFC_TM
|
|
{
|
|
[WmiDataId(1)
|
|
]
|
|
uint32 tm_sec;
|
|
|
|
[WmiDataId(2)
|
|
]
|
|
uint32 tm_min;
|
|
|
|
[WmiDataId(3)
|
|
]
|
|
uint32 tm_hour;
|
|
|
|
[WmiDataId(4)
|
|
]
|
|
uint32 tm_mday;
|
|
|
|
[WmiDataId(5)
|
|
]
|
|
uint32 tm_mon;
|
|
|
|
[WmiDataId(6)
|
|
]
|
|
uint32 tm_year;
|
|
|
|
[WmiDataId(7)
|
|
]
|
|
uint32 tm_wday;
|
|
|
|
[WmiDataId(8)
|
|
]
|
|
uint32 tm_yday;
|
|
|
|
[WmiDataId(9)
|
|
]
|
|
uint32 tm_isdst;
|
|
|
|
};
|
|
|
|
[WMI,
|
|
Description("") : amended,
|
|
guid("{623F4588-CF01-4f0e-B197-ABBEE5E0CFF3}")
|
|
]
|
|
class MSFC_EventBuffer
|
|
{
|
|
[WmiDataId(1)]
|
|
uint32 EventType;
|
|
|
|
[WmiDataId(2)]
|
|
uint32 EventInfo[4];
|
|
};
|
|
|
|
[WMI,
|
|
Dynamic,
|
|
Provider("WmiProv"),
|
|
Description("This class exposes port discovery operations that can be by a "
|
|
"fibre channel adapter. There should be one instance of this "
|
|
"class for each adapter") : amended,
|
|
guid("{DF87D4ED-4612-4d12-85FB-83574EC34B7C}")
|
|
]
|
|
class MSFC_HBAAdapterMethods
|
|
{
|
|
[key]
|
|
string InstanceName;
|
|
boolean Active;
|
|
|
|
[
|
|
Implemented,
|
|
WmiMethodId(1)
|
|
]
|
|
void GetDiscoveredPortAttributes(
|
|
[in
|
|
] uint32 PortIndex,
|
|
|
|
[in] uint32 DiscoveredPortIndex,
|
|
|
|
[out,
|
|
HBA_STATUS_QUALIFIERS
|
|
] HBA_STATUS HBAStatus,
|
|
|
|
[out,
|
|
HBAType("HBA_PORTATTRIBUTES")
|
|
] MSFC_HBAPortAttributesResults PortAttributes);
|
|
|
|
[
|
|
Implemented,
|
|
WmiMethodId(2)
|
|
]
|
|
void GetPortAttributesByWWN(
|
|
[in,
|
|
HBAType("HBA_WWN")] uint8 wwn[8],
|
|
|
|
[out,
|
|
HBA_STATUS_QUALIFIERS
|
|
] HBA_STATUS HBAStatus,
|
|
|
|
[out,
|
|
HBAType("HBA_PORTATTRIBUTES")
|
|
] MSFC_HBAPortAttributesResults PortAttributes);
|
|
|
|
[
|
|
Implemented,
|
|
WmiMethodId(3)
|
|
]
|
|
void RefreshInformation();
|
|
|
|
[Implemented,
|
|
WmiMethodId(4)
|
|
]
|
|
void SendCTPassThru([out,
|
|
HBA_STATUS_QUALIFIERS
|
|
] HBA_STATUS HBAStatus,
|
|
[in, HBAType("HBA_WWN")] uint8 PortWWN[8],
|
|
[in] uint32 RequestBufferCount,
|
|
[in, WmiSizeIs("RequestBufferCount")] uint8 RequestBuffer[],
|
|
[out] uint32 TotalResponseBufferCount,
|
|
[out] uint32 ActualResponseBufferCount,
|
|
[out, WmiSizeIs("ActualResponseBufferCount")] uint8 ResponseBuffer[]);
|
|
|
|
|
|
|
|
[
|
|
Implemented,
|
|
WmiMethodId(5)
|
|
]
|
|
void SendRNID(
|
|
[in,
|
|
HBAType("HBA_WWN")
|
|
] uint8 wwn[8],
|
|
|
|
[in,
|
|
HBAType("HBA_WWNTYPE"),
|
|
Values{"NODE_WWN", "PORT_WWN"},
|
|
ValueMap{"0", "1"}
|
|
] uint32 wwntype,
|
|
|
|
[out,
|
|
HBA_STATUS_QUALIFIERS
|
|
] HBA_STATUS HBAStatus,
|
|
|
|
[out] uint32 ResponseBufferCount,
|
|
|
|
[out,
|
|
WmiSizeIs("ResponseBufferCount")
|
|
] uint8 ResponseBuffer[]);
|
|
|
|
|
|
[Implemented,
|
|
WmiMethodId(6)
|
|
]
|
|
void SendRNIDV2([out,
|
|
HBA_STATUS_QUALIFIERS
|
|
] HBA_STATUS HBAStatus,
|
|
[in, HBAType("HBA_WWN")] uint8 PortWWN[8],
|
|
[in, HBAType("HBA_WWN")] uint8 DestWWN[8],
|
|
[in] uint32 DestFCID,
|
|
[in] uint32 NodeIdDataFormat,
|
|
[out] uint32 TotalRspBufferSize,
|
|
[out] uint32 ActualRspBufferSize,
|
|
[out, WmiSizeIs("ActualRspBufferSize")] uint8 RspBuffer[]);
|
|
|
|
|
|
[
|
|
Implemented,
|
|
WmiMethodId(7)
|
|
]
|
|
void GetFC3MgmtInfo(
|
|
[out,
|
|
HBA_STATUS_QUALIFIERS
|
|
] HBA_STATUS HBAStatus,
|
|
|
|
[out] HBAFC3MgmtInfo MgmtInfo);
|
|
|
|
[
|
|
Implemented,
|
|
WmiMethodId(8)
|
|
]
|
|
void SetFC3MgmtInfo(
|
|
[out,
|
|
HBA_STATUS_QUALIFIERS
|
|
] HBA_STATUS HBAStatus,
|
|
|
|
[in] HBAFC3MgmtInfo MgmtInfo);
|
|
|
|
|
|
[Implemented,
|
|
WmiMethodId(9)
|
|
]
|
|
void SendRTIN([out,
|
|
HBA_STATUS_QUALIFIERS
|
|
] HBA_STATUS HBAStatus,
|
|
[in, HBAType("HBA_WWN")] uint8 PortWWN[8],
|
|
[in, HBAType("HBA_WWN")] uint8 AgentWWN[8],
|
|
[in, HBAType("HBA_WWN")] uint8 ObjectWWN[8],
|
|
[in] boolean WWNIsDomain,
|
|
[out] uint32 RspBufferSize,
|
|
[out, WmiSizeIs("RspBufferSize")] uint8 RspBuffer[]);
|
|
|
|
|
|
[Implemented,
|
|
WmiMethodId(10)
|
|
]
|
|
void SendRPL([out,
|
|
HBA_STATUS_QUALIFIERS
|
|
] HBA_STATUS HBAStatus,
|
|
[in, HBAType("HBA_WWN")] uint8 PortWWN[8],
|
|
[in, HBAType("HBA_WWN")] uint8 AgentWWN[8],
|
|
[in] uint32 agent_domain,
|
|
[in] uint32 portIndex,
|
|
[out] uint32 TotalRspBufferSize,
|
|
[out] uint32 ActualRspBufferSize,
|
|
[out, WmiSizeIs("ActualRspBufferSize")] uint8 RspBuffer[]);
|
|
|
|
|
|
|
|
[Implemented,
|
|
WmiMethodId(11)
|
|
]
|
|
void SendRPS([out,
|
|
HBA_STATUS_QUALIFIERS
|
|
] HBA_STATUS HBAStatus,
|
|
[in, HBAType("HBA_WWN")] uint8 PortWWN[8],
|
|
[in, HBAType("HBA_WWN")] uint8 AgentWWN[8],
|
|
[in, HBAType("HBA_WWN")] uint8 ObjectWWN[8],
|
|
[in] uint32 AgentDomain,
|
|
[in] uint32 ObjectPortNumber,
|
|
[out] uint32 TotalRspBufferSize,
|
|
[out] uint32 ActualRspBufferSize,
|
|
[out, WmiSizeIs("ActualRspBufferSize")] uint8 RspBuffer[]);
|
|
|
|
|
|
[Implemented,
|
|
WmiMethodId(12)
|
|
]
|
|
void SendSRL([out,
|
|
HBA_STATUS_QUALIFIERS
|
|
] HBA_STATUS HBAStatus,
|
|
[in, HBAType("HBA_WWN")] uint8 PortWWN[8],
|
|
[in, HBAType("HBA_WWN")] uint8 WWN[8],
|
|
[in] uint32 Domain,
|
|
[out] uint32 TotalRspBufferSize,
|
|
[out] uint32 ActualRspBufferSize,
|
|
[out, WmiSizeIs("ActualRspBufferSize")] uint8 RspBuffer[]);
|
|
|
|
|
|
[Implemented,
|
|
WmiMethodId(13)
|
|
]
|
|
void SendLIRR([out,
|
|
HBA_STATUS_QUALIFIERS
|
|
] HBA_STATUS HBAStatus,
|
|
[in, HBAType("HBA_WWN")] uint8 SourceWWN[8],
|
|
[in, HBAType("HBA_WWN")] uint8 DestWWN[8],
|
|
[in] uint8 Function,
|
|
[in] uint8 Type,
|
|
[out] uint32 TotalRspBufferSize,
|
|
[out] uint32 ActualRspBufferSize,
|
|
[out, WmiSizeIs("ActualRspBufferSize")] uint8 RspBuffer[]);
|
|
|
|
|
|
|
|
[Implemented,
|
|
WmiMethodId(14)
|
|
]
|
|
void GetFC4Statistics([out,
|
|
HBA_STATUS_QUALIFIERS
|
|
] HBA_STATUS HBAStatus,
|
|
[in, HBAType("HBA_WWN")] uint8 PortWWN[8],
|
|
[in] uint8 FC4Type,
|
|
[out] MSFC_FC4STATISTICS FC4Statistics);
|
|
|
|
|
|
[Implemented,
|
|
WmiMethodId(15)
|
|
]
|
|
void GetFCPStatistics([out,
|
|
HBA_STATUS_QUALIFIERS
|
|
] HBA_STATUS HBAStatus,
|
|
[in] HBAScsiID ScsiId,
|
|
[out] MSFC_FC4STATISTICS FC4Statistics);
|
|
|
|
[Implemented,
|
|
WmiMethodId(16)
|
|
]
|
|
void ScsiInquiry([out,
|
|
HBA_STATUS_QUALIFIERS
|
|
] HBA_STATUS HBAStatus,
|
|
[in] uint8 Cdb[6],
|
|
[in, HBAType("HBA_WWN")] uint8 HbaPortWWN[8],
|
|
[in, HBAType("HBA_WWN")] uint8 DiscoveredPortWWN[8],
|
|
[in] uint64 FcLun,
|
|
[out] uint32 ResponseBufferSize,
|
|
[out] uint32 SenseBufferSize,
|
|
[out] uint8 ScsiStatus,
|
|
[out, WmiSizeIs("ResponseBufferSize")
|
|
] uint8 ResponseBuffer[],
|
|
[out, WmiSizeIs("SenseBufferSize")
|
|
] uint8 SenseBuffer[]);
|
|
|
|
|
|
[Implemented,
|
|
WmiMethodId(17)
|
|
]
|
|
void ScsiReadCapacity([out,
|
|
HBA_STATUS_QUALIFIERS
|
|
] HBA_STATUS HBAStatus,
|
|
[in] uint8 Cdb[10],
|
|
[in, HBAType("HBA_WWN")] uint8 HbaPortWWN[8],
|
|
[in, HBAType("HBA_WWN")] uint8 DiscoveredPortWWN[8],
|
|
[in] uint64 FcLun,
|
|
[out] uint32 ResponseBufferSize,
|
|
[out] uint32 SenseBufferSize,
|
|
[out] uint8 ScsiStatus,
|
|
[out, WmiSizeIs("ResponseBufferSize")
|
|
] uint8 ResponseBuffer[],
|
|
[out, WmiSizeIs("SenseBufferSize")
|
|
] uint8 SenseBuffer[]);
|
|
|
|
[Implemented,
|
|
WmiMethodId(18)
|
|
]
|
|
void ScsiReportLuns([out,
|
|
HBA_STATUS_QUALIFIERS
|
|
] HBA_STATUS HBAStatus,
|
|
[in] uint8 Cdb[12],
|
|
[in, HBAType("HBA_WWN")] uint8 HbaPortWWN[8],
|
|
[in, HBAType("HBA_WWN")] uint8 DiscoveredPortWWN[8],
|
|
[out] uint32 ResponseBufferSize,
|
|
[out] uint32 SenseBufferSize,
|
|
[out] uint8 ScsiStatus,
|
|
[out, WmiSizeIs("ResponseBufferSize")
|
|
] uint8 ResponseBuffer[],
|
|
[out, WmiSizeIs("SenseBufferSize")
|
|
] uint8 SenseBuffer[]);
|
|
|
|
|
|
[Implemented,
|
|
WmiMethodId(19)
|
|
]
|
|
void GetVendorLibraryAttributes([out,
|
|
HBA_STATUS_QUALIFIERS
|
|
] HBA_STATUS HBAStatus,
|
|
[out]
|
|
uint32 HbaVersion,
|
|
[out,
|
|
Description("Is Final")
|
|
] boolean Final,
|
|
[out,
|
|
Description("LibPath"),
|
|
MaxLen(256)
|
|
] string LibPath,
|
|
[out,
|
|
Description("Vendor Name"),
|
|
MaxLen(256)
|
|
] string VName,
|
|
[out,
|
|
Description("Vendor Version"),
|
|
MaxLen(256)
|
|
] string VVersion,
|
|
[out,
|
|
Description("Build date")
|
|
] MSFC_TM tm);
|
|
|
|
|
|
[Implemented,
|
|
WmiMethodId(20)
|
|
]
|
|
void GetEventBuffer([out,
|
|
HBA_STATUS_QUALIFIERS
|
|
] HBA_STATUS HBAStatus,
|
|
[out
|
|
] uint32 EventCount,
|
|
[out,
|
|
WmiSizeIs("EventCount")
|
|
] MSFC_EventBuffer Events[]);
|
|
|
|
[Implemented,
|
|
WmiMethodId(21)
|
|
]
|
|
void SendRLS([out,
|
|
HBA_STATUS_QUALIFIERS
|
|
] HBA_STATUS HBAStatus,
|
|
[in, HBAType("HBA_WWN")] uint8 PortWWN[8],
|
|
[in, HBAType("HBA_WWN")] uint8 DestWWN[8],
|
|
[out] uint32 TotalRspBufferSize,
|
|
[out] uint32 ActualRspBufferSize,
|
|
[out, WmiSizeIs("ActualRspBufferSize")] uint8 RspBuffer[]);
|
|
};
|
|
|
|
|
|
[HBAType("HBA_FCPID"),
|
|
WMI,
|
|
guid("{FF02BC96-7FB0-4bac-8F97-C71E495FA698}")
|
|
]
|
|
class HBAFCPID
|
|
{
|
|
[
|
|
WmiDataId(1)
|
|
]
|
|
uint32 Fcid;
|
|
|
|
[HBAType("HBA_WWN"),
|
|
WmiDataId(2)
|
|
]
|
|
uint8 NodeWWN[8];
|
|
|
|
[HBAType("HBA_WWN"),
|
|
WmiDataId(3)
|
|
]
|
|
uint8 PortWWN[8];
|
|
|
|
[
|
|
WmiDataId(4)
|
|
]
|
|
uint64 FcpLun;
|
|
};
|
|
|
|
|
|
|
|
[HBAType("HBA_FCPSCSIENTRY"),
|
|
WMI,
|
|
guid("{77CA1248-1505-4221-8EB6-BBB6EC771A87}")
|
|
]
|
|
class HBAFCPScsiEntry
|
|
{
|
|
[
|
|
HBAType("HBA_SCSIID"),
|
|
WmiDataId(1)
|
|
]
|
|
HBAScsiID ScsiId;
|
|
[
|
|
HBAType("HBA_FCPID"),
|
|
WmiDataId(2)
|
|
]
|
|
HBAFCPID FCPId;
|
|
|
|
[
|
|
HBAType("HBA_LUID"),
|
|
WmiDataId(3)
|
|
]
|
|
uint8 Luid[256];
|
|
};
|
|
|
|
|
|
[HBAType("HBA_FCPBINDINGENTRY"),
|
|
WMI,
|
|
guid("{FCEFF8B7-9D6B-4115-8422-05992451A629}")
|
|
]
|
|
class HBAFCPBindingEntry
|
|
{
|
|
[HBAType("HBA_FCPBINDINGTYPE"),
|
|
Values{"TO_D_ID", "TO_WWN", "TO_OTHER"},
|
|
ValueMap{"0", "1", "2"},
|
|
WmiDataId(1)
|
|
]
|
|
uint32 Type;
|
|
|
|
[HBAType("HBA_FCPSCSIENTRY"),
|
|
WmiDataId(2)
|
|
]
|
|
HBAScsiID ScsiId;
|
|
|
|
[HBAType("HBA_FCID"),
|
|
WmiDataId(3)
|
|
]
|
|
HBAFCPID FCPId;
|
|
};
|
|
|
|
[WMI,
|
|
guid("{3A1E7679-4B1F-4f31-A8AE-FE9278730924}")
|
|
]
|
|
class HBAFCPBindingEntry2
|
|
{
|
|
[WmiDataId(1),
|
|
HBA_BIND_TYPE_QUALIFIERS
|
|
]
|
|
HBA_BIND_TYPE Type;
|
|
|
|
[HBAType("HBA_FCPSCSIENTRY"),
|
|
WmiDataId(2)
|
|
]
|
|
HBAScsiID ScsiId;
|
|
|
|
[HBAType("HBA_FCID"),
|
|
WmiDataId(3)
|
|
]
|
|
HBAFCPID FCPId;
|
|
|
|
[HBAType("HBA_LUID"),
|
|
WmiDataId(4)
|
|
]
|
|
uint8 Luid[256];
|
|
};
|
|
|
|
/*
|
|
[WMI,
|
|
guid("{F52C5BE9-DC5F-458a-8D83-952096540957}")
|
|
]
|
|
class MSFC_FCPBINDING2
|
|
{
|
|
[WmiDataId(1)
|
|
]
|
|
uint32 EntryCount;
|
|
|
|
[WmiDataId(2),
|
|
HbaType("HBA_FCPBINDINGENTRY2"),
|
|
WmiSizeIs("EntryCount")
|
|
]
|
|
MSFC_FCPBINDINGENTRY2 Bindings[];
|
|
};
|
|
*/
|
|
|
|
|
|
[WMI,
|
|
Dynamic,
|
|
Provider("WmiProv"),
|
|
Description("This class exposes operations associated with FCP "
|
|
"on a Fibre Channel adapter. There should be one instance of this "
|
|
"class for each adapter.") : amended,
|
|
guid("{7A1FC391-5B23-4c19-B0EB-B1AEF59050C3}")
|
|
]
|
|
class MSFC_HBAFCPInfo
|
|
{
|
|
[key]
|
|
string InstanceName;
|
|
boolean Active;
|
|
|
|
[
|
|
Implemented,
|
|
WmiMethodId(1)
|
|
]
|
|
void GetFcpTargetMapping(
|
|
[out,
|
|
HBA_STATUS_QUALIFIERS
|
|
] HBA_STATUS HBAStatus,
|
|
|
|
[in, HBAType("HBA_WWN")] uint8 HbaPortWWN[8],
|
|
|
|
[in, out] uint32 TotalEntryCount,
|
|
|
|
[out] uint32 ActualEntryCount,
|
|
|
|
[out,
|
|
WmiSizeIs("ActualEntryCount")] HBAFCPScsiEntry Entry[]);
|
|
|
|
[
|
|
Implemented,
|
|
WmiMethodId(2)
|
|
]
|
|
void GetFcpPersistentBinding(
|
|
[out,
|
|
HBA_STATUS_QUALIFIERS
|
|
] HBA_STATUS HBAStatus,
|
|
|
|
|
|
[in, out] uint32 EntryCount,
|
|
[out,
|
|
WmiSizeIs("EntryCount")
|
|
] HBAFCPBindingEntry Entry[]);
|
|
|
|
[
|
|
Implemented,
|
|
WmiMethodId(3)
|
|
]
|
|
void GetBindingCapability(
|
|
[out,
|
|
HBA_STATUS_QUALIFIERS
|
|
] HBA_STATUS HBAStatus,
|
|
|
|
[in,
|
|
HBAType("HBA_WWN")
|
|
] uint8 PortWWN[8],
|
|
|
|
[out,
|
|
HBA_BIND_TYPE_QUALIFIERS
|
|
] HBA_BIND_TYPE BindType);
|
|
|
|
[
|
|
Implemented,
|
|
WmiMethodId(4)
|
|
]
|
|
void GetBindingSupport(
|
|
[out,
|
|
HBA_STATUS_QUALIFIERS
|
|
] HBA_STATUS HBAStatus,
|
|
|
|
[in,
|
|
HBAType("HBA_WWN")
|
|
] uint8 PortWWN[8],
|
|
|
|
[out,
|
|
HBA_BIND_TYPE_QUALIFIERS
|
|
] HBA_BIND_TYPE BindType);
|
|
|
|
[
|
|
Implemented,
|
|
WmiMethodId(5)
|
|
]
|
|
void SetBindingSupport(
|
|
[out,
|
|
HBA_STATUS_QUALIFIERS
|
|
] HBA_STATUS HBAStatus,
|
|
|
|
[in,
|
|
HBAType("HBA_WWN")
|
|
] uint8 PortWWN[8],
|
|
|
|
[in,
|
|
HBA_BIND_TYPE_QUALIFIERS
|
|
] HBA_BIND_TYPE BindType);
|
|
|
|
[
|
|
Implemented,
|
|
WmiMethodId(6)
|
|
]
|
|
void SetPersistentBinding2(
|
|
[out,
|
|
HBA_STATUS_QUALIFIERS
|
|
] HBA_STATUS HBAStatus,
|
|
|
|
[in,
|
|
HBAType("HBA_WWN")
|
|
] uint8 PortWWN[8],
|
|
|
|
[in] uint32 EntryCount,
|
|
|
|
[in,
|
|
WmiSizeIs("EntryCount")
|
|
] HBAFCPBindingEntry2 Bindings[]);
|
|
|
|
[
|
|
Implemented,
|
|
WmiMethodId(7)
|
|
]
|
|
void GetPersistentBinding2(
|
|
[out,
|
|
HBA_STATUS_QUALIFIERS
|
|
] HBA_STATUS HBAStatus,
|
|
|
|
[in,
|
|
HBAType("HBA_WWN")
|
|
] uint8 PortWWN[8],
|
|
|
|
[in, out] uint32 EntryCount,
|
|
|
|
[out,
|
|
WmiSizeIs("EntryCount")
|
|
] HBAFCPBindingEntry2 Bindings[]);
|
|
|
|
[
|
|
Implemented,
|
|
WmiMethodId(8)
|
|
]
|
|
void SetPersistentEntry(
|
|
[out,
|
|
HBA_STATUS_QUALIFIERS
|
|
] HBA_STATUS HBAStatus,
|
|
|
|
[in,
|
|
HbaType("HBA_FCPBINDINGENTRY2")
|
|
] HBAFCPBindingEntry2 Binding);
|
|
|
|
[
|
|
Implemented,
|
|
WmiMethodId(9)
|
|
]
|
|
void RemovePersistentEntry(
|
|
[out,
|
|
HBA_STATUS_QUALIFIERS
|
|
] HBA_STATUS HBAStatus,
|
|
|
|
[in
|
|
] HBAFCPBindingEntry2 Binding);
|
|
|
|
|
|
};
|
|
|
|
//
|
|
// HBA 2.0 Event Classes
|
|
//
|
|
|
|
|
|
#define EVENT_TYPES_QUALIFIERS \
|
|
Values{ "HBA_EVENT_ADAPTER_UNKNOWN", \
|
|
"HBA_EVENT_ADAPTER_ADD", \
|
|
"HBA_EVENT_ADAPTER_REMOVE", \
|
|
"HBA_EVENT_ADAPTER_CHANGE", \
|
|
\
|
|
"HBA_EVENT_PORT_UNKNOWN", \
|
|
"HBA_EVENT_PORT_OFFLINE", \
|
|
"HBA_EVENT_PORT_ONLINE", \
|
|
"HBA_EVENT_PORT_NEW_TARGETS", \
|
|
"HBA_EVENT_PORT_FABRIC" \
|
|
\
|
|
"HBA_EVENT_PORT_STAT_THRESHOLD" \
|
|
"HBA_EVENT_PORT_STAT_GROWTH" \
|
|
\
|
|
"HBA_EVENT_TARGET_UNKNOWN", \
|
|
"HBA_EVENT_TARGET_OFFLINE", \
|
|
"HBA_EVENT_TARGET_ONLINE", \
|
|
"HBA_EVENT_TARGET_REMOVED" \
|
|
\
|
|
"HBA_EVENT_LINK_UNKNOWN", \
|
|
"HBA_EVENT_LINK_INCIDENT" \
|
|
}, \
|
|
\
|
|
ValueMap{ "0x100", "0x101", "0x102", "0x103", \
|
|
"0x200", "0x201", "0x202", "0x203", "0x204", \
|
|
"0x301", "0x302", \
|
|
"0x400", "0x401", "0x402", "0x403" \
|
|
"0x500", "0x501" \
|
|
}
|
|
|
|
[
|
|
cpp_quote("\n"
|
|
"\n"
|
|
"\n"
|
|
"//\n"
|
|
"// Event types. These match the definitions in hbaapi.h and must be kept in sync\n"
|
|
"//\n"
|
|
" /* Adapter Level Events */\n"
|
|
"#define HBA_EVENT_ADAPTER_UNKNOWN 0x100\n"
|
|
"#define HBA_EVENT_ADAPTER_ADD 0x101\n"
|
|
"#define HBA_EVENT_ADAPTER_REMOVE 0x102\n"
|
|
"#define HBA_EVENT_ADAPTER_CHANGE 0x103\n"
|
|
"\n"
|
|
" /* Port Level Events */\n"
|
|
"#define HBA_EVENT_PORT_UNKNOWN 0x200\n"
|
|
"#define HBA_EVENT_PORT_OFFLINE 0x201\n"
|
|
"#define HBA_EVENT_PORT_ONLINE 0x202\n"
|
|
"#define HBA_EVENT_PORT_NEW_TARGETS 0x203\n"
|
|
"#define HBA_EVENT_PORT_FABRIC 0x204\n"
|
|
" \n"
|
|
" /* Port Statistics Events */\n"
|
|
"#define HBA_EVENT_PORT_STAT_THRESHOLD 0x301\n"
|
|
"#define HBA_EVENT_PORT_STAT_GROWTH 0x302\n"
|
|
"\n"
|
|
" /* Target Level Events */\n"
|
|
"#define HBA_EVENT_TARGET_UNKNOWN 0x400\n"
|
|
"#define HBA_EVENT_TARGET_OFFLINE 0x401\n"
|
|
"#define HBA_EVENT_TARGET_ONLINE 0x402\n"
|
|
"#define HBA_EVENT_TARGET_REMOVED 0x403\n"
|
|
"\n"
|
|
" /* Fabric Link Events */\n"
|
|
"#define HBA_EVENT_LINK_UNKNOWN 0x500\n"
|
|
"#define HBA_EVENT_LINK_INCIDENT 0x501\n"
|
|
),
|
|
WMI,
|
|
Description("This class surfaces HBA adapter events") : amended,
|
|
guid("{E9E47403-D1D7-43f8-8EE3-53CDBFFF5646}"),
|
|
Provider("wmiprov"),
|
|
Dynamic
|
|
]
|
|
class MSFC_AdapterEvent : WMIEvent
|
|
{
|
|
[key]
|
|
string InstanceName;
|
|
boolean Active;
|
|
|
|
[WmiDataId(1),
|
|
Description("Event Type") : amended,
|
|
EVENT_TYPE_QUALIFIERS
|
|
]
|
|
uint32 EventType;
|
|
|
|
[WmiDataId(2),
|
|
Description("Adapter WWN") : amended,
|
|
HBAType("HBA_WWN")
|
|
]
|
|
uint8 PortWWN[8];
|
|
|
|
};
|
|
|
|
|
|
[WMI,
|
|
Description("This class surfaces HBA port events") : amended,
|
|
guid("{095FBE97-3876-48ef-8A04-1C55935D0DF5}"),
|
|
Provider("wmiprov"),
|
|
Dynamic
|
|
]
|
|
class MSFC_PortEvent : WMIEvent
|
|
{
|
|
[key]
|
|
string InstanceName;
|
|
boolean Active;
|
|
|
|
[WmiDataId(1),
|
|
Description("Type of event") : amended,
|
|
EVENT_TYPES_QUALIFIERS
|
|
]
|
|
uint32 EventType;
|
|
|
|
[WmiDataId(2),
|
|
Description("Fabric port id") : amended
|
|
]
|
|
uint32 FabricPortId;
|
|
|
|
[WmiDataId(3),
|
|
Description("Port WWN") : amended,
|
|
HBAType("HBA_WWN")
|
|
]
|
|
uint8 PortWWN[8];
|
|
};
|
|
|
|
[WMI,
|
|
Description("This class surfaces HBA target events") : amended,
|
|
guid("{CFA6EF26-8675-4e27-9A0B-B4A860DDD0F3}"),
|
|
Provider("wmiprov"),
|
|
Dynamic
|
|
]
|
|
class MSFC_TargetEvent : WmiEvent
|
|
{
|
|
[key]
|
|
string InstanceName;
|
|
boolean Active;
|
|
|
|
[WmiDataId(1),
|
|
Description("Type of event") : amended,
|
|
EVENT_TYPES_QUALIFIERS
|
|
]
|
|
uint32 EventType;
|
|
|
|
[WmiDataId(2),
|
|
Description("Port WWN") : amended,
|
|
HBAType("HBA_WWN")
|
|
]
|
|
uint8 PortWWN[8];
|
|
|
|
[WmiDataId(3),
|
|
Description("Discovered Port WWN") : amended,
|
|
HBAType("HBA_WWN")
|
|
]
|
|
uint8 DiscoveredPortWWN[8];
|
|
|
|
};
|
|
|
|
[WMI,
|
|
Description("This class surfaces HBA link events") : amended,
|
|
guid("{C66015EE-014B-498a-9451-99FEAD0AB451}"),
|
|
Provider("wmiprov"),
|
|
Dynamic
|
|
]
|
|
class MSFC_LinkEvent : WMIEvent
|
|
{
|
|
[key]
|
|
string InstanceName;
|
|
boolean Active;
|
|
|
|
[WmiDataId(1),
|
|
Description("Type of event") : amended,
|
|
EVENT_TYPES_QUALIFIERS
|
|
]
|
|
uint32 EventType;
|
|
|
|
[WmiDataId(2),
|
|
Description("Discovered Port WWN") : amended,
|
|
HBAType("HBA_WWN")
|
|
]
|
|
uint8 AdapterWWN[8];
|
|
|
|
[WmiDataId(3),
|
|
Description("Size of RLIR buffer") : amended
|
|
]
|
|
uint32 RLIRBufferSize;
|
|
|
|
[WmiDataId(4),
|
|
Description("Size of RLIR buffer") : amended,
|
|
WmiSizeIs("RLIRBufferSize")
|
|
]
|
|
uint8 RLIRBuffer[];
|
|
};
|
|
|
|
|
|
|
|
|
|
[WMI,
|
|
Dynamic,
|
|
Provider("WmiProv"),
|
|
Description("This class defines the port statistics thresholds that "
|
|
"will cause a HBA_EVENT_PORT_STAT_THRESHOLD event to occur") : amended,
|
|
guid("{A251CCB3-5AB0-411b-8771-5430EF53A26C}")
|
|
]
|
|
class MSFC_EventControl
|
|
{
|
|
[key]
|
|
string InstanceName;
|
|
boolean Active;
|
|
|
|
//
|
|
// These methods are used to control delivery of MSFC_TargetEvents
|
|
//
|
|
[Implemented,
|
|
WmiMethodId(10)
|
|
]
|
|
void AddTarget([out,
|
|
HBA_STATUS_QUALIFIERS
|
|
] HBA_STATUS HBAStatus,
|
|
|
|
[in,
|
|
HBAType("HBA_WWN")
|
|
] uint8 HbaPortWWN[8],
|
|
|
|
[in,
|
|
HBAType("HBA_WWN")
|
|
] uint8 DiscoveredPortWWN[8],
|
|
|
|
[in
|
|
] uint32 AllTargets);
|
|
|
|
|
|
[Implemented,
|
|
WmiMethodId(11)
|
|
]
|
|
void RemoveTarget([out,
|
|
HBA_STATUS_QUALIFIERS
|
|
] HBA_STATUS HBAStatus,
|
|
|
|
[in,
|
|
HBAType("HBA_WWN")
|
|
] uint8 HbaPortWWN[8],
|
|
|
|
[in,
|
|
HBAType("HBA_WWN")
|
|
] uint8 DiscoveredPortWWN[8],
|
|
|
|
[in
|
|
] uint32 AllTargets);
|
|
|
|
|
|
//
|
|
// These methods are used to control delivery of MSFC_PortEvents
|
|
//
|
|
[Implemented,
|
|
WmiMethodId(20)
|
|
]
|
|
void AddPort([out,
|
|
HBA_STATUS_QUALIFIERS
|
|
] HBA_STATUS HBAStatus,
|
|
|
|
[in,
|
|
HBAType("HBA_WWN")
|
|
] uint8 PortWWN[8]);
|
|
|
|
[Implemented,
|
|
WmiMethodId(21)
|
|
]
|
|
void RemovePort([out,
|
|
HBA_STATUS_QUALIFIERS
|
|
] HBA_STATUS HBAStatus,
|
|
|
|
[in,
|
|
HBAType("HBA_WWN")
|
|
] uint8 PortWWN[8]);
|
|
|
|
|
|
//
|
|
// These methods are used to control delivery of MSFC_LinkEvents
|
|
//
|
|
[Implemented,
|
|
WmiMethodId(30)
|
|
]
|
|
void AddLink([out,
|
|
HBA_STATUS_QUALIFIERS
|
|
] HBA_STATUS HBAStatus);
|
|
|
|
|
|
[Implemented,
|
|
WmiMethodId(31)
|
|
]
|
|
void RemoveLink([out,
|
|
HBA_STATUS_QUALIFIERS
|
|
] HBA_STATUS HBAStatus);
|
|
|
|
};
|
|
|