HBA_SendRLS Subroutine

Purpose

Issues a Read Link Error Status Block (RLS) Extended Link Service through the specified HBA end port.

Syntax

HBA_STATUS HBA_SendRLS (
		HBA_HANDLE handle,
		HBA_WWN hbaPortWWN,
		HBA_WWN destWWN,
		void *pRspBuffer,
		HBA_UINT32 *pRspBufferSize,
);

Description

The HBA_SendRLS function issues a Read Link Error Status Block (RLS) Extended Link Service through the specified HBA end port to request a specified remote FC_Port to return the Link Error Status Block associated with the destination Port Name.

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.
destWWN Port Name of the remote FC_Port to which the ELS is sent.
pRspBuffer Pointer to a buffer to receive the ELS response.
pRSPBufferSize Pointer to the size in bytes of pRspBuffer. A size of 28 is sufficient for the largest response.

Return Values

The value of the HBA_SendRLS 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 RLS 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 RLS Reply. Note that 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.

Error Codes

Item Description
HBA_STATUS_ERROR_ELS_REJECT The RNID ELS was rejected by the destination FC_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.