1655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/**************************************************************************** 2655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng **************************************************************************** 3655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng *** 4655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng *** This header was automatically generated from a Linux kernel header 5655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng *** of the same name, to make information necessary for userspace to 6655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng *** call into the kernel available to libc. It contains only constants, 7655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng *** structures, and macros generated from the original header, and thus, 8655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng *** contains no copyrightable information. 9655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng *** 10655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng *** To edit the content of this header, modify the corresponding 11655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng *** source file (e.g. under external/kernel-headers/original/) then 12655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng *** run bionic/libc/kernel/tools/update_all.py 13655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng *** 14655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng *** Any manual change here will be lost the next time this script will 15655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng *** be run. You've been warned! 16655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng *** 17655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng **************************************************************************** 18655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ****************************************************************************/ 19655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#ifndef _LINUX_MTIO_H 20655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define _LINUX_MTIO_H 21655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#include <linux/types.h> 22655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#include <linux/ioctl.h> 23655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengstruct mtop { 24d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao short mt_op; 25d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao int mt_count; 26655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng}; 27655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define MTRESET 0 28655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define MTFSF 1 29655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define MTBSF 2 30655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define MTFSR 3 31655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define MTBSR 4 32655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define MTWEOF 5 33655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define MTREW 6 34655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define MTOFFL 7 35655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define MTNOP 8 36655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define MTRETEN 9 37655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define MTBSFM 10 38655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define MTFSFM 11 39655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define MTEOM 12 40655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define MTERASE 13 41655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define MTRAS1 14 42655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define MTRAS2 15 43655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define MTRAS3 16 44655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define MTSETBLK 20 45655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define MTSETDENSITY 21 46655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define MTSEEK 22 47655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define MTTELL 23 48655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define MTSETDRVBUFFER 24 49655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define MTFSS 25 50655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define MTBSS 26 51655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define MTWSM 27 52655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define MTLOCK 28 53655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define MTUNLOCK 29 54655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define MTLOAD 30 55655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define MTUNLOAD 31 56655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define MTCOMPRESSION 32 57655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define MTSETPART 33 58655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define MTMKPART 34 59655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define MTWEOFI 35 60655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengstruct mtget { 61d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao long mt_type; 62d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao long mt_resid; 63d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao long mt_dsreg; 64d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao long mt_gstat; 65d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao long mt_erreg; 66d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao __kernel_daddr_t mt_fileno; 67d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao __kernel_daddr_t mt_blkno; 68655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng}; 69655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define MT_ISUNKNOWN 0x01 70655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define MT_ISQIC02 0x02 71655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define MT_ISWT5150 0x03 72655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define MT_ISARCHIVE_5945L2 0x04 73655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define MT_ISCMSJ500 0x05 74655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define MT_ISTDC3610 0x06 75655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define MT_ISARCHIVE_VP60I 0x07 76655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define MT_ISARCHIVE_2150L 0x08 77655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define MT_ISARCHIVE_2060L 0x09 78655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define MT_ISARCHIVESC499 0x0A 79655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define MT_ISQIC02_ALL_FEATURES 0x0F 80655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define MT_ISWT5099EEN24 0x11 81655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define MT_ISTEAC_MT2ST 0x12 82655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define MT_ISEVEREX_FT40A 0x32 83655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define MT_ISDDS1 0x51 84655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define MT_ISDDS2 0x52 85655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define MT_ISONSTREAM_SC 0x61 86655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define MT_ISSCSI1 0x71 87655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define MT_ISSCSI2 0x72 88655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define MT_ISFTAPE_UNKNOWN 0x800000 89655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define MT_ISFTAPE_FLAG 0x800000 90655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengstruct mtpos { 91d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao long mt_blkno; 92655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng}; 93655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define MTIOCTOP _IOW('m', 1, struct mtop) 94655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define MTIOCGET _IOR('m', 2, struct mtget) 95655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define MTIOCPOS _IOR('m', 3, struct mtpos) 96655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define GMT_EOF(x) ((x) & 0x80000000) 97655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define GMT_BOT(x) ((x) & 0x40000000) 98655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define GMT_EOT(x) ((x) & 0x20000000) 99655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define GMT_SM(x) ((x) & 0x10000000) 100655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define GMT_EOD(x) ((x) & 0x08000000) 101655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define GMT_WR_PROT(x) ((x) & 0x04000000) 102655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define GMT_ONLINE(x) ((x) & 0x01000000) 103655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define GMT_D_6250(x) ((x) & 0x00800000) 104655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define GMT_D_1600(x) ((x) & 0x00400000) 105655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define GMT_D_800(x) ((x) & 0x00200000) 106655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define GMT_DR_OPEN(x) ((x) & 0x00040000) 107655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define GMT_IM_REP_EN(x) ((x) & 0x00010000) 108655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define GMT_CLN(x) ((x) & 0x00008000) 109655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define MT_ST_BLKSIZE_SHIFT 0 110655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define MT_ST_BLKSIZE_MASK 0xffffff 111655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define MT_ST_DENSITY_SHIFT 24 112655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define MT_ST_DENSITY_MASK 0xff000000 113655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define MT_ST_SOFTERR_SHIFT 0 114655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define MT_ST_SOFTERR_MASK 0xffff 115655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define MT_ST_OPTIONS 0xf0000000 116655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define MT_ST_BOOLEANS 0x10000000 117655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define MT_ST_SETBOOLEANS 0x30000000 118655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define MT_ST_CLEARBOOLEANS 0x40000000 119655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define MT_ST_WRITE_THRESHOLD 0x20000000 120655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define MT_ST_DEF_BLKSIZE 0x50000000 121655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define MT_ST_DEF_OPTIONS 0x60000000 122655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define MT_ST_TIMEOUTS 0x70000000 123655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define MT_ST_SET_TIMEOUT (MT_ST_TIMEOUTS | 0x000000) 124655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define MT_ST_SET_LONG_TIMEOUT (MT_ST_TIMEOUTS | 0x100000) 125655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define MT_ST_SET_CLN 0x80000000 126655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define MT_ST_BUFFER_WRITES 0x1 127655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define MT_ST_ASYNC_WRITES 0x2 128655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define MT_ST_READ_AHEAD 0x4 129655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define MT_ST_DEBUGGING 0x8 130655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define MT_ST_TWO_FM 0x10 131655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define MT_ST_FAST_MTEOM 0x20 132655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define MT_ST_AUTO_LOCK 0x40 133655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define MT_ST_DEF_WRITES 0x80 134655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define MT_ST_CAN_BSR 0x100 135655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define MT_ST_NO_BLKLIMS 0x200 136655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define MT_ST_CAN_PARTITIONS 0x400 137655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define MT_ST_SCSI2LOGICAL 0x800 138655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define MT_ST_SYSV 0x1000 139655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define MT_ST_NOWAIT 0x2000 140655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define MT_ST_SILI 0x4000 141655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define MT_ST_NOWAIT_EOF 0x8000 142655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define MT_ST_CLEAR_DEFAULT 0xfffff 143655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define MT_ST_DEF_DENSITY (MT_ST_DEF_OPTIONS | 0x100000) 144655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define MT_ST_DEF_COMPRESSION (MT_ST_DEF_OPTIONS | 0x200000) 145655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define MT_ST_DEF_DRVBUFFER (MT_ST_DEF_OPTIONS | 0x300000) 146655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define MT_ST_HPLOADER_OFFSET 10000 147655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#endif 148