75 lines
1.7 KiB
Groff
75 lines
1.7 KiB
Groff
.\" Copyright (C) 2022 Jens Axboe <axboe@kernel.dk>
|
|
.\"
|
|
.\" SPDX-License-Identifier: LGPL-2.0-or-later
|
|
.\"
|
|
.TH io_uring_prep_tee 3 "March 13, 2022" "liburing-2.2" "liburing Manual"
|
|
.SH NAME
|
|
io_uring_prep_tee \- prepare a tee request
|
|
.SH SYNOPSIS
|
|
.nf
|
|
.B #include <fcntl.h>
|
|
.B #include <liburing.h>
|
|
.PP
|
|
.BI "void io_uring_prep_tee(struct io_uring_sqe *" sqe ","
|
|
.BI " int " fd_in ","
|
|
.BI " int " fd_out ","
|
|
.BI " unsigned int " nbytes ","
|
|
.BI " unsigned int " splice_flags ");"
|
|
.fi
|
|
.SH DESCRIPTION
|
|
.PP
|
|
The
|
|
.BR io_uring_prep_tee (3)
|
|
function prepares a tee request. The submission queue entry
|
|
.I sqe
|
|
is setup to use as input the file descriptor
|
|
.I fd_in
|
|
and as output the file descriptor
|
|
.I fd_out
|
|
duplicating
|
|
.I nbytes
|
|
bytes worth of data.
|
|
.I splice_flags
|
|
are modifier flags for the operation. See
|
|
.BR tee (2)
|
|
for the generic splice flags.
|
|
|
|
If the
|
|
.I fd_out
|
|
descriptor,
|
|
.B IOSQE_FIXED_FILE
|
|
can be set in the SQE to indicate that. For the input file, the io_uring
|
|
specific
|
|
.B SPLICE_F_FD_IN_FIXED
|
|
can be set and
|
|
.I fd_in
|
|
given as a registered file descriptor offset.
|
|
|
|
This function prepares an async
|
|
.BR tee (2)
|
|
request. See that man page for details.
|
|
|
|
.SH RETURN VALUE
|
|
None
|
|
.SH ERRORS
|
|
The CQE
|
|
.I res
|
|
field will contain the result of the operation. See the related man page for
|
|
details on possible values. Note that where synchronous system calls will return
|
|
.B -1
|
|
on failure and set
|
|
.I errno
|
|
to the actual error value, io_uring never uses
|
|
.IR errno .
|
|
Instead it returns the negated
|
|
.I errno
|
|
directly in the CQE
|
|
.I res
|
|
field.
|
|
.SH SEE ALSO
|
|
.BR io_uring_get_sqe (3),
|
|
.BR io_uring_submit (3),
|
|
.BR io_uring_register (2),
|
|
.BR splice (2),
|
|
.BR tee (2)
|