.TH BIND 2 .SH NAME bind \- binds an address to a socket .SH SYNOPSIS .ft B #include .in +5 .ti -5 int bind(int \fIsd\fP, const struct sockaddr * \fIaddr\fP, socklen_t \fIaddr_len\fP); .br .ft P .SH DESCRIPTION bind() specifies the \fIaddr\fP (IP address and port for PF_INET or path for PF_UNIX) to assign to socket \fIsd\fP. .SH RETURN VALUES On success, this function returns 0. On error, -1 is returned and \fIerrno\fP is set. .SH ERRORS .TP 15 [ENOSYS] The socket type is not supported by bind(). .TP 15 [EAFNOSUPPORT] The address family is not supported by bind(). .TP 15 [EADDRNOTAVAIL] The address is not available. .TP 15 [ENAMETOOLONG] The sun_path in struct sockaddr_un is too long. .TP 15 [EINVAL] The address is already bound to the socket. .TP 15 [EBADF] The argument \fIsd\fP is not a descriptor. .TP 15 [ENOTSOCK] The argument \fIsd\fP is a descriptor, but not a socket descriptor. .TP 15 [EFAULT] The address pointed to by \fIaddr\fP is not in a valid part of the process address space. .SH SEE ALSO .BR accept(2), .BR socket(2)