Google 致力于为黑人社区推动种族平等。查看具体行动

ICMPv6

此模块包含控制 ICMPv6 通信的函数。

摘要

枚举

otIcmp6Code{
  OT_ICMP6_CODE_DST_UNREACH_NO_ROUTE = 0,
  OT_ICMP6_CODE_FRAGM_REAS_TIME_EX = 1
}
枚举
ICMPv6 消息代码。
otIcmp6EchoMode{
  OT_ICMP6_ECHO_HANDLER_DISABLED = 0,
  OT_ICMP6_ECHO_HANDLER_UNICAST_ONLY = 1,
  OT_ICMP6_ECHO_HANDLER_MULTICAST_ONLY = 2,
  OT_ICMP6_ECHO_HANDLER_ALL = 3
}
枚举
ICMPv6 Echo 回复模式。
otIcmp6Type{
  OT_ICMP6_TYPE_DST_UNREACH = 1,
  OT_ICMP6_TYPE_PACKET_TO_BIG = 2,
  OT_ICMP6_TYPE_TIME_EXCEEDED = 3,
  OT_ICMP6_TYPE_PARAMETER_PROBLEM = 4,
  OT_ICMP6_TYPE_ECHO_REQUEST = 128,
  OT_ICMP6_TYPE_ECHO_REPLY = 129,
  OT_ICMP6_TYPE_ROUTER_SOLICIT = 133,
  OT_ICMP6_TYPE_ROUTER_ADVERT = 134
}
枚举
ICMPv6 消息类型。

类型定义符

otIcmp6Code typedef
ICMPv6 消息代码。
otIcmp6EchoMode typedef
ICMPv6 Echo 回复模式。
otIcmp6Handler typedef
此结构实现了 ICMPv6 消息处理程序。
otIcmp6Header typedef
struct otIcmp6Header
此类型表示 ICMPv6 标头。
otIcmp6ReceiveCallback)(void *aContext, otMessage *aMessage, const otMessageInfo *aMessageInfo, const otIcmp6Header *aIcmpHeader) typedef
void(*
此回调允许 OpenThread 通知应用收到的 ICMPv6 消息。
otIcmp6Type typedef
ICMPv6 消息类型。

变量

OT_TOOL_PACKED_END

函数

otIcmp6GetEchoMode(otInstance *aInstance)
此函数用于指明是否启用了 ICMPv6 Echo 处理。
otIcmp6RegisterHandler(otInstance *aInstance, otIcmp6Handler *aHandler)
此函数注册处理程序以提供收到的 ICMPv6 消息。
otIcmp6SendEchoRequest(otInstance *aInstance, otMessage *aMessage, const otMessageInfo *aMessageInfo, uint16_t aIdentifier)
此函数通过线程接口发送 ICMPv6 Echo 请求。
otIcmp6SetEchoMode(otInstance *aInstance, otIcmp6EchoMode aMode)
void
此函数设置是否启用 ICMPv6 Echo 处理。

结构体

otIcmp6Handler

此结构实现了 ICMPv6 消息处理程序。

otIcmp6Header

此结构表示 ICMPv6 标头。

联合

otIcmp6Header:OT_TOOL_PACKED_FIELD

枚举

otIcmp6Code

 otIcmp6Code

ICMPv6 消息代码。

属性
OT_ICMP6_CODE_DST_UNREACH_NO_ROUTE

无法到达目的地,无路线。

OT_ICMP6_CODE_FRAGM_REAS_TIME_EX

已超出 Fragment 重组时间。

otIcmp6EchoMode

 otIcmp6EchoMode

ICMPv6 Echo 回复模式。

属性
OT_ICMP6_ECHO_HANDLER_ALL

对单播和多播请求启用了 ICMPv6 Echo 处理。

OT_ICMP6_ECHO_HANDLER_DISABLED

ICMPv6 Echo 处理已停用。

OT_ICMP6_ECHO_HANDLER_MULTICAST_ONLY

只对多播请求启用 ICMPv6 Echo 处理。

OT_ICMP6_ECHO_HANDLER_UNICAST_ONLY

只针对单播请求启用 ICMPv6 Echo 处理。

otIcmp6Type

 otIcmp6Type

ICMPv6 消息类型。

属性
OT_ICMP6_TYPE_DST_UNREACH

目的地无法访问。

OT_ICMP6_TYPE_ECHO_REPLY

回音回复。

OT_ICMP6_TYPE_ECHO_REQUEST

回声请求。

OT_ICMP6_TYPE_PACKET_TO_BIG

数据包大。

OT_ICMP6_TYPE_PARAMETER_PROBLEM

参数问题。

OT_ICMP6_TYPE_ROUTER_ADVERT

路由器通告。

OT_ICMP6_TYPE_ROUTER_SOLICIT

路由器请求。

OT_ICMP6_TYPE_TIME_EXCEEDED

已超出时间。

类型定义符

otIcmp6Code

enum otIcmp6Code otIcmp6Code

ICMPv6 消息代码。

otIcmp6EchoMode

enum otIcmp6EchoMode otIcmp6EchoMode

ICMPv6 Echo 回复模式。

otIcmp6Handler

struct otIcmp6Handler otIcmp6Handler

此结构实现了 ICMPv6 消息处理程序。

otIcmp6Header

struct otIcmp6Header otIcmp6Header

此类型表示 ICMPv6 标头。

otIcmp6ReceiveCallback

void(* otIcmp6ReceiveCallback)(void *aContext, otMessage *aMessage, const otMessageInfo *aMessageInfo, const otIcmp6Header *aIcmpHeader)

此回调允许 OpenThread 通知应用收到的 ICMPv6 消息。

详情
参数
[in] aContext
指向任意上下文信息的指针。
[in] aMessage
指向收到的消息的指针。
[in] aMessageInfo
指向与 aMessage 关联的消息信息的指针。
[in] aIcmpHeader
指向已接收 ICMPv6 标头的指针。

otIcmp6Type

enum otIcmp6Type otIcmp6Type

ICMPv6 消息类型。

变量

OT_TOOL_PACKED_END

OT_TOOL_PACKED_BEGIN struct otIcmp6Header OT_TOOL_PACKED_END

函数

otIcmp6GetEchoMode

otIcmp6EchoMode otIcmp6GetEchoMode(
  otInstance *aInstance
)

此函数用于指明是否启用了 ICMPv6 Echo 处理。

详情
参数
[in] aInstance
指向 OpenThread 实例的指针。
返回值
OT_ICMP6_ECHO_HANDLER_DISABLED
ICMPv6 Echo 处理已停用。
OT_ICMP6_ECHO_HANDLER_UNICAST_ONLY
只针对单播请求启用了 ICMPv6 Echo 处理
OT_ICMP6_ECHO_HANDLER_MULTICAST_ONLY
只针对多播请求启用 ICMPv6 Echo 处理
OT_ICMP6_ECHO_HANDLER_ALL
针对单播和多播请求启用了 ICMPv6 Echo 处理

otIcmp6RegisterHandler

otError otIcmp6RegisterHandler(
  otInstance *aInstance,
  otIcmp6Handler *aHandler
)

此函数注册处理程序以提供收到的 ICMPv6 消息。

详情
参数
[in] aInstance
指向 OpenThread 实例的指针。
[in] aHandler
指向处理程序的指针,其中包含在收到 ICMPv6 消息时调用的回调。

otIcmp6SendEchoRequest

otError otIcmp6SendEchoRequest(
  otInstance *aInstance,
  otMessage *aMessage,
  const otMessageInfo *aMessageInfo,
  uint16_t aIdentifier
)

此函数通过线程接口发送 ICMPv6 Echo 请求。

详情
参数
[in] aInstance
指向 OpenThread 实例的指针。
[in] aMessage
指向包含 ICMPv6 载荷的消息缓冲区的指针。
[in] aMessageInfo
对与 aMessage 相关联的消息信息的引用。
[in] aIdentifier
有助于将 Echo 回复与此 Echo 请求匹配的标识符。可以为零。

otIcmp6SetEchoMode

void otIcmp6SetEchoMode(
  otInstance *aInstance,
  otIcmp6EchoMode aMode
)

此函数设置是否启用 ICMPv6 Echo 处理。

详情
参数
[in] aInstance
指向 OpenThread 实例的指针。
[in] aMode
ICMPv6 Echo 处理模式。

OT_ICMP6_HEADER_DATA_SIZE

 OT_ICMP6_HEADER_DATA_SIZE 4

ICMPv6 标头的消息专用数据的大小。

资源

OpenThread API 参考主题源自源代码,可在 GitHub 上找到。 如需了解详情或为我们的文档做贡献,请参阅资源