Use the bind function to assign an address to a socket. The
prototype for bind is in the header file sys/socket.h.
For examples of use, see Example of Local-Namespace Sockets, or see Internet Socket Example.
int bind (int socket, struct sockaddr *addr, socklen_t length) ¶Preliminary: | MT-Safe | AS-Safe | AC-Safe | See POSIX Safety Concepts.
The bind function assigns an address to the socket
socket. The addr and length arguments specify the
address; the detailed format of the address depends on the namespace.
The first part of the address is always the format designator, which
specifies a namespace, and says that the address is in the format of
that namespace.
The return value is 0 on success and -1 on failure. The
following errno error conditions are defined for this function:
EBADFThe socket argument is not a valid file descriptor.
ENOTSOCKThe descriptor socket is not a socket.
EADDRNOTAVAILThe specified address is not available on this machine.
EADDRINUSESome other socket is already using the specified address.
EINVALThe socket socket already has an address.
EACCESYou do not have permission to access the requested address. (In the
Internet domain, only the super-user is allowed to specify a port number
in the range 0 through IPPORT_RESERVED minus one; see
Internet Ports.)
Additional conditions may be possible depending on the particular namespace of the socket.