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
cc [ flag... ] file... -lSMHBAAPI [ library... ]
#include <smhbaapi.h>
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:
- o
- Local HBA port attributes and statistics
- o
- Mapping between discovered devices and operating system SCSI
information
- o
- Discovered devices port attributes
- o
- SCSI commands for discovered devices (Report LUNS, Read Capacity, and
Inquiry)
- o
- Storage Management Protocol commands to discover Serial Attached SCSI
configuration details
- o
- Common Transport commands to discover Fibre Channel Fabric details
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 |
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(4).
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:
- o
- SMHBA_GetAdapterAttributes()
- o
- SMHBA_GetAdapterPortAttributes()
- o
- SMHBA_GetDiscoveredPortAttributes()
- o
- SMHBA_GetPortAttributesByWWN()
- o
- SMHBA_GetNumberofPorts()
- o
- SMHBA_GetProtocolStatistics()
- o
- SMHBA_GetPhyStatistics()
- o
- SMHBA_GetBindingCapability()
- o
- SMHBA_GetBindingSupport()
- o
- SMHBA_SetBindingSupport()
- o
- SMHBA_GetTargetMapping()
- o
- SMHBA_GetPersistentBinding()
- o
- SMHBA_SetPersistentBinding()
- o
- SMHBA_RemoveAllPersistentBindings()
- o
- SMHBA_GetLUNStatistics()
- o
- SMHBA_SendScsiInquiry()
- o
- SMHBA_SendReadCapacity()
- o
- SMHBA_RegisterForAdapterAddEvents()
- o
- SMHBA_RegisterForAdapterEvents()
- o
- SMHBA_RegisterForAdapterPortEvents()
- o
- SMHBA_RegisterForAdapterPortStatEvents()
- o
- SMHBA_RegisterForAdapterPhyStatEvents()
- o
- SMHBA_RegisterForTargetEvents()
- o
- HBA_RegisterForLinkEvents()
For Serial Attached HBA
- o
- SMHBA_GetSASPhyAttributes()
- o
- SMHBA_SendSMPPassThru()
For Fibre Channel HBA
- o
- SMHBA_GetFCPhyAttributes()
- 7.
- Close open HBAs by calling HBA_CloseAdapter().
- 8.
- Unload the library by calling HBA_FreeLibrary().
See attributes(5) for descriptions of the following attributes:
ATTRIBUTE
TYPE |
ATTRIBUTE VALUE |
Interface Stability |
Committed |
MT-Level |
MT-Safe |
Standard |
ANSI INCITS 428 Storage Management Host Bus Adapter Application
Programming Interface (SM-HBA) |
smhba.conf(4), attributes(5)