mtio.h
001:
002:
003:
004:
005:
006:
007:
008: #ifndef _LINUX_MTIO_H
009: #define _LINUX_MTIO_H
010:
011: #include <linux/types.h>
012: #include <linux/ioctl.h>
013:
014:
015:
016:
017:
018:
019: struct mtop {
020: short mt_op;
021: int mt_count;
022: };
023:
024:
025: #define MTRESET 0
026: #define MTFSF 1
027:
028:
029: #define MTBSF 2
030: #define MTFSR 3
031: #define MTBSR 4
032: #define MTWEOF 5
033: #define MTREW 6
034: #define MTOFFL 7
035: #define MTNOP 8
036: #define MTRETEN 9
037: #define MTBSFM 10
038: #define MTFSFM 11
039: #define MTEOM 12
040:
041:
042:
043: #define MTERASE 13
044:
045: #define MTRAS1 14
046: #define MTRAS2 15
047: #define MTRAS3 16
048:
049: #define MTSETBLK 20
050: #define MTSETDENSITY 21
051: #define MTSEEK 22
052: #define MTTELL 23
053: #define MTSETDRVBUFFER 24
054:
055: #define MTFSS 25
056: #define MTBSS 26
057: #define MTWSM 27
058:
059: #define MTLOCK 28
060: #define MTUNLOCK 29
061: #define MTLOAD 30
062: #define MTUNLOAD 31
063: #define MTCOMPRESSION 32
064: #define MTSETPART 33
065: #define MTMKPART 34
066: #define MTWEOFI 35
067:
068:
069:
070: struct mtget {
071: long mt_type;
072: long mt_resid;
073:
074:
075:
076:
077:
078: long mt_dsreg;
079: long mt_gstat;
080: long mt_erreg;
081:
082: __kernel_daddr_t mt_fileno;
083: __kernel_daddr_t mt_blkno;
084: };
085:
086:
087:
088:
089:
090:
091:
092: #define MT_ISUNKNOWN 0x01
093: #define MT_ISQIC02 0x02
094: #define MT_ISWT5150 0x03
095: #define MT_ISARCHIVE_5945L2 0x04
096: #define MT_ISCMSJ500 0x05
097: #define MT_ISTDC3610 0x06
098: #define MT_ISARCHIVE_VP60I 0x07
099: #define MT_ISARCHIVE_2150L 0x08
100: #define MT_ISARCHIVE_2060L 0x09
101: #define MT_ISARCHIVESC499 0x0A
102: #define MT_ISQIC02_ALL_FEATURES 0x0F
103: #define MT_ISWT5099EEN24 0x11
104: #define MT_ISTEAC_MT2ST 0x12
105: #define MT_ISEVEREX_FT40A 0x32
106: #define MT_ISDDS1 0x51
107: #define MT_ISDDS2 0x52
108: #define MT_ISONSTREAM_SC 0x61
109:
110: #define MT_ISSCSI1 0x71
111: #define MT_ISSCSI2 0x72
112:
113:
114:
115:
116: #define MT_ISFTAPE_UNKNOWN 0x800000
117: #define MT_ISFTAPE_FLAG 0x800000
118:
119:
120:
121:
122: struct mtpos {
123: long mt_blkno;
124: };
125:
126:
127:
128: #define MTIOCTOP _IOW('m', 1, struct mtop)
129: #define MTIOCGET _IOR('m', 2, struct mtget)
130: #define MTIOCPOS _IOR('m', 3, struct mtpos)
131:
132:
133:
134:
135:
136:
137:
138:
139: #define GMT_EOF(x) ((x) & 0x80000000)
140: #define GMT_BOT(x) ((x) & 0x40000000)
141: #define GMT_EOT(x) ((x) & 0x20000000)
142: #define GMT_SM(x) ((x) & 0x10000000)
143: #define GMT_EOD(x) ((x) & 0x08000000)
144: #define GMT_WR_PROT(x) ((x) & 0x04000000)
145:
146: #define GMT_ONLINE(x) ((x) & 0x01000000)
147: #define GMT_D_6250(x) ((x) & 0x00800000)
148: #define GMT_D_1600(x) ((x) & 0x00400000)
149: #define GMT_D_800(x) ((x) & 0x00200000)
150:
151:
152: #define GMT_DR_OPEN(x) ((x) & 0x00040000)
153:
154: #define GMT_IM_REP_EN(x) ((x) & 0x00010000)
155: #define GMT_CLN(x) ((x) & 0x00008000)
156:
157:
158:
159:
160:
161: #define MT_ST_BLKSIZE_SHIFT 0
162: #define MT_ST_BLKSIZE_MASK 0xffffff
163: #define MT_ST_DENSITY_SHIFT 24
164: #define MT_ST_DENSITY_MASK 0xff000000
165:
166: #define MT_ST_SOFTERR_SHIFT 0
167: #define MT_ST_SOFTERR_MASK 0xffff
168:
169:
170: #define MT_ST_OPTIONS 0xf0000000
171: #define MT_ST_BOOLEANS 0x10000000
172: #define MT_ST_SETBOOLEANS 0x30000000
173: #define MT_ST_CLEARBOOLEANS 0x40000000
174: #define MT_ST_WRITE_THRESHOLD 0x20000000
175: #define MT_ST_DEF_BLKSIZE 0x50000000
176: #define MT_ST_DEF_OPTIONS 0x60000000
177: #define MT_ST_TIMEOUTS 0x70000000
178: #define MT_ST_SET_TIMEOUT (MT_ST_TIMEOUTS | 0x000000)
179: #define MT_ST_SET_LONG_TIMEOUT (MT_ST_TIMEOUTS | 0x100000)
180: #define MT_ST_SET_CLN 0x80000000
181:
182: #define MT_ST_BUFFER_WRITES 0x1
183: #define MT_ST_ASYNC_WRITES 0x2
184: #define MT_ST_READ_AHEAD 0x4
185: #define MT_ST_DEBUGGING 0x8
186: #define MT_ST_TWO_FM 0x10
187: #define MT_ST_FAST_MTEOM 0x20
188: #define MT_ST_AUTO_LOCK 0x40
189: #define MT_ST_DEF_WRITES 0x80
190: #define MT_ST_CAN_BSR 0x100
191: #define MT_ST_NO_BLKLIMS 0x200
192: #define MT_ST_CAN_PARTITIONS 0x400
193: #define MT_ST_SCSI2LOGICAL 0x800
194: #define MT_ST_SYSV 0x1000
195: #define MT_ST_NOWAIT 0x2000
196: #define MT_ST_SILI 0x4000
197:
198:
199: #define MT_ST_CLEAR_DEFAULT 0xfffff
200: #define MT_ST_DEF_DENSITY (MT_ST_DEF_OPTIONS | 0x100000)
201: #define MT_ST_DEF_COMPRESSION (MT_ST_DEF_OPTIONS | 0x200000)
202: #define MT_ST_DEF_DRVBUFFER (MT_ST_DEF_OPTIONS | 0x300000)
203:
204:
205: #define MT_ST_HPLOADER_OFFSET 10000
206:
207: #endif
208:
© Andrew Scott 2006 -
2025,
All Rights Reserved