HT(4) Kernel Interfaces Manual HT(4)
ht - RH-11/TU-16 magtape interface
The files mt0, mt1, ... refer to the DEC RH/TM/TU16 magtape. When
opened for reading or writing, the tape is not rewound. When closed,
it is rewound (unless the 0200 bit is on, see below). If the tape was
open for writing, a double end-of-file is written. If the tape is not
to be rewound the tape is backspaced to just between the two tapemarks.
A standard tape consists of a series of 512 byte records terminated by
a double end-of-file. To the extent possible, the system makes it pos‐
sible, 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 tends to create monstrous record gaps.
The last octal digit of the minor device number selects the drive. The
middle digit selects a controller. The initial digit is even to select
800 BPI, odd to select 1600 BPI. If the 0200 bit is on (initial digit
2 or 3), the tape is not rewound on close. Note that the minor device
number has no necessary connection with the file name, and in fact
tp(1) turns the short name x into `/dev/mtx'.
The 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
may be named rmt0, ..., rmt7, but the same minor-device considerations
as for the regular files still apply.
Each read or 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, the buffer must begin on
a word boundary and the count must be even. Seeks are ignored. A zero
count is returned when a tape mark is read; another read will fetch the
first record of the next tape file.
The magtape system is supposed to be able to take 64 drives. Such
addressing has never been tried.
Taking a drive off line, or running off the end of tape, while writing
have been known to hang the system.
If any non-data error is encountered, it refuses to do anything more
until closed. In raw I/O, there should be a way to perform forward and
backward record and file spacing and to write an EOF mark explicitly.