about summary refs log tree commit diff
path: root/sysdeps/unix/sysv/linux/scsi
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/unix/sysv/linux/scsi')
-rw-r--r--sysdeps/unix/sysv/linux/scsi/sg.h17
1 files changed, 11 insertions, 6 deletions
diff --git a/sysdeps/unix/sysv/linux/scsi/sg.h b/sysdeps/unix/sysv/linux/scsi/sg.h
index 077ccd338d..246f56f5b9 100644
--- a/sysdeps/unix/sysv/linux/scsi/sg.h
+++ b/sysdeps/unix/sysv/linux/scsi/sg.h
@@ -34,7 +34,7 @@
 /* Same structure as used by readv() Linux system call. It defines one
    scatter-gather element. */
 typedef struct sg_iovec
-{                      
+{
   void * iov_base;            /* Starting address  */
   size_t iov_len;             /* Length in bytes  */
 } sg_iovec_t;
@@ -42,11 +42,12 @@ typedef struct sg_iovec
 
 typedef struct sg_io_hdr
 {
-  char interface_id;          /* [i] 'S' for SCSI generic (required) */
+  int interface_id;           /* [i] 'S' for SCSI generic (required) */
+  int dxfer_direction;        /* [i] data transfer direction  */
   unsigned char cmd_len;      /* [i] SCSI command length ( <= 16 bytes) */
-  unsigned char iovec_count;  /* [i] 0 implies no scatter gather */
   unsigned char mx_sb_len;    /* [i] max length to write to sbp */
   int dxfer_direction;        /* [i] data transfer direction  */
+  unsigned short int iovec_count; /* [i] 0 implies no scatter gather */
   unsigned int dxfer_len;     /* [i] byte count of data transfer */
   void * dxferp;              /* [i], [*io] points to data transfer memory
 				 or scatter gather list */
@@ -166,9 +167,13 @@ typedef struct sg_req_info {
 
 #define SG_GET_VERSION_NUM 0x2282 /* Example: version 2.1.34 yields 20134 */
 
-/* Returns -EBUSY if occupied else takes as input: 0 -> do nothing,
-   1 -> device reset or  2 -> bus reset (may not be activated yet) */
+/* Returns -EBUSY if occupied. 3rd argument pointer to int (see next) */
 #define SG_SCSI_RESET 0x2284
+/* Associated values that can be given to SG_SCSI_RESET follow */
+#define SG_SCSI_RESET_NOTHING	0
+#define SG_SCSI_RESET_DEVICE	1
+#define SG_SCSI_RESET_BUS	2
+#define SG_SCSI_RESET_HOST	3
 
 /* synchronous SCSI command ioctl, (only in version 3 interface) */
 #define SG_IO 0x2285   /* similar effect as write() followed by read() */
@@ -243,7 +248,7 @@ struct sg_header
 
 
 /* IOCTLs: The following are not required (or ignored) when the sg_io_hdr_t
-	   interface is used. That are kept for backward compatibility with
+	   interface is used. They are kept for backward compatibility with
 	   the original and version 2 drivers. */
 
 #define SG_SET_TIMEOUT		0x2201	/* Set timeout; *(int *)arg==timeout.  */