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) - freebsd |
connect(2) - bsd |
bind(3xnet) - opensolaris |
bind(3) - linux |
bind(2) - opendarwin |
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 |