io_uring

Module opcode

Source
Expand description

Operation codes that can be used to construct squeue::Entrys.

Structs§

Accept
Accept a new connection on a socket, equivalent to accept4(2).
AcceptMulti
Accept multiple new connections on a socket.
AsyncCancel
Attempt to cancel an already issued request.
AsyncCancel2
Attempt to cancel an already issued request, receiving a cancellation builder, which allows for the new cancel criterias introduced since 5.19.
Close
Close a file descriptor, equivalent to close(2).
Connect
Connect a socket, equivalent to connect(2).
EpollCtl
Modify an epoll file descriptor, equivalent to epoll_ctl(2).
Fadvise
Predeclare an access pattern for file data, equivalent to posix_fadvise(2).
Fallocate
Preallocate or deallocate space to a file, equivalent to fallocate(2).
FilesUpdate
This command is an alternative to using Submitter::register_files_update which then works in an async fashion, like the rest of the io_uring commands.
FixedFdInstall
Install a fixed file descriptor
Fsync
File sync, equivalent to fsync(2).
Ftruncate
Perform file truncation, equivalent to ftruncate(2).
FutexWait
Wait on a futex, like but not equivalant to futex(2)’s FUTEX_WAIT_BITSET.
FutexWaitV
Wait on multiple futexes.
FutexWake
Wake up waiters on a futex, like but not equivalant to futex(2)’s FUTEX_WAKE_BITSET.
LinkAt
Create a hard link, equivalent to linkat(2).
LinkTimeout
This request must be linked with another request through Flags::IO_LINK which is described below. Unlike Timeout, LinkTimeout acts on the linked request, not the completion queue.
Madvise
Give advice about use of memory, equivalent to madvise(2).
MkDirAt
Make a directory, equivalent to mkdirat(2).
MsgRingData
Send a message (with data) to a target ring.
MsgRingSendFd
Send a message (with fixed FD) to a target ring.
Nop
Do not perform any I/O.
OpenAt
Open a file, equivalent to openat(2).
OpenAt2
Open a file, equivalent to openat2(2).
PollAdd
Poll the specified fd.
PollRemove
Remove an existing poll request.
ProvideBuffers
Register nbufs buffers that each have the length len with ids starting from bid in the group bgid that can be used for any request. See BUFFER_SELECT for more info.
Read
Issue the equivalent of a pread(2) or pwrite(2) system call
ReadFixed
Read from a file into a fixed buffer that has been previously registered with Submitter::register_buffers.
Readv
Vectored read, equivalent to preadv2(2).
Recv
Receive a message from a socket, equivalent to recv(2).
RecvBundle
Receive a bundle of buffers from a socket.
RecvMsg
Receive a message on a socket, equivalent to recvmsg(2).
RecvMsgMulti
Receive multiple messages on a socket, equivalent to recvmsg(2).
RecvMulti
Receive multiple messages from a socket, equivalent to recv(2).
RecvMultiBundle
Receive multiple messages from a socket as a bundle.
RemoveBuffers
Remove some number of buffers from a buffer group. See BUFFER_SELECT for more info.
RenameAt
Send
Send a message on a socket, equivalent to send(2).
SendBundle
Send a bundle of messages on a socket in a single request.
SendMsg
Send a message on a socket, equivalent to send(2).
SendMsgZc
Send a zerocopy message on a socket, equivalent to send(2).
SendZc
Send a zerocopy message on a socket, equivalent to send(2).
Shutdown
Shut down all or part of a full duplex connection on a socket, equivalent to shutdown(2). Available since kernel 5.11.
Socket
Create an endpoint for communication, equivalent to socket(2).
Splice
Splice data to/from a pipe, equivalent to splice(2).
Statx
Get file status, equivalent to statx(2).
SymlinkAt
Create a symlink, equivalent to symlinkat(2).
SyncFileRange
Sync a file segment with disk, equivalent to sync_file_range(2).
Tee
Duplicate pipe content, equivalent to tee(2).
Timeout
Register a timeout operation.
TimeoutRemove
Attempt to remove an existing timeout operation.
TimeoutUpdate
Attempt to update an existing timeout operation with a new timespec. The optional count value of the original timeout value cannot be updated.
UnlinkAt
UringCmd16
A file/device-specific 16-byte command, akin (but not equivalent) to ioctl(2).
UringCmd80
A file/device-specific 80-byte command, akin (but not equivalent) to ioctl(2).
Write
Issue the equivalent of a pread(2) or pwrite(2) system call
WriteFixed
Write to a file from a fixed buffer that have been previously registered with Submitter::register_buffers.
Writev
Vectored write, equivalent to pwritev2(2).