io_uring_prep_close_direct(3) — Linux manual page

NAME | SYNOPSIS | DESCRIPTION | RETURN VALUE | ERRORS | SEE ALSO | COLOPHON

io_uring_prep_close(3)       liburing Manual       io_uring_prep_close(3)

NAME         top

       io_uring_prep_close - prepare a file descriptor close request

SYNOPSIS         top

       #include <liburing.h>

       void io_uring_prep_close(struct io_uring_sqe *sqe,
                                 int fd);

       void io_uring_prep_close_direct(struct io_uring_sqe *sqe,
                                       unsigned file_index);

DESCRIPTION         top

       The io_uring_prep_close(3) function prepares a close request. The
       submission queue entry sqe is setup to close the file descriptor
       indicated by fd.

       For a direct descriptor close request, the offset is specified by
       the file_index argument instead of the fd.  This is identical to
       unregistering the direct descriptor, and is provided as a
       convenience. Note that even though it's closing a direct
       descriptor, the application must not set IOSQE_FIXED_FILE on the
       SQE. Otherwise the request will complete with -EBADF as the
       result.

       These functions prepare an async close(2) request. See that man
       page for details.

RETURN VALUE         top

       None

ERRORS         top

       The CQE res field will contain the result of the operation. See
       the related man page for details on possible values. For closing
       of a direct descriptor, the only failure cases are the kernel
       running completely out of memory, or if the application has
       specified an invalid direct descriptor. Note that where
       synchronous system calls will return -1 on failure and set errno
       to the actual error value, io_uring never uses errno.  Instead it
       returns the negated errno directly in the CQE res field.

SEE ALSO         top

       io_uring_get_sqe(3), io_uring_submit(3), close(2)

COLOPHON         top

       This page is part of the liburing (A library for io_uring)
       project.  Information about the project can be found at 
       ⟨https://github.com/axboe/liburing⟩.  If you have a bug report for
       this manual page, send it to [email protected].  This page
       was obtained from the project's upstream Git repository
       ⟨https://github.com/axboe/liburing⟩ on 2025-02-02.  (At that time,
       the date of the most recent commit that was found in the
       repository was 2025-01-22.)  If you discover any rendering
       problems in this HTML version of the page, or you believe there is
       a better or more up-to-date source for the page, or you have
       corrections or improvements to the information in this COLOPHON
       (which is not part of the original manual page), send a mail to
       [email protected]

liburing-2.2                  March 13, 2022       io_uring_prep_close(3)

Pages that refer to this page: io_uring_prep_fixed_fd_install(3)