This is mtio.h in view mode; [Download] [Up]
/* * Mach Operating System * Copyright (c) 1987 Carnegie-Mellon University * All rights reserved. The CMU software License Agreement specifies * the terms and conditions for use and redistribution. */ /* ********************************************************************** * HISTORY * 27-Mar-90 Doug Mitchell * Added MT_ISGS, MT_ISEXB * * 27-Feb-89 Doug Mitchell at NeXT * Added extended error fields in mtget * * 23-Feb-89 Doug Mitchell at NeXT * Added NeXT-specific SCSI mt_ops * * 25-Jan-86 Avadis Tevanian (avie) at Carnegie-Mellon University * Upgraded to 4.3 * ************************************************************************ */ /* * 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 */ #ifndef _MTIO_ #define _MTIO_ /* 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 */ /* * Additional NeXT-specific SCSI ops. */ #ifdef NeXT #define MTRETEN 10 /* retension the tape */ #define MTERASE 11 /* erase the entire tape */ #endif /* structure for MTIOCGET - mag tape get status command */ struct mtget { short mt_type; /* type of magtape device */ /* the following four registers are grossly device dependent */ u_short mt_dsreg; /* ``drive status'' register. SCSI sense byte * 0x02. */ u_short mt_erreg; /* ``error'' register. SCSI sense byte 0x0C. */ u_short mt_ext_err0; /* SCSI sense bytes 0x13..0x14 */ u_short mt_ext_err1; /* SCSI sense bytes 0x15..0x16 */ /* end device-dependent registers */ u_int mt_resid; /* residual count. SCSI Info bytes. */ /* 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) */ #define MT_ISGS 0x09 /* Generic SCSI Tape */ #define MT_ISEXB 0x0A /* Exabyte Tape */ /* 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/rxt0" #endif #endif
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.