1 1.25 shattere /* $NetBSD: scsi_all.h,v 1.25 2012/02/25 10:17:14 shattered 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.25 shattere * 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