io_uring_sqe_set_data(3) liburing Manual io_uring_sqe_set_data(3)

io_uring_sqe_set_data - set user data for submission queue event

#include <liburing.h>
void io_uring_sqe_set_data(struct io_uring_sqe *sqe,
                           void *user_data);

void io_uring_sqe_set_data64(struct io_uring_sqe *sqe,
                             __u64 data);

The io_uring_sqe_set_data(3) function stores a user_data pointer with the submission queue entry sqe.

The io_uring_sqe_set_data64(3) function stores a 64-bit data value with the submission queue entry sqe.

After the caller has requested a submission queue entry (SQE) with io_uring_get_sqe(3), they can associate a data pointer or value with the SQE. Once the completion arrives, the function io_uring_cqe_get_data(3) or io_uring_cqe_get_data64(3) can be called to retrieve the data pointer or value associated with the submitted request.

Note that if neither of these functions are called, or the user_data field in the sqe isn't set manually either, then the field may contain a value from a previous use of this sqe. If an application relies on always having a valid user_data value present, it must always assign one to each sqe.

None

io_uring_get_sqe(3), io_uring_cqe_get_data(3)

November 15, 2021 liburing-2.1