Go to main content

man pages section 3: Extended Library Functions, Volume 2

Exit Print View

Updated: Thursday, June 13, 2019
 
 

HBA_GetAdapterPortAttributes(3HBAAPI)

Name

HBA_GetAdapterPortAttributes, HBA_GetDiscoveredPortAttributes, HBA_GetPortAttributesByWWN - retrieve Fibre Channel port attributes for a specific device

Synopsis

cc [ flag… ] file–lHBAAPI [ library… ]
#include <hbaapi.h>

HBA_STATUS HBA_GetAdapterPortAttributes(HBA_HANDLE handle,
     HBA_UINT32 portindex, HBA_PORTATTRIBUTES *portattributes);
HBA_STATUS HBA_GetDiscoveredPortAttributes(HBA_HANDLE handle,
     HBA_UINT32 portindex, HBA_UINT32 discoveredportindex,
     HBA_PORTATTRIBUTES *portattributes);
HBA_STATUS HBA_GetPortAttributesByWWN(HBA_HANDLE handle,
     HBA_WWN PortWWN, HBA_PORTATTRIBUTES *portattributes);

Parameters

handle

an open handle returned from HBA_OpenAdapter(3HBAAPI)

portindex

the index of a specific port on the HBA as returned by a call to HBA_GetAdapterAttributes(3HBAAPI). The maximum value specified should be (HBA_ADAPTERATTRIBUTES.NumberOfPorts - 1).

portattributes

a pointer to an HBA_PORTATTRIBUTES structure. Upon successful completion, this structure contains the specified port attributes.

discoveredportindex

the index of a specific discovered port on the HBA as returned by HBA_GetAdapterPortAttributes(3HBAAPI). The maximum value specified should be (HBA_PORTATTRIBUTES.NumberOfDiscoveredPorts - 1).

PortWWN

the port WWN of the device for which port attributes are retrieved.

Description

The HBA_GetAdapterPortAttributes() function retrieves Port Attributes for a specific port on the HBA.

The HBA_GetDiscoveredPortAttributes() function retrieves Port Attributes for a specific discovered device connected to the HBA.

The HBA_GetPortAttributesByWWN() function retrieves Port Attributes for a specific device based on the PortWWN argument.

Return Values

Upon successful completion, HBA_STATUS_OK is returned. Otherwise, an error value is returned from the underlying VSL and the values in hbaattributes are undefined.

Errors

See libhbaapi(3LIB) for general error status values.

Examples

Example 1 Retrieve the port attributes for each port on the HBA.

The following example retrieves the port attributes for each port on the HBA.

for (hbaPort = 0; hbaPort < hbaAttrs.NumberOfPorts; hbaPort++) {
    if ((status = HBA_GetAdapterPortAttributes(handle,
            hbaPort, &hbaPortAttrs)) != HBA_STATUS_OK) {
        fprintf(stderr, "Unable to get adapter port %d "
            "attributes for HBA %d with name \"%s\".\n",
            hbaPort, hbaCount, adaptername);
        HBA_CloseAdapter(handle);
        continue;
    }
    memcpy(&wwn, hbaPortAttrs.PortWWN.wwn, sizeof (wwn));
    printf(" Port %d: WWN=%016llx\n", hbaPort, wwn);

    /* ... */
}

Example 2 Retrieve the discovered port target attributes for each discovered target port on the HBA.

The following example retrieves the discovered port target attributes for each discovered target port on the HBA.

for (discPort = 0;
        discPort < hbaPortAttrs.NumberofDiscoveredPorts;
        discPort++) {
    if ((status = HBA_GetDiscoveredPortAttributes(
            handle, hbaPort, discPort,
            &discPortAttrs)) != HBA_STATUS_OK) {
        fprintf(stderr, "Unable to get "
            "discovered port %d attributes for "
            "HBA %d with name \"%s\".\n",
            discPort, hbaCount, adaptername);
        continue;
    }
    memcpy(&wwn, discPortAttrs.PortWWN.wwn,
        sizeof (wwn));
    printf("  Discovered Port %d: WWN=%016llx\n",
        discPort, wwn);

    /* ... */
}

Attributes

See attributes(7) for descriptions of the following attributes:

ATTRIBUTE TYPE
ATTRIBUTE VALUE
Interface Stability
Committed
Standard: FC-HBA Version 4 (API version 2)
MT-Level
Safe
Standard
FC-MI 1.92 (API version 1)

See Also

HBA_GetAdapterPortAttributes(3HBAAPI), HBA_OpenAdapter(3HBAAPI), libhbaapi(3LIB), attributes(7)

T11 FC-MI Specification