PR_InitializeNetAddr¶
初始化或重新初始化网络地址。网络地址结构的存储空间由调用方分配,并由调用方负责。
语法¶
#include <prnetdb.h>
PRStatus PR_InitializeNetAddr(
PRNetAddrValue val,
PRUint16 port,
PRNetAddr *addr);
参数¶
该函数具有以下参数
val
要分配给网络地址的 IP 地址部分的值。此值必须是
PR_IpAddrNull
、PR_IpAddrAny
或PR_IpAddrLoopback
。port
要分配给网络地址结构中的端口号。该值以主机字节序指定。
addr
指向要操作的 PRNetAddr 结构的指针。
返回值¶
该函数返回以下值之一
如果成功,则返回
PR_SUCCESS
。如果失败,则返回
PR_FAILURE
。例如,如果 val 的值不在PRNetAddrValue
定义的范围内,则可能会发生这种情况。可以通过调用 PR_GetError 来检索失败的原因。
描述¶
PR_InitializeNetAddr 允许分配特殊的网络地址值和端口号,同时还设置指示正在使用的地址版本的 state。
特殊的网络地址值由枚举 PRNetAddrValue
标识
typedef enum PRNetAddrValue{
PR_IpAddrNull,
PR_IpAddrAny,
PR_IpAddrLoopback
} PRNetAddrValue;
该枚举具有以下枚举器
PR_IpAddrNull
不要覆盖 IP 地址。这允许调用方更改网络地址的端口号分配,而不影响主机地址。
PR_IpAddrAny
将逻辑
PR_INADDR_ANY
分配给 IP 地址。此通配符值通常用于在要侦听传入连接请求的套接字上建立连接。PR_IpAddrLoopback
分配逻辑
PR_INADDR_LOOPBACK
。客户端可以使用此值连接到自身,而无需知道主机的网络地址。