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)