HBA_SendRPS Subroutine

Purpose

Issues a Read Port Status Block (RPS) Extended Link Service through the specified HBA to a specified FC_Port or domain controller.

Syntax

HBA_STATUS HBA_SendRPS (
		HBA_HANDLE handle,
		HBA_WWN hbaPortWWN,
		HBA_WWN agent_wwn,
		HBA_UINT32 agent_domain,
		HBA_WWN object_wwn,
		HBA_UINT32 object_port_number,
		void *pRspBuffer,
		HBA_UINT32 *pRspBufferSize,
);

Description

The HBA_SendRPS function issues a Read Port Status Block (RPS) Extended Link Service through the specified HBA to a specified FC_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 Port Status if agent_wwn is nonzero. agent_wwn is ignored if its value is 0.
agent_domain Domain number for the domain controller that is requested to provide Port status if agent_wwn is 0. agent_domain is ignored if agent_wwn is nonzero.
object_wwn Port Name of an FC_Port for which Port Status is returned if object_wwn is nonzero. object_wwn is ignored if its value is 0.
object_port_number Relative port number of the FC_Port for which Port Status is returned if object_wwn is 0. The relative port number is defined in a vendor-specific manner within the entity to which the request is sent. object_port_number is ignored if object_wwn is nonzero.
pRspBuffer Pointer to a buffer to receive the ELS response.
pRSPBufferSize Pointer to the size in bytes of pRspBuffer. A size of 56 is sufficient for the largest response.

Return Values

The value of the HBA_SendRPS 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 RPS 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 RPS 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.

Error Codes

Item Description
HBA_STATUS_ERROR_ELS_REJECT The RPS 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.