CONNECTAT(2)
π CONNECTAT β like, the system call manual page, section 2 (System Calls Manual)
okay bestie, buckle up, we're doing a whole syscall today π«Ά
β¨ NAME β¨
connectat β initiate a connection on a socket πΈ
π LIBRARY π
Standard C Library (libc, -lc) β yeah she lives in libc, no cap π
π§ SYNOPSIS π§
#include <sys/types.h>
#include <sys/socket.h>
#include <fcntl.h>
int
connectat(int fd, int s, const struct sockaddr *name,
socklen_t namelen);
π DESCRIPTION π
So the connectat() system call initiates a connection on a socket. Main character behaviour, honestly π₯
Here's the vibe: when you pass the special value AT_FDCWD in the fd parameter, the behaviour is identical to a call to connect(2). Same energy, same everything β¨
Otherwise, connectat() works like the connect(2) system call with two exceptions, and bestie, these two matter:
- It is limited to sockets in the
PF_LOCALdomain. That's it, that's the domain, no other domains invited to the party π - If the file path stored in the
sun_pathfield of thesockaddr_unstructure is a relative path, it is located relative to the directory associated with the file descriptorfd. So like, relative to your girl, not to wherever the process happens to be standing π
π RETURN VALUES π
The connectat() function returns the value 0 if successful β slay π
Otherwise, the value -1 is returned and the global variable errno is set to indicate the error. Not the vibe, but that's how you'll know π
π ERRORS π
The connectat() system call may fail with the same errors as the connect(2) system call β yeah, all of them, go read that page β or with the following errors:
[EBADF]β thesun_pathfield does not specify an absolute path and thefdargument is neitherAT_FDCWDnor a valid file descriptor. Girl, that fd is not real π[ENOTDIR]β thesun_pathfield is not an absolute path andfdis neitherAT_FDCWDnor a file descriptor associated with a directory. Wrong kind of thing entirely, bestie π
π¦ SEE ALSO π¦
bindat(2), connect(2), socket(2), unix(4) β the whole friend group, go say hi π
β AUTHORS β
The connectat was developed by Pawel Jakub Dawidek <pawel@dawidek.net> under sponsorship from the FreeBSD Foundation. Iconic of them, fr fr π
and that's the page!! this one came from Debian, dated February 13, 2013, and it lives in the CONNECTAT(2) slot of the manual π
π¦ where this page comes from
- debian bookworm: freebsd-manpages 12.2-1 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- debian trixie: freebsd-manpages 12.2-2 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- ubuntu jammy: freebsd-manpages 12.2-1 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- ubuntu noble: freebsd-manpages 12.2-1 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- ubuntu questing: freebsd-manpages 12.2-2
- ubuntu resolute: freebsd-manpages 12.2-2build1 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- ubuntu stonking: freebsd-manpages 12.2-2build1 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- Copyright (c) 2013 The FreeBSD Foundation
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms