Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Enumerations | Functions | Variables
scsi.h File Reference
#include <linux/types.h>
#include <linux/scatterlist.h>

Go to the source code of this file.

Data Structures

struct  scsi_varlen_cdb_hdr
 
struct  ccs_modesel_head
 
struct  scsi_lun
 

Macros

#define SCSI_MAX_SG_SEGMENTS   128
 
#define SCSI_MAX_SG_CHAIN_SEGMENTS   SCSI_MAX_SG_SEGMENTS
 
#define SCSI_MAX_PROT_SG_SEGMENTS   0xFFFF
 
#define SCAN_WILD_CARD   ~0
 
#define TEST_UNIT_READY   0x00
 
#define REZERO_UNIT   0x01
 
#define REQUEST_SENSE   0x03
 
#define FORMAT_UNIT   0x04
 
#define READ_BLOCK_LIMITS   0x05
 
#define REASSIGN_BLOCKS   0x07
 
#define INITIALIZE_ELEMENT_STATUS   0x07
 
#define READ_6   0x08
 
#define WRITE_6   0x0a
 
#define SEEK_6   0x0b
 
#define READ_REVERSE   0x0f
 
#define WRITE_FILEMARKS   0x10
 
#define SPACE   0x11
 
#define INQUIRY   0x12
 
#define RECOVER_BUFFERED_DATA   0x14
 
#define MODE_SELECT   0x15
 
#define RESERVE   0x16
 
#define RELEASE   0x17
 
#define COPY   0x18
 
#define ERASE   0x19
 
#define MODE_SENSE   0x1a
 
#define START_STOP   0x1b
 
#define RECEIVE_DIAGNOSTIC   0x1c
 
#define SEND_DIAGNOSTIC   0x1d
 
#define ALLOW_MEDIUM_REMOVAL   0x1e
 
#define READ_FORMAT_CAPACITIES   0x23
 
#define SET_WINDOW   0x24
 
#define READ_CAPACITY   0x25
 
#define READ_10   0x28
 
#define WRITE_10   0x2a
 
#define SEEK_10   0x2b
 
#define POSITION_TO_ELEMENT   0x2b
 
#define WRITE_VERIFY   0x2e
 
#define VERIFY   0x2f
 
#define SEARCH_HIGH   0x30
 
#define SEARCH_EQUAL   0x31
 
#define SEARCH_LOW   0x32
 
#define SET_LIMITS   0x33
 
#define PRE_FETCH   0x34
 
#define READ_POSITION   0x34
 
#define SYNCHRONIZE_CACHE   0x35
 
#define LOCK_UNLOCK_CACHE   0x36
 
#define READ_DEFECT_DATA   0x37
 
#define MEDIUM_SCAN   0x38
 
#define COMPARE   0x39
 
#define COPY_VERIFY   0x3a
 
#define WRITE_BUFFER   0x3b
 
#define READ_BUFFER   0x3c
 
#define UPDATE_BLOCK   0x3d
 
#define READ_LONG   0x3e
 
#define WRITE_LONG   0x3f
 
#define CHANGE_DEFINITION   0x40
 
#define WRITE_SAME   0x41
 
#define UNMAP   0x42
 
#define READ_TOC   0x43
 
#define READ_HEADER   0x44
 
#define GET_EVENT_STATUS_NOTIFICATION   0x4a
 
#define LOG_SELECT   0x4c
 
#define LOG_SENSE   0x4d
 
#define XDWRITEREAD_10   0x53
 
#define MODE_SELECT_10   0x55
 
#define RESERVE_10   0x56
 
#define RELEASE_10   0x57
 
#define MODE_SENSE_10   0x5a
 
#define PERSISTENT_RESERVE_IN   0x5e
 
#define PERSISTENT_RESERVE_OUT   0x5f
 
#define VARIABLE_LENGTH_CMD   0x7f
 
#define REPORT_LUNS   0xa0
 
#define SECURITY_PROTOCOL_IN   0xa2
 
#define MAINTENANCE_IN   0xa3
 
#define MAINTENANCE_OUT   0xa4
 
#define MOVE_MEDIUM   0xa5
 
#define EXCHANGE_MEDIUM   0xa6
 
#define READ_12   0xa8
 
#define WRITE_12   0xaa
 
#define READ_MEDIA_SERIAL_NUMBER   0xab
 
#define WRITE_VERIFY_12   0xae
 
#define VERIFY_12   0xaf
 
#define SEARCH_HIGH_12   0xb0
 
#define SEARCH_EQUAL_12   0xb1
 
#define SEARCH_LOW_12   0xb2
 
#define SECURITY_PROTOCOL_OUT   0xb5
 
#define READ_ELEMENT_STATUS   0xb8
 
#define SEND_VOLUME_TAG   0xb6
 
#define WRITE_LONG_2   0xea
 
#define EXTENDED_COPY   0x83
 
#define RECEIVE_COPY_RESULTS   0x84
 
#define ACCESS_CONTROL_IN   0x86
 
#define ACCESS_CONTROL_OUT   0x87
 
#define READ_16   0x88
 
#define WRITE_16   0x8a
 
#define READ_ATTRIBUTE   0x8c
 
#define WRITE_ATTRIBUTE   0x8d
 
#define VERIFY_16   0x8f
 
#define SYNCHRONIZE_CACHE_16   0x91
 
#define WRITE_SAME_16   0x93
 
#define SERVICE_ACTION_IN   0x9e
 
#define SAI_READ_CAPACITY_16   0x10
 
#define SAI_GET_LBA_STATUS   0x12
 
#define VLC_SA_RECEIVE_CREDENTIAL   0x1800
 
#define MI_REPORT_IDENTIFYING_INFORMATION   0x05
 
#define MI_REPORT_TARGET_PGS   0x0a
 
#define MI_REPORT_ALIASES   0x0b
 
#define MI_REPORT_SUPPORTED_OPERATION_CODES   0x0c
 
#define MI_REPORT_SUPPORTED_TASK_MANAGEMENT_FUNCTIONS   0x0d
 
#define MI_REPORT_PRIORITY   0x0e
 
#define MI_REPORT_TIMESTAMP   0x0f
 
#define MI_MANAGEMENT_PROTOCOL_IN   0x10
 
#define MI_EXT_HDR_PARAM_FMT   0x20
 
#define MO_SET_IDENTIFYING_INFORMATION   0x06
 
#define MO_SET_TARGET_PGS   0x0a
 
#define MO_CHANGE_ALIASES   0x0b
 
#define MO_SET_PRIORITY   0x0e
 
#define MO_SET_TIMESTAMP   0x0f
 
#define MO_MANAGEMENT_PROTOCOL_OUT   0x10
 
#define XDREAD_32   0x03
 
#define XDWRITE_32   0x04
 
#define XPWRITE_32   0x06
 
#define XDWRITEREAD_32   0x07
 
#define READ_32   0x09
 
#define VERIFY_32   0x0a
 
#define WRITE_32   0x0b
 
#define WRITE_SAME_32   0x0d
 
#define ATA_16   0x85 /* 16-byte pass-thru */
 
#define ATA_12   0xa1 /* 12-byte pass-thru */
 
#define SCSI_MAX_VARLEN_CDB_SIZE   260
 
#define COMMAND_SIZE(opcode)   scsi_command_size_tbl[((opcode) >> 5) & 7]
 
#define SAM_STAT_GOOD   0x00
 
#define SAM_STAT_CHECK_CONDITION   0x02
 
#define SAM_STAT_CONDITION_MET   0x04
 
#define SAM_STAT_BUSY   0x08
 
#define SAM_STAT_INTERMEDIATE   0x10
 
#define SAM_STAT_INTERMEDIATE_CONDITION_MET   0x14
 
#define SAM_STAT_RESERVATION_CONFLICT   0x18
 
#define SAM_STAT_COMMAND_TERMINATED   0x22 /* obsolete in SAM-3 */
 
#define SAM_STAT_TASK_SET_FULL   0x28
 
#define SAM_STAT_ACA_ACTIVE   0x30
 
#define SAM_STAT_TASK_ABORTED   0x40
 
#define GOOD   0x00
 
#define CHECK_CONDITION   0x01
 
#define CONDITION_GOOD   0x02
 
#define BUSY   0x04
 
#define INTERMEDIATE_GOOD   0x08
 
#define INTERMEDIATE_C_GOOD   0x0a
 
#define RESERVATION_CONFLICT   0x0c
 
#define COMMAND_TERMINATED   0x11
 
#define QUEUE_FULL   0x14
 
#define ACA_ACTIVE   0x18
 
#define TASK_ABORTED   0x20
 
#define STATUS_MASK   0xfe
 
#define NO_SENSE   0x00
 
#define RECOVERED_ERROR   0x01
 
#define NOT_READY   0x02
 
#define MEDIUM_ERROR   0x03
 
#define HARDWARE_ERROR   0x04
 
#define ILLEGAL_REQUEST   0x05
 
#define UNIT_ATTENTION   0x06
 
#define DATA_PROTECT   0x07
 
#define BLANK_CHECK   0x08
 
#define COPY_ABORTED   0x0a
 
#define ABORTED_COMMAND   0x0b
 
#define VOLUME_OVERFLOW   0x0d
 
#define MISCOMPARE   0x0e
 
#define TYPE_DISK   0x00
 
#define TYPE_TAPE   0x01
 
#define TYPE_PRINTER   0x02
 
#define TYPE_PROCESSOR   0x03 /* HP scanners use this */
 
#define TYPE_WORM   0x04 /* Treated as ROM by our system */
 
#define TYPE_ROM   0x05
 
#define TYPE_SCANNER   0x06
 
#define TYPE_MOD
 
#define TYPE_MEDIUM_CHANGER   0x08
 
#define TYPE_COMM   0x09 /* Communications device */
 
#define TYPE_RAID   0x0c
 
#define TYPE_ENCLOSURE   0x0d /* Enclosure Services Device */
 
#define TYPE_RBC   0x0e
 
#define TYPE_OSD   0x11
 
#define TYPE_NO_LUN   0x7f
 
#define SCSI_W_LUN_BASE   0xc100
 
#define SCSI_W_LUN_REPORT_LUNS   (SCSI_W_LUN_BASE + 1)
 
#define SCSI_W_LUN_ACCESS_CONTROL   (SCSI_W_LUN_BASE + 2)
 
#define SCSI_W_LUN_TARGET_LOG_PAGE   (SCSI_W_LUN_BASE + 3)
 
#define COMMAND_COMPLETE   0x00
 
#define EXTENDED_MESSAGE   0x01
 
#define EXTENDED_MODIFY_DATA_POINTER   0x00
 
#define EXTENDED_SDTR   0x01
 
#define EXTENDED_EXTENDED_IDENTIFY   0x02 /* SCSI-I only */
 
#define EXTENDED_WDTR   0x03
 
#define EXTENDED_PPR   0x04
 
#define EXTENDED_MODIFY_BIDI_DATA_PTR   0x05
 
#define SAVE_POINTERS   0x02
 
#define RESTORE_POINTERS   0x03
 
#define DISCONNECT   0x04
 
#define INITIATOR_ERROR   0x05
 
#define ABORT_TASK_SET   0x06
 
#define MESSAGE_REJECT   0x07
 
#define NOP   0x08
 
#define MSG_PARITY_ERROR   0x09
 
#define LINKED_CMD_COMPLETE   0x0a
 
#define LINKED_FLG_CMD_COMPLETE   0x0b
 
#define TARGET_RESET   0x0c
 
#define ABORT_TASK   0x0d
 
#define CLEAR_TASK_SET   0x0e
 
#define INITIATE_RECOVERY   0x0f /* SCSI-II only */
 
#define RELEASE_RECOVERY   0x10 /* SCSI-II only */
 
#define CLEAR_ACA   0x16
 
#define LOGICAL_UNIT_RESET   0x17
 
#define SIMPLE_QUEUE_TAG   0x20
 
#define HEAD_OF_QUEUE_TAG   0x21
 
#define ORDERED_QUEUE_TAG   0x22
 
#define IGNORE_WIDE_RESIDUE   0x23
 
#define ACA   0x24
 
#define QAS_REQUEST   0x55
 
#define BUS_DEVICE_RESET   TARGET_RESET
 
#define ABORT   ABORT_TASK_SET
 
#define DID_OK   0x00 /* NO error */
 
#define DID_NO_CONNECT   0x01 /* Couldn't connect before timeout period */
 
#define DID_BUS_BUSY   0x02 /* BUS stayed busy through time out period */
 
#define DID_TIME_OUT   0x03 /* TIMED OUT for other reason */
 
#define DID_BAD_TARGET   0x04 /* BAD target. */
 
#define DID_ABORT   0x05 /* Told to abort for some other reason */
 
#define DID_PARITY   0x06 /* Parity error */
 
#define DID_ERROR   0x07 /* Internal error */
 
#define DID_RESET   0x08 /* Reset by somebody. */
 
#define DID_BAD_INTR   0x09 /* Got an interrupt we weren't expecting. */
 
#define DID_PASSTHROUGH   0x0a /* Force command past mid-layer */
 
#define DID_SOFT_ERROR   0x0b /* The low level driver just wish a retry */
 
#define DID_IMM_RETRY   0x0c /* Retry without decrementing retry count */
 
#define DID_REQUEUE
 
#define DID_TRANSPORT_DISRUPTED
 
#define DID_TRANSPORT_FAILFAST   0x0f /* Transport class fastfailed the io */
 
#define DID_TARGET_FAILURE
 
#define DID_NEXUS_FAILURE
 
#define DRIVER_OK   0x00 /* Driver status */
 
#define DRIVER_BUSY   0x01
 
#define DRIVER_SOFT   0x02
 
#define DRIVER_MEDIA   0x03
 
#define DRIVER_ERROR   0x04
 
#define DRIVER_INVALID   0x05
 
#define DRIVER_TIMEOUT   0x06
 
#define DRIVER_HARD   0x07
 
#define DRIVER_SENSE   0x08
 
#define NEEDS_RETRY   0x2001
 
#define SUCCESS   0x2002
 
#define FAILED   0x2003
 
#define QUEUED   0x2004
 
#define SOFT_ERROR   0x2005
 
#define ADD_TO_MLQUEUE   0x2006
 
#define TIMEOUT_ERROR   0x2007
 
#define SCSI_RETURN_NOT_HANDLED   0x2008
 
#define FAST_IO_FAIL   0x2009
 
#define TARGET_ERROR   0x200A
 
#define SCSI_MLQUEUE_HOST_BUSY   0x1055
 
#define SCSI_MLQUEUE_DEVICE_BUSY   0x1056
 
#define SCSI_MLQUEUE_EH_RETRY   0x1057
 
#define SCSI_MLQUEUE_TARGET_BUSY   0x1058
 
#define status_byte(result)   (((result) >> 1) & 0x7f)
 
#define msg_byte(result)   (((result) >> 8) & 0xff)
 
#define host_byte(result)   (((result) >> 16) & 0xff)
 
#define driver_byte(result)   (((result) >> 24) & 0xff)
 
#define sense_class(sense)   (((sense) >> 4) & 0x7)
 
#define sense_error(sense)   ((sense) & 0xf)
 
#define sense_valid(sense)   ((sense) & 0x80)
 
#define FORMAT_UNIT_TIMEOUT   (2 * 60 * 60 * HZ)
 
#define START_STOP_TIMEOUT   (60 * HZ)
 
#define MOVE_MEDIUM_TIMEOUT   (5 * 60 * HZ)
 
#define READ_ELEMENT_STATUS_TIMEOUT   (5 * 60 * HZ)
 
#define READ_DEFECT_DATA_TIMEOUT   (60 * HZ )
 
#define IDENTIFY_BASE   0x80
 
#define IDENTIFY(can_disconnect, lun)
 
#define SCSI_UNKNOWN   0
 
#define SCSI_1   1
 
#define SCSI_1_CCS   2
 
#define SCSI_2   3
 
#define SCSI_3   4 /* SPC */
 
#define SCSI_SPC_2   5
 
#define SCSI_SPC_3   6
 
#define SCSI_INQ_PQ_CON   0x00
 
#define SCSI_INQ_PQ_NOT_CON   0x01
 
#define SCSI_INQ_PQ_NOT_CAP   0x03
 
#define SCSI_IOCTL_GET_IDLUN   0x5382
 
#define SCSI_IOCTL_PROBE_HOST   0x5385
 
#define SCSI_IOCTL_GET_BUS_NUMBER   0x5386
 
#define SCSI_IOCTL_GET_PCI   0x5387
 

Enumerations

enum  scsi_protocol {
  SCSI_PROTOCOL_FCP = 0, SCSI_PROTOCOL_SPI = 1, SCSI_PROTOCOL_SSA = 2, SCSI_PROTOCOL_SBP = 3,
  SCSI_PROTOCOL_SRP = 4, SCSI_PROTOCOL_ISCSI = 5, SCSI_PROTOCOL_SAS = 6, SCSI_PROTOCOL_ADT = 7,
  SCSI_PROTOCOL_ATA = 8, SCSI_PROTOCOL_UNSPEC = 0xf
}
 

Functions

const charscsi_device_type (unsigned type)
 

Variables

const unsigned char scsi_command_size_tbl [8]
 

Macro Definition Documentation

#define ABORT   ABORT_TASK_SET

Definition at line 424 of file scsi.h.

#define ABORT_TASK   0x0d

Definition at line 409 of file scsi.h.

#define ABORT_TASK_SET   0x06

Definition at line 402 of file scsi.h.

#define ABORTED_COMMAND   0x0b

Definition at line 303 of file scsi.h.

#define ACA   0x24

Definition at line 419 of file scsi.h.

#define ACA_ACTIVE   0x18

Definition at line 284 of file scsi.h.

#define ACCESS_CONTROL_IN   0x86

Definition at line 139 of file scsi.h.

#define ACCESS_CONTROL_OUT   0x87

Definition at line 140 of file scsi.h.

#define ADD_TO_MLQUEUE   0x2006

Definition at line 473 of file scsi.h.

#define ALLOW_MEDIUM_REMOVAL   0x1e

Definition at line 75 of file scsi.h.

#define ATA_12   0xa1 /* 12-byte pass-thru */

Definition at line 185 of file scsi.h.

#define ATA_16   0x85 /* 16-byte pass-thru */

Definition at line 184 of file scsi.h.

#define BLANK_CHECK   0x08

Definition at line 301 of file scsi.h.

#define BUS_DEVICE_RESET   TARGET_RESET

Definition at line 423 of file scsi.h.

#define BUSY   0x04

Definition at line 278 of file scsi.h.

#define CHANGE_DEFINITION   0x40

Definition at line 103 of file scsi.h.

#define CHECK_CONDITION   0x01

Definition at line 276 of file scsi.h.

#define CLEAR_ACA   0x16

Definition at line 413 of file scsi.h.

#define CLEAR_TASK_SET   0x0e

Definition at line 410 of file scsi.h.

#define COMMAND_COMPLETE   0x00

Definition at line 390 of file scsi.h.

#define COMMAND_SIZE (   opcode)    scsi_command_size_tbl[((opcode) >> 5) & 7]

Definition at line 210 of file scsi.h.

#define COMMAND_TERMINATED   0x11

Definition at line 282 of file scsi.h.

#define COMPARE   0x39

Definition at line 96 of file scsi.h.

#define CONDITION_GOOD   0x02

Definition at line 277 of file scsi.h.

#define COPY   0x18

Definition at line 69 of file scsi.h.

#define COPY_ABORTED   0x0a

Definition at line 302 of file scsi.h.

#define COPY_VERIFY   0x3a

Definition at line 97 of file scsi.h.

#define DATA_PROTECT   0x07

Definition at line 300 of file scsi.h.

#define DID_ABORT   0x05 /* Told to abort for some other reason */

Definition at line 435 of file scsi.h.

#define DID_BAD_INTR   0x09 /* Got an interrupt we weren't expecting. */

Definition at line 439 of file scsi.h.

#define DID_BAD_TARGET   0x04 /* BAD target. */

Definition at line 434 of file scsi.h.

#define DID_BUS_BUSY   0x02 /* BUS stayed busy through time out period */

Definition at line 432 of file scsi.h.

#define DID_ERROR   0x07 /* Internal error */

Definition at line 437 of file scsi.h.

#define DID_IMM_RETRY   0x0c /* Retry without decrementing retry count */

Definition at line 442 of file scsi.h.

#define DID_NEXUS_FAILURE
Value:
0x11 /* Permanent nexus failure, retry on other
* paths might yield different results */

Definition at line 447 of file scsi.h.

#define DID_NO_CONNECT   0x01 /* Couldn't connect before timeout period */

Definition at line 431 of file scsi.h.

#define DID_OK   0x00 /* NO error */

Definition at line 430 of file scsi.h.

#define DID_PARITY   0x06 /* Parity error */

Definition at line 436 of file scsi.h.

#define DID_PASSTHROUGH   0x0a /* Force command past mid-layer */

Definition at line 440 of file scsi.h.

#define DID_REQUEUE
Value:
0x0d /* Requeue command (no immediate retry) also
* without decrementing the retry count */

Definition at line 443 of file scsi.h.

#define DID_RESET   0x08 /* Reset by somebody. */

Definition at line 438 of file scsi.h.

#define DID_SOFT_ERROR   0x0b /* The low level driver just wish a retry */

Definition at line 441 of file scsi.h.

#define DID_TARGET_FAILURE
Value:
0x10 /* Permanent target failure, do not retry on
* other paths */

Definition at line 446 of file scsi.h.

#define DID_TIME_OUT   0x03 /* TIMED OUT for other reason */

Definition at line 433 of file scsi.h.

#define DID_TRANSPORT_DISRUPTED
Value:
0x0e /* Transport error disrupted execution
* and the driver blocked the port to
* recover the link. Transport class will
* retry or fail IO */

Definition at line 444 of file scsi.h.

#define DID_TRANSPORT_FAILFAST   0x0f /* Transport class fastfailed the io */

Definition at line 445 of file scsi.h.

#define DISCONNECT   0x04

Definition at line 400 of file scsi.h.

#define DRIVER_BUSY   0x01

Definition at line 454 of file scsi.h.

#define driver_byte (   result)    (((result) >> 24) & 0xff)

Definition at line 500 of file scsi.h.

#define DRIVER_ERROR   0x04

Definition at line 457 of file scsi.h.

#define DRIVER_HARD   0x07

Definition at line 461 of file scsi.h.

#define DRIVER_INVALID   0x05

Definition at line 459 of file scsi.h.

#define DRIVER_MEDIA   0x03

Definition at line 456 of file scsi.h.

#define DRIVER_OK   0x00 /* Driver status */

Definition at line 448 of file scsi.h.

#define DRIVER_SENSE   0x08

Definition at line 462 of file scsi.h.

#define DRIVER_SOFT   0x02

Definition at line 455 of file scsi.h.

#define DRIVER_TIMEOUT   0x06

Definition at line 460 of file scsi.h.

#define ERASE   0x19

Definition at line 70 of file scsi.h.

#define EXCHANGE_MEDIUM   0xa6

Definition at line 124 of file scsi.h.

#define EXTENDED_COPY   0x83

Definition at line 137 of file scsi.h.

#define EXTENDED_EXTENDED_IDENTIFY   0x02 /* SCSI-I only */

Definition at line 394 of file scsi.h.

#define EXTENDED_MESSAGE   0x01

Definition at line 391 of file scsi.h.

#define EXTENDED_MODIFY_BIDI_DATA_PTR   0x05

Definition at line 397 of file scsi.h.

#define EXTENDED_MODIFY_DATA_POINTER   0x00

Definition at line 392 of file scsi.h.

#define EXTENDED_PPR   0x04

Definition at line 396 of file scsi.h.

#define EXTENDED_SDTR   0x01

Definition at line 393 of file scsi.h.

#define EXTENDED_WDTR   0x03

Definition at line 395 of file scsi.h.

#define FAILED   0x2003

Definition at line 470 of file scsi.h.

#define FAST_IO_FAIL   0x2009

Definition at line 476 of file scsi.h.

#define FORMAT_UNIT   0x04

Definition at line 54 of file scsi.h.

#define FORMAT_UNIT_TIMEOUT   (2 * 60 * 60 * HZ)

Definition at line 509 of file scsi.h.

#define GET_EVENT_STATUS_NOTIFICATION   0x4a

Definition at line 108 of file scsi.h.

#define GOOD   0x00

Definition at line 275 of file scsi.h.

#define HARDWARE_ERROR   0x04

Definition at line 297 of file scsi.h.

#define HEAD_OF_QUEUE_TAG   0x21

Definition at line 416 of file scsi.h.

#define host_byte (   result)    (((result) >> 16) & 0xff)

Definition at line 499 of file scsi.h.

#define IDENTIFY (   can_disconnect,
  lun 
)
Value:
((can_disconnect) ? 0x40 : 0) |\
((lun) & 0x07))

Definition at line 517 of file scsi.h.

#define IDENTIFY_BASE   0x80

Definition at line 516 of file scsi.h.

#define IGNORE_WIDE_RESIDUE   0x23

Definition at line 418 of file scsi.h.

#define ILLEGAL_REQUEST   0x05

Definition at line 298 of file scsi.h.

#define INITIALIZE_ELEMENT_STATUS   0x07

Definition at line 57 of file scsi.h.

#define INITIATE_RECOVERY   0x0f /* SCSI-II only */

Definition at line 411 of file scsi.h.

#define INITIATOR_ERROR   0x05

Definition at line 401 of file scsi.h.

#define INQUIRY   0x12

Definition at line 64 of file scsi.h.

#define INTERMEDIATE_C_GOOD   0x0a

Definition at line 280 of file scsi.h.

#define INTERMEDIATE_GOOD   0x08

Definition at line 279 of file scsi.h.

#define LINKED_CMD_COMPLETE   0x0a

Definition at line 406 of file scsi.h.

#define LINKED_FLG_CMD_COMPLETE   0x0b

Definition at line 407 of file scsi.h.

#define LOCK_UNLOCK_CACHE   0x36

Definition at line 93 of file scsi.h.

#define LOG_SELECT   0x4c

Definition at line 109 of file scsi.h.

#define LOG_SENSE   0x4d

Definition at line 110 of file scsi.h.

#define LOGICAL_UNIT_RESET   0x17

Definition at line 414 of file scsi.h.

#define MAINTENANCE_IN   0xa3

Definition at line 121 of file scsi.h.

#define MAINTENANCE_OUT   0xa4

Definition at line 122 of file scsi.h.

#define MEDIUM_ERROR   0x03

Definition at line 296 of file scsi.h.

#define MEDIUM_SCAN   0x38

Definition at line 95 of file scsi.h.

#define MESSAGE_REJECT   0x07

Definition at line 403 of file scsi.h.

#define MI_EXT_HDR_PARAM_FMT   0x20

Definition at line 165 of file scsi.h.

#define MI_MANAGEMENT_PROTOCOL_IN   0x10

Definition at line 163 of file scsi.h.

#define MI_REPORT_ALIASES   0x0b

Definition at line 158 of file scsi.h.

#define MI_REPORT_IDENTIFYING_INFORMATION   0x05

Definition at line 156 of file scsi.h.

#define MI_REPORT_PRIORITY   0x0e

Definition at line 161 of file scsi.h.

#define MI_REPORT_SUPPORTED_OPERATION_CODES   0x0c

Definition at line 159 of file scsi.h.

#define MI_REPORT_SUPPORTED_TASK_MANAGEMENT_FUNCTIONS   0x0d

Definition at line 160 of file scsi.h.

#define MI_REPORT_TARGET_PGS   0x0a

Definition at line 157 of file scsi.h.

#define MI_REPORT_TIMESTAMP   0x0f

Definition at line 162 of file scsi.h.

#define MISCOMPARE   0x0e

Definition at line 305 of file scsi.h.

#define MO_CHANGE_ALIASES   0x0b

Definition at line 169 of file scsi.h.

#define MO_MANAGEMENT_PROTOCOL_OUT   0x10

Definition at line 172 of file scsi.h.

#define MO_SET_IDENTIFYING_INFORMATION   0x06

Definition at line 167 of file scsi.h.

#define MO_SET_PRIORITY   0x0e

Definition at line 170 of file scsi.h.

#define MO_SET_TARGET_PGS   0x0a

Definition at line 168 of file scsi.h.

#define MO_SET_TIMESTAMP   0x0f

Definition at line 171 of file scsi.h.

#define MODE_SELECT   0x15

Definition at line 66 of file scsi.h.

#define MODE_SELECT_10   0x55

Definition at line 112 of file scsi.h.

#define MODE_SENSE   0x1a

Definition at line 71 of file scsi.h.

#define MODE_SENSE_10   0x5a

Definition at line 115 of file scsi.h.

#define MOVE_MEDIUM   0xa5

Definition at line 123 of file scsi.h.

#define MOVE_MEDIUM_TIMEOUT   (5 * 60 * HZ)

Definition at line 511 of file scsi.h.

#define msg_byte (   result)    (((result) >> 8) & 0xff)

Definition at line 498 of file scsi.h.

#define MSG_PARITY_ERROR   0x09

Definition at line 405 of file scsi.h.

#define NEEDS_RETRY   0x2001

Definition at line 468 of file scsi.h.

#define NO_SENSE   0x00

Definition at line 293 of file scsi.h.

#define NOP   0x08

Definition at line 404 of file scsi.h.

#define NOT_READY   0x02

Definition at line 295 of file scsi.h.

#define ORDERED_QUEUE_TAG   0x22

Definition at line 417 of file scsi.h.

#define PERSISTENT_RESERVE_IN   0x5e

Definition at line 116 of file scsi.h.

#define PERSISTENT_RESERVE_OUT   0x5f

Definition at line 117 of file scsi.h.

#define POSITION_TO_ELEMENT   0x2b

Definition at line 83 of file scsi.h.

#define PRE_FETCH   0x34

Definition at line 90 of file scsi.h.

#define QAS_REQUEST   0x55

Definition at line 420 of file scsi.h.

#define QUEUE_FULL   0x14

Definition at line 283 of file scsi.h.

#define QUEUED   0x2004

Definition at line 471 of file scsi.h.

#define READ_10   0x28

Definition at line 80 of file scsi.h.

#define READ_12   0xa8

Definition at line 125 of file scsi.h.

#define READ_16   0x88

Definition at line 141 of file scsi.h.

#define READ_32   0x09

Definition at line 178 of file scsi.h.

#define READ_6   0x08

Definition at line 58 of file scsi.h.

#define READ_ATTRIBUTE   0x8c

Definition at line 143 of file scsi.h.

#define READ_BLOCK_LIMITS   0x05

Definition at line 55 of file scsi.h.

#define READ_BUFFER   0x3c

Definition at line 99 of file scsi.h.

#define READ_CAPACITY   0x25

Definition at line 79 of file scsi.h.

#define READ_DEFECT_DATA   0x37

Definition at line 94 of file scsi.h.

#define READ_DEFECT_DATA_TIMEOUT   (60 * HZ )

Definition at line 513 of file scsi.h.

#define READ_ELEMENT_STATUS   0xb8

Definition at line 134 of file scsi.h.

#define READ_ELEMENT_STATUS_TIMEOUT   (5 * 60 * HZ)

Definition at line 512 of file scsi.h.

#define READ_FORMAT_CAPACITIES   0x23

Definition at line 77 of file scsi.h.

#define READ_HEADER   0x44

Definition at line 107 of file scsi.h.

#define READ_LONG   0x3e

Definition at line 101 of file scsi.h.

#define READ_MEDIA_SERIAL_NUMBER   0xab

Definition at line 127 of file scsi.h.

#define READ_POSITION   0x34

Definition at line 91 of file scsi.h.

#define READ_REVERSE   0x0f

Definition at line 61 of file scsi.h.

#define READ_TOC   0x43

Definition at line 106 of file scsi.h.

#define REASSIGN_BLOCKS   0x07

Definition at line 56 of file scsi.h.

#define RECEIVE_COPY_RESULTS   0x84

Definition at line 138 of file scsi.h.

#define RECEIVE_DIAGNOSTIC   0x1c

Definition at line 73 of file scsi.h.

#define RECOVER_BUFFERED_DATA   0x14

Definition at line 65 of file scsi.h.

#define RECOVERED_ERROR   0x01

Definition at line 294 of file scsi.h.

#define RELEASE   0x17

Definition at line 68 of file scsi.h.

#define RELEASE_10   0x57

Definition at line 114 of file scsi.h.

#define RELEASE_RECOVERY   0x10 /* SCSI-II only */

Definition at line 412 of file scsi.h.

#define REPORT_LUNS   0xa0

Definition at line 119 of file scsi.h.

#define REQUEST_SENSE   0x03

Definition at line 53 of file scsi.h.

#define RESERVATION_CONFLICT   0x0c

Definition at line 281 of file scsi.h.

#define RESERVE   0x16

Definition at line 67 of file scsi.h.

#define RESERVE_10   0x56

Definition at line 113 of file scsi.h.

#define RESTORE_POINTERS   0x03

Definition at line 399 of file scsi.h.

#define REZERO_UNIT   0x01

Definition at line 52 of file scsi.h.

#define SAI_GET_LBA_STATUS   0x12

Definition at line 151 of file scsi.h.

#define SAI_READ_CAPACITY_16   0x10

Definition at line 150 of file scsi.h.

#define SAM_STAT_ACA_ACTIVE   0x30

Definition at line 242 of file scsi.h.

#define SAM_STAT_BUSY   0x08

Definition at line 236 of file scsi.h.

#define SAM_STAT_CHECK_CONDITION   0x02

Definition at line 234 of file scsi.h.

#define SAM_STAT_COMMAND_TERMINATED   0x22 /* obsolete in SAM-3 */

Definition at line 240 of file scsi.h.

#define SAM_STAT_CONDITION_MET   0x04

Definition at line 235 of file scsi.h.

#define SAM_STAT_GOOD   0x00

Definition at line 233 of file scsi.h.

#define SAM_STAT_INTERMEDIATE   0x10

Definition at line 237 of file scsi.h.

#define SAM_STAT_INTERMEDIATE_CONDITION_MET   0x14

Definition at line 238 of file scsi.h.

#define SAM_STAT_RESERVATION_CONFLICT   0x18

Definition at line 239 of file scsi.h.

#define SAM_STAT_TASK_ABORTED   0x40

Definition at line 243 of file scsi.h.

#define SAM_STAT_TASK_SET_FULL   0x28

Definition at line 241 of file scsi.h.

#define SAVE_POINTERS   0x02

Definition at line 398 of file scsi.h.

#define SCAN_WILD_CARD   ~0

Definition at line 45 of file scsi.h.

#define SCSI_1   1

Definition at line 529 of file scsi.h.

#define SCSI_1_CCS   2

Definition at line 530 of file scsi.h.

#define SCSI_2   3

Definition at line 531 of file scsi.h.

#define SCSI_3   4 /* SPC */

Definition at line 532 of file scsi.h.

#define SCSI_INQ_PQ_CON   0x00

Definition at line 539 of file scsi.h.

#define SCSI_INQ_PQ_NOT_CAP   0x03

Definition at line 541 of file scsi.h.

#define SCSI_INQ_PQ_NOT_CON   0x01

Definition at line 540 of file scsi.h.

#define SCSI_IOCTL_GET_BUS_NUMBER   0x5386

Definition at line 559 of file scsi.h.

#define SCSI_IOCTL_GET_IDLUN   0x5382

Definition at line 551 of file scsi.h.

#define SCSI_IOCTL_GET_PCI   0x5387

Definition at line 562 of file scsi.h.

#define SCSI_IOCTL_PROBE_HOST   0x5385

Definition at line 556 of file scsi.h.

#define SCSI_MAX_PROT_SG_SEGMENTS   0xFFFF

Definition at line 39 of file scsi.h.

#define SCSI_MAX_SG_CHAIN_SEGMENTS   SCSI_MAX_SG_SEGMENTS

Definition at line 32 of file scsi.h.

#define SCSI_MAX_SG_SEGMENTS   128

Definition at line 23 of file scsi.h.

#define SCSI_MAX_VARLEN_CDB_SIZE   260

Definition at line 191 of file scsi.h.

#define SCSI_MLQUEUE_DEVICE_BUSY   0x1056

Definition at line 483 of file scsi.h.

#define SCSI_MLQUEUE_EH_RETRY   0x1057

Definition at line 484 of file scsi.h.

#define SCSI_MLQUEUE_HOST_BUSY   0x1055

Definition at line 482 of file scsi.h.

#define SCSI_MLQUEUE_TARGET_BUSY   0x1058

Definition at line 485 of file scsi.h.

#define SCSI_RETURN_NOT_HANDLED   0x2008

Definition at line 475 of file scsi.h.

#define SCSI_SPC_2   5

Definition at line 533 of file scsi.h.

#define SCSI_SPC_3   6

Definition at line 534 of file scsi.h.

#define SCSI_UNKNOWN   0

Definition at line 528 of file scsi.h.

#define SCSI_W_LUN_ACCESS_CONTROL   (SCSI_W_LUN_BASE + 2)

Definition at line 377 of file scsi.h.

#define SCSI_W_LUN_BASE   0xc100

Definition at line 375 of file scsi.h.

#define SCSI_W_LUN_REPORT_LUNS   (SCSI_W_LUN_BASE + 1)

Definition at line 376 of file scsi.h.

#define SCSI_W_LUN_TARGET_LOG_PAGE   (SCSI_W_LUN_BASE + 3)

Definition at line 378 of file scsi.h.

#define SEARCH_EQUAL   0x31

Definition at line 87 of file scsi.h.

#define SEARCH_EQUAL_12   0xb1

Definition at line 131 of file scsi.h.

#define SEARCH_HIGH   0x30

Definition at line 86 of file scsi.h.

#define SEARCH_HIGH_12   0xb0

Definition at line 130 of file scsi.h.

#define SEARCH_LOW   0x32

Definition at line 88 of file scsi.h.

#define SEARCH_LOW_12   0xb2

Definition at line 132 of file scsi.h.

#define SECURITY_PROTOCOL_IN   0xa2

Definition at line 120 of file scsi.h.

#define SECURITY_PROTOCOL_OUT   0xb5

Definition at line 133 of file scsi.h.

#define SEEK_10   0x2b

Definition at line 82 of file scsi.h.

#define SEEK_6   0x0b

Definition at line 60 of file scsi.h.

#define SEND_DIAGNOSTIC   0x1d

Definition at line 74 of file scsi.h.

#define SEND_VOLUME_TAG   0xb6

Definition at line 135 of file scsi.h.

#define sense_class (   sense)    (((sense) >> 4) & 0x7)

Definition at line 502 of file scsi.h.

#define sense_error (   sense)    ((sense) & 0xf)

Definition at line 503 of file scsi.h.

#define sense_valid (   sense)    ((sense) & 0x80)

Definition at line 504 of file scsi.h.

#define SERVICE_ACTION_IN   0x9e

Definition at line 148 of file scsi.h.

#define SET_LIMITS   0x33

Definition at line 89 of file scsi.h.

#define SET_WINDOW   0x24

Definition at line 78 of file scsi.h.

#define SIMPLE_QUEUE_TAG   0x20

Definition at line 415 of file scsi.h.

#define SOFT_ERROR   0x2005

Definition at line 472 of file scsi.h.

#define SPACE   0x11

Definition at line 63 of file scsi.h.

#define START_STOP   0x1b

Definition at line 72 of file scsi.h.

#define START_STOP_TIMEOUT   (60 * HZ)

Definition at line 510 of file scsi.h.

#define status_byte (   result)    (((result) >> 1) & 0x7f)

Definition at line 497 of file scsi.h.

#define STATUS_MASK   0xfe

Definition at line 287 of file scsi.h.

#define SUCCESS   0x2002

Definition at line 469 of file scsi.h.

#define SYNCHRONIZE_CACHE   0x35

Definition at line 92 of file scsi.h.

#define SYNCHRONIZE_CACHE_16   0x91

Definition at line 146 of file scsi.h.

#define TARGET_ERROR   0x200A

Definition at line 477 of file scsi.h.

#define TARGET_RESET   0x0c

Definition at line 408 of file scsi.h.

#define TASK_ABORTED   0x20

Definition at line 285 of file scsi.h.

#define TEST_UNIT_READY   0x00

Definition at line 51 of file scsi.h.

#define TIMEOUT_ERROR   0x2007

Definition at line 474 of file scsi.h.

#define TYPE_COMM   0x09 /* Communications device */

Definition at line 322 of file scsi.h.

#define TYPE_DISK   0x00

Definition at line 313 of file scsi.h.

#define TYPE_ENCLOSURE   0x0d /* Enclosure Services Device */

Definition at line 324 of file scsi.h.

#define TYPE_MEDIUM_CHANGER   0x08

Definition at line 321 of file scsi.h.

#define TYPE_MOD
Value:
0x07 /* Magneto-optical disk -
* - treated as TYPE_DISK */

Definition at line 320 of file scsi.h.

#define TYPE_NO_LUN   0x7f

Definition at line 327 of file scsi.h.

#define TYPE_OSD   0x11

Definition at line 326 of file scsi.h.

#define TYPE_PRINTER   0x02

Definition at line 315 of file scsi.h.

#define TYPE_PROCESSOR   0x03 /* HP scanners use this */

Definition at line 316 of file scsi.h.

#define TYPE_RAID   0x0c

Definition at line 323 of file scsi.h.

#define TYPE_RBC   0x0e

Definition at line 325 of file scsi.h.

#define TYPE_ROM   0x05

Definition at line 318 of file scsi.h.

#define TYPE_SCANNER   0x06

Definition at line 319 of file scsi.h.

#define TYPE_TAPE   0x01

Definition at line 314 of file scsi.h.

#define TYPE_WORM   0x04 /* Treated as ROM by our system */

Definition at line 317 of file scsi.h.

#define UNIT_ATTENTION   0x06

Definition at line 299 of file scsi.h.

#define UNMAP   0x42

Definition at line 105 of file scsi.h.

#define UPDATE_BLOCK   0x3d

Definition at line 100 of file scsi.h.

#define VARIABLE_LENGTH_CMD   0x7f

Definition at line 118 of file scsi.h.

#define VERIFY   0x2f

Definition at line 85 of file scsi.h.

#define VERIFY_12   0xaf

Definition at line 129 of file scsi.h.

#define VERIFY_16   0x8f

Definition at line 145 of file scsi.h.

#define VERIFY_32   0x0a

Definition at line 179 of file scsi.h.

#define VLC_SA_RECEIVE_CREDENTIAL   0x1800

Definition at line 154 of file scsi.h.

#define VOLUME_OVERFLOW   0x0d

Definition at line 304 of file scsi.h.

#define WRITE_10   0x2a

Definition at line 81 of file scsi.h.

#define WRITE_12   0xaa

Definition at line 126 of file scsi.h.

#define WRITE_16   0x8a

Definition at line 142 of file scsi.h.

#define WRITE_32   0x0b

Definition at line 180 of file scsi.h.

#define WRITE_6   0x0a

Definition at line 59 of file scsi.h.

#define WRITE_ATTRIBUTE   0x8d

Definition at line 144 of file scsi.h.

#define WRITE_BUFFER   0x3b

Definition at line 98 of file scsi.h.

#define WRITE_FILEMARKS   0x10

Definition at line 62 of file scsi.h.

#define WRITE_LONG   0x3f

Definition at line 102 of file scsi.h.

#define WRITE_LONG_2   0xea

Definition at line 136 of file scsi.h.

#define WRITE_SAME   0x41

Definition at line 104 of file scsi.h.

#define WRITE_SAME_16   0x93

Definition at line 147 of file scsi.h.

#define WRITE_SAME_32   0x0d

Definition at line 181 of file scsi.h.

#define WRITE_VERIFY   0x2e

Definition at line 84 of file scsi.h.

#define WRITE_VERIFY_12   0xae

Definition at line 128 of file scsi.h.

#define XDREAD_32   0x03

Definition at line 174 of file scsi.h.

#define XDWRITE_32   0x04

Definition at line 175 of file scsi.h.

#define XDWRITEREAD_10   0x53

Definition at line 111 of file scsi.h.

#define XDWRITEREAD_32   0x07

Definition at line 177 of file scsi.h.

#define XPWRITE_32   0x06

Definition at line 176 of file scsi.h.

Enumeration Type Documentation

Enumerator:
SCSI_PROTOCOL_FCP 
SCSI_PROTOCOL_SPI 
SCSI_PROTOCOL_SSA 
SCSI_PROTOCOL_SBP 
SCSI_PROTOCOL_SRP 
SCSI_PROTOCOL_ISCSI 
SCSI_PROTOCOL_SAS 
SCSI_PROTOCOL_ADT 
SCSI_PROTOCOL_ATA 
SCSI_PROTOCOL_UNSPEC 

Definition at line 330 of file scsi.h.

Function Documentation

const char* scsi_device_type ( unsigned  type)

scsi_device_type - Return 17 char string indicating device type. : type number to look up

Definition at line 130 of file scsi.c.

Variable Documentation

const unsigned char scsi_command_size_tbl[8]

Definition at line 44 of file scsi_ioctl.c.