V7M/man/man4/ht.4

Compare this file to the similar file:
Show the results in this format:

.TH HT 4 
.SH NAME
ht \- RH-11/TU-16 magtape interface
.SH DESCRIPTION
The files
.I 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.
.PP
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 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 tends to create monstrous record
gaps.
.PP
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
.IR tp (1)
turns the short name
.I x
into
.RI `/dev/mt x '.
.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 may be named
.I "rmt0, ..., rmt7,"
but the same minor-device considerations
as for the regular files still apply.
.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, 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.
.SH FILES
/dev/mt?,
/dev/rmt?
.SH "SEE ALSO"
tp(1)
.SH BUGS
The magtape system is supposed to be able
to take 64 drives.
Such addressing has never been tried.
.PP
Taking a drive off line, or running off the end of tape,
while writing have been known to hang the system.
.PP
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.