//*************************************************************************** // // 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.18 specification. // // NOTE: This is currently under revision to SM-HBA Dec 2005 // // Copyright (c) 2001 Microsoft Corporation // //*************************************************************************** #pragma autorecover #pragma classflags(64) #pragma namespace("\\\\.\\Root\\wmi") instance of __namespace{ name="ms_40c";}; #pragma namespace("\\\\.\\Root\\wmi\\ms_40c") [Description("NPIV operations that can be performed on a physical adapter") : Amended,AMENDMENT, LOCALE(0x040c)] class MSFC_FibrePortNPIVMethods { [Description("Create a virtual port with a specific WWPN.") : Amended] void CreateVirtualPort([OUT,Description("Return code") : Amended] uint32 Status,[IN,Description("The world wide port name of the virtual port to create") : Amended] uint8 WWPN[],[IN,Description("The world wide node name to associate with the created virtual port") : Amended] uint8 WWNN[],[IN,Description("An opaque tag passed in by the app. 128 bit so that a guid can be stored in it.") : Amended] uint8 Tag[],[IN,Description("Port symbolic name") : Amended] uint16 VirtualName[]); [Description("Remove a virtual port ") : Amended] void RemoveVirtualPort([out,Description("Return code") : Amended] uint32 Status,[in,Description("The world wide port name of the virtual port") : Amended] uint8 WWPN[]); }; [Description("Embedded class that describes DH-CHAP parameters.") : Amended,AMENDMENT, LOCALE(0x040c)] class MSFC_DH_Chap_Parameters { [Description("Length in bytes of the shared secret.") : Amended] uint32 SharedSecretLength; [Description("Shared Secret Encoding") : Amended] uint8 SecretEncoding; [Description("Shared secret to be used at the basis of a DH-CHAP challenge.") : Amended] uint8 SharedSecret[]; }; [Description("NPIV capabilities") : Amended,AMENDMENT, LOCALE(0x040c)] class MSFC_NPIVCapabilities { [Description("DH-CHAP available for physical port") : Amended] boolean DhChapAvailableOnPhysicalPort; [Description("DH-CHAP available for virtual ports") : Amended] boolean DhChapAvailableOnVirtualPorts; [Description("Number of virtual ports that can be created on this physical FC port") : Amended] uint16 MaxVirtualPortCount; }; [Description("NPIV operations that can be performed on a physical adapter which enable Fibre Channel in a Guest Virtual Machine") : Amended,AMENDMENT, LOCALE(0x040c)] class MSFC_FibrePortNPIVMethodsEx { [Description("Enable DH-CHAP for the Physical Port of a Fibre Channel HBA, allowing for unidirectional authentication of the physical port by the Fibre Channel fabric.") : Amended] void SetChapForPhysicalPort([OUT,Description("Return code") : Amended] uint32 Status,[IN,Description("Parameters necessary to respond to a DH-CHAP challenge.") : Amended] MSFC_DH_Chap_Parameters CHAP); [Description("Disable DH-CHAP for the Physical Port of a Fibre Channel HBA.") : Amended] void RemoveChapForPhysicalPort([OUT,Description("Return code") : Amended] uint32 Status); [Description("Create a virtual port on behalf of a Guest Virtual Machine with a specific WWPN with no authentication mechanism.") : Amended] void CreateVirtualPortEx([OUT,Description("Return code") : Amended] uint32 Status,[IN,Description("The world wide port name of the virtual port to create") : Amended] uint8 WWPN[],[IN,Description("The world wide node name to associate with the created virtual port") : Amended] uint8 WWNN[],[IN,Description("An opaque tag passed in by the app. 128 bit so that a guid can be stored in it.") : Amended] uint8 Tag[],[IN,Description("Port symbolic name") : Amended] uint16 VirtualName[]); [Description("Create a virtual port on behalf of a Guest Virtual Machine with a specific WWPN using DH-CHAP for unidirectional authentication of the N_Port by the FibreChannel fabric.") : Amended] void CreateVirtualPortExUsingDHCHAP([OUT,Description("Return code") : Amended] uint32 Status,[IN,Description("The world wide port name of the virtual port to create") : Amended] uint8 WWPN[],[IN,Description("The world wide node name to associate with the created virtual port") : Amended] uint8 WWNN[],[IN,Description("An opaque tag passed in by the app. 128 bit so that a guid can be stored in it.") : Amended] uint8 Tag[],[IN,Description("Port symbolic name") : Amended] uint16 VirtualName[],[IN,Description("Parameters necessary to respond to a DH-CHAP challenge.") : Amended] MSFC_DH_Chap_Parameters CHAP); [Description("Remove a virtual port ") : Amended] void RemoveVirtualPortEx([OUT,Description("Return code") : Amended] uint32 Status,[IN,Description("The world wide port name of the virtual port") : Amended] uint8 WWPN[]); [Description("Rescan virtual port, including all logical buses associated with that port. Miniport is expected to notify Storport for targeted bus rescan") : Amended] void RescanVirtualPort([OUT,Description("Return Code") : Amended] uint32 Status,[IN,Description("The world wide port name of the virtual port") : Amended] uint8 WWPN[]); }; [Description("Embedded class that describes the properties of a virtual port.") : Amended,AMENDMENT, LOCALE(0x040c)] class MSFC_VirtualFibrePortAttributes { [Description("Status of the virtual port") : Amended] uint32 Status; [Description("FC Id") : Amended] uint32 FCId; [Description("Port symbolic name") : Amended] uint16 VirtualName[]; [Description("An opaque tag passed in by the app. 128 bit so that a guid can be stored in it.") : Amended] uint8 Tag[]; [Description("The world wide port name of the virtual port") : Amended] uint8 WWPN[]; [Description("The world wide node name of the virtual port") : Amended] uint8 WWNN[]; [Description("The world wide node name of fabric") : Amended] uint8 FabricWWN[]; }; [Description("Retrieve the virtual ports created on a physical port.") : Amended,AMENDMENT, LOCALE(0x040c)] class MSFC_FibrePortNPIVAttributes { [Description("The world wide port name of the physical port") : Amended] uint8 WWPN[]; [Description("The world wide node name of the physical port") : Amended] uint8 WWNN[]; [Description("Number of virtual ports on this adapter.") : Amended] uint32 NumberVirtualPorts; [Description("Array of virtual ports.") : Amended] MSFC_VirtualFibrePortAttributes VirtualPorts[]; }; [Description("LUN to virtual port mapping.") : Amended,AMENDMENT, LOCALE(0x040c)] class MSFC_NPIVLUNMappingInformation { [Description("The world wide port name of the virtual port") : Amended] uint8 WWPNVirtualPort[]; [Description("The world wide port name of the physical port") : Amended] uint8 WWPNPhysicalPort[]; }; [Description("Extended LUN to virtual port mapping.") : Amended,AMENDMENT, LOCALE(0x040c)] class MSFC_NPIVLUNMappingInformationEx { [Description("The world wide port name of the virtual port") : Amended] uint8 WWPNVirtualPort[]; [Description("The world wide port name of the physical port") : Amended] uint8 WWPNPhysicalPort[]; [Description("The SCSI Port ID associated with this LUN, matching the SCSI_ADDRESS") : Amended] uint8 PortNumber; [Description("The SCSI Path ID associated with this LUN, matching the SCSI_ADDRESS") : Amended] uint8 OSBus; [Description("The SCSI Target ID associated with this LUN, matching the SCSI_ADDRESS") : Amended] uint8 OSTarget; [Description("The SCSI LUN, matching the SCSI_ADDRESS") : Amended] uint8 OSLUN; };