qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [4257] Add loop device ioctls (Gary Thomas).


From: Andrzej Zaborowski
Subject: [Qemu-devel] [4257] Add loop device ioctls (Gary Thomas).
Date: Sat, 26 Apr 2008 14:44:50 +0000

Revision: 4257
          http://svn.sv.gnu.org/viewvc/?view=rev&root=qemu&revision=4257
Author:   balrog
Date:     2008-04-26 14:44:49 +0000 (Sat, 26 Apr 2008)

Log Message:
-----------
Add loop device ioctls (Gary Thomas).

Modified Paths:
--------------
    trunk/linux-user/ioctls.h
    trunk/linux-user/syscall.c
    trunk/linux-user/syscall_defs.h
    trunk/linux-user/syscall_types.h

Modified: trunk/linux-user/ioctls.h
===================================================================
--- trunk/linux-user/ioctls.h   2008-04-26 13:33:29 UTC (rev 4256)
+++ trunk/linux-user/ioctls.h   2008-04-26 14:44:49 UTC (rev 4257)
@@ -300,3 +300,13 @@
 
   IOCTL(VFAT_IOCTL_READDIR_BOTH, IOC_R, 
MK_PTR(MK_ARRAY(MK_STRUCT(STRUCT_dirent), 2)))
   IOCTL(VFAT_IOCTL_READDIR_SHORT, IOC_R, 
MK_PTR(MK_ARRAY(MK_STRUCT(STRUCT_dirent), 2)))
+
+  IOCTL(LOOP_SET_FD, 0, TYPE_INT)
+  IOCTL(LOOP_CLR_FD, 0, TYPE_INT)
+  IOCTL(LOOP_SET_STATUS, IOC_W, MK_PTR(MK_STRUCT(STRUCT_loop_info)))
+  IOCTL(LOOP_GET_STATUS, IOC_W, MK_PTR(MK_STRUCT(STRUCT_loop_info)))
+#if 0 /* These have some problems - not fully tested */
+  IOCTL(LOOP_SET_STATUS64, IOC_W, MK_PTR(MK_STRUCT(STRUCT_loop_info64)))
+  IOCTL(LOOP_GET_STATUS64, IOC_W, MK_PTR(MK_STRUCT(STRUCT_loop_info64)))
+#endif
+  IOCTL(LOOP_CHANGE_FD, 0, TYPE_INT)

Modified: trunk/linux-user/syscall.c
===================================================================
--- trunk/linux-user/syscall.c  2008-04-26 13:33:29 UTC (rev 4256)
+++ trunk/linux-user/syscall.c  2008-04-26 14:44:49 UTC (rev 4257)
@@ -68,6 +68,7 @@
 #include <linux/soundcard.h>
 #include <linux/dirent.h>
 #include <linux/kd.h>
+#include <linux/loop.h>
 
 #include "qemu.h"
 

Modified: trunk/linux-user/syscall_defs.h
===================================================================
--- trunk/linux-user/syscall_defs.h     2008-04-26 13:33:29 UTC (rev 4256)
+++ trunk/linux-user/syscall_defs.h     2008-04-26 14:44:49 UTC (rev 4257)
@@ -830,6 +830,14 @@
 #define TARGET_HDIO_SET_DMA           0x0326  /* change use-dma flag */
 #define TARGET_HDIO_SET_PIO_MODE      0x0327  /* reconfig interface to new 
speed */
 
+/* loop ioctls */
+#define TARGET_LOOP_SET_FD            0x4C00
+#define TARGET_LOOP_CLR_FD            0x4C01
+#define TARGET_LOOP_SET_STATUS        0x4C02
+#define TARGET_LOOP_GET_STATUS        0x4C03
+#define TARGET_LOOP_SET_STATUS64      0x4C04
+#define TARGET_LOOP_GET_STATUS64      0x4C05
+#define TARGET_LOOP_CHANGE_FD         0x4C06
 
 /* from asm/termbits.h */
 

Modified: trunk/linux-user/syscall_types.h
===================================================================
--- trunk/linux-user/syscall_types.h    2008-04-26 13:33:29 UTC (rev 4256)
+++ trunk/linux-user/syscall_types.h    2008-04-26 14:44:49 UTC (rev 4257)
@@ -79,3 +79,32 @@
 
 STRUCT(mixer_info,
        MK_ARRAY(TYPE_CHAR, 16), MK_ARRAY(TYPE_CHAR, 32), TYPE_INT, 
MK_ARRAY(TYPE_INT, 10))
+
+/* loop device ioctls */
+STRUCT(loop_info,
+       TYPE_INT,                 /* lo_number */
+       TYPE_SHORT,               /* lo_device */
+       TYPE_ULONG,               /* lo_inode */
+       TYPE_SHORT,               /* lo_rdevice */
+       TYPE_INT,                 /* lo_offset */
+       TYPE_INT,                 /* lo_encrypt_type */
+       TYPE_INT,                 /* lo_encrypt_key_size */
+       TYPE_INT,                 /* lo_flags */
+       MK_ARRAY(TYPE_CHAR, 64),  /* lo_name */
+       MK_ARRAY(TYPE_CHAR, 32),  /* lo_encrypt_key */
+       MK_ARRAY(TYPE_ULONG, 2),  /* lo_init */
+       MK_ARRAY(TYPE_CHAR, 4))   /* reserved */
+
+STRUCT(loop_info64,
+       TYPE_ULONGLONG,           /* lo_device */
+       TYPE_ULONGLONG,           /* lo_inode */
+       TYPE_ULONGLONG,           /* lo_rdevice */
+       TYPE_ULONGLONG,           /* lo_offset */
+       TYPE_ULONG,               /* lo_number */
+       TYPE_ULONG,               /* lo_encrypt_type */
+       TYPE_ULONG,               /* lo_encrypt_key_size */
+       TYPE_ULONG,               /* lo_flags */
+       MK_ARRAY(TYPE_CHAR, 64),  /* lo_name */
+       MK_ARRAY(TYPE_CHAR, 64),  /* lo_crypt_name */
+       MK_ARRAY(TYPE_CHAR, 32),  /* lo_encrypt_key */
+       MK_ARRAY(TYPE_ULONGLONG, 2))  /* lo_init */






reply via email to

[Prev in Thread] Current Thread [Next in Thread]