io_uring_prep_listen(3)
π io_uring_prep_listen β the liburing manual, but make it cute π
okay bestie, gather round, because today we're learning how to prepare a listen request and honestly? it's giving main character energy. this page lives in the liburing manual and it's about io_uring_prep_listen(3). no cap. β¨
β¨ NAME β¨
io_uring_prep_listen β prepare a listen request π
π¦ SYNOPSIS π¦
#include <sys/socket.h>
#include <liburing.h>
void io_uring_prep_listen(struct io_uring_sqe *sqe,
int sockfd,
intbacklog);
πΈ DESCRIPTION πΈ
so the io_uring_prep_listen(3) function prepares a listen request. that's it, that's the vibe. π
what actually happens: the submission queue entry sqe gets set up so that the socket file descriptor pointed to by sockfd gets placed into a state where it can accept incoming connections. yes queen, it's opening the door and putting out the welcome mat. π«Ά
the parameter backlog defines the maximum length of the queue of pending connections. that's how many besties can be waiting in line before things get messy. π
basically this function prepares an async listen(2) request. so if you want the deets, go read that man page, because it's the whole lore. πβ¨
π RETURN VALUE π
None. literally nothing. it returns void, she said what she said. π
π ERRORS π
the CQE res field is where the result of the operation shows up, so look there. the related man page has all the details on possible values, iykyk. π₯
now listen closely because this part is important, no skimming:
where synchronous system calls will return-1on failure and seterrnoto the actual error value, io_uring never useserrno. instead it returns the negated errno directly in theCQE resfield. periodt. π―
π SEE ALSO π
and that's the whole page, bestie, we ate and left no crumbs. π this was liburing-2.7, dated Jun 3, 2024, and the title of the whole vibe is io_uring_prep_listen(3). mwah, bye, go prep some listens. ππ§β
π¦ 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 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 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) 2024 SUSE LLC
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms