NAME¶
bindat
—
assign a local protocol address to a socket
LIBRARY¶
Standard C Library (libc, -lc)
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¶
The
bindat
() 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 value
AT_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¶
bind(2),
connectat(2),
socket(2),
unix(4)
AUTHORS¶
The
bindat
was developed by
Pawel Jakub Dawidek
⟨pawel@dawidek.net⟩ under sponsorship from the FreeBSD
Foundation.