Issues a Read Port List (RPL) Extended Link Service through the specified HBA to a specified end port or domain controller.
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,
);
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.
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.
|
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.
|
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. |