HBA_SendRPL Subroutine

Purpose

Issues a Read Port List (RPL) Extended Link Service through the specified HBA to a specified end port or domain controller.

Syntax

HBA_STATUS HBA_SendRPL (
		HBA_HANDLE handle,
		HBA_WWN hbaPortWWN,
		HBA_WWN agent_wwn,
		HBA_UINT32 agent_domain,
		HBA_UINT32 portIndex,
		void *pRspBuffer,
		HBA_UINT32 *pRspBufferSize,
);

Description

The HBA_SendRPL function issues a Read Port List (RPL) Extended Link Service through the specified HBA to a specified end port or domain controller.

Parameters

Item Description
handle A handle to an open HBA through which the ELS is sent.
hbaPortWWN Port Name of the local HBA end port through which the ELS is sent.
agent_wwn Port Name of an FC_Port that is requested to provide its list of FC_Ports if agent_wwn is nonzero. If agent_wwn is 0, it is ignored.
agent_domain Domain number and the domain controller for that domain shall be the entity that shall be requested to provide its list of FC_Ports if agent_wwn is 0. If agent_wwn is nonzero, agent_domain is ignored.
portIndex Index of the first FC_Port requested in the response list.
Note: If the recipient has proper compliance, the index of the first FC_Port in the complete list maintained by the recipient of the request is 0.
pRSPBuffer Pointer to a buffer to receive the ELS response.
pRSPBufferSize Pointer to the size in bytes of pRspBuffer.
Note: If the responding entity has proper compliance, it truncates the list in the response to the number of FC_Ports that fit.

Return Values

The value of the HBA_SendRPL function is a valid status return value that indicates the reason for completion of the requested function. HBA_STATUS_OK is returned to indicate that the complete LS_ACC to the RPL ELS has been returned. A valid status return value that most closely describes the result of the function should be returned to indicate a reason with no required value.

The return values for the following parameters are as follows:

Item Description
pRspBuffer Remains unchanged. The buffer to which it points contains the payload data from the RPL Reply. If the ELS was rejected, this is the LS_RJT payload. If the size of the reply payload exceeds the size specified in the pRspBufferSize parameter at entry to the function, the returned data is truncated to the size specified in the argument.
pRspBufferSize Remains unchanged. The value of the integer to which it points contains the size in bytes of the complete ELS reply payload. This can exceed the size specified as an argument. This indicates that the data in pRspBuffer has been truncated.
Note: Truncation is not necessary if the responding entity is of proper compliance.

Error Codes

Item Description
HBA_STATUS_ERROR_ELS_REJECT The RPL ELS was rejected by the destination end port.
HBA_STATUS_ERROR_ILLEGAL_WWN The HBA referenced by handle does not contain an end port with Port Name hbaPortWWN.
HBA_STATUS_ERROR Returned to indicate any problem with no required value.