The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Интерактивная система просмотра системных руководств (man-ов)

 ТемаНаборКатегория 
 
 [Cписок руководств | Печать]

HBA_SendScsiInquiry (3)
  • >> HBA_SendScsiInquiry (3) ( Solaris man: Библиотечные вызовы )
  •  

    NAME

    HBA_SendScsiInquiry, HBA_ScsiInquiryV2, HBA_SendReportLUNs, HBA_ScsiReportLUNsV2, HBA_SendReadCapacity, HBA_ScsiReadCapacityV2 - gather SCSI information from discovered ports
     
    

    SYNOPSIS

    cc [ flag... ] file... -lHBAAPI [ library... ]
    #include <hbaapi.h>
    
    HBA_STATUS HBA_SendScsiInquiry(HBA_HANDLE handle, HBA_WWN PortWWN,
        HBA_UINT64 fcLUN, HBA_UINT8 EVPD, HBA_UINT32 PageCode,
        void *pRspBuffer, HBA_UINT32 RspBufferSize,
        void *pSenseBuffer, HBA_UINT32 SenseBufferSize);
    

    HBA_STATUS HBA_ScsiInquiryV2(HBA_HANDLE handle, HBA_WWN hbaPortWWN,
        HBA_WWN discoveredPortWWN, HBA_UINT64 fcLUN, HBA_UINT8 CDB_BYTE1,
        HBA_UINT8 CDB_BYTE2, void *pRspBuffer, HBA_UINT32 *pRspBufferSize,
        HBA_UINT8 *pScsiStatus, void *pSenseBuffer,
        HBA_UINT32 *pSenseBufferSize);
    

    HBA_STATUS HBA_SendReportLUNs(HBA_HANDLE handle, HBA_WWN PortWWN,
        void *pRspBuffer, HBA_UINT32 RspBufferSize,
        void *pSenseBuffer, HBA_UINT32 SenseBufferSize);
    

    HBA_STATUS HBA_ScsiReportLUNsV2(HBA_HANDLE handle, HBA_WWN hbaPortWWN,
        HBA_WWN discoveredPortWWN, void *pRspBuffer,
        HBA_UINT32 *pRspBufferSize, HBA_UINT8 *pScsiStatus,
        void *pSenseBuffer, HBA_UINT32 *pSenseBufferSize);
    

    HBA_STATUS HBA_SendReadCapacity(HBA_HANDLE handle, HBA_WWN PortWWN,
        HBA_UINT64 fcLUN, void *pRspBuffer, HBA_UINT32 RspBufferSize,
        void *pSenseBuffer, HBA_UINT32 SenseBufferSize);
    

    HBA_STATUS HBA_ScsiReadCapacityV2(HBA_HANDLE handle
        HBA_WWN hbaPortWWN, HBA_WWN discoveredPortWWN,
        HBA_UINT64 fcLUN, void *pRspBuffer, HBA_UINT32 *pRspBufferSize,
        HBA_UINT8 *pScsiStatus, void *pSenseBuffer,
        HBA_UINT32 *pSenseBufferSize);
    

     

    PARAMETERS

    handle

    an open handle returned from HBA_OpenAdapter(3HBAAPI)

    PortWWN

    the port WWN of the discovered remote device to which the command is sent

    hbaPortWWN

    HBA_ScsiInquiryV2()

    the Port WWN of the local HBA through which the SCSI INQUIRY command is issued

    HBA_ScsiReportLUNsV2()

    the Port WWN of the local HBA through which the SCSI REPORT LUNS command is issued

    HBA_ScsiReadCapacityV2()

    the Port WWN of a local HBA through which the SCSI READ CAPACITY command is issued

    discoveredPortWWN

    HBA_ScsiInquiryV2()

    the Remote Port WWN to which the SCSI INQUIRY command is being sent

    HBA_ScsiReportLUNsV2()

    the Remote Port WWN to which the SCSI REPORT LUNS command is sent

    HBA_ScsiReadCapacityV2()

    the Remote Port WWN to which the SCSI READ CAPACITY command is sent

    fcLUN

    the FCP LUN as defined in the T10 specification SAM-2 to which the command is sent

    EVPD

    If set to 0, indicates a Standard Inquiry should be returned. If set to 1, indicates Vital Product Data should be returned.

    PageCode

    If EVPD is set to 1, PageCode indicates which Vital Product Data page should be returned.

    CDB_Byte1

    the second byte of the CDB for the SCSI INQUIRY command

    CDB_Byte2

    the third byte of the CDB for the SCSI INQUIRY command

    pRspBuffer

    a buffer in which to store the response payload

    RspBufferSize

    the size of the response buffer

    pRspBufferSize

    a pointer to the size of the response buffer

    pScsiStatus

    a buffer to receive SCSI sense data

    pSenseBuffer

    a buffer in which to store any SCSI sense data

    SenseBufferSize

    the size of the sense buffer

    pSenseBufferSize

    a pointer to the size of the sense buffer

     

    DESCRIPTION

    The HBA_SendScsiInquiry() and HBA_SendScsiInquiryV2() functions send a SCSI Inquiry command as defined in the T10 specification SPC-2 to a remote FCP port.

    The HBA_SendReportLUNs() and HBA_SendReportLUNsV2() functions send a SCSI Report LUNs command as defined in the T10 specification SPC-2 to a remote FCP port.

    The HBA_SendReadCapacity() and HBA_SendReadCapacityV2() functions end a SCSI Read Capacity command as defined in the T10 specification SBC-2 to a remote FCP port.  

    RETURN VALUES

    The HBA_SendScsiInquiry() function returns the following value:

    HBA_STATUS_OK

    The command has completed. Success or failure should be determined by verifying that the sense data does not contain a check-condition. If a check-condition is present, the content of pRspBuffer is undefined.

    The HBA_ScsiInquiryV2() function returns the following values:

    HBA_STATUS_OK

    The command has completed. The complete payload of the SCSI INQUIRY command is returned in pRspBuffer.

    HBA_STATUS_ERROR_ILLEGAL_WWN

    The port WWN hbaPortWWN is not a WWN contained by the HBA specified by handle.

    HBA_STATUS_ERROR_NOT_A_TARGET

    The identified remote Port does not have SCSI Target functionality.

    HBA_STATUS_ERROR_TARGET_BUSY

    The command cannot be sent due to a SCSI overlapped command condition.

    HBA_STATUS_ERROR

    An error occurred.

    The HBA_SendReportLUNs() function returns the following values:

    HBA_STATUS_OK

    The command has completed. Success or failure should be determined by verifying the sense data does not contain a check-condition. If a check-condition is present, the content of pRspBuffer is undefined.

    HBA_STATUS_SCSI_CHECK_CONDITION

    The HBA detected a check-condition state. Details are present in the pSenseBuffer payload. The content of pRspBuffer is undefined. Not all VSLs support this error condition.

    Other error values indicate the content of pRspBuffer is undefined. In some cases, the pSenseBuffer can contain sense data.

    The HBA_SendReportLUNsV2() function returns the following values:

    HBA_STATUS_OK

    The command has completed. Sense data must be verified to ensure that it does not contain a check-condition to determine success. If a check-condition is present, the content of pRspBuffer is undefined.

    HBA_STATUS_ERROR_ILLEGAL_WWN

    The port WWN hbaPortWWN is not a WWN contained by the HBA specified by handle.

    HBA_STATUS_ERROR_NOT_A_TARGET

    The identified remote Port does not have SCSI Target functionality.

    HBA_STATUS_ERROR_TARGET_BUSY

    The command cannot be sent due to a SCSI overlapped command condition.

    HBA_STATUS_ERROR

    An error occurred.

    The HBA_SendReadCapacity() function returns the following values:

    HBA_STATUS_OK

    The command has completed. Success or failure should be determined by verifying that the sense data does not contain a check-condition. If a check-condition is present, the content of pRspBuffer is undefined.

    HBA_STATUS_SCSI_CHECK_CONDITION

    The HBA detected a check-condition state. Details are present in the pSenseBuffer payload. The content of pRspBuffer is undefined. Not all VSLs support this error condition.

    Other error values indicate the content of pRspBuffer is undefined. In some cases, the pSenseBuffer can contain sense data.

    The HBA_ScsiReadCapacityV2() function returns the following values:

    HBA_STATUS_OK

    The command has completed. Sense data must be verified to ensure that it does not contain a check-condition to determine success. If a check-condition is present, the content of pRspBuffer is undefined.

    HBA_STATUS_ERROR_ILLEGAL_WWN

    The port WWN hbaPortWWN is not a WWN contained by the HBA specified by handle.

    HBA_STATUS_ERROR_NOT_A_TARGET

    The identified remote Port does not have SCSI Target functionality.

    HBA_STATUS_ERROR_TARGET_BUSY

    The command cannot be sent due to a SCSI overlapped command condition.

    HBA_STATUS_ERROR

    An error occurred.

    Other error values indicate the content of pRspBuffer is undefined. In some cases, the pSenseBuffer can contain sense data.  

    ERRORS

    See libhbaapi(3LIB) for general error status values.  

    EXAMPLES

    Example 1 Send a SCSI inquiry to the given discovered Target port WWN.

    The following example sends a SCSI inquiry to the given discovered Target port WWN.

    memset(&inq, 0, sizeof (inq));
    memset(&sense, 0, sizeof (sense));
    if ((status = HBA_SendScsiInquiry(handle,
           discPortAttrs.PortWWN, 0, 0, 0, &inq,
           sizeof (inq), &sense, sizeof (sense))) !=
           HBA_STATUS_OK) {
       fprintf(stderr, "Unable to send SCSI "       
           "inquiry, reason %d\n", status);
       continue;
    }
    printf("    Vendor: %.*s\n", 8, inq.inq_vid); 
    printf("    Model: %.*s\n", 16, inq.inq_pid); 
    

     

    ATTRIBUTES

    See attributes(5) for descriptions of the following attributes:

    ATTRIBUTE TYPEATTRIBUTE VALUE

    Interface StabilityStandard: FC-MI 1.92 (API version 1)


    MT-Level

     

    SEE ALSO

    HBA_OpenAdapter(3HBAAPI), libhbaapi(3LIB), attributes(5)

    T11 FC-MI Specification  

    BUGS

    The HBA_SendScsiInquiry(), HBA_SendReportLUNs(), and HBA_SendReadCapacity() functions do not take a portindex to define through which port of a multi-ported HBA the command should be sent. The behavior on multi-ported HBAs is vendor-specific and can result in the command being sent through the first HBA port, the first HBA port the given PortWWN is connected to, or other vendor-specific behavior. SNIA version 2 defines HBA_ScsiInquiryV2(), HBA_ScsiReportLUNs(), and HBA_ScsiReadCapacity() to take a Port WWN as an argument. This fixes the bug with multi-ported HBAs in HBA_ScsiInquiry(), HBA_SendReportLUNs(), and HBA_SendReadCapacity().


     

    Index

    NAME
    SYNOPSIS
    PARAMETERS
    DESCRIPTION
    RETURN VALUES
    ERRORS
    EXAMPLES
    ATTRIBUTES
    SEE ALSO
    BUGS


    Поиск по тексту MAN-ов: 




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру