82 lines
2.0 KiB
Markdown
82 lines
2.0 KiB
Markdown
# PR_InitializeNetAddr
|
|
|
|
Initializes or reinitializes a network address. The storage for the
|
|
network address structure is allocated by, and remains the
|
|
responsibility of, the calling client.
|
|
|
|
## Syntax
|
|
|
|
```{code}
|
|
#include <prnetdb.h>
|
|
|
|
PRStatus PR_InitializeNetAddr(
|
|
PRNetAddrValue val,
|
|
PRUint16 port,
|
|
PRNetAddr *addr);
|
|
```
|
|
|
|
### Parameters
|
|
|
|
The function has the following parameters:
|
|
|
|
`val`
|
|
|
|
: The value to be assigned to the IP Address portion of the network
|
|
address. This must be `PR_IpAddrNull`, `PR_IpAddrAny`, or
|
|
`PR_IpAddrLoopback`.
|
|
|
|
`port`
|
|
|
|
: The port number to be assigned in the network address structure. The
|
|
value is specified in host byte order.
|
|
|
|
`addr`
|
|
|
|
: A pointer to the {ref}`PRNetAddr` structure to be manipulated.
|
|
|
|
### Returns
|
|
|
|
The function returns one of the following values:
|
|
|
|
- If successful, `PR_SUCCESS`.
|
|
- If unsuccessful, `PR_FAILURE`. This may occur, for example, if the
|
|
value of val is not within the ranges defined by `PRNetAddrValue`.
|
|
You can retrieve the reason for the failure by calling
|
|
{ref}`PR_GetError`.
|
|
|
|
## Description
|
|
|
|
{ref}`PR_InitializeNetAddr` allows the assignment of special network
|
|
address values and the port number, while also setting the state that
|
|
indicates the version of the address being used.
|
|
|
|
The special network address values are identified by the enum
|
|
`PRNetAddrValue`:
|
|
|
|
```{code}
|
|
typedef enum PRNetAddrValue{
|
|
PR_IpAddrNull,
|
|
PR_IpAddrAny,
|
|
PR_IpAddrLoopback
|
|
} PRNetAddrValue;
|
|
```
|
|
|
|
The enum has the following enumerators:
|
|
|
|
`PR_IpAddrNull`
|
|
|
|
: Do not overwrite the IP address. This allows the caller to change the
|
|
network address' port number assignment without affecting the host
|
|
address.
|
|
|
|
`PR_IpAddrAny`
|
|
|
|
: Assign logical `PR_INADDR_ANY` to IP address. This wildcard value
|
|
is typically used to establish a socket on which to listen for
|
|
incoming connection requests.
|
|
|
|
`PR_IpAddrLoopback`
|
|
|
|
: Assign logical `PR_INADDR_LOOPBACK`. A client can use this value to
|
|
connect to itself without knowing the host's network address.
|