*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->IRIX man pages -> bind (3n)              
Title
Content
Arch
Section
 

Contents


bind(3N)							      bind(3N)


NAME    [Toc]    [Back]

     bind - bind a name	to a socket

SYNOPSIS    [Toc]    [Back]

     #include <sys/types.h>

     bind(int s, caddr_tr name,	int namelen);

DESCRIPTION    [Toc]    [Back]

     bind() assigns a name to an unnamed socket.  When a socket	is created
     with socket(3N), 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 VALUE    [Toc]    [Back]

     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 errno.

ERRORS    [Toc]    [Back]

     The bind()	call will fail if:

     EBADF		 s is not a valid descriptor.

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

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

     EADDRINUSE		 The specified address is already in use.

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

     EINVAL		 The socket is already bound to	an address.

     EACCES		 The requested address is protected and	the current
			 user has inadequate permission	to access it.

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

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

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

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

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




									Page 1






bind(3N)							      bind(3N)



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

     EIO		 An I/O	error occurred while making the	directory
			 entry or allocating the inode.

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

     EISDIR		 A null	pathname was specified.

SEE ALSO    [Toc]    [Back]

      
      
     unlink(2)

NOTES    [Toc]    [Back]

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

     The rules used in name binding vary between communication domains.

     The type of address structure passed to bind() depends on the address
     family.  UNIX domain sockets (address family AF_UNIX) require a struct
     socketaddr_un as defined in sys/un.h; Internet domain sockets (address
     family AF_INET) require a struct sockaddr_in as defined in	netinet/in.h.
     Other address families may	require	other structures.  Use the structure
     appropriate to the	address	family;	cast the structure address to a
     generic caddr_t in	the call to bind() and pass the	size of	the structure
     in	the length argument.


									PPPPaaaaggggeeee 2222
[ Back ]
 Similar pages
Name OS Title
bind HP-UX bind an address to a socket
cap_bind IRIX bind a privileged name to a socket
bindresvport Linux bind a socket to a privileged IP port
bindresvport_sa FreeBSD bind a socket to a privileged IP port
bindresvport NetBSD bind a socket to a privileged IP port
bindresvport_sa OpenBSD bind a socket to a privileged IP port
bindresvport OpenBSD bind a socket to a privileged IP port
bindresvport FreeBSD bind a socket to a privileged IP port
bindresvport Tru64 Bind a socket to a privileged IP port
bindresvport_sa NetBSD bind a socket to a privileged IP port
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service