HBA_SendRPS routine
The HBA_SendRPS routine sends a read port status block (RPS) request to the indicated agent port or domain controller.
Syntax
HBA_STATUS HBA_API HBA_SendRPS(
_In_ HBA_HANDLE Handle,
_In_ HBA_WWN hbaPortWWN,
_In_ HBA_WWN agent_wwn,
_In_ HBA_UINT32 agent_domain,
_In_ HBA_WWN object_wwn,
_In_ HBA_UINT32 object_port_number,
_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 RPS request is sent. For a discussion of worldwide names, see the T11 committee's Fibre Channel HBA API specification.agent_wwn [in]
Contains, when non-NULL, a 64-bit WWN that uniquely identifies the port to query for the status of the port referenced by object_wwn. If this member is NULL, it is ignored, and the domain controller identified by agent_domain is queried.agent_domain [in]
Contains the domain number for the domain controller to query for the status of the port referenced by object_wwn. If agent_wwn is non-NULL, this member is ignored.object_wwn [in]
Contains a 64-bit WWN that uniquely identifies the port for which status information is retrieved. If this member is NULL, it is ignored, and status information is retrieved for the port identified by object_port_number.object_port_number [in]
Contains the relative port number of the port for which status information is retrieved. The meaning of the relative port number is defined by the hardware vendor that contains the port, and it is the responsibility of the software that receives the status query to interpret this number. If object_wwn is non-NULL, this member is ignored.pRspBuffer [out]
Pointer to a buffer that receives the results of the RPS 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. A buffer size of 56 bytes is sufficient for the largest response.
Return value
The HBA_SendRPS routine returns a value of type HBA_STATUS that indicates the status of the HBA. In particular, HBA_SendRPS returns one of the following values.
Return code | Description |
---|---|
HBA_STATUS_OK | Returned if the complete payload of a reply to the RPS 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 agent_wwn or the domain controller referenced by agent_domain 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 RPS request. |
Requirements
Target platform |
Desktop |
Header |
Hbaapi.h (include Hbaapi.h) |
Library |
Hbaapi.lib |
DLL |
Hbaapi.dll |
See also