Manual Page Result
0
Command: bind | Section: 2 | Source: Digital UNIX | File: bind.2.gz
bind(2) System Calls Manual bind(2)
NAME
bind - Binds a name to a socket
SYNOPSIS
#include <sys/socket.h>
int bind (
int socket, const struct sockaddr *address, size_t ad-
dress_len );
[Digital] The following definition of the bind() function does not
conform to current standards and is supported only for backward compat-
ibility (see standards(5)):
int bind (
int socket, struct sockaddr *address, int address_len );
STANDARDS
Interfaces documented on this reference page conform to industry stan-
dards as follows:
bind(): XPG4-UNIX
Refer to the standards(5) reference page for more information about in-
dustry standards and associated tags.
PARAMETERS
Specifies the socket descriptor of the socket to be bound. Points to a
sockaddr structure, the format of which is determined by the domain and
by the behavior requested for the socket. The sockaddr structure is an
overlay for a sockaddr_in or sockaddr_un structure, depending on which
of the supported address families is active.
[Digital] If the compile-time option _SOCKADDR_LEN is defined
before the sys/socket.h header file is included, the sockaddr
structure takes 4.4BSD behavior, with a field for specifying the
length of the socket address. Otherwise, the default 4.3BSD
sockaddr structure is used, with the length of the socket ad-
dress assumed to be 14 bytes or less.
If _SOCKADDR_LEN is defined, the 4.3BSD sockaddr structure is
defined with the name osockaddr. Specifies the length of the
sockaddr structure pointed to by the address parameter.
DESCRIPTION
The bind() function assigns an address to an unnamed socket. Sockets
created with the socket() function are unnamed; they are identified
only by their address family.
A bind that references a UNIX domain socket (AF_UNIX) causes a socket
file to be created in the filesystem. By default, the sockets are cre-
ated, like regular files and directories, with the following mode set:
0777 &~ umask
If the insecure_bind kernel tuning parameter is set to a value other
than zero (0), umask is ignored and new UNIX domain sockets are created
with mode 0777 only. The insecure_bind parameter can be set either in
the generic stanza of the /etc/sysconfigtab file or by using the
/sbin/sysconfig utility. See System Configuration and Tuning for more
information on tuning parameters.
An application program can retrieve the assigned socket name with the
getsockname() function.
Security Note
[Digital] If you have enhanced security installed on your system, the
bind() function operates as follows:
A bind that references a UNIX domain socket causes a socket file to be
created in the filesystem. The access checks that are made are identi-
cal to those made by the open() function when creating a new file.
End Security Note
RETURN VALUES
Upon successful completion, the bind() function returns a value of 0
(zero). If the bind() function fails, a value of -1 is returned and
errno is set to indicate the error.
ERRORS
If the bind() function fails, errno may be set to one of the following
values: The requested address is protected and the current user does
not have permission to access it. The specified address is already in
use. The specified address is not available from the local machine.
The specified address is protected and the current user does not sup-
port binding to a new address; or the socket has been shut down, The
socket type of the specified socket does not support binding to an ad-
dress. The socket parameter is not valid. The address argument is a
null pointer. The address parameter is not in a readable part of the
user address space. The socket is already bound to an address. An I/O
error occurred. The address argument is a null pointer. Too many sym-
bolic links were encountered in translating the pathname in address. A
component of the pathname exceeded NAME_MAX characters, or an entire
pathname exceeded PATH_MAX characters. A component of the pathname
does not name an existing file or the pathname is an empty string. A
component of the path prefix of the pathname in address is not a direc-
tory. The socket parameter refers to a file, not a socket. The name
would reside on a read-only filesystem.
RELATED INFORMATION
Functions: connect(2), listen(2), socket(2), getsockname(2)
Standards: standards(5)
System Configuration and Tuning delim off
bind(2)