#ifndef IO_URING_TYPES_H
#define IO_URING_TYPES_H
#include <linux/blkdev.h>
#include <linux/hashtable.h>
#include <linux/task_work.h>
#include <linux/bitmap.h>
#include <linux/llist.h>
#include <uapi/linux/io_uring.h>
enum { … };
enum io_uring_cmd_flags { … };
struct io_wq_work_node { … };
struct io_wq_work_list { … };
struct io_wq_work { … };
struct io_fixed_file { … };
struct io_file_table { … };
struct io_hash_bucket { … } ____cacheline_aligned_in_smp;
struct io_hash_table { … };
#define IO_RINGFD_REG_MAX …
struct io_uring_task { … };
struct io_uring { … };
struct io_rings { … };
struct io_restriction { … };
struct io_submit_link { … };
struct io_submit_state { … };
struct io_alloc_cache { … };
struct io_ring_ctx { … };
struct io_tw_state { … };
enum { … };
io_req_flags_t;
#define IO_REQ_FLAG(bitno) …
enum { … };
io_req_tw_func_t;
struct io_task_work { … };
struct io_cqe { … };
struct io_cmd_data { … };
static inline void io_kiocb_cmd_sz_check(size_t cmd_sz)
{ … }
#define io_kiocb_to_cmd(req, cmd_type) …
#define cmd_to_io_kiocb(ptr) …
struct io_kiocb { … };
struct io_overflow_cqe { … };
#endif