NAME
connectat
—
initiate a connection on a
socket
LIBRARY
library “libc”
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
Theconnectat
()
system call initiates a connection on a socket. It works just like the
connect(2) system call with two exceptions:
- It is limited to sockets in the PF_LOCAL domain.
- If the file path stored in the
sun_path field of the sockaddr_un structure is a
relative path, it is located relative to the directory associated with the
file descriptor fd. If
connectat
() is passed the special valueAT_FDCWD
in the fd parameter, the current working directory is used and the behavior is identical to a call to connect(2).
RETURN VALUES
The connectat
() function returns the
value 0 if successful; otherwise the value -1 is returned and
the global variable errno is set to indicate the
error.
ERRORS
The connectat
() system call may fail with
the same errors as the
connect(2) system call for a UNIX domain socket or with the following
errors:
- [
EBADF
] - The sun_path field does not specify an absolute path
and the fd argument is neither
AT_FDCWD
nor a valid file descriptor. - [
ENOTDIR
] - The sun_path field is not an absolute path and
fd is neither
AT_FDCWD
nor a file descriptor associated with a directory.
SEE ALSO
AUTHORS
The connectat
was developed by
Pawel Jakub Dawidek
<pawel@dawidek.net>
under sponsorship from the FreeBSD Foundation.