The HBA_SendLIRR routine registers or de-registers a local (source) port to receive link incident records (LIR) from a remote (destination) port.
HBA_STATUS HBA_API HBA_SendLIRR( _In_ HBA_HANDLE Handle, _In_ HBA_WWN SourceWWN, _In_ HBA_WWN DestWWN, _In_ HBA_UINT8 Function, _In_ HBA_UINT8 Type, _Out_ void *pRspBuffer, _Inout_ HBA_UINT32 *RspBufferSize );
Contains a value returned by the routine HBA_OpenAdapter that identifies the HBA through which to send the LIR request.
Contains the worldwide name (WWN) of the local port from which to issue the command and which will receive link incident records from the destination port referenced by DestWWN. For a definition of worldwide names, see the T11 committee's specification for Fibre Channel HBA API.
Contains the WWN of the remote destination port that will report link incident records to the source port. For a definition of worldwide names, see the T11 committee's specification for Fibre Channel HBA API.
Specifies the action to take. This member either registers a source port to receive link incident records and specifies the mode of registration, or it de-registers a source port that is already registered. This member must have one of the following values.
Value in Hexadecimal Meaning
Indicates that the registration is conditional. The source port is added to the registration list for records with the format indicated in Type and receives link incident records of that type only if no other ports are receiving records for that type.
Indicates that the source port is always added to the registration list for records with the format indicated in Type.
Indicates that the source port is removed from the registration list for records with the format indicated in Type and no longer receives link incident records of that format type.
For further explanation of the available registration modes, see the T11 committee's Fibre Channel Framing and Signaling specification.
Specifies the type of records whose delivery is affected by the link incident record request (LIRR). When 0, the LIRR governs the delivery of common link incident records, so if the source port is registering to receive records, then the source port is added to the destination port's registration list for common link incident records. If the source port is de-registering, then it is removed from that list.
If Type is nonzero, then it specifies the format type of the records for which the source port is registering or de-registering. For a list of the types of formats and their corresponding values, see the FC-4 type codes table in the T11 committee's Fibre Channel Framing and Signaling specification.
Pointer to a buffer that receives the payload data of the response to the LIRR, if the LIRR succeeds. If the destination port 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 at pRspBuffer. On output, this member indicates the size, in bytes, of the response data. Eight bytes is sufficient for any response.
The HBA_ScsiReportLUNsV2 routine returns a value of type HBA_STATUS that indicates the status of the HBA. In particular, HBA_ScsiReportLUNsV2 returns one of the following values.
Returned if the LIRR succeeded and payload data was successfully retrieved.
Returned if the HBA referenced by handle does not contain a port with a name that matches SourceWWN.
Returned if the local HBA referenced by handle does not support link incident reporting.
Returned if the destination port referenced by DestWWN rejected the request node identification information data (RNID) that identifies the source HBA.
Returned if an unspecified error occurred that prevented the execution of the LIR request.
|Hbaapi.h (include Hbaapi.h)|