summaryrefslogtreecommitdiff
path: root/sysdeps/unix/sysv/linux/scsi/sg.h
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2000-03-15 07:50:48 +0000
committerUlrich Drepper <drepper@redhat.com>2000-03-15 07:50:48 +0000
commit5d1415976fb392aac199c42a47bf453a86286da5 (patch)
tree1a962b9171aed5571400290ab7a4c7ae4d455634 /sysdeps/unix/sysv/linux/scsi/sg.h
parent30b416ea87471a739763966fddc37f6273be58e0 (diff)
Update.
2000-03-08 Andreas Jaeger <aj@suse.de> * sysdeps/unix/sysv/linux/scsi/sg.h: Sync with Linux 2.3.50. * timezone/africa: Update from tzdata2000d. * timezone/asia: Likewise. * timezone/australasia: Likewise. * timezone/europe: Likewise. * timezone/northamerica: Likewise. * timezone/southamerica: Likewise. * po/fr.po: Update from translation team. * po/de.po: Likewise. * sysdeps/i386/fpu/bits/mathinline.h: Fix union definition error in __sgn1l, otherwise g++ fails to parse this. Reported by Sean Chen <sean.chen@turbolinux.com>.
Diffstat (limited to 'sysdeps/unix/sysv/linux/scsi/sg.h')
-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. */