linux-user: add more blk ioctls
Implement a few more ioctls that operate on block devices. Signed-off-by: Alexander Graf <agraf@suse.de>
This commit is contained in:
committed by
Andreas Färber
parent
a1b57e540d
commit
62b202fd44
@@ -72,6 +72,24 @@
|
|||||||
IOCTL(BLKGETSIZE, IOC_R, MK_PTR(TYPE_ULONG))
|
IOCTL(BLKGETSIZE, IOC_R, MK_PTR(TYPE_ULONG))
|
||||||
#ifdef BLKGETSIZE64
|
#ifdef BLKGETSIZE64
|
||||||
IOCTL(BLKGETSIZE64, IOC_R, MK_PTR(TYPE_ULONGLONG))
|
IOCTL(BLKGETSIZE64, IOC_R, MK_PTR(TYPE_ULONGLONG))
|
||||||
|
#endif
|
||||||
|
#ifdef BLKDISCARD
|
||||||
|
IOCTL(BLKDISCARD, IOC_W, MK_PTR(MK_STRUCT(STRUCT_blkdiscard)))
|
||||||
|
#endif
|
||||||
|
#ifdef BLKIOMIN
|
||||||
|
IOCTL(BLKIOMIN, IOC_R, MK_PTR(TYPE_INT))
|
||||||
|
#endif
|
||||||
|
#ifdef BLKIOOPT
|
||||||
|
IOCTL(BLKIOOPT, IOC_R, MK_PTR(TYPE_INT))
|
||||||
|
#endif
|
||||||
|
#ifdef BLKALIGNOFF
|
||||||
|
IOCTL(BLKALIGNOFF, IOC_R, MK_PTR(TYPE_INT))
|
||||||
|
#endif
|
||||||
|
#ifdef BLKPBSZGET
|
||||||
|
IOCTL(BLKPBSZGET, IOC_R, MK_PTR(TYPE_INT))
|
||||||
|
#endif
|
||||||
|
#ifdef BLKDISCARDZEROES
|
||||||
|
IOCTL(BLKDISCARDZEROES, IOC_R, MK_PTR(TYPE_INT))
|
||||||
#endif
|
#endif
|
||||||
IOCTL(BLKFLSBUF, 0, TYPE_NULL)
|
IOCTL(BLKFLSBUF, 0, TYPE_NULL)
|
||||||
IOCTL(BLKRASET, 0, TYPE_INT)
|
IOCTL(BLKRASET, 0, TYPE_INT)
|
||||||
|
@@ -930,6 +930,12 @@ struct target_pollfd {
|
|||||||
#define TARGET_BLKGETSIZE64 TARGET_IOR(0x12,114,abi_ulong)
|
#define TARGET_BLKGETSIZE64 TARGET_IOR(0x12,114,abi_ulong)
|
||||||
/* return device size in bytes
|
/* return device size in bytes
|
||||||
(u64 *arg) */
|
(u64 *arg) */
|
||||||
|
#define TARGET_BLKDISCARD TARGET_IO(0x12,119)
|
||||||
|
#define TARGET_BLKIOMIN TARGET_IO(0x12,120)
|
||||||
|
#define TARGET_BLKIOOPT TARGET_IO(0x12,121)
|
||||||
|
#define TARGET_BLKALIGNOFF TARGET_IO(0x12,122)
|
||||||
|
#define TARGET_BLKPBSZGET TARGET_IO(0x12,123)
|
||||||
|
#define TARGET_BLKDISCARDZEROES TARGET_IO(0x12,124)
|
||||||
#define TARGET_FIBMAP TARGET_IO(0x00,1) /* bmap access */
|
#define TARGET_FIBMAP TARGET_IO(0x00,1) /* bmap access */
|
||||||
#define TARGET_FIGETBSZ TARGET_IO(0x00,2) /* get the block size used for bmap */
|
#define TARGET_FIGETBSZ TARGET_IO(0x00,2) /* get the block size used for bmap */
|
||||||
#define TARGET_FS_IOC_FIEMAP TARGET_IOWR('f',11,struct fiemap)
|
#define TARGET_FS_IOC_FIEMAP TARGET_IOWR('f',11,struct fiemap)
|
||||||
|
@@ -71,6 +71,9 @@ STRUCT(kbentry,
|
|||||||
STRUCT(kbsentry,
|
STRUCT(kbsentry,
|
||||||
TYPE_CHAR, MK_ARRAY(TYPE_CHAR, 512))
|
TYPE_CHAR, MK_ARRAY(TYPE_CHAR, 512))
|
||||||
|
|
||||||
|
STRUCT(blkdiscard,
|
||||||
|
MK_ARRAY(TYPE_LONGLONG, 2))
|
||||||
|
|
||||||
STRUCT(audio_buf_info,
|
STRUCT(audio_buf_info,
|
||||||
TYPE_INT, TYPE_INT, TYPE_INT, TYPE_INT)
|
TYPE_INT, TYPE_INT, TYPE_INT, TYPE_INT)
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user