On 2/1/19 11:20 AM, Florian Weimer wrote: > * Jens Axboe: > >> +/* >> + * Filled with the offset for mmap(2) >> + */ >> +struct io_sqring_offsets { >> + __u32 head; >> + __u32 tail; >> + __u32 ring_mask; >> + __u32 ring_entries; >> + __u32 flags; >> + __u32 dropped; >> + __u32 array; >> + __u32 resv[3]; >> +}; >> + >> +struct io_cqring_offsets { >> + __u32 head; >> + __u32 tail; >> + __u32 ring_mask; >> + __u32 ring_entries; >> + __u32 overflow; >> + __u32 cqes; >> + __u32 resv[4]; >> +}; >> + >> +/* >> + * io_uring_enter(2) flags >> + */ >> +#define IORING_ENTER_GETEVENTS (1U << 0) >> + >> +/* >> + * Passed in for io_uring_setup(2). Copied back with updated info on success >> + */ >> +struct io_uring_params { >> + __u32 sq_entries; >> + __u32 cq_entries; >> + __u32 flags; >> + __u32 resv[7]; >> + struct io_sqring_offsets sq_off; >> + struct io_cqring_offsets cq_off; >> +}; > > I still think it might be a good idea to have one reserved __u64 field > for alignment purposes. Sure, I can do that. -- Jens Axboe