xref: /linux/include/uapi/linux/io_uring/mock_file.h (revision c3018a2c6adae9b32f7b9259f5b38257ba9a758e)
1 #ifndef LINUX_IO_URING_MOCK_FILE_H
2 #define LINUX_IO_URING_MOCK_FILE_H
3 
4 #include <linux/types.h>
5 
6 enum {
7 	IORING_MOCK_FEAT_CMD_COPY,
8 	IORING_MOCK_FEAT_RW_ZERO,
9 	IORING_MOCK_FEAT_RW_NOWAIT,
10 	IORING_MOCK_FEAT_RW_ASYNC,
11 	IORING_MOCK_FEAT_POLL,
12 
13 	IORING_MOCK_FEAT_END,
14 };
15 
16 struct io_uring_mock_probe {
17 	__u64		features;
18 	__u64		__resv[9];
19 };
20 
21 enum {
22 	IORING_MOCK_CREATE_F_SUPPORT_NOWAIT			= 1,
23 	IORING_MOCK_CREATE_F_POLL				= 2,
24 };
25 
26 struct io_uring_mock_create {
27 	__u32		out_fd;
28 	__u32		flags;
29 	__u64		file_size;
30 	__u64		rw_delay_ns;
31 	__u64		__resv[13];
32 };
33 
34 enum {
35 	IORING_MOCK_MGR_CMD_PROBE,
36 	IORING_MOCK_MGR_CMD_CREATE,
37 };
38 
39 enum {
40 	IORING_MOCK_CMD_COPY_REGBUF,
41 };
42 
43 enum {
44 	IORING_MOCK_COPY_FROM			= 1,
45 };
46 
47 #endif
48