2 * Copyright 2009, Haiku Inc. All rights reserved.
3 * Distributed under the terms of the MIT License.
11 #include <SupportDefs.h>
14 /* SCSI device types */
15 #define B_SCSI_DISK 0x00
16 #define B_SCSI_TAPE 0x01
17 #define B_SCSI_PRINTER 0x02
18 #define B_SCSI_CPU 0x03
19 #define B_SCSI_WORM 0x04
20 #define B_SCSI_CD 0x05
21 #define B_SCSI_SCANNER 0x06
22 #define B_SCSI_OPTICAL 0x07
23 #define B_SCSI_JUKEBOX 0x08
24 #define B_SCSI_NETWORK 0x09
27 /* SCSI device masks */
28 #define B_SCSI_ALL_DEVICES_MASK 0xffffffff
29 #define B_SCSI_DISK_MASK (1 << (B_SCSI_DISK))
30 #define B_SCSI_TAPE_MASK (1 << (B_SCSI_TAPE))
31 #define B_SCSI_PRINTER_MASK (1 << (B_SCSI_PRINTER))
32 #define B_SCSI_CPU_MASK (1 << (B_SCSI_CPU))
33 #define B_SCSI_WORM_MASK (1 << (B_SCSI_WORM))
34 #define B_SCSI_CD_MASK (1 << (B_SCSI_CD))
35 #define B_SCSI_SCANNER_MASK (1 << (B_SCSI_SCANNER))
36 #define B_SCSI_OPTICAL_MASK (1 << (B_SCSI_OPTICAL))
37 #define B_SCSI_JUKEBOX_MASK (1 << (B_SCSI_JUKEBOX))
38 #define B_SCSI_NETWORK_MASK (1 << (B_SCSI_NETWORK))
42 B_SCSI_SCAN_FOR_DEVICES
= B_DEVICE_OP_CODES_END
+ 1,
43 B_SCSI_ENABLE_PROFILING
48 B_SCSI_INQUIRY
= B_DEVICE_OP_CODES_END
+ 100,
56 uchar inquiry_data
[36];
61 B_SCSI_GET_TOC
= B_DEVICE_OP_CODES_END
+ 200,
117 #define B_SCSI_PORT0_CHANNEL 0x01
118 #define B_SCSI_PORT0_VOLUME 0x02
119 #define B_SCSI_PORT1_CHANNEL 0x04
120 #define B_SCSI_PORT1_VOLUME 0x08
121 #define B_SCSI_PORT2_CHANNEL 0x10
122 #define B_SCSI_PORT2_VOLUME 0x20
123 #define B_SCSI_PORT3_CHANNEL 0x40
124 #define B_SCSI_PORT3_VOLUME 0x80
154 uint8 command_length
;
161 size_t sense_data_length
;
163 } raw_device_command
;
167 B_RAW_DEVICE_DATA_IN
= 0x01,
168 B_RAW_DEVICE_REPORT_RESIDUAL
= 0x02,
169 B_RAW_DEVICE_SHORT_READ_VALID
= 0x04