io_uring_prep_shutdown(3)
π io_uring_prep_shutdown β bestie, it's a liburing manual page
okay so real talk, this is a page from the liburing Manual and it's about io_uring_prep_shutdown(3). yes the name is a whole mouthful, but it's literally just "get ready to shut a socket down." we love a lowkey overachiever. β¨
π NAME π
io_uring_prep_shutdown β prepare a shutdown request
like... it preps the request. it doesn't do the shutdown itself. it's the planner, not the doer. main character energy but behind the scenes. π«Ά
β¨ SYNOPSIS β¨
#include <sys/socket.h>
#include <liburing.h>
void io_uring_prep_shutdown(struct io_uring_sqe *sqe,
int sockfd,
int how);
look at her. three little args. iconic. π
πΈ DESCRIPTION πΈ
so the way that io_uring_prep_shutdown(3) works is: it prepares a shutdown request, periodt.
the submission queue entry sqe gets set up to use the file descriptor sockfd β that's the socket that should be shut down β with the how argument deciding how it goes down.
basically this function preps an async shutdown(2) request. so if you wanna know the actual vibes of what happens, bestie, go read that man page, because this one is just the setup girlie. no cap. π
π RETURN VALUE π
None. that's it. nothing. she returns nothing. the void. π
π ERRORS π
the CQE res field is where the result of the operation will be chillin'. wanna know the possible values? check the related man page, iykyk.
π¨ okay this part matters, so listen up: normal synchronous system calls will return-1when they fail and seterrnoto the actual error value.io_uringnever useserrno. never. not once. instead it returns the negatederrnodirectly in theCQE resfield. so like if you're out here checkingerrnoyou're gonna have a bad time. don't do it. π
π¦ SEE ALSO π¦
okay that's the whole page, you ate it, no crumbs left. π this was liburing-2.2, dated March 12, 2022, and that's the vibe check, bye bestie ππ§
π¦ where this page comes from
- alpine 3.22: liburing-doc 2.9-r0 Β· LGPL-2.1-or-later OR MIT
- alpine 3.23: liburing-doc 2.12-r0 Β· LGPL-2.1-or-later OR MIT
- alpine 3.24: liburing-doc 2.14-r0 Β· LGPL-2.1-or-later OR MIT
- arch rolling: liburing 2.15-1 Β· GPL-2.0-only WITH Linux-syscall-note OR MIT AND LGPL-2.0-or-later AND MIT
- centos-stream 10: liburing-devel 2.12-1.el10 Β· (GPLv2 with exceptions and LGPLv2+) or MIT
- centos-stream 9: liburing-devel 2.12-1.el9 Β· (GPLv2 with exceptions and LGPLv2+) or MIT
- centos-stream 9: liburing-devel 2.12-1.el9 Β· (GPLv2 with exceptions and LGPLv2+) or MIT
- debian bookworm: liburing-dev 2.3-3
- debian trixie: liburing-dev 2.9-1
- fedora 43: liburing-devel 2.9-2.fc43 Β· (GPL-2.0-only WITH Linux-syscall-note OR MIT) AND (LGPL-2.0-or-later OR MIT)
- fedora 43: liburing-devel 2.9-2.fc43 Β· (GPL-2.0-only WITH Linux-syscall-note OR MIT) AND (LGPL-2.0-or-later OR MIT)
- fedora 44: liburing-devel 2.13-2.fc44 Β· (GPL-2.0-only WITH Linux-syscall-note OR MIT) AND (LGPL-2.0-or-later OR MIT)
- fedora 44: liburing-devel 2.13-2.fc44 Β· (GPL-2.0-only WITH Linux-syscall-note OR MIT) AND (LGPL-2.0-or-later OR MIT)
- nixpkgs unstable: liburing 2.14
- opensuse-leap 16.0: liburing-devel 2.8-160000.3.1 Β· (GPL-2.0-only AND LGPL-2.1-or-later) OR MIT
- opensuse-leap 16.0: liburing-devel 2.8-160000.3.1 Β· (GPL-2.0-only AND LGPL-2.1-or-later) OR MIT
- opensuse-leap 16.0: liburing-devel 2.8-160000.3.1 Β· (GPL-2.0-only AND LGPL-2.1-or-later) OR MIT
- opensuse-leap 16.0: liburing-devel 2.8-160000.3.1 Β· (GPL-2.0-only AND LGPL-2.1-or-later) OR MIT
- ubuntu noble: liburing-dev 2.5-1build1
- ubuntu questing: liburing-dev 2.11-1
- ubuntu resolute: liburing-dev 2.14-1
- ubuntu stonking: liburing-dev 2.15-1
- π the page's license: LGPL-2.0-or-later
- Copyright (C) 2022 Jens Axboe <axboe@kernel.dk>
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms