4.3BSD-Reno/share/man/cat2/bind.0
BIND(2) 1990 BIND(2)
NNAAMMEE
bind - bind a name to a socket
SSYYNNOOPPSSIISS
##iinncclluuddee <<ssyyss//ttyyppeess..hh>>
##iinncclluuddee <<ssyyss//ssoocckkeett..hh>>
bbiinndd((ss,, nnaammee,, nnaammeelleenn))
iinntt ss;;
ssttrruucctt ssoocckkaaddddrr **nnaammee;;
iinntt nnaammeelleenn;;
DDEESSCCRRIIPPTTIIOONN
_B_i_n_d assigns a name to an unnamed socket. When a socket is
created with _s_o_c_k_e_t(2) it exists in a name space (address
family) but has no name assigned. _B_i_n_d requests that _n_a_m_e
be assigned to the socket.
NNOOTTEESS
Binding a name in the UNIX domain creates a socket in the
file system that must be deleted by the caller when it is no
longer needed (using _u_n_l_i_n_k(2)).
The rules used in name binding vary between communication
domains. Consult the manual entries in section 4 for
detailed information.
RREETTUURRNN VVAALLUUEE
If the bind is successful, a 0 value is returned. A return
value of -1 indicates an error, which is further specified
in the global _e_r_r_n_o.
EERRRROORRSS
The _b_i_n_d call will fail if:
[EBADF] _S is not a valid descriptor.
[ENOTSOCK] _S is not a socket.
[EADDRNOTAVAIL] The specified address is not available
from the local machine.
[EADDRINUSE] The specified address is already in use.
[EINVAL] The socket is already bound to an
address.
[EACCES] The requested address is protected, and
the current user has inadequate permis-
sion to access it.
[EFAULT] The _n_a_m_e parameter is not in a valid
Printed 7/27/90 June 1
BIND(2) 1990 BIND(2)
part of the user address space.
The following errors are specific to binding names in the
UNIX domain.
[ENOTDIR] A component of the path prefix is not a
directory.
[EINVAL] The pathname contains a character with the
high-order bit set.
[ENAMETOOLONG] A component of a pathname exceeded 255 char-
acters, or an entire path name exceeded 1023
characters.
[ENOENT] A prefix component of the path name does not
exist.
[ELOOP] Too many symbolic links were encountered in
translating the pathname.
[EIO] An I/O error occurred while making the direc-
tory entry or allocating the inode.
[EROFS] The name would reside on a read-only file
system.
[EISDIR] A null pathname was specified.
SSEEEE AALLSSOO
connect(2), listen(2), socket(2), getsockname(2)
Printed 7/27/90 June 2