home *** CD-ROM | disk | FTP | other *** search
/ NeXTSTEP 3.3 (Developer)…68k, x86, SPARC, PA-RISC] / NeXTSTEP 3.3 Dev Intel.iso / NextDeveloper / Examples / DriverKit / Adaptec1542B / Adaptec1542B_reloc.tproj / scsivar.h < prev   
Encoding:
C/C++ Source or Header  |  1995-02-10  |  1.8 KB  |  61 lines

  1. /*
  2.  * Copyright (c) 1992 NeXT Computer, Inc.
  3.  *
  4.  * Generic SCSI data structures.
  5.  *
  6.  * HISTORY
  7.  *
  8.  * 13 Apr  1993    Doug Mitchell
  9.  *    Standalone version for Loadable Adaptec driver.
  10.  *  6 July 1992 David E. Bohman at NeXT
  11.  *    Created from m68k version.
  12.  */
  13.  
  14. /* 
  15.  * SCSI bus constants used only by driver (not exported) 
  16.  */
  17.  
  18. /*
  19.  * message codes
  20.  */
  21. #define    MSG_CMDCMPLT        0x00    /* to host: command complete */
  22. #define    MSG_SAVEPTRS        0x02    /* to host: save data pointers */
  23. #define    MSG_RESTOREPTRS        0x03    /* to host: restore pointers */
  24. #define    MSG_DISCONNECT        0x04    /* to host: disconnect */
  25. #define    MSG_IDETERR        0x05    /* to disk: initiator detected error */
  26. #define    MSG_ABORT        0x06    /* to disk: abort op, go to bus free */
  27. #define    MSG_MSGREJECT        0x07    /* both ways: last msg unimplemented */
  28. #define    MSG_NOP            0x08    /* to disk: no-op message */
  29. #define    MSG_MSGPARERR        0x09    /* to disk: parity error last message */
  30. #define    MSG_LNKCMDCMPLT        0x0a    /* to host: linked command complete */
  31. #define    MSG_LNKCMDCMPLTFLAG    0x0b    /* to host: flagged linked cmd cmplt */
  32. #define    MSG_DEVICERESET        0x0c    /* to disk: reset and go to bus free */
  33.  
  34. #define    MSG_IDENTIFYMASK    0x80    /* both ways: thread identification */
  35. #define    MSG_ID_DISCONN        0x40    /*    can disconnect/reconnect */
  36. #define    MSG_ID_LUNMASK        0x07    /*    target LUN */
  37.  
  38. /*
  39.  * opcode groups
  40.  */
  41. #define    SCSI_OPGROUP(opcode)    ((opcode) & 0xe0)
  42.  
  43. #define    OPGROUP_0        0x00    /* six byte commands */
  44. #define    OPGROUP_1        0x20    /* ten byte commands */
  45. #define    OPGROUP_2        0x40    /* ten byte commands */
  46. #define    OPGROUP_5        0xa0    /* twelve byte commands */
  47. #define    OPGROUP_6        0xc0    /* six byte, vendor unique commands */
  48. #define    OPGROUP_7        0xe0    /* ten byte, vendor unique commands */
  49.  
  50. /*
  51.  * scsi bus phases
  52.  */
  53. #define    PHASE_DATAOUT        0x0
  54. #define    PHASE_DATAIN        0x1
  55. #define    PHASE_COMMAND        0x2
  56. #define    PHASE_STATUS        0x3
  57. #define    PHASE_MSGOUT        0x6
  58. #define    PHASE_MSGIN        0x7
  59.  
  60.  
  61.