Author: andreasf Date: 2010-08-29 15:03:05 +0200 (Sun, 29 Aug 2010) New Revision: 38425 Changeset: http://dev.haiku-os.org/changeset/38425 Modified: haiku/trunk/headers/private/drivers/scsi_cmds.h Log: SCSI: Add struct for READ (16) and WRITE (16) commands Based on a SCSI Command Reference Manual by Seagate and Wikipedia. Tested against OpenSolaris iSCSI target on ppc. It choked on the READ (12) opcode. Modified: haiku/trunk/headers/private/drivers/scsi_cmds.h =================================================================== --- haiku/trunk/headers/private/drivers/scsi_cmds.h 2010-08-29 10:43:54 UTC (rev 38424) +++ haiku/trunk/headers/private/drivers/scsi_cmds.h 2010-08-29 13:03:05 UTC (rev 38425) @@ -388,6 +388,29 @@ } _PACKED scsi_cmd_rw_12; +// READ (16), WRITE (16) + +typedef struct scsi_cmd_rw_16 { + uint8 opcode; + LBITFIELD8_6( + _res1_0 : 1, + force_unit_access_non_volatile : 1, + _res1_2 : 1, + force_unit_access : 1, + disable_page_out : 1, + read_protect : 3 + ); + uint64 lba; // big endian + uint32 length; + LBITFIELD8_3( + group_number : 5, + _res_14_5 : 2, + _res_14_7 : 1 + ); + uint8 control; +} _PACKED scsi_cmd_rw_16; + + // REQUEST SENSE typedef struct scsi_cmd_request_sense {