Home | History | Annotate | Line # | Download | only in scsipi
scsi_all.h revision 1.24.114.1
      1  1.24.114.1      mrg /*	$NetBSD: scsi_all.h,v 1.24.114.1 2012/03/04 00:46:26 mrg Exp $	*/
      2         1.5      cgd 
      3         1.1      cgd /*
      4        1.16      wiz  * SCSI-specific interface description.
      5         1.3  mycroft  */
      6         1.3  mycroft 
      7         1.3  mycroft /*
      8         1.1      cgd  * Largely written by Julian Elischer (julian (at) tfs.com)
      9         1.1      cgd  * for TRW Financial Systems.
     10         1.1      cgd  *
     11         1.1      cgd  * TRW Financial Systems, in accordance with their agreement with Carnegie
     12         1.1      cgd  * Mellon University, makes this software available to CMU to distribute
     13        1.12    enami  * or use in any manner that they see fit as long as this message is kept with
     14         1.1      cgd  * the software. For this reason TFS also grants any other persons or
     15         1.1      cgd  * organisations permission to use or modify this software.
     16         1.1      cgd  *
     17         1.1      cgd  * TFS supplies this software to be publicly redistributed
     18         1.1      cgd  * on the understanding that TFS is not responsible for the correct
     19         1.1      cgd  * functioning of this software in any circumstances.
     20         1.1      cgd  *
     21         1.3  mycroft  * Ported to run under 386BSD by Julian Elischer (julian (at) tfs.com) Sept 1992
     22         1.1      cgd  */
     23         1.1      cgd 
     24        1.19     matt #ifndef _DEV_SCSIPI_SCSI_ALL_H_
     25        1.19     matt #define _DEV_SCSIPI_SCSI_ALL_H_
     26        1.19     matt 
     27         1.1      cgd /*
     28  1.24.114.1      mrg  * Define some bits that are in ALL (or a lot of) scsi commands
     29         1.1      cgd  */
     30        1.12    enami #define	SCSI_CTL_LINK		0x01
     31        1.12    enami #define	SCSI_CTL_FLAG		0x02
     32        1.12    enami #define	SCSI_CTL_VENDOR		0xC0
     33         1.9  thorpej 
     34         1.9  thorpej 
     35         1.9  thorpej /*
     36         1.9  thorpej  * Some old SCSI devices need the LUN to be set in the top 3 bits of the
     37         1.9  thorpej  * second byte of the CDB.
     38         1.9  thorpej  */
     39         1.9  thorpej #define	SCSI_CMD_LUN_MASK	0xe0
     40         1.9  thorpej #define	SCSI_CMD_LUN_SHIFT	5
     41         1.1      cgd 
     42        1.11   bouyer #define	SCSI_CHANGE_DEFINITION	0x40
     43         1.6  mycroft struct scsi_changedef {
     44        1.22  reinoud 	u_int8_t opcode;
     45        1.22  reinoud 	u_int8_t byte2;
     46        1.22  reinoud 	u_int8_t unused1;
     47        1.22  reinoud 	u_int8_t how;
     48        1.22  reinoud 	u_int8_t unused[4];
     49        1.22  reinoud 	u_int8_t datalen;
     50        1.22  reinoud 	u_int8_t control;
     51         1.3  mycroft };
     52        1.12    enami #define	SC_SCSI_1 0x01
     53        1.12    enami #define	SC_SCSI_2 0x03
     54         1.1      cgd 
     55         1.1      cgd /*
     56         1.1      cgd  * Status Byte
     57         1.1      cgd  */
     58        1.15       ad #define	SCSI_OK			0x00
     59        1.15       ad #define	SCSI_CHECK		0x02
     60        1.15       ad #define	SCSI_BUSY		0x08
     61        1.15       ad #define	SCSI_INTERM		0x10
     62        1.15       ad #define	SCSI_RESV_CONFLICT	0x18
     63        1.15       ad #define	SCSI_TERMINATED		0x22
     64        1.15       ad #define	SCSI_QUEUE_FULL		0x28
     65        1.15       ad #define	SCSI_ACA_ACTIVE		0x30
     66        1.19     matt 
     67        1.19     matt #endif /* _DEV_SCSIPI_SCSI_ALL_H_ */
     68