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

HBA_OpenAdapter

HBA_STATUS

 

 

Send comments about this topic to Microsoft