home *** CD-ROM | disk | FTP | other *** search
- /*
- * $Header: /ax/networking:include/sys/mtio.h:networking 1.1 $
- * $Source: /ax/networking:include/sys/mtio.h: $
- *
- * Copyright (c) 1988 Acorn Computers Ltd., Cambridge, England
- *
- * $Log: mtio.h,v $
- * Revision 1.1 95/01/11 10:19:27 kwelton
- * Initial revision
- *
- * Revision 1.3 88/06/17 20:19:59 beta
- * Acorn Unix initial beta version
- *
- */
- /* @(#)mtio.h 1.2 87/05/15 3.2/4.3NFSSRC */
- /*
- * Copyright (c) 1982, 1986 Regents of the University of California.
- * All rights reserved. The Berkeley software License Agreement
- * specifies the terms and conditions for redistribution.
- *
- * @(#)mtio.h 7.1 (Berkeley) 6/4/86
- */
-
- /*
- * 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 MTBSR 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 */
-
- /* 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
- * for 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_ISCPC 0x06 /* SUN */
- #define MT_ISAR 0x07 /* SUN */
- #define MT_ISTMSCP 0x08 /* DEC TMSCP protocol (TU81, TK50) */
-
- /* 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
-
- /* EOF mtio.h */
-