Next: Reading Address, Previous: Address Formats, Up: Socket Addresses
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 Local Socket Example, or see Inet Example.
The
bindfunction 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
0on success and-1on failure. The followingerrnoerror conditions are defined for this function:
EBADF- The socket argument is not a valid file descriptor.
ENOTSOCK- The descriptor socket is not a socket.
EADDRNOTAVAIL- The specified address is not available on this machine.
EADDRINUSE- Some other socket is already using the specified address.
EINVAL- The socket socket already has an address.
EACCES- You 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_RESERVEDminus one; see Ports.)Additional conditions may be possible depending on the particular namespace of the socket.