Annotation of 43BSDReno/share/man/man4/man4.tahoe/mtio.4, revision 1.1.1.1

1.1       root        1: .\" Copyright (c) 1986 The Regents of the University of California.
                      2: .\" All rights reserved.
                      3: .\"
                      4: .\" Redistribution and use in source and binary forms are permitted provided
                      5: .\" that: (1) source distributions retain this entire copyright notice and
                      6: .\" comment, and (2) distributions including binaries display the following
                      7: .\" acknowledgement:  ``This product includes software developed by the
                      8: .\" University of California, Berkeley and its contributors'' in the
                      9: .\" documentation or other materials provided with the distribution and in
                     10: .\" all advertising materials mentioning features or use of this software.
                     11: .\" Neither the name of the University nor the names of its contributors may
                     12: .\" be used to endorse or promote products derived from this software without
                     13: .\" specific prior written permission.
                     14: .\" THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
                     15: .\" WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
                     16: .\" MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
                     17: .\"
                     18: .\"    @(#)mtio.4      6.3 (Berkeley) 6/23/90
                     19: .\"
                     20: .TH MT 4 "June 23, 1990"
                     21: .UC 7
                     22: .SH NAME
                     23: mt \- UNIX magtape interface
                     24: .SH DESCRIPTION
                     25: The files
                     26: .I "cy0s, ..., cy15s"
                     27: refer to the UNIX magtape drives,
                     28: which may be on the VERSABUS using the CIPHER tapemaster formatter
                     29: .IR cy (4),
                     30: The following description applies to any of the transport/controller pairs.
                     31: The files
                     32: .I "cy0s, ..., cy15s"
                     33: are read/written in 25ips, 
                     34: The density (1600 bpi or 3200 bpi) is selected by a switch on the drive.
                     35: The files
                     36: .I "cy0s, ..., cy7s"
                     37: are rewound when closed.
                     38: The non-rewinding files are named
                     39: .I ncy[0-7]
                     40: respectively.
                     41: .PP
                     42: For compatibility, the
                     43: .I [n]cy*s
                     44: files are linked to appropriate
                     45: .I [n]mt*
                     46: files.
                     47: .PP
                     48: When a file open for writing is closed, two file-marks are written.
                     49: If the tape is not to be rewound
                     50: it is positioned with the head between the two
                     51: file-marks.
                     52: .PP
                     53: A standard tape consists of a
                     54: series of 1024 byte records terminated by two
                     55: file-marks.
                     56: To the extent possible, the system makes
                     57: it possible, if inefficient, to treat
                     58: the tape like any other file.
                     59: Seeks have their usual meaning and it is possible
                     60: to read or write a byte at a time.
                     61: .PP
                     62: The
                     63: .I mt
                     64: files discussed above are useful
                     65: when it is desired to access the tape in a way
                     66: compatible with ordinary files.
                     67: When foreign tapes are to be dealt with, and especially
                     68: when long records are to be read or written, the
                     69: `raw' interface is appropriate.
                     70: Writing in very small units is inadvisable,
                     71: however, because it tends to create monstrous record
                     72: gaps.  The associated files are named
                     73: .I "rcy0s, ..., rcy15s,"
                     74: but the same minor-device considerations as for the regular files still apply,
                     75: as well as the appropriate
                     76: .I r[n]mt*
                     77: links.
                     78: .PP
                     79: A number of other ioctl operations are available
                     80: on raw magnetic tape.
                     81: The following definitions are from <sys/mtio.h>:
                     82: .PP
                     83: .nf
                     84: /*
                     85:  * Structures and definitions for mag tape io control commands
                     86:  */
                     87: 
                     88: /* mag tape io control commands */
                     89: #define MTIOCTOP       (('m'<<8)|1)    /* do a mag tape op */
                     90: #define MTIOCGET       (('m'<<8)|2)    /* get mag tape status */
                     91: 
                     92: /* structure for MTIOCTOP - mag tape op command */
                     93: struct mtop    {
                     94:        short   mt_op;          /* operations defined below */
                     95:        daddr_t mt_count;       /* how many of them */
                     96: };
                     97: 
                     98: /* operations */
                     99: #define MTWEOF 0       /* write an end-of-file record */
                    100: #define MTFSF  1       /* forward space file */
                    101: #define MTBSF  2       /* backward space file */
                    102: #define MTFSR  3       /* forward space record */
                    103: #define MTBSR  4       /* backward space record */
                    104: #define MTREW  5       /* rewind */
                    105: #define MTOFFL 6       /* rewind and put the drive offline */
                    106: #define MTNOP  7       /* no operation, sets status only */
                    107: 
                    108: /* structure for MTIOCGET - mag tape get status command */
                    109: 
                    110: struct mtget   {
                    111:        short   mt_type;                /* type of magtape device */
                    112: /* the following two registers are grossly device dependent */
                    113:        short   mt_dsreg;               /* ``drive status'' register */
                    114:        short   mt_erreg;               /* ``error'' register */
                    115: /* end device-dependent registers */
                    116:        short   mt_resid;               /* residual count */
                    117: /* the following two are not yet implemented */
                    118:        daddr_t mt_fileno;      /* file number of current position */
                    119:        daddr_t mt_blkno;       /* block number of current position */
                    120: /* end not yet implemented */
                    121: };
                    122: 
                    123: /*
                    124:  * Constants for mt_type byte
                    125:  */
                    126: #define MT_ISTS                01
                    127: #define MT_ISHT                02
                    128: #define MT_ISTM                03
                    129: .fi
                    130: .ft R
                    131: .PP
                    132: Each
                    133: .I read
                    134: or
                    135: .I write
                    136: call reads or writes the next record on the tape.
                    137: In the write case the record has the same length as the
                    138: buffer given.
                    139: During a read, the record size is passed
                    140: back as the number of bytes read, provided it is no greater
                    141: than the buffer size;
                    142: if the record is long, an error is indicated.
                    143: In raw tape I/O seeks are ignored.
                    144: A zero byte count is returned when a tape mark is read,
                    145: but another read will fetch the first record of the
                    146: new tape file.
                    147: .SH FILES
                    148: /dev/mt?,
                    149: /dev/rmt?
                    150: .SH "SEE ALSO"
                    151: mt(1), tar(1), cy(4)
                    152: .SH BUGS

unix.superglobalmegacorp.com

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