xref: /original-bsd/sys/sys/mtio.h (revision 6c57d260)
1 /*	mtio.h	4.5	81/04/02	*/
2 /*
3  * Structures and definitions for mag tape io control commands
4  */
5 
6 /* mag tape io control commands */
7 #define MTIOCTOP	(('m'<<8)|1)	/* do a mag tape op */
8 #define MTIOCGET	(('m'<<8)|2)	/* get mag tape status */
9 
10 /* structure for MTIOCTOP - mag tape op command */
11 struct	mtop	{
12 	short	mt_op;		/* operations defined below */
13 	daddr_t	mt_count;	/* how many of them */
14 };
15 
16 /* operations */
17 #define MTWEOF	0	/* write an end-of-file record */
18 #define MTFSF	1	/* forward space file */
19 #define MTBSF	2	/* backward space file */
20 #define MTFSR	3	/* forward space record */
21 #define MTBSR	4	/* backward space record */
22 #define MTREW	5	/* rewind */
23 #define MTOFFL	6	/* rewind and put the drive offline */
24 #define MTNOP	7	/* no operation, sets status only */
25 
26 /* structure for MTIOCGET - mag tape get status command */
27 
28 struct	mtget	{
29 	short	mt_type;	/* type of magtape device */
30 /* the following two registers are grossly device dependent */
31 	short	mt_dsreg;	/* ``drive status'' register */
32 	short	mt_erreg;	/* ``error'' register */
33 /* end device-dependent registers */
34 	short	mt_resid;	/* residual count */
35 /* the following two are not yet implemented */
36 	daddr_t	mt_fileno;	/* file number of current position */
37 	daddr_t	mt_blkno;	/* block number of current position */
38 /* end not yet implemented */
39 };
40 
41 /*
42  * Constants for mt_type byte
43  */
44 #define MT_ISTS		01
45 #define MT_ISHT		02
46 #define MT_ISTM		03
47