mirror of
https://gitlab.com/qemu-project/qemu
synced 2024-09-06 18:05:37 +00:00
Add loop device ioctls (Gary Thomas).
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4257 c046a42c-6fe2-441c-8c8c-71466251a162
This commit is contained in:
parent
c38b6e2591
commit
b80059146a
|
@ -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)
|
||||
|
|
|
@ -68,6 +68,7 @@
|
|||
#include <linux/soundcard.h>
|
||||
#include <linux/dirent.h>
|
||||
#include <linux/kd.h>
|
||||
#include <linux/loop.h>
|
||||
|
||||
#include "qemu.h"
|
||||
|
||||
|
|
|
@ -830,6 +830,14 @@ struct target_pollfd {
|
|||
#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 */
|
||||
|
||||
|
|
|
@ -79,3 +79,32 @@ STRUCT(count_info,
|
|||
|
||||
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 */
|
||||
|
|
Loading…
Reference in a new issue