| 1 | /* <sys/mtio.h> magnetic tape commands                  Author: Kees J. Bot
 | 
|---|
| 2 |  */
 | 
|---|
| 3 | 
 | 
|---|
| 4 | #ifndef _SYS__MTIO_H
 | 
|---|
| 5 | #define _SYS__MTIO_H
 | 
|---|
| 6 | 
 | 
|---|
| 7 | /* Tape operations: ioctl(fd, MTIOCTOP, &struct mtop) */
 | 
|---|
| 8 | 
 | 
|---|
| 9 | struct mtop {
 | 
|---|
| 10 |         short   mt_op;          /* Operation (MTWEOF, etc.) */
 | 
|---|
| 11 |         int     mt_count;       /* Repeat count. */
 | 
|---|
| 12 | };
 | 
|---|
| 13 | 
 | 
|---|
| 14 | #define MTWEOF   0      /* Write End-Of-File Marker */
 | 
|---|
| 15 | #define MTFSF    1      /* Forward Space File mark */
 | 
|---|
| 16 | #define MTBSF    2      /* Backward Space File mark */
 | 
|---|
| 17 | #define MTFSR    3      /* Forward Space Record */
 | 
|---|
| 18 | #define MTBSR    4      /* Backward Space Record */
 | 
|---|
| 19 | #define MTREW    5      /* Rewind tape */
 | 
|---|
| 20 | #define MTOFFL   6      /* Rewind and take Offline */
 | 
|---|
| 21 | #define MTNOP    7      /* No-Operation, set status only */
 | 
|---|
| 22 | #define MTRETEN  8      /* Retension (completely wind and rewind) */
 | 
|---|
| 23 | #define MTERASE  9      /* Erase the tape and rewind */
 | 
|---|
| 24 | #define MTEOM   10      /* Position at End-Of-Media */
 | 
|---|
| 25 | #define MTMODE  11      /* Select tape density */
 | 
|---|
| 26 | #define MTBLKZ  12      /* Select tape block size */
 | 
|---|
| 27 | 
 | 
|---|
| 28 | /* Tape status: ioctl(fd, MTIOCGET, &struct mtget) */
 | 
|---|
| 29 | 
 | 
|---|
| 30 | struct mtget {
 | 
|---|
| 31 |         short   mt_type;        /* Type of tape device. */
 | 
|---|
| 32 | 
 | 
|---|
| 33 |         /* Device dependent "registers". */
 | 
|---|
| 34 |         short   mt_dsreg;       /* Drive status register. */
 | 
|---|
| 35 |         short   mt_erreg;       /* Error register. */
 | 
|---|
| 36 |         short   dummy;          /* (alignment) */
 | 
|---|
| 37 | 
 | 
|---|
| 38 |         /* Misc info. */
 | 
|---|
| 39 |         off_t   mt_resid;       /* Residual count. */
 | 
|---|
| 40 |         off_t   mt_fileno;      /* Current File Number. */
 | 
|---|
| 41 |         off_t   mt_blkno;       /* Current Block Number within file. */
 | 
|---|
| 42 |         off_t   mt_blksize;     /* Current block size. */
 | 
|---|
| 43 | };
 | 
|---|
| 44 | 
 | 
|---|
| 45 | #endif /* _SYS__MTIO_H */
 | 
|---|