[−][src]Struct syscall::io_uring::v1::SqEntry64
A 64-bit Submission Queue Entry, representing a syscall to submit. Takes up 128 bytes of
space. Implements Ord
by comparing priority, so that they can be stored in BinaryHeap
.
This entry type is only meant to be used on 64-bit platforms.
Fields
opcode: u8
An opcode with varying definitions; by default it is one of StandardOpcode
, which
takes values in the 0..=127
range, unless special flags are set during initialization. In the userspace-to-kernel mode, it can also be one of KernelOpcode
. Similarly, for userspace-to-userspace, the consumer and producer are free to use other opcodes above 127 for custom opcodes.
This field belongs to the "implicit fields".
flags: u8
Flags specifying how the submission is going to be executed, and etc.
This field belongs to the "implicit fields".
priority: u16
The priority of the syscall; higher priorities may cause the syscall to be reordererd with lower priority syscalls.
This field belongs to the "implicit fields".
syscall_flags: u32
Specific to the opcode, but usually bitflags.
fd: u64
Specific to the opcode, but usually a file descriptor to operate on.
len: u64
Specific to the opcode, but usually the length of a buffer, or number of items.
user_data: u64
A custom value that is simply passed on to the completion entry, allowing completions to be distinguished between each other, and mapped to their corresponding submissions.
This field belongs to the "implicit fields".
addr: u64
Specific to the syscall, but usually an address to a buffer.
offset: u64
Specific to the syscall, and can be used for many different purposes.
additional1: u64
Extends the syscall with 64 additional bits of information, and is not included for
SqEntry32
.
additional2: u64
Like additional1
, extends the syscall with 64 additional bits of information, and
is not included for SqEntry32
.
Implementations
impl SqEntry64
[src]
pub fn linked(self) -> Self
[src]
pub fn unlinked(self) -> Self
[src]
pub fn drain_first(self) -> Self
[src]
pub fn dont_drain_first(self) -> Self
[src]
pub fn with_priority(self, priority: u16) -> Self
[src]
pub fn with_user_data(self, user_data: u64) -> Self
[src]
pub fn new(flags: IoUringSqeFlags, priority: u16, user_data: u64) -> Self
[src]
pub fn open(self, path: &[u8], open_flags: u64) -> Self
[src]
pub fn write(self, fd: u64, buf: &[u8]) -> Self
[src]
pub fn pwrite(self, fd: u64, buf: &[u8], offset: u64) -> Self
[src]
pub fn writev(self, fd: u64, vecs: &[IoVec]) -> Self
[src]
pub fn pwritev(self, fd: u64, vecs: &[IoVec], offset: u64) -> Self
[src]
pub fn read(self, fd: u64, buf: &mut [u8]) -> Self
[src]
pub fn pread(self, fd: u64, buf: &mut [u8], offset: u64) -> Self
[src]
pub fn readv(self, fd: u64, vecs: &[IoVec]) -> Self
[src]
pub fn preadv(self, fd: u64, vecs: &[IoVec], offset: u64) -> Self
[src]
pub fn file_update(self, fd: u64, on: EventFlags, oneshot: bool) -> Self
[src]
pub fn files_update(self, fds: &[u64], on: EventFlags, oneshot: bool) -> Self
[src]
pub fn close_many(self, start_fd: u64, count: u64, flush: bool) -> Self
[src]
pub fn close(self, fd: u64, flush: bool) -> Self
[src]
Trait Implementations
impl Clone for SqEntry64
[src]
fn clone(&self) -> SqEntry64
[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl Copy for SqEntry64
[src]
impl Debug for SqEntry64
[src]
impl Default for SqEntry64
[src]
impl Eq for SqEntry64
[src]
impl GenericSubmissionEntry for SqEntry64
[src]
fn opcode(&self) -> u8
[src]
fn sqe_flags(&self) -> u8
[src]
fn priority(&self) -> u16
[src]
fn syscall_flags(&self) -> u32
[src]
fn len_raw(&self) -> Either<u32, u64>
[src]
fn user_data_raw(&self) -> Either<u32, u64>
[src]
fn fd_raw(&self) -> Either<u32, u64>
[src]
fn addr_raw(&self) -> Either<u32, u64>
[src]
fn offset(&self) -> u64
[src]
impl Hash for SqEntry64
[src]
fn hash<__H: Hasher>(&self, state: &mut __H)
[src]
fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,
1.3.0[src]
H: Hasher,
impl Ord for SqEntry64
[src]
fn cmp(&self, other: &Self) -> Ordering
[src]
#[must_use]fn max(self, other: Self) -> Self
1.21.0[src]
#[must_use]fn min(self, other: Self) -> Self
1.21.0[src]
#[must_use]fn clamp(self, min: Self, max: Self) -> Self
[src]
impl PartialEq<SqEntry64> for SqEntry64
[src]
impl PartialOrd<SqEntry64> for SqEntry64
[src]
fn partial_cmp(&self, other: &Self) -> Option<Ordering>
[src]
#[must_use]fn lt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn le(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn gt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn ge(&self, other: &Rhs) -> bool
1.0.0[src]
impl StructuralEq for SqEntry64
[src]
impl StructuralPartialEq for SqEntry64
[src]
Auto Trait Implementations
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,