nl:: Inet
摘要
类型定义符 |
|
---|---|
InterfaceId
|
typedefstruct netif *
系统网络接口的指示器。 |
变量 |
|
---|---|
sIOCTLSocket = -1
|
int
|
函数 |
|
---|---|
CheckMulticastGroupArgs(InterfaceId aInterfaceId, const IPAddress & aAddress)
|
|
CloseIOCTLSocket(void)
|
void
关闭
GetIOCTLSocket 创建的全局套接字。 |
FormatInetLayerError(char *buf, uint16_t bufSize, int32_t err)
|
bool
给定 Inet 层错误,会返回一个人类可读、以 NULL 结尾的 C 字符串,用于描述错误。
|
GetIOCTLSocket(void)
|
int
返回可用于调用某些网络 IOCTL 的全局通用套接字。
|
GetInterfaceName(InterfaceId intfId, char *nameBuf, size_t nameBufSize)
|
NL_DLL_EXPORT INET_ERROR
获取网络接口的名称。
|
INET_IsInetEvent(Weave::System::EventType aType)
|
bool
检查 System::EventType 是否为有效的 Inet 层事件类型。
|
InterfaceNameToId(const char *intfName, InterfaceId & intfId)
|
NL_DLL_EXPORT INET_ERROR
在网络接口列表中搜索指示的名称。
|
LwIPBindInterface(struct raw_pcb *aRaw, InterfaceId intfId)
|
|
LwIPBindInterface(struct udp_pcb *aUDP, InterfaceId intfId)
|
|
NetmaskToPrefixLength(const uint8_t *netmask, uint16_t netmaskLen)
|
uint8_t
根据可变长度的网络掩码计算前缀长度。
|
ParseHostAndPort(const char *aString, uint16_t aStringLen, const char *& aHost, uint16_t & aHostLen, uint16_t & aPort)
|
解析一个可人工读取的字符串,该字符串包含主机或 IP 地址和可选端口号(用“:”分隔),并支持以下格式:
|
ParseHostPortAndInterface(const char *aString, uint16_t aStringLen, const char *& aHost, uint16_t & aHostLen, uint16_t & aPort, const char *& aInterface, uint16_t & aInterfaceLen)
|
解析一个人类可读的字符串,其中包含主机或 IP 地址、可选端口号(用“:”分隔)和可选接口名称(由“'”分隔),并支持以下格式:
|
RegisterInetLayerErrorFormatter(void)
|
void
为 Inet 图层错误注册文本错误格式设置工具。
|
SocketsIPv4JoinLeaveMulticastGroup(int aSocket, InterfaceId aInterfaceId, const IPAddress & aAddress, int aCommand)
|
|
SocketsIPv6JoinLeaveMulticastGroup(int aSocket, InterfaceId aInterfaceId, const IPAddress & aAddress, int aCommand)
|
|
SocketsSetMulticastLoopback(int aSocket, bool aLoopback, int aProtocol, int aOption)
|
|
SocketsSetMulticastLoopback(int aSocket, IPVersion aIPVersion, bool aLoopback)
|
类 |
|
---|---|
nl:: |
|
nl:: |
|
nl:: |
互联网传输端点类的基础。 |
nl:: |
互联网协议地址。 |
nl:: |
此类的对象表示不可实例化的 IP 协议端点。 |
nl:: |
有关传入/传出消息/连接的信息。 |
nl:: |
互联网协议地址前缀。 |
nl:: |
这可提供单个线程访问互联网服务的权限,包括计时器、域名系统 (DNS) 解析、TCP 网络传输、UDP 网络传输和原始网络传输。 |
nl:: |
这是由 InetLayer 对象管理的引用计数对象的基础类。 |
nl:: |
系统网络接口 IP 地址列表的迭代器。 |
nl:: |
系统网络接口列表的迭代器。 |
nl:: |
此类的对象表示原始 IP 网络端点。 |
nl:: |
表示在套接字上请求/等待的一组 I/O 事件。 |
nl:: |
此类的对象表示 TCP 传输端点。 |
nl:: |
此类的对象表示隧道接口。 |
nl:: |
此类的对象表示 UDP 传输端点。 |
联合体 |
|
---|---|
nl:: |
命名空间 |
|
---|---|
nl:: |
枚举
7
@7
Inet 图层事件类型定义。
属性 | |
---|---|
kInetEvent_DNSResolveComplete
|
DNS 名称解析完成事件。 |
kInetEvent_RawDataReceived
|
通过 InetLayer 原始端点接收数据的事件。 |
kInetEvent_TCPConnectComplete
|
TCP 连接完成事件。 |
kInetEvent_TCPConnectionReceived
|
TCP 连接接收事件。 |
kInetEvent_TCPDataReceived
|
通过 TCP 连接接收数据的事件。 |
kInetEvent_TCPDataSent
|
通过 TCP 连接传输数据的事件。 |
kInetEvent_TCPError
|
TCP 连接上的错误事件。 |
kInetEvent_TunDataReceived
|
通过 Weave 隧道接收数据的事件。 |
kInetEvent_UDPDataReceived
|
通过 UDP 接收数据的事件。 |
DNSOptions
DNSOptions
用于控制如何执行 IP 解析的选项。
属性 | |
---|---|
kDNSOption_AddrFamily_Any
|
按照域名服务器返回的顺序返回 IPv4 和/或 IPv6 地址。 |
kDNSOption_AddrFamily_IPv4Only
|
仅返回 IPv4 地址。 |
kDNSOption_AddrFamily_IPv4Preferred
|
返回 IPv4 和/或 IPv6 地址,首先列出 IPv4 地址。 |
kDNSOption_AddrFamily_IPv6Only
|
仅返回 IPv6 地址。 |
kDNSOption_AddrFamily_IPv6Preferred
|
返回 IPv4 和/或 IPv6 地址,首先列出 IPv6 地址。 |
kDNSOption_AddrFamily_Mask
|
DNSOptions 整数值中的位,表示所需地址系列。 |
kDNSOption_Flags_Mask
|
为标志预留的 DNSOptions 整数值中的位。 |
kDNSOption_ValidFlags
|
所有有效 DNSOption 标志的集合。 |
IPAddressType
IPAddressType
IP 地址系列。
IPAddressType
类型的值由 IPAddress::Type()
方法返回。它们表示使用地址所涉及的地址系列。
属性 | |
---|---|
kIPAddressType_Any
|
未指定的互联网地址(与协议版本无关) |
kIPAddressType_IPv4
|
互联网协议版本 4。 |
kIPAddressType_IPv6
|
互联网协议版本 6。 |
kIPAddressType_Unknown
|
未使用。 |
IPV6MulticastGroup
IPV6MulticastGroup
互联网协议多播组标识符。
IPV6MulticastGroup
类型的值用于调用 IPAddress::MakeIPv6Multicast()
方法。它们表示由 IETF 向 IANA 注册的区分群组标识符。
属性 | |
---|---|
kIPV6MulticastGroup_AllRouters
|
RFC 4291。 |
IPv6MulticastFlag
IPv6MulticastFlag
互联网协议 v6 多播标志。
IPv6MulticastFlag
类型的值用于调用 IPAddress::MakeIPv6Multicast()
方法。它们用于指示要创建的 IPv6 多播地址的类型。这些编号由 IETF 向 IANA 注册。
属性 | |
---|---|
kIPv6MulticastFlag_Prefix
|
多播地址是 (1) 基于网络前缀。 |
kIPv6MulticastFlag_Transient
|
多播地址是 (1) 临时地址(即动态分配地址),而不是 (0) 已知地址(即由 IANA 分配地址)。 |
IPv6MulticastScope
IPv6MulticastScope
互联网协议多播地址范围。
IPv6MulticastScope
类型的值用于调用 IPAddress::MakeIPv6Multicast()
方法。它们表示结果指定的多播组的可路由范围。这些编号由 IETF 向 IANA 注册。
属性 | |
---|---|
kIPv6MulticastScope_Admin
|
Realm-Local 范围。 |
kIPv6MulticastScope_Global
|
全局范围。 |
kIPv6MulticastScope_IPv4
|
Realm-local(“IPv4”)范围。 |
kIPv6MulticastScope_Interface
|
接口本地范围。 |
kIPv6MulticastScope_Link
|
链路本地范围。 |
kIPv6MulticastScope_Organization
|
组织本地范围。 |
kIPv6MulticastScope_Site
|
Realm-Local 范围。 |
类型定义符
InterfaceId
struct netif * InterfaceId
系统网络接口的指示器。
可移植性取决于从未见证过此别名。将来可能会将其替换为具体的不透明类。
请注意:术语“接口标识符”在所有相关 IETF 标准文档中,也通常指 IPv6 地址的较低 64 位,缩写为“IID”。在本文中,术语“接口指示器”是指该类型别名的值。
变量
sIOCTLSocket
int sIOCTLSocket = -1
函数
CheckMulticastGroupArgs
INET_ERROR CheckMulticastGroupArgs( InterfaceId aInterfaceId, const IPAddress & aAddress )
CloseIOCTLSocket
void CloseIOCTLSocket( void )
关闭 GetIOCTLSocket
创建的全局套接字。
如果让全局 IOCTL 套接字保持打开状态会注册为泄漏,则提供此函数。
注意:就 GetIOCTLSocket
而言,此函数并非线程安全。
FormatInetLayerError
bool FormatInetLayerError( char *buf, uint16_t bufSize, int32_t err )
给定 Inet 层错误,会返回一个人类可读、以 NULL 结尾的 C 字符串,用于描述错误。
详细信息 | |||||||
---|---|---|---|---|---|---|---|
参数 |
|
||||||
返回值 |
如果说明字符串已写入提供的缓冲区,则为 true。
|
||||||
返回值 |
false 如果提供的错误不是 Inet 层错误。
|
GetIOCTLSocket
int GetIOCTLSocket( void )
返回可用于调用某些网络 IOCTL 的全局通用套接字。
此函数在所有平台上都是线程安全的。
GetInterfaceName
NL_DLL_EXPORT INET_ERROR GetInterfaceName( InterfaceId intfId, char *nameBuf, size_t nameBufSize )
获取网络接口的名称。
Writes the name of the network interface as \c NUL terminated text string at \c nameBuf. The name of the unspecified network interface is the empty string.
详细信息 | |||||||
---|---|---|---|---|---|---|---|
参数 |
|
||||||
返回值 |
|
INET_IsInetEvent
bool INET_IsInetEvent( Weave::System::EventType aType )
检查 System::EventType 是否为有效的 Inet 图层事件类型。
详细信息 | |||
---|---|---|---|
参数 |
|
||
返回值 |
如果它在枚举范围内,则为 true;否则为 false。
|
InterfaceNameToId
NL_DLL_EXPORT INET_ERROR InterfaceNameToId( const char *intfName, InterfaceId & intfId )
在网络接口列表中搜索指示的名称。
On LwIP, this function must be called with the LwIP stack lock acquired. The \c intfId parameter is not updated unless the value returned is \c INET_NO_ERROR. It should be initialized with \c INET_NULL_INTERFACEID before calling this function.
详细信息 | |||||||
---|---|---|---|---|---|---|---|
参数 |
|
||||||
返回值 |
|
LwIPBindInterface
INET_ERROR LwIPBindInterface( struct raw_pcb *aRaw, InterfaceId intfId )
LwIPBindInterface
INET_ERROR LwIPBindInterface( struct udp_pcb *aUDP, InterfaceId intfId )
NetmaskToPrefixLength
uint8_t NetmaskToPrefixLength( const uint8_t *netmask, uint16_t netmaskLen )
根据可变长度的网络掩码计算前缀长度。
ParseHostAndPort
INET_ERROR ParseHostAndPort( const char *aString, uint16_t aStringLen, const char *& aHost, uint16_t & aHostLen, uint16_t & aPort )
解析一个可人工读取的字符串,该字符串包含主机或 IP 地址和可选端口号(用“:”分隔),并支持以下格式:
: : - [
]:
详细信息 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||||
返回值 |
INET_ERROR_INVALID_HOST_NAME:要解析的输入长度为零或格式有误。
|
||||||||||
返回值 |
INET_ERROR_HOST_NAME_TOO_LONG 如果主机名超过 253 个字符。
|
||||||||||
返回值 |
INET_NO_ERROR,表示成功时。
|
ParseHostPortAndInterface
INET_ERROR ParseHostPortAndInterface( const char *aString, uint16_t aStringLen, const char *& aHost, uint16_t & aHostLen, uint16_t & aPort, const char *& aInterface, uint16_t & aInterfaceLen )
解析一个人类可读的字符串,其中包含主机或 IP 地址、可选端口号(用“:”分隔)和可选接口名称(由“'”分隔),并支持以下格式:
% : : % % : : % % - [
]: - [
]: %
详细信息 | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||||||||
返回值 |
INET_ERROR_INVALID_HOST_NAME:要解析的输入长度为零或格式有误。
|
||||||||||||||
返回值 |
INET_ERROR_HOST_NAME_TOO_LONG 如果主机名超过 253 个字符。
|
||||||||||||||
返回值 |
INET_NO_ERROR,表示成功时。
|
RegisterInetLayerErrorFormatter
void RegisterInetLayerErrorFormatter( void )
为 Inet 图层错误注册文本错误格式设置工具。
SocketsIPv4JoinLeaveMulticastGroup
INET_ERROR SocketsIPv4JoinLeaveMulticastGroup( int aSocket, InterfaceId aInterfaceId, const IPAddress & aAddress, int aCommand )
SocketsIPv6JoinLeaveMulticastGroup
INET_ERROR SocketsIPv6JoinLeaveMulticastGroup( int aSocket, InterfaceId aInterfaceId, const IPAddress & aAddress, int aCommand )
SocketsSetMulticastLoopback
INET_ERROR SocketsSetMulticastLoopback( int aSocket, bool aLoopback, int aProtocol, int aOption )
SocketsSetMulticastLoopback
INET_ERROR SocketsSetMulticastLoopback( int aSocket, IPVersion aIPVersion, bool aLoopback )