linux/include/linux/io_uring_types.h

#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 {};

/*
 * Arbitrary limit, can be raised if need be
 */
#define IO_RINGFD_REG_MAX

struct io_uring_task {};

struct io_uring {};

/*
 * This data is shared with the application through the mmap at offsets
 * IORING_OFF_SQ_RING and IORING_OFF_CQ_RING.
 *
 * The offsets to the member fields are published through struct
 * io_sqring_offsets when calling io_uring_setup.
 */
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 {};

/*
 * Each request type overlays its private data structure on top of this one.
 * They must not exceed this one in size.
 */
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