2.11BSD/man/cat2/bind.0

Compare this file to the similar file:
Show the results in this format:




BIND(2)             UNIX Programmer's Manual		  BIND(2)



NAME
     bind - bind a name to a socket

SYNOPSIS
     #include <sys/types.h>
     #include <sys/socket.h>

     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