Go to main content

man pages section 3: Library Interfaces and Headers

Exit Print View

Updated: Thursday, June 13, 2019
 
 

SMHBA_GetSASPhyAttributes(3LIB)

Name

libSMHBAAPI, libsmhbaapi, SMHBA_GetAdapterAttributes, SMHBA_GetAdapterPortAttributes, SMHBA_GetBindingCapability, SMHBA_GetBindingSupport, SMHBA_GetDiscoveredPortAttributes, SMHBA_GetFCPhyAttributes, SMHBA_GetLUNStatistics, SMHBA_GetNumberofPorts, SMHBA_GetPersistentBinding, SMHBA_GetPhyStatistics, SMHBA_GetPortAttributesByWWN, SMHBA_GetPortType, SMHBA_GetProtocolStatistics, SMHBA_GetSASPhyAttributes, SMHBA_GetTargetMapping, SMHBA_GetVendorLibraryAttributes, SMHBA_GetVersion, SMHBA_GetWrapperLibraryAttributes, SMHBA_RegisterForAdapterAddEvents, SMHBA_RegisterForAdapterEvents, SMHBA_RegisterForAdapterPhyStatEvents, SMHBA_RegisterForAdapterPortEvents, SMHBA_RegisterForAdapterPortStatEvents, SMHBA_RegisterForTargetEvents, SMHBA_RegisterLibrary, SMHBA_RemoveAllPersistentBindings, SMHBA_RemovePersistentBinding, SMHBA_ScsiInquiry, SMHBA_ScsiReadCapacity, SMHBA_ScsiReportLuns, SMHBA_SendECHO, SMHBA_SendSMPPassThru, SMHBA_SendTEST, SMHBA_SetBindingSupport, SMHBA_SetPersistentBinding - Common Storage Management HBA information library

Synopsis

cc [ flag… ] file–lSMHBAAPI [ library… ]
#include <smhbaapi.h>

Description

The functions in this library access Fibre Channel and/or Serial Attached SCSI HBA data depending on vendor provided implementation underneath.

    HBA information is provided through a standard interface in a vendor independent manner. This common interface provides access to the following information:

  • Local HBA attributes

  • Local HBA port attributes and statistics

  • Mapping between discovered devices and operating system SCSI information

  • Discovered devices port attributes

  • SCSI commands for discovered devices (Report LUNS, Read Capacity, and Inquiry)

  • Storage Management Protocol commands to discover Serial Attached SCSI configuration details

  • Common Transport commands to discover Fibre Channel Fabric details

INTERFACES

The shared object libSMHBAAPI.so.1 provides the public interfaces defined below. See intro(3) for additional information on shared object interfaces.

HBA_CloseAdapter
HBA_FreeLibrary
HBA_GetAdapterName
HBA_GetNumberOfAdapters
HBA_GetRNIDMgmtInfo
HBA_LoadLibrary
HBA_OpenAdapter
HBA_RefreshAdapterConfiguration
HBA_RefreshInformation
HBA_RegisterForLinkEvents
HBA_RemoveCallback
HBA_SendCTPassThruV2
HBA_SendLIRR
HBA_SendRLS
HBA_SendRNIDV2
HBA_SendRPL
HBA_SendRPS
HBA_SendSRL
HBA_SetRNIDMgmtInfo
SMHBA_GetAdapterAttributes
SMHBA_GetAdapterPortAttributes
SMHBA_GetBindingCapability
SMHBA_GetBindingSupport
SMHBA_GetDiscoveredPortAttributes
SMHBA_GetFCPhyAttributes
SMHBA_GetLUNStatistics
SMHBA_GetNumberofPorts
SMHBA_GetPersistentBinding
SMHBA_GetPhyStatistics
SMHBA_GetPortAttributesByWWN
SMHBA_GetPortType
SMHBA_GetProtocolStatistics
SMHBA_GetSASPhyAttributes
SMHBA_GetTargetMapping
SMHBA_GetVendorLibraryAttributes
SMHBA_GetVersion
SMHBA_GetWrapperLibraryAttributes
SMHBA_RegisterForAdapterAddEvents
SMHBA_RegisterForAdapterEvents
SMHBA_RegisterForAdapterPhyStatEvents
SMHBA_RegisterForAdapterPortEvents
SMHBA_RegisterForAdapterPortStatEvents
SMHBA_RegisterForTargetEvents
SMHBA_RegisterLibrary
SMHBA_RemoveAllPersistentBindings
SMHBA_RemovePersistentBinding
SMHBA_ScsiInquiry
SMHBA_ScsiReadCapacity
SMHBA_ScsiReportLuns
SMHBA_SendECHO
SMHBA_SendSMPPassThru
SMHBA_SendTEST
SMHBA_SetBindingSupport
SMHBA_SetPersistentBinding

Usage

Client applications link with the Common Library (using –lSMHBAAPI) to access the interfaces. The Common Library dynamically loads individual Vendor-Specific Libraries (VSL) listed in /etc/smhba.conf and described on smhba.conf(5).

    Using the libSMHBAAPI involves the following steps:

  1. Optionally determining the version of the library by calling SMHBA_GetVersion().

  2. Initializing the Common Library by calling HBA_LoadLibrary().

  3. Determine the number of HBAs known to the common library by calling HBA_GetNumberOfAdapters().

  4. Determine each HBA name in turn by calling HBA_GetAdapterName().

  5. Open each HBA in turn by calling HBA_OpenAdapter().

  6. Operate on a given HBA by calling the following:

    • SMHBA_GetAdapterAttributes()

    • SMHBA_GetAdapterPortAttributes()

    • SMHBA_GetDiscoveredPortAttributes()

    • SMHBA_GetPortAttributesByWWN()

    • SMHBA_GetNumberofPorts()

    • SMHBA_GetPortType()

    • SMHBA_GetProtocolStatistics()

    • SMHBA_GetPhyStatistics()

    • SMHBA_GetBindingCapability()

    • SMHBA_GetBindingSupport()

    • SMHBA_SetBindingSupport()

    • SMHBA_GetTargetMapping()

    • SMHBA_GetPersistentBinding()

    • SMHBA_SetPersistentBinding()

    • SMHBA_RemoveAllPersistentBindings()

    • SMHBA_GetLUNStatistics()

    • SMHBA_SendScsiInquiry()

    • SMHBA_SendReportLuns()

    • SMHBA_SendReadCapacity()

    • SMHBA_RegisterForAdapterAddEvents()

    • SMHBA_RegisterForAdapterEvents()

    • SMHBA_RegisterForAdapterPortEvents()

    • SMHBA_RegisterForAdapterPortStatEvents()

    • SMHBA_RegisterForAdapterPhyStatEvents()

    • SMHBA_RegisterForTargetEvents()

    • HBA_RegisterForLinkEvents()

    • HBA_RemoveCallback()

    For Serial Attached HBA

    • SMHBA_GetSASPhyAttributes()

    • SMHBA_SendSMPPassThru()

    For Fibre Channel HBA

    • SMHBA_GetFCPhyAttributes()

    • HBA_SendCTPassThruV2()

    • HBA_SetRNIDMgmtInfo()

    • HBA_GetRNIDMgmtInfo()

    • HBA_SendRNIDV2()

    • HBA_SendRPL()

    • HBA_SendRPS()

    • HBA_SendSRL()

    • HBA_SendLIRR()

    • HBA_SendRLS()

    • HBA_SendTEST()

    • HBA_SendECHO()

  7. Close open HBAs by calling HBA_CloseAdapter().

  8. Unload the library by calling HBA_FreeLibrary().

Attributes

See attributes(7) for descriptions of the following attributes:

ATTRIBUTE TYPE
ATTRIBUTE VALUE
Availability
system/library/storage/t11-sm-hba
Interface Stability
Committed
MT-Level
MT-Safe
Standard
ANSI INCITS 428 Storage Management Host Bus Adapter Application Programming Interface (SM-HBA)

See Also

smhba.conf(5), attributes(7)