透過集合功能整理內容 你可以依據偏好儲存及分類內容。

執行個體

這個模組包含用來控制 OpenThread 執行個體的函式。

摘要

列舉

anonymous enum{
  OT_CHANGED_IP6_ADDRESS_ADDED = 1 << 0,
  OT_CHANGED_IP6_ADDRESS_REMOVED = 1 << 1,
  OT_CHANGED_THREAD_ROLE = 1 << 2,
  OT_CHANGED_THREAD_LL_ADDR = 1 << 3,
  OT_CHANGED_THREAD_ML_ADDR = 1 << 4,
  OT_CHANGED_THREAD_RLOC_ADDED = 1 << 5,
  OT_CHANGED_THREAD_RLOC_REMOVED = 1 << 6,
  OT_CHANGED_THREAD_PARTITION_ID = 1 << 7,
  OT_CHANGED_THREAD_KEY_SEQUENCE_COUNTER = 1 << 8,
  OT_CHANGED_THREAD_NETDATA = 1 << 9,
  OT_CHANGED_THREAD_CHILD_ADDED = 1 << 10,
  OT_CHANGED_THREAD_CHILD_REMOVED = 1 << 11,
  OT_CHANGED_IP6_MULTICAST_SUBSCRIBED = 1 << 12,
  OT_CHANGED_IP6_MULTICAST_UNSUBSCRIBED = 1 << 13,
  OT_CHANGED_THREAD_CHANNEL = 1 << 14,
  OT_CHANGED_THREAD_PANID = 1 << 15,
  OT_CHANGED_THREAD_NETWORK_NAME = 1 << 16,
  OT_CHANGED_THREAD_EXT_PANID = 1 << 17,
  OT_CHANGED_NETWORK_KEY = 1 << 18,
  OT_CHANGED_PSKC = 1 << 19,
  OT_CHANGED_SECURITY_POLICY = 1 << 20,
  OT_CHANGED_CHANNEL_MANAGER_NEW_CHANNEL = 1 << 21,
  OT_CHANGED_SUPPORTED_CHANNEL_MASK = 1 << 22,
  OT_CHANGED_COMMISSIONER_STATE = 1 << 23,
  OT_CHANGED_THREAD_NETIF_STATE = 1 << 24,
  OT_CHANGED_THREAD_BACKBONE_ROUTER_STATE = 1 << 25,
  OT_CHANGED_THREAD_BACKBONE_ROUTER_LOCAL = 1 << 26,
  OT_CHANGED_JOINER_STATE = 1 << 27,
  OT_CHANGED_ACTIVE_DATASET = 1 << 28,
  OT_CHANGED_PENDING_DATASET = 1 << 29,
  OT_CHANGED_NAT64_TRANSLATOR_STATE = 1 << 30
}
列舉
這個列舉會定義做為 otStateChangedCallback 的一部分傳送的標記。

Typedefs

otChangedFlags typedef
uint32_t
此類型代表一個位元欄位,代表已變更的特定狀態/設定。
otInstance typedef
struct otInstance
此結構代表 OpenThread 執行個體結構。
otStateChangedCallback)(otChangedFlags aFlags, void *aContext) typedef
void(*
這個函式指標會呼叫,以通知 OpenThread 中的某些設定或狀態變更。

Functions

otGetRadioVersionString(otInstance *aInstance)
const char *
這個函式會取得 OpenThread 無線電版本字串。
otGetVersionString(void)
const char *
這個函式會取得 OpenThread 版本字串。
otInstanceErasePersistentInfo(otInstance *aInstance)
這個函式會清除儲存在非易變記憶體上的 OpenThread 永久資訊 (網路設定)。
otInstanceFactoryReset(otInstance *aInstance)
void
刪除儲存在非易變記憶體上的所有設定,然後觸發平台重設。
otInstanceFinalize(otInstance *aInstance)
void
這個函式會停用 OpenThread 程式庫。
otInstanceGetUptime(otInstance *aInstance)
uint64_t
這個函式會傳回目前執行個體的運作時間 (以毫秒為單位)。
otInstanceGetUptimeAsString(otInstance *aInstance, char *aBuffer, uint16_t aSize)
void
此函式會以使用者可理解的字串傳回目前的執行個體運作時間。
otInstanceInit(void *aInstanceBuffer, size_t *aInstanceBufferSize)
這個函式會初始化 OpenThread 程式庫。
otInstanceInitSingle(void)
這個函式會初始化 OpenThread 程式庫的靜態單一執行個體。
otInstanceIsInitialized(otInstance *aInstance)
bool
這個函式會指出執行個體是否有效/已初始化。
otInstanceReset(otInstance *aInstance)
void
這個方法會觸發平台重設。
otInstanceResetRadioStack(otInstance *aInstance)
void
這個方法會重設 OpenThread 無線電堆疊的內部狀態。
otRemoveStateChangeCallback(otInstance *aInstance, otStateChangedCallback aCallback, void *aContext)
void
此函式會移除回呼,以指出在 OpenThread 中某些設定或狀態何時變更。
otSetStateChangedCallback(otInstance *aInstance, otStateChangedCallback aCallback, void *aContext)
這個函式會註冊回呼,以指出 OpenThread 中的特定設定或狀態何時變更。

列舉

匿名列舉

 anonymous enum

這個列舉會定義做為 otStateChangedCallback 的一部分傳送的標記。

屬性
OT_CHANGED_ACTIVE_DATASET

運作中的作業資料集已變更。

OT_CHANGED_CHANNEL_MANAGER_NEW_CHANNEL

管道管理員新增待處理的 Thread 頻道。

OT_CHANGED_COMMISSIONER_STATE

職員狀態已變更。

OT_CHANGED_IP6_ADDRESS_ADDED

已新增 IPv6 位址。

OT_CHANGED_IP6_ADDRESS_REMOVED

已移除 IPv6 位址。

OT_CHANGED_IP6_MULTICAST_SUBSCRIBED

已訂閱 IPv6 多播位址。

OT_CHANGED_IP6_MULTICAST_UNSUBSCRIBED

已取消訂閱 IPv6 多播地址。

OT_CHANGED_JOINER_STATE

已變更彙整器狀態。

OT_CHANGED_NAT64_TRANSLATOR_STATE

NAT64 翻譯工具的狀態已變更。

OT_CHANGED_NETWORK_KEY

網路金鑰已變更。

OT_CHANGED_PENDING_DATASET

待處理作業資料集已變更。

OT_CHANGED_PSKC

PSKc 已變更。

OT_CHANGED_SECURITY_POLICY

安全性政策已變更。

OT_CHANGED_SUPPORTED_CHANNEL_MASK

支援的頻道遮罩已變更。

OT_CHANGED_THREAD_BACKBONE_ROUTER_LOCAL

本機中樞路由器設定已變更。

OT_CHANGED_THREAD_BACKBONE_ROUTER_STATE

後台路由器狀態已變更。

OT_CHANGED_THREAD_CHANNEL

執行緒網路管道已變更。

OT_CHANGED_THREAD_CHILD_ADDED

已新增孩童。

OT_CHANGED_THREAD_CHILD_REMOVED

已移除孩童。

OT_CHANGED_THREAD_EXT_PANID

執行緒網路擴充 PAN ID 已變更。

OT_CHANGED_THREAD_KEY_SEQUENCE_COUNTER

執行緒金鑰序列已變更。

OT_CHANGED_THREAD_LL_ADDR

連結本機位址已變更。

OT_CHANGED_THREAD_ML_ADDR

網格本機位址已變更。

OT_CHANGED_THREAD_NETDATA

執行緒網路資料已變更。

OT_CHANGED_THREAD_NETIF_STATE

執行緒網路介面狀態已變更。

OT_CHANGED_THREAD_NETWORK_NAME

執行緒網路名稱已變更。

OT_CHANGED_THREAD_PANID

執行緒網路 PAN ID 已變更。

OT_CHANGED_THREAD_PARTITION_ID

已變更分區 ID。

OT_CHANGED_THREAD_RLOC_ADDED

已新增 RLOC。

OT_CHANGED_THREAD_RLOC_REMOVED

RLOC 已移除。

OT_CHANGED_THREAD_ROLE

已變更角色 (已停用、卸離、下層、路由器、主管),

Typedefs

otChangedFlags

uint32_t otChangedFlags

此類型代表一個位元欄位,代表已變更的特定狀態/設定。

查看「OT_CHANGED_*」的定義。

OTInstance

struct otInstance otInstance

此結構代表 OpenThread 執行個體結構。

otStateChangedCallback

void(* otStateChangedCallback)(otChangedFlags aFlags, void *aContext)

這個函式指標會呼叫,以通知 OpenThread 中的某些設定或狀態變更。

詳細資料
參數
[in] aFlags
這個位元欄位表示已變更的特定狀態。查看「OT_CHANGED_*」的定義。
[in] aContext
應用程式特定內容的指標。

Functions

otGetRadioVersionString

const char * otGetRadioVersionString(
  otInstance *aInstance
)

這個函式會取得 OpenThread 無線電版本字串。

詳細資料
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
傳回
指向 OpenThread 無線電版本的指標。

otGetVersionString

const char * otGetVersionString(
  void
)

這個函式會取得 OpenThread 版本字串。

詳細資料
傳回
指向 OpenThread 版本的指標。

otInstance 清除永久資訊

otError otInstanceErasePersistentInfo(
  otInstance *aInstance
)

這個函式會清除儲存在非易變記憶體上的 OpenThread 永久資訊 (網路設定)。

裝置必須處於 disabled 狀態/角色,才可清除資料。

詳細資料
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
回傳值
OT_ERROR_NONE
已成功清除所有永久性資訊/狀態。
OT_ERROR_INVALID_STATE
裝置未處於 disabled 狀態/角色。

otInstanceFactoryReset

void otInstanceFactoryReset(
  otInstance *aInstance
)

刪除儲存在非易變記憶體上的所有設定,然後觸發平台重設。

詳細資料
參數
[in] aInstance
指向 OpenThread 執行個體的指標。

otInstanceFinalize

void otInstanceFinalize(
  otInstance *aInstance
)

這個函式會停用 OpenThread 程式庫。

當 OpenThread 不再使用時,呼叫此函式。

詳細資料
參數
[in] aInstance
指向 OpenThread 執行個體的指標。

otInstanceGetUptime

uint64_t otInstanceGetUptime(
  otInstance *aInstance
)

這個函式會傳回目前執行個體的運作時間 (以毫秒為單位)。

您必須啟用 OPENTHREAD_CONFIG_UPTIME_ENABLE,才能使用這個函式。

執行階段是以 OpenThread 執行個體初始化後的毫秒數提供。

詳細資料
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
傳回
運作時間 (毫秒數)。

otInstanceGetUptimeAs 字串

void otInstanceGetUptimeAsString(
  otInstance *aInstance,
  char *aBuffer,
  uint16_t aSize
)

此函式會以使用者可理解的字串傳回目前的執行個體運作時間。

您必須啟用 OPENTHREAD_CONFIG_UPTIME_ENABLE,才能使用這個函式。

字串的格式為「::.」,表示小時、分鐘、秒和毫秒 (如果運作時間短於一天) 或「

d.::."(如果超過一天)。

如果產生的字串不適合在 aBuffer 中 (在其 aSize 字元內),系統會截斷字串,但輸出的字串一律會是空值的結尾。

詳細資料
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
[out] aBuffer
指向字串的字元陣列指標。
[in] aSize
aBuffer 的大小 (以位元組為單位)。建議使用 OT_UPTIME_STRING_SIZE

OTInstanceInit

otInstance * otInstanceInit(
  void *aInstanceBuffer,
  size_t *aInstanceBufferSize
)

這個函式會初始化 OpenThread 程式庫。

這個函式會初始化 OpenThread,並為後續的 OpenThread API 呼叫做好準備。您必須在呼叫 OpenThread 之前先呼叫此函式。

這項功能僅適用於已啟用多個 OpenThread 執行個體的功能。

詳細資料
參數
[in] aInstanceBuffer
OpenThread 的緩衝區,用來分配 otInstance 結構。
[in,out] aInstanceBufferSize
輸入內容時,aInstanceBuffer 的大小。輸出時,如果 otInstance 的空間不足,則 otInstance 需要的位元組數。
傳回
指向新的 OpenThread 執行個體的指標。
另請參閱:
otInstanceFinalize

OTInstanceInitSingle

otInstance * otInstanceInitSingle(
  void
)

這個函式會初始化 OpenThread 程式庫的靜態單一執行個體。

這個函式會初始化 OpenThread,並為後續的 OpenThread API 呼叫做好準備。您必須在呼叫 OpenThread 之前先呼叫此函式。

這項功能僅適用於多個 OpenThread 執行個體支援的功能。

詳細資料
傳回
指向單一 OpenThread 執行個體的指標。

otInstanceIsInitialized

bool otInstanceIsInitialized(
  otInstance *aInstance
)

這個函式會指出執行個體是否有效/已初始化。

如果使用 otInstanceInitSingle() (在單一執行個體案例中) 或 otInstanceInit() (在多個執行個體案例中) 取得並初始化執行個體時,系統就會將該執行個體視為有效。對 otInstanceFinalize() 的後續呼叫會導致系統將執行個體視為未初始化。

詳細資料
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
傳回
如果指定的執行個體有效/初始化,則為 TRUE,否則傳回 FALSE。

otInstanceReset

void otInstanceReset(
  otInstance *aInstance
)

這個方法會觸發平台重設。

重設程序可確保清除所有 OpenThread 狀態/資訊 (儲存在易變記憶體中)。請注意,otPlatformReset 不會清除儲存在非易變記憶體中的任何永久狀態/資訊。

詳細資料
參數
[in] aInstance
指向 OpenThread 執行個體的指標。

otInstanceResetRadioStack

void otInstanceResetRadioStack(
  otInstance *aInstance
)

這個方法會重設 OpenThread 無線電堆疊的內部狀態。

系統會保留回呼和設定。

這個 API 僅適用於無線電版本 (OPENTHREAD_RADIO = 1)。

詳細資料
參數
[in] aInstance
指向 OpenThread 執行個體的指標。

otRemoveStateChangeCallback

void otRemoveStateChangeCallback(
  otInstance *aInstance,
  otStateChangedCallback aCallback,
  void *aContext
)

此函式會移除回呼,以指出在 OpenThread 中某些設定或狀態何時變更。

詳細資料
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
[in] aCallback
指向特定設定或狀態變更所呼叫的函式指標。
[in] aContext
應用程式特定內容的指標。

otSetStateChangedCallback

otError otSetStateChangedCallback(
  otInstance *aInstance,
  otStateChangedCallback aCallback,
  void *aContext
)

這個函式會註冊回呼,以指出 OpenThread 中的特定設定或狀態何時變更。

詳細資料
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
[in] aCallback
指向特定設定或狀態變更所呼叫的函式指標。
[in] aContext
應用程式特定內容的指標。
回傳值
OT_ERROR_NONE
已將回呼新增至回呼清單。
OT_ERROR_ALREADY
回呼已註冊。
OT_ERROR_NO_BUFS
發生資源限制,因此無法新增回呼。

巨集

OT_UPTIME_STRING_SIZE

 OT_UPTIME_STRING_SIZE 24

運作時間字串表示的建議大小。

資源

OpenThread API 參考資料主題來自原始碼,可在 GitHub 取得。如需詳細資訊或為說明文件貢獻一己之力,請參閱資源