NAME
bindat
—
assign a local protocol address to a
socket
LIBRARY
library “libc”
SYNOPSIS
#include
<sys/types.h>
#include <sys/socket.h>
#include <fcntl.h>
int
bindat
(int
fd, int s,
const struct sockaddr
*addr, socklen_t
addrlen);
DESCRIPTION
Thebindat
()
system call assigns the local protocol address to a socket. It works just like
the bind(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
bindat
() 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 bind(2).
RETURN VALUES
The bindat
() 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 bindat
() system call may fail with the
same errors as the
bind(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 bindat
was developed by
Pawel Jakub Dawidek
<pawel@dawidek.net>
under sponsorship from the FreeBSD Foundation.