LIBSMHBAAPI(3LIB) Interface Libraries LIBSMHBAAPI(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:
o Local HBA attributes
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
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_SetPersistentBindingUSAGE
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:
o
SMHBA_GetAdapterAttributes() o
SMHBA_GetAdapterPortAttributes() o
SMHBA_GetDiscoveredPortAttributes() o
SMHBA_GetPortAttributesByWWN() o
SMHBA_GetNumberofPorts() o
SMHBA_GetPortType() 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_SendReportLuns() o
SMHBA_SendReadCapacity() o
SMHBA_RegisterForAdapterAddEvents() o
SMHBA_RegisterForAdapterEvents() o
SMHBA_RegisterForAdapterPortEvents() o
SMHBA_RegisterForAdapterPortStatEvents() o
SMHBA_RegisterForAdapterPhyStatEvents() o
SMHBA_RegisterForTargetEvents() o
HBA_RegisterForLinkEvents() o
HBA_RemoveCallback() For Serial Attached HBA
o
SMHBA_GetSASPhyAttributes() o
SMHBA_SendSMPPassThru() For Fibre Channel HBA
o
SMHBA_GetFCPhyAttributes() o
HBA_SendCTPassThruV2() o
HBA_SetRNIDMgmtInfo() o
HBA_GetRNIDMgmtInfo() o
HBA_SendRNIDV2() o
HBA_SendRPL() o
HBA_SendRPS() o
HBA_SendSRL() o
HBA_SendLIRR() o
HBA_SendRLS() o
HBA_SendTEST() o
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 |
+--------------------+-----------------------------+
|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) August 19, 2019
LIBSMHBAAPI(3LIB)