Initial Import from SVN
This commit is contained in:
80
sys/include/mtio.h
Normal file
80
sys/include/mtio.h
Normal file
@@ -0,0 +1,80 @@
|
||||
/*
|
||||
* 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.2 (2.11BSD) 1998/3/7
|
||||
*/
|
||||
|
||||
/*
|
||||
* 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 */
|
||||
#define MTFLUSH 10 /* flush 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 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_ISCPC 0x06 /* SUN */
|
||||
#define MT_ISAR 0x07 /* SUN */
|
||||
#define MT_ISTMSCP 0x08 /* DEC TMSCP protocol (TU81, TK50) */
|
||||
|
||||
/*
|
||||
* At present only the TMSCP driver reports this information in the
|
||||
* high byte of the 'drive status' word. Other drives will (hopefully)
|
||||
* be updated in the future.
|
||||
*/
|
||||
#define MTF_BOM 0x01 /* At beginning of media */
|
||||
#define MTF_EOM 0x02 /* At the end of media */
|
||||
#define MTF_OFFLINE 0x04 /* Drive is offline */
|
||||
#define MTF_WRTLCK 0x08 /* Drive is write protected */
|
||||
#define MTF_WRITTEN 0x10 /* Tape has been written */
|
||||
|
||||
/* 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/rmt8"
|
||||
#define MT_DEF "/dev/nrmt8"
|
||||
#endif
|
||||
Reference in New Issue
Block a user