Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ rmt(7) — DG/UX 5.4.2A

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

intro(7)

st(7)



rmt(7)                           DG/UX 5.4.2                          rmt(7)


NAME
       rmt - character special magnetic tape interface

DESCRIPTION
       This character special device provides direct access to a file on a
       tape on a magnetic tape drive.  The rmt interface offers flexibility
       when reading "foreign" tapes because it allows you to control the
       physical tape record (block) size.

       This device considers a magnetic tape to consist of one or more tape
       records of varying lengths.  End-of-file (EOF) markers on the tape
       are considered to be tape records of length 0.

       The position of the tape can be determined after each read or write
       because each causes clearly specified tape movements.

       The open system call performs the necessary device-dependent checks
       to ensure that a tape is loaded and can be read or written as
       requested.  Only one open may be outstanding on a tape drive at any
       one time; if an attempt is made to open a tape drive that is already
       open, the error EBUSY is returned.  The tape drive must be online and
       in a ready state so that I/O requests can proceed without operator
       intervention.  If the tape cannot be opened, the error EIO or ENXIO
       is returned, depending on the reason the tape is not ready for use.

       The close system call completes a set of operations on a tape.  If
       the tape device is a "rewind-on-close" device and if the last
       operation was a write, the tape is rewound to the beginning-of-tape
       (BOT) marker after writing one or two EOF markers.  The number of EOF
       markers written is variable because some tape drives do not allow
       data (including EOF markers) to be overwritten.  In this case, only
       one EOF marker is written.

       When you issue close for a "no-rewind-on-close" tape device, the tape
       is spaced forward and positioned after the next EOF marker
       encountered if all of the following are true:

     - you opened the device for read-only operation;
     - the tape is not positioned immediately after an EOF marker;
     - the previous operation on this tape device was not one of the
       MTIOCTOP ioctl commands (except for MTTEN, MTERA, MTCACHE, and
       MTNOCACHE).

       See the 88open Binary Compatibility Standard for more information.

       If the "no-rewind-on-close" tape device was opened for read-write
       operation, and the last tape operation was a write, one or two EOF
       markers are written, and the tape is left positioned between the EOF
       markers (if two were written) or after the EOF marker (if only one
       was written), as described under write below.  If the last tape
       operation was a read that read an EOF marker, the position of the
       tape is not changed by close.

       The read system call always reads the next physical tape record and



Licensed material--property of copyright holder(s)                         1




rmt(7)                           DG/UX 5.4.2                          rmt(7)


       transfers the data into the caller's buffer regardless of the current
       file pointer.  If the physical tape record is larger than the
       caller's buffer, the excess data is lost.  If the physical tape
       record is smaller than the caller's buffer, the remaining section of
       the caller's buffer is unmodified.  The number of bytes actually
       transferred into the caller's buffer is returned.  The tape is always
       positioned after the tape record just read, ready to read the next
       record.  If an EOF marker is read, no data is transferred, zero is
       returned as the number of bytes actually transferred, and the tape is
       positioned after the EOF marker.

       The write system call always writes one physical tape record at the
       current position of the tape regardless of the current file pointer
       unless the tape drive does not allow data to be overwritten.  In this
       case, a tape record can only be written at BOT or appended after the
       End-of-Recorded-Media (EORM).  Attempting to write a record at any
       other location on the tape will result in an ENXIO error.  The size
       of the physical tape record is the size of the caller's buffer.  The
       tape is always positioned after the tape record just written, ready
       to write the next record.  Every write operation invalidates all tape
       records that follow it with the effect that a read of such a record
       will return an I/O error.  Following the write, one or two EOF
       markers are implicitly written (and the tape positioned as described
       in close) if the next tape operation is not another write.

       The tape-specific ioctl commands MTIOCTOP and MTIOCGET provide tape
       utility operations and tape status information, respectively.  The
       commands and structures for these ioctl commands are defined in
       <sys/ioctl.h>.

       A pointer to the structure mtop is the parameter that is passed on
       the MTIOCTOP command:

          struct      mtop
            {
            short     mtop;
            daddrt   mtcount;
            };

       The mtop field specifies one of the operations listed below; the
       mtcount field specifies the number of times to perform that
       operation.

       MTWEOF Write EOF markers.  The tape is left positioned after the last
              EOF marker written.

       MTFSF  Space forward files.  The tape is spaced forward until the
              specified number of EOF markers are encountered and is left
              positioned after the last EOF marker.

       MTBSF  Space backward files.  The tape is spaced backward past the
              specified number of EOF markers plus one, and then spaced
              forward over the last EOF marker, leaving the tape positioned
              after the EOF marker (at the beginning of the specified file).



Licensed material--property of copyright holder(s)                         2




rmt(7)                           DG/UX 5.4.2                          rmt(7)


              If the BOT is encountered, the tape is left at BOT.  If the
              tape is already at BOT when a backspacing operation is
              initiated, an I/O error status is returned and the tape is
              left at BOT.

       MTFSR  Space forward records.  If an EOF marker is encountered, the
              operation terminates immediately and the tape is left
              positioned after the EOF marker.

       MTBSR  Space backward records.  If an EOF marker is encountered, the
              operation terminates immediately and the tape is left
              positioned before the EOF marker.  If the BOT is encountered,
              the tape is left at BOT.  If the tape is already at BOT when a
              backspacing operation is initiated, an I/O error status is
              returned and the tape is left at BOT.

       MTREW  The tape is rewound to the BOT.  The count is ignored for this
              command.

       MTOFFL The tape is rewound and placed off-line.  Not all models of
              tape controllers support placing the tape unit off-line.  For
              such models this command is equivalent to MTREW and no error
              is reported.  The count is ignored for this command.

       MTEND  Move to end of media.  A command to space to the end of
              recorded media is issued to the tape device.  The
              implementation of this command is device-specific, and is not
              supported by all tape devices.  The count is ignored for this
              command.

       MTNOP  This command does nothing.

       A pointer to the structure mtget is the parameter that is passed on
       the MTIOCGET command:

          struct      mtget
            {
            short     mtmodel;
            short     mtstatus1;
            short     mtstatus2;
            };

       The mtmodel field returns the Data General model number of the tape
       drive, stored as a binary number.  The mtstatus1 field contains the
       first 16-bit status word from the tape drive.  For st class tape
       drives, this is the upper four bits of the third byte of SCSI
       extended sense information.  The mtstatus2 field contains the second
       16-bit status word from the tape drive.  For st class tape drives,
       this is the SCSI sense key from the extended sense information.

       Select always returns READY for both read and write operations.

FILES
       /dev/rmt/*                Tape device names for character-special



Licensed material--property of copyright holder(s)                         3




rmt(7)                           DG/UX 5.4.2                          rmt(7)


                                 access
       /usr/include/sys/ioctl.h  ioctl definitions

SEE ALSO
       intro(7), st(7).




















































Licensed material--property of copyright holder(s)                         4


Typewritten Software • bear@typewritten.org • Edmonds, WA 98026