summaryrefslogtreecommitdiff
path: root/lib/mlibc/options/linux/include/scsi
diff options
context:
space:
mode:
Diffstat (limited to 'lib/mlibc/options/linux/include/scsi')
-rw-r--r--lib/mlibc/options/linux/include/scsi/scsi.h18
-rw-r--r--lib/mlibc/options/linux/include/scsi/scsi_ioctl.h6
-rw-r--r--lib/mlibc/options/linux/include/scsi/sg.h77
3 files changed, 101 insertions, 0 deletions
diff --git a/lib/mlibc/options/linux/include/scsi/scsi.h b/lib/mlibc/options/linux/include/scsi/scsi.h
new file mode 100644
index 0000000..f7f92d8
--- /dev/null
+++ b/lib/mlibc/options/linux/include/scsi/scsi.h
@@ -0,0 +1,18 @@
+
+#ifndef _LINUX_SCSI_SCSI_H
+#define _LINUX_SCSI_SCSI_H
+
+#define RECOVERED_ERROR 0x01
+#define ILLEGAL_REQUEST 0x05
+#define UNIT_ATTENTION 0x06
+#define INQUIRY 0x12
+#define START_STOP 0x1b
+#define ALLOW_MEDIUM_REMOVAL 0x1e
+
+#define SCSI_IOCTL_GET_IDLUN 0x5382
+#define SCSI_IOCTL_TAGGED_ENABLE 0x5383
+#define SCSI_IOCTL_TAGGED_DISABLE 0x5384
+#define SCSI_IOCTL_PROBE_HOST 0x5385
+
+#endif // _LINUX_SCSI_SCSI_H
+
diff --git a/lib/mlibc/options/linux/include/scsi/scsi_ioctl.h b/lib/mlibc/options/linux/include/scsi/scsi_ioctl.h
new file mode 100644
index 0000000..16c7cfa
--- /dev/null
+++ b/lib/mlibc/options/linux/include/scsi/scsi_ioctl.h
@@ -0,0 +1,6 @@
+
+#ifndef _LINUX_SCSI_SCSI_IOCTL_H
+#define _LINUX_SCSI_SCSI_IOCTL_H
+
+#endif // _LINUX_SCSI_SCSI_IOCTL_H
+
diff --git a/lib/mlibc/options/linux/include/scsi/sg.h b/lib/mlibc/options/linux/include/scsi/sg.h
new file mode 100644
index 0000000..a9dfc7a
--- /dev/null
+++ b/lib/mlibc/options/linux/include/scsi/sg.h
@@ -0,0 +1,77 @@
+
+#ifndef _LINUX_SCSI_SG_H
+#define _LINUX_SCSI_SG_H
+
+#define SG_IO 0x2285
+
+#define SG_GET_VERSION_NUM 0x2282
+
+#define SG_FLAG_DIRECT_IO 1
+#define SG_FLAG_LUN_INHIBIT 2
+
+#define SG_INFO_OK 0x0
+#define SG_INFO_OK_MASK 0x1
+
+#define SG_DXFER_NONE (-1)
+#define SG_DXFER_TO_DEV (-2)
+#define SG_DXFER_FROM_DEV (-3)
+#define SG_DXFER_TO_FROM_DEV (-4)
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef struct sg_io_hdr {
+ int interface_id;
+ int dxfer_direction;
+ unsigned char cmd_len;
+ unsigned char mx_sb_len;
+ unsigned short iovec_count;
+ unsigned int dxfer_len;
+ void *dxferp;
+ unsigned char *cmdp;
+ unsigned char *sbp;
+ unsigned int timeout;
+ unsigned int flags;
+ int pack_id;
+ void *usr_ptr;
+ unsigned char status;
+ unsigned char masked_status;
+ unsigned char msg_status;
+ unsigned char sb_len_wr;
+ unsigned short host_status;
+ unsigned short driver_status;
+ int resid;
+ unsigned int duration;
+ unsigned int info;
+} sg_io_hdr_t;
+
+struct sg_scsi_id {
+ int host_no;
+ int channel;
+ int scsi_id;
+ int lun;
+ int scsi_type;
+ short int h_cmd_per_lun;
+ short int d_queue_depth;
+ int unused[2];
+};
+
+typedef struct sg_req_info {
+ char req_state;
+ char orphan;
+ char sg_io_owned;
+ char problem;
+ int pack_id;
+ void *usr_ptr;
+ unsigned int duration;
+
+ int unused;
+} sg_req_info_t;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif // _LINUX_SCSI_SG_H
+