ultrix man page for bind

Query: bind

OS: ultrix

Section: 2

Format: Original Unix Latex Style Formatted with HTML and a Horizontal Scroll Bar

bind(2) 							System Calls Manual							   bind(2)

Name
       bind - bind a name to a socket

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

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

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

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

Description
       The  system  call  assigns a name to an unnamed socket.	When a socket is created with the call, it exists in a name space (address family)
       but has no name assigned.  The system call requests that name be assigned to the socket.

       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
       the system call.

       The sockaddr argument specifies a general address family.  The sockaddr_un argument specifies an address family in the UNIX domain.

       The  rules  used  in name binding vary between communication domains.  Consult the reference pages in the ULTRIX Reference Pages Section 4:
       Special Files for detailed information.

Return Value
       If the is successful, the call returns a 0 value.  A return value of -1 indicates an error, which is further specified in the global  vari-
       able errno.

Diagnostics
       The call fails under the following conditions:

       [EBADF]	      S is an invalid 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.

       [EACCESS]      The requested address is protected, and the current user has inadequate permission to access it.

       [EFAULT]       The name parameter is not in a valid 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.

       [ENAMETOOLONG] A component of a pathname exceeds 255 characters, or an entire pathname exceeds 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 directory 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), getsockname(2), listen(2), socket(2), unlink(2)

																	   bind(2)
Related Man Pages
bind(2) - bsd
connect(2) - bsd
bind(2) - opendarwin
bind(2) - netbsd
bind(3xnet) - sunos
Similar Topics in the Unix Linux Community
binding problems
Socket bind fails
GetLastError API for socket/bind failure in VxWorks 5.4
UNIX Special files
Bind system call