4370 lines
128 KiB
C
4370 lines
128 KiB
C
#ifndef _hbapiwmi_h_
|
|
#define _hbapiwmi_h_
|
|
|
|
// MSFC_HBAPortStatistics - MSFC_HBAPortStatistics
|
|
|
|
|
|
//***************************************************************************
|
|
//
|
|
// hbapiwmi.h
|
|
//
|
|
// 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:
|
|
// SM-HBA Version 1.0 and FC-HBA 2.18 specification.
|
|
//
|
|
// Please specify which WMI interfaces the provider will implement by
|
|
// defining MS_SM_HBA_API or MSFC_HBA_API before including this file.
|
|
// That is:
|
|
//
|
|
// #define MS_SM_HBA_API
|
|
// #include <hbapiwmi.h>
|
|
//
|
|
// - or -
|
|
//
|
|
// #define MSFC_HBA_API
|
|
// #include <hbapiwmi.h>
|
|
//
|
|
//
|
|
// Copyright (c) 2001 Microsoft Corporation
|
|
//
|
|
//***************************************************************************
|
|
|
|
|
|
#define MSFC_HBAPortStatisticsGuid \
|
|
{ 0x3ce7904f,0x459f,0x480d, { 0x9a,0x3c,0x01,0x3e,0xde,0x3b,0xdd,0xe8 } }
|
|
|
|
#if ! (defined(MIDL_PASS))
|
|
DEFINE_GUID(MSFC_HBAPortStatistics_GUID, \
|
|
0x3ce7904f,0x459f,0x480d,0x9a,0x3c,0x01,0x3e,0xde,0x3b,0xdd,0xe8);
|
|
#endif
|
|
|
|
|
|
typedef struct _MSFC_HBAPortStatistics
|
|
{
|
|
//
|
|
LONGLONG SecondsSinceLastReset;
|
|
#define MSFC_HBAPortStatistics_SecondsSinceLastReset_SIZE sizeof(LONGLONG)
|
|
#define MSFC_HBAPortStatistics_SecondsSinceLastReset_ID 1
|
|
|
|
//
|
|
LONGLONG TxFrames;
|
|
#define MSFC_HBAPortStatistics_TxFrames_SIZE sizeof(LONGLONG)
|
|
#define MSFC_HBAPortStatistics_TxFrames_ID 2
|
|
|
|
//
|
|
LONGLONG TxWords;
|
|
#define MSFC_HBAPortStatistics_TxWords_SIZE sizeof(LONGLONG)
|
|
#define MSFC_HBAPortStatistics_TxWords_ID 3
|
|
|
|
//
|
|
LONGLONG RxFrames;
|
|
#define MSFC_HBAPortStatistics_RxFrames_SIZE sizeof(LONGLONG)
|
|
#define MSFC_HBAPortStatistics_RxFrames_ID 4
|
|
|
|
//
|
|
LONGLONG RxWords;
|
|
#define MSFC_HBAPortStatistics_RxWords_SIZE sizeof(LONGLONG)
|
|
#define MSFC_HBAPortStatistics_RxWords_ID 5
|
|
|
|
//
|
|
LONGLONG LIPCount;
|
|
#define MSFC_HBAPortStatistics_LIPCount_SIZE sizeof(LONGLONG)
|
|
#define MSFC_HBAPortStatistics_LIPCount_ID 6
|
|
|
|
//
|
|
LONGLONG NOSCount;
|
|
#define MSFC_HBAPortStatistics_NOSCount_SIZE sizeof(LONGLONG)
|
|
#define MSFC_HBAPortStatistics_NOSCount_ID 7
|
|
|
|
//
|
|
LONGLONG ErrorFrames;
|
|
#define MSFC_HBAPortStatistics_ErrorFrames_SIZE sizeof(LONGLONG)
|
|
#define MSFC_HBAPortStatistics_ErrorFrames_ID 8
|
|
|
|
//
|
|
LONGLONG DumpedFrames;
|
|
#define MSFC_HBAPortStatistics_DumpedFrames_SIZE sizeof(LONGLONG)
|
|
#define MSFC_HBAPortStatistics_DumpedFrames_ID 9
|
|
|
|
//
|
|
LONGLONG LinkFailureCount;
|
|
#define MSFC_HBAPortStatistics_LinkFailureCount_SIZE sizeof(LONGLONG)
|
|
#define MSFC_HBAPortStatistics_LinkFailureCount_ID 10
|
|
|
|
//
|
|
LONGLONG LossOfSyncCount;
|
|
#define MSFC_HBAPortStatistics_LossOfSyncCount_SIZE sizeof(LONGLONG)
|
|
#define MSFC_HBAPortStatistics_LossOfSyncCount_ID 11
|
|
|
|
//
|
|
LONGLONG LossOfSignalCount;
|
|
#define MSFC_HBAPortStatistics_LossOfSignalCount_SIZE sizeof(LONGLONG)
|
|
#define MSFC_HBAPortStatistics_LossOfSignalCount_ID 12
|
|
|
|
//
|
|
LONGLONG PrimitiveSeqProtocolErrCount;
|
|
#define MSFC_HBAPortStatistics_PrimitiveSeqProtocolErrCount_SIZE sizeof(LONGLONG)
|
|
#define MSFC_HBAPortStatistics_PrimitiveSeqProtocolErrCount_ID 13
|
|
|
|
//
|
|
LONGLONG InvalidTxWordCount;
|
|
#define MSFC_HBAPortStatistics_InvalidTxWordCount_SIZE sizeof(LONGLONG)
|
|
#define MSFC_HBAPortStatistics_InvalidTxWordCount_ID 14
|
|
|
|
//
|
|
LONGLONG InvalidCRCCount;
|
|
#define MSFC_HBAPortStatistics_InvalidCRCCount_SIZE sizeof(LONGLONG)
|
|
#define MSFC_HBAPortStatistics_InvalidCRCCount_ID 15
|
|
|
|
} MSFC_HBAPortStatistics, *PMSFC_HBAPortStatistics;
|
|
|
|
#define MSFC_HBAPortStatistics_SIZE (FIELD_OFFSET(MSFC_HBAPortStatistics, InvalidCRCCount) + MSFC_HBAPortStatistics_InvalidCRCCount_SIZE)
|
|
|
|
// HBAFC3MgmtInfo - HBAFC3MgmtInfo
|
|
#define HBAFC3MgmtInfoGuid \
|
|
{ 0x5966a24f,0x6aa5,0x418e, { 0xb7,0x5c,0x2f,0x21,0x4d,0xfb,0x4b,0x18 } }
|
|
|
|
#if ! (defined(MIDL_PASS))
|
|
DEFINE_GUID(HBAFC3MgmtInfo_GUID, \
|
|
0x5966a24f,0x6aa5,0x418e,0xb7,0x5c,0x2f,0x21,0x4d,0xfb,0x4b,0x18);
|
|
#endif
|
|
|
|
|
|
typedef struct _HBAFC3MgmtInfo
|
|
{
|
|
//
|
|
ULONGLONG UniqueAdapterId;
|
|
#define HBAFC3MgmtInfo_UniqueAdapterId_SIZE sizeof(ULONGLONG)
|
|
#define HBAFC3MgmtInfo_UniqueAdapterId_ID 1
|
|
|
|
//
|
|
UCHAR wwn[8];
|
|
#define HBAFC3MgmtInfo_wwn_SIZE sizeof(UCHAR[8])
|
|
#define HBAFC3MgmtInfo_wwn_ID 2
|
|
|
|
//
|
|
ULONG unittype;
|
|
#define HBAFC3MgmtInfo_unittype_SIZE sizeof(ULONG)
|
|
#define HBAFC3MgmtInfo_unittype_ID 3
|
|
|
|
//
|
|
ULONG PortId;
|
|
#define HBAFC3MgmtInfo_PortId_SIZE sizeof(ULONG)
|
|
#define HBAFC3MgmtInfo_PortId_ID 4
|
|
|
|
//
|
|
ULONG NumberOfAttachedNodes;
|
|
#define HBAFC3MgmtInfo_NumberOfAttachedNodes_SIZE sizeof(ULONG)
|
|
#define HBAFC3MgmtInfo_NumberOfAttachedNodes_ID 5
|
|
|
|
//
|
|
USHORT IPVersion;
|
|
#define HBAFC3MgmtInfo_IPVersion_SIZE sizeof(USHORT)
|
|
#define HBAFC3MgmtInfo_IPVersion_ID 6
|
|
|
|
//
|
|
USHORT UDPPort;
|
|
#define HBAFC3MgmtInfo_UDPPort_SIZE sizeof(USHORT)
|
|
#define HBAFC3MgmtInfo_UDPPort_ID 7
|
|
|
|
//
|
|
UCHAR IPAddress[16];
|
|
#define HBAFC3MgmtInfo_IPAddress_SIZE sizeof(UCHAR[16])
|
|
#define HBAFC3MgmtInfo_IPAddress_ID 8
|
|
|
|
//
|
|
USHORT reserved;
|
|
#define HBAFC3MgmtInfo_reserved_SIZE sizeof(USHORT)
|
|
#define HBAFC3MgmtInfo_reserved_ID 9
|
|
|
|
//
|
|
USHORT TopologyDiscoveryFlags;
|
|
#define HBAFC3MgmtInfo_TopologyDiscoveryFlags_SIZE sizeof(USHORT)
|
|
#define HBAFC3MgmtInfo_TopologyDiscoveryFlags_ID 10
|
|
|
|
//
|
|
ULONG reserved1;
|
|
#define HBAFC3MgmtInfo_reserved1_SIZE sizeof(ULONG)
|
|
#define HBAFC3MgmtInfo_reserved1_ID 11
|
|
|
|
} HBAFC3MgmtInfo, *PHBAFC3MgmtInfo;
|
|
|
|
#define HBAFC3MgmtInfo_SIZE (FIELD_OFFSET(HBAFC3MgmtInfo, reserved1) + HBAFC3MgmtInfo_reserved1_SIZE)
|
|
|
|
// HBAScsiID - HBAScsiID
|
|
#define HBAScsiIDGuid \
|
|
{ 0xa76f5058,0xb1f0,0x4622, { 0x9e,0x88,0x5c,0xc4,0x1e,0x34,0x45,0x4a } }
|
|
|
|
#if ! (defined(MIDL_PASS))
|
|
DEFINE_GUID(HBAScsiID_GUID, \
|
|
0xa76f5058,0xb1f0,0x4622,0x9e,0x88,0x5c,0xc4,0x1e,0x34,0x45,0x4a);
|
|
#endif
|
|
|
|
|
|
typedef struct _HBAScsiID
|
|
{
|
|
//
|
|
ULONG ScsiBusNumber;
|
|
#define HBAScsiID_ScsiBusNumber_SIZE sizeof(ULONG)
|
|
#define HBAScsiID_ScsiBusNumber_ID 1
|
|
|
|
//
|
|
ULONG ScsiTargetNumber;
|
|
#define HBAScsiID_ScsiTargetNumber_SIZE sizeof(ULONG)
|
|
#define HBAScsiID_ScsiTargetNumber_ID 2
|
|
|
|
//
|
|
ULONG ScsiOSLun;
|
|
#define HBAScsiID_ScsiOSLun_SIZE sizeof(ULONG)
|
|
#define HBAScsiID_ScsiOSLun_ID 3
|
|
|
|
|
|
|
|
//******************************************************************
|
|
//
|
|
// This used to be a string type, but we made this a fixed length
|
|
// array so the WmiSizeIs() will work correctly for structs that
|
|
// contain this type.
|
|
// Please note that this should still be treated as a string.
|
|
// The first uint16 must hold the length of string (in bytes).
|
|
//
|
|
//******************************************************************
|
|
|
|
|
|
//
|
|
USHORT OSDeviceName[257];
|
|
#define HBAScsiID_OSDeviceName_SIZE sizeof(USHORT[257])
|
|
#define HBAScsiID_OSDeviceName_ID 4
|
|
|
|
} HBAScsiID, *PHBAScsiID;
|
|
|
|
#define HBAScsiID_SIZE (FIELD_OFFSET(HBAScsiID, OSDeviceName) + HBAScsiID_OSDeviceName_SIZE)
|
|
|
|
// MSFC_LinkEvent - MSFC_LinkEvent
|
|
|
|
|
|
|
|
|
|
//
|
|
// Event types.
|
|
//
|
|
// These match the definitions in hbaapi.h and must be kept in sync.
|
|
//
|
|
/* Adapter Level Events */
|
|
#define HBA_EVENT_ADAPTER_UNKNOWN 0x100
|
|
#define HBA_EVENT_ADAPTER_ADD 0x101
|
|
#define HBA_EVENT_ADAPTER_REMOVE 0x102
|
|
#define HBA_EVENT_ADAPTER_CHANGE 0x103
|
|
|
|
/* Port Level Events */
|
|
#define HBA_EVENT_PORT_UNKNOWN 0x200
|
|
#define HBA_EVENT_PORT_OFFLINE 0x201
|
|
#define HBA_EVENT_PORT_ONLINE 0x202
|
|
#define HBA_EVENT_PORT_NEW_TARGETS 0x203
|
|
#define HBA_EVENT_PORT_FABRIC 0x204
|
|
#define HBA_EVENT_PORT_BROADCAST_CHANGE 0x205
|
|
#define HBA_EVENT_PORT_BROADCAST_D24_0 0x206
|
|
#define HBA_EVENT_PORT_BROADCAST_D27_4 0x207
|
|
#define HBA_EVENT_PORT_BROADCAST_SES 0x208
|
|
#define HBA_EVENT_PORT_BROADCAST_D01_4 0x209
|
|
#define HBA_EVENT_PORT_BROADCAST_D04_7 0x20a
|
|
#define HBA_EVENT_PORT_BROADCAST_D16_7 0x20b
|
|
#define HBA_EVENT_PORT_BROADCAST_D29_7 0x20c
|
|
#define HBA_EVENT_PORT_ALL 0x2ff
|
|
|
|
/* Port Statistics Events */
|
|
#define HBA_EVENT_PORT_STAT_THRESHOLD 0x301
|
|
#define HBA_EVENT_PORT_STAT_GROWTH 0x302
|
|
|
|
/* Phy Statistics Events */
|
|
#define HBA_EVENT_PHY_STAT_THRESHOLD 0x351
|
|
#define HBA_EVENT_PHY_STAT_GROWTH 0x352
|
|
|
|
/* Target Level Events */
|
|
#define HBA_EVENT_TARGET_UNKNOWN 0x400
|
|
#define HBA_EVENT_TARGET_OFFLINE 0x401
|
|
#define HBA_EVENT_TARGET_ONLINE 0x402
|
|
#define HBA_EVENT_TARGET_REMOVED 0x403
|
|
|
|
/* Fabric Link Events */
|
|
#define HBA_EVENT_LINK_UNKNOWN 0x500
|
|
#define HBA_EVENT_LINK_INCIDENT 0x501
|
|
|
|
#define MSFC_LinkEventGuid \
|
|
{ 0xc66015ee,0x014b,0x498a, { 0x94,0x51,0x99,0xfe,0xad,0x0a,0xb4,0x51 } }
|
|
|
|
#if ! (defined(MIDL_PASS))
|
|
DEFINE_GUID(MSFC_LinkEvent_GUID, \
|
|
0xc66015ee,0x014b,0x498a,0x94,0x51,0x99,0xfe,0xad,0x0a,0xb4,0x51);
|
|
#endif
|
|
|
|
|
|
typedef struct _MSFC_LinkEvent
|
|
{
|
|
//
|
|
ULONG EventType;
|
|
#define MSFC_LinkEvent_EventType_SIZE sizeof(ULONG)
|
|
#define MSFC_LinkEvent_EventType_ID 1
|
|
|
|
//
|
|
UCHAR AdapterWWN[8];
|
|
#define MSFC_LinkEvent_AdapterWWN_SIZE sizeof(UCHAR[8])
|
|
#define MSFC_LinkEvent_AdapterWWN_ID 2
|
|
|
|
//
|
|
ULONG RLIRBufferSize;
|
|
#define MSFC_LinkEvent_RLIRBufferSize_SIZE sizeof(ULONG)
|
|
#define MSFC_LinkEvent_RLIRBufferSize_ID 3
|
|
|
|
//
|
|
UCHAR RLIRBuffer[1];
|
|
#define MSFC_LinkEvent_RLIRBuffer_ID 4
|
|
|
|
} MSFC_LinkEvent, *PMSFC_LinkEvent;
|
|
|
|
// MSFC_FCAdapterHBAAttributes - MSFC_FCAdapterHBAAttributes
|
|
|
|
|
|
#ifndef MS_SM_HBA_API
|
|
#ifndef MSFC_HBA_API
|
|
//
|
|
// if neither defined then default to MSFC
|
|
//
|
|
#define MSFC_HBA_API
|
|
#endif
|
|
#endif
|
|
|
|
|
|
#ifdef MSFC_HBA_API
|
|
|
|
#define MSFC_FCAdapterHBAAttributesGuid \
|
|
{ 0xf8f3ea26,0xab2c,0x4593, { 0x8b,0x84,0xc5,0x64,0x28,0xe6,0xbe,0xdb } }
|
|
|
|
#if ! (defined(MIDL_PASS))
|
|
DEFINE_GUID(MSFC_FCAdapterHBAAttributes_GUID, \
|
|
0xf8f3ea26,0xab2c,0x4593,0x8b,0x84,0xc5,0x64,0x28,0xe6,0xbe,0xdb);
|
|
#endif
|
|
|
|
|
|
typedef struct _MSFC_FCAdapterHBAAttributes
|
|
{
|
|
//
|
|
ULONGLONG UniqueAdapterId;
|
|
#define MSFC_FCAdapterHBAAttributes_UniqueAdapterId_SIZE sizeof(ULONGLONG)
|
|
#define MSFC_FCAdapterHBAAttributes_UniqueAdapterId_ID 1
|
|
|
|
//
|
|
ULONG HBAStatus;
|
|
#define MSFC_FCAdapterHBAAttributes_HBAStatus_SIZE sizeof(ULONG)
|
|
#define MSFC_FCAdapterHBAAttributes_HBAStatus_ID 2
|
|
|
|
//
|
|
UCHAR NodeWWN[8];
|
|
#define MSFC_FCAdapterHBAAttributes_NodeWWN_SIZE sizeof(UCHAR[8])
|
|
#define MSFC_FCAdapterHBAAttributes_NodeWWN_ID 3
|
|
|
|
//
|
|
ULONG VendorSpecificID;
|
|
#define MSFC_FCAdapterHBAAttributes_VendorSpecificID_SIZE sizeof(ULONG)
|
|
#define MSFC_FCAdapterHBAAttributes_VendorSpecificID_ID 4
|
|
|
|
//
|
|
ULONG NumberOfPorts;
|
|
#define MSFC_FCAdapterHBAAttributes_NumberOfPorts_SIZE sizeof(ULONG)
|
|
#define MSFC_FCAdapterHBAAttributes_NumberOfPorts_ID 5
|
|
|
|
|
|
|
|
//******************************************************************
|
|
//
|
|
// The string type is variable length (up to MaxLen).
|
|
// Each string starts with a ushort that holds the strings length
|
|
// (in bytes) followed by the WCHARs that make up the string.
|
|
//
|
|
//******************************************************************
|
|
|
|
|
|
//
|
|
WCHAR Manufacturer[64 + 1];
|
|
#define MSFC_FCAdapterHBAAttributes_Manufacturer_ID 6
|
|
|
|
//
|
|
WCHAR SerialNumber[64 + 1];
|
|
#define MSFC_FCAdapterHBAAttributes_SerialNumber_ID 7
|
|
|
|
//
|
|
WCHAR Model[256 + 1];
|
|
#define MSFC_FCAdapterHBAAttributes_Model_ID 8
|
|
|
|
//
|
|
WCHAR ModelDescription[256 + 1];
|
|
#define MSFC_FCAdapterHBAAttributes_ModelDescription_ID 9
|
|
|
|
//
|
|
WCHAR NodeSymbolicName[256 + 1];
|
|
#define MSFC_FCAdapterHBAAttributes_NodeSymbolicName_ID 10
|
|
|
|
//
|
|
WCHAR HardwareVersion[256 + 1];
|
|
#define MSFC_FCAdapterHBAAttributes_HardwareVersion_ID 11
|
|
|
|
//
|
|
WCHAR DriverVersion[256 + 1];
|
|
#define MSFC_FCAdapterHBAAttributes_DriverVersion_ID 12
|
|
|
|
//
|
|
WCHAR OptionROMVersion[256 + 1];
|
|
#define MSFC_FCAdapterHBAAttributes_OptionROMVersion_ID 13
|
|
|
|
//
|
|
WCHAR FirmwareVersion[256 + 1];
|
|
#define MSFC_FCAdapterHBAAttributes_FirmwareVersion_ID 14
|
|
|
|
//
|
|
WCHAR DriverName[256 + 1];
|
|
#define MSFC_FCAdapterHBAAttributes_DriverName_ID 15
|
|
|
|
//
|
|
WCHAR MfgDomain[256 + 1];
|
|
#define MSFC_FCAdapterHBAAttributes_MfgDomain_ID 16
|
|
|
|
} MSFC_FCAdapterHBAAttributes, *PMSFC_FCAdapterHBAAttributes;
|
|
|
|
// MSFC_HBAPortAttributesResults - MSFC_HBAPortAttributesResults
|
|
#define MSFC_HBAPortAttributesResultsGuid \
|
|
{ 0xa76bd4e3,0x9961,0x4d9b, { 0xb6,0xbe,0x86,0xe6,0x98,0x26,0x0f,0x68 } }
|
|
|
|
#if ! (defined(MIDL_PASS))
|
|
DEFINE_GUID(MSFC_HBAPortAttributesResults_GUID, \
|
|
0xa76bd4e3,0x9961,0x4d9b,0xb6,0xbe,0x86,0xe6,0x98,0x26,0x0f,0x68);
|
|
#endif
|
|
|
|
|
|
typedef struct _MSFC_HBAPortAttributesResults
|
|
{
|
|
//
|
|
UCHAR NodeWWN[8];
|
|
#define MSFC_HBAPortAttributesResults_NodeWWN_SIZE sizeof(UCHAR[8])
|
|
#define MSFC_HBAPortAttributesResults_NodeWWN_ID 1
|
|
|
|
//
|
|
UCHAR PortWWN[8];
|
|
#define MSFC_HBAPortAttributesResults_PortWWN_SIZE sizeof(UCHAR[8])
|
|
#define MSFC_HBAPortAttributesResults_PortWWN_ID 2
|
|
|
|
//
|
|
ULONG PortFcId;
|
|
#define MSFC_HBAPortAttributesResults_PortFcId_SIZE sizeof(ULONG)
|
|
#define MSFC_HBAPortAttributesResults_PortFcId_ID 3
|
|
|
|
//
|
|
ULONG PortType;
|
|
#define MSFC_HBAPortAttributesResults_PortType_SIZE sizeof(ULONG)
|
|
#define MSFC_HBAPortAttributesResults_PortType_ID 4
|
|
|
|
//
|
|
ULONG PortState;
|
|
#define MSFC_HBAPortAttributesResults_PortState_SIZE sizeof(ULONG)
|
|
#define MSFC_HBAPortAttributesResults_PortState_ID 5
|
|
|
|
//
|
|
ULONG PortSupportedClassofService;
|
|
#define MSFC_HBAPortAttributesResults_PortSupportedClassofService_SIZE sizeof(ULONG)
|
|
#define MSFC_HBAPortAttributesResults_PortSupportedClassofService_ID 6
|
|
|
|
//
|
|
UCHAR PortSupportedFc4Types[32];
|
|
#define MSFC_HBAPortAttributesResults_PortSupportedFc4Types_SIZE sizeof(UCHAR[32])
|
|
#define MSFC_HBAPortAttributesResults_PortSupportedFc4Types_ID 7
|
|
|
|
//
|
|
UCHAR PortActiveFc4Types[32];
|
|
#define MSFC_HBAPortAttributesResults_PortActiveFc4Types_SIZE sizeof(UCHAR[32])
|
|
#define MSFC_HBAPortAttributesResults_PortActiveFc4Types_ID 8
|
|
|
|
//
|
|
ULONG PortSupportedSpeed;
|
|
#define MSFC_HBAPortAttributesResults_PortSupportedSpeed_SIZE sizeof(ULONG)
|
|
#define MSFC_HBAPortAttributesResults_PortSupportedSpeed_ID 9
|
|
|
|
//
|
|
ULONG PortSpeed;
|
|
#define MSFC_HBAPortAttributesResults_PortSpeed_SIZE sizeof(ULONG)
|
|
#define MSFC_HBAPortAttributesResults_PortSpeed_ID 10
|
|
|
|
//
|
|
ULONG PortMaxFrameSize;
|
|
#define MSFC_HBAPortAttributesResults_PortMaxFrameSize_SIZE sizeof(ULONG)
|
|
#define MSFC_HBAPortAttributesResults_PortMaxFrameSize_ID 11
|
|
|
|
//
|
|
UCHAR FabricName[8];
|
|
#define MSFC_HBAPortAttributesResults_FabricName_SIZE sizeof(UCHAR[8])
|
|
#define MSFC_HBAPortAttributesResults_FabricName_ID 12
|
|
|
|
//
|
|
ULONG NumberofDiscoveredPorts;
|
|
#define MSFC_HBAPortAttributesResults_NumberofDiscoveredPorts_SIZE sizeof(ULONG)
|
|
#define MSFC_HBAPortAttributesResults_NumberofDiscoveredPorts_ID 13
|
|
|
|
} MSFC_HBAPortAttributesResults, *PMSFC_HBAPortAttributesResults;
|
|
|
|
#define MSFC_HBAPortAttributesResults_SIZE (FIELD_OFFSET(MSFC_HBAPortAttributesResults, NumberofDiscoveredPorts) + MSFC_HBAPortAttributesResults_NumberofDiscoveredPorts_SIZE)
|
|
|
|
// MSFC_FibrePortHBAAttributes - MSFC_FibrePortHBAAttributes
|
|
#define MSFC_FibrePortHBAAttributesGuid \
|
|
{ 0x61b397fd,0xf5ae,0x4950, { 0x97,0x58,0x0e,0xe5,0x98,0xe3,0xc6,0xe6 } }
|
|
|
|
#if ! (defined(MIDL_PASS))
|
|
DEFINE_GUID(MSFC_FibrePortHBAAttributes_GUID, \
|
|
0x61b397fd,0xf5ae,0x4950,0x97,0x58,0x0e,0xe5,0x98,0xe3,0xc6,0xe6);
|
|
#endif
|
|
|
|
|
|
typedef struct _MSFC_FibrePortHBAAttributes
|
|
{
|
|
//
|
|
ULONGLONG UniquePortId;
|
|
#define MSFC_FibrePortHBAAttributes_UniquePortId_SIZE sizeof(ULONGLONG)
|
|
#define MSFC_FibrePortHBAAttributes_UniquePortId_ID 1
|
|
|
|
//
|
|
ULONG HBAStatus;
|
|
#define MSFC_FibrePortHBAAttributes_HBAStatus_SIZE sizeof(ULONG)
|
|
#define MSFC_FibrePortHBAAttributes_HBAStatus_ID 2
|
|
|
|
//
|
|
MSFC_HBAPortAttributesResults Attributes;
|
|
#define MSFC_FibrePortHBAAttributes_Attributes_SIZE sizeof(MSFC_HBAPortAttributesResults)
|
|
#define MSFC_FibrePortHBAAttributes_Attributes_ID 3
|
|
|
|
} MSFC_FibrePortHBAAttributes, *PMSFC_FibrePortHBAAttributes;
|
|
|
|
#define MSFC_FibrePortHBAAttributes_SIZE (FIELD_OFFSET(MSFC_FibrePortHBAAttributes, Attributes) + MSFC_FibrePortHBAAttributes_Attributes_SIZE)
|
|
|
|
// MSFC_FibrePortHBAStatistics - MSFC_FibrePortHBAStatistics
|
|
#define MSFC_FibrePortHBAStatisticsGuid \
|
|
{ 0x27efaba4,0x362a,0x4f20, { 0x92,0x0b,0xed,0x66,0xe2,0x80,0xfc,0xf5 } }
|
|
|
|
#if ! (defined(MIDL_PASS))
|
|
DEFINE_GUID(MSFC_FibrePortHBAStatistics_GUID, \
|
|
0x27efaba4,0x362a,0x4f20,0x92,0x0b,0xed,0x66,0xe2,0x80,0xfc,0xf5);
|
|
#endif
|
|
|
|
|
|
typedef struct _MSFC_FibrePortHBAStatistics
|
|
{
|
|
//
|
|
ULONGLONG UniquePortId;
|
|
#define MSFC_FibrePortHBAStatistics_UniquePortId_SIZE sizeof(ULONGLONG)
|
|
#define MSFC_FibrePortHBAStatistics_UniquePortId_ID 1
|
|
|
|
//
|
|
ULONG HBAStatus;
|
|
#define MSFC_FibrePortHBAStatistics_HBAStatus_SIZE sizeof(ULONG)
|
|
#define MSFC_FibrePortHBAStatistics_HBAStatus_ID 2
|
|
|
|
//
|
|
MSFC_HBAPortStatistics Statistics;
|
|
#define MSFC_FibrePortHBAStatistics_Statistics_SIZE sizeof(MSFC_HBAPortStatistics)
|
|
#define MSFC_FibrePortHBAStatistics_Statistics_ID 3
|
|
|
|
} MSFC_FibrePortHBAStatistics, *PMSFC_FibrePortHBAStatistics;
|
|
|
|
#define MSFC_FibrePortHBAStatistics_SIZE (FIELD_OFFSET(MSFC_FibrePortHBAStatistics, Statistics) + MSFC_FibrePortHBAStatistics_Statistics_SIZE)
|
|
|
|
// MSFC_FibrePortHBAMethods - MSFC_FibrePortHBAMethods
|
|
#define MSFC_FibrePortHBAMethodsGuid \
|
|
{ 0xe693553e,0xedf6,0x4d57, { 0xbf,0x08,0xef,0xca,0xae,0x1a,0x2e,0x1c } }
|
|
|
|
#if ! (defined(MIDL_PASS))
|
|
DEFINE_GUID(MSFC_FibrePortHBAMethods_GUID, \
|
|
0xe693553e,0xedf6,0x4d57,0xbf,0x08,0xef,0xca,0xae,0x1a,0x2e,0x1c);
|
|
#endif
|
|
|
|
//
|
|
// Method id definitions for MSFC_FibrePortHBAMethods
|
|
#define ResetStatistics 1
|
|
|
|
// MSFC_FC4STATISTICS - MSFC_FC4STATISTICS
|
|
#define MSFC_FC4STATISTICSGuid \
|
|
{ 0xca8e7fe6,0xb85e,0x497f, { 0x88,0x58,0x9b,0x5d,0x93,0xa6,0x6f,0xe1 } }
|
|
|
|
#if ! (defined(MIDL_PASS))
|
|
DEFINE_GUID(MSFC_FC4STATISTICS_GUID, \
|
|
0xca8e7fe6,0xb85e,0x497f,0x88,0x58,0x9b,0x5d,0x93,0xa6,0x6f,0xe1);
|
|
#endif
|
|
|
|
|
|
typedef struct _MSFC_FC4STATISTICS
|
|
{
|
|
//
|
|
ULONGLONG InputRequests;
|
|
#define MSFC_FC4STATISTICS_InputRequests_SIZE sizeof(ULONGLONG)
|
|
#define MSFC_FC4STATISTICS_InputRequests_ID 1
|
|
|
|
//
|
|
ULONGLONG OutputRequests;
|
|
#define MSFC_FC4STATISTICS_OutputRequests_SIZE sizeof(ULONGLONG)
|
|
#define MSFC_FC4STATISTICS_OutputRequests_ID 2
|
|
|
|
//
|
|
ULONGLONG ControlRequests;
|
|
#define MSFC_FC4STATISTICS_ControlRequests_SIZE sizeof(ULONGLONG)
|
|
#define MSFC_FC4STATISTICS_ControlRequests_ID 3
|
|
|
|
//
|
|
ULONGLONG InputMegabytes;
|
|
#define MSFC_FC4STATISTICS_InputMegabytes_SIZE sizeof(ULONGLONG)
|
|
#define MSFC_FC4STATISTICS_InputMegabytes_ID 4
|
|
|
|
//
|
|
ULONGLONG OutputMegabytes;
|
|
#define MSFC_FC4STATISTICS_OutputMegabytes_SIZE sizeof(ULONGLONG)
|
|
#define MSFC_FC4STATISTICS_OutputMegabytes_ID 5
|
|
|
|
} MSFC_FC4STATISTICS, *PMSFC_FC4STATISTICS;
|
|
|
|
#define MSFC_FC4STATISTICS_SIZE (FIELD_OFFSET(MSFC_FC4STATISTICS, OutputMegabytes) + MSFC_FC4STATISTICS_OutputMegabytes_SIZE)
|
|
|
|
// MSFC_EventBuffer - MSFC_EventBuffer
|
|
#define MSFC_EventBufferGuid \
|
|
{ 0x623f4588,0xcf01,0x4f0e, { 0xb1,0x97,0xab,0xbe,0xe5,0xe0,0xcf,0xf3 } }
|
|
|
|
#if ! (defined(MIDL_PASS))
|
|
DEFINE_GUID(MSFC_EventBuffer_GUID, \
|
|
0x623f4588,0xcf01,0x4f0e,0xb1,0x97,0xab,0xbe,0xe5,0xe0,0xcf,0xf3);
|
|
#endif
|
|
|
|
|
|
typedef struct _MSFC_EventBuffer
|
|
{
|
|
//
|
|
ULONG EventType;
|
|
#define MSFC_EventBuffer_EventType_SIZE sizeof(ULONG)
|
|
#define MSFC_EventBuffer_EventType_ID 1
|
|
|
|
//
|
|
ULONG EventInfo[4];
|
|
#define MSFC_EventBuffer_EventInfo_SIZE sizeof(ULONG[4])
|
|
#define MSFC_EventBuffer_EventInfo_ID 2
|
|
|
|
} MSFC_EventBuffer, *PMSFC_EventBuffer;
|
|
|
|
#define MSFC_EventBuffer_SIZE (FIELD_OFFSET(MSFC_EventBuffer, EventInfo) + MSFC_EventBuffer_EventInfo_SIZE)
|
|
|
|
// MSFC_HBAAdapterMethods - MSFC_HBAAdapterMethods
|
|
#define MSFC_HBAAdapterMethodsGuid \
|
|
{ 0xdf87d4ed,0x4612,0x4d12, { 0x85,0xfb,0x83,0x57,0x4e,0xc3,0x4b,0x7c } }
|
|
|
|
#if ! (defined(MIDL_PASS))
|
|
DEFINE_GUID(MSFC_HBAAdapterMethods_GUID, \
|
|
0xdf87d4ed,0x4612,0x4d12,0x85,0xfb,0x83,0x57,0x4e,0xc3,0x4b,0x7c);
|
|
#endif
|
|
|
|
//
|
|
// Method id definitions for MSFC_HBAAdapterMethods
|
|
#define GetDiscoveredPortAttributes 1
|
|
typedef struct _GetDiscoveredPortAttributes_IN
|
|
{
|
|
//
|
|
ULONG PortIndex;
|
|
#define GetDiscoveredPortAttributes_IN_PortIndex_SIZE sizeof(ULONG)
|
|
#define GetDiscoveredPortAttributes_IN_PortIndex_ID 1
|
|
|
|
//
|
|
ULONG DiscoveredPortIndex;
|
|
#define GetDiscoveredPortAttributes_IN_DiscoveredPortIndex_SIZE sizeof(ULONG)
|
|
#define GetDiscoveredPortAttributes_IN_DiscoveredPortIndex_ID 2
|
|
|
|
} GetDiscoveredPortAttributes_IN, *PGetDiscoveredPortAttributes_IN;
|
|
|
|
#define GetDiscoveredPortAttributes_IN_SIZE (FIELD_OFFSET(GetDiscoveredPortAttributes_IN, DiscoveredPortIndex) + GetDiscoveredPortAttributes_IN_DiscoveredPortIndex_SIZE)
|
|
|
|
typedef struct _GetDiscoveredPortAttributes_OUT
|
|
{
|
|
//
|
|
ULONG HBAStatus;
|
|
#define GetDiscoveredPortAttributes_OUT_HBAStatus_SIZE sizeof(ULONG)
|
|
#define GetDiscoveredPortAttributes_OUT_HBAStatus_ID 3
|
|
|
|
//
|
|
MSFC_HBAPortAttributesResults PortAttributes;
|
|
#define GetDiscoveredPortAttributes_OUT_PortAttributes_SIZE sizeof(MSFC_HBAPortAttributesResults)
|
|
#define GetDiscoveredPortAttributes_OUT_PortAttributes_ID 4
|
|
|
|
} GetDiscoveredPortAttributes_OUT, *PGetDiscoveredPortAttributes_OUT;
|
|
|
|
#define GetDiscoveredPortAttributes_OUT_SIZE (FIELD_OFFSET(GetDiscoveredPortAttributes_OUT, PortAttributes) + GetDiscoveredPortAttributes_OUT_PortAttributes_SIZE)
|
|
|
|
#define GetPortAttributesByWWN 2
|
|
typedef struct _GetPortAttributesByWWN_IN
|
|
{
|
|
//
|
|
UCHAR wwn[8];
|
|
#define GetPortAttributesByWWN_IN_wwn_SIZE sizeof(UCHAR[8])
|
|
#define GetPortAttributesByWWN_IN_wwn_ID 1
|
|
|
|
} GetPortAttributesByWWN_IN, *PGetPortAttributesByWWN_IN;
|
|
|
|
#define GetPortAttributesByWWN_IN_SIZE (FIELD_OFFSET(GetPortAttributesByWWN_IN, wwn) + GetPortAttributesByWWN_IN_wwn_SIZE)
|
|
|
|
typedef struct _GetPortAttributesByWWN_OUT
|
|
{
|
|
//
|
|
ULONG HBAStatus;
|
|
#define GetPortAttributesByWWN_OUT_HBAStatus_SIZE sizeof(ULONG)
|
|
#define GetPortAttributesByWWN_OUT_HBAStatus_ID 2
|
|
|
|
//
|
|
MSFC_HBAPortAttributesResults PortAttributes;
|
|
#define GetPortAttributesByWWN_OUT_PortAttributes_SIZE sizeof(MSFC_HBAPortAttributesResults)
|
|
#define GetPortAttributesByWWN_OUT_PortAttributes_ID 3
|
|
|
|
} GetPortAttributesByWWN_OUT, *PGetPortAttributesByWWN_OUT;
|
|
|
|
#define GetPortAttributesByWWN_OUT_SIZE (FIELD_OFFSET(GetPortAttributesByWWN_OUT, PortAttributes) + GetPortAttributesByWWN_OUT_PortAttributes_SIZE)
|
|
|
|
#define RefreshInformation 3
|
|
#define SendCTPassThru 4
|
|
typedef struct _SendCTPassThru_IN
|
|
{
|
|
//
|
|
UCHAR PortWWN[8];
|
|
#define SendCTPassThru_IN_PortWWN_SIZE sizeof(UCHAR[8])
|
|
#define SendCTPassThru_IN_PortWWN_ID 1
|
|
|
|
//
|
|
ULONG RequestBufferCount;
|
|
#define SendCTPassThru_IN_RequestBufferCount_SIZE sizeof(ULONG)
|
|
#define SendCTPassThru_IN_RequestBufferCount_ID 2
|
|
|
|
//
|
|
UCHAR RequestBuffer[1];
|
|
#define SendCTPassThru_IN_RequestBuffer_ID 3
|
|
|
|
} SendCTPassThru_IN, *PSendCTPassThru_IN;
|
|
|
|
typedef struct _SendCTPassThru_OUT
|
|
{
|
|
//
|
|
ULONG HBAStatus;
|
|
#define SendCTPassThru_OUT_HBAStatus_SIZE sizeof(ULONG)
|
|
#define SendCTPassThru_OUT_HBAStatus_ID 4
|
|
|
|
//
|
|
ULONG TotalResponseBufferCount;
|
|
#define SendCTPassThru_OUT_TotalResponseBufferCount_SIZE sizeof(ULONG)
|
|
#define SendCTPassThru_OUT_TotalResponseBufferCount_ID 5
|
|
|
|
//
|
|
ULONG ActualResponseBufferCount;
|
|
#define SendCTPassThru_OUT_ActualResponseBufferCount_SIZE sizeof(ULONG)
|
|
#define SendCTPassThru_OUT_ActualResponseBufferCount_ID 6
|
|
|
|
|
|
#define SendCTPassThru_OUT_ResponseBuffer_SIZE_HINT 768
|
|
|
|
//
|
|
UCHAR ResponseBuffer[1];
|
|
#define SendCTPassThru_OUT_ResponseBuffer_ID 7
|
|
|
|
} SendCTPassThru_OUT, *PSendCTPassThru_OUT;
|
|
|
|
#define SendRNID 5
|
|
typedef struct _SendRNID_IN
|
|
{
|
|
//
|
|
UCHAR wwn[8];
|
|
#define SendRNID_IN_wwn_SIZE sizeof(UCHAR[8])
|
|
#define SendRNID_IN_wwn_ID 1
|
|
|
|
//
|
|
ULONG wwntype;
|
|
#define SendRNID_IN_wwntype_SIZE sizeof(ULONG)
|
|
#define SendRNID_IN_wwntype_ID 2
|
|
|
|
} SendRNID_IN, *PSendRNID_IN;
|
|
|
|
#define SendRNID_IN_SIZE (FIELD_OFFSET(SendRNID_IN, wwntype) + SendRNID_IN_wwntype_SIZE)
|
|
|
|
typedef struct _SendRNID_OUT
|
|
{
|
|
//
|
|
ULONG HBAStatus;
|
|
#define SendRNID_OUT_HBAStatus_SIZE sizeof(ULONG)
|
|
#define SendRNID_OUT_HBAStatus_ID 3
|
|
|
|
//
|
|
ULONG ResponseBufferCount;
|
|
#define SendRNID_OUT_ResponseBufferCount_SIZE sizeof(ULONG)
|
|
#define SendRNID_OUT_ResponseBufferCount_ID 4
|
|
|
|
|
|
#define SendRNID_OUT_ResponseBuffer_SIZE_HINT 76
|
|
|
|
//
|
|
UCHAR ResponseBuffer[1];
|
|
#define SendRNID_OUT_ResponseBuffer_ID 5
|
|
|
|
} SendRNID_OUT, *PSendRNID_OUT;
|
|
|
|
#define SendRNIDV2 6
|
|
typedef struct _SendRNIDV2_IN
|
|
{
|
|
//
|
|
UCHAR PortWWN[8];
|
|
#define SendRNIDV2_IN_PortWWN_SIZE sizeof(UCHAR[8])
|
|
#define SendRNIDV2_IN_PortWWN_ID 1
|
|
|
|
//
|
|
UCHAR DestWWN[8];
|
|
#define SendRNIDV2_IN_DestWWN_SIZE sizeof(UCHAR[8])
|
|
#define SendRNIDV2_IN_DestWWN_ID 2
|
|
|
|
//
|
|
ULONG DestFCID;
|
|
#define SendRNIDV2_IN_DestFCID_SIZE sizeof(ULONG)
|
|
#define SendRNIDV2_IN_DestFCID_ID 3
|
|
|
|
//
|
|
ULONG NodeIdDataFormat;
|
|
#define SendRNIDV2_IN_NodeIdDataFormat_SIZE sizeof(ULONG)
|
|
#define SendRNIDV2_IN_NodeIdDataFormat_ID 4
|
|
|
|
} SendRNIDV2_IN, *PSendRNIDV2_IN;
|
|
|
|
#define SendRNIDV2_IN_SIZE (FIELD_OFFSET(SendRNIDV2_IN, NodeIdDataFormat) + SendRNIDV2_IN_NodeIdDataFormat_SIZE)
|
|
|
|
typedef struct _SendRNIDV2_OUT
|
|
{
|
|
//
|
|
ULONG HBAStatus;
|
|
#define SendRNIDV2_OUT_HBAStatus_SIZE sizeof(ULONG)
|
|
#define SendRNIDV2_OUT_HBAStatus_ID 5
|
|
|
|
//
|
|
ULONG TotalRspBufferSize;
|
|
#define SendRNIDV2_OUT_TotalRspBufferSize_SIZE sizeof(ULONG)
|
|
#define SendRNIDV2_OUT_TotalRspBufferSize_ID 6
|
|
|
|
//
|
|
ULONG ActualRspBufferSize;
|
|
#define SendRNIDV2_OUT_ActualRspBufferSize_SIZE sizeof(ULONG)
|
|
#define SendRNIDV2_OUT_ActualRspBufferSize_ID 7
|
|
|
|
|
|
#define SendRNIDV2_OUT_RspBuffer_SIZE_HINT 76
|
|
|
|
//
|
|
UCHAR RspBuffer[1];
|
|
#define SendRNIDV2_OUT_RspBuffer_ID 8
|
|
|
|
} SendRNIDV2_OUT, *PSendRNIDV2_OUT;
|
|
|
|
#define GetFC3MgmtInfo 7
|
|
typedef struct _GetFC3MgmtInfo_OUT
|
|
{
|
|
//
|
|
ULONG HBAStatus;
|
|
#define GetFC3MgmtInfo_OUT_HBAStatus_SIZE sizeof(ULONG)
|
|
#define GetFC3MgmtInfo_OUT_HBAStatus_ID 1
|
|
|
|
//
|
|
HBAFC3MgmtInfo MgmtInfo;
|
|
#define GetFC3MgmtInfo_OUT_MgmtInfo_SIZE sizeof(HBAFC3MgmtInfo)
|
|
#define GetFC3MgmtInfo_OUT_MgmtInfo_ID 2
|
|
|
|
} GetFC3MgmtInfo_OUT, *PGetFC3MgmtInfo_OUT;
|
|
|
|
#define GetFC3MgmtInfo_OUT_SIZE (FIELD_OFFSET(GetFC3MgmtInfo_OUT, MgmtInfo) + GetFC3MgmtInfo_OUT_MgmtInfo_SIZE)
|
|
|
|
#define SetFC3MgmtInfo 8
|
|
typedef struct _SetFC3MgmtInfo_IN
|
|
{
|
|
//
|
|
HBAFC3MgmtInfo MgmtInfo;
|
|
#define SetFC3MgmtInfo_IN_MgmtInfo_SIZE sizeof(HBAFC3MgmtInfo)
|
|
#define SetFC3MgmtInfo_IN_MgmtInfo_ID 1
|
|
|
|
} SetFC3MgmtInfo_IN, *PSetFC3MgmtInfo_IN;
|
|
|
|
#define SetFC3MgmtInfo_IN_SIZE (FIELD_OFFSET(SetFC3MgmtInfo_IN, MgmtInfo) + SetFC3MgmtInfo_IN_MgmtInfo_SIZE)
|
|
|
|
typedef struct _SetFC3MgmtInfo_OUT
|
|
{
|
|
//
|
|
ULONG HBAStatus;
|
|
#define SetFC3MgmtInfo_OUT_HBAStatus_SIZE sizeof(ULONG)
|
|
#define SetFC3MgmtInfo_OUT_HBAStatus_ID 2
|
|
|
|
} SetFC3MgmtInfo_OUT, *PSetFC3MgmtInfo_OUT;
|
|
|
|
#define SetFC3MgmtInfo_OUT_SIZE (FIELD_OFFSET(SetFC3MgmtInfo_OUT, HBAStatus) + SetFC3MgmtInfo_OUT_HBAStatus_SIZE)
|
|
|
|
#define SendRPL 9
|
|
typedef struct _SendRPL_IN
|
|
{
|
|
//
|
|
UCHAR PortWWN[8];
|
|
#define SendRPL_IN_PortWWN_SIZE sizeof(UCHAR[8])
|
|
#define SendRPL_IN_PortWWN_ID 1
|
|
|
|
//
|
|
UCHAR AgentWWN[8];
|
|
#define SendRPL_IN_AgentWWN_SIZE sizeof(UCHAR[8])
|
|
#define SendRPL_IN_AgentWWN_ID 2
|
|
|
|
//
|
|
ULONG agent_domain;
|
|
#define SendRPL_IN_agent_domain_SIZE sizeof(ULONG)
|
|
#define SendRPL_IN_agent_domain_ID 3
|
|
|
|
//
|
|
ULONG portIndex;
|
|
#define SendRPL_IN_portIndex_SIZE sizeof(ULONG)
|
|
#define SendRPL_IN_portIndex_ID 4
|
|
|
|
} SendRPL_IN, *PSendRPL_IN;
|
|
|
|
#define SendRPL_IN_SIZE (FIELD_OFFSET(SendRPL_IN, portIndex) + SendRPL_IN_portIndex_SIZE)
|
|
|
|
typedef struct _SendRPL_OUT
|
|
{
|
|
//
|
|
ULONG HBAStatus;
|
|
#define SendRPL_OUT_HBAStatus_SIZE sizeof(ULONG)
|
|
#define SendRPL_OUT_HBAStatus_ID 5
|
|
|
|
//
|
|
ULONG TotalRspBufferSize;
|
|
#define SendRPL_OUT_TotalRspBufferSize_SIZE sizeof(ULONG)
|
|
#define SendRPL_OUT_TotalRspBufferSize_ID 6
|
|
|
|
//
|
|
ULONG ActualRspBufferSize;
|
|
#define SendRPL_OUT_ActualRspBufferSize_SIZE sizeof(ULONG)
|
|
#define SendRPL_OUT_ActualRspBufferSize_ID 7
|
|
|
|
|
|
#define SendRPL_OUT_RspBuffer_SIZE_HINT 28 // 12+16*n
|
|
|
|
//
|
|
UCHAR RspBuffer[1];
|
|
#define SendRPL_OUT_RspBuffer_ID 8
|
|
|
|
} SendRPL_OUT, *PSendRPL_OUT;
|
|
|
|
#define SendRPS 10
|
|
typedef struct _SendRPS_IN
|
|
{
|
|
//
|
|
UCHAR PortWWN[8];
|
|
#define SendRPS_IN_PortWWN_SIZE sizeof(UCHAR[8])
|
|
#define SendRPS_IN_PortWWN_ID 1
|
|
|
|
//
|
|
UCHAR AgentWWN[8];
|
|
#define SendRPS_IN_AgentWWN_SIZE sizeof(UCHAR[8])
|
|
#define SendRPS_IN_AgentWWN_ID 2
|
|
|
|
//
|
|
UCHAR ObjectWWN[8];
|
|
#define SendRPS_IN_ObjectWWN_SIZE sizeof(UCHAR[8])
|
|
#define SendRPS_IN_ObjectWWN_ID 3
|
|
|
|
//
|
|
ULONG AgentDomain;
|
|
#define SendRPS_IN_AgentDomain_SIZE sizeof(ULONG)
|
|
#define SendRPS_IN_AgentDomain_ID 4
|
|
|
|
//
|
|
ULONG ObjectPortNumber;
|
|
#define SendRPS_IN_ObjectPortNumber_SIZE sizeof(ULONG)
|
|
#define SendRPS_IN_ObjectPortNumber_ID 5
|
|
|
|
} SendRPS_IN, *PSendRPS_IN;
|
|
|
|
#define SendRPS_IN_SIZE (FIELD_OFFSET(SendRPS_IN, ObjectPortNumber) + SendRPS_IN_ObjectPortNumber_SIZE)
|
|
|
|
typedef struct _SendRPS_OUT
|
|
{
|
|
//
|
|
ULONG HBAStatus;
|
|
#define SendRPS_OUT_HBAStatus_SIZE sizeof(ULONG)
|
|
#define SendRPS_OUT_HBAStatus_ID 6
|
|
|
|
//
|
|
ULONG TotalRspBufferSize;
|
|
#define SendRPS_OUT_TotalRspBufferSize_SIZE sizeof(ULONG)
|
|
#define SendRPS_OUT_TotalRspBufferSize_ID 7
|
|
|
|
//
|
|
ULONG ActualRspBufferSize;
|
|
#define SendRPS_OUT_ActualRspBufferSize_SIZE sizeof(ULONG)
|
|
#define SendRPS_OUT_ActualRspBufferSize_ID 8
|
|
|
|
|
|
#define SendRPS_OUT_RspBuffer_SIZE_HINT 64
|
|
|
|
//
|
|
UCHAR RspBuffer[1];
|
|
#define SendRPS_OUT_RspBuffer_ID 9
|
|
|
|
} SendRPS_OUT, *PSendRPS_OUT;
|
|
|
|
#define SendSRL 11
|
|
typedef struct _SendSRL_IN
|
|
{
|
|
//
|
|
UCHAR PortWWN[8];
|
|
#define SendSRL_IN_PortWWN_SIZE sizeof(UCHAR[8])
|
|
#define SendSRL_IN_PortWWN_ID 1
|
|
|
|
//
|
|
UCHAR WWN[8];
|
|
#define SendSRL_IN_WWN_SIZE sizeof(UCHAR[8])
|
|
#define SendSRL_IN_WWN_ID 2
|
|
|
|
//
|
|
ULONG Domain;
|
|
#define SendSRL_IN_Domain_SIZE sizeof(ULONG)
|
|
#define SendSRL_IN_Domain_ID 3
|
|
|
|
} SendSRL_IN, *PSendSRL_IN;
|
|
|
|
#define SendSRL_IN_SIZE (FIELD_OFFSET(SendSRL_IN, Domain) + SendSRL_IN_Domain_SIZE)
|
|
|
|
typedef struct _SendSRL_OUT
|
|
{
|
|
//
|
|
ULONG HBAStatus;
|
|
#define SendSRL_OUT_HBAStatus_SIZE sizeof(ULONG)
|
|
#define SendSRL_OUT_HBAStatus_ID 4
|
|
|
|
//
|
|
ULONG TotalRspBufferSize;
|
|
#define SendSRL_OUT_TotalRspBufferSize_SIZE sizeof(ULONG)
|
|
#define SendSRL_OUT_TotalRspBufferSize_ID 5
|
|
|
|
//
|
|
ULONG ActualRspBufferSize;
|
|
#define SendSRL_OUT_ActualRspBufferSize_SIZE sizeof(ULONG)
|
|
#define SendSRL_OUT_ActualRspBufferSize_ID 6
|
|
|
|
|
|
#define SendSRL_OUT_RspBuffer_SIZE_HINT 8
|
|
|
|
//
|
|
UCHAR RspBuffer[1];
|
|
#define SendSRL_OUT_RspBuffer_ID 7
|
|
|
|
} SendSRL_OUT, *PSendSRL_OUT;
|
|
|
|
#define SendLIRR 12
|
|
typedef struct _SendLIRR_IN
|
|
{
|
|
//
|
|
UCHAR SourceWWN[8];
|
|
#define SendLIRR_IN_SourceWWN_SIZE sizeof(UCHAR[8])
|
|
#define SendLIRR_IN_SourceWWN_ID 1
|
|
|
|
//
|
|
UCHAR DestWWN[8];
|
|
#define SendLIRR_IN_DestWWN_SIZE sizeof(UCHAR[8])
|
|
#define SendLIRR_IN_DestWWN_ID 2
|
|
|
|
//
|
|
UCHAR Function;
|
|
#define SendLIRR_IN_Function_SIZE sizeof(UCHAR)
|
|
#define SendLIRR_IN_Function_ID 3
|
|
|
|
//
|
|
UCHAR Type;
|
|
#define SendLIRR_IN_Type_SIZE sizeof(UCHAR)
|
|
#define SendLIRR_IN_Type_ID 4
|
|
|
|
} SendLIRR_IN, *PSendLIRR_IN;
|
|
|
|
#define SendLIRR_IN_SIZE (FIELD_OFFSET(SendLIRR_IN, Type) + SendLIRR_IN_Type_SIZE)
|
|
|
|
typedef struct _SendLIRR_OUT
|
|
{
|
|
//
|
|
ULONG HBAStatus;
|
|
#define SendLIRR_OUT_HBAStatus_SIZE sizeof(ULONG)
|
|
#define SendLIRR_OUT_HBAStatus_ID 5
|
|
|
|
//
|
|
ULONG TotalRspBufferSize;
|
|
#define SendLIRR_OUT_TotalRspBufferSize_SIZE sizeof(ULONG)
|
|
#define SendLIRR_OUT_TotalRspBufferSize_ID 6
|
|
|
|
//
|
|
ULONG ActualRspBufferSize;
|
|
#define SendLIRR_OUT_ActualRspBufferSize_SIZE sizeof(ULONG)
|
|
#define SendLIRR_OUT_ActualRspBufferSize_ID 7
|
|
|
|
|
|
#define SendLIRR_OUT_RspBuffer_SIZE_HINT 8
|
|
|
|
//
|
|
UCHAR RspBuffer[1];
|
|
#define SendLIRR_OUT_RspBuffer_ID 8
|
|
|
|
} SendLIRR_OUT, *PSendLIRR_OUT;
|
|
|
|
#define GetFC4Statistics 13
|
|
typedef struct _GetFC4Statistics_IN
|
|
{
|
|
//
|
|
UCHAR PortWWN[8];
|
|
#define GetFC4Statistics_IN_PortWWN_SIZE sizeof(UCHAR[8])
|
|
#define GetFC4Statistics_IN_PortWWN_ID 1
|
|
|
|
//
|
|
UCHAR FC4Type;
|
|
#define GetFC4Statistics_IN_FC4Type_SIZE sizeof(UCHAR)
|
|
#define GetFC4Statistics_IN_FC4Type_ID 2
|
|
|
|
} GetFC4Statistics_IN, *PGetFC4Statistics_IN;
|
|
|
|
#define GetFC4Statistics_IN_SIZE (FIELD_OFFSET(GetFC4Statistics_IN, FC4Type) + GetFC4Statistics_IN_FC4Type_SIZE)
|
|
|
|
typedef struct _GetFC4Statistics_OUT
|
|
{
|
|
//
|
|
ULONG HBAStatus;
|
|
#define GetFC4Statistics_OUT_HBAStatus_SIZE sizeof(ULONG)
|
|
#define GetFC4Statistics_OUT_HBAStatus_ID 3
|
|
|
|
//
|
|
MSFC_FC4STATISTICS FC4Statistics;
|
|
#define GetFC4Statistics_OUT_FC4Statistics_SIZE sizeof(MSFC_FC4STATISTICS)
|
|
#define GetFC4Statistics_OUT_FC4Statistics_ID 4
|
|
|
|
} GetFC4Statistics_OUT, *PGetFC4Statistics_OUT;
|
|
|
|
#define GetFC4Statistics_OUT_SIZE (FIELD_OFFSET(GetFC4Statistics_OUT, FC4Statistics) + GetFC4Statistics_OUT_FC4Statistics_SIZE)
|
|
|
|
#define GetFCPStatistics 14
|
|
typedef struct _GetFCPStatistics_IN
|
|
{
|
|
//
|
|
HBAScsiID ScsiId;
|
|
#define GetFCPStatistics_IN_ScsiId_SIZE sizeof(HBAScsiID)
|
|
#define GetFCPStatistics_IN_ScsiId_ID 1
|
|
|
|
} GetFCPStatistics_IN, *PGetFCPStatistics_IN;
|
|
|
|
#define GetFCPStatistics_IN_SIZE (FIELD_OFFSET(GetFCPStatistics_IN, ScsiId) + GetFCPStatistics_IN_ScsiId_SIZE)
|
|
|
|
typedef struct _GetFCPStatistics_OUT
|
|
{
|
|
//
|
|
ULONG HBAStatus;
|
|
#define GetFCPStatistics_OUT_HBAStatus_SIZE sizeof(ULONG)
|
|
#define GetFCPStatistics_OUT_HBAStatus_ID 2
|
|
|
|
//
|
|
MSFC_FC4STATISTICS FC4Statistics;
|
|
#define GetFCPStatistics_OUT_FC4Statistics_SIZE sizeof(MSFC_FC4STATISTICS)
|
|
#define GetFCPStatistics_OUT_FC4Statistics_ID 3
|
|
|
|
} GetFCPStatistics_OUT, *PGetFCPStatistics_OUT;
|
|
|
|
#define GetFCPStatistics_OUT_SIZE (FIELD_OFFSET(GetFCPStatistics_OUT, FC4Statistics) + GetFCPStatistics_OUT_FC4Statistics_SIZE)
|
|
|
|
#define ScsiInquiry 15
|
|
typedef struct _ScsiInquiry_IN
|
|
{
|
|
//
|
|
UCHAR Cdb[6];
|
|
#define ScsiInquiry_IN_Cdb_SIZE sizeof(UCHAR[6])
|
|
#define ScsiInquiry_IN_Cdb_ID 1
|
|
|
|
//
|
|
UCHAR HbaPortWWN[8];
|
|
#define ScsiInquiry_IN_HbaPortWWN_SIZE sizeof(UCHAR[8])
|
|
#define ScsiInquiry_IN_HbaPortWWN_ID 2
|
|
|
|
//
|
|
UCHAR DiscoveredPortWWN[8];
|
|
#define ScsiInquiry_IN_DiscoveredPortWWN_SIZE sizeof(UCHAR[8])
|
|
#define ScsiInquiry_IN_DiscoveredPortWWN_ID 3
|
|
|
|
//
|
|
ULONGLONG FcLun;
|
|
#define ScsiInquiry_IN_FcLun_SIZE sizeof(ULONGLONG)
|
|
#define ScsiInquiry_IN_FcLun_ID 4
|
|
|
|
} ScsiInquiry_IN, *PScsiInquiry_IN;
|
|
|
|
#define ScsiInquiry_IN_SIZE (FIELD_OFFSET(ScsiInquiry_IN, FcLun) + ScsiInquiry_IN_FcLun_SIZE)
|
|
|
|
typedef struct _ScsiInquiry_OUT
|
|
{
|
|
//
|
|
ULONG HBAStatus;
|
|
#define ScsiInquiry_OUT_HBAStatus_SIZE sizeof(ULONG)
|
|
#define ScsiInquiry_OUT_HBAStatus_ID 5
|
|
|
|
//
|
|
ULONG ResponseBufferSize;
|
|
#define ScsiInquiry_OUT_ResponseBufferSize_SIZE sizeof(ULONG)
|
|
#define ScsiInquiry_OUT_ResponseBufferSize_ID 6
|
|
|
|
//
|
|
ULONG SenseBufferSize;
|
|
#define ScsiInquiry_OUT_SenseBufferSize_SIZE sizeof(ULONG)
|
|
#define ScsiInquiry_OUT_SenseBufferSize_ID 7
|
|
|
|
//
|
|
UCHAR ScsiStatus;
|
|
#define ScsiInquiry_OUT_ScsiStatus_SIZE sizeof(UCHAR)
|
|
#define ScsiInquiry_OUT_ScsiStatus_ID 8
|
|
|
|
|
|
#define ScsiInquiry_OUT_ResponseBuffer_SIZE_HINT 96
|
|
|
|
//
|
|
UCHAR ResponseBuffer[1];
|
|
#define ScsiInquiry_OUT_ResponseBuffer_ID 9
|
|
|
|
//
|
|
// UCHAR SenseBuffer[1];
|
|
#define ScsiInquiry_OUT_SenseBuffer_ID 10
|
|
|
|
} ScsiInquiry_OUT, *PScsiInquiry_OUT;
|
|
|
|
#define ScsiReadCapacity 16
|
|
typedef struct _ScsiReadCapacity_IN
|
|
{
|
|
//
|
|
UCHAR Cdb[10];
|
|
#define ScsiReadCapacity_IN_Cdb_SIZE sizeof(UCHAR[10])
|
|
#define ScsiReadCapacity_IN_Cdb_ID 1
|
|
|
|
//
|
|
UCHAR HbaPortWWN[8];
|
|
#define ScsiReadCapacity_IN_HbaPortWWN_SIZE sizeof(UCHAR[8])
|
|
#define ScsiReadCapacity_IN_HbaPortWWN_ID 2
|
|
|
|
//
|
|
UCHAR DiscoveredPortWWN[8];
|
|
#define ScsiReadCapacity_IN_DiscoveredPortWWN_SIZE sizeof(UCHAR[8])
|
|
#define ScsiReadCapacity_IN_DiscoveredPortWWN_ID 3
|
|
|
|
//
|
|
ULONGLONG FcLun;
|
|
#define ScsiReadCapacity_IN_FcLun_SIZE sizeof(ULONGLONG)
|
|
#define ScsiReadCapacity_IN_FcLun_ID 4
|
|
|
|
} ScsiReadCapacity_IN, *PScsiReadCapacity_IN;
|
|
|
|
#define ScsiReadCapacity_IN_SIZE (FIELD_OFFSET(ScsiReadCapacity_IN, FcLun) + ScsiReadCapacity_IN_FcLun_SIZE)
|
|
|
|
typedef struct _ScsiReadCapacity_OUT
|
|
{
|
|
//
|
|
ULONG HBAStatus;
|
|
#define ScsiReadCapacity_OUT_HBAStatus_SIZE sizeof(ULONG)
|
|
#define ScsiReadCapacity_OUT_HBAStatus_ID 5
|
|
|
|
//
|
|
ULONG ResponseBufferSize;
|
|
#define ScsiReadCapacity_OUT_ResponseBufferSize_SIZE sizeof(ULONG)
|
|
#define ScsiReadCapacity_OUT_ResponseBufferSize_ID 6
|
|
|
|
//
|
|
ULONG SenseBufferSize;
|
|
#define ScsiReadCapacity_OUT_SenseBufferSize_SIZE sizeof(ULONG)
|
|
#define ScsiReadCapacity_OUT_SenseBufferSize_ID 7
|
|
|
|
//
|
|
UCHAR ScsiStatus;
|
|
#define ScsiReadCapacity_OUT_ScsiStatus_SIZE sizeof(UCHAR)
|
|
#define ScsiReadCapacity_OUT_ScsiStatus_ID 8
|
|
|
|
|
|
#define ScsiReadCapacity_OUT_ResponseBuffer_SIZE_HINT 16
|
|
|
|
//
|
|
UCHAR ResponseBuffer[1];
|
|
#define ScsiReadCapacity_OUT_ResponseBuffer_ID 9
|
|
|
|
//
|
|
// UCHAR SenseBuffer[1];
|
|
#define ScsiReadCapacity_OUT_SenseBuffer_ID 10
|
|
|
|
} ScsiReadCapacity_OUT, *PScsiReadCapacity_OUT;
|
|
|
|
#define ScsiReportLuns 17
|
|
typedef struct _ScsiReportLuns_IN
|
|
{
|
|
//
|
|
UCHAR Cdb[12];
|
|
#define ScsiReportLuns_IN_Cdb_SIZE sizeof(UCHAR[12])
|
|
#define ScsiReportLuns_IN_Cdb_ID 1
|
|
|
|
//
|
|
UCHAR HbaPortWWN[8];
|
|
#define ScsiReportLuns_IN_HbaPortWWN_SIZE sizeof(UCHAR[8])
|
|
#define ScsiReportLuns_IN_HbaPortWWN_ID 2
|
|
|
|
//
|
|
UCHAR DiscoveredPortWWN[8];
|
|
#define ScsiReportLuns_IN_DiscoveredPortWWN_SIZE sizeof(UCHAR[8])
|
|
#define ScsiReportLuns_IN_DiscoveredPortWWN_ID 3
|
|
|
|
} ScsiReportLuns_IN, *PScsiReportLuns_IN;
|
|
|
|
#define ScsiReportLuns_IN_SIZE (FIELD_OFFSET(ScsiReportLuns_IN, DiscoveredPortWWN) + ScsiReportLuns_IN_DiscoveredPortWWN_SIZE)
|
|
|
|
typedef struct _ScsiReportLuns_OUT
|
|
{
|
|
//
|
|
ULONG HBAStatus;
|
|
#define ScsiReportLuns_OUT_HBAStatus_SIZE sizeof(ULONG)
|
|
#define ScsiReportLuns_OUT_HBAStatus_ID 4
|
|
|
|
//
|
|
ULONG ResponseBufferSize;
|
|
#define ScsiReportLuns_OUT_ResponseBufferSize_SIZE sizeof(ULONG)
|
|
#define ScsiReportLuns_OUT_ResponseBufferSize_ID 5
|
|
|
|
//
|
|
ULONG SenseBufferSize;
|
|
#define ScsiReportLuns_OUT_SenseBufferSize_SIZE sizeof(ULONG)
|
|
#define ScsiReportLuns_OUT_SenseBufferSize_ID 6
|
|
|
|
//
|
|
UCHAR ScsiStatus;
|
|
#define ScsiReportLuns_OUT_ScsiStatus_SIZE sizeof(UCHAR)
|
|
#define ScsiReportLuns_OUT_ScsiStatus_ID 7
|
|
|
|
|
|
#define ScsiReportLuns_OUT_ResponseBuffer_SIZE_HINT 16 // 8+8*number_of_luns
|
|
|
|
//
|
|
UCHAR ResponseBuffer[1];
|
|
#define ScsiReportLuns_OUT_ResponseBuffer_ID 8
|
|
|
|
//
|
|
// UCHAR SenseBuffer[1];
|
|
#define ScsiReportLuns_OUT_SenseBuffer_ID 9
|
|
|
|
} ScsiReportLuns_OUT, *PScsiReportLuns_OUT;
|
|
|
|
#define GetEventBuffer 18
|
|
typedef struct _GetEventBuffer_OUT
|
|
{
|
|
//
|
|
ULONG HBAStatus;
|
|
#define GetEventBuffer_OUT_HBAStatus_SIZE sizeof(ULONG)
|
|
#define GetEventBuffer_OUT_HBAStatus_ID 1
|
|
|
|
//
|
|
ULONG EventCount;
|
|
#define GetEventBuffer_OUT_EventCount_SIZE sizeof(ULONG)
|
|
#define GetEventBuffer_OUT_EventCount_ID 2
|
|
|
|
//
|
|
MSFC_EventBuffer Events[1];
|
|
#define GetEventBuffer_OUT_Events_ID 3
|
|
|
|
} GetEventBuffer_OUT, *PGetEventBuffer_OUT;
|
|
|
|
#define SendRLS 19
|
|
typedef struct _SendRLS_IN
|
|
{
|
|
//
|
|
UCHAR PortWWN[8];
|
|
#define SendRLS_IN_PortWWN_SIZE sizeof(UCHAR[8])
|
|
#define SendRLS_IN_PortWWN_ID 1
|
|
|
|
//
|
|
UCHAR DestWWN[8];
|
|
#define SendRLS_IN_DestWWN_SIZE sizeof(UCHAR[8])
|
|
#define SendRLS_IN_DestWWN_ID 2
|
|
|
|
} SendRLS_IN, *PSendRLS_IN;
|
|
|
|
#define SendRLS_IN_SIZE (FIELD_OFFSET(SendRLS_IN, DestWWN) + SendRLS_IN_DestWWN_SIZE)
|
|
|
|
typedef struct _SendRLS_OUT
|
|
{
|
|
//
|
|
ULONG HBAStatus;
|
|
#define SendRLS_OUT_HBAStatus_SIZE sizeof(ULONG)
|
|
#define SendRLS_OUT_HBAStatus_ID 3
|
|
|
|
//
|
|
ULONG TotalRspBufferSize;
|
|
#define SendRLS_OUT_TotalRspBufferSize_SIZE sizeof(ULONG)
|
|
#define SendRLS_OUT_TotalRspBufferSize_ID 4
|
|
|
|
//
|
|
ULONG ActualRspBufferSize;
|
|
#define SendRLS_OUT_ActualRspBufferSize_SIZE sizeof(ULONG)
|
|
#define SendRLS_OUT_ActualRspBufferSize_ID 5
|
|
|
|
|
|
#define SendRLS_OUT_RspBuffer_SIZE_HINT 28
|
|
|
|
//
|
|
UCHAR RspBuffer[1];
|
|
#define SendRLS_OUT_RspBuffer_ID 6
|
|
|
|
} SendRLS_OUT, *PSendRLS_OUT;
|
|
|
|
|
|
// HBAFCPID - HBAFCPID
|
|
#define HBAFCPIDGuid \
|
|
{ 0xff02bc96,0x7fb0,0x4bac, { 0x8f,0x97,0xc7,0x1e,0x49,0x5f,0xa6,0x98 } }
|
|
|
|
#if ! (defined(MIDL_PASS))
|
|
DEFINE_GUID(HBAFCPID_GUID, \
|
|
0xff02bc96,0x7fb0,0x4bac,0x8f,0x97,0xc7,0x1e,0x49,0x5f,0xa6,0x98);
|
|
#endif
|
|
|
|
|
|
typedef struct _HBAFCPID
|
|
{
|
|
//
|
|
ULONG Fcid;
|
|
#define HBAFCPID_Fcid_SIZE sizeof(ULONG)
|
|
#define HBAFCPID_Fcid_ID 1
|
|
|
|
//
|
|
UCHAR NodeWWN[8];
|
|
#define HBAFCPID_NodeWWN_SIZE sizeof(UCHAR[8])
|
|
#define HBAFCPID_NodeWWN_ID 2
|
|
|
|
//
|
|
UCHAR PortWWN[8];
|
|
#define HBAFCPID_PortWWN_SIZE sizeof(UCHAR[8])
|
|
#define HBAFCPID_PortWWN_ID 3
|
|
|
|
//
|
|
ULONGLONG FcpLun;
|
|
#define HBAFCPID_FcpLun_SIZE sizeof(ULONGLONG)
|
|
#define HBAFCPID_FcpLun_ID 4
|
|
|
|
} HBAFCPID, *PHBAFCPID;
|
|
|
|
#define HBAFCPID_SIZE (FIELD_OFFSET(HBAFCPID, FcpLun) + HBAFCPID_FcpLun_SIZE)
|
|
|
|
// HBAFCPScsiEntry - HBAFCPScsiEntry
|
|
#define HBAFCPScsiEntryGuid \
|
|
{ 0x77ca1248,0x1505,0x4221, { 0x8e,0xb6,0xbb,0xb6,0xec,0x77,0x1a,0x87 } }
|
|
|
|
#if ! (defined(MIDL_PASS))
|
|
DEFINE_GUID(HBAFCPScsiEntry_GUID, \
|
|
0x77ca1248,0x1505,0x4221,0x8e,0xb6,0xbb,0xb6,0xec,0x77,0x1a,0x87);
|
|
#endif
|
|
|
|
|
|
typedef struct _HBAFCPScsiEntry
|
|
{
|
|
//
|
|
HBAFCPID FCPId;
|
|
#define HBAFCPScsiEntry_FCPId_SIZE sizeof(HBAFCPID)
|
|
#define HBAFCPScsiEntry_FCPId_ID 1
|
|
|
|
//
|
|
UCHAR Luid[256];
|
|
#define HBAFCPScsiEntry_Luid_SIZE sizeof(UCHAR[256])
|
|
#define HBAFCPScsiEntry_Luid_ID 2
|
|
|
|
//
|
|
HBAScsiID ScsiId;
|
|
#define HBAFCPScsiEntry_ScsiId_SIZE sizeof(HBAScsiID)
|
|
#define HBAFCPScsiEntry_ScsiId_ID 3
|
|
|
|
} HBAFCPScsiEntry, *PHBAFCPScsiEntry;
|
|
|
|
#define HBAFCPScsiEntry_SIZE (FIELD_OFFSET(HBAFCPScsiEntry, ScsiId) + HBAFCPScsiEntry_ScsiId_SIZE)
|
|
|
|
// HBAFCPBindingEntry - HBAFCPBindingEntry
|
|
#define HBAFCPBindingEntryGuid \
|
|
{ 0xfceff8b7,0x9d6b,0x4115, { 0x84,0x22,0x05,0x99,0x24,0x51,0xa6,0x29 } }
|
|
|
|
#if ! (defined(MIDL_PASS))
|
|
DEFINE_GUID(HBAFCPBindingEntry_GUID, \
|
|
0xfceff8b7,0x9d6b,0x4115,0x84,0x22,0x05,0x99,0x24,0x51,0xa6,0x29);
|
|
#endif
|
|
|
|
|
|
typedef struct _HBAFCPBindingEntry
|
|
{
|
|
//
|
|
ULONG Type;
|
|
#define HBAFCPBindingEntry_Type_SIZE sizeof(ULONG)
|
|
#define HBAFCPBindingEntry_Type_ID 1
|
|
|
|
//
|
|
HBAFCPID FCPId;
|
|
#define HBAFCPBindingEntry_FCPId_SIZE sizeof(HBAFCPID)
|
|
#define HBAFCPBindingEntry_FCPId_ID 2
|
|
|
|
//
|
|
HBAScsiID ScsiId;
|
|
#define HBAFCPBindingEntry_ScsiId_SIZE sizeof(HBAScsiID)
|
|
#define HBAFCPBindingEntry_ScsiId_ID 3
|
|
|
|
} HBAFCPBindingEntry, *PHBAFCPBindingEntry;
|
|
|
|
#define HBAFCPBindingEntry_SIZE (FIELD_OFFSET(HBAFCPBindingEntry, ScsiId) + HBAFCPBindingEntry_ScsiId_SIZE)
|
|
|
|
// HBAFCPBindingEntry2 - HBAFCPBindingEntry2
|
|
#define HBAFCPBindingEntry2Guid \
|
|
{ 0x3a1e7679,0x4b1f,0x4f31, { 0xa8,0xae,0xfe,0x92,0x78,0x73,0x09,0x24 } }
|
|
|
|
#if ! (defined(MIDL_PASS))
|
|
DEFINE_GUID(HBAFCPBindingEntry2_GUID, \
|
|
0x3a1e7679,0x4b1f,0x4f31,0xa8,0xae,0xfe,0x92,0x78,0x73,0x09,0x24);
|
|
#endif
|
|
|
|
|
|
typedef struct _HBAFCPBindingEntry2
|
|
{
|
|
//
|
|
ULONG Type;
|
|
#define HBAFCPBindingEntry2_Type_SIZE sizeof(ULONG)
|
|
#define HBAFCPBindingEntry2_Type_ID 1
|
|
|
|
//
|
|
HBAFCPID FCPId;
|
|
#define HBAFCPBindingEntry2_FCPId_SIZE sizeof(HBAFCPID)
|
|
#define HBAFCPBindingEntry2_FCPId_ID 2
|
|
|
|
//
|
|
UCHAR Luid[256];
|
|
#define HBAFCPBindingEntry2_Luid_SIZE sizeof(UCHAR[256])
|
|
#define HBAFCPBindingEntry2_Luid_ID 3
|
|
|
|
//
|
|
HBAScsiID ScsiId;
|
|
#define HBAFCPBindingEntry2_ScsiId_SIZE sizeof(HBAScsiID)
|
|
#define HBAFCPBindingEntry2_ScsiId_ID 4
|
|
|
|
} HBAFCPBindingEntry2, *PHBAFCPBindingEntry2;
|
|
|
|
#define HBAFCPBindingEntry2_SIZE (FIELD_OFFSET(HBAFCPBindingEntry2, ScsiId) + HBAFCPBindingEntry2_ScsiId_SIZE)
|
|
|
|
// MSFC_HBAFCPInfo - MSFC_HBAFCPInfo
|
|
#define MSFC_HBAFCPInfoGuid \
|
|
{ 0x7a1fc391,0x5b23,0x4c19, { 0xb0,0xeb,0xb1,0xae,0xf5,0x90,0x50,0xc3 } }
|
|
|
|
#if ! (defined(MIDL_PASS))
|
|
DEFINE_GUID(MSFC_HBAFCPInfo_GUID, \
|
|
0x7a1fc391,0x5b23,0x4c19,0xb0,0xeb,0xb1,0xae,0xf5,0x90,0x50,0xc3);
|
|
#endif
|
|
|
|
//
|
|
// Method id definitions for MSFC_HBAFCPInfo
|
|
#define GetFcpTargetMapping 1
|
|
typedef struct _GetFcpTargetMapping_IN
|
|
{
|
|
//
|
|
UCHAR HbaPortWWN[8];
|
|
#define GetFcpTargetMapping_IN_HbaPortWWN_SIZE sizeof(UCHAR[8])
|
|
#define GetFcpTargetMapping_IN_HbaPortWWN_ID 1
|
|
|
|
//
|
|
ULONG InEntryCount;
|
|
#define GetFcpTargetMapping_IN_InEntryCount_SIZE sizeof(ULONG)
|
|
#define GetFcpTargetMapping_IN_InEntryCount_ID 2
|
|
|
|
} GetFcpTargetMapping_IN, *PGetFcpTargetMapping_IN;
|
|
|
|
#define GetFcpTargetMapping_IN_SIZE (FIELD_OFFSET(GetFcpTargetMapping_IN, InEntryCount) + GetFcpTargetMapping_IN_InEntryCount_SIZE)
|
|
|
|
typedef struct _GetFcpTargetMapping_OUT
|
|
{
|
|
//
|
|
ULONG HBAStatus;
|
|
#define GetFcpTargetMapping_OUT_HBAStatus_SIZE sizeof(ULONG)
|
|
#define GetFcpTargetMapping_OUT_HBAStatus_ID 3
|
|
|
|
//
|
|
ULONG TotalEntryCount;
|
|
#define GetFcpTargetMapping_OUT_TotalEntryCount_SIZE sizeof(ULONG)
|
|
#define GetFcpTargetMapping_OUT_TotalEntryCount_ID 4
|
|
|
|
//
|
|
ULONG OutEntryCount;
|
|
#define GetFcpTargetMapping_OUT_OutEntryCount_SIZE sizeof(ULONG)
|
|
#define GetFcpTargetMapping_OUT_OutEntryCount_ID 5
|
|
|
|
//
|
|
HBAFCPScsiEntry Entry[1];
|
|
#define GetFcpTargetMapping_OUT_Entry_ID 6
|
|
|
|
} GetFcpTargetMapping_OUT, *PGetFcpTargetMapping_OUT;
|
|
|
|
#define GetFcpPersistentBinding 2
|
|
typedef struct _GetFcpPersistentBinding_IN
|
|
{
|
|
//
|
|
ULONG InEntryCount;
|
|
#define GetFcpPersistentBinding_IN_InEntryCount_SIZE sizeof(ULONG)
|
|
#define GetFcpPersistentBinding_IN_InEntryCount_ID 1
|
|
|
|
} GetFcpPersistentBinding_IN, *PGetFcpPersistentBinding_IN;
|
|
|
|
#define GetFcpPersistentBinding_IN_SIZE (FIELD_OFFSET(GetFcpPersistentBinding_IN, InEntryCount) + GetFcpPersistentBinding_IN_InEntryCount_SIZE)
|
|
|
|
typedef struct _GetFcpPersistentBinding_OUT
|
|
{
|
|
//
|
|
ULONG HBAStatus;
|
|
#define GetFcpPersistentBinding_OUT_HBAStatus_SIZE sizeof(ULONG)
|
|
#define GetFcpPersistentBinding_OUT_HBAStatus_ID 2
|
|
|
|
//
|
|
ULONG TotalEntryCount;
|
|
#define GetFcpPersistentBinding_OUT_TotalEntryCount_SIZE sizeof(ULONG)
|
|
#define GetFcpPersistentBinding_OUT_TotalEntryCount_ID 3
|
|
|
|
//
|
|
ULONG OutEntryCount;
|
|
#define GetFcpPersistentBinding_OUT_OutEntryCount_SIZE sizeof(ULONG)
|
|
#define GetFcpPersistentBinding_OUT_OutEntryCount_ID 4
|
|
|
|
//
|
|
HBAFCPBindingEntry Entry[1];
|
|
#define GetFcpPersistentBinding_OUT_Entry_ID 5
|
|
|
|
} GetFcpPersistentBinding_OUT, *PGetFcpPersistentBinding_OUT;
|
|
|
|
#define GetBindingCapability 3
|
|
typedef struct _GetBindingCapability_IN
|
|
{
|
|
//
|
|
UCHAR PortWWN[8];
|
|
#define GetBindingCapability_IN_PortWWN_SIZE sizeof(UCHAR[8])
|
|
#define GetBindingCapability_IN_PortWWN_ID 1
|
|
|
|
} GetBindingCapability_IN, *PGetBindingCapability_IN;
|
|
|
|
#define GetBindingCapability_IN_SIZE (FIELD_OFFSET(GetBindingCapability_IN, PortWWN) + GetBindingCapability_IN_PortWWN_SIZE)
|
|
|
|
typedef struct _GetBindingCapability_OUT
|
|
{
|
|
//
|
|
ULONG HBAStatus;
|
|
#define GetBindingCapability_OUT_HBAStatus_SIZE sizeof(ULONG)
|
|
#define GetBindingCapability_OUT_HBAStatus_ID 2
|
|
|
|
//
|
|
ULONG BindType;
|
|
#define GetBindingCapability_OUT_BindType_SIZE sizeof(ULONG)
|
|
#define GetBindingCapability_OUT_BindType_ID 3
|
|
|
|
} GetBindingCapability_OUT, *PGetBindingCapability_OUT;
|
|
|
|
#define GetBindingCapability_OUT_SIZE (FIELD_OFFSET(GetBindingCapability_OUT, BindType) + GetBindingCapability_OUT_BindType_SIZE)
|
|
|
|
#define GetBindingSupport 4
|
|
typedef struct _GetBindingSupport_IN
|
|
{
|
|
//
|
|
UCHAR PortWWN[8];
|
|
#define GetBindingSupport_IN_PortWWN_SIZE sizeof(UCHAR[8])
|
|
#define GetBindingSupport_IN_PortWWN_ID 1
|
|
|
|
} GetBindingSupport_IN, *PGetBindingSupport_IN;
|
|
|
|
#define GetBindingSupport_IN_SIZE (FIELD_OFFSET(GetBindingSupport_IN, PortWWN) + GetBindingSupport_IN_PortWWN_SIZE)
|
|
|
|
typedef struct _GetBindingSupport_OUT
|
|
{
|
|
//
|
|
ULONG HBAStatus;
|
|
#define GetBindingSupport_OUT_HBAStatus_SIZE sizeof(ULONG)
|
|
#define GetBindingSupport_OUT_HBAStatus_ID 2
|
|
|
|
//
|
|
ULONG BindType;
|
|
#define GetBindingSupport_OUT_BindType_SIZE sizeof(ULONG)
|
|
#define GetBindingSupport_OUT_BindType_ID 3
|
|
|
|
} GetBindingSupport_OUT, *PGetBindingSupport_OUT;
|
|
|
|
#define GetBindingSupport_OUT_SIZE (FIELD_OFFSET(GetBindingSupport_OUT, BindType) + GetBindingSupport_OUT_BindType_SIZE)
|
|
|
|
#define SetBindingSupport 5
|
|
typedef struct _SetBindingSupport_IN
|
|
{
|
|
//
|
|
UCHAR PortWWN[8];
|
|
#define SetBindingSupport_IN_PortWWN_SIZE sizeof(UCHAR[8])
|
|
#define SetBindingSupport_IN_PortWWN_ID 1
|
|
|
|
//
|
|
ULONG BindType;
|
|
#define SetBindingSupport_IN_BindType_SIZE sizeof(ULONG)
|
|
#define SetBindingSupport_IN_BindType_ID 2
|
|
|
|
} SetBindingSupport_IN, *PSetBindingSupport_IN;
|
|
|
|
#define SetBindingSupport_IN_SIZE (FIELD_OFFSET(SetBindingSupport_IN, BindType) + SetBindingSupport_IN_BindType_SIZE)
|
|
|
|
typedef struct _SetBindingSupport_OUT
|
|
{
|
|
//
|
|
ULONG HBAStatus;
|
|
#define SetBindingSupport_OUT_HBAStatus_SIZE sizeof(ULONG)
|
|
#define SetBindingSupport_OUT_HBAStatus_ID 3
|
|
|
|
} SetBindingSupport_OUT, *PSetBindingSupport_OUT;
|
|
|
|
#define SetBindingSupport_OUT_SIZE (FIELD_OFFSET(SetBindingSupport_OUT, HBAStatus) + SetBindingSupport_OUT_HBAStatus_SIZE)
|
|
|
|
#define GetPersistentBinding2 6
|
|
typedef struct _GetPersistentBinding2_IN
|
|
{
|
|
//
|
|
UCHAR PortWWN[8];
|
|
#define GetPersistentBinding2_IN_PortWWN_SIZE sizeof(UCHAR[8])
|
|
#define GetPersistentBinding2_IN_PortWWN_ID 1
|
|
|
|
//
|
|
ULONG InEntryCount;
|
|
#define GetPersistentBinding2_IN_InEntryCount_SIZE sizeof(ULONG)
|
|
#define GetPersistentBinding2_IN_InEntryCount_ID 2
|
|
|
|
} GetPersistentBinding2_IN, *PGetPersistentBinding2_IN;
|
|
|
|
#define GetPersistentBinding2_IN_SIZE (FIELD_OFFSET(GetPersistentBinding2_IN, InEntryCount) + GetPersistentBinding2_IN_InEntryCount_SIZE)
|
|
|
|
typedef struct _GetPersistentBinding2_OUT
|
|
{
|
|
//
|
|
ULONG HBAStatus;
|
|
#define GetPersistentBinding2_OUT_HBAStatus_SIZE sizeof(ULONG)
|
|
#define GetPersistentBinding2_OUT_HBAStatus_ID 3
|
|
|
|
//
|
|
ULONG TotalEntryCount;
|
|
#define GetPersistentBinding2_OUT_TotalEntryCount_SIZE sizeof(ULONG)
|
|
#define GetPersistentBinding2_OUT_TotalEntryCount_ID 4
|
|
|
|
//
|
|
ULONG OutEntryCount;
|
|
#define GetPersistentBinding2_OUT_OutEntryCount_SIZE sizeof(ULONG)
|
|
#define GetPersistentBinding2_OUT_OutEntryCount_ID 5
|
|
|
|
//
|
|
HBAFCPBindingEntry2 Bindings[1];
|
|
#define GetPersistentBinding2_OUT_Bindings_ID 6
|
|
|
|
} GetPersistentBinding2_OUT, *PGetPersistentBinding2_OUT;
|
|
|
|
|
|
|
|
//*********************************************************************
|
|
//
|
|
// A call to HBA_SetPersistentBindingV2 will call SetPersistentEntry
|
|
// once for each binding entry.
|
|
// Each binding entry that SetPersistentEntry accepts will be stored
|
|
// in the registry.
|
|
//
|
|
// Persistent bindings are stored in the registry under:
|
|
//
|
|
// System\CurrentControlSet\Control\Storage\FC\<PortWWN>
|
|
//
|
|
// under the REG_BINARY key Bindings is the struct:
|
|
//
|
|
// typedef struct {
|
|
// ULONG Version;
|
|
// HBA_FCPBINDING2 Bindings;
|
|
// } HBAP_PERSISTENT_BINDINGS, *PHBAP_PERSISTENT_BINDINGS;
|
|
//
|
|
// This is done so that storport capable drivers may have access to
|
|
// this information during boot
|
|
//
|
|
//********************************************************************
|
|
|
|
#define HBA_REGISTRY_BINDING_VERSION (1)
|
|
#define HBA_REGISTRY_BINDING_RELATIVE_PATH L"System\\CurrentControlSet\\Control\\Storage\\FC"
|
|
#define HBA_REGISTRY_BINDING_KEY L"Bindings"
|
|
|
|
|
|
#define SetPersistentEntry 7
|
|
typedef struct _SetPersistentEntry_IN
|
|
{
|
|
//
|
|
UCHAR PortWWN[8];
|
|
#define SetPersistentEntry_IN_PortWWN_SIZE sizeof(UCHAR[8])
|
|
#define SetPersistentEntry_IN_PortWWN_ID 1
|
|
|
|
//
|
|
HBAFCPBindingEntry2 Binding;
|
|
#define SetPersistentEntry_IN_Binding_SIZE sizeof(HBAFCPBindingEntry2)
|
|
#define SetPersistentEntry_IN_Binding_ID 2
|
|
|
|
} SetPersistentEntry_IN, *PSetPersistentEntry_IN;
|
|
|
|
#define SetPersistentEntry_IN_SIZE (FIELD_OFFSET(SetPersistentEntry_IN, Binding) + SetPersistentEntry_IN_Binding_SIZE)
|
|
|
|
typedef struct _SetPersistentEntry_OUT
|
|
{
|
|
//
|
|
ULONG HBAStatus;
|
|
#define SetPersistentEntry_OUT_HBAStatus_SIZE sizeof(ULONG)
|
|
#define SetPersistentEntry_OUT_HBAStatus_ID 3
|
|
|
|
} SetPersistentEntry_OUT, *PSetPersistentEntry_OUT;
|
|
|
|
#define SetPersistentEntry_OUT_SIZE (FIELD_OFFSET(SetPersistentEntry_OUT, HBAStatus) + SetPersistentEntry_OUT_HBAStatus_SIZE)
|
|
|
|
#define RemovePersistentEntry 8
|
|
typedef struct _RemovePersistentEntry_IN
|
|
{
|
|
//
|
|
UCHAR PortWWN[8];
|
|
#define RemovePersistentEntry_IN_PortWWN_SIZE sizeof(UCHAR[8])
|
|
#define RemovePersistentEntry_IN_PortWWN_ID 1
|
|
|
|
//
|
|
HBAFCPBindingEntry2 Binding;
|
|
#define RemovePersistentEntry_IN_Binding_SIZE sizeof(HBAFCPBindingEntry2)
|
|
#define RemovePersistentEntry_IN_Binding_ID 2
|
|
|
|
} RemovePersistentEntry_IN, *PRemovePersistentEntry_IN;
|
|
|
|
#define RemovePersistentEntry_IN_SIZE (FIELD_OFFSET(RemovePersistentEntry_IN, Binding) + RemovePersistentEntry_IN_Binding_SIZE)
|
|
|
|
typedef struct _RemovePersistentEntry_OUT
|
|
{
|
|
//
|
|
ULONG HBAStatus;
|
|
#define RemovePersistentEntry_OUT_HBAStatus_SIZE sizeof(ULONG)
|
|
#define RemovePersistentEntry_OUT_HBAStatus_ID 3
|
|
|
|
} RemovePersistentEntry_OUT, *PRemovePersistentEntry_OUT;
|
|
|
|
#define RemovePersistentEntry_OUT_SIZE (FIELD_OFFSET(RemovePersistentEntry_OUT, HBAStatus) + RemovePersistentEntry_OUT_HBAStatus_SIZE)
|
|
|
|
|
|
// MSFC_AdapterEvent - MSFC_AdapterEvent
|
|
#define MSFC_AdapterEventGuid \
|
|
{ 0xe9e47403,0xd1d7,0x43f8, { 0x8e,0xe3,0x53,0xcd,0xbf,0xff,0x56,0x46 } }
|
|
|
|
#if ! (defined(MIDL_PASS))
|
|
DEFINE_GUID(MSFC_AdapterEvent_GUID, \
|
|
0xe9e47403,0xd1d7,0x43f8,0x8e,0xe3,0x53,0xcd,0xbf,0xff,0x56,0x46);
|
|
#endif
|
|
|
|
|
|
typedef struct _MSFC_AdapterEvent
|
|
{
|
|
//
|
|
ULONG EventType;
|
|
#define MSFC_AdapterEvent_EventType_SIZE sizeof(ULONG)
|
|
#define MSFC_AdapterEvent_EventType_ID 1
|
|
|
|
//
|
|
UCHAR PortWWN[8];
|
|
#define MSFC_AdapterEvent_PortWWN_SIZE sizeof(UCHAR[8])
|
|
#define MSFC_AdapterEvent_PortWWN_ID 2
|
|
|
|
} MSFC_AdapterEvent, *PMSFC_AdapterEvent;
|
|
|
|
#define MSFC_AdapterEvent_SIZE (FIELD_OFFSET(MSFC_AdapterEvent, PortWWN) + MSFC_AdapterEvent_PortWWN_SIZE)
|
|
|
|
// MSFC_PortEvent - MSFC_PortEvent
|
|
#define MSFC_PortEventGuid \
|
|
{ 0x095fbe97,0x3876,0x48ef, { 0x8a,0x04,0x1c,0x55,0x93,0x5d,0x0d,0xf5 } }
|
|
|
|
#if ! (defined(MIDL_PASS))
|
|
DEFINE_GUID(MSFC_PortEvent_GUID, \
|
|
0x095fbe97,0x3876,0x48ef,0x8a,0x04,0x1c,0x55,0x93,0x5d,0x0d,0xf5);
|
|
#endif
|
|
|
|
|
|
typedef struct _MSFC_PortEvent
|
|
{
|
|
//
|
|
ULONG EventType;
|
|
#define MSFC_PortEvent_EventType_SIZE sizeof(ULONG)
|
|
#define MSFC_PortEvent_EventType_ID 1
|
|
|
|
//
|
|
ULONG FabricPortId;
|
|
#define MSFC_PortEvent_FabricPortId_SIZE sizeof(ULONG)
|
|
#define MSFC_PortEvent_FabricPortId_ID 2
|
|
|
|
//
|
|
UCHAR PortWWN[8];
|
|
#define MSFC_PortEvent_PortWWN_SIZE sizeof(UCHAR[8])
|
|
#define MSFC_PortEvent_PortWWN_ID 3
|
|
|
|
} MSFC_PortEvent, *PMSFC_PortEvent;
|
|
|
|
#define MSFC_PortEvent_SIZE (FIELD_OFFSET(MSFC_PortEvent, PortWWN) + MSFC_PortEvent_PortWWN_SIZE)
|
|
|
|
// MSFC_TargetEvent - MSFC_TargetEvent
|
|
#define MSFC_TargetEventGuid \
|
|
{ 0xcfa6ef26,0x8675,0x4e27, { 0x9a,0x0b,0xb4,0xa8,0x60,0xdd,0xd0,0xf3 } }
|
|
|
|
#if ! (defined(MIDL_PASS))
|
|
DEFINE_GUID(MSFC_TargetEvent_GUID, \
|
|
0xcfa6ef26,0x8675,0x4e27,0x9a,0x0b,0xb4,0xa8,0x60,0xdd,0xd0,0xf3);
|
|
#endif
|
|
|
|
|
|
typedef struct _MSFC_TargetEvent
|
|
{
|
|
//
|
|
ULONG EventType;
|
|
#define MSFC_TargetEvent_EventType_SIZE sizeof(ULONG)
|
|
#define MSFC_TargetEvent_EventType_ID 1
|
|
|
|
//
|
|
UCHAR PortWWN[8];
|
|
#define MSFC_TargetEvent_PortWWN_SIZE sizeof(UCHAR[8])
|
|
#define MSFC_TargetEvent_PortWWN_ID 2
|
|
|
|
//
|
|
UCHAR DiscoveredPortWWN[8];
|
|
#define MSFC_TargetEvent_DiscoveredPortWWN_SIZE sizeof(UCHAR[8])
|
|
#define MSFC_TargetEvent_DiscoveredPortWWN_ID 3
|
|
|
|
} MSFC_TargetEvent, *PMSFC_TargetEvent;
|
|
|
|
#define MSFC_TargetEvent_SIZE (FIELD_OFFSET(MSFC_TargetEvent, DiscoveredPortWWN) + MSFC_TargetEvent_DiscoveredPortWWN_SIZE)
|
|
|
|
// MSFC_EventControl - MSFC_EventControl
|
|
#define MSFC_EventControlGuid \
|
|
{ 0xa251ccb3,0x5ab0,0x411b, { 0x87,0x71,0x54,0x30,0xef,0x53,0xa2,0x6c } }
|
|
|
|
#if ! (defined(MIDL_PASS))
|
|
DEFINE_GUID(MSFC_EventControl_GUID, \
|
|
0xa251ccb3,0x5ab0,0x411b,0x87,0x71,0x54,0x30,0xef,0x53,0xa2,0x6c);
|
|
#endif
|
|
|
|
//
|
|
// Method id definitions for MSFC_EventControl
|
|
#define AddTarget 10
|
|
typedef struct _AddTarget_IN
|
|
{
|
|
//
|
|
UCHAR HbaPortWWN[8];
|
|
#define AddTarget_IN_HbaPortWWN_SIZE sizeof(UCHAR[8])
|
|
#define AddTarget_IN_HbaPortWWN_ID 1
|
|
|
|
//
|
|
UCHAR DiscoveredPortWWN[8];
|
|
#define AddTarget_IN_DiscoveredPortWWN_SIZE sizeof(UCHAR[8])
|
|
#define AddTarget_IN_DiscoveredPortWWN_ID 2
|
|
|
|
//
|
|
ULONG AllTargets;
|
|
#define AddTarget_IN_AllTargets_SIZE sizeof(ULONG)
|
|
#define AddTarget_IN_AllTargets_ID 3
|
|
|
|
} AddTarget_IN, *PAddTarget_IN;
|
|
|
|
#define AddTarget_IN_SIZE (FIELD_OFFSET(AddTarget_IN, AllTargets) + AddTarget_IN_AllTargets_SIZE)
|
|
|
|
typedef struct _AddTarget_OUT
|
|
{
|
|
//
|
|
ULONG HBAStatus;
|
|
#define AddTarget_OUT_HBAStatus_SIZE sizeof(ULONG)
|
|
#define AddTarget_OUT_HBAStatus_ID 4
|
|
|
|
} AddTarget_OUT, *PAddTarget_OUT;
|
|
|
|
#define AddTarget_OUT_SIZE (FIELD_OFFSET(AddTarget_OUT, HBAStatus) + AddTarget_OUT_HBAStatus_SIZE)
|
|
|
|
#define RemoveTarget 11
|
|
typedef struct _RemoveTarget_IN
|
|
{
|
|
//
|
|
UCHAR HbaPortWWN[8];
|
|
#define RemoveTarget_IN_HbaPortWWN_SIZE sizeof(UCHAR[8])
|
|
#define RemoveTarget_IN_HbaPortWWN_ID 1
|
|
|
|
//
|
|
UCHAR DiscoveredPortWWN[8];
|
|
#define RemoveTarget_IN_DiscoveredPortWWN_SIZE sizeof(UCHAR[8])
|
|
#define RemoveTarget_IN_DiscoveredPortWWN_ID 2
|
|
|
|
//
|
|
ULONG AllTargets;
|
|
#define RemoveTarget_IN_AllTargets_SIZE sizeof(ULONG)
|
|
#define RemoveTarget_IN_AllTargets_ID 3
|
|
|
|
} RemoveTarget_IN, *PRemoveTarget_IN;
|
|
|
|
#define RemoveTarget_IN_SIZE (FIELD_OFFSET(RemoveTarget_IN, AllTargets) + RemoveTarget_IN_AllTargets_SIZE)
|
|
|
|
typedef struct _RemoveTarget_OUT
|
|
{
|
|
//
|
|
ULONG HBAStatus;
|
|
#define RemoveTarget_OUT_HBAStatus_SIZE sizeof(ULONG)
|
|
#define RemoveTarget_OUT_HBAStatus_ID 4
|
|
|
|
} RemoveTarget_OUT, *PRemoveTarget_OUT;
|
|
|
|
#define RemoveTarget_OUT_SIZE (FIELD_OFFSET(RemoveTarget_OUT, HBAStatus) + RemoveTarget_OUT_HBAStatus_SIZE)
|
|
|
|
#define AddPort 20
|
|
typedef struct _AddPort_IN
|
|
{
|
|
//
|
|
UCHAR PortWWN[8];
|
|
#define AddPort_IN_PortWWN_SIZE sizeof(UCHAR[8])
|
|
#define AddPort_IN_PortWWN_ID 1
|
|
|
|
} AddPort_IN, *PAddPort_IN;
|
|
|
|
#define AddPort_IN_SIZE (FIELD_OFFSET(AddPort_IN, PortWWN) + AddPort_IN_PortWWN_SIZE)
|
|
|
|
typedef struct _AddPort_OUT
|
|
{
|
|
//
|
|
ULONG HBAStatus;
|
|
#define AddPort_OUT_HBAStatus_SIZE sizeof(ULONG)
|
|
#define AddPort_OUT_HBAStatus_ID 2
|
|
|
|
} AddPort_OUT, *PAddPort_OUT;
|
|
|
|
#define AddPort_OUT_SIZE (FIELD_OFFSET(AddPort_OUT, HBAStatus) + AddPort_OUT_HBAStatus_SIZE)
|
|
|
|
#define RemovePort 21
|
|
typedef struct _RemovePort_IN
|
|
{
|
|
//
|
|
UCHAR PortWWN[8];
|
|
#define RemovePort_IN_PortWWN_SIZE sizeof(UCHAR[8])
|
|
#define RemovePort_IN_PortWWN_ID 1
|
|
|
|
} RemovePort_IN, *PRemovePort_IN;
|
|
|
|
#define RemovePort_IN_SIZE (FIELD_OFFSET(RemovePort_IN, PortWWN) + RemovePort_IN_PortWWN_SIZE)
|
|
|
|
typedef struct _RemovePort_OUT
|
|
{
|
|
//
|
|
ULONG HBAStatus;
|
|
#define RemovePort_OUT_HBAStatus_SIZE sizeof(ULONG)
|
|
#define RemovePort_OUT_HBAStatus_ID 2
|
|
|
|
} RemovePort_OUT, *PRemovePort_OUT;
|
|
|
|
#define RemovePort_OUT_SIZE (FIELD_OFFSET(RemovePort_OUT, HBAStatus) + RemovePort_OUT_HBAStatus_SIZE)
|
|
|
|
#define AddLink 30
|
|
typedef struct _AddLink_OUT
|
|
{
|
|
//
|
|
ULONG HBAStatus;
|
|
#define AddLink_OUT_HBAStatus_SIZE sizeof(ULONG)
|
|
#define AddLink_OUT_HBAStatus_ID 1
|
|
|
|
} AddLink_OUT, *PAddLink_OUT;
|
|
|
|
#define AddLink_OUT_SIZE (FIELD_OFFSET(AddLink_OUT, HBAStatus) + AddLink_OUT_HBAStatus_SIZE)
|
|
|
|
#define RemoveLink 31
|
|
typedef struct _RemoveLink_OUT
|
|
{
|
|
//
|
|
ULONG HBAStatus;
|
|
#define RemoveLink_OUT_HBAStatus_SIZE sizeof(ULONG)
|
|
#define RemoveLink_OUT_HBAStatus_ID 1
|
|
|
|
} RemoveLink_OUT, *PRemoveLink_OUT;
|
|
|
|
#define RemoveLink_OUT_SIZE (FIELD_OFFSET(RemoveLink_OUT, HBAStatus) + RemoveLink_OUT_HBAStatus_SIZE)
|
|
|
|
|
|
// MS_SM_AdapterInformationQuery - MS_SM_AdapterInformationQuery
|
|
|
|
|
|
#endif // MSFC_HBA_API
|
|
|
|
#ifdef MS_SM_HBA_API
|
|
|
|
#define MS_SM_AdapterInformationQueryGuid \
|
|
{ 0xbdc67efa,0xe5e7,0x4777, { 0xb1,0x3c,0x62,0x14,0x59,0x65,0x70,0x99 } }
|
|
|
|
#if ! (defined(MIDL_PASS))
|
|
DEFINE_GUID(MS_SM_AdapterInformationQuery_GUID, \
|
|
0xbdc67efa,0xe5e7,0x4777,0xb1,0x3c,0x62,0x14,0x59,0x65,0x70,0x99);
|
|
#endif
|
|
|
|
|
|
typedef struct _MS_SM_AdapterInformationQuery
|
|
{
|
|
//
|
|
ULONGLONG UniqueAdapterId;
|
|
#define MS_SM_AdapterInformationQuery_UniqueAdapterId_SIZE sizeof(ULONGLONG)
|
|
#define MS_SM_AdapterInformationQuery_UniqueAdapterId_ID 1
|
|
|
|
//
|
|
ULONG HBAStatus;
|
|
#define MS_SM_AdapterInformationQuery_HBAStatus_SIZE sizeof(ULONG)
|
|
#define MS_SM_AdapterInformationQuery_HBAStatus_ID 2
|
|
|
|
//
|
|
ULONG NumberOfPorts;
|
|
#define MS_SM_AdapterInformationQuery_NumberOfPorts_SIZE sizeof(ULONG)
|
|
#define MS_SM_AdapterInformationQuery_NumberOfPorts_ID 3
|
|
|
|
//
|
|
ULONG VendorSpecificID;
|
|
#define MS_SM_AdapterInformationQuery_VendorSpecificID_SIZE sizeof(ULONG)
|
|
#define MS_SM_AdapterInformationQuery_VendorSpecificID_ID 4
|
|
|
|
|
|
|
|
//******************************************************************
|
|
//
|
|
// The string type is variable length (up to MaxLen).
|
|
// Each string starts with a ushort that holds the strings length
|
|
// (in bytes) followed by the WCHARs that make up the string.
|
|
//
|
|
//******************************************************************
|
|
|
|
|
|
//
|
|
WCHAR Manufacturer[64 + 1];
|
|
#define MS_SM_AdapterInformationQuery_Manufacturer_ID 5
|
|
|
|
//
|
|
WCHAR SerialNumber[64 + 1];
|
|
#define MS_SM_AdapterInformationQuery_SerialNumber_ID 6
|
|
|
|
//
|
|
WCHAR Model[256 + 1];
|
|
#define MS_SM_AdapterInformationQuery_Model_ID 7
|
|
|
|
//
|
|
WCHAR ModelDescription[256 + 1];
|
|
#define MS_SM_AdapterInformationQuery_ModelDescription_ID 8
|
|
|
|
//
|
|
WCHAR HardwareVersion[256 + 1];
|
|
#define MS_SM_AdapterInformationQuery_HardwareVersion_ID 9
|
|
|
|
//
|
|
WCHAR DriverVersion[256 + 1];
|
|
#define MS_SM_AdapterInformationQuery_DriverVersion_ID 10
|
|
|
|
//
|
|
WCHAR OptionROMVersion[256 + 1];
|
|
#define MS_SM_AdapterInformationQuery_OptionROMVersion_ID 11
|
|
|
|
//
|
|
WCHAR FirmwareVersion[256 + 1];
|
|
#define MS_SM_AdapterInformationQuery_FirmwareVersion_ID 12
|
|
|
|
//
|
|
WCHAR DriverName[256 + 1];
|
|
#define MS_SM_AdapterInformationQuery_DriverName_ID 13
|
|
|
|
//
|
|
WCHAR HBASymbolicName[256 + 1];
|
|
#define MS_SM_AdapterInformationQuery_HBASymbolicName_ID 14
|
|
|
|
//
|
|
WCHAR RedundantOptionROMVersion[256 + 1];
|
|
#define MS_SM_AdapterInformationQuery_RedundantOptionROMVersion_ID 15
|
|
|
|
//
|
|
WCHAR RedundantFirmwareVersion[256 + 1];
|
|
#define MS_SM_AdapterInformationQuery_RedundantFirmwareVersion_ID 16
|
|
|
|
//
|
|
WCHAR MfgDomain[256 + 1];
|
|
#define MS_SM_AdapterInformationQuery_MfgDomain_ID 17
|
|
|
|
} MS_SM_AdapterInformationQuery, *PMS_SM_AdapterInformationQuery;
|
|
|
|
// MS_SMHBA_FC_Port - MS_SMHBA_FC_Port
|
|
#define MS_SMHBA_FC_PortGuid \
|
|
{ 0x96b827a7,0x2b4a,0x49c8, { 0x90,0x97,0x07,0x82,0x00,0xc5,0xa5,0xcd } }
|
|
|
|
#if ! (defined(MIDL_PASS))
|
|
DEFINE_GUID(MS_SMHBA_FC_Port_GUID, \
|
|
0x96b827a7,0x2b4a,0x49c8,0x90,0x97,0x07,0x82,0x00,0xc5,0xa5,0xcd);
|
|
#endif
|
|
|
|
|
|
typedef struct _MS_SMHBA_FC_Port
|
|
{
|
|
//
|
|
UCHAR NodeWWN[8];
|
|
#define MS_SMHBA_FC_Port_NodeWWN_SIZE sizeof(UCHAR[8])
|
|
#define MS_SMHBA_FC_Port_NodeWWN_ID 1
|
|
|
|
//
|
|
UCHAR PortWWN[8];
|
|
#define MS_SMHBA_FC_Port_PortWWN_SIZE sizeof(UCHAR[8])
|
|
#define MS_SMHBA_FC_Port_PortWWN_ID 2
|
|
|
|
//
|
|
ULONG FcId;
|
|
#define MS_SMHBA_FC_Port_FcId_SIZE sizeof(ULONG)
|
|
#define MS_SMHBA_FC_Port_FcId_ID 3
|
|
|
|
//
|
|
ULONG PortSupportedClassofService;
|
|
#define MS_SMHBA_FC_Port_PortSupportedClassofService_SIZE sizeof(ULONG)
|
|
#define MS_SMHBA_FC_Port_PortSupportedClassofService_ID 4
|
|
|
|
//
|
|
UCHAR PortSupportedFc4Types[32];
|
|
#define MS_SMHBA_FC_Port_PortSupportedFc4Types_SIZE sizeof(UCHAR[32])
|
|
#define MS_SMHBA_FC_Port_PortSupportedFc4Types_ID 5
|
|
|
|
//
|
|
UCHAR PortActiveFc4Types[32];
|
|
#define MS_SMHBA_FC_Port_PortActiveFc4Types_SIZE sizeof(UCHAR[32])
|
|
#define MS_SMHBA_FC_Port_PortActiveFc4Types_ID 6
|
|
|
|
//
|
|
UCHAR FabricName[8];
|
|
#define MS_SMHBA_FC_Port_FabricName_SIZE sizeof(UCHAR[8])
|
|
#define MS_SMHBA_FC_Port_FabricName_ID 7
|
|
|
|
//
|
|
ULONG NumberofDiscoveredPorts;
|
|
#define MS_SMHBA_FC_Port_NumberofDiscoveredPorts_SIZE sizeof(ULONG)
|
|
#define MS_SMHBA_FC_Port_NumberofDiscoveredPorts_ID 8
|
|
|
|
//
|
|
UCHAR NumberofPhys;
|
|
#define MS_SMHBA_FC_Port_NumberofPhys_SIZE sizeof(UCHAR)
|
|
#define MS_SMHBA_FC_Port_NumberofPhys_ID 9
|
|
|
|
//
|
|
WCHAR PortSymbolicName[256 + 1];
|
|
#define MS_SMHBA_FC_Port_PortSymbolicName_ID 10
|
|
|
|
} MS_SMHBA_FC_Port, *PMS_SMHBA_FC_Port;
|
|
|
|
// MS_SMHBA_SAS_Port - MS_SMHBA_SAS_Port
|
|
#define MS_SMHBA_SAS_PortGuid \
|
|
{ 0xb914e34f,0x7b80,0x46b0, { 0x80,0x34,0x6d,0x9b,0x68,0x9e,0x1d,0xdd } }
|
|
|
|
#if ! (defined(MIDL_PASS))
|
|
DEFINE_GUID(MS_SMHBA_SAS_Port_GUID, \
|
|
0xb914e34f,0x7b80,0x46b0,0x80,0x34,0x6d,0x9b,0x68,0x9e,0x1d,0xdd);
|
|
#endif
|
|
|
|
|
|
typedef struct _MS_SMHBA_SAS_Port
|
|
{
|
|
//
|
|
ULONG PortProtocol;
|
|
#define MS_SMHBA_SAS_Port_PortProtocol_SIZE sizeof(ULONG)
|
|
#define MS_SMHBA_SAS_Port_PortProtocol_ID 1
|
|
|
|
//
|
|
UCHAR LocalSASAddress[8];
|
|
#define MS_SMHBA_SAS_Port_LocalSASAddress_SIZE sizeof(UCHAR[8])
|
|
#define MS_SMHBA_SAS_Port_LocalSASAddress_ID 2
|
|
|
|
//
|
|
UCHAR AttachedSASAddress[8];
|
|
#define MS_SMHBA_SAS_Port_AttachedSASAddress_SIZE sizeof(UCHAR[8])
|
|
#define MS_SMHBA_SAS_Port_AttachedSASAddress_ID 3
|
|
|
|
//
|
|
ULONG NumberofDiscoveredPorts;
|
|
#define MS_SMHBA_SAS_Port_NumberofDiscoveredPorts_SIZE sizeof(ULONG)
|
|
#define MS_SMHBA_SAS_Port_NumberofDiscoveredPorts_ID 4
|
|
|
|
//
|
|
ULONG NumberofPhys;
|
|
#define MS_SMHBA_SAS_Port_NumberofPhys_SIZE sizeof(ULONG)
|
|
#define MS_SMHBA_SAS_Port_NumberofPhys_ID 5
|
|
|
|
} MS_SMHBA_SAS_Port, *PMS_SMHBA_SAS_Port;
|
|
|
|
#define MS_SMHBA_SAS_Port_SIZE (FIELD_OFFSET(MS_SMHBA_SAS_Port, NumberofPhys) + MS_SMHBA_SAS_Port_NumberofPhys_SIZE)
|
|
|
|
// MS_SMHBA_PORTATTRIBUTES - MS_SMHBA_PORTATTRIBUTES
|
|
#define MS_SMHBA_PORTATTRIBUTESGuid \
|
|
{ 0x50a97b2d,0x99ad,0x4cf9, { 0x84,0x37,0xb4,0xea,0x0c,0x07,0xbe,0x4c } }
|
|
|
|
#if ! (defined(MIDL_PASS))
|
|
DEFINE_GUID(MS_SMHBA_PORTATTRIBUTES_GUID, \
|
|
0x50a97b2d,0x99ad,0x4cf9,0x84,0x37,0xb4,0xea,0x0c,0x07,0xbe,0x4c);
|
|
#endif
|
|
|
|
|
|
typedef struct _MS_SMHBA_PORTATTRIBUTES
|
|
{
|
|
//
|
|
ULONG PortType;
|
|
#define MS_SMHBA_PORTATTRIBUTES_PortType_SIZE sizeof(ULONG)
|
|
#define MS_SMHBA_PORTATTRIBUTES_PortType_ID 1
|
|
|
|
//
|
|
ULONG PortState;
|
|
#define MS_SMHBA_PORTATTRIBUTES_PortState_SIZE sizeof(ULONG)
|
|
#define MS_SMHBA_PORTATTRIBUTES_PortState_ID 2
|
|
|
|
//
|
|
ULONG PortSpecificAttributesSize;
|
|
#define MS_SMHBA_PORTATTRIBUTES_PortSpecificAttributesSize_SIZE sizeof(ULONG)
|
|
#define MS_SMHBA_PORTATTRIBUTES_PortSpecificAttributesSize_ID 3
|
|
|
|
//
|
|
WCHAR OSDeviceName[256 + 1];
|
|
#define MS_SMHBA_PORTATTRIBUTES_OSDeviceName_ID 4
|
|
|
|
//
|
|
ULONGLONG Reserved;
|
|
#define MS_SMHBA_PORTATTRIBUTES_Reserved_SIZE sizeof(ULONGLONG)
|
|
#define MS_SMHBA_PORTATTRIBUTES_Reserved_ID 5
|
|
|
|
//
|
|
UCHAR PortSpecificAttributes[1];
|
|
#define MS_SMHBA_PORTATTRIBUTES_PortSpecificAttributes_ID 6
|
|
|
|
} MS_SMHBA_PORTATTRIBUTES, *PMS_SMHBA_PORTATTRIBUTES;
|
|
|
|
// MS_SMHBA_PROTOCOLSTATISTICS - MS_SMHBA_PROTOCOLSTATISTICS
|
|
#define MS_SMHBA_PROTOCOLSTATISTICSGuid \
|
|
{ 0xb557bd86,0x4128,0x4d5c, { 0xb6,0xe6,0xb6,0x5f,0x9b,0xd6,0x87,0x22 } }
|
|
|
|
#if ! (defined(MIDL_PASS))
|
|
DEFINE_GUID(MS_SMHBA_PROTOCOLSTATISTICS_GUID, \
|
|
0xb557bd86,0x4128,0x4d5c,0xb6,0xe6,0xb6,0x5f,0x9b,0xd6,0x87,0x22);
|
|
#endif
|
|
|
|
|
|
typedef struct _MS_SMHBA_PROTOCOLSTATISTICS
|
|
{
|
|
//
|
|
LONGLONG SecondsSinceLastReset;
|
|
#define MS_SMHBA_PROTOCOLSTATISTICS_SecondsSinceLastReset_SIZE sizeof(LONGLONG)
|
|
#define MS_SMHBA_PROTOCOLSTATISTICS_SecondsSinceLastReset_ID 1
|
|
|
|
//
|
|
LONGLONG InputRequests;
|
|
#define MS_SMHBA_PROTOCOLSTATISTICS_InputRequests_SIZE sizeof(LONGLONG)
|
|
#define MS_SMHBA_PROTOCOLSTATISTICS_InputRequests_ID 2
|
|
|
|
//
|
|
LONGLONG OutputRequests;
|
|
#define MS_SMHBA_PROTOCOLSTATISTICS_OutputRequests_SIZE sizeof(LONGLONG)
|
|
#define MS_SMHBA_PROTOCOLSTATISTICS_OutputRequests_ID 3
|
|
|
|
//
|
|
LONGLONG ControlRequests;
|
|
#define MS_SMHBA_PROTOCOLSTATISTICS_ControlRequests_SIZE sizeof(LONGLONG)
|
|
#define MS_SMHBA_PROTOCOLSTATISTICS_ControlRequests_ID 4
|
|
|
|
//
|
|
LONGLONG InputMegabytes;
|
|
#define MS_SMHBA_PROTOCOLSTATISTICS_InputMegabytes_SIZE sizeof(LONGLONG)
|
|
#define MS_SMHBA_PROTOCOLSTATISTICS_InputMegabytes_ID 5
|
|
|
|
//
|
|
LONGLONG OutputMegabytes;
|
|
#define MS_SMHBA_PROTOCOLSTATISTICS_OutputMegabytes_SIZE sizeof(LONGLONG)
|
|
#define MS_SMHBA_PROTOCOLSTATISTICS_OutputMegabytes_ID 6
|
|
|
|
} MS_SMHBA_PROTOCOLSTATISTICS, *PMS_SMHBA_PROTOCOLSTATISTICS;
|
|
|
|
#define MS_SMHBA_PROTOCOLSTATISTICS_SIZE (FIELD_OFFSET(MS_SMHBA_PROTOCOLSTATISTICS, OutputMegabytes) + MS_SMHBA_PROTOCOLSTATISTICS_OutputMegabytes_SIZE)
|
|
|
|
// MS_SMHBA_SASPHYSTATISTICS - MS_SMHBA_SASPHYSTATISTICS
|
|
#define MS_SMHBA_SASPHYSTATISTICSGuid \
|
|
{ 0xbd458e7d,0xc40a,0x4401, { 0xa1,0x79,0x11,0x91,0x9c,0xbc,0xc5,0xc6 } }
|
|
|
|
#if ! (defined(MIDL_PASS))
|
|
DEFINE_GUID(MS_SMHBA_SASPHYSTATISTICS_GUID, \
|
|
0xbd458e7d,0xc40a,0x4401,0xa1,0x79,0x11,0x91,0x9c,0xbc,0xc5,0xc6);
|
|
#endif
|
|
|
|
|
|
typedef struct _MS_SMHBA_SASPHYSTATISTICS
|
|
{
|
|
//
|
|
LONGLONG SecondsSinceLastReset;
|
|
#define MS_SMHBA_SASPHYSTATISTICS_SecondsSinceLastReset_SIZE sizeof(LONGLONG)
|
|
#define MS_SMHBA_SASPHYSTATISTICS_SecondsSinceLastReset_ID 1
|
|
|
|
//
|
|
LONGLONG TxFrames;
|
|
#define MS_SMHBA_SASPHYSTATISTICS_TxFrames_SIZE sizeof(LONGLONG)
|
|
#define MS_SMHBA_SASPHYSTATISTICS_TxFrames_ID 2
|
|
|
|
//
|
|
LONGLONG TxWords;
|
|
#define MS_SMHBA_SASPHYSTATISTICS_TxWords_SIZE sizeof(LONGLONG)
|
|
#define MS_SMHBA_SASPHYSTATISTICS_TxWords_ID 3
|
|
|
|
//
|
|
LONGLONG RxFrames;
|
|
#define MS_SMHBA_SASPHYSTATISTICS_RxFrames_SIZE sizeof(LONGLONG)
|
|
#define MS_SMHBA_SASPHYSTATISTICS_RxFrames_ID 4
|
|
|
|
//
|
|
LONGLONG RxWords;
|
|
#define MS_SMHBA_SASPHYSTATISTICS_RxWords_SIZE sizeof(LONGLONG)
|
|
#define MS_SMHBA_SASPHYSTATISTICS_RxWords_ID 5
|
|
|
|
//
|
|
LONGLONG InvalidDwordCount;
|
|
#define MS_SMHBA_SASPHYSTATISTICS_InvalidDwordCount_SIZE sizeof(LONGLONG)
|
|
#define MS_SMHBA_SASPHYSTATISTICS_InvalidDwordCount_ID 6
|
|
|
|
//
|
|
LONGLONG RunningDisparityErrorCount;
|
|
#define MS_SMHBA_SASPHYSTATISTICS_RunningDisparityErrorCount_SIZE sizeof(LONGLONG)
|
|
#define MS_SMHBA_SASPHYSTATISTICS_RunningDisparityErrorCount_ID 7
|
|
|
|
//
|
|
LONGLONG LossofDwordSyncCount;
|
|
#define MS_SMHBA_SASPHYSTATISTICS_LossofDwordSyncCount_SIZE sizeof(LONGLONG)
|
|
#define MS_SMHBA_SASPHYSTATISTICS_LossofDwordSyncCount_ID 8
|
|
|
|
//
|
|
LONGLONG PhyResetProblemCount;
|
|
#define MS_SMHBA_SASPHYSTATISTICS_PhyResetProblemCount_SIZE sizeof(LONGLONG)
|
|
#define MS_SMHBA_SASPHYSTATISTICS_PhyResetProblemCount_ID 9
|
|
|
|
} MS_SMHBA_SASPHYSTATISTICS, *PMS_SMHBA_SASPHYSTATISTICS;
|
|
|
|
#define MS_SMHBA_SASPHYSTATISTICS_SIZE (FIELD_OFFSET(MS_SMHBA_SASPHYSTATISTICS, PhyResetProblemCount) + MS_SMHBA_SASPHYSTATISTICS_PhyResetProblemCount_SIZE)
|
|
|
|
// MS_SMHBA_FC_PHY - MS_SMHBA_FC_PHY
|
|
#define MS_SMHBA_FC_PHYGuid \
|
|
{ 0xfb66c8fe,0x1da0,0x48a2, { 0x92,0xdb,0x02,0xc3,0x41,0x14,0x3c,0x46 } }
|
|
|
|
#if ! (defined(MIDL_PASS))
|
|
DEFINE_GUID(MS_SMHBA_FC_PHY_GUID, \
|
|
0xfb66c8fe,0x1da0,0x48a2,0x92,0xdb,0x02,0xc3,0x41,0x14,0x3c,0x46);
|
|
#endif
|
|
|
|
|
|
typedef struct _MS_SMHBA_FC_PHY
|
|
{
|
|
//
|
|
ULONG PhySupportSpeed;
|
|
#define MS_SMHBA_FC_PHY_PhySupportSpeed_SIZE sizeof(ULONG)
|
|
#define MS_SMHBA_FC_PHY_PhySupportSpeed_ID 1
|
|
|
|
//
|
|
ULONG PhySpeed;
|
|
#define MS_SMHBA_FC_PHY_PhySpeed_SIZE sizeof(ULONG)
|
|
#define MS_SMHBA_FC_PHY_PhySpeed_ID 2
|
|
|
|
//
|
|
UCHAR PhyType;
|
|
#define MS_SMHBA_FC_PHY_PhyType_SIZE sizeof(UCHAR)
|
|
#define MS_SMHBA_FC_PHY_PhyType_ID 3
|
|
|
|
//
|
|
ULONG MaxFrameSize;
|
|
#define MS_SMHBA_FC_PHY_MaxFrameSize_SIZE sizeof(ULONG)
|
|
#define MS_SMHBA_FC_PHY_MaxFrameSize_ID 4
|
|
|
|
} MS_SMHBA_FC_PHY, *PMS_SMHBA_FC_PHY;
|
|
|
|
#define MS_SMHBA_FC_PHY_SIZE (FIELD_OFFSET(MS_SMHBA_FC_PHY, MaxFrameSize) + MS_SMHBA_FC_PHY_MaxFrameSize_SIZE)
|
|
|
|
// MS_SMHBA_SAS_PHY - MS_SMHBA_SAS_PHY
|
|
#define MS_SMHBA_SAS_PHYGuid \
|
|
{ 0xdde0a090,0x96bc,0x452b, { 0x9a,0x64,0x6f,0xbb,0x6a,0x19,0xc4,0x7d } }
|
|
|
|
#if ! (defined(MIDL_PASS))
|
|
DEFINE_GUID(MS_SMHBA_SAS_PHY_GUID, \
|
|
0xdde0a090,0x96bc,0x452b,0x9a,0x64,0x6f,0xbb,0x6a,0x19,0xc4,0x7d);
|
|
#endif
|
|
|
|
|
|
typedef struct _MS_SMHBA_SAS_PHY
|
|
{
|
|
//
|
|
UCHAR PhyIdentifier;
|
|
#define MS_SMHBA_SAS_PHY_PhyIdentifier_SIZE sizeof(UCHAR)
|
|
#define MS_SMHBA_SAS_PHY_PhyIdentifier_ID 1
|
|
|
|
//
|
|
ULONG NegotiatedLinkRate;
|
|
#define MS_SMHBA_SAS_PHY_NegotiatedLinkRate_SIZE sizeof(ULONG)
|
|
#define MS_SMHBA_SAS_PHY_NegotiatedLinkRate_ID 2
|
|
|
|
//
|
|
ULONG ProgrammedMinLinkRate;
|
|
#define MS_SMHBA_SAS_PHY_ProgrammedMinLinkRate_SIZE sizeof(ULONG)
|
|
#define MS_SMHBA_SAS_PHY_ProgrammedMinLinkRate_ID 3
|
|
|
|
//
|
|
ULONG HardwareMinLinkRate;
|
|
#define MS_SMHBA_SAS_PHY_HardwareMinLinkRate_SIZE sizeof(ULONG)
|
|
#define MS_SMHBA_SAS_PHY_HardwareMinLinkRate_ID 4
|
|
|
|
//
|
|
ULONG ProgrammedMaxLinkRate;
|
|
#define MS_SMHBA_SAS_PHY_ProgrammedMaxLinkRate_SIZE sizeof(ULONG)
|
|
#define MS_SMHBA_SAS_PHY_ProgrammedMaxLinkRate_ID 5
|
|
|
|
//
|
|
ULONG HardwareMaxLinkRate;
|
|
#define MS_SMHBA_SAS_PHY_HardwareMaxLinkRate_SIZE sizeof(ULONG)
|
|
#define MS_SMHBA_SAS_PHY_HardwareMaxLinkRate_ID 6
|
|
|
|
//
|
|
UCHAR domainPortWWN[8];
|
|
#define MS_SMHBA_SAS_PHY_domainPortWWN_SIZE sizeof(UCHAR[8])
|
|
#define MS_SMHBA_SAS_PHY_domainPortWWN_ID 7
|
|
|
|
} MS_SMHBA_SAS_PHY, *PMS_SMHBA_SAS_PHY;
|
|
|
|
#define MS_SMHBA_SAS_PHY_SIZE (FIELD_OFFSET(MS_SMHBA_SAS_PHY, domainPortWWN) + MS_SMHBA_SAS_PHY_domainPortWWN_SIZE)
|
|
|
|
// MS_SM_PortInformationMethods - MS_SM_PortInformationMethods
|
|
#define MS_SM_PortInformationMethodsGuid \
|
|
{ 0x5b6a8b86,0x708d,0x4ec6, { 0x82,0xa6,0x39,0xad,0xcf,0x6f,0x64,0x33 } }
|
|
|
|
#if ! (defined(MIDL_PASS))
|
|
DEFINE_GUID(MS_SM_PortInformationMethods_GUID, \
|
|
0x5b6a8b86,0x708d,0x4ec6,0x82,0xa6,0x39,0xad,0xcf,0x6f,0x64,0x33);
|
|
#endif
|
|
|
|
//
|
|
// Method id definitions for MS_SM_PortInformationMethods
|
|
#define SM_GetPortType 1
|
|
typedef struct _SM_GetPortType_IN
|
|
{
|
|
//
|
|
ULONG PortIndex;
|
|
#define SM_GetPortType_IN_PortIndex_SIZE sizeof(ULONG)
|
|
#define SM_GetPortType_IN_PortIndex_ID 1
|
|
|
|
} SM_GetPortType_IN, *PSM_GetPortType_IN;
|
|
|
|
#define SM_GetPortType_IN_SIZE (FIELD_OFFSET(SM_GetPortType_IN, PortIndex) + SM_GetPortType_IN_PortIndex_SIZE)
|
|
|
|
typedef struct _SM_GetPortType_OUT
|
|
{
|
|
//
|
|
ULONG HBAStatus;
|
|
#define SM_GetPortType_OUT_HBAStatus_SIZE sizeof(ULONG)
|
|
#define SM_GetPortType_OUT_HBAStatus_ID 2
|
|
|
|
//
|
|
ULONG PortType;
|
|
#define SM_GetPortType_OUT_PortType_SIZE sizeof(ULONG)
|
|
#define SM_GetPortType_OUT_PortType_ID 3
|
|
|
|
} SM_GetPortType_OUT, *PSM_GetPortType_OUT;
|
|
|
|
#define SM_GetPortType_OUT_SIZE (FIELD_OFFSET(SM_GetPortType_OUT, PortType) + SM_GetPortType_OUT_PortType_SIZE)
|
|
|
|
#define SM_GetAdapterPortAttributes 2
|
|
typedef struct _SM_GetAdapterPortAttributes_IN
|
|
{
|
|
//
|
|
ULONG PortIndex;
|
|
#define SM_GetAdapterPortAttributes_IN_PortIndex_SIZE sizeof(ULONG)
|
|
#define SM_GetAdapterPortAttributes_IN_PortIndex_ID 1
|
|
|
|
|
|
#define SM_PORT_SPECIFIC_ATTRIBUTES_MAXSIZE max(sizeof(MS_SMHBA_FC_Port), sizeof(MS_SMHBA_SAS_Port))
|
|
//
|
|
ULONG PortSpecificAttributesMaxSize;
|
|
#define SM_GetAdapterPortAttributes_IN_PortSpecificAttributesMaxSize_SIZE sizeof(ULONG)
|
|
#define SM_GetAdapterPortAttributes_IN_PortSpecificAttributesMaxSize_ID 2
|
|
|
|
} SM_GetAdapterPortAttributes_IN, *PSM_GetAdapterPortAttributes_IN;
|
|
|
|
#define SM_GetAdapterPortAttributes_IN_SIZE (FIELD_OFFSET(SM_GetAdapterPortAttributes_IN, PortSpecificAttributesMaxSize) + SM_GetAdapterPortAttributes_IN_PortSpecificAttributesMaxSize_SIZE)
|
|
|
|
typedef struct _SM_GetAdapterPortAttributes_OUT
|
|
{
|
|
//
|
|
ULONG HBAStatus;
|
|
#define SM_GetAdapterPortAttributes_OUT_HBAStatus_SIZE sizeof(ULONG)
|
|
#define SM_GetAdapterPortAttributes_OUT_HBAStatus_ID 3
|
|
|
|
//
|
|
MS_SMHBA_PORTATTRIBUTES PortAttributes;
|
|
#define SM_GetAdapterPortAttributes_OUT_PortAttributes_SIZE sizeof(MS_SMHBA_PORTATTRIBUTES)
|
|
#define SM_GetAdapterPortAttributes_OUT_PortAttributes_ID 4
|
|
|
|
} SM_GetAdapterPortAttributes_OUT, *PSM_GetAdapterPortAttributes_OUT;
|
|
|
|
#define SM_GetAdapterPortAttributes_OUT_SIZE (FIELD_OFFSET(SM_GetAdapterPortAttributes_OUT, PortAttributes) + SM_GetAdapterPortAttributes_OUT_PortAttributes_SIZE)
|
|
|
|
#define SM_GetDiscoveredPortAttributes 3
|
|
typedef struct _SM_GetDiscoveredPortAttributes_IN
|
|
{
|
|
//
|
|
ULONG PortIndex;
|
|
#define SM_GetDiscoveredPortAttributes_IN_PortIndex_SIZE sizeof(ULONG)
|
|
#define SM_GetDiscoveredPortAttributes_IN_PortIndex_ID 1
|
|
|
|
//
|
|
ULONG DiscoveredPortIndex;
|
|
#define SM_GetDiscoveredPortAttributes_IN_DiscoveredPortIndex_SIZE sizeof(ULONG)
|
|
#define SM_GetDiscoveredPortAttributes_IN_DiscoveredPortIndex_ID 2
|
|
|
|
//
|
|
ULONG PortSpecificAttributesMaxSize;
|
|
#define SM_GetDiscoveredPortAttributes_IN_PortSpecificAttributesMaxSize_SIZE sizeof(ULONG)
|
|
#define SM_GetDiscoveredPortAttributes_IN_PortSpecificAttributesMaxSize_ID 3
|
|
|
|
} SM_GetDiscoveredPortAttributes_IN, *PSM_GetDiscoveredPortAttributes_IN;
|
|
|
|
#define SM_GetDiscoveredPortAttributes_IN_SIZE (FIELD_OFFSET(SM_GetDiscoveredPortAttributes_IN, PortSpecificAttributesMaxSize) + SM_GetDiscoveredPortAttributes_IN_PortSpecificAttributesMaxSize_SIZE)
|
|
|
|
typedef struct _SM_GetDiscoveredPortAttributes_OUT
|
|
{
|
|
//
|
|
ULONG HBAStatus;
|
|
#define SM_GetDiscoveredPortAttributes_OUT_HBAStatus_SIZE sizeof(ULONG)
|
|
#define SM_GetDiscoveredPortAttributes_OUT_HBAStatus_ID 4
|
|
|
|
//
|
|
MS_SMHBA_PORTATTRIBUTES PortAttributes;
|
|
#define SM_GetDiscoveredPortAttributes_OUT_PortAttributes_SIZE sizeof(MS_SMHBA_PORTATTRIBUTES)
|
|
#define SM_GetDiscoveredPortAttributes_OUT_PortAttributes_ID 5
|
|
|
|
} SM_GetDiscoveredPortAttributes_OUT, *PSM_GetDiscoveredPortAttributes_OUT;
|
|
|
|
#define SM_GetDiscoveredPortAttributes_OUT_SIZE (FIELD_OFFSET(SM_GetDiscoveredPortAttributes_OUT, PortAttributes) + SM_GetDiscoveredPortAttributes_OUT_PortAttributes_SIZE)
|
|
|
|
#define SM_GetPortAttributesByWWN 4
|
|
typedef struct _SM_GetPortAttributesByWWN_IN
|
|
{
|
|
//
|
|
UCHAR PortWWN[8];
|
|
#define SM_GetPortAttributesByWWN_IN_PortWWN_SIZE sizeof(UCHAR[8])
|
|
#define SM_GetPortAttributesByWWN_IN_PortWWN_ID 1
|
|
|
|
//
|
|
UCHAR DomainPortWWN[8];
|
|
#define SM_GetPortAttributesByWWN_IN_DomainPortWWN_SIZE sizeof(UCHAR[8])
|
|
#define SM_GetPortAttributesByWWN_IN_DomainPortWWN_ID 2
|
|
|
|
//
|
|
ULONG PortSpecificAttributesMaxSize;
|
|
#define SM_GetPortAttributesByWWN_IN_PortSpecificAttributesMaxSize_SIZE sizeof(ULONG)
|
|
#define SM_GetPortAttributesByWWN_IN_PortSpecificAttributesMaxSize_ID 3
|
|
|
|
} SM_GetPortAttributesByWWN_IN, *PSM_GetPortAttributesByWWN_IN;
|
|
|
|
#define SM_GetPortAttributesByWWN_IN_SIZE (FIELD_OFFSET(SM_GetPortAttributesByWWN_IN, PortSpecificAttributesMaxSize) + SM_GetPortAttributesByWWN_IN_PortSpecificAttributesMaxSize_SIZE)
|
|
|
|
typedef struct _SM_GetPortAttributesByWWN_OUT
|
|
{
|
|
//
|
|
ULONG HBAStatus;
|
|
#define SM_GetPortAttributesByWWN_OUT_HBAStatus_SIZE sizeof(ULONG)
|
|
#define SM_GetPortAttributesByWWN_OUT_HBAStatus_ID 4
|
|
|
|
//
|
|
MS_SMHBA_PORTATTRIBUTES PortAttributes;
|
|
#define SM_GetPortAttributesByWWN_OUT_PortAttributes_SIZE sizeof(MS_SMHBA_PORTATTRIBUTES)
|
|
#define SM_GetPortAttributesByWWN_OUT_PortAttributes_ID 5
|
|
|
|
} SM_GetPortAttributesByWWN_OUT, *PSM_GetPortAttributesByWWN_OUT;
|
|
|
|
#define SM_GetPortAttributesByWWN_OUT_SIZE (FIELD_OFFSET(SM_GetPortAttributesByWWN_OUT, PortAttributes) + SM_GetPortAttributesByWWN_OUT_PortAttributes_SIZE)
|
|
|
|
#define SM_GetProtocolStatistics 5
|
|
typedef struct _SM_GetProtocolStatistics_IN
|
|
{
|
|
//
|
|
ULONG PortIndex;
|
|
#define SM_GetProtocolStatistics_IN_PortIndex_SIZE sizeof(ULONG)
|
|
#define SM_GetProtocolStatistics_IN_PortIndex_ID 1
|
|
|
|
//
|
|
ULONG ProtocolType;
|
|
#define SM_GetProtocolStatistics_IN_ProtocolType_SIZE sizeof(ULONG)
|
|
#define SM_GetProtocolStatistics_IN_ProtocolType_ID 2
|
|
|
|
} SM_GetProtocolStatistics_IN, *PSM_GetProtocolStatistics_IN;
|
|
|
|
#define SM_GetProtocolStatistics_IN_SIZE (FIELD_OFFSET(SM_GetProtocolStatistics_IN, ProtocolType) + SM_GetProtocolStatistics_IN_ProtocolType_SIZE)
|
|
|
|
typedef struct _SM_GetProtocolStatistics_OUT
|
|
{
|
|
//
|
|
ULONG HBAStatus;
|
|
#define SM_GetProtocolStatistics_OUT_HBAStatus_SIZE sizeof(ULONG)
|
|
#define SM_GetProtocolStatistics_OUT_HBAStatus_ID 3
|
|
|
|
//
|
|
MS_SMHBA_PROTOCOLSTATISTICS ProtocolStatistics;
|
|
#define SM_GetProtocolStatistics_OUT_ProtocolStatistics_SIZE sizeof(MS_SMHBA_PROTOCOLSTATISTICS)
|
|
#define SM_GetProtocolStatistics_OUT_ProtocolStatistics_ID 4
|
|
|
|
} SM_GetProtocolStatistics_OUT, *PSM_GetProtocolStatistics_OUT;
|
|
|
|
#define SM_GetProtocolStatistics_OUT_SIZE (FIELD_OFFSET(SM_GetProtocolStatistics_OUT, ProtocolStatistics) + SM_GetProtocolStatistics_OUT_ProtocolStatistics_SIZE)
|
|
|
|
#define SM_GetPhyStatistics 6
|
|
typedef struct _SM_GetPhyStatistics_IN
|
|
{
|
|
//
|
|
ULONG PortIndex;
|
|
#define SM_GetPhyStatistics_IN_PortIndex_SIZE sizeof(ULONG)
|
|
#define SM_GetPhyStatistics_IN_PortIndex_ID 1
|
|
|
|
//
|
|
ULONG PhyIndex;
|
|
#define SM_GetPhyStatistics_IN_PhyIndex_SIZE sizeof(ULONG)
|
|
#define SM_GetPhyStatistics_IN_PhyIndex_ID 2
|
|
|
|
//
|
|
ULONG InNumOfPhyCounters;
|
|
#define SM_GetPhyStatistics_IN_InNumOfPhyCounters_SIZE sizeof(ULONG)
|
|
#define SM_GetPhyStatistics_IN_InNumOfPhyCounters_ID 3
|
|
|
|
} SM_GetPhyStatistics_IN, *PSM_GetPhyStatistics_IN;
|
|
|
|
#define SM_GetPhyStatistics_IN_SIZE (FIELD_OFFSET(SM_GetPhyStatistics_IN, InNumOfPhyCounters) + SM_GetPhyStatistics_IN_InNumOfPhyCounters_SIZE)
|
|
|
|
typedef struct _SM_GetPhyStatistics_OUT
|
|
{
|
|
//
|
|
ULONG HBAStatus;
|
|
#define SM_GetPhyStatistics_OUT_HBAStatus_SIZE sizeof(ULONG)
|
|
#define SM_GetPhyStatistics_OUT_HBAStatus_ID 4
|
|
|
|
//
|
|
ULONG TotalNumOfPhyCounters;
|
|
#define SM_GetPhyStatistics_OUT_TotalNumOfPhyCounters_SIZE sizeof(ULONG)
|
|
#define SM_GetPhyStatistics_OUT_TotalNumOfPhyCounters_ID 5
|
|
|
|
//
|
|
ULONG OutNumOfPhyCounters;
|
|
#define SM_GetPhyStatistics_OUT_OutNumOfPhyCounters_SIZE sizeof(ULONG)
|
|
#define SM_GetPhyStatistics_OUT_OutNumOfPhyCounters_ID 6
|
|
|
|
//
|
|
LONGLONG PhyCounter[1];
|
|
#define SM_GetPhyStatistics_OUT_PhyCounter_ID 7
|
|
|
|
} SM_GetPhyStatistics_OUT, *PSM_GetPhyStatistics_OUT;
|
|
|
|
#define SM_GetFCPhyAttributes 7
|
|
typedef struct _SM_GetFCPhyAttributes_IN
|
|
{
|
|
//
|
|
ULONG PortIndex;
|
|
#define SM_GetFCPhyAttributes_IN_PortIndex_SIZE sizeof(ULONG)
|
|
#define SM_GetFCPhyAttributes_IN_PortIndex_ID 1
|
|
|
|
//
|
|
ULONG PhyIndex;
|
|
#define SM_GetFCPhyAttributes_IN_PhyIndex_SIZE sizeof(ULONG)
|
|
#define SM_GetFCPhyAttributes_IN_PhyIndex_ID 2
|
|
|
|
} SM_GetFCPhyAttributes_IN, *PSM_GetFCPhyAttributes_IN;
|
|
|
|
#define SM_GetFCPhyAttributes_IN_SIZE (FIELD_OFFSET(SM_GetFCPhyAttributes_IN, PhyIndex) + SM_GetFCPhyAttributes_IN_PhyIndex_SIZE)
|
|
|
|
typedef struct _SM_GetFCPhyAttributes_OUT
|
|
{
|
|
//
|
|
ULONG HBAStatus;
|
|
#define SM_GetFCPhyAttributes_OUT_HBAStatus_SIZE sizeof(ULONG)
|
|
#define SM_GetFCPhyAttributes_OUT_HBAStatus_ID 3
|
|
|
|
//
|
|
MS_SMHBA_FC_PHY PhyType;
|
|
#define SM_GetFCPhyAttributes_OUT_PhyType_SIZE sizeof(MS_SMHBA_FC_PHY)
|
|
#define SM_GetFCPhyAttributes_OUT_PhyType_ID 4
|
|
|
|
} SM_GetFCPhyAttributes_OUT, *PSM_GetFCPhyAttributes_OUT;
|
|
|
|
#define SM_GetFCPhyAttributes_OUT_SIZE (FIELD_OFFSET(SM_GetFCPhyAttributes_OUT, PhyType) + SM_GetFCPhyAttributes_OUT_PhyType_SIZE)
|
|
|
|
#define SM_GetSASPhyAttributes 8
|
|
typedef struct _SM_GetSASPhyAttributes_IN
|
|
{
|
|
//
|
|
ULONG PortIndex;
|
|
#define SM_GetSASPhyAttributes_IN_PortIndex_SIZE sizeof(ULONG)
|
|
#define SM_GetSASPhyAttributes_IN_PortIndex_ID 1
|
|
|
|
//
|
|
ULONG PhyIndex;
|
|
#define SM_GetSASPhyAttributes_IN_PhyIndex_SIZE sizeof(ULONG)
|
|
#define SM_GetSASPhyAttributes_IN_PhyIndex_ID 2
|
|
|
|
} SM_GetSASPhyAttributes_IN, *PSM_GetSASPhyAttributes_IN;
|
|
|
|
#define SM_GetSASPhyAttributes_IN_SIZE (FIELD_OFFSET(SM_GetSASPhyAttributes_IN, PhyIndex) + SM_GetSASPhyAttributes_IN_PhyIndex_SIZE)
|
|
|
|
typedef struct _SM_GetSASPhyAttributes_OUT
|
|
{
|
|
//
|
|
ULONG HBAStatus;
|
|
#define SM_GetSASPhyAttributes_OUT_HBAStatus_SIZE sizeof(ULONG)
|
|
#define SM_GetSASPhyAttributes_OUT_HBAStatus_ID 3
|
|
|
|
//
|
|
MS_SMHBA_SAS_PHY PhyType;
|
|
#define SM_GetSASPhyAttributes_OUT_PhyType_SIZE sizeof(MS_SMHBA_SAS_PHY)
|
|
#define SM_GetSASPhyAttributes_OUT_PhyType_ID 4
|
|
|
|
} SM_GetSASPhyAttributes_OUT, *PSM_GetSASPhyAttributes_OUT;
|
|
|
|
#define SM_GetSASPhyAttributes_OUT_SIZE (FIELD_OFFSET(SM_GetSASPhyAttributes_OUT, PhyType) + SM_GetSASPhyAttributes_OUT_PhyType_SIZE)
|
|
|
|
#define SM_RefreshInformation 10
|
|
|
|
// MS_SMHBA_PORTLUN - MS_SMHBA_PORTLUN
|
|
#define MS_SMHBA_PORTLUNGuid \
|
|
{ 0x0669d100,0x066e,0x4e49, { 0xa6,0x8c,0xe0,0x51,0x99,0x59,0x61,0x32 } }
|
|
|
|
#if ! (defined(MIDL_PASS))
|
|
DEFINE_GUID(MS_SMHBA_PORTLUN_GUID, \
|
|
0x0669d100,0x066e,0x4e49,0xa6,0x8c,0xe0,0x51,0x99,0x59,0x61,0x32);
|
|
#endif
|
|
|
|
|
|
typedef struct _MS_SMHBA_PORTLUN
|
|
{
|
|
//
|
|
UCHAR PortWWN[8];
|
|
#define MS_SMHBA_PORTLUN_PortWWN_SIZE sizeof(UCHAR[8])
|
|
#define MS_SMHBA_PORTLUN_PortWWN_ID 1
|
|
|
|
//
|
|
UCHAR domainPortWWN[8];
|
|
#define MS_SMHBA_PORTLUN_domainPortWWN_SIZE sizeof(UCHAR[8])
|
|
#define MS_SMHBA_PORTLUN_domainPortWWN_ID 2
|
|
|
|
//
|
|
ULONGLONG TargetLun;
|
|
#define MS_SMHBA_PORTLUN_TargetLun_SIZE sizeof(ULONGLONG)
|
|
#define MS_SMHBA_PORTLUN_TargetLun_ID 3
|
|
|
|
} MS_SMHBA_PORTLUN, *PMS_SMHBA_PORTLUN;
|
|
|
|
#define MS_SMHBA_PORTLUN_SIZE (FIELD_OFFSET(MS_SMHBA_PORTLUN, TargetLun) + MS_SMHBA_PORTLUN_TargetLun_SIZE)
|
|
|
|
// MS_SMHBA_SCSIENTRY - MS_SMHBA_SCSIENTRY
|
|
#define MS_SMHBA_SCSIENTRYGuid \
|
|
{ 0x125d41bc,0x7643,0x4155, { 0xb8,0x1c,0xe2,0xf1,0x28,0xad,0x1f,0xb4 } }
|
|
|
|
#if ! (defined(MIDL_PASS))
|
|
DEFINE_GUID(MS_SMHBA_SCSIENTRY_GUID, \
|
|
0x125d41bc,0x7643,0x4155,0xb8,0x1c,0xe2,0xf1,0x28,0xad,0x1f,0xb4);
|
|
#endif
|
|
|
|
|
|
typedef struct _MS_SMHBA_SCSIENTRY
|
|
{
|
|
//
|
|
MS_SMHBA_PORTLUN PortLun;
|
|
#define MS_SMHBA_SCSIENTRY_PortLun_SIZE sizeof(MS_SMHBA_PORTLUN)
|
|
#define MS_SMHBA_SCSIENTRY_PortLun_ID 1
|
|
|
|
//
|
|
UCHAR LUID[256];
|
|
#define MS_SMHBA_SCSIENTRY_LUID_SIZE sizeof(UCHAR[256])
|
|
#define MS_SMHBA_SCSIENTRY_LUID_ID 2
|
|
|
|
//
|
|
HBAScsiID ScsiId;
|
|
#define MS_SMHBA_SCSIENTRY_ScsiId_SIZE sizeof(HBAScsiID)
|
|
#define MS_SMHBA_SCSIENTRY_ScsiId_ID 3
|
|
|
|
} MS_SMHBA_SCSIENTRY, *PMS_SMHBA_SCSIENTRY;
|
|
|
|
#define MS_SMHBA_SCSIENTRY_SIZE (FIELD_OFFSET(MS_SMHBA_SCSIENTRY, ScsiId) + MS_SMHBA_SCSIENTRY_ScsiId_SIZE)
|
|
|
|
// MS_SMHBA_BINDINGENTRY - MS_SMHBA_BINDINGENTRY
|
|
#define MS_SMHBA_BINDINGENTRYGuid \
|
|
{ 0x65bfb548,0xd00a,0x4d4c, { 0xa3,0x57,0x7d,0xaa,0x23,0xbc,0x2e,0x3d } }
|
|
|
|
#if ! (defined(MIDL_PASS))
|
|
DEFINE_GUID(MS_SMHBA_BINDINGENTRY_GUID, \
|
|
0x65bfb548,0xd00a,0x4d4c,0xa3,0x57,0x7d,0xaa,0x23,0xbc,0x2e,0x3d);
|
|
#endif
|
|
|
|
|
|
typedef struct _MS_SMHBA_BINDINGENTRY
|
|
{
|
|
//
|
|
ULONG type;
|
|
#define MS_SMHBA_BINDINGENTRY_type_SIZE sizeof(ULONG)
|
|
#define MS_SMHBA_BINDINGENTRY_type_ID 1
|
|
|
|
//
|
|
MS_SMHBA_PORTLUN PortLun;
|
|
#define MS_SMHBA_BINDINGENTRY_PortLun_SIZE sizeof(MS_SMHBA_PORTLUN)
|
|
#define MS_SMHBA_BINDINGENTRY_PortLun_ID 2
|
|
|
|
//
|
|
UCHAR LUID[256];
|
|
#define MS_SMHBA_BINDINGENTRY_LUID_SIZE sizeof(UCHAR[256])
|
|
#define MS_SMHBA_BINDINGENTRY_LUID_ID 3
|
|
|
|
//
|
|
ULONG Status;
|
|
#define MS_SMHBA_BINDINGENTRY_Status_SIZE sizeof(ULONG)
|
|
#define MS_SMHBA_BINDINGENTRY_Status_ID 4
|
|
|
|
//
|
|
HBAScsiID ScsiId;
|
|
#define MS_SMHBA_BINDINGENTRY_ScsiId_SIZE sizeof(HBAScsiID)
|
|
#define MS_SMHBA_BINDINGENTRY_ScsiId_ID 5
|
|
|
|
} MS_SMHBA_BINDINGENTRY, *PMS_SMHBA_BINDINGENTRY;
|
|
|
|
#define MS_SMHBA_BINDINGENTRY_SIZE (FIELD_OFFSET(MS_SMHBA_BINDINGENTRY, ScsiId) + MS_SMHBA_BINDINGENTRY_ScsiId_SIZE)
|
|
|
|
// MS_SM_TargetInformationMethods - MS_SM_TargetInformationMethods
|
|
#define MS_SM_TargetInformationMethodsGuid \
|
|
{ 0x93545055,0xab4c,0x4e80, { 0x84,0xae,0x6a,0x86,0xa2,0xdc,0x4b,0x84 } }
|
|
|
|
#if ! (defined(MIDL_PASS))
|
|
DEFINE_GUID(MS_SM_TargetInformationMethods_GUID, \
|
|
0x93545055,0xab4c,0x4e80,0x84,0xae,0x6a,0x86,0xa2,0xdc,0x4b,0x84);
|
|
#endif
|
|
|
|
//
|
|
// Method id definitions for MS_SM_TargetInformationMethods
|
|
#define SM_GetTargetMapping 1
|
|
typedef struct _SM_GetTargetMapping_IN
|
|
{
|
|
//
|
|
UCHAR HbaPortWWN[8];
|
|
#define SM_GetTargetMapping_IN_HbaPortWWN_SIZE sizeof(UCHAR[8])
|
|
#define SM_GetTargetMapping_IN_HbaPortWWN_ID 1
|
|
|
|
//
|
|
UCHAR DomainPortWWN[8];
|
|
#define SM_GetTargetMapping_IN_DomainPortWWN_SIZE sizeof(UCHAR[8])
|
|
#define SM_GetTargetMapping_IN_DomainPortWWN_ID 2
|
|
|
|
//
|
|
ULONG InEntryCount;
|
|
#define SM_GetTargetMapping_IN_InEntryCount_SIZE sizeof(ULONG)
|
|
#define SM_GetTargetMapping_IN_InEntryCount_ID 3
|
|
|
|
} SM_GetTargetMapping_IN, *PSM_GetTargetMapping_IN;
|
|
|
|
#define SM_GetTargetMapping_IN_SIZE (FIELD_OFFSET(SM_GetTargetMapping_IN, InEntryCount) + SM_GetTargetMapping_IN_InEntryCount_SIZE)
|
|
|
|
typedef struct _SM_GetTargetMapping_OUT
|
|
{
|
|
//
|
|
ULONG HBAStatus;
|
|
#define SM_GetTargetMapping_OUT_HBAStatus_SIZE sizeof(ULONG)
|
|
#define SM_GetTargetMapping_OUT_HBAStatus_ID 4
|
|
|
|
//
|
|
ULONG TotalEntryCount;
|
|
#define SM_GetTargetMapping_OUT_TotalEntryCount_SIZE sizeof(ULONG)
|
|
#define SM_GetTargetMapping_OUT_TotalEntryCount_ID 5
|
|
|
|
//
|
|
ULONG OutEntryCount;
|
|
#define SM_GetTargetMapping_OUT_OutEntryCount_SIZE sizeof(ULONG)
|
|
#define SM_GetTargetMapping_OUT_OutEntryCount_ID 6
|
|
|
|
//
|
|
MS_SMHBA_SCSIENTRY Entry[1];
|
|
#define SM_GetTargetMapping_OUT_Entry_ID 7
|
|
|
|
} SM_GetTargetMapping_OUT, *PSM_GetTargetMapping_OUT;
|
|
|
|
#define SM_GetBindingCapability 2
|
|
typedef struct _SM_GetBindingCapability_IN
|
|
{
|
|
//
|
|
UCHAR HbaPortWWN[8];
|
|
#define SM_GetBindingCapability_IN_HbaPortWWN_SIZE sizeof(UCHAR[8])
|
|
#define SM_GetBindingCapability_IN_HbaPortWWN_ID 1
|
|
|
|
//
|
|
UCHAR DomainPortWWN[8];
|
|
#define SM_GetBindingCapability_IN_DomainPortWWN_SIZE sizeof(UCHAR[8])
|
|
#define SM_GetBindingCapability_IN_DomainPortWWN_ID 2
|
|
|
|
} SM_GetBindingCapability_IN, *PSM_GetBindingCapability_IN;
|
|
|
|
#define SM_GetBindingCapability_IN_SIZE (FIELD_OFFSET(SM_GetBindingCapability_IN, DomainPortWWN) + SM_GetBindingCapability_IN_DomainPortWWN_SIZE)
|
|
|
|
typedef struct _SM_GetBindingCapability_OUT
|
|
{
|
|
//
|
|
ULONG HBAStatus;
|
|
#define SM_GetBindingCapability_OUT_HBAStatus_SIZE sizeof(ULONG)
|
|
#define SM_GetBindingCapability_OUT_HBAStatus_ID 3
|
|
|
|
//
|
|
ULONG Flags;
|
|
#define SM_GetBindingCapability_OUT_Flags_SIZE sizeof(ULONG)
|
|
#define SM_GetBindingCapability_OUT_Flags_ID 4
|
|
|
|
} SM_GetBindingCapability_OUT, *PSM_GetBindingCapability_OUT;
|
|
|
|
#define SM_GetBindingCapability_OUT_SIZE (FIELD_OFFSET(SM_GetBindingCapability_OUT, Flags) + SM_GetBindingCapability_OUT_Flags_SIZE)
|
|
|
|
#define SM_GetBindingSupport 3
|
|
typedef struct _SM_GetBindingSupport_IN
|
|
{
|
|
//
|
|
UCHAR HbaPortWWN[8];
|
|
#define SM_GetBindingSupport_IN_HbaPortWWN_SIZE sizeof(UCHAR[8])
|
|
#define SM_GetBindingSupport_IN_HbaPortWWN_ID 1
|
|
|
|
//
|
|
UCHAR DomainPortWWN[8];
|
|
#define SM_GetBindingSupport_IN_DomainPortWWN_SIZE sizeof(UCHAR[8])
|
|
#define SM_GetBindingSupport_IN_DomainPortWWN_ID 2
|
|
|
|
} SM_GetBindingSupport_IN, *PSM_GetBindingSupport_IN;
|
|
|
|
#define SM_GetBindingSupport_IN_SIZE (FIELD_OFFSET(SM_GetBindingSupport_IN, DomainPortWWN) + SM_GetBindingSupport_IN_DomainPortWWN_SIZE)
|
|
|
|
typedef struct _SM_GetBindingSupport_OUT
|
|
{
|
|
//
|
|
ULONG HBAStatus;
|
|
#define SM_GetBindingSupport_OUT_HBAStatus_SIZE sizeof(ULONG)
|
|
#define SM_GetBindingSupport_OUT_HBAStatus_ID 3
|
|
|
|
//
|
|
ULONG Flags;
|
|
#define SM_GetBindingSupport_OUT_Flags_SIZE sizeof(ULONG)
|
|
#define SM_GetBindingSupport_OUT_Flags_ID 4
|
|
|
|
} SM_GetBindingSupport_OUT, *PSM_GetBindingSupport_OUT;
|
|
|
|
#define SM_GetBindingSupport_OUT_SIZE (FIELD_OFFSET(SM_GetBindingSupport_OUT, Flags) + SM_GetBindingSupport_OUT_Flags_SIZE)
|
|
|
|
#define SM_SetBindingSupport 4
|
|
typedef struct _SM_SetBindingSupport_IN
|
|
{
|
|
//
|
|
UCHAR HbaPortWWN[8];
|
|
#define SM_SetBindingSupport_IN_HbaPortWWN_SIZE sizeof(UCHAR[8])
|
|
#define SM_SetBindingSupport_IN_HbaPortWWN_ID 1
|
|
|
|
//
|
|
UCHAR DomainPortWWN[8];
|
|
#define SM_SetBindingSupport_IN_DomainPortWWN_SIZE sizeof(UCHAR[8])
|
|
#define SM_SetBindingSupport_IN_DomainPortWWN_ID 2
|
|
|
|
//
|
|
ULONG Flags;
|
|
#define SM_SetBindingSupport_IN_Flags_SIZE sizeof(ULONG)
|
|
#define SM_SetBindingSupport_IN_Flags_ID 3
|
|
|
|
} SM_SetBindingSupport_IN, *PSM_SetBindingSupport_IN;
|
|
|
|
#define SM_SetBindingSupport_IN_SIZE (FIELD_OFFSET(SM_SetBindingSupport_IN, Flags) + SM_SetBindingSupport_IN_Flags_SIZE)
|
|
|
|
typedef struct _SM_SetBindingSupport_OUT
|
|
{
|
|
//
|
|
ULONG HBAStatus;
|
|
#define SM_SetBindingSupport_OUT_HBAStatus_SIZE sizeof(ULONG)
|
|
#define SM_SetBindingSupport_OUT_HBAStatus_ID 4
|
|
|
|
} SM_SetBindingSupport_OUT, *PSM_SetBindingSupport_OUT;
|
|
|
|
#define SM_SetBindingSupport_OUT_SIZE (FIELD_OFFSET(SM_SetBindingSupport_OUT, HBAStatus) + SM_SetBindingSupport_OUT_HBAStatus_SIZE)
|
|
|
|
#define SM_GetPersistentBinding 5
|
|
typedef struct _SM_GetPersistentBinding_IN
|
|
{
|
|
//
|
|
UCHAR HbaPortWWN[8];
|
|
#define SM_GetPersistentBinding_IN_HbaPortWWN_SIZE sizeof(UCHAR[8])
|
|
#define SM_GetPersistentBinding_IN_HbaPortWWN_ID 1
|
|
|
|
//
|
|
UCHAR DomainPortWWN[8];
|
|
#define SM_GetPersistentBinding_IN_DomainPortWWN_SIZE sizeof(UCHAR[8])
|
|
#define SM_GetPersistentBinding_IN_DomainPortWWN_ID 2
|
|
|
|
//
|
|
ULONG InEntryCount;
|
|
#define SM_GetPersistentBinding_IN_InEntryCount_SIZE sizeof(ULONG)
|
|
#define SM_GetPersistentBinding_IN_InEntryCount_ID 3
|
|
|
|
} SM_GetPersistentBinding_IN, *PSM_GetPersistentBinding_IN;
|
|
|
|
#define SM_GetPersistentBinding_IN_SIZE (FIELD_OFFSET(SM_GetPersistentBinding_IN, InEntryCount) + SM_GetPersistentBinding_IN_InEntryCount_SIZE)
|
|
|
|
typedef struct _SM_GetPersistentBinding_OUT
|
|
{
|
|
//
|
|
ULONG HBAStatus;
|
|
#define SM_GetPersistentBinding_OUT_HBAStatus_SIZE sizeof(ULONG)
|
|
#define SM_GetPersistentBinding_OUT_HBAStatus_ID 4
|
|
|
|
//
|
|
ULONG TotalEntryCount;
|
|
#define SM_GetPersistentBinding_OUT_TotalEntryCount_SIZE sizeof(ULONG)
|
|
#define SM_GetPersistentBinding_OUT_TotalEntryCount_ID 5
|
|
|
|
//
|
|
ULONG OutEntryCount;
|
|
#define SM_GetPersistentBinding_OUT_OutEntryCount_SIZE sizeof(ULONG)
|
|
#define SM_GetPersistentBinding_OUT_OutEntryCount_ID 6
|
|
|
|
//
|
|
MS_SMHBA_BINDINGENTRY Entry[1];
|
|
#define SM_GetPersistentBinding_OUT_Entry_ID 7
|
|
|
|
} SM_GetPersistentBinding_OUT, *PSM_GetPersistentBinding_OUT;
|
|
|
|
#define SM_SetPersistentBinding 6
|
|
typedef struct _SM_SetPersistentBinding_IN
|
|
{
|
|
//
|
|
UCHAR HbaPortWWN[8];
|
|
#define SM_SetPersistentBinding_IN_HbaPortWWN_SIZE sizeof(UCHAR[8])
|
|
#define SM_SetPersistentBinding_IN_HbaPortWWN_ID 1
|
|
|
|
//
|
|
UCHAR DomainPortWWN[8];
|
|
#define SM_SetPersistentBinding_IN_DomainPortWWN_SIZE sizeof(UCHAR[8])
|
|
#define SM_SetPersistentBinding_IN_DomainPortWWN_ID 2
|
|
|
|
//
|
|
ULONG InEntryCount;
|
|
#define SM_SetPersistentBinding_IN_InEntryCount_SIZE sizeof(ULONG)
|
|
#define SM_SetPersistentBinding_IN_InEntryCount_ID 3
|
|
|
|
//
|
|
MS_SMHBA_BINDINGENTRY Entry[1];
|
|
#define SM_SetPersistentBinding_IN_Entry_ID 4
|
|
|
|
} SM_SetPersistentBinding_IN, *PSM_SetPersistentBinding_IN;
|
|
|
|
typedef struct _SM_SetPersistentBinding_OUT
|
|
{
|
|
//
|
|
ULONG HBAStatus;
|
|
#define SM_SetPersistentBinding_OUT_HBAStatus_SIZE sizeof(ULONG)
|
|
#define SM_SetPersistentBinding_OUT_HBAStatus_ID 5
|
|
|
|
//
|
|
ULONG OutStatusCount;
|
|
#define SM_SetPersistentBinding_OUT_OutStatusCount_SIZE sizeof(ULONG)
|
|
#define SM_SetPersistentBinding_OUT_OutStatusCount_ID 6
|
|
|
|
//
|
|
ULONG EntryStatus[1];
|
|
#define SM_SetPersistentBinding_OUT_EntryStatus_ID 7
|
|
|
|
} SM_SetPersistentBinding_OUT, *PSM_SetPersistentBinding_OUT;
|
|
|
|
#define SM_RemovePersistentBinding 7
|
|
typedef struct _SM_RemovePersistentBinding_IN
|
|
{
|
|
//
|
|
UCHAR HbaPortWWN[8];
|
|
#define SM_RemovePersistentBinding_IN_HbaPortWWN_SIZE sizeof(UCHAR[8])
|
|
#define SM_RemovePersistentBinding_IN_HbaPortWWN_ID 1
|
|
|
|
//
|
|
UCHAR DomainPortWWN[8];
|
|
#define SM_RemovePersistentBinding_IN_DomainPortWWN_SIZE sizeof(UCHAR[8])
|
|
#define SM_RemovePersistentBinding_IN_DomainPortWWN_ID 2
|
|
|
|
//
|
|
ULONG EntryCount;
|
|
#define SM_RemovePersistentBinding_IN_EntryCount_SIZE sizeof(ULONG)
|
|
#define SM_RemovePersistentBinding_IN_EntryCount_ID 3
|
|
|
|
//
|
|
MS_SMHBA_BINDINGENTRY Entry[1];
|
|
#define SM_RemovePersistentBinding_IN_Entry_ID 4
|
|
|
|
} SM_RemovePersistentBinding_IN, *PSM_RemovePersistentBinding_IN;
|
|
|
|
typedef struct _SM_RemovePersistentBinding_OUT
|
|
{
|
|
//
|
|
ULONG HBAStatus;
|
|
#define SM_RemovePersistentBinding_OUT_HBAStatus_SIZE sizeof(ULONG)
|
|
#define SM_RemovePersistentBinding_OUT_HBAStatus_ID 5
|
|
|
|
} SM_RemovePersistentBinding_OUT, *PSM_RemovePersistentBinding_OUT;
|
|
|
|
#define SM_RemovePersistentBinding_OUT_SIZE (FIELD_OFFSET(SM_RemovePersistentBinding_OUT, HBAStatus) + SM_RemovePersistentBinding_OUT_HBAStatus_SIZE)
|
|
|
|
#define SM_GetLUNStatistics 8
|
|
typedef struct _SM_GetLUNStatistics_IN
|
|
{
|
|
//
|
|
HBAScsiID Lunit;
|
|
#define SM_GetLUNStatistics_IN_Lunit_SIZE sizeof(HBAScsiID)
|
|
#define SM_GetLUNStatistics_IN_Lunit_ID 1
|
|
|
|
} SM_GetLUNStatistics_IN, *PSM_GetLUNStatistics_IN;
|
|
|
|
#define SM_GetLUNStatistics_IN_SIZE (FIELD_OFFSET(SM_GetLUNStatistics_IN, Lunit) + SM_GetLUNStatistics_IN_Lunit_SIZE)
|
|
|
|
typedef struct _SM_GetLUNStatistics_OUT
|
|
{
|
|
//
|
|
ULONG HBAStatus;
|
|
#define SM_GetLUNStatistics_OUT_HBAStatus_SIZE sizeof(ULONG)
|
|
#define SM_GetLUNStatistics_OUT_HBAStatus_ID 2
|
|
|
|
//
|
|
MS_SMHBA_PROTOCOLSTATISTICS ProtocolStatistics;
|
|
#define SM_GetLUNStatistics_OUT_ProtocolStatistics_SIZE sizeof(MS_SMHBA_PROTOCOLSTATISTICS)
|
|
#define SM_GetLUNStatistics_OUT_ProtocolStatistics_ID 3
|
|
|
|
} SM_GetLUNStatistics_OUT, *PSM_GetLUNStatistics_OUT;
|
|
|
|
#define SM_GetLUNStatistics_OUT_SIZE (FIELD_OFFSET(SM_GetLUNStatistics_OUT, ProtocolStatistics) + SM_GetLUNStatistics_OUT_ProtocolStatistics_SIZE)
|
|
|
|
|
|
// MS_SM_ScsiInformationMethods - MS_SM_ScsiInformationMethods
|
|
#define MS_SM_ScsiInformationMethodsGuid \
|
|
{ 0xb6661e6f,0x075e,0x4209, { 0xae,0x20,0xfe,0x81,0xdb,0x03,0xd9,0x79 } }
|
|
|
|
#if ! (defined(MIDL_PASS))
|
|
DEFINE_GUID(MS_SM_ScsiInformationMethods_GUID, \
|
|
0xb6661e6f,0x075e,0x4209,0xae,0x20,0xfe,0x81,0xdb,0x03,0xd9,0x79);
|
|
#endif
|
|
|
|
//
|
|
// Method id definitions for MS_SM_ScsiInformationMethods
|
|
#define SM_ScsiInquiry 1
|
|
typedef struct _SM_ScsiInquiry_IN
|
|
{
|
|
//
|
|
UCHAR HbaPortWWN[8];
|
|
#define SM_ScsiInquiry_IN_HbaPortWWN_SIZE sizeof(UCHAR[8])
|
|
#define SM_ScsiInquiry_IN_HbaPortWWN_ID 1
|
|
|
|
//
|
|
UCHAR DiscoveredPortWWN[8];
|
|
#define SM_ScsiInquiry_IN_DiscoveredPortWWN_SIZE sizeof(UCHAR[8])
|
|
#define SM_ScsiInquiry_IN_DiscoveredPortWWN_ID 2
|
|
|
|
//
|
|
UCHAR DomainPortWWN[8];
|
|
#define SM_ScsiInquiry_IN_DomainPortWWN_SIZE sizeof(UCHAR[8])
|
|
#define SM_ScsiInquiry_IN_DomainPortWWN_ID 3
|
|
|
|
//
|
|
ULONGLONG SmhbaLUN;
|
|
#define SM_ScsiInquiry_IN_SmhbaLUN_SIZE sizeof(ULONGLONG)
|
|
#define SM_ScsiInquiry_IN_SmhbaLUN_ID 4
|
|
|
|
//
|
|
UCHAR Cdb[6];
|
|
#define SM_ScsiInquiry_IN_Cdb_SIZE sizeof(UCHAR[6])
|
|
#define SM_ScsiInquiry_IN_Cdb_ID 5
|
|
|
|
//
|
|
ULONG InRespBufferMaxSize;
|
|
#define SM_ScsiInquiry_IN_InRespBufferMaxSize_SIZE sizeof(ULONG)
|
|
#define SM_ScsiInquiry_IN_InRespBufferMaxSize_ID 6
|
|
|
|
//
|
|
ULONG InSenseBufferMaxSize;
|
|
#define SM_ScsiInquiry_IN_InSenseBufferMaxSize_SIZE sizeof(ULONG)
|
|
#define SM_ScsiInquiry_IN_InSenseBufferMaxSize_ID 7
|
|
|
|
} SM_ScsiInquiry_IN, *PSM_ScsiInquiry_IN;
|
|
|
|
#define SM_ScsiInquiry_IN_SIZE (FIELD_OFFSET(SM_ScsiInquiry_IN, InSenseBufferMaxSize) + SM_ScsiInquiry_IN_InSenseBufferMaxSize_SIZE)
|
|
|
|
typedef struct _SM_ScsiInquiry_OUT
|
|
{
|
|
//
|
|
ULONG HBAStatus;
|
|
#define SM_ScsiInquiry_OUT_HBAStatus_SIZE sizeof(ULONG)
|
|
#define SM_ScsiInquiry_OUT_HBAStatus_ID 8
|
|
|
|
//
|
|
UCHAR ScsiStatus;
|
|
#define SM_ScsiInquiry_OUT_ScsiStatus_SIZE sizeof(UCHAR)
|
|
#define SM_ScsiInquiry_OUT_ScsiStatus_ID 9
|
|
|
|
//
|
|
ULONG OutRespBufferSize;
|
|
#define SM_ScsiInquiry_OUT_OutRespBufferSize_SIZE sizeof(ULONG)
|
|
#define SM_ScsiInquiry_OUT_OutRespBufferSize_ID 10
|
|
|
|
//
|
|
ULONG OutSenseBufferSize;
|
|
#define SM_ScsiInquiry_OUT_OutSenseBufferSize_SIZE sizeof(ULONG)
|
|
#define SM_ScsiInquiry_OUT_OutSenseBufferSize_ID 11
|
|
|
|
//
|
|
UCHAR RespBuffer[1];
|
|
#define SM_ScsiInquiry_OUT_RespBuffer_ID 12
|
|
|
|
//
|
|
// UCHAR SenseBuffer[1];
|
|
#define SM_ScsiInquiry_OUT_SenseBuffer_ID 13
|
|
|
|
} SM_ScsiInquiry_OUT, *PSM_ScsiInquiry_OUT;
|
|
|
|
#define SM_ScsiReportLuns 2
|
|
typedef struct _SM_ScsiReportLuns_IN
|
|
{
|
|
//
|
|
UCHAR HbaPortWWN[8];
|
|
#define SM_ScsiReportLuns_IN_HbaPortWWN_SIZE sizeof(UCHAR[8])
|
|
#define SM_ScsiReportLuns_IN_HbaPortWWN_ID 1
|
|
|
|
//
|
|
UCHAR DiscoveredPortWWN[8];
|
|
#define SM_ScsiReportLuns_IN_DiscoveredPortWWN_SIZE sizeof(UCHAR[8])
|
|
#define SM_ScsiReportLuns_IN_DiscoveredPortWWN_ID 2
|
|
|
|
//
|
|
UCHAR DomainPortWWN[8];
|
|
#define SM_ScsiReportLuns_IN_DomainPortWWN_SIZE sizeof(UCHAR[8])
|
|
#define SM_ScsiReportLuns_IN_DomainPortWWN_ID 3
|
|
|
|
//
|
|
UCHAR Cdb[12];
|
|
#define SM_ScsiReportLuns_IN_Cdb_SIZE sizeof(UCHAR[12])
|
|
#define SM_ScsiReportLuns_IN_Cdb_ID 4
|
|
|
|
//
|
|
ULONG InRespBufferMaxSize;
|
|
#define SM_ScsiReportLuns_IN_InRespBufferMaxSize_SIZE sizeof(ULONG)
|
|
#define SM_ScsiReportLuns_IN_InRespBufferMaxSize_ID 5
|
|
|
|
//
|
|
ULONG InSenseBufferMaxSize;
|
|
#define SM_ScsiReportLuns_IN_InSenseBufferMaxSize_SIZE sizeof(ULONG)
|
|
#define SM_ScsiReportLuns_IN_InSenseBufferMaxSize_ID 6
|
|
|
|
} SM_ScsiReportLuns_IN, *PSM_ScsiReportLuns_IN;
|
|
|
|
#define SM_ScsiReportLuns_IN_SIZE (FIELD_OFFSET(SM_ScsiReportLuns_IN, InSenseBufferMaxSize) + SM_ScsiReportLuns_IN_InSenseBufferMaxSize_SIZE)
|
|
|
|
typedef struct _SM_ScsiReportLuns_OUT
|
|
{
|
|
//
|
|
ULONG HBAStatus;
|
|
#define SM_ScsiReportLuns_OUT_HBAStatus_SIZE sizeof(ULONG)
|
|
#define SM_ScsiReportLuns_OUT_HBAStatus_ID 7
|
|
|
|
//
|
|
UCHAR ScsiStatus;
|
|
#define SM_ScsiReportLuns_OUT_ScsiStatus_SIZE sizeof(UCHAR)
|
|
#define SM_ScsiReportLuns_OUT_ScsiStatus_ID 8
|
|
|
|
//
|
|
ULONG TotalRespBufferSize;
|
|
#define SM_ScsiReportLuns_OUT_TotalRespBufferSize_SIZE sizeof(ULONG)
|
|
#define SM_ScsiReportLuns_OUT_TotalRespBufferSize_ID 9
|
|
|
|
//
|
|
ULONG OutRespBufferSize;
|
|
#define SM_ScsiReportLuns_OUT_OutRespBufferSize_SIZE sizeof(ULONG)
|
|
#define SM_ScsiReportLuns_OUT_OutRespBufferSize_ID 10
|
|
|
|
//
|
|
ULONG OutSenseBufferSize;
|
|
#define SM_ScsiReportLuns_OUT_OutSenseBufferSize_SIZE sizeof(ULONG)
|
|
#define SM_ScsiReportLuns_OUT_OutSenseBufferSize_ID 11
|
|
|
|
//
|
|
UCHAR RespBuffer[1];
|
|
#define SM_ScsiReportLuns_OUT_RespBuffer_ID 12
|
|
|
|
//
|
|
// UCHAR SenseBuffer[1];
|
|
#define SM_ScsiReportLuns_OUT_SenseBuffer_ID 13
|
|
|
|
} SM_ScsiReportLuns_OUT, *PSM_ScsiReportLuns_OUT;
|
|
|
|
#define SM_ScsiReadCapacity 3
|
|
typedef struct _SM_ScsiReadCapacity_IN
|
|
{
|
|
//
|
|
UCHAR HbaPortWWN[8];
|
|
#define SM_ScsiReadCapacity_IN_HbaPortWWN_SIZE sizeof(UCHAR[8])
|
|
#define SM_ScsiReadCapacity_IN_HbaPortWWN_ID 1
|
|
|
|
//
|
|
UCHAR DiscoveredPortWWN[8];
|
|
#define SM_ScsiReadCapacity_IN_DiscoveredPortWWN_SIZE sizeof(UCHAR[8])
|
|
#define SM_ScsiReadCapacity_IN_DiscoveredPortWWN_ID 2
|
|
|
|
//
|
|
UCHAR DomainPortWWN[8];
|
|
#define SM_ScsiReadCapacity_IN_DomainPortWWN_SIZE sizeof(UCHAR[8])
|
|
#define SM_ScsiReadCapacity_IN_DomainPortWWN_ID 3
|
|
|
|
//
|
|
ULONGLONG SmhbaLUN;
|
|
#define SM_ScsiReadCapacity_IN_SmhbaLUN_SIZE sizeof(ULONGLONG)
|
|
#define SM_ScsiReadCapacity_IN_SmhbaLUN_ID 4
|
|
|
|
//
|
|
UCHAR Cdb[16];
|
|
#define SM_ScsiReadCapacity_IN_Cdb_SIZE sizeof(UCHAR[16])
|
|
#define SM_ScsiReadCapacity_IN_Cdb_ID 5
|
|
|
|
//
|
|
ULONG InRespBufferMaxSize;
|
|
#define SM_ScsiReadCapacity_IN_InRespBufferMaxSize_SIZE sizeof(ULONG)
|
|
#define SM_ScsiReadCapacity_IN_InRespBufferMaxSize_ID 6
|
|
|
|
//
|
|
ULONG InSenseBufferMaxSize;
|
|
#define SM_ScsiReadCapacity_IN_InSenseBufferMaxSize_SIZE sizeof(ULONG)
|
|
#define SM_ScsiReadCapacity_IN_InSenseBufferMaxSize_ID 7
|
|
|
|
} SM_ScsiReadCapacity_IN, *PSM_ScsiReadCapacity_IN;
|
|
|
|
#define SM_ScsiReadCapacity_IN_SIZE (FIELD_OFFSET(SM_ScsiReadCapacity_IN, InSenseBufferMaxSize) + SM_ScsiReadCapacity_IN_InSenseBufferMaxSize_SIZE)
|
|
|
|
typedef struct _SM_ScsiReadCapacity_OUT
|
|
{
|
|
//
|
|
ULONG HBAStatus;
|
|
#define SM_ScsiReadCapacity_OUT_HBAStatus_SIZE sizeof(ULONG)
|
|
#define SM_ScsiReadCapacity_OUT_HBAStatus_ID 8
|
|
|
|
//
|
|
UCHAR ScsiStatus;
|
|
#define SM_ScsiReadCapacity_OUT_ScsiStatus_SIZE sizeof(UCHAR)
|
|
#define SM_ScsiReadCapacity_OUT_ScsiStatus_ID 9
|
|
|
|
//
|
|
ULONG OutRespBufferSize;
|
|
#define SM_ScsiReadCapacity_OUT_OutRespBufferSize_SIZE sizeof(ULONG)
|
|
#define SM_ScsiReadCapacity_OUT_OutRespBufferSize_ID 10
|
|
|
|
//
|
|
ULONG OutSenseBufferSize;
|
|
#define SM_ScsiReadCapacity_OUT_OutSenseBufferSize_SIZE sizeof(ULONG)
|
|
#define SM_ScsiReadCapacity_OUT_OutSenseBufferSize_ID 11
|
|
|
|
//
|
|
UCHAR RespBuffer[1];
|
|
#define SM_ScsiReadCapacity_OUT_RespBuffer_ID 12
|
|
|
|
//
|
|
// UCHAR SenseBuffer[1];
|
|
#define SM_ScsiReadCapacity_OUT_SenseBuffer_ID 13
|
|
|
|
} SM_ScsiReadCapacity_OUT, *PSM_ScsiReadCapacity_OUT;
|
|
|
|
|
|
// MS_SM_FabricAndDomainManagementMethods - MS_SM_FabricAndDomainManagementMethods
|
|
#define MS_SM_FabricAndDomainManagementMethodsGuid \
|
|
{ 0x467fea10,0x701b,0x4388, { 0x91,0x7f,0x73,0x06,0x20,0xce,0xa3,0x28 } }
|
|
|
|
#if ! (defined(MIDL_PASS))
|
|
DEFINE_GUID(MS_SM_FabricAndDomainManagementMethods_GUID, \
|
|
0x467fea10,0x701b,0x4388,0x91,0x7f,0x73,0x06,0x20,0xce,0xa3,0x28);
|
|
#endif
|
|
|
|
//
|
|
// Method id definitions for MS_SM_FabricAndDomainManagementMethods
|
|
#define SM_SendTEST 1
|
|
typedef struct _SM_SendTEST_IN
|
|
{
|
|
//
|
|
UCHAR HbaPortWWN[8];
|
|
#define SM_SendTEST_IN_HbaPortWWN_SIZE sizeof(UCHAR[8])
|
|
#define SM_SendTEST_IN_HbaPortWWN_ID 1
|
|
|
|
//
|
|
UCHAR DestWWN[8];
|
|
#define SM_SendTEST_IN_DestWWN_SIZE sizeof(UCHAR[8])
|
|
#define SM_SendTEST_IN_DestWWN_ID 2
|
|
|
|
//
|
|
ULONG DestFCID;
|
|
#define SM_SendTEST_IN_DestFCID_SIZE sizeof(ULONG)
|
|
#define SM_SendTEST_IN_DestFCID_ID 3
|
|
|
|
//
|
|
ULONG ReqBufferSize;
|
|
#define SM_SendTEST_IN_ReqBufferSize_SIZE sizeof(ULONG)
|
|
#define SM_SendTEST_IN_ReqBufferSize_ID 4
|
|
|
|
//
|
|
UCHAR ReqBuffer[1];
|
|
#define SM_SendTEST_IN_ReqBuffer_ID 5
|
|
|
|
} SM_SendTEST_IN, *PSM_SendTEST_IN;
|
|
|
|
typedef struct _SM_SendTEST_OUT
|
|
{
|
|
//
|
|
ULONG HBAStatus;
|
|
#define SM_SendTEST_OUT_HBAStatus_SIZE sizeof(ULONG)
|
|
#define SM_SendTEST_OUT_HBAStatus_ID 6
|
|
|
|
} SM_SendTEST_OUT, *PSM_SendTEST_OUT;
|
|
|
|
#define SM_SendTEST_OUT_SIZE (FIELD_OFFSET(SM_SendTEST_OUT, HBAStatus) + SM_SendTEST_OUT_HBAStatus_SIZE)
|
|
|
|
#define SM_SendECHO 2
|
|
typedef struct _SM_SendECHO_IN
|
|
{
|
|
//
|
|
UCHAR HbaPortWWN[8];
|
|
#define SM_SendECHO_IN_HbaPortWWN_SIZE sizeof(UCHAR[8])
|
|
#define SM_SendECHO_IN_HbaPortWWN_ID 1
|
|
|
|
//
|
|
UCHAR DestWWN[8];
|
|
#define SM_SendECHO_IN_DestWWN_SIZE sizeof(UCHAR[8])
|
|
#define SM_SendECHO_IN_DestWWN_ID 2
|
|
|
|
//
|
|
ULONG DestFCID;
|
|
#define SM_SendECHO_IN_DestFCID_SIZE sizeof(ULONG)
|
|
#define SM_SendECHO_IN_DestFCID_ID 3
|
|
|
|
//
|
|
ULONG InRespBufferMaxSize;
|
|
#define SM_SendECHO_IN_InRespBufferMaxSize_SIZE sizeof(ULONG)
|
|
#define SM_SendECHO_IN_InRespBufferMaxSize_ID 4
|
|
|
|
//
|
|
ULONG ReqBufferSize;
|
|
#define SM_SendECHO_IN_ReqBufferSize_SIZE sizeof(ULONG)
|
|
#define SM_SendECHO_IN_ReqBufferSize_ID 5
|
|
|
|
//
|
|
UCHAR ReqBuffer[1];
|
|
#define SM_SendECHO_IN_ReqBuffer_ID 6
|
|
|
|
} SM_SendECHO_IN, *PSM_SendECHO_IN;
|
|
|
|
typedef struct _SM_SendECHO_OUT
|
|
{
|
|
//
|
|
ULONG HBAStatus;
|
|
#define SM_SendECHO_OUT_HBAStatus_SIZE sizeof(ULONG)
|
|
#define SM_SendECHO_OUT_HBAStatus_ID 7
|
|
|
|
//
|
|
ULONG OutRespBufferSize;
|
|
#define SM_SendECHO_OUT_OutRespBufferSize_SIZE sizeof(ULONG)
|
|
#define SM_SendECHO_OUT_OutRespBufferSize_ID 8
|
|
|
|
//
|
|
UCHAR RespBuffer[1];
|
|
#define SM_SendECHO_OUT_RespBuffer_ID 9
|
|
|
|
} SM_SendECHO_OUT, *PSM_SendECHO_OUT;
|
|
|
|
#define SM_SendSMPPassThru 3
|
|
typedef struct _SM_SendSMPPassThru_IN
|
|
{
|
|
//
|
|
UCHAR HbaPortWWN[8];
|
|
#define SM_SendSMPPassThru_IN_HbaPortWWN_SIZE sizeof(UCHAR[8])
|
|
#define SM_SendSMPPassThru_IN_HbaPortWWN_ID 1
|
|
|
|
//
|
|
UCHAR DestPortWWN[8];
|
|
#define SM_SendSMPPassThru_IN_DestPortWWN_SIZE sizeof(UCHAR[8])
|
|
#define SM_SendSMPPassThru_IN_DestPortWWN_ID 2
|
|
|
|
//
|
|
UCHAR DomainPortWWN[8];
|
|
#define SM_SendSMPPassThru_IN_DomainPortWWN_SIZE sizeof(UCHAR[8])
|
|
#define SM_SendSMPPassThru_IN_DomainPortWWN_ID 3
|
|
|
|
//
|
|
ULONG InRespBufferMaxSize;
|
|
#define SM_SendSMPPassThru_IN_InRespBufferMaxSize_SIZE sizeof(ULONG)
|
|
#define SM_SendSMPPassThru_IN_InRespBufferMaxSize_ID 4
|
|
|
|
//
|
|
ULONG ReqBufferSize;
|
|
#define SM_SendSMPPassThru_IN_ReqBufferSize_SIZE sizeof(ULONG)
|
|
#define SM_SendSMPPassThru_IN_ReqBufferSize_ID 5
|
|
|
|
//
|
|
UCHAR ReqBuffer[1];
|
|
#define SM_SendSMPPassThru_IN_ReqBuffer_ID 6
|
|
|
|
} SM_SendSMPPassThru_IN, *PSM_SendSMPPassThru_IN;
|
|
|
|
typedef struct _SM_SendSMPPassThru_OUT
|
|
{
|
|
//
|
|
ULONG HBAStatus;
|
|
#define SM_SendSMPPassThru_OUT_HBAStatus_SIZE sizeof(ULONG)
|
|
#define SM_SendSMPPassThru_OUT_HBAStatus_ID 7
|
|
|
|
//
|
|
ULONG TotalRespBufferSize;
|
|
#define SM_SendSMPPassThru_OUT_TotalRespBufferSize_SIZE sizeof(ULONG)
|
|
#define SM_SendSMPPassThru_OUT_TotalRespBufferSize_ID 8
|
|
|
|
//
|
|
ULONG OutRespBufferSize;
|
|
#define SM_SendSMPPassThru_OUT_OutRespBufferSize_SIZE sizeof(ULONG)
|
|
#define SM_SendSMPPassThru_OUT_OutRespBufferSize_ID 9
|
|
|
|
//
|
|
UCHAR RespBuffer[1];
|
|
#define SM_SendSMPPassThru_OUT_RespBuffer_ID 10
|
|
|
|
} SM_SendSMPPassThru_OUT, *PSM_SendSMPPassThru_OUT;
|
|
|
|
#define SM_SendCTPassThru 10
|
|
typedef struct _SM_SendCTPassThru_IN
|
|
{
|
|
//
|
|
UCHAR HbaPortWWN[8];
|
|
#define SM_SendCTPassThru_IN_HbaPortWWN_SIZE sizeof(UCHAR[8])
|
|
#define SM_SendCTPassThru_IN_HbaPortWWN_ID 1
|
|
|
|
//
|
|
ULONG InRespBufferMaxSize;
|
|
#define SM_SendCTPassThru_IN_InRespBufferMaxSize_SIZE sizeof(ULONG)
|
|
#define SM_SendCTPassThru_IN_InRespBufferMaxSize_ID 2
|
|
|
|
//
|
|
ULONG ReqBufferSize;
|
|
#define SM_SendCTPassThru_IN_ReqBufferSize_SIZE sizeof(ULONG)
|
|
#define SM_SendCTPassThru_IN_ReqBufferSize_ID 3
|
|
|
|
//
|
|
UCHAR ReqBuffer[1];
|
|
#define SM_SendCTPassThru_IN_ReqBuffer_ID 4
|
|
|
|
} SM_SendCTPassThru_IN, *PSM_SendCTPassThru_IN;
|
|
|
|
typedef struct _SM_SendCTPassThru_OUT
|
|
{
|
|
//
|
|
ULONG HBAStatus;
|
|
#define SM_SendCTPassThru_OUT_HBAStatus_SIZE sizeof(ULONG)
|
|
#define SM_SendCTPassThru_OUT_HBAStatus_ID 5
|
|
|
|
//
|
|
ULONG TotalRespBufferSize;
|
|
#define SM_SendCTPassThru_OUT_TotalRespBufferSize_SIZE sizeof(ULONG)
|
|
#define SM_SendCTPassThru_OUT_TotalRespBufferSize_ID 6
|
|
|
|
//
|
|
ULONG OutRespBufferSize;
|
|
#define SM_SendCTPassThru_OUT_OutRespBufferSize_SIZE sizeof(ULONG)
|
|
#define SM_SendCTPassThru_OUT_OutRespBufferSize_ID 7
|
|
|
|
//
|
|
UCHAR RespBuffer[1];
|
|
#define SM_SendCTPassThru_OUT_RespBuffer_ID 8
|
|
|
|
} SM_SendCTPassThru_OUT, *PSM_SendCTPassThru_OUT;
|
|
|
|
#define SM_GetRNIDMgmtInfo 11
|
|
typedef struct _SM_GetRNIDMgmtInfo_OUT
|
|
{
|
|
//
|
|
ULONG HBAStatus;
|
|
#define SM_GetRNIDMgmtInfo_OUT_HBAStatus_SIZE sizeof(ULONG)
|
|
#define SM_GetRNIDMgmtInfo_OUT_HBAStatus_ID 1
|
|
|
|
//
|
|
HBAFC3MgmtInfo MgmtInfo;
|
|
#define SM_GetRNIDMgmtInfo_OUT_MgmtInfo_SIZE sizeof(HBAFC3MgmtInfo)
|
|
#define SM_GetRNIDMgmtInfo_OUT_MgmtInfo_ID 2
|
|
|
|
} SM_GetRNIDMgmtInfo_OUT, *PSM_GetRNIDMgmtInfo_OUT;
|
|
|
|
#define SM_GetRNIDMgmtInfo_OUT_SIZE (FIELD_OFFSET(SM_GetRNIDMgmtInfo_OUT, MgmtInfo) + SM_GetRNIDMgmtInfo_OUT_MgmtInfo_SIZE)
|
|
|
|
#define SM_SetRNIDMgmtInfo 12
|
|
typedef struct _SM_SetRNIDMgmtInfo_IN
|
|
{
|
|
//
|
|
HBAFC3MgmtInfo MgmtInfo;
|
|
#define SM_SetRNIDMgmtInfo_IN_MgmtInfo_SIZE sizeof(HBAFC3MgmtInfo)
|
|
#define SM_SetRNIDMgmtInfo_IN_MgmtInfo_ID 1
|
|
|
|
} SM_SetRNIDMgmtInfo_IN, *PSM_SetRNIDMgmtInfo_IN;
|
|
|
|
#define SM_SetRNIDMgmtInfo_IN_SIZE (FIELD_OFFSET(SM_SetRNIDMgmtInfo_IN, MgmtInfo) + SM_SetRNIDMgmtInfo_IN_MgmtInfo_SIZE)
|
|
|
|
typedef struct _SM_SetRNIDMgmtInfo_OUT
|
|
{
|
|
//
|
|
ULONG HBAStatus;
|
|
#define SM_SetRNIDMgmtInfo_OUT_HBAStatus_SIZE sizeof(ULONG)
|
|
#define SM_SetRNIDMgmtInfo_OUT_HBAStatus_ID 2
|
|
|
|
} SM_SetRNIDMgmtInfo_OUT, *PSM_SetRNIDMgmtInfo_OUT;
|
|
|
|
#define SM_SetRNIDMgmtInfo_OUT_SIZE (FIELD_OFFSET(SM_SetRNIDMgmtInfo_OUT, HBAStatus) + SM_SetRNIDMgmtInfo_OUT_HBAStatus_SIZE)
|
|
|
|
#define SM_SendRNID 13
|
|
typedef struct _SM_SendRNID_IN
|
|
{
|
|
//
|
|
UCHAR HbaPortWWN[8];
|
|
#define SM_SendRNID_IN_HbaPortWWN_SIZE sizeof(UCHAR[8])
|
|
#define SM_SendRNID_IN_HbaPortWWN_ID 1
|
|
|
|
//
|
|
UCHAR DestWWN[8];
|
|
#define SM_SendRNID_IN_DestWWN_SIZE sizeof(UCHAR[8])
|
|
#define SM_SendRNID_IN_DestWWN_ID 2
|
|
|
|
//
|
|
ULONG DestFCID;
|
|
#define SM_SendRNID_IN_DestFCID_SIZE sizeof(ULONG)
|
|
#define SM_SendRNID_IN_DestFCID_ID 3
|
|
|
|
//
|
|
ULONG NodeIdDataFormat;
|
|
#define SM_SendRNID_IN_NodeIdDataFormat_SIZE sizeof(ULONG)
|
|
#define SM_SendRNID_IN_NodeIdDataFormat_ID 4
|
|
|
|
//
|
|
ULONG InRespBufferMaxSize;
|
|
#define SM_SendRNID_IN_InRespBufferMaxSize_SIZE sizeof(ULONG)
|
|
#define SM_SendRNID_IN_InRespBufferMaxSize_ID 5
|
|
|
|
} SM_SendRNID_IN, *PSM_SendRNID_IN;
|
|
|
|
#define SM_SendRNID_IN_SIZE (FIELD_OFFSET(SM_SendRNID_IN, InRespBufferMaxSize) + SM_SendRNID_IN_InRespBufferMaxSize_SIZE)
|
|
|
|
typedef struct _SM_SendRNID_OUT
|
|
{
|
|
//
|
|
ULONG HBAStatus;
|
|
#define SM_SendRNID_OUT_HBAStatus_SIZE sizeof(ULONG)
|
|
#define SM_SendRNID_OUT_HBAStatus_ID 6
|
|
|
|
//
|
|
ULONG TotalRespBufferSize;
|
|
#define SM_SendRNID_OUT_TotalRespBufferSize_SIZE sizeof(ULONG)
|
|
#define SM_SendRNID_OUT_TotalRespBufferSize_ID 7
|
|
|
|
//
|
|
ULONG OutRespBufferSize;
|
|
#define SM_SendRNID_OUT_OutRespBufferSize_SIZE sizeof(ULONG)
|
|
#define SM_SendRNID_OUT_OutRespBufferSize_ID 8
|
|
|
|
//
|
|
UCHAR RespBuffer[1];
|
|
#define SM_SendRNID_OUT_RespBuffer_ID 9
|
|
|
|
} SM_SendRNID_OUT, *PSM_SendRNID_OUT;
|
|
|
|
#define SM_SendRPL 14
|
|
typedef struct _SM_SendRPL_IN
|
|
{
|
|
//
|
|
UCHAR HbaPortWWN[8];
|
|
#define SM_SendRPL_IN_HbaPortWWN_SIZE sizeof(UCHAR[8])
|
|
#define SM_SendRPL_IN_HbaPortWWN_ID 1
|
|
|
|
//
|
|
UCHAR AgentWWN[8];
|
|
#define SM_SendRPL_IN_AgentWWN_SIZE sizeof(UCHAR[8])
|
|
#define SM_SendRPL_IN_AgentWWN_ID 2
|
|
|
|
//
|
|
ULONG AgentDomain;
|
|
#define SM_SendRPL_IN_AgentDomain_SIZE sizeof(ULONG)
|
|
#define SM_SendRPL_IN_AgentDomain_ID 3
|
|
|
|
//
|
|
ULONG PortIndex;
|
|
#define SM_SendRPL_IN_PortIndex_SIZE sizeof(ULONG)
|
|
#define SM_SendRPL_IN_PortIndex_ID 4
|
|
|
|
//
|
|
ULONG InRespBufferMaxSize;
|
|
#define SM_SendRPL_IN_InRespBufferMaxSize_SIZE sizeof(ULONG)
|
|
#define SM_SendRPL_IN_InRespBufferMaxSize_ID 5
|
|
|
|
} SM_SendRPL_IN, *PSM_SendRPL_IN;
|
|
|
|
#define SM_SendRPL_IN_SIZE (FIELD_OFFSET(SM_SendRPL_IN, InRespBufferMaxSize) + SM_SendRPL_IN_InRespBufferMaxSize_SIZE)
|
|
|
|
typedef struct _SM_SendRPL_OUT
|
|
{
|
|
//
|
|
ULONG HBAStatus;
|
|
#define SM_SendRPL_OUT_HBAStatus_SIZE sizeof(ULONG)
|
|
#define SM_SendRPL_OUT_HBAStatus_ID 6
|
|
|
|
//
|
|
ULONG TotalRespBufferSize;
|
|
#define SM_SendRPL_OUT_TotalRespBufferSize_SIZE sizeof(ULONG)
|
|
#define SM_SendRPL_OUT_TotalRespBufferSize_ID 7
|
|
|
|
//
|
|
ULONG OutRespBufferSize;
|
|
#define SM_SendRPL_OUT_OutRespBufferSize_SIZE sizeof(ULONG)
|
|
#define SM_SendRPL_OUT_OutRespBufferSize_ID 8
|
|
|
|
//
|
|
UCHAR RespBuffer[1];
|
|
#define SM_SendRPL_OUT_RespBuffer_ID 9
|
|
|
|
} SM_SendRPL_OUT, *PSM_SendRPL_OUT;
|
|
|
|
#define SM_SendRPS 15
|
|
typedef struct _SM_SendRPS_IN
|
|
{
|
|
//
|
|
UCHAR HbaPortWWN[8];
|
|
#define SM_SendRPS_IN_HbaPortWWN_SIZE sizeof(UCHAR[8])
|
|
#define SM_SendRPS_IN_HbaPortWWN_ID 1
|
|
|
|
//
|
|
UCHAR AgentWWN[8];
|
|
#define SM_SendRPS_IN_AgentWWN_SIZE sizeof(UCHAR[8])
|
|
#define SM_SendRPS_IN_AgentWWN_ID 2
|
|
|
|
//
|
|
UCHAR ObjectWWN[8];
|
|
#define SM_SendRPS_IN_ObjectWWN_SIZE sizeof(UCHAR[8])
|
|
#define SM_SendRPS_IN_ObjectWWN_ID 3
|
|
|
|
//
|
|
ULONG AgentDomain;
|
|
#define SM_SendRPS_IN_AgentDomain_SIZE sizeof(ULONG)
|
|
#define SM_SendRPS_IN_AgentDomain_ID 4
|
|
|
|
//
|
|
ULONG ObjectPortNumber;
|
|
#define SM_SendRPS_IN_ObjectPortNumber_SIZE sizeof(ULONG)
|
|
#define SM_SendRPS_IN_ObjectPortNumber_ID 5
|
|
|
|
//
|
|
ULONG InRespBufferMaxSize;
|
|
#define SM_SendRPS_IN_InRespBufferMaxSize_SIZE sizeof(ULONG)
|
|
#define SM_SendRPS_IN_InRespBufferMaxSize_ID 6
|
|
|
|
} SM_SendRPS_IN, *PSM_SendRPS_IN;
|
|
|
|
#define SM_SendRPS_IN_SIZE (FIELD_OFFSET(SM_SendRPS_IN, InRespBufferMaxSize) + SM_SendRPS_IN_InRespBufferMaxSize_SIZE)
|
|
|
|
typedef struct _SM_SendRPS_OUT
|
|
{
|
|
//
|
|
ULONG HBAStatus;
|
|
#define SM_SendRPS_OUT_HBAStatus_SIZE sizeof(ULONG)
|
|
#define SM_SendRPS_OUT_HBAStatus_ID 7
|
|
|
|
//
|
|
ULONG TotalRespBufferSize;
|
|
#define SM_SendRPS_OUT_TotalRespBufferSize_SIZE sizeof(ULONG)
|
|
#define SM_SendRPS_OUT_TotalRespBufferSize_ID 8
|
|
|
|
//
|
|
ULONG OutRespBufferSize;
|
|
#define SM_SendRPS_OUT_OutRespBufferSize_SIZE sizeof(ULONG)
|
|
#define SM_SendRPS_OUT_OutRespBufferSize_ID 9
|
|
|
|
//
|
|
UCHAR RespBuffer[1];
|
|
#define SM_SendRPS_OUT_RespBuffer_ID 10
|
|
|
|
} SM_SendRPS_OUT, *PSM_SendRPS_OUT;
|
|
|
|
#define SM_SendSRL 16
|
|
typedef struct _SM_SendSRL_IN
|
|
{
|
|
//
|
|
UCHAR HbaPortWWN[8];
|
|
#define SM_SendSRL_IN_HbaPortWWN_SIZE sizeof(UCHAR[8])
|
|
#define SM_SendSRL_IN_HbaPortWWN_ID 1
|
|
|
|
//
|
|
UCHAR WWN[8];
|
|
#define SM_SendSRL_IN_WWN_SIZE sizeof(UCHAR[8])
|
|
#define SM_SendSRL_IN_WWN_ID 2
|
|
|
|
//
|
|
ULONG Domain;
|
|
#define SM_SendSRL_IN_Domain_SIZE sizeof(ULONG)
|
|
#define SM_SendSRL_IN_Domain_ID 3
|
|
|
|
//
|
|
ULONG InRespBufferMaxSize;
|
|
#define SM_SendSRL_IN_InRespBufferMaxSize_SIZE sizeof(ULONG)
|
|
#define SM_SendSRL_IN_InRespBufferMaxSize_ID 4
|
|
|
|
} SM_SendSRL_IN, *PSM_SendSRL_IN;
|
|
|
|
#define SM_SendSRL_IN_SIZE (FIELD_OFFSET(SM_SendSRL_IN, InRespBufferMaxSize) + SM_SendSRL_IN_InRespBufferMaxSize_SIZE)
|
|
|
|
typedef struct _SM_SendSRL_OUT
|
|
{
|
|
//
|
|
ULONG HBAStatus;
|
|
#define SM_SendSRL_OUT_HBAStatus_SIZE sizeof(ULONG)
|
|
#define SM_SendSRL_OUT_HBAStatus_ID 5
|
|
|
|
//
|
|
ULONG TotalRespBufferSize;
|
|
#define SM_SendSRL_OUT_TotalRespBufferSize_SIZE sizeof(ULONG)
|
|
#define SM_SendSRL_OUT_TotalRespBufferSize_ID 6
|
|
|
|
//
|
|
ULONG OutRespBufferSize;
|
|
#define SM_SendSRL_OUT_OutRespBufferSize_SIZE sizeof(ULONG)
|
|
#define SM_SendSRL_OUT_OutRespBufferSize_ID 7
|
|
|
|
//
|
|
UCHAR RespBuffer[1];
|
|
#define SM_SendSRL_OUT_RespBuffer_ID 8
|
|
|
|
} SM_SendSRL_OUT, *PSM_SendSRL_OUT;
|
|
|
|
#define SM_SendLIRR 17
|
|
typedef struct _SM_SendLIRR_IN
|
|
{
|
|
//
|
|
UCHAR SourceWWN[8];
|
|
#define SM_SendLIRR_IN_SourceWWN_SIZE sizeof(UCHAR[8])
|
|
#define SM_SendLIRR_IN_SourceWWN_ID 1
|
|
|
|
//
|
|
UCHAR DestWWN[8];
|
|
#define SM_SendLIRR_IN_DestWWN_SIZE sizeof(UCHAR[8])
|
|
#define SM_SendLIRR_IN_DestWWN_ID 2
|
|
|
|
//
|
|
UCHAR Function;
|
|
#define SM_SendLIRR_IN_Function_SIZE sizeof(UCHAR)
|
|
#define SM_SendLIRR_IN_Function_ID 3
|
|
|
|
//
|
|
UCHAR Type;
|
|
#define SM_SendLIRR_IN_Type_SIZE sizeof(UCHAR)
|
|
#define SM_SendLIRR_IN_Type_ID 4
|
|
|
|
//
|
|
ULONG InRespBufferMaxSize;
|
|
#define SM_SendLIRR_IN_InRespBufferMaxSize_SIZE sizeof(ULONG)
|
|
#define SM_SendLIRR_IN_InRespBufferMaxSize_ID 5
|
|
|
|
} SM_SendLIRR_IN, *PSM_SendLIRR_IN;
|
|
|
|
#define SM_SendLIRR_IN_SIZE (FIELD_OFFSET(SM_SendLIRR_IN, InRespBufferMaxSize) + SM_SendLIRR_IN_InRespBufferMaxSize_SIZE)
|
|
|
|
typedef struct _SM_SendLIRR_OUT
|
|
{
|
|
//
|
|
ULONG HBAStatus;
|
|
#define SM_SendLIRR_OUT_HBAStatus_SIZE sizeof(ULONG)
|
|
#define SM_SendLIRR_OUT_HBAStatus_ID 6
|
|
|
|
//
|
|
ULONG TotalRespBufferSize;
|
|
#define SM_SendLIRR_OUT_TotalRespBufferSize_SIZE sizeof(ULONG)
|
|
#define SM_SendLIRR_OUT_TotalRespBufferSize_ID 7
|
|
|
|
//
|
|
ULONG OutRespBufferSize;
|
|
#define SM_SendLIRR_OUT_OutRespBufferSize_SIZE sizeof(ULONG)
|
|
#define SM_SendLIRR_OUT_OutRespBufferSize_ID 8
|
|
|
|
//
|
|
UCHAR RespBuffer[1];
|
|
#define SM_SendLIRR_OUT_RespBuffer_ID 9
|
|
|
|
} SM_SendLIRR_OUT, *PSM_SendLIRR_OUT;
|
|
|
|
#define SM_SendRLS 18
|
|
typedef struct _SM_SendRLS_IN
|
|
{
|
|
//
|
|
UCHAR HbaPortWWN[8];
|
|
#define SM_SendRLS_IN_HbaPortWWN_SIZE sizeof(UCHAR[8])
|
|
#define SM_SendRLS_IN_HbaPortWWN_ID 1
|
|
|
|
//
|
|
UCHAR DestWWN[8];
|
|
#define SM_SendRLS_IN_DestWWN_SIZE sizeof(UCHAR[8])
|
|
#define SM_SendRLS_IN_DestWWN_ID 2
|
|
|
|
//
|
|
ULONG InRespBufferMaxSize;
|
|
#define SM_SendRLS_IN_InRespBufferMaxSize_SIZE sizeof(ULONG)
|
|
#define SM_SendRLS_IN_InRespBufferMaxSize_ID 3
|
|
|
|
} SM_SendRLS_IN, *PSM_SendRLS_IN;
|
|
|
|
#define SM_SendRLS_IN_SIZE (FIELD_OFFSET(SM_SendRLS_IN, InRespBufferMaxSize) + SM_SendRLS_IN_InRespBufferMaxSize_SIZE)
|
|
|
|
typedef struct _SM_SendRLS_OUT
|
|
{
|
|
//
|
|
ULONG HBAStatus;
|
|
#define SM_SendRLS_OUT_HBAStatus_SIZE sizeof(ULONG)
|
|
#define SM_SendRLS_OUT_HBAStatus_ID 4
|
|
|
|
//
|
|
ULONG TotalRespBufferSize;
|
|
#define SM_SendRLS_OUT_TotalRespBufferSize_SIZE sizeof(ULONG)
|
|
#define SM_SendRLS_OUT_TotalRespBufferSize_ID 5
|
|
|
|
//
|
|
ULONG OutRespBufferSize;
|
|
#define SM_SendRLS_OUT_OutRespBufferSize_SIZE sizeof(ULONG)
|
|
#define SM_SendRLS_OUT_OutRespBufferSize_ID 6
|
|
|
|
//
|
|
UCHAR RespBuffer[1];
|
|
#define SM_SendRLS_OUT_RespBuffer_ID 7
|
|
|
|
} SM_SendRLS_OUT, *PSM_SendRLS_OUT;
|
|
|
|
|
|
// MS_SM_AdapterEvent - MS_SM_AdapterEvent
|
|
#define MS_SM_AdapterEventGuid \
|
|
{ 0x7944cf67,0x697b,0x4432, { 0x95,0x3e,0x1f,0xda,0xda,0x88,0x43,0x61 } }
|
|
|
|
#if ! (defined(MIDL_PASS))
|
|
DEFINE_GUID(MS_SM_AdapterEvent_GUID, \
|
|
0x7944cf67,0x697b,0x4432,0x95,0x3e,0x1f,0xda,0xda,0x88,0x43,0x61);
|
|
#endif
|
|
|
|
|
|
typedef struct _MS_SM_AdapterEvent
|
|
{
|
|
//
|
|
ULONG EventType;
|
|
#define MS_SM_AdapterEvent_EventType_SIZE sizeof(ULONG)
|
|
#define MS_SM_AdapterEvent_EventType_ID 1
|
|
|
|
//
|
|
UCHAR PortWWN[8];
|
|
#define MS_SM_AdapterEvent_PortWWN_SIZE sizeof(UCHAR[8])
|
|
#define MS_SM_AdapterEvent_PortWWN_ID 2
|
|
|
|
} MS_SM_AdapterEvent, *PMS_SM_AdapterEvent;
|
|
|
|
#define MS_SM_AdapterEvent_SIZE (FIELD_OFFSET(MS_SM_AdapterEvent, PortWWN) + MS_SM_AdapterEvent_PortWWN_SIZE)
|
|
|
|
// MS_SM_PortEvent - MS_SM_PortEvent
|
|
#define MS_SM_PortEventGuid \
|
|
{ 0x0f760256,0x8fc6,0x47ad, { 0x9d,0x2e,0xf0,0xd6,0x98,0x01,0xde,0x7c } }
|
|
|
|
#if ! (defined(MIDL_PASS))
|
|
DEFINE_GUID(MS_SM_PortEvent_GUID, \
|
|
0x0f760256,0x8fc6,0x47ad,0x9d,0x2e,0xf0,0xd6,0x98,0x01,0xde,0x7c);
|
|
#endif
|
|
|
|
|
|
typedef struct _MS_SM_PortEvent
|
|
{
|
|
//
|
|
ULONG EventType;
|
|
#define MS_SM_PortEvent_EventType_SIZE sizeof(ULONG)
|
|
#define MS_SM_PortEvent_EventType_ID 1
|
|
|
|
//
|
|
ULONG FabricPortId;
|
|
#define MS_SM_PortEvent_FabricPortId_SIZE sizeof(ULONG)
|
|
#define MS_SM_PortEvent_FabricPortId_ID 2
|
|
|
|
//
|
|
UCHAR PortWWN[8];
|
|
#define MS_SM_PortEvent_PortWWN_SIZE sizeof(UCHAR[8])
|
|
#define MS_SM_PortEvent_PortWWN_ID 3
|
|
|
|
} MS_SM_PortEvent, *PMS_SM_PortEvent;
|
|
|
|
#define MS_SM_PortEvent_SIZE (FIELD_OFFSET(MS_SM_PortEvent, PortWWN) + MS_SM_PortEvent_PortWWN_SIZE)
|
|
|
|
// MS_SM_TargetEvent - MS_SM_TargetEvent
|
|
#define MS_SM_TargetEventGuid \
|
|
{ 0x6e2d8b73,0xf928,0x4da9, { 0xbd,0xa1,0xae,0x54,0x18,0x9a,0x38,0x25 } }
|
|
|
|
#if ! (defined(MIDL_PASS))
|
|
DEFINE_GUID(MS_SM_TargetEvent_GUID, \
|
|
0x6e2d8b73,0xf928,0x4da9,0xbd,0xa1,0xae,0x54,0x18,0x9a,0x38,0x25);
|
|
#endif
|
|
|
|
|
|
typedef struct _MS_SM_TargetEvent
|
|
{
|
|
//
|
|
ULONG EventType;
|
|
#define MS_SM_TargetEvent_EventType_SIZE sizeof(ULONG)
|
|
#define MS_SM_TargetEvent_EventType_ID 1
|
|
|
|
//
|
|
UCHAR PortWWN[8];
|
|
#define MS_SM_TargetEvent_PortWWN_SIZE sizeof(UCHAR[8])
|
|
#define MS_SM_TargetEvent_PortWWN_ID 2
|
|
|
|
//
|
|
UCHAR DiscoveredPortWWN[8];
|
|
#define MS_SM_TargetEvent_DiscoveredPortWWN_SIZE sizeof(UCHAR[8])
|
|
#define MS_SM_TargetEvent_DiscoveredPortWWN_ID 3
|
|
|
|
//
|
|
UCHAR DomainPortWWN[8];
|
|
#define MS_SM_TargetEvent_DomainPortWWN_SIZE sizeof(UCHAR[8])
|
|
#define MS_SM_TargetEvent_DomainPortWWN_ID 4
|
|
|
|
} MS_SM_TargetEvent, *PMS_SM_TargetEvent;
|
|
|
|
#define MS_SM_TargetEvent_SIZE (FIELD_OFFSET(MS_SM_TargetEvent, DomainPortWWN) + MS_SM_TargetEvent_DomainPortWWN_SIZE)
|
|
|
|
// MS_SM_EventControl - MS_SM_EventControl
|
|
#define MS_SM_EventControlGuid \
|
|
{ 0xd6145693,0x5988,0x457f, { 0x85,0x81,0x9a,0x01,0x57,0xb5,0x86,0x90 } }
|
|
|
|
#if ! (defined(MIDL_PASS))
|
|
DEFINE_GUID(MS_SM_EventControl_GUID, \
|
|
0xd6145693,0x5988,0x457f,0x85,0x81,0x9a,0x01,0x57,0xb5,0x86,0x90);
|
|
#endif
|
|
|
|
//
|
|
// Method id definitions for MS_SM_EventControl
|
|
#define SM_AddTarget 1
|
|
typedef struct _SM_AddTarget_IN
|
|
{
|
|
//
|
|
UCHAR HbaPortWWN[8];
|
|
#define SM_AddTarget_IN_HbaPortWWN_SIZE sizeof(UCHAR[8])
|
|
#define SM_AddTarget_IN_HbaPortWWN_ID 1
|
|
|
|
//
|
|
UCHAR DiscoveredPortWWN[8];
|
|
#define SM_AddTarget_IN_DiscoveredPortWWN_SIZE sizeof(UCHAR[8])
|
|
#define SM_AddTarget_IN_DiscoveredPortWWN_ID 2
|
|
|
|
//
|
|
UCHAR DomainPortWWN[8];
|
|
#define SM_AddTarget_IN_DomainPortWWN_SIZE sizeof(UCHAR[8])
|
|
#define SM_AddTarget_IN_DomainPortWWN_ID 3
|
|
|
|
//
|
|
ULONG AllTargets;
|
|
#define SM_AddTarget_IN_AllTargets_SIZE sizeof(ULONG)
|
|
#define SM_AddTarget_IN_AllTargets_ID 4
|
|
|
|
} SM_AddTarget_IN, *PSM_AddTarget_IN;
|
|
|
|
#define SM_AddTarget_IN_SIZE (FIELD_OFFSET(SM_AddTarget_IN, AllTargets) + SM_AddTarget_IN_AllTargets_SIZE)
|
|
|
|
typedef struct _SM_AddTarget_OUT
|
|
{
|
|
//
|
|
ULONG HBAStatus;
|
|
#define SM_AddTarget_OUT_HBAStatus_SIZE sizeof(ULONG)
|
|
#define SM_AddTarget_OUT_HBAStatus_ID 5
|
|
|
|
} SM_AddTarget_OUT, *PSM_AddTarget_OUT;
|
|
|
|
#define SM_AddTarget_OUT_SIZE (FIELD_OFFSET(SM_AddTarget_OUT, HBAStatus) + SM_AddTarget_OUT_HBAStatus_SIZE)
|
|
|
|
#define SM_RemoveTarget 2
|
|
typedef struct _SM_RemoveTarget_IN
|
|
{
|
|
//
|
|
UCHAR HbaPortWWN[8];
|
|
#define SM_RemoveTarget_IN_HbaPortWWN_SIZE sizeof(UCHAR[8])
|
|
#define SM_RemoveTarget_IN_HbaPortWWN_ID 1
|
|
|
|
//
|
|
UCHAR DiscoveredPortWWN[8];
|
|
#define SM_RemoveTarget_IN_DiscoveredPortWWN_SIZE sizeof(UCHAR[8])
|
|
#define SM_RemoveTarget_IN_DiscoveredPortWWN_ID 2
|
|
|
|
//
|
|
UCHAR DomainPortWWN[8];
|
|
#define SM_RemoveTarget_IN_DomainPortWWN_SIZE sizeof(UCHAR[8])
|
|
#define SM_RemoveTarget_IN_DomainPortWWN_ID 3
|
|
|
|
//
|
|
ULONG AllTargets;
|
|
#define SM_RemoveTarget_IN_AllTargets_SIZE sizeof(ULONG)
|
|
#define SM_RemoveTarget_IN_AllTargets_ID 4
|
|
|
|
} SM_RemoveTarget_IN, *PSM_RemoveTarget_IN;
|
|
|
|
#define SM_RemoveTarget_IN_SIZE (FIELD_OFFSET(SM_RemoveTarget_IN, AllTargets) + SM_RemoveTarget_IN_AllTargets_SIZE)
|
|
|
|
typedef struct _SM_RemoveTarget_OUT
|
|
{
|
|
//
|
|
ULONG HBAStatus;
|
|
#define SM_RemoveTarget_OUT_HBAStatus_SIZE sizeof(ULONG)
|
|
#define SM_RemoveTarget_OUT_HBAStatus_ID 5
|
|
|
|
} SM_RemoveTarget_OUT, *PSM_RemoveTarget_OUT;
|
|
|
|
#define SM_RemoveTarget_OUT_SIZE (FIELD_OFFSET(SM_RemoveTarget_OUT, HBAStatus) + SM_RemoveTarget_OUT_HBAStatus_SIZE)
|
|
|
|
#define SM_AddPort 3
|
|
typedef struct _SM_AddPort_IN
|
|
{
|
|
//
|
|
UCHAR PortWWN[8];
|
|
#define SM_AddPort_IN_PortWWN_SIZE sizeof(UCHAR[8])
|
|
#define SM_AddPort_IN_PortWWN_ID 1
|
|
|
|
//
|
|
ULONG EventType;
|
|
#define SM_AddPort_IN_EventType_SIZE sizeof(ULONG)
|
|
#define SM_AddPort_IN_EventType_ID 2
|
|
|
|
} SM_AddPort_IN, *PSM_AddPort_IN;
|
|
|
|
#define SM_AddPort_IN_SIZE (FIELD_OFFSET(SM_AddPort_IN, EventType) + SM_AddPort_IN_EventType_SIZE)
|
|
|
|
typedef struct _SM_AddPort_OUT
|
|
{
|
|
//
|
|
ULONG HBAStatus;
|
|
#define SM_AddPort_OUT_HBAStatus_SIZE sizeof(ULONG)
|
|
#define SM_AddPort_OUT_HBAStatus_ID 3
|
|
|
|
} SM_AddPort_OUT, *PSM_AddPort_OUT;
|
|
|
|
#define SM_AddPort_OUT_SIZE (FIELD_OFFSET(SM_AddPort_OUT, HBAStatus) + SM_AddPort_OUT_HBAStatus_SIZE)
|
|
|
|
#define SM_RemovePort 4
|
|
typedef struct _SM_RemovePort_IN
|
|
{
|
|
//
|
|
UCHAR PortWWN[8];
|
|
#define SM_RemovePort_IN_PortWWN_SIZE sizeof(UCHAR[8])
|
|
#define SM_RemovePort_IN_PortWWN_ID 1
|
|
|
|
//
|
|
ULONG EventType;
|
|
#define SM_RemovePort_IN_EventType_SIZE sizeof(ULONG)
|
|
#define SM_RemovePort_IN_EventType_ID 2
|
|
|
|
} SM_RemovePort_IN, *PSM_RemovePort_IN;
|
|
|
|
#define SM_RemovePort_IN_SIZE (FIELD_OFFSET(SM_RemovePort_IN, EventType) + SM_RemovePort_IN_EventType_SIZE)
|
|
|
|
typedef struct _SM_RemovePort_OUT
|
|
{
|
|
//
|
|
ULONG HBAStatus;
|
|
#define SM_RemovePort_OUT_HBAStatus_SIZE sizeof(ULONG)
|
|
#define SM_RemovePort_OUT_HBAStatus_ID 3
|
|
|
|
} SM_RemovePort_OUT, *PSM_RemovePort_OUT;
|
|
|
|
#define SM_RemovePort_OUT_SIZE (FIELD_OFFSET(SM_RemovePort_OUT, HBAStatus) + SM_RemovePort_OUT_HBAStatus_SIZE)
|
|
|
|
#define SM_AddLink 10
|
|
typedef struct _SM_AddLink_OUT
|
|
{
|
|
//
|
|
ULONG HBAStatus;
|
|
#define SM_AddLink_OUT_HBAStatus_SIZE sizeof(ULONG)
|
|
#define SM_AddLink_OUT_HBAStatus_ID 1
|
|
|
|
} SM_AddLink_OUT, *PSM_AddLink_OUT;
|
|
|
|
#define SM_AddLink_OUT_SIZE (FIELD_OFFSET(SM_AddLink_OUT, HBAStatus) + SM_AddLink_OUT_HBAStatus_SIZE)
|
|
|
|
#define SM_RemoveLink 11
|
|
typedef struct _SM_RemoveLink_OUT
|
|
{
|
|
//
|
|
ULONG HBAStatus;
|
|
#define SM_RemoveLink_OUT_HBAStatus_SIZE sizeof(ULONG)
|
|
#define SM_RemoveLink_OUT_HBAStatus_ID 1
|
|
|
|
} SM_RemoveLink_OUT, *PSM_RemoveLink_OUT;
|
|
|
|
#define SM_RemoveLink_OUT_SIZE (FIELD_OFFSET(SM_RemoveLink_OUT, HBAStatus) + SM_RemoveLink_OUT_HBAStatus_SIZE)
|
|
|
|
|
|
// MSFC_TM - MSFC_TM
|
|
|
|
#endif // MS_SM_HBA_API
|
|
|
|
#define MSFC_TMGuid \
|
|
{ 0x8cf4c7eb,0xa286,0x409d, { 0x9e,0xb9,0x29,0xd7,0xe0,0xe9,0xf4,0xfa } }
|
|
|
|
#if ! (defined(MIDL_PASS))
|
|
DEFINE_GUID(MSFC_TM_GUID, \
|
|
0x8cf4c7eb,0xa286,0x409d,0x9e,0xb9,0x29,0xd7,0xe0,0xe9,0xf4,0xfa);
|
|
#endif
|
|
|
|
|
|
typedef struct _MSFC_TM
|
|
{
|
|
//
|
|
ULONG tm_sec;
|
|
#define MSFC_TM_tm_sec_SIZE sizeof(ULONG)
|
|
#define MSFC_TM_tm_sec_ID 1
|
|
|
|
//
|
|
ULONG tm_min;
|
|
#define MSFC_TM_tm_min_SIZE sizeof(ULONG)
|
|
#define MSFC_TM_tm_min_ID 2
|
|
|
|
//
|
|
ULONG tm_hour;
|
|
#define MSFC_TM_tm_hour_SIZE sizeof(ULONG)
|
|
#define MSFC_TM_tm_hour_ID 3
|
|
|
|
//
|
|
ULONG tm_mday;
|
|
#define MSFC_TM_tm_mday_SIZE sizeof(ULONG)
|
|
#define MSFC_TM_tm_mday_ID 4
|
|
|
|
//
|
|
ULONG tm_mon;
|
|
#define MSFC_TM_tm_mon_SIZE sizeof(ULONG)
|
|
#define MSFC_TM_tm_mon_ID 5
|
|
|
|
//
|
|
ULONG tm_year;
|
|
#define MSFC_TM_tm_year_SIZE sizeof(ULONG)
|
|
#define MSFC_TM_tm_year_ID 6
|
|
|
|
//
|
|
ULONG tm_wday;
|
|
#define MSFC_TM_tm_wday_SIZE sizeof(ULONG)
|
|
#define MSFC_TM_tm_wday_ID 7
|
|
|
|
//
|
|
ULONG tm_yday;
|
|
#define MSFC_TM_tm_yday_SIZE sizeof(ULONG)
|
|
#define MSFC_TM_tm_yday_ID 8
|
|
|
|
//
|
|
ULONG tm_isdst;
|
|
#define MSFC_TM_tm_isdst_SIZE sizeof(ULONG)
|
|
#define MSFC_TM_tm_isdst_ID 9
|
|
|
|
} MSFC_TM, *PMSFC_TM;
|
|
|
|
#define MSFC_TM_SIZE (FIELD_OFFSET(MSFC_TM, tm_isdst) + MSFC_TM_tm_isdst_SIZE)
|
|
|
|
#endif
|
|
|