Binds an address to a specified socket.
Syntax
#include <prio.h> PRStatus PR_Bind( PRFileDesc *fd, const PRNetAddr *addr);
Parameters
The function has the following parameters:
fd
- A pointer to a
PRFileDesc
object representing a socket. addr
- A pointer to a
PRNetAddr
object representing the address to which the socket will be bound.
Returns
The function returns one of the following values:
- Upon successful binding of an address to a socket,
PR_SUCCESS
. - If unsuccessful,
PR_FAILURE
. Further information can be obtained by callingPR_GetError
.
Description
When a new socket is created, it has no address bound to it. PR_Bind
assigns the specified address (also known as name) to the socket. If you do not care about the exact IP address assigned to the socket, set the inet.ip
field of PRNetAddr
to PR_htonl
(PR_INADDR_ANY
). If you do not care about the TCP/UDP port assigned to the socket, set the inet.port
field of PRNetAddr
to 0.
Note that if PR_Connect
is invoked on a socket that is not bound, it implicitly binds an arbitrary address the socket.
Call PR_GetSockName
to obtain the address (name) bound to a socket.