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

网络共同处理器

此模块包含用于控制线程堆栈的执行的函数。

总结

类型定义符

otNcpDelegateAllowPeekPoke)(uint32_t aAddress, uint16_t aCount) typedef
bool(*
定义委托(函数指针)类型以控制滑出/戳操作的行为。
otNcpHandlerJoinLegacyNode)(const otExtAddress *aExtAddress) typedef
void(*
定义用于发起联接过程的处理程序(函数指针)类型。
otNcpHandlerSetLegacyUlaPrefix)(const uint8_t *aUlaPrefix) typedef
void(*
定义用于设置旧版 ULA 前缀的处理程序(函数指针)类型。
otNcpHandlerStartLegacy)(void) typedef
void(*
定义用于启动旧版网络的处理程序(函数指针)类型。
otNcpHandlerStopLegacy)(void) typedef
void(*
定义用于停止旧版网络的处理程序(函数指针)类型。
otNcpHdlcSendCallback)(const uint8_t *aBuf, uint16_t aBufLength) typedef
int(*
可调用此函数指针发送 HDLC 编码的 NCP 数据。
otNcpLegacyHandlers typedef
定义包含所有旧版处理程序(函数指针)的结构体。

函数

otNcpHandleDidReceiveNewLegacyUlaPrefix(const uint8_t *aUlaPrefix)
void
旧版堆栈会调用此回调,以通知旧版 ULA 前缀已更改。
otNcpHandleLegacyNodeDidJoin(const otExtAddress *aExtAddr)
void
旧版堆栈会调用此回调,以通知新的旧版节点确实已加入网络。
otNcpHdlcInit(otInstance *aInstance, otNcpHdlcSendCallback aSendCallback)
void
基于 HDLC 框架初始化 NCP。
otNcpHdlcReceive(const uint8_t *aBuf, uint16_t aBufLength)
void
在收到 HDLC 编码的 NCP 数据后,系统会调用此函数。
otNcpHdlcSendDone(void)
void
此函数在 NCP 发送完成后调用。
otNcpPlatLogv(otLogLevel aLogLevel, otLogRegion aLogRegion, const char *aFormat, va_list aArgs)
void
使用 otNcpStreamWrite 写入 OpenThread 日志。
otNcpRegisterLegacyHandlers(const otNcpLegacyHandlers *aHandlers)
void
此方法会向 NCP 注册一组旧版处理程序。
otNcpRegisterPeekPokeDelagates(otNcpDelegateAllowPeekPoke aAllowPeekDelegate, otNcpDelegateAllowPeekPoke aAllowPokeDelegate)
void
此方法用于向 NCP 模块注册窥探/调用委托函数。
otNcpSpiInit(otInstance *aInstance)
void
根据 SPI 框架初始化 NCP。
otNcpStreamWrite(int aStreamId, const uint8_t *aDataPtr, int aDataLen)
通过特定数据流将数据发送到主机。

结构体

otNcpLegacyHandlers

定义包含所有旧版处理程序(函数指针)的结构体。

类型定义符

otNcpDelegateAllowPeekPoke

bool(* otNcpDelegateAllowPeekPoke)(uint32_t aAddress, uint16_t aCount)

定义委托(函数指针)类型以控制滑出/戳操作的行为。

调用此委托函数来确定允许对特定内存区域执行 pock 操作还是 poke 操作。如果 NCP 支持跳转/Pock 命令,则启用该服务。

详情
参数
[in] aAddress
内存区域的起始地址。
[in] aCount
要窥探或戳的字节数。
返回值
为 True 时,可允许出现给定内存区域,但其他情况下为 False。

otNcpHandlerJoinLegacyNode

void(* otNcpHandlerJoinLegacyNode)(const otExtAddress *aExtAddress)

定义用于发起联接过程的处理程序(函数指针)类型。

调用用于向任何或特定节点启动旧版加入过程。

详情
参数
[in] aExtAddress
指向要联接的节点的扩展地址的指针;如果要联接任何相邻节点,则返回 NULL。

otNcpHandlerSetLegacyUlaPrefix

void(* otNcpHandlerSetLegacyUlaPrefix)(const uint8_t *aUlaPrefix)

定义用于设置旧版 ULA 前缀的处理程序(函数指针)类型。

调用以设置旧版 ULA 前缀。

详情
参数
[in] aUlaPrefix
指向包含旧版 ULA 前缀的缓冲区的指针。

otNcpHandlerStartLegacy

void(* otNcpHandlerStartLegacy)(void)

定义用于启动旧版网络的处理程序(函数指针)类型。

调用以启动旧版网络。

otNcpHandlerStopLegacy

void(* otNcpHandlerStopLegacy)(void)

定义用于停止旧版网络的处理程序(函数指针)类型。

调用以停止旧版网络。

otNcpHdlcSendCallback

int(* otNcpHdlcSendCallback)(const uint8_t *aBuf, uint16_t aBufLength)

可调用此函数指针发送 HDLC 编码的 NCP 数据。

详情
参数
[in] aBuf
指向具有输出的缓冲区的指针。
[in] aBufLength
存储在缓冲区中的输出数据的长度。
返回值
回调处理的字节数。

otNcpLegacyHandlers 类中的方法

struct otNcpLegacyHandlers otNcpLegacyHandlers

定义包含所有旧版处理程序(函数指针)的结构体。

函数

otNcpHandleDidReceiveNewLegacyUlaPrefix

void otNcpHandleDidReceiveNewLegacyUlaPrefix(
  const uint8_t *aUlaPrefix
)

旧版堆栈会调用此回调,以通知旧版 ULA 前缀已更改。

详情
参数
[in] aUlaPrefix
指向接收的 ULA 前缀的指针。

otNcpHandleLegacyNodeDidJoin

void otNcpHandleLegacyNodeDidJoin(
  const otExtAddress *aExtAddr
)

旧版堆栈会调用此回调,以通知新的旧版节点确实已加入网络。

详情
参数
[in] aExtAddr
指向联接节点的扩展地址的指针。

OTNcpHdlcInit

void otNcpHdlcInit(
  otInstance *aInstance,
  otNcpHdlcSendCallback aSendCallback
)

基于 HDLC 框架初始化 NCP。

详情
参数
[in] aInstance
OpenThread 实例结构。
[in] aSendCallback
用于发送 NCP 数据的函数指针。

OTNcpHdlcReceive

void otNcpHdlcReceive(
  const uint8_t *aBuf,
  uint16_t aBufLength
)

在收到 HDLC 编码的 NCP 数据后,系统会调用此函数。

详情
参数
[in] aBuf
指向缓冲区的指针。
[in] aBufLength
缓冲区中存储的数据的长度。

oNcpHdlcSendDone

void otNcpHdlcSendDone(
  void
)

此函数在 NCP 发送完成后调用。

otNcpPlatLogv

void otNcpPlatLogv(
  otLogLevel aLogLevel,
  otLogRegion aLogRegion,
  const char *aFormat,
  va_list aArgs
)

使用 otNcpStreamWrite 写入 OpenThread 日志。

详情
参数
[in] aLogLevel
日志级别。
[in] aLogRegion
日志区域。
[in] aFormat
指向格式字符串的指针。
[in] aArgs
va_list。

otNcpRegisterLegacyHandlers

void otNcpRegisterLegacyHandlers(
  const otNcpLegacyHandlers *aHandlers
)

此方法会向 NCP 注册一组旧版处理程序。

结构 aHandlers 提供的处理程序集由 NCP 代码用于启动/停止旧式网络。aHandlers 可以为 NULL,以停用对 NCP 的旧版支持。给定处理程序结构体中的各个处理程序也可以是 NULL。

详情
参数
[in] aHandlers
指向处理程序结构体的指针。

otNcpRegisterPeekPokeDelagates

void otNcpRegisterPeekPokeDelagates(
  otNcpDelegateAllowPeekPoke aAllowPeekDelegate,
  otNcpDelegateAllowPeekPoke aAllowPokeDelegate
)

此方法用于向 NCP 模块注册窥探/调用委托函数。

NCP 模块会调用委托函数,以确定是否允许对特定内存区域执行 poke 或 sike 操作。如果委托指针设置为 NULL,则允许对任何地址执行快速查看/写入操作。

详情
参数
[in] aAllowPeekDelegate
为滑出操作委托了函数指针。
[in] aAllowPokeDelegate
用于 poke 操作的函数指针。

2017 年 5 月 10 日

void otNcpSpiInit(
  otInstance *aInstance
)

根据 SPI 框架初始化 NCP。

详情
参数
[in] aInstance
OpenThread 实例结构。

otNcpStreamWrite

otError otNcpStreamWrite(
  int aStreamId,
  const uint8_t *aDataPtr,
  int aDataLen
)

通过特定数据流将数据发送到主机。

此函数尝试使用指定的 aStreamId 将给定数据发送到主机。这对于报告错误消息、实现调试/诊断控制台以及可能其他类型的数据流非常有用。

写入完全或被拒绝。系统不会尝试部分写入。

详情
参数
[in] aStreamId
要写入的数据流的数字标识符。如果设为 '0',将默认为调试流。
[in] aDataPtr
指向要在数据流上发送的数据的指针。如果 aDataLen 为非零值,则此参数不得为 NULL。
[in] aDataLen
要发送的 aDataPtr 的数据量(字节数)。
返回值
OT_ERROR_NONE
数据已加入队列,以便传送到主机。
OT_ERROR_BUSY
资源不足,无法完成此请求。这通常是暂时情况。
OT_ERROR_INVALID_ARGS
指定的 aStreamId 无效。

OT_NCP_LEGACY_ULA_PREFIX_LENGTH

 OT_NCP_LEGACY_ULA_PREFIX_LENGTH 8

旧版 ULA 大小(以字节为单位)

资源

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