Commit 8fbd6b526725aeef0b34e0e1f1be766054b0845e
1 parent
8d5c28ec
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
Showing
4 changed files
with
15 additions
and
0 deletions
linux-user/ioctls.h
@@ -310,3 +310,7 @@ | @@ -310,3 +310,7 @@ | ||
310 | IOCTL(LOOP_GET_STATUS64, IOC_W, MK_PTR(MK_STRUCT(STRUCT_loop_info64))) | 310 | IOCTL(LOOP_GET_STATUS64, IOC_W, MK_PTR(MK_STRUCT(STRUCT_loop_info64))) |
311 | #endif | 311 | #endif |
312 | IOCTL(LOOP_CHANGE_FD, 0, TYPE_INT) | 312 | IOCTL(LOOP_CHANGE_FD, 0, TYPE_INT) |
313 | + | ||
314 | + IOCTL(MTIOCTOP, IOC_W, MK_PTR(MK_STRUCT(STRUCT_mtop))) | ||
315 | + IOCTL(MTIOCGET, IOC_R, MK_PTR(MK_STRUCT(STRUCT_mtget))) | ||
316 | + IOCTL(MTIOCPOS, IOC_R, MK_PTR(MK_STRUCT(STRUCT_mtpos))) |
linux-user/syscall.c
@@ -70,6 +70,7 @@ | @@ -70,6 +70,7 @@ | ||
70 | #include <linux/hdreg.h> | 70 | #include <linux/hdreg.h> |
71 | #include <linux/soundcard.h> | 71 | #include <linux/soundcard.h> |
72 | #include <linux/kd.h> | 72 | #include <linux/kd.h> |
73 | +#include <linux/mtio.h> | ||
73 | #include "linux_loop.h" | 74 | #include "linux_loop.h" |
74 | 75 | ||
75 | #include "qemu.h" | 76 | #include "qemu.h" |
linux-user/syscall_defs.h
@@ -1923,6 +1923,10 @@ struct target_eabi_flock64 { | @@ -1923,6 +1923,10 @@ struct target_eabi_flock64 { | ||
1923 | #define TARGET_VFAT_IOCTL_READDIR_BOTH TARGET_IORU('r', 1) | 1923 | #define TARGET_VFAT_IOCTL_READDIR_BOTH TARGET_IORU('r', 1) |
1924 | #define TARGET_VFAT_IOCTL_READDIR_SHORT TARGET_IORU('r', 2) | 1924 | #define TARGET_VFAT_IOCTL_READDIR_SHORT TARGET_IORU('r', 2) |
1925 | 1925 | ||
1926 | +#define TARGET_MTIOCTOP TARGET_IOW('m', 1, struct mtop) | ||
1927 | +#define TARGET_MTIOCGET TARGET_IOR('m', 2, struct mtget) | ||
1928 | +#define TARGET_MTIOCPOS TARGET_IOR('m', 3, struct mtpos) | ||
1929 | + | ||
1926 | struct target_sysinfo { | 1930 | struct target_sysinfo { |
1927 | abi_long uptime; /* Seconds since boot */ | 1931 | abi_long uptime; /* Seconds since boot */ |
1928 | abi_ulong loads[3]; /* 1, 5, and 15 minute load averages */ | 1932 | abi_ulong loads[3]; /* 1, 5, and 15 minute load averages */ |
linux-user/syscall_types.h
@@ -108,3 +108,9 @@ STRUCT(loop_info64, | @@ -108,3 +108,9 @@ STRUCT(loop_info64, | ||
108 | MK_ARRAY(TYPE_CHAR, 64), /* lo_crypt_name */ | 108 | MK_ARRAY(TYPE_CHAR, 64), /* lo_crypt_name */ |
109 | MK_ARRAY(TYPE_CHAR, 32), /* lo_encrypt_key */ | 109 | MK_ARRAY(TYPE_CHAR, 32), /* lo_encrypt_key */ |
110 | MK_ARRAY(TYPE_ULONGLONG, 2)) /* lo_init */ | 110 | MK_ARRAY(TYPE_ULONGLONG, 2)) /* lo_init */ |
111 | + | ||
112 | +/* mag tape ioctls */ | ||
113 | +STRUCT(mtop, TYPE_SHORT, TYPE_INT) | ||
114 | +STRUCT(mtget, TYPE_LONG, TYPE_LONG, TYPE_LONG, TYPE_LONG, TYPE_LONG, | ||
115 | + TYPE_INT, TYPE_INT) | ||
116 | +STRUCT(mtpos, TYPE_LONG) |