**PRNetAddr
指定一个网络地址,用于Socket Manipulation Functions。
#include <prio.h>
union PRNetAddr {
struct {
PRUint16 family;
char data[14];
} raw;
struct {
PRUint16 family;
PRUint16 port;
PRUint32 ip;
char pad[8];
} inet;
#if defined(_PR_INET6)
struct {
PRUint16 family;
PRUint16 port;
PRUint32 flowinfo;
PRIPv6Addr ip;
} ipv6;
#endif /* defined(_PR_INET6) */
};
typedef union PRNetAddr PRNetAddr;
联合PRNetAddr表示一个网络地址。默认来说,NSPR只支持IPv4,但是可以建立同时支持IPv4和IPv6的NSPR库。因此,对于默认NSPR,family域只能是PR_AF_INET.
union的raw成员相当于struct sockaddr,inet成员相当于
struct sockaddr_in,ipv6成员相当于
struct sockaddr_in6