Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ mtio(7) — sysv — mips UMIPS RISC/os 4.52

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

mt(7)

qt(7)

cpio(1)

tar(1)



MTIO(7-SysV)        RISC/os Reference Manual         MTIO(7-SysV)



NAME
     mtio - UNIX tape interface

DESCRIPTION
     The files /dev/[r]mt/* refer to the UNIX tape drives, which
     may be on the VMEBUS using the SCSI QIC-100 tape interface
     qt(7) or the 1/2 inch 9 track tape mt(7).

     Many ioctl operations are available on raw magnetic tape.
     The following definitions are from <sys/mtio.h>:

     /*
      * Structures and definitions for mag tape io control commands
      */

     /* structure for MTIOCTOP - mag tape op command */
     struct mtop    {
            short   mt_op;    /* operations defined below */
            daddr_t mt_count; /* how many of them */
     };

     /* operations */
     #define MTWEOF   0    /* write an end-of-file record */
     #define MTFSF    1    /* forward space file */
     #define MTBSF    2    /* backward space file */
     #define MTFSR    3    /* forward space record */
     #define MTBSRn   4    /* backward space record */
     #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 MTRET    10   /* retention operation */
     #define MTRST    11   /* reset operation */

     /* structure for MTIOCGET - mag tape get status command */

     struct mtget   {
            short   mt_type;  /* type of magtape device */
     /* the following two registers are grossly device dependent */
            short   mt_dsreg; /* ``drive status'' register */
            short   mt_erreg; /* ``error'' register */
     /* end device-dependent registers */
            short   mt_resid; /* residual count */
     /* the following two are not yet implemented */
            daddr_t mt_fileno;/* file number of current position */
            daddr_t mt_blkno; /* block number of current position */
     /* end not yet implemented */
     };

     /*
      * Constants for mt_type byte.  These are the same



                         Printed 1/28/91                   Page 1





MTIO(7-SysV)        RISC/os Reference Manual         MTIO(7-SysV)



      * for other controllers compatible with the types listed.
      */
     #define          MT_ISTS 0x01/* TS-11 */
     #define          MT_ISHT 0x02/* TM03 Massbus: TE16, TU45, TU77 */
     #define          MT_ISTM 0x03/* TM11/TE10 Unibus */
     #define          MT_ISMT 0x04/* TM78/TU78 Massbus */
     #define          MT_ISUT 0x05/* SI TU-45 emulation on Unibus */
     #define          MT_ISCPC0x06/* SUN */
     #define          MT_ISAR 0x07/* SUN */
     #define          MT_ISTMSCP0x08/* DEC TMSCP protocol (TU81, TK50) */
     #define          MT_ISQIC0x09/* ISI ts11 qic-2 tape controller */

     /* 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 */

     #ifndef          KERNEL
     #define          DEFTAPE                "/dev/rmt12"
     #endif

     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 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.

FILES
     /dev/mt/*
     /dev/rmt/*

SEE ALSO
     mt(7), qt(7).
     cpio(1), tar(1) in the User's Reference Manual.

ERRORS
     The status should be returned in a device independent for-
     mat.

     The special file naming should be redone in a more con-
     sistent and understandable manner.









 Page 2                  Printed 1/28/91



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