HBA_SendReadCapacity(3hbaapi) 맨 페이지 - 윈디하나의 솔라나라

개요

섹션
맨 페이지 이름
검색(S)

HBA_SendReadCapacity(3hbaapi)

Common Fibre Channel HBA Information Library Functions
                                                  HBA_SendScsiInquiry(3HBAAPI)



NAME
       HBA_SendScsiInquiry, HBA_ScsiInquiryV2, HBA_SendReportLUNs, HBA_ScsiRe‐
       portLUNsV2, 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  CAPAC‐
               ITY 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-condi‐
           tion. 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  condi‐
           tion.


       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 unde‐
           fined.


       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 unde‐
           fined.


       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 condi‐
           tion.


       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-condi‐
           tion. 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  unde‐
           fined.


       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  condi‐
           tion.


       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 Tar‐
       get 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(7) for descriptions of the following attributes:


       tab()  box; cw(2.75i) |cw(2.75i) lw(2.75i) |lw(2.75i) ATTRIBUTE TYPEAT‐
       TRIBUTE VALUE _ Interface StabilityCommitted _ T{ Standard: FC-HBA Ver‐
       sion  4  (API  version  2) T} _ MT-LevelSafe _ Standard FC-MI 1.92 (API
       version 1)


SEE ALSO
       HBA_OpenAdapter(3HBAAPI), libhbaapi(3LIB), attributes(7)


       T11 FC-MI Specification

BUGS
       The HBA_SendScsiInquiry(), HBA_SendReportLUNs(), and HBA_SendReadCapac‐
       ity() 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_SendReadCapac‐
       ity().



Oracle Solaris 11.4               1 Sep 2003
                                                  HBA_SendScsiInquiry(3HBAAPI)
맨 페이지 내용의 저작권은 맨 페이지 작성자에게 있습니다.
RSS ATOM XHTML 5 CSS3