JavaScript is required to for searching.
Skip Navigation Links
Exit Print View
man pages section 3: Library Interfaces and Headers     Oracle Solaris 11.1 Information Library
search filter icon
search icon

Document Information

Preface

Introduction

Library Interfaces and Headers

acct(3HEAD)

acct.h(3HEAD)

aio(3HEAD)

aio.h(3HEAD)

ar(3HEAD)

archives(3HEAD)

archives.h(3HEAD)

ar.h(3HEAD)

assert(3HEAD)

assert.h(3HEAD)

complex(3HEAD)

complex.h(3HEAD)

cpio(3HEAD)

cpio.h(3HEAD)

dirent(3HEAD)

dirent.h(3HEAD)

errno(3HEAD)

errno.h(3HEAD)

fcntl(3HEAD)

fcntl.h(3HEAD)

fenv(3HEAD)

fenv.h(3HEAD)

float(3HEAD)

float.h(3HEAD)

floatingpoint(3HEAD)

floatingpoint.h(3HEAD)

fmtmsg(3HEAD)

fmtmsg.h(3HEAD)

fnmatch(3HEAD)

fnmatch.h(3HEAD)

ftw(3HEAD)

ftw.h(3HEAD)

glob(3HEAD)

glob.h(3HEAD)

grp(3HEAD)

grp.h(3HEAD)

iconv(3HEAD)

iconv.h(3HEAD)

if(3HEAD)

if.h(3HEAD)

in(3HEAD)

inet(3HEAD)

inet.h(3HEAD)

in.h(3HEAD)

inttypes(3HEAD)

inttypes.h(3HEAD)

ipc(3HEAD)

ipc.h(3HEAD)

iso646(3HEAD)

iso646.h(3HEAD)

langinfo(3HEAD)

langinfo.h(3HEAD)

lib300(3LIB)

lib300s(3LIB)

lib4014(3LIB)

lib450(3LIB)

libadm(3LIB)

libaio(3LIB)

libauto_ef(3LIB)

libbsdmalloc(3LIB)

libc(3LIB)

libc_db(3LIB)

libcfgadm(3LIB)

libcommputil(3LIB)

libcontract(3LIB)

libcpc(3LIB)

libcrypt(3LIB)

libcurses(3LIB)

libdat(3LIB)

libdevid(3LIB)

libdevinfo(3LIB)

libdl(3LIB)

libdlpi(3LIB)

libdns_sd(3LIB)

libdoor(3LIB)

libdtrace(3LIB)

libefi(3LIB)

libelf(3LIB)

libexacct(3LIB)

libfcoe(3LIB)

libfmevent(3LIB)

libform(3LIB)

libfstyp(3LIB)

libgen(3HEAD)

libgen(3LIB)

libgen.h(3HEAD)

libgss(3LIB)

libhbaapi(3LIB)

libicudata(3LIB)

libicui18n(3LIB)

libicuio(3LIB)

libicule(3LIB)

libiculx(3LIB)

libicutu(3LIB)

libicuuc(3LIB)

libilb(3LIB)

libintl(3HEAD)

libintl(3LIB)

libintl.h(3HEAD)

libiscsit(3LIB)

libkmf(3LIB)

libkrb5(3LIB)

libkstat(3LIB)

libkvm(3LIB)

libl(3LIB)

liblayout(3LIB)

liblgrp(3LIB)

libm(3LIB)

libmail(3LIB)

libmalloc(3LIB)

libmapmalloc(3LIB)

libmd(3LIB)

libmd5(3LIB)

libmenu(3LIB)

libmlib(3LIB)

libmlib_mt(3LIB)

libmp(3LIB)

libMPAPI(3LIB)

libmpapi(3LIB)

libmtmalloc(3LIB)

libmvec(3LIB)

libnsl(3LIB)

libnvpair(3LIB)

libpam(3LIB)

libpanel(3LIB)

libpapi(3LIB)

libpctx(3LIB)

libpicl(3LIB)

libpicltree(3LIB)

libpkcs11(3LIB)

libplot(3LIB)

libpool(3LIB)

libposix4(3LIB)

libproject(3LIB)

libpthread(3LIB)

libreparse(3LIB)

libresolv(3LIB)

librpcsvc(3LIB)

librt(3LIB)

librtld_db(3LIB)

libsasl(3LIB)

libscf(3LIB)

libsctp(3LIB)

libsec(3LIB)

libsecdb(3LIB)

libsendfile(3LIB)

libsip(3LIB)

libslp(3LIB)

libSMHBAAPI(3LIB)

libsmhbaapi(3LIB)

libsocket(3LIB)

libsrpt(3LIB)

libssagent(3LIB)

libssasnmp(3LIB)

libstmf(3LIB)

libsys(3LIB)

libsysevent(3LIB)

libtecla(3LIB)

libtermcap(3LIB)

libtermlib(3LIB)

libthread(3LIB)

libtsalarm(3LIB)

libtsnet(3LIB)

libtsol(3LIB)

libumem(3LIB)

libusb(3LIB)

libuuid(3LIB)

libv12n(3LIB)

libvolmgt(3LIB)

libvt0(3LIB)

libw(3LIB)

libxnet(3LIB)

libXtsol(3LIB)

libxtsol(3LIB)

liby(3LIB)

libzonestat(3LIB)

limits(3HEAD)

limits.h(3HEAD)

locale(3HEAD)

locale.h(3HEAD)

math(3HEAD)

math.h(3HEAD)

mman(3HEAD)

mman.h(3HEAD)

monetary(3HEAD)

monetary.h(3HEAD)

mqueue(3HEAD)

mqueue.h(3HEAD)

msg(3HEAD)

msg.h(3HEAD)

ndbm(3HEAD)

ndbm.h(3HEAD)

netdb(3HEAD)

netdb.h(3HEAD)

nl_types(3HEAD)

nl_types.h(3HEAD)

paths(3HEAD)

paths.h(3HEAD)

poll(3HEAD)

poll.h(3HEAD)

pthread(3HEAD)

pthread.h(3HEAD)

pwd(3HEAD)

pwd.h(3HEAD)

regex(3HEAD)

regex.h(3HEAD)

resource(3HEAD)

resource.h(3HEAD)

sched(3HEAD)

sched.h(3HEAD)

search(3HEAD)

search.h(3HEAD)

select(3HEAD)

select.h(3HEAD)

sem(3HEAD)

semaphore(3HEAD)

semaphore.h(3HEAD)

sem.h(3HEAD)

setjmp(3HEAD)

setjmp.h(3HEAD)

shm(3HEAD)

shm.h(3HEAD)

siginfo(3HEAD)

siginfo.h(3HEAD)

signal(3HEAD)

signal.h(3HEAD)

SMHBA_GetAdapterAttributes(3LIB)

SMHBA_GetAdapterPortAttributes(3LIB)

SMHBA_GetBindingCapability(3LIB)

SMHBA_GetBindingSupport(3LIB)

SMHBA_GetDiscoveredPortAttributes(3LIB)

SMHBA_GetFCPhyAttributes(3LIB)

SMHBA_GetLUNStatistics(3LIB)

SMHBA_GetNumberofPorts(3LIB)

SMHBA_GetPersistentBinding(3LIB)

SMHBA_GetPhyStatistics(3LIB)

SMHBA_GetPortAttributesByWWN(3LIB)

SMHBA_GetPortType(3LIB)

SMHBA_GetProtocolStatistics(3LIB)

SMHBA_GetSASPhyAttributes(3LIB)

SMHBA_GetTargetMapping(3LIB)

SMHBA_GetVendorLibraryAttributes(3LIB)

SMHBA_GetVersion(3LIB)

SMHBA_GetWrapperLibraryAttributes(3LIB)

SMHBA_RegisterForAdapterAddEvents(3LIB)

SMHBA_RegisterForAdapterEvents(3LIB)

SMHBA_RegisterForAdapterPhyStatEvents(3LIB)

SMHBA_RegisterForAdapterPortEvents(3LIB)

SMHBA_RegisterForAdapterPortStatEvents(3LIB)

SMHBA_RegisterForTargetEvents(3LIB)

SMHBA_RegisterLibrary(3LIB)

SMHBA_RemoveAllPersistentBindings(3LIB)

SMHBA_RemovePersistentBinding(3LIB)

SMHBA_ScsiInquiry(3LIB)

SMHBA_ScsiReadCapacity(3LIB)

SMHBA_ScsiReportLuns(3LIB)

SMHBA_SendECHO(3LIB)

SMHBA_SendSMPPassThru(3LIB)

SMHBA_SendTEST(3LIB)

SMHBA_SetBindingSupport(3LIB)

SMHBA_SetPersistentBinding(3LIB)

socket(3HEAD)

socket.h(3HEAD)

spawn(3HEAD)

spawn.h(3HEAD)

stat(3HEAD)

stat.h(3HEAD)

statvfs(3HEAD)

statvfs.h(3HEAD)

stdbool(3HEAD)

stdbool.h(3HEAD)

stddef(3HEAD)

stddef.h(3HEAD)

stdint(3HEAD)

stdint.h(3HEAD)

stdio(3HEAD)

stdio.h(3HEAD)

stdlib(3HEAD)

stdlib.h(3HEAD)

string(3HEAD)

string.h(3HEAD)

strings(3HEAD)

strings.h(3HEAD)

stropts(3HEAD)

stropts.h(3HEAD)

syslog(3HEAD)

syslog.h(3HEAD)

tar(3HEAD)

tar.h(3HEAD)

tcp(3HEAD)

tcp.h(3HEAD)

termios(3HEAD)

termios.h(3HEAD)

tgmath(3HEAD)

tgmath.h(3HEAD)

time(3HEAD)

timeb(3HEAD)

timeb.h(3HEAD)

time.h(3HEAD)

times(3HEAD)

times.h(3HEAD)

types32(3HEAD)

types32.h(3HEAD)

types(3HEAD)

types.h(3HEAD)

ucontext(3HEAD)

ucontext.h(3HEAD)

uio(3HEAD)

uio.h(3HEAD)

ulimit(3HEAD)

ulimit.h(3HEAD)

un(3HEAD)

un.h(3HEAD)

unistd(3HEAD)

unistd.h(3HEAD)

utime(3HEAD)

utime.h(3HEAD)

utmpx(3HEAD)

utmpx.h(3HEAD)

utsname(3HEAD)

utsname.h(3HEAD)

values(3HEAD)

values.h(3HEAD)

wait(3HEAD)

wait.h(3HEAD)

wchar(3HEAD)

wchar.h(3HEAD)

wctype(3HEAD)

wctype.h(3HEAD)

wordexp(3HEAD)

wordexp.h(3HEAD)

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:

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(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:

    • 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 Channle 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(5) 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(4), attributes(5)