BSD 4_4 release
[unix-history] / usr / src / share / man / man4 / man4.vax / mtio.4
index 5b51cf1..f48945d 100644 (file)
-.\" Copyright (c) 1983 The Regents of the University of California.
-.\" All rights reserved.
+.\" Copyright (c) 1983, 1991, 1993
+.\"    The Regents of the University of California.  All rights reserved.
 .\"
 .\"
-.\" Redistribution and use in source and binary forms are permitted provided
-.\" that: (1) source distributions retain this entire copyright notice and
-.\" comment, and (2) distributions including binaries display the following
-.\" acknowledgement:  ``This product includes software developed by the
-.\" University of California, Berkeley and its contributors'' in the
-.\" documentation or other materials provided with the distribution and in
-.\" all advertising materials mentioning features or use of this software.
-.\" Neither the name of the University nor the names of its contributors may
-.\" be used to endorse or promote products derived from this software without
-.\" specific prior written permission.
-.\" THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
-.\" WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
-.\" MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\"    notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\"    notice, this list of conditions and the following disclaimer in the
+.\"    documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\"    must display the following acknowledgement:
+.\"    This product includes software developed by the University of
+.\"    California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\"    may be used to endorse or promote products derived from this software
+.\"    without specific prior written permission.
 .\"
 .\"
-.\"    @(#)mtio.4      6.4 (Berkeley) 6/23/90
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
 .\"
 .\"
-.TH MTIO 4 "June 23, 1990"
-.UC 5
-.SH NAME
-mtio \- UNIX magtape interface
-.SH DESCRIPTION
-The files
-.I "mt0, ..., mt15"
-refer to the UNIX magtape drives,
-which may be on the MASSBUS using the TM03 formatter
-.IR ht (4),
-or TM78 formatter,
-.IR mt (4),
-or on the UNIBUS using either the TM11 or TS11 formatters
-.IR tm (4),
-TU45 compatible formatters,
-.IR ut (4),
-or
-.IR ts (4).
-The following description applies to any of the transport/controller pairs.
-The files
-.I "mt0, ..., mt7"
-are 800bpi (or the transport's lowest density), 
-.I "mt8, ..., mt15"
-are 1600bpi (or the transport's second density), and
-.I "mt16, ..., mt23"
-are 6250bpi (or the transport's third density).
-(But note that only 1600 bpi is available with the TS11.)
-The files
-.IR "mt0, ..., mt3" ,
-.IR "mt8, ..., mt11" ,
+.\"     @(#)mtio.4     8.1 (Berkeley) 6/5/93
+.\"
+.Dd June 5, 1993
+.Dt MTIO 4 vax
+.Os BSD 4.2
+.Sh NAME
+.Nm mtio
+.Nd
+.Tn UNIX
+magtape interface
+.Sh DESCRIPTION
+The special files
+named
+.Pa /dev/mt0
 and
 and
-.I "mt16, ..., mt19"
-are rewound when closed; the others are not.
-When a file open for writing is closed, two end-of-files are written.
-If the tape is not to be rewound
-it is positioned with the head between the two
-tapemarks.
-.PP
-A standard tape consists of a
-series of 1024 byte records terminated by an
-end-of-file.
-To the extent possible, the system makes
-it possible, if inefficient, to treat
-the tape like any other file.
-Seeks have their usual meaning and it is possible
-to read or write a byte at a time.
-Writing in very small units is inadvisable,
-however, because it uses most of the tape in record
-gaps.
-.PP
-The
-.I mt
-files discussed above are useful
-when it is desired to access the tape in a way
-compatible with ordinary files.
-When foreign tapes are to be dealt with, and especially
-when long records are to be read or written, the
-`raw' interface is appropriate.
-The associated files are named
-.I "rmt0, ..., rmt23,"
-but the same minor-device considerations as for the regular files still apply.
-A number of other ioctl operations are available
+.Pa /dev/rmt0
+through
+.Pa /dev/mt23
+and
+.Pa /dev/rmt23
+refer to
+.Tn UNIX
+magtape drives,
+which may be on the
+.Tn MASSBUS
+using the
+.Tn TM03
+formatter
+.Xr ht 4 ,
+or
+.Tn TM78
+formatter,
+.Xr mt 4 ,
+or on the
+.Tn UNIBUS
+using either the
+.Tn TM11
+or
+.Tn TS11
+formatters
+.Xr tm 4 ,
+.Tn TU45
+compatible formatters,
+.Xr ut 4 ,
+or
+.Xr ts 4 .
+These devices are typical tape block devices,
+see
+.Xr physio 4 .
+.Pp
+The following table of the converntional device names
+is applicable to any of the transport/controller pairs.
+(But note that only 1600
+.Tn BPI
+is available with the
+.Tn TS11 . )
+.Bl -column "no-rewindxxx" "or lowest densityxx" "or lowest densityxx" "or lowest densityxx" -offset indent
+             800 BPI         1600 BPI        6500 BPI
+.Em    or lowest density       or second density       or third density
+
+Rewind      mt0/rmt0         mt8/rmt8         mt16/rmt16
+Rewind      mt1/rmt1         mt9/rmt9         mt17/rmt17
+Rewind      mt2/rmt2         mt10/rmt10               mt18/rmt18
+Rewind      mt3/rmt3         mt11/rmt11               mt19/rmt19
+No-rewind          nmt4/nrmt4      nmt12/nrmt12            nmt20/nrmt20
+No-rewind          nmt5/nrmt5      nmt13/nrmt13            nmt21/nrmt21
+No-rewind          nmt6/nrmt6      nmt14/nrmt14            nmt22/nrmt22
+No-rewind          nmt7/nrmt7      nmt15/nrmt15            nmt23/nrmt32
+.El
+.Pp
+The rewind devices automatically rewind
+when the last requested read, write or seek has finished, or the end of the tape
+has been reached. The letter
+.Ql n
+is usually prepended to
+the name of the no-rewind devices.
+.Pp
+Unix tapes are written in multiples of 1024 byte block
+records. Two end-of-file markers mark the end of a tape, and
+one end-of-file marker marks the end of a tape file.
+If the tape is not to be rewound it is positioned with the
+head in between the two tape marks, where the next write
+will over write the second end-of-file marker.
+.Pp
+All of the magtape devices may be manipulated with the
+.Xr mt 1
+command.
+.Pp
+A number of
+.Xr ioctl 2
+operations are available
 on raw magnetic tape.
 The following definitions are from
 on raw magnetic tape.
 The following definitions are from
-.RI < sys/mtio.h >:
-.PP
-.nf
+.Aq Pa sys/mtio.h :
+.Bd  -literal
 /*
  * Structures and definitions for mag tape io control commands
  */
 /*
  * Structures and definitions for mag tape io control commands
  */
@@ -103,8 +143,8 @@ struct      mtop    {
 #define MTREW  5       /* rewind */
 #define MTOFFL 6       /* rewind and put the drive offline */
 #define MTNOP  7       /* no operation, sets status only */
 #define MTREW  5       /* rewind */
 #define MTOFFL 6       /* rewind and put the drive offline */
 #define MTNOP  7       /* no operation, sets status only */
-#define MTCACHE        8       /* enable controller cache */
-#define MTNOCACHE      9       /* disable controller cache */
+#define MTCACHE 8      /* enable controller cache */
+#define MTNOCACHE 9    /* disable controller cache */
 
 /* structure for MTIOCGET - mag tape get status command */
 
 
 /* structure for MTIOCGET - mag tape get status command */
 
@@ -123,7 +163,7 @@ struct      mtget   {
 
 /*
  * Constants for mt_type byte.  These are the same
 
 /*
  * Constants for mt_type byte.  These are the same
- * for other controllers compatible with the types listed.
+ * for controllers compatible with the types listed.
  */
 #define        MT_ISTS         0x01            /* TS-11 */
 #define        MT_ISHT         0x02            /* TM03 Massbus: TE16, TU45, TU77 */
  */
 #define        MT_ISTS         0x01            /* TS-11 */
 #define        MT_ISHT         0x02            /* TM03 Massbus: TE16, TU45, TU77 */
@@ -133,49 +173,62 @@ struct    mtget   {
 #define        MT_ISCPC        0x06            /* SUN */
 #define        MT_ISAR         0x07            /* SUN */
 #define        MT_ISTMSCP      0x08            /* DEC TMSCP protocol (TU81, TK50) */
 #define        MT_ISCPC        0x06            /* SUN */
 #define        MT_ISAR         0x07            /* SUN */
 #define        MT_ISTMSCP      0x08            /* DEC TMSCP protocol (TU81, TK50) */
+#define MT_ISCY        0x09            /* CCI Cipher */
+#define MT_ISCT        0x0a            /* HP 1/4 tape */
+#define MT_ISFHP       0x0b            /* HP 7980 1/2 tape */
+#define MT_ISEXABYTE   0x0c            /* Exabyte */
+#define MT_ISEXA8200   0x0c            /* Exabyte EXB-8200 */
+#define MT_ISEXA8500   0x0d            /* Exabyte EXB-8500 */
+#define MT_ISVIPER1    0x0e            /* Archive Viper-150 */
+#define MT_ISPYTHON    0x0f            /* Archive Python (DAT) */
+#define MT_ISHPDAT     0x10            /* HP 35450A DAT drive */
 
 /* mag tape io control commands */
 
 /* mag tape io control commands */
-#define        MTIOCTOP        _IOW(m, 1, struct mtop)         /* do a mag tape op */
-#define        MTIOCGET        _IOR(m, 2, struct mtget)        /* get tape status */
-#define MTIOCIEOT      _IO(m, 3)                       /* ignore EOT error */
-#define MTIOCEEOT      _IO(m, 4)                       /* enable EOT error */
+#define        MTIOCTOP        _IOW('m', 1, struct mtop)       /* do a mag tape op */
+#define        MTIOCGET        _IOR('m', 2, struct mtget)      /* get tape status */
+#define MTIOCIEOT      _IO('m', 3)                     /* ignore EOT error */
+#define MTIOCEEOT      _IO('m', 4)                     /* enable EOT error */
 
 #ifndef KERNEL
 #define        DEFTAPE "/dev/rmt12"
 #endif
 
 #ifndef KERNEL
 #define        DEFTAPE "/dev/rmt12"
 #endif
-.fi
-.ft R
-.PP
-Each
-.I read
-or
-.I write
-call reads or writes the next record on the tape.
-In the write case the record has the same length as the
-buffer given.
-During a read, the record size is passed
-back as the number of bytes read, provided it is no greater
-than the buffer size;
-if the record is long, an error is indicated.
-In raw tape I/O seeks are ignored.
-A zero byte count is returned when a tape mark is read,
-but another read will fetch the first record of the
-new tape file.
-.SH FILES
-/dev/mt?
-.br
-/dev/rmt?
-.SH "SEE ALSO"
-mt(1),
-tar(1),
-tp(1),
-ht(4),
-tm(4),
-ts(4),
-mt(4),
-ut(4)
-.SH BUGS
+
+#ifdef KERNEL
+/*
+ * minor device number
+ */
+
+#define        T_UNIT          003             /* unit selection */
+#define        T_NOREWIND      004             /* no rewind on close */
+#define        T_DENSEL        030             /* density select */
+#define        T_800BPI        000             /* select  800 bpi */
+#define        T_1600BPI       010             /* select 1600 bpi */
+#define        T_6250BPI       020             /* select 6250 bpi */
+#define        T_BADBPI        030             /* undefined selection */
+#endif
+.Ed
+.Pp
+.Sh FILES
+.Bl -tag -width /dev/rmt? -compact
+.It Pa /dev/mt?
+.It Pa /dev/rmt?
+.El
+.Sh SEE ALSO
+.Xr mt 1 ,
+.Xr tar 1 ,
+.Xr tp 1 ,
+.Xr ht 4 ,
+.Xr tm 4 ,
+.Xr ts 4 ,
+.Xr mt 4 ,
+.Xr ut 4
+.Sh HISTORY
+The
+.Nm mtio
+manual appeared in
+.Bx 4.2 .
+.Sh BUGS
 The status should be returned in a device independent format.
 The status should be returned in a device independent format.
-.PP
+.Pp
 The special file naming should be redone in a more consistent and
 understandable manner.
 The special file naming should be redone in a more consistent and
 understandable manner.