blob: 0a91f57f4cf7bfd685ef39d58961103c6c939359 [file] [log] [blame]
.\" Copyright (C) 2021 Stefan Roesch <shr@fb.com>
.\"
.\" SPDX-License-Identifier: LGPL-2.0-or-later
.\"
.TH io_uring_sqe_set_data 3 "November 15, 2021" "liburing-2.1" "liburing Manual"
.SH NAME
io_uring_sqe_set_data \- set user data for submission queue event
.SH SYNOPSIS
.nf
.B #include <liburing.h>
.PP
.BI "void io_uring_sqe_set_data(struct io_uring_sqe *" sqe ","
.BI " void *" user_data ");"
.BI "
.BI "void io_uring_sqe_set_data64(struct io_uring_sqe *" sqe ","
.BI " __u64 " data ");"
.fi
.SH DESCRIPTION
.PP
The
.BR io_uring_sqe_set_data (3)
function stores a
.I user_data
pointer with the submission queue entry
.IR sqe .
The
.BR io_uring_sqe_set_data64 (3)
function stores a 64-bit
.I data
value with the submission queue entry
.IR sqe .
After the caller has requested a submission queue entry (SQE) with
.BR io_uring_get_sqe (3) ,
they can associate a data pointer or value with the SQE. Once the completion
arrives, the function
.BR io_uring_cqe_get_data (3)
or
.BR 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
.I user_data
field in the
.IR 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
.I user_data
value present, it must always assign one to each sqe.
.SH RETURN VALUE
None
.SH SEE ALSO
.BR io_uring_get_sqe (3),
.BR io_uring_cqe_get_data (3)