181typedef struct ioring_ctx
uint64_t ioring_ctx_notify(ioring_ctx_t *ctx, size_t amount, size_t wait)
Notify the context of new SQEs.
void ioring_ctx_deinit(ioring_ctx_t *ctx)
Deinitialize a I/O context.
void ioring_ctx_init(ioring_ctx_t *ctx)
Initialize a I/O context.
ioring_ctx_flags_t
Ring context flags.
@ IORING_CTX_NONE
No flags set.
@ IORING_CTX_MAPPED
Context is currently mapped into userspace.
@ IORING_CTX_BUSY
Context is currently being used, used for fast locking.
static const path_flag_t flags[]
The kernel-side ring context structure.
ioring_t ring
The kernel-side ring structure.
irp_pool_t * irps
Pool of preallocated IRPs.
_Atomic(ioring_ctx_flags_t) flags
wait_queue_t waitQueue
Wait queue for completions.
size_t pageAmount
Amount of pages mapped for the ring.
void * kernelAddr
Kernel address of the ring.
void * userAddr
Userspace address of the ring.
The primitive that threads block on.