Edit

Share via


ioringapi.h header

Provides APIs for creating and managing I/O rings. I/O rings maintain a submission queue of I/O operations to be performed asynchronously and a completion queue containing the results of the completed operations.

This header is used by Data Access and Storage. For more information, see:

ioringapi.h contains the following programming interfaces:

Functions

 
BuildIoRingCancelRequest

Attempts to cancel a previously submitted I/O ring operation.
BuildIoRingReadFile

Performs an asynchronous read from a file using an I/O ring.
BuildIoRingRegisterBuffers

Registers an array of buffers with the system for future I/O ring operations.
BuildIoRingRegisterFileHandles

Registers an array of file handles with the system for future I/O ring operations.
CloseIoRing

Closes an HIORING handle that was previously opened with a call to CreateIoRing.
CreateIoRing

Creates a new instance of an I/O ring submission/completion queue pair and returns a handle for referencing the I/O ring.
GetIoRingInfo

Gets information about the API version and queue sizes of an I/O ring.
IoRingBufferRefFromIndexAndOffset

Creates an instance of the IORING_BUFFER_REF structure with the provided buffer index and offset.
IoRingBufferRefFromPointer

Creates an instance of the IORING_BUFFER_REF structure from the provided pointer.
IoRingHandleRefFromHandle

Creates an instance of the IORING_HANDLE_REF structure from the provided file handle.
IoRingHandleRefFromIndex

Creates an instance of the IORING_HANDLE_REF structure from the provided index.
IsIoRingOpSupported

Queries the support of the specified operation for the specified I/O ring.
PopIoRingCompletion

Pops a single entry from the completion queue, if one is available.
QueryIoRingCapabilities

Queries the OS for the supported capabilities for IORINGs.
SetIoRingCompletionEvent

Registers a completion queue event with an IORING.
SubmitIoRing

Submits all constructed but not yet submitted entries to the kernel’s queue and optionally waits for a set of operations to complete.

Structures

 
IORING_BUFFER_REF

IORING_BUFFER_REF represents a reference to a buffer used in an I/O ring operation.
IORING_CAPABILITIES

Represents the IORING API capabilities.
IORING_CQE

Represents a completed I/O ring queue entry.
IORING_CREATE_FLAGS

Specifies flags for creating an I/O ring with a call to CreateIoRing.
IORING_HANDLE_REF

Represents a reference to a file handle used in an I/O ring operation.
IORING_INFO

Represents the shape and version information for the specified I/O ring.

Enumerations

 
IORING_CREATE_ADVISORY_FLAGS

Specifies advisory flags for creating an I/O ring with a call to CreateIoRing.
IORING_CREATE_REQUIRED_FLAGS

Specifies required flags for creating an I/O ring with a call to CreateIoRing.
IORING_REF_KIND

Specifies the type of an IORING_HANDLE_REF structure.
IORING_SQE_FLAGS

Specifies kernel behavior options for I/O ring submission queue entries.