1*b3d94504SStephan Aßmus /* 2*b3d94504SStephan Aßmus * Copyright (c) 2003-2005 by Siarzhuk Zharski <imker@gmx.li> 3*b3d94504SStephan Aßmus * Distributed under the terms of the BSD License. 4*b3d94504SStephan Aßmus * 5*b3d94504SStephan Aßmus */ 6*b3d94504SStephan Aßmus 7*b3d94504SStephan Aßmus #ifndef _USB_SCSI_H_ 8*b3d94504SStephan Aßmus #define _USB_SCSI_H_ 9*b3d94504SStephan Aßmus 10*b3d94504SStephan Aßmus #ifndef _OS_H 11*b3d94504SStephan Aßmus #include <OS.h> 12*b3d94504SStephan Aßmus #endif //_OS_H 13*b3d94504SStephan Aßmus 14*b3d94504SStephan Aßmus #ifndef _USB_V3_H 15*b3d94504SStephan Aßmus #include "USB_v3.h" 16*b3d94504SStephan Aßmus #endif /* _USB_V3_H */ 17*b3d94504SStephan Aßmus 18*b3d94504SStephan Aßmus #ifndef _CAM_H 19*b3d94504SStephan Aßmus #include <CAM.h> 20*b3d94504SStephan Aßmus #endif /*_CAM_H*/ 21*b3d94504SStephan Aßmus 22*b3d94504SStephan Aßmus #define MODULE_NAME "usb_scsi" 23*b3d94504SStephan Aßmus 24*b3d94504SStephan Aßmus #define CONTROLLER_SCSI_BUS 0x00 /* Narrow SCSI bus. Use PI_* to alter this*/ 25*b3d94504SStephan Aßmus #define MAX_DEVICES_COUNT 0x07 /* simulate Narrow SCSI bus - 8 devices*/ 26*b3d94504SStephan Aßmus #define CONTROLLER_SCSI_ID 0x07 /* "controller" SCSI ID */ 27*b3d94504SStephan Aßmus #define MAX_LUNS_COUNT 0x08 28*b3d94504SStephan Aßmus 29*b3d94504SStephan Aßmus /* transport protocol definitions - are not bitmasks */ 30*b3d94504SStephan Aßmus #define PROTO_NONE 0x00000000 31*b3d94504SStephan Aßmus #define PROTO_BULK_ONLY 0x00000001 32*b3d94504SStephan Aßmus #define PROTO_CB 0x00000002 33*b3d94504SStephan Aßmus #define PROTO_CBI 0x00000003 34*b3d94504SStephan Aßmus 35*b3d94504SStephan Aßmus #define PROTO_VENDOR 0x0000000e 36*b3d94504SStephan Aßmus #define PROTO_MASK 0x0000000f 37*b3d94504SStephan Aßmus 38*b3d94504SStephan Aßmus #define PROTO(__value) ((__value) & PROTO_MASK) 39*b3d94504SStephan Aßmus 40*b3d94504SStephan Aßmus /* command set definitions - are not bitmasks */ 41*b3d94504SStephan Aßmus #define CMDSET_NONE 0x00000000 42*b3d94504SStephan Aßmus #define CMDSET_SCSI 0x00000010 43*b3d94504SStephan Aßmus #define CMDSET_UFI 0x00000020 44*b3d94504SStephan Aßmus #define CMDSET_ATAPI 0x00000030 45*b3d94504SStephan Aßmus #define CMDSET_RBC 0x00000040 46*b3d94504SStephan Aßmus #define CMDSET_QIC157 0x00000050 47*b3d94504SStephan Aßmus 48*b3d94504SStephan Aßmus #define CMDSET_VENDOR 0x000000e0 49*b3d94504SStephan Aßmus #define CMDSET_MASK 0x000000f0 50*b3d94504SStephan Aßmus 51*b3d94504SStephan Aßmus #define CMDSET(__value)((__value) & CMDSET_MASK) 52*b3d94504SStephan Aßmus 53*b3d94504SStephan Aßmus #define HAS_SET(__mask, __flag) \ 54*b3d94504SStephan Aßmus (((__mask) & __flag) == (__flag)) 55*b3d94504SStephan Aßmus 56*b3d94504SStephan Aßmus /* fixes - bitmasked */ 57*b3d94504SStephan Aßmus #define FIX_NO_GETMAXLUN 0x00000100 58*b3d94504SStephan Aßmus #define FIX_FORCE_RW_TO_6 0x00000200 59*b3d94504SStephan Aßmus #define FIX_NO_TEST_UNIT 0x00000400 60*b3d94504SStephan Aßmus #define FIX_NO_INQUIRY 0x00000800 61*b3d94504SStephan Aßmus #define FIX_TRANS_TEST_UNIT 0x00001000 62*b3d94504SStephan Aßmus #define FIX_NO_PREVENT_MEDIA 0x00002000 63*b3d94504SStephan Aßmus #define FIX_FORCE_MS_TO_10 0x00004000 64*b3d94504SStephan Aßmus #define FIX_FORCE_READ_ONLY 0x00008000 65*b3d94504SStephan Aßmus 66*b3d94504SStephan Aßmus #define FIX_NONE 0x00000000 67*b3d94504SStephan Aßmus #define FIX_MASK 0x000fff00 68*b3d94504SStephan Aßmus 69*b3d94504SStephan Aßmus #define HAS_FIXES(__value, __fix) \ 70*b3d94504SStephan Aßmus HAS_SET((__value), (__fix)) 71*b3d94504SStephan Aßmus 72*b3d94504SStephan Aßmus #endif /*_USB_SCSI_H_*/ 73