Annotation of 43BSDReno/old/man/mtop.4, revision 1.1.1.1

1.1       root        1: .\" Copyright (c) 1980 Regents of the University of California.
                      2: .\" All rights reserved.  The Berkeley software License Agreement
                      3: .\" specifies the terms and conditions for redistribution.
                      4: .\"
                      5: .\"    @(#)mtop.4      4.1 (Berkeley) 5/15/85
                      6: .\"
                      7: .TH MTOP 4 10/8/81
                      8: .UC 4
                      9: .SH NAME
                     10: mt \- UNIX magtape interface
                     11: .SH DESCRIPTION
                     12: The files
                     13: .I "mt0, ..., mt15"
                     14: refer to the UNIX magtape drives,
                     15: which may be on the MASSBUS using the TM03 or TM78 formatters
                     16: .IR ht (4)
                     17: or
                     18: .IR mt (4),
                     19: or on the UNIBUS using either the TM11, TS11, or TU45 formatters
                     20: .IR tm (4),
                     21: .IR ts (4)
                     22: or
                     23: .IR ut (4).
                     24: The following description applies to any of the transport/controller pairs.
                     25: The files
                     26: .I "mt0, ..., mt7"
                     27: are low density, and
                     28: .I "mt8, ..., mt15"
                     29: are high density.
                     30: On the TM03 and TM11 low density is 800bpi and high density is 1600bpi.
                     31: On the TM78 low density is 1600bpi and high density is 6250bpi.
                     32: On the TS11 both low and high density are 1600bpi.
                     33: The files
                     34: .I "mt0, ..., mt3"
                     35: and
                     36: .I "mt8, ..., mt11"
                     37: are rewound when closed; the others are not.
                     38: When a file open for writing is closed, two end-of-files are written.
                     39: If the tape is not to be rewound
                     40: it is positioned with the head between the two
                     41: tapemarks.
                     42: .PP
                     43: A standard tape consists of a
                     44: series of 1024 byte records terminated by an
                     45: end-of-file.
                     46: To the extent possible, the system makes
                     47: it possible, if inefficient, to treat
                     48: the tape like any other file.
                     49: Seeks have their usual meaning and it is possible
                     50: to read or write a byte at a time.
                     51: Writing in very small units is inadvisable,
                     52: however, because it tends to create monstrous record
                     53: gaps.
                     54: .PP
                     55: The
                     56: .I mt
                     57: files discussed above are useful
                     58: when it is desired to access the tape in a way
                     59: compatible with ordinary files.
                     60: When foreign tapes are to be dealt with, and especially
                     61: when long records are to be read or written, the
                     62: `raw' interface is appropriate.
                     63: The associated files are named
                     64: .I "rmt0, ..., rmt15,"
                     65: but the same minor-device considerations as for the regular files still apply.
                     66: A number of other ioctl operations are available
                     67: on raw magnetic tape.
                     68: The following definitions are from <sys/mtio.h>:
                     69: .PP
                     70: .nf
                     71: /*
                     72:  * Structures and definitions for mag tape io control commands
                     73:  */
                     74: 
                     75: /* mag tape io control commands */
                     76: #define MTIOCTOP       (('m'<<8)|1)    /* do a mag tape op */
                     77: #define MTIOCGET       (('m'<<8)|2)    /* get mag tape status */
                     78: 
                     79: /* structure for MTIOCTOP - mag tape op command */
                     80: struct mtop    {
                     81:        short   mt_op;          /* operations defined below */
                     82:        daddr_t mt_count;       /* how many of them */
                     83: };
                     84: 
                     85: /* operations */
                     86: #define MTWEOF 0       /* write an end-of-file record */
                     87: #define MTFSF  1       /* forward space file */
                     88: #define MTBSF  2       /* backward space file */
                     89: #define MTFSR  3       /* forward space record */
                     90: #define MTBSR  4       /* backward space record */
                     91: #define MTREW  5       /* rewind */
                     92: #define MTOFFL 6       /* rewind and put the drive offline */
                     93: #define MTNOP  7       /* no operation, sets status only */
                     94: 
                     95: /* structure for MTIOCGET - mag tape get status command */
                     96: 
                     97: struct mtget   {
                     98:        short   mt_type;                /* type of magtape device */
                     99: /* the following two registers are grossly device dependent */
                    100:        short   mt_dsreg;               /* ``drive status'' register */
                    101:        short   mt_erreg;               /* ``error'' register */
                    102: /* end device-dependent registers */
                    103:        short   mt_resid;               /* residual count */
                    104: /* the following two are not yet implemented */
                    105:        daddr_t mt_fileno;      /* file number of current position */
                    106:        daddr_t mt_blkno;       /* block number of current position */
                    107: /* end not yet implemented */
                    108: };
                    109: 
                    110: /*
                    111:  * Constants for mt_type byte
                    112:  */
                    113: #define MT_ISTS                01
                    114: #define MT_ISHT                02
                    115: #define MT_ISTM                03
                    116: #define MT_ISMT                04
                    117: #define MT_ISUT                05
                    118: .fi
                    119: .ft R
                    120: .PP
                    121: Each
                    122: .I read
                    123: or
                    124: .I write
                    125: call reads or writes the next record on the tape.
                    126: In the write case the record has the same length as the
                    127: buffer given.
                    128: During a read, the record size is passed
                    129: back as the number of bytes read, provided it is no greater
                    130: than the buffer size;
                    131: if the record is long, an error is indicated.
                    132: In raw tape I/O seeks are ignored.
                    133: A zero byte count is returned when a tape mark is read,
                    134: but another read will fetch the first record of the
                    135: new tape file.
                    136: .SH FILES
                    137: /dev/mt?,
                    138: /dev/rmt?
                    139: .SH "SEE ALSO"
                    140: mt(1), tar(1), tp(1), ht(4), mt(4), tm(4), ts(4)
                    141: .SH BUGS

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.