include/uapi/linux/io_uring.h
Source file repositories/reference/linux-study-clean/include/uapi/linux/io_uring.h
File Facts
- System
- Linux kernel
- Corpus path
include/uapi/linux/io_uring.h- Extension
.h- Size
- 28367 bytes
- Lines
- 1066
- Domain
- Core OS
- Bucket
- Core Kernel Interface
- Inferred role
- Core OS: implementation source
- Status
- source implementation candidate
Why This File Exists
Core operating-system implementation surface: boot, tasks, memory, VFS, syscall-facing interfaces, synchronization, credentials, and isolation.
- Core operating-system implementation surface: boot, tasks, memory, VFS, syscall-facing interfaces, synchronization, credentials, and isolation.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
linux/fs.hlinux/types.hlinux/io_uring/zcrx.hlinux/time_types.h
Detected Declarations
struct io_uring_sqestruct io_uring_attr_pistruct io_uring_cqestruct io_sqring_offsetsstruct io_cqring_offsetsstruct io_uring_paramsstruct io_uring_files_updatestruct io_uring_region_descstruct io_uring_mem_region_regstruct io_uring_rsrc_registerstruct io_uring_rsrc_updatestruct io_uring_rsrc_update2struct io_uring_probe_opstruct io_uring_probestruct io_uring_restrictionstruct io_uring_task_restrictionstruct io_uring_clock_registerstruct io_uring_clone_buffersstruct io_uring_bufstruct io_uring_buf_ringstruct io_uring_buf_regstruct io_uring_buf_statusstruct io_uring_napistruct io_uring_reg_waitstruct io_uring_getevents_argstruct io_uring_sync_cancel_regstruct io_uring_file_index_rangestruct io_uring_recvmsg_outstruct io_timespecenum io_uring_sqe_flags_bitenum io_uring_openum io_uring_msg_ring_flagsenum io_uring_register_openum io_wq_typeenum io_uring_register_pbuf_ring_flagsenum io_uring_napi_openum io_uring_napi_tracking_strategyenum io_uring_register_restriction_openum io_uring_socket_op
Annotated Snippet
struct io_uring_sqe {
__u8 opcode; /* type of operation for this sqe */
__u8 flags; /* IOSQE_ flags */
__u16 ioprio; /* ioprio for the request */
__s32 fd; /* file descriptor to do IO on */
union {
__u64 off; /* offset into file */
__u64 addr2;
struct {
__u32 cmd_op;
__u32 __pad1;
};
};
union {
__u64 addr; /* pointer to buffer or iovecs */
__u64 splice_off_in;
struct {
__u32 level;
__u32 optname;
};
};
__u32 len; /* buffer size or number of iovecs */
union {
__u32 rw_flags;
__u32 fsync_flags;
__u16 poll_events; /* compatibility */
__u32 poll32_events; /* word-reversed for BE */
__u32 sync_range_flags;
__u32 msg_flags;
__u32 timeout_flags;
__u32 accept_flags;
__u32 cancel_flags;
__u32 open_flags;
__u32 statx_flags;
__u32 fadvise_advice;
__u32 splice_flags;
__u32 rename_flags;
__u32 unlink_flags;
__u32 hardlink_flags;
__u32 xattr_flags;
__u32 msg_ring_flags;
__u32 uring_cmd_flags;
__u32 waitid_flags;
__u32 futex_flags;
__u32 install_fd_flags;
__u32 nop_flags;
__u32 pipe_flags;
};
__u64 user_data; /* data to be passed back at completion time */
/* pack this to avoid bogus arm OABI complaints */
union {
/* index into fixed buffers, if used */
__u16 buf_index;
/* for grouped buffer selection */
__u16 buf_group;
} __attribute__((packed));
/* personality to use, if used */
__u16 personality;
union {
__s32 splice_fd_in;
__u32 file_index;
__u32 zcrx_ifq_idx;
__u32 optlen;
struct {
__u16 addr_len;
__u16 __pad3[1];
};
struct {
__u8 write_stream;
__u8 __pad4[3];
};
};
union {
struct {
__u64 addr3;
__u64 __pad2[1];
};
struct {
__u64 attr_ptr; /* pointer to attribute information */
__u64 attr_type_mask; /* bit mask of attributes */
};
__u64 optval;
/*
* If the ring is initialized with IORING_SETUP_SQE128, then
* this field is used for 80 bytes of arbitrary command data
*/
__u8 cmd[0];
};
};
Annotation
- Immediate include surface: `linux/fs.h`, `linux/types.h`, `linux/io_uring/zcrx.h`, `linux/time_types.h`.
- Detected declarations: `struct io_uring_sqe`, `struct io_uring_attr_pi`, `struct io_uring_cqe`, `struct io_sqring_offsets`, `struct io_cqring_offsets`, `struct io_uring_params`, `struct io_uring_files_update`, `struct io_uring_region_desc`, `struct io_uring_mem_region_reg`, `struct io_uring_rsrc_register`.
- Atlas domain: Core OS / Core Kernel Interface.
- Implementation status: source implementation candidate.
Implementation Notes
- This generated page is the file-by-file coverage layer; curated subsystem chapters should link here when they synthesize a multi-file control flow.
- Core OS pages should be promoted from atlas-only to deep-reviewed when they explain data structures, invariants, locking, lifecycle, and C implementation snippets.
- Driver-family pages are intentionally pattern-oriented unless they are part of the selected PCIe/NVMe representative device path.