1#ifndef LINUX_IO_URING_MOCK_FILE_H
 2#define LINUX_IO_URING_MOCK_FILE_H
 3
 4#include <linux/types.h>
 5
 6enum {
 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
16struct io_uring_mock_probe {
17	__u64		features;
18	__u64		__resv[9];
19};
20
21enum {
22	IORING_MOCK_CREATE_F_SUPPORT_NOWAIT			= 1,
23	IORING_MOCK_CREATE_F_POLL				= 2,
24};
25
26struct 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
34enum {
35	IORING_MOCK_MGR_CMD_PROBE,
36	IORING_MOCK_MGR_CMD_CREATE,
37};
38
39enum {
40	IORING_MOCK_CMD_COPY_REGBUF,
41};
42
43enum {
44	IORING_MOCK_COPY_FROM			= 1,
45};
46
47#endif