[haiku-commits] r38425 - haiku/trunk/headers/private/drivers

  • From: andreas.faerber@xxxxxx
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Sun, 29 Aug 2010 15:03:05 +0200 (CEST)

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 {


Other related posts:

  • » [haiku-commits] r38425 - haiku/trunk/headers/private/drivers - andreas . faerber