summaryrefslogtreecommitdiffstats
path: root/sys/scsi/scsi_tape.h
diff options
context:
space:
mode:
authorrgrimes <rgrimes@FreeBSD.org>1993-06-12 14:58:17 +0000
committerrgrimes <rgrimes@FreeBSD.org>1993-06-12 14:58:17 +0000
commit25062ba061871945759b3baa833fe64969383e40 (patch)
tree2d1c31051ed0dbaad984013c9fe695b1a01e1c39 /sys/scsi/scsi_tape.h
parentf078b88a160c467761b3f3641f05dfd0aa3f7753 (diff)
downloadFreeBSD-src-25062ba061871945759b3baa833fe64969383e40.zip
FreeBSD-src-25062ba061871945759b3baa833fe64969383e40.tar.gz
Initial import, 0.1 + pk 0.2.4-B1
Diffstat (limited to 'sys/scsi/scsi_tape.h')
-rw-r--r--sys/scsi/scsi_tape.h169
1 files changed, 169 insertions, 0 deletions
diff --git a/sys/scsi/scsi_tape.h b/sys/scsi/scsi_tape.h
new file mode 100644
index 0000000..2b8a82f
--- /dev/null
+++ b/sys/scsi/scsi_tape.h
@@ -0,0 +1,169 @@
+/*
+ * HISTORY
+ * $Log: scsi_tape.h,v $
+ * Revision 1.2 1993/01/26 18:39:08 julian
+ * add the 'write protected' bit in the device status struct.
+ *
+ * Revision 1.1 1992/09/26 22:10:21 julian
+ * Initial revision
+ *
+ *
+ * PATCHES MAGIC LEVEL PATCH THAT GOT US HERE
+ * -------------------- ----- ----------------------
+ * CURRENT PATCH LEVEL: 1 00098
+ * -------------------- ----- ----------------------
+ *
+ * 16 Feb 93 Julian Elischer ADDED for SCSI system
+ *
+ */
+
+/*
+ * SCSI tape interface description
+ */
+
+/*
+ * Written by Julian Elischer (julian@tfs.com)
+ * for TRW Financial Systems.
+ *
+ * TRW Financial Systems, in accordance with their agreement with Carnegie
+ * Mellon University, makes this software available to CMU to distribute
+ * or use in any manner that they see fit as long as this message is kept with
+ * the software. For this reason TFS also grants any other persons or
+ * organisations permission to use or modify this software.
+ *
+ * TFS supplies this software to be publicly redistributed
+ * on the understanding that TFS is not responsible for the correct
+ * functioning of this software in any circumstances.
+ *
+ */
+
+/*
+ * Ported to run under 386BSD by Julian Elischer (julian@tfs.com) Sept 1992
+ */
+
+/*
+ * SCSI command format
+ */
+
+
+struct scsi_rw_tape
+{
+ u_char op_code;
+ u_char fixed:1;
+ u_char :4;
+ u_char lun:3;
+ u_char len[3];
+ u_char link:1;
+ u_char flag:1;
+ u_char :6;
+} rw_tape;
+
+struct scsi_space
+{
+ u_char op_code;
+ u_char code:2;
+ u_char :3;
+ u_char lun:3;
+ u_char number[3];
+ u_char link:1;
+ u_char flag:1;
+ u_char :6;
+} space;
+#define SP_BLKS 0
+#define SP_FILEMARKS 1
+#define SP_SEQ_FILEMARKS 2
+#define SP_EOM 3
+
+struct scsi_write_filemarks
+{
+ u_char op_code;
+ u_char :5;
+ u_char lun:3;
+ u_char number[3];
+ u_char link:1;
+ u_char flag:1;
+ u_char :6;
+} write_filemarks;
+
+struct scsi_rewind
+{
+ u_char op_code;
+ u_char immed:1;
+ u_char :4;
+ u_char lun:3;
+ u_char unused[3];
+ u_char link:1;
+ u_char flag:1;
+ u_char :6;
+} rewind;
+
+struct scsi_load
+{
+ u_char op_code;
+ u_char immed:1;
+ u_char :4;
+ u_char lun:3;
+ u_char unused[2];
+ u_char load:1;
+ u_char reten:1;
+ u_char :6;
+ u_char link:1;
+ u_char flag:1;
+ u_char :6;
+} load;
+#define LD_UNLOAD 0
+#define LD_LOAD 1
+
+struct scsi_blk_limits
+{
+ u_char op_code;
+ u_char :5;
+ u_char lun:3;
+ u_char unused[3];
+ u_char link:1;
+ u_char flag:1;
+ u_char :6;
+} blk_limits;
+
+/*
+ * Opcodes
+ */
+
+#define REWIND 0x01
+#define READ_BLK_LIMITS 0x05
+#define READ_COMMAND_TAPE 0x08
+#define WRITE_COMMAND_TAPE 0x0a
+#define WRITE_FILEMARKS 0x10
+#define SPACE 0x11
+#define LOAD_UNLOAD 0x1b /* same as above */
+
+
+
+struct scsi_blk_limits_data
+{
+ u_char reserved;
+ u_char max_length_2; /* Most significant */
+ u_char max_length_1;
+ u_char max_length_0; /* Least significant */
+ u_char min_length_1; /* Most significant */
+ u_char min_length_0; /* Least significant */
+};
+
+struct scsi_mode_header_tape
+{
+ u_char data_length; /* Sense data length */
+ u_char medium_type;
+ u_char speed:4;
+ u_char buf_mode:3;
+ u_char write_protected:1;
+ u_char blk_desc_len;
+};
+
+
+#define QIC_120 0x0f
+#define QIC_150 0x10
+#define QIC_320 0x11
+#define QIC_525 0x11
+#define QIC_1320 0x12
+
+
OpenPOWER on IntegriCloud