hbaapi_info_fns(3C)hbaapi_info_fns(3C)NAME
hbaapi_info_fns: HBA_GetAdapterAttributes(), HBA_GetAdapterPortAt‐
tributes(), HBA_GetPortStatistics(), HBA_GetDiscoveredPortAttributes(),
HBA_GetPortAttributesByWWN() - Fibre Channel SNIA HBA APIs to acquire
information about adapters and specified ports on the adapters
SYNOPSISDESCRIPTION
This manpage covers Fibre Channel Storage Network Industry Association
Host Bus Adapter APIs to acquire information about adapters and speci‐
fied ports on the adapters.
This function retrieves the attributes for the adapter.
The argument handle is of type (refer to and is obtained through
a call to
The argument adapter_attributes is a pointer to a structure of
type which includes:
Manufacturer
SerialNumber
Model
ModelDescription
NodeWWN
NodeSymbolicName
HardwareVersion
DriverVersion
OptionROMVersion
FirmwareVersion
vendorSpecificID
NumberOfPorts
DriverName
All string attributes that are not supported by HP's vendor
library implementation will set the string attribute to the
value "Not Supported".
This function retrieves the attributes for a specified port on the
adapter.
The argument handle is of type (refer to and is obtained through
a call to
The argument port_index corresponds to index (this ranges from 0
to 1 less than the NumberOfPorts returned from of the port which
needs to be queried.
The argument port_attributes is a pointer to a structure of type
which includes:
NodeWWN
PortWWN
PortFcId
PortType
PortState
PortSupportedClassofService
PortSupportedFc4Types
PortActiveFc4Types
OSDeviceName
PortSpeed
NumberofDiscoveredPorts
PortSymbolicName
PortSupportedSpeed
PortMaxFrameSize
FabricName
All string attributes that are not supported by HP's vendor
library implementation will set the string attribute to the
value "Not Supported".
This function retrieves the statistics for a specified port on the
adapter.
The events being considered for statistics is vendor dependent.
LinkFailureCount, LossOfSyncCount, LossOfSignalCount, Primi‐
tiveSeqProtocolErrCount, InvalidTxWordCount, and InvalidCRCCount
are the values that are maintained by the port in its (see
The argument handle is of type (refer to and is obtained through
a call to
The argument port_index corresponds to index of the port (this
ranges from 0 to 1 less than NumberOfPorts returned from to
query.
The argument port_statistics is a pointer to a structure of type
which includes:
SecondsSinceLastReset
TxFrames
TxWords
RxFrames
RxWords
LIPCount
NOSCount
ErrorFrames
DumpedFrames
LinkFailureCount
LossOfSyncCount
LossOfSignalCount
PrimitiveSeqProtocolErrCount
InvalidTxWordCount
InvalidCRCCount
If an HBA does not support a specific statistic it will return
an All-Ones unsigned integer.
This function retrieves the attributes for a specified port discovered
in the network.
The argument handle is of type (refer to and is obtained through
a call to
The argument port_index corresponds to index of the port which
needs to be queried. The argument discovered_port_index corre‐
sponds to the index of the discovered port. The range is from 0
to 1 less than NumberOfDiscoveredPorts value from which needs to
be queried.
The argument port_attributes is a pointer to a structure of type
which includes:
NodeWWN
PortWWN
PortFcId
PortType
PortState
PortSupportedClassofService
PortSupportedFc4Types
PortActiveFc4Types
OSDeviceName
PortSpeed
NumberofDiscoveredPorts
PortSymbolicName
PortSupportedSpeed
PortMaxFrameSize
FabricName
1. NumberOfDiscoveredPorts is always 0 for discovered port
attributes.
2. HP's vendor library implementation returns for the PortSpeed
and PortSupportedSpeed attributes for all remote ports.
3. All string attributes that are not supported by HP's vendor
library implementation will set the string attribute to the
value "Not Supported".
This function retrieves the attributes for a specific discovered port
by WWN
(World Wide Name).
The argument handle is of type (refer to and is obtained through
a call to
The argument port_index corresponds to index of the port which
needs to be queried.
The argument port_attributes is a pointer to a structure of type
which includes:
NodeWWN
PortWWN
PortFcId
PortType
PortState
PortSupportedClassofService
PortSupportedFc4Types
PortActiveFc4Types
OSDeviceName
PortSpeed
NumberofDiscoveredPorts
PortSymbolicName
PortSupportedSpeed
PortMaxFrameSize
FabricName
1. NumberOfDiscoveredPorts is always 0 for discovered port
attributes.
2. HP's vendor library implementation returns for the PortSpeed
and PortSupportedSpeed attributes for all remote ports.
3. All string attributes that are not supported by HP's vendor
library implementation will set the string attribute to the
value "Not Supported".
WARNINGS
This implemention of the FC SNIA HBA API enforces a calling order as
follows:
1. should be called only after a call to for the same adapter is made.
2. should be called only after a call to for the same adapter and port
has been made.
3. should be called only after a call to for any port on the same
adapter.
RETURN VALUES
and return the following values in common:
On success.
An internal error is detected.
The library is busy processing a call that cannot be executed
concurrently with other calls
and may be modifying internal
data structures.
The handle passed to this function is invalid.
The pointer passed to this function is NULL.
The adapter to which the handle corresponds is not available.
In addition to the above listed errors, and return:
The port_index is invalid.
Also, returns the following error values in addition to the above
listed common errors:
The port_index is invalid.
The WWN given as input does not match the WWN of any discovered
port.
EXAMPLESHBA_GetAdapterAttributes()
HBA_STATUS status;
HBA_ADAPTERATTRIBUTES adapter_attributes;
status = HBA_GetAdapterAttributes(adapter_handle, &adapter_attributes);
if (status == HBA_STATUS_OK) {
printf("Manufacturer: %s\r\n", adapter_attributes.Manufacturer);
printf("Serial Number: %s\r\n", adapter_attributes.SerialNumber);
}
HBA_GetAdapterPortAttributes()
HBA_STATUS status;
HBA_ADAPTERATTRIBUTES adapter_attributes;
HBA_PORTATTRIBUTES port_attributes;
status = HBA_GetAdapterAttributes(adapter_handle, &adapter_attributes);
if (status == HBA_STATUS_OK) {
for (i = 0; i < adapter_attributes.NumberOfPorts; i++) {
status = HBA_GetAdapterPortAttributes(adapter_handle, i,
&port_attributes);
if (status == HBA_STATUS_OK) {
printf("Port %u has a Port FcID of %ld\n", i, port_attributes.PortFcId);
}
}
}
HBA_GetPortStatistics()
HBA_STATUS status;
HBA_PORTSTATISTICS port_statistics;
status = HBA_GetPortStatistics(adapter_handle, port_index, &port_statistics);
if (status == HBA_STATUS_OK) {
printf("Port %u has sent %u frames.\n", port_index, port_statistics.TxFrames);
}
HBA_GetDiscoveredPortAttributes()
HBA_STATUS status;
HBA_PORTATTRIBUTES port_attributes;
/* Get the attributes for the first discovered port on first adapter port */
status = HBA_GetDiscoveredPortAttributes(handle, 0, 0, &port_attributes);
if (status == HBA_STATUS_OK) {
printf("Discovered Port 0 on Adapter Port 0 has a Port FcID of %u\n",
port_attributes.PortFcId);
}
HBA_GetPortAttributesByWWN()
HBA_STATUS status;
HBA_PORTATTRIBUTES port_attributes;
status = HBA_GetPortAttributesByWWN(handle, wwn, &port_attributes);
if (status == HBA_STATUS_OK) {
printf("Discovered has a Port FcID of %u\n", port_attributes.PortFcId);
}
FILES
Contains the related data structures and definitions as in
AUTHOR
These APIs were developed by Hewlett-Packard Company.
SEE ALSOHBAAPI(3C), HBA_GetVersion(3C), HBA_LoadLibrary(3C), HBA_FreeLi‐
brary(3C), HBA_GetNumberOfAdapters(3C), HBA_GetAdapterName(3C),
HBA_OpenAdapter(3C), HBA_CloseAdapter(3C), HBA_SendCTPassThru(3C),
HBA_GetEventBuffer(3C), HBA_SetRNIDMgmtInfo(3C), HBA_GetRNIDMgmt‐
Info(3C), HBA_SendRNID(3C), HBA_GetFcpTargetMapping(3C), HBA_GetFcpPer‐
sistentBinding(3C), HBA_SendScsiInquiry(3C), HBA_SendReportLUNs(3C),
HBA_SendReadCapacity(3C), HBA_RefreshInformation(3C), HBA_ResetStatis‐
tics(3C).
hbaapi_info_fns(3C)