HBA_SendScsiInquiry man page on Solaris

Man page or keyword search:  
man Server   20652 pages
apropos Keyword Search (all sections)
Output format
Solaris logo
[printable version]

HBA_SendScsiCommonyFibreAChannel HBA Information LHBA_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	*pRsp‐
       Buffer, HBA_UINT32 RspBufferSize, void *pSenseBuffer, HBA_UINT32 Sense‐
       BufferSize);

       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 *pSenseBuffer‐
       Size);

       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 *pRspBuffer‐
       Size, HBA_UINT8 *pScsiStatus, void *pSenseBuffer,  HBA_UINT32  *pSense‐
       BufferSize);

       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  hba‐
       PortWWN, 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  com‐
			   mand 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

       pSenseBufferSizea 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(5)  for descriptions of the following attributes:

       ┌─────────────────────────────┬─────────────────────────────┐
       │      ATTRIBUTE TYPE	     │	    ATTRIBUTE VALUE	   │
       ├─────────────────────────────┼─────────────────────────────┤
       │Interface Stability	     │Standard:	 FC-MI	1.92 (API  │
       │			     │version 1)		   │
       ├─────────────────────────────┼─────────────────────────────┤
       │			     │Standard: FC-HBA Version	4  │
       │			     │(API version 2)		   │
       ├─────────────────────────────┼─────────────────────────────┤
       │MT-Level		     │Safe			   │
       └─────────────────────────────┴─────────────────────────────┘

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

       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_ScsiReadCa‐
       pacity() to take a Port WWN as an argument. This	 fixes	the  bug  with
       multi-ported   HBAs  in	HBA_ScsiInquiry(),  HBA_SendReportLUNs(),  and
       HBA_SendReadCapacity().

SunOS 5.10			  1 Sep 2003	  HBA_SendScsiInquiry(3HBAAPI)
[top]

List of man pages available for Solaris

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net