BIND(2) UNIX Programmer's Manual BIND(2) NAME bind - bind a name to a socket SYNOPSIS #include #include bind(s, name, namelen) int s; struct sockaddr *name; int namelen; DESCRIPTION _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. NOTES 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. RETURN VALUE 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. ERRORS 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 11/26/99 May 22, 1986 1 BIND(2) UNIX Programmer's Manual 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. SEE ALSO connect(2), listen(2), socket(2), getsockname(2) Printed 11/26/99 May 22, 1986 2