[0m


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



[1mNAME
     [0mbind - bind a name to a socket

[1mSYNOPSIS
     #include <sys/types.h>
     #include <sys/socket.h>

     bind(s, name, namelen)
     int s;
     struct sockaddr *name;
     int namelen;

DESCRIPTION
     [0m_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.

[1mNOTES
     [0mBinding 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.

[1mRETURN VALUE
     [0mIf 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.

[1mERRORS
     [0mThe _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 12/11/92    Revision 1.2 of 19/10/88			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.

[1mSEE ALSO
     [0mconnect(2), listen(2), socket(2), getsockname(2)
























Printed 12/11/92    Revision 1.2 of 19/10/88			2



[0m