HBA_SendRPL routine

The HBA_SendRPL routine sends a read port list (RPL) request to the indicated port or domain controller.

Syntax

HBA_STATUS HBA_API HBA_SendRPL(
  _In_    HBA_HANDLE Handle,
  _In_    HBA_WWN    HbaPortWWN,
  _In_    HBA_WWN    AgentWwn,
  _In_    HBA_UINT32 AgentDomain,
  _In_    HBA_UINT32 PortIndex,
  _Out_   void       *pRspBuffer,
  _Inout_ HBA_UINT32 *RspBufferSize
);

Parameters

  • Handle [in]
    Contains a value returned by the routine HBA_OpenAdapter that identifies the local HBA through which the request is sent.

  • HbaPortWWN [in]
    Contains a 64-bit worldwide name (WWN) that uniquely identifies the local port through which the read port list (RPL) command is sent. For a discussion of worldwide names, see the T11 committee's Fibre Channel HBA API specification.

  • AgentWwn [in]
    Contains, when non-NULL, a 64-bit WWN that uniquely identifies the port to query for a list of ports of type FC_Port. If this member is NULL, it is ignored. For a definition of FC_Port, see the T11 committee's Fibre Channel HBA API specification.

  • AgentDomain [in]
    Contains the domain number for the domain controller to query for a list of ports of type FC_Port. If AgentWwn is non-NULL, this member is ignored.

  • PortIndex [in]
    Contains the port index of the first port in the retrieved list of ports of type FC_Port.

  • pRspBuffer [out]
    Pointer to a buffer that receives the results of the read port list (RPL) request, if the request succeeds. If the destination port or domain controller rejects the request, this buffer holds the link service reject (LS_RJT) payload data. If the amount of returned data exceeds the buffer size specified in RspBufferSize, the data is truncated to the buffer size*.* The payload data is in big-endian format (higher order bytes are in lower addresses).

  • RspBufferSize [in, out]
    On input, indicates the size, in bytes, of the buffer pointed to by pRspBuffer. On return, this member indicates the size, in bytes, of the response data.

Return value

The HBA_SendRPL routine returns a value of type HBA_STATUS that indicates the status of the HBA. In particular, HBA_SendRPL returns one of the following values.

Return code Description
HBA_STATUS_OK

Returned if the complete payload of a reply to the RPL request was successfully retrieved.

HBA_STATUS_ERROR_ILLEGAL_WWN

Returned if the HBA referenced by handle does not contain a port with a name that matches HbaPortWWN.

HBA_STATUS_ERROR_ELS_REJECT

Returned if the destination port referenced by AgentWwn, or the domain controller referenced by AgentDomain, rejected the request node identification information data (RNID) that identifies the source HBA.

HBA_STATUS_ERROR

Returned if an unspecified error occurred that prevented the execution of the RPL request.

 

Requirements

Target platform

Desktop

Header

Hbaapi.h (include Hbaapi.h)

Library

Hbaapi.lib

DLL

Hbaapi.dll

See also

HBA_OpenAdapter

HBA_STATUS

 

 

Send comments about this topic to Microsoft