Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
bind(3SOCKET)		   Sockets Library Functions		 bind(3SOCKET)

NAME
       bind - bind a name to a socket

SYNOPSIS
       cc [ flag ... ] file ...	-lsocket -lnsl [ library ... ]
       #include	<sys/types.h>
       #include	<sys/socket.h>

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

DESCRIPTION
       bind()  assigns	a  name	to an unnamed socket. When a socket is created
       with socket(3SOCKET), it	exists in a name space	(address  family)  but
       has  no name assigned. bind() requests that the name pointed to by name
       be assigned to the socket.

RETURN VALUES
       If the bind is successful, 0 is returned. A return value	 of  -1	 indi-
       cates an	error, which is	further	specified in the global	errno.

ERRORS
       The bind() call will fail if:

       EACCES		       The   requested	 address   is  protected,  and
			       {PRIV_NET_PRIVADDR} is not asserted in the  ef-
			       fective set of the current process.

       EADDRINUSE	       The specified address is	already	in use.

       EADDRNOTAVAIL	       The  specified  address is not available	on the
			       local machine.

       EBADF		       s is not	a valid	descriptor.

       EINVAL		       namelen is not the size of a valid address  for
			       the specified address family.

       EINVAL		       The socket is already bound to an address.

       ENOSR		       There  were  insufficient STREAMS resources for
			       the operation to	complete.

       ENOTSOCK		       s is a descriptor for a file, not a socket.

       The following errors are	specific to binding names in the UNIX domain:

       EACCES		       Search permission is denied for a component  of
			       the path	prefix of the pathname in name.

       EIO		       An  I/O	error occurred while making the	direc-
			       tory entry or allocating	the inode.

       EISDIR		       A null pathname was specified.

       ELOOP		       Too many	symbolic  links	 were  encountered  in
			       translating the pathname	in name.

       ENOENT		       A  component of the path	prefix of the pathname
			       in name does not	exist.

       ENOTDIR		       A component of the path prefix of the  pathname
			       in name is not a	directory.

       EROFS		       The inode would reside on a read-only file sys-
			       tem.

ATTRIBUTES
       See attributes(5) for descriptions of the following attributes:

       +-----------------------------+-----------------------------+
       |      ATTRIBUTE	TYPE	     |	    ATTRIBUTE VALUE	   |
       +-----------------------------+-----------------------------+
       |MT-Level		     |Safe			   |
       +-----------------------------+-----------------------------+

SEE ALSO
       unlink(2),     socket(3SOCKET),	    attributes(5),	privileges(5),
       socket.h(3HEAD)

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  byusing
       unlink(2).

       The rules used in name binding vary between communication domains.

SunOS 5.10			  20 Feb 2003			 bind(3SOCKET)

NAME | SYNOPSIS | DESCRIPTION | RETURN VALUES | ERRORS | ATTRIBUTES | SEE ALSO | NOTES

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=bind&sektion=3socket&manpath=SunOS+5.10>

home | help