Fibre Channel SNIA HBA API Programmer's Guide
FC SNIA HBA API Overview
Software applications managing SANs require information from HBAs to operate. Every vendor,
operating system, and platform provides HBA information differently. Sometimes information
is not available at all.
Hewlett-Packard created the FC SNIA HBA API to provide the following:
• a common HBA API library for all HP-UX Fibre Channel HBA vendors
• a vendor specific API library for HP supported Fibre Channel adapters
The FC SNIA HBA API is a C library interface. Conceptually, at a high-level, the common HBA
library handles multiple vendor implementations of the HBA API by dynamically loading
libraries. At a lower level, a vendor-provided library provides vendor-specific implementations
of the HBA API.
Calls at the common HBA library API are identical in form to the vendor implemented HBA
libraries at the API interface, however, implementation of how to provide information to the
API is determined by each vendor.
FC SNIA HBA API Features
The FC SNIA HBA API supports multi-threading and OLAR:
multi-threading
The FC SNIA HBA API is thread-safe. All SNIA API calls disable thread cancellation as soon as
they are called and reset the thread cancellation state to its old state just before returning from
the API call. Use pthreads only with multi-threaded applications.
OLAR
OLAR of Fibre Channel adapters is available on supported platforms. Online addition is detected
only after calling HBA_GetNumberOfAdapters(). Online replacement (with another adapter)
is treated as online addition of a new adapter and the old adapter being unavailable. Call
HBA_GetNumberOfAdapters() after the online replacement occurs to detect and start using
the new adapter.
FC SNIA HBA API Overview 9