The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/dev/scsipi/scsi_message.h

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 /*      $NetBSD: scsi_message.h,v 1.15 2005/02/27 00:27:48 perry Exp $  */
    2 
    3 /* Messages (1 byte) */              /* I/T (M)andatory or (O)ptional */
    4 #define MSG_CMDCOMPLETE         0x00 /* M/M */
    5 #define MSG_TASK_COMPLETE       0x00 /* M/M */ /* SPI3 Terminology */
    6 #define MSG_EXTENDED            0x01 /* O/O */
    7 #define MSG_SAVEDATAPOINTER     0x02 /* O/O */
    8 #define MSG_RESTOREPOINTERS     0x03 /* O/O */
    9 #define MSG_DISCONNECT          0x04 /* O/O */
   10 #define MSG_INITIATOR_DET_ERR   0x05 /* M/M */
   11 #define MSG_ABORT               0x06 /* O/M */
   12 #define MSG_ABORT_TASK_SET      0x06 /* O/M */ /* SPI3 Terminology */
   13 #define MSG_MESSAGE_REJECT      0x07 /* M/M */
   14 #define MSG_NOOP                0x08 /* M/M */
   15 #define MSG_PARITY_ERROR        0x09 /* M/M */
   16 #define MSG_LINK_CMD_COMPLETE   0x0a /* O/O */
   17 #define MSG_LINK_CMD_COMPLETEF  0x0b /* O/O */
   18 #define MSG_BUS_DEV_RESET       0x0c /* O/M */
   19 #define MSG_TARGET_RESET        0x0c /* O/M */ /* SPI3 Terminology */
   20 #define MSG_ABORT_TAG           0x0d /* O/O */
   21 #define MSG_ABORT_TASK          0x0d /* O/O */ /* SPI3 Terminology */
   22 #define MSG_CLEAR_QUEUE         0x0e /* O/O */
   23 #define MSG_CLEAR_TASK_SET      0x0e /* O/O */ /* SPI3 Terminology */
   24 #define MSG_INIT_RECOVERY       0x0f /* O/O */ /* Deprecated in SPI3 */
   25 #define MSG_REL_RECOVERY        0x10 /* O/O */ /* Deprecated in SPI3 */
   26 #define MSG_TERM_IO_PROC        0x11 /* O/O */ /* Deprecated in SPI3 */
   27 #define MSG_QAS_REQUEST         0x55 /* O/O */ /* SPI3 */
   28 
   29 /* Messages (2 byte) */
   30 #define MSG_SIMPLE_Q_TAG        0x20 /* O/O */
   31 #define MSG_SIMPLE_TASK         0x20 /* O/O */ /* SPI3 Terminology */
   32 #define MSG_HEAD_OF_Q_TAG       0x21 /* O/O */
   33 #define MSG_HEAD_OF_QUEUE_TASK  0x21 /* O/O */ /* SPI3 Terminology */
   34 #define MSG_ORDERED_Q_TAG       0x22 /* O/O */
   35 #define MSG_ORDERED_TASK        0x22 /* O/O */ /* SPI3 Terminology */
   36 #define MSG_IGN_WIDE_RESIDUE    0x23 /* O/O */
   37 #define MSG_ACA_TASK            0x24 /* 0/0 */ /* SPI3 */
   38 
   39 /* Identify message */               /* M/M */
   40 #define MSG_IDENTIFYFLAG        0x80
   41 #define MSG_IDENTIFY_DISCFLAG   0x40
   42 #define MSG_IDENTIFY(lun, disc) \
   43         (MSG_IDENTIFYFLAG | ((disc) ? MSG_IDENTIFY_DISCFLAG : 0) | (lun))
   44 #define MSG_ISIDENTIFY(m)       ((m) & MSG_IDENTIFYFLAG)
   45 #define MSG_IDENTIFY_LUNMASK    0x3f
   46 
   47 /* Extended messages (opcode and length) */
   48 #define MSG_EXT_SDTR            0x01
   49 #define MSG_EXT_SDTR_LEN        0x03
   50 
   51 #define MSG_EXT_WDTR            0x03
   52 #define MSG_EXT_WDTR_LEN        0x02
   53 #define MSG_EXT_WDTR_BUS_8_BIT  0x00
   54 #define MSG_EXT_WDTR_BUS_16_BIT 0x01
   55 #define MSG_EXT_WDTR_BUS_32_BIT 0x02 /* Deprecated in SPI3 */
   56 
   57 #define MSG_EXT_PPR             0x04 /* SPI3 */
   58 #define MSG_EXT_PPR_LEN         0x06
   59 /*
   60  * Offsets:     0x3: transfer period factor
   61  *              0x4: reserved
   62  *              0x5: REQ/ACK offset
   63  *              0x6: transfer width exponent
   64  *              0x7: flags
   65  */
   66 #define MSG_EXT_PPR_IU          0x01
   67 #define MSG_EXT_PPR_DT          0x02
   68 #define MSG_EXT_PPR_QAS         0x04
   69 #define MSG_EXT_PPR_HOLDMCS     0x08
   70 #define MSG_EXT_PPR_WRFLOW      0x10
   71 #define MSG_EXT_PPR_RDSTRM      0x20
   72 #define MSG_EXT_PPR_RTI         0x40
   73 #define MSG_EXT_PPR_PCOM        0x80
   74 
   75 /*
   76  * FreeBSD compat for above.
   77  */
   78 #define MSG_EXT_PPR_QAS_REQ     MSG_EXT_PPR_QAS
   79 #define MSG_EXT_PPR_DT_REQ      MSG_EXT_PPR_DT
   80 #define MSG_EXT_PPR_IU_REQ      MSG_EXT_PPR_IU
   81 #define MSG_EXT_PPR_PCOMP_EN    MSG_EXT_PPR_PCOM
   82 #define MSG_EXT_PPR_RD_STRM     MSG_EXT_PPR_RDSTRM
   83 
   84 #define MSG_ISEXTENDED(m)       ((m) == MSG_EXTENDED)
   85 
   86 /* message length */
   87 #define MSG_IS1BYTE(m)  \
   88         ((!MSG_ISEXTENDED(m) && (m) < 0x20) || MSG_ISIDENTIFY(m))
   89 #define MSG_IS2BYTE(m)          (((m) & 0xf0) == 0x20)

Cache object: 75a81c92735122e04ae9e0f703eec69c


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.