SubmissionQueueRingOffsets

Filled with the offset for mmap(2)

C API: struct io_sqring_offsets

Members

Variables

array
uint array;

index into array of SubmissionEntrys at offset SUBMISSION_QUEUE_ENTRIES_OFFSET in mmap()

dropped
uint dropped;

number of (invalid) entries that were dropped; entries are invalid if their index (in array) is out of bounds.

flags
SubmissionQueueFlags flags;

SubmissionQueueFlags

head
uint head;

Incremented by kernel after entry at head was processed. Pending submissions: head..tail

ring_entries
uint ring_entries;

value same as SetupParameters.sq_entries, power of 2.

ring_mask
uint ring_mask;

value value_at(self.ring_entries) - 1 mask for indices at head and tail (don't delete masked bits! head and tail can point to the same entry, but if they are not exactly equal it implies the ring is full, and if they are exactly equal the ring is empty.)

tail
uint tail;

Modified by user space when new entry was queued; points to next entry user space is going to fill.

Meta