libzfcphbaapi(3)
π libzfcphbaapi β an implementation of FC-HBA π
okay bestie, sit down, hydrate, because we're about to talk about a library and she is lowkey iconic. this is the manual for libzfcphbaapi(3), from the Library Functions Manual, and yes she's giving very much "i live in section 3 of your man pages" energy. πΈ
β¨ NAME β¨
libzfcphbaapi β an implementation of FC-HBA π¦
β¨ SYNOPSIS β¨
#include <hbaapi.h>
cc file.c -lHBAAPI
When linking to the SNIA HBA API wrapper package (default)
or
cc file.c -lzfcphbaapi
so basically you pick a lane: link against the SNIA wrapper by default, or go straight to -lzfcphbaapi if that's the vibe you want. π
β¨ DESCRIPTION β¨
π« Introduction π«
libzfcphbaapi is part of an implementation of FC-HBA for the ZFCP device driver. and the ZFCP device driver? she's a FCP device driver for Linux on System z. π§
The whole implementation of FC-HBA for the ZFCP device driver is called ZFCP HBA API. and where does she live? in libzfcphbaapi β a shared library which provides the API defined in FC-HBA. periodt. π
π« Compatibility π«
ZFCP HBA API Library supports the API functions listed in SupportedHBAAPIs(3).
All other API functions of FC-HBA return the status HBA_STATUS_ERROR_NOT_SUPPORTED if possible and are listed in UnSupportedHBAAPIs(3). so likeβ¦ if you call something she doesn't do, she'll tell you "not supported" if she can, and the full list of the no's is right there in the other man page. no cap. π
π« Restrictions and Peculiarities π«
For ZFCP HBA API the following restrictions and peculiarities apply:
- Only adapters, ports and units can be accessed that are configured in the ZFCP device dirver. This is due to internal restrictions of the ZFCP device driver and due to the fact that the adapter might be shared between several VM guests. π
- If SCSI commands are send to a target port, the well known lun (WLUN) for the report luns command will be attached and detached. If the storage server does not support that WLUN, lun scanning will fail. (yeah, it just fails, not a drill π)
- The function
HBA_GetFcpTargetMapping()does not return an OSDeviceName in structHBA_FCPTargetMapping. This is conform to FC-HBA since this field is optional. so she's not being lazy, she's being spec-compliant. slay. π - Because the ZFCP device driver does not support Single Byte Command Code Sets Connections, the functions
HBA_GetSBTargetMapping(),HBA_GetSBStatistics()andHBA_SBDskGetCapacity()are not supported bylibzfcphbaapi. those three? not invited to the party. π«
π« Installation π«
A source RPM and/or binary RPM "lib-zfcp-hbaapi" should be provided which will install the ZFCP HBA API Library called libzfcphbaapi.so. π
The corresponding header file hbaapi.h will be supplied by the SNIA HBA API library wrapper package when compiled as a vendor library. When not, an own version of the header file will be installed. either way bestie, you get a header. π«Ά
π« Environment Variables π«
To log error situations in libzfcphbaapi two environment variables are used:
LIB_ZFCP_HBAAPI_LOG_LEVELβ specifies log level π- if not set or set to
0, logging is disabled (default) - if set to value
> 0, logging is enabled
- if not set or set to
LIB_ZFCP_HBAAPI_LOG_FILEβ specifies file where log output is written to π- if not set,
stderris used - if set, specified file is used for log output
- if not set,
so like: flip the level above zero to turn the diary on, and point the file variable somewhere cute if you don't want the tea spilling into stderr. π
π« Reference π«
FC-HBA: ANSI INCITS 386-2004, The T11 Technical Committee. Information Technology - Fibre Channel HBA API β
β¨ SEE ALSO β¨
SupportedHBAAPIs(3), UnSupportedHBAAPIs(3). go read those next, bestie, they're the sequel. π¦
and that's the whole page! π this was the ZFCP HBA API flavor of the manual, dated 2008, brought to you under the libzfcphbaapi(3) banner β ty for coming to my ted talk, mwah ππ
β¨
π¦ where this page comes from
- opensuse-leap 16.0: libzfcphbaapi0 3.0.3-160000.2.2 Β· EPL-1.0
- ubuntu jammy: zfcp-hbaapi-dev 2.2.0-0ubuntu1 Β· CPL-1.0
- ubuntu jammy: zfcp-hbaapi-dev 2.2.0-0ubuntu1.1 Β· CPL-1.0
- ubuntu noble: zfcp-hbaapi-dev 2.2.0-0ubuntu3 Β· CPL-1.0
- ubuntu resolute: zfcp-hbaapi-dev 2.2.0-0ubuntu4 Β· CPL-1.0
- ubuntu stonking: zfcp-hbaapi-dev 2.2.0-0ubuntu4 Β· CPL-1.0
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms