diff options
author | balrog <balrog@c046a42c-6fe2-441c-8c8c-71466251a162> | 2008-09-20 03:03:09 +0000 |
---|---|---|
committer | balrog <balrog@c046a42c-6fe2-441c-8c8c-71466251a162> | 2008-09-20 03:03:09 +0000 |
commit | 8fbd6b526725aeef0b34e0e1f1be766054b0845e (patch) | |
tree | c04c4cd5001dd707cb5b70e44bb6947576daa1ef | |
parent | 8d5c28ec858518c11568e514ea98278aae89b878 (diff) |
Add MTIOCTOP, MTIOCGET and MTIOCPOS ioctls (Kirill Shutemov).
Signed-off-by: Kirill A. Shutemov <kirill@shutemov.name>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5271 c046a42c-6fe2-441c-8c8c-71466251a162
-rw-r--r-- | linux-user/ioctls.h | 4 | ||||
-rw-r--r-- | linux-user/syscall.c | 1 | ||||
-rw-r--r-- | linux-user/syscall_defs.h | 4 | ||||
-rw-r--r-- | linux-user/syscall_types.h | 6 |
4 files changed, 15 insertions, 0 deletions
diff --git a/linux-user/ioctls.h b/linux-user/ioctls.h index c1ca2d528..685cc7131 100644 --- a/linux-user/ioctls.h +++ b/linux-user/ioctls.h @@ -310,3 +310,7 @@ IOCTL(LOOP_GET_STATUS64, IOC_W, MK_PTR(MK_STRUCT(STRUCT_loop_info64))) #endif IOCTL(LOOP_CHANGE_FD, 0, TYPE_INT) + + IOCTL(MTIOCTOP, IOC_W, MK_PTR(MK_STRUCT(STRUCT_mtop))) + IOCTL(MTIOCGET, IOC_R, MK_PTR(MK_STRUCT(STRUCT_mtget))) + IOCTL(MTIOCPOS, IOC_R, MK_PTR(MK_STRUCT(STRUCT_mtpos))) diff --git a/linux-user/syscall.c b/linux-user/syscall.c index 627692a29..bceb83163 100644 --- a/linux-user/syscall.c +++ b/linux-user/syscall.c @@ -70,6 +70,7 @@ #include <linux/hdreg.h> #include <linux/soundcard.h> #include <linux/kd.h> +#include <linux/mtio.h> #include "linux_loop.h" #include "qemu.h" diff --git a/linux-user/syscall_defs.h b/linux-user/syscall_defs.h index 52242b620..989652299 100644 --- a/linux-user/syscall_defs.h +++ b/linux-user/syscall_defs.h @@ -1923,6 +1923,10 @@ struct target_eabi_flock64 { #define TARGET_VFAT_IOCTL_READDIR_BOTH TARGET_IORU('r', 1) #define TARGET_VFAT_IOCTL_READDIR_SHORT TARGET_IORU('r', 2) +#define TARGET_MTIOCTOP TARGET_IOW('m', 1, struct mtop) +#define TARGET_MTIOCGET TARGET_IOR('m', 2, struct mtget) +#define TARGET_MTIOCPOS TARGET_IOR('m', 3, struct mtpos) + struct target_sysinfo { abi_long uptime; /* Seconds since boot */ abi_ulong loads[3]; /* 1, 5, and 15 minute load averages */ diff --git a/linux-user/syscall_types.h b/linux-user/syscall_types.h index bb4fb4e3d..d3f3df91a 100644 --- a/linux-user/syscall_types.h +++ b/linux-user/syscall_types.h @@ -108,3 +108,9 @@ STRUCT(loop_info64, MK_ARRAY(TYPE_CHAR, 64), /* lo_crypt_name */ MK_ARRAY(TYPE_CHAR, 32), /* lo_encrypt_key */ MK_ARRAY(TYPE_ULONGLONG, 2)) /* lo_init */ + +/* mag tape ioctls */ +STRUCT(mtop, TYPE_SHORT, TYPE_INT) +STRUCT(mtget, TYPE_LONG, TYPE_LONG, TYPE_LONG, TYPE_LONG, TYPE_LONG, + TYPE_INT, TYPE_INT) +STRUCT(mtpos, TYPE_LONG) |