PRNetAddr 编辑
Type used with Socket Manipulation Functions to specify a network address.
Syntax
#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;
Fields
The structure has the following fields:
family
- Address family:
PR_AF_INET|PR_AF_INET6
forraw.family
,PR_AF_INET
forinet.family
,PR_AF_INET6
foripv6.family
. data
- Raw address data.
port
- Port number of TCP or UDP, in network byte order.
ip
- The actual 32 (for
inet.ip
) or 128 (foripv6.ip
) bits of IP address. Theinet.ip
field is in network byte order. pad
- Unused.
flowinfo
- Routing information.
Description
The union PRNetAddr
represents a network address. NSPR supports only the Internet address family. By default, NSPR is built to support only IPv4, but it's possible to build the NSPR library to support both IPv4 and IPv6. Therefore, the family
field can be PR_AF_INET
only for default NSPR, and can also be PR_AF_INET6
if the binary supports IPv6
.
PRNetAddr
is binary-compatible with the socket address structures in the familiar Berkeley socket interface, although this fact should not be relied upon. The raw member of the union is equivalent to struct sockaddr
, the inet
member is equivalent to struct sockaddr_in
, and if the binary is built with IPv6
support, the ipv6
member is equivalent to struct sockaddr_in6
. (Note that PRNetAddr
does not have the length
field that is present in struct sockaddr_in
on some Unix platforms.)
The macros PR_AF_INET
, PR_AF_INET6
, PR_INADDR_ANY
, PR_INADDR_LOOPBACK
are defined if prio.h
is included. PR_INADDR_ANY
and PR_INADDR_LOOPBACK
are special IPv4
addresses in host byte order, so they must be converted to network byte order before being assigned to the inet.ip
field.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论