執行個體
這個模組內含控管 OpenThread 執行個體的函式。
摘要
Typedefs |
|
---|---|
otChangedFlags
|
typedefuint32_t
代表位元欄位,指出已變更的特定狀態/設定。 |
otInstance
|
typedefstruct otInstance
代表 OpenThread 執行個體結構。 |
otStateChangedCallback)(otChangedFlags aFlags, void *aContext)
|
typedefvoid(*
系統會呼叫指標,通知 OpenThread 內的特定設定或狀態變更。 |
函式 |
|
---|---|
otGetRadioVersionString(otInstance *aInstance)
|
const char *
取得 OpenThread 無線電版本字串。
|
otGetVersionString(void)
|
const char *
取得 OpenThread 版本字串。
|
otInstanceErasePersistentInfo(otInstance *aInstance)
|
清除儲存在非揮發記憶體中的所有 OpenThread 永久資訊 (網路設定)。
|
otInstanceFactoryReset(otInstance *aInstance)
|
void
刪除儲存在非揮發記憶體中的所有設定,然後觸發平台重設程序。
|
otInstanceFinalize(otInstance *aInstance)
|
void
停用 OpenThread 程式庫。
|
otInstanceGetId(otInstance *aInstance)
|
uint32_t
取得執行個體 ID。
|
otInstanceGetUptime(otInstance *aInstance)
|
uint64_t
傳回目前執行個體的運作時間 (以毫秒為單位)。
|
otInstanceGetUptimeAsString(otInstance *aInstance, char *aBuffer, uint16_t aSize)
|
void
以使用者可理解的字串傳回目前執行個體的運作時間。
|
otInstanceInit(void *aInstanceBuffer, size_t *aInstanceBufferSize)
|
初始化 OpenThread 程式庫。
|
otInstanceInitMultiple(uint8_t aIdx)
|
初始化 OpenThread 執行個體。
|
otInstanceInitSingle(void)
|
初始化 OpenThread 程式庫的靜態單一執行個體。
|
otInstanceIsInitialized(otInstance *aInstance)
|
bool
表示執行個體是否有效/已初始化。
|
otInstanceReset(otInstance *aInstance)
|
void
觸發平台重設程序。
|
otInstanceResetRadioStack(otInstance *aInstance)
|
void
重設 OpenThread 無線電堆疊的內部狀態。
|
otInstanceResetToBootloader(otInstance *aInstance)
|
觸發平台重設為系統啟動載入程式模式 (如支援)。
|
otRemoveStateChangeCallback(otInstance *aInstance, otStateChangedCallback aCallback, void *aContext)
|
void
移除回呼,指出 OpenThread 內特定設定或狀態變更的時間。
|
otSetStateChangedCallback(otInstance *aInstance, otStateChangedCallback aCallback, void *aContext)
|
註冊回呼,指出 OpenThread 內的特定設定或狀態變更的時間。
|
Typedefs
otChangedFlags
uint32_t otChangedFlags
代表位元欄位,指出已變更的特定狀態/設定。
查看「OT_CHANGED_*
」定義。
otStateChangedCallback
void(* otStateChangedCallback)(otChangedFlags aFlags, void *aContext)
系統會呼叫指標,通知 OpenThread 內的特定設定或狀態變更。
詳細說明 | |||||
---|---|---|---|---|---|
參數 |
|
函式
otGetRadioVersionString
const char * otGetRadioVersionString( otInstance *aInstance )
取得 OpenThread 無線電版本字串。
詳細說明 | |||
---|---|---|---|
參數 |
|
||
傳回 |
指向 OpenThread 無線電版本的指標。
|
otGetVersionString
const char * otGetVersionString( void )
取得 OpenThread 版本字串。
詳細說明 | |
---|---|
傳回 |
指向 OpenThread 版本的指標。
|
otInstanceErasePersistentInfo
otError otInstanceErasePersistentInfo( otInstance *aInstance )
清除儲存在非揮發記憶體中的所有 OpenThread 永久資訊 (網路設定)。
裝置必須處於 disabled
狀態/角色,才能清除資料。
詳細說明 | |||||
---|---|---|---|---|---|
參數 |
|
||||
傳回值 |
|
otInstanceFactoryReset
void otInstanceFactoryReset( otInstance *aInstance )
刪除儲存在非揮發記憶體中的所有設定,然後觸發平台重設程序。
詳細說明 | |||
---|---|---|---|
參數 |
|
otInstanceFinalize
void otInstanceFinalize( otInstance *aInstance )
停用 OpenThread 程式庫。
當 OpenThread 不再使用時,呼叫此函式。
詳細說明 | |||
---|---|---|---|
參數 |
|
otInstanceGetId
uint32_t otInstanceGetId( otInstance *aInstance )
取得執行個體 ID。
建構執行個體時,執行個體 ID 會設為隨機值,且其值在初始化後不會變更。
詳細說明 | |
---|---|
傳回 |
執行個體 ID。
|
otInstanceGetUptime
uint64_t otInstanceGetUptime( otInstance *aInstance )
傳回目前執行個體的運作時間 (以毫秒為單位)。
必須啟用 OPENTHREAD_CONFIG_UPTIME_ENABLE
。
自 OpenThread 執行個體初始化以來,運作時間 (以毫秒為單位)。
詳細說明 | |||
---|---|---|---|
參數 |
|
||
傳回 |
運作時間 (毫秒)。
|
otInstanceGetUptimeAsString
void otInstanceGetUptimeAsString( otInstance *aInstance, char *aBuffer, uint16_t aSize )
以使用者可理解的字串傳回目前執行個體的運作時間。
必須啟用 OPENTHREAD_CONFIG_UPTIME_ENABLE
。
字串採用「
如果產生的字串不符合 aBuffer
(在其 aSize
字元之內) 的大小,系統將截斷字串,但輸出的字串一律會是空值。
詳細說明 | |||||||
---|---|---|---|---|---|---|---|
參數 |
|
otInstanceInit
otInstance * otInstanceInit( void *aInstanceBuffer, size_t *aInstanceBufferSize )
初始化 OpenThread 程式庫。
初始化 OpenThread,並準備其以供後續的 OpenThread API 呼叫使用。必須先呼叫此函式,才能呼叫 OpenThread。
提供,而且只能在啟用多個 OpenThread 執行個體時使用。
詳細說明 | |||||
---|---|---|---|---|---|
參數 |
|
||||
傳回 |
指向新 OpenThread 執行個體的指標。
|
otInstanceFinalize
otInstanceInitMultiple
otInstance * otInstanceInitMultiple( uint8_t aIdx )
初始化 OpenThread 執行個體。
此函式會初始化 OpenThread,並為後續的 OpenThread API 呼叫做好準備。必須先呼叫此函式,才能呼叫 OpenThread。這個方法會使用靜態緩衝區初始化 OpenThread 執行個體。
此函式可供使用,僅適用於啟用多個 OpenThread 靜態執行個體時才能使用 (OPENTHREAD_CONFIG_MULTIPLE_STATIC_INSTANCE_ENABLE
)
詳細說明 | |||
---|---|---|---|
參數 |
|
||
傳回 |
指向新 OpenThread 執行個體的指標。
|
otInstanceInitSingle
otInstance * otInstanceInitSingle( void )
初始化 OpenThread 程式庫的靜態單一執行個體。
初始化 OpenThread,並準備其以供後續的 OpenThread API 呼叫使用。必須先呼叫此函式,才能呼叫 OpenThread。
提供,只能在停用多個 OpenThread 執行個體的支援時使用。
詳細說明 | |
---|---|
傳回 |
單一 OpenThread 執行個體的指標。
|
otInstanceIsInitialized
bool otInstanceIsInitialized( otInstance *aInstance )
表示執行個體是否有效/已初始化。
如果執行個體是使用 otInstanceInitSingle()
(單一例項) 或 otInstanceInit()
(多執行個體情況) 取得並初始化,系統會將該執行個體視為有效。對 otInstanceFinalize()
的後續呼叫會導致系統將執行個體視為尚未初始化。
詳細說明 | |||
---|---|---|---|
參數 |
|
||
傳回 |
如果指定的執行個體有效/已初始化,則為 TRUE,否則傳回 FALSE。
|
otInstanceReset
void otInstanceReset( otInstance *aInstance )
觸發平台重設程序。
重設程序可確保所有 OpenThread 狀態/資訊 (儲存在揮發性記憶體中) 皆已清除。請注意,otPlatformReset
不會清除非揮發性記憶體中儲存的任何持續狀態/資訊。
詳細說明 | |||
---|---|---|---|
參數 |
|
otInstanceResetRadioStack
void otInstanceResetRadioStack( otInstance *aInstance )
重設 OpenThread 無線電堆疊的內部狀態。
系統會保留回呼和設定。
這個 API 僅適用於無線電版本 (OPENTHREAD_RADIO = 1
)。
詳細說明 | |||
---|---|---|---|
參數 |
|
otInstanceResetToBootloader
otError otInstanceResetToBootloader( otInstance *aInstance )
觸發平台重設為系統啟動載入程式模式 (如支援)。
需要 OPENTHREAD_CONFIG_PLATFORM_BOOTLOADER_MODE_ENABLE
。
詳細說明 | |||||||
---|---|---|---|---|---|---|---|
參數 |
|
||||||
傳回值 |
|
otRemoveStateChangeCallback
void otRemoveStateChangeCallback( otInstance *aInstance, otStateChangedCallback aCallback, void *aContext )
移除回呼,指出 OpenThread 內特定設定或狀態變更的時間。
詳細說明 | |||||||
---|---|---|---|---|---|---|---|
參數 |
|
otSetStateChangedCallback
otError otSetStateChangedCallback( otInstance *aInstance, otStateChangedCallback aCallback, void *aContext )
註冊回呼,指出 OpenThread 內的特定設定或狀態變更的時間。
詳細說明 | |||||||
---|---|---|---|---|---|---|---|
參數 |
|
||||||
傳回值 |
|
巨集
OT_CHANGED_ACTIVE_DATASET
OT_CHANGED_ACTIVE_DATASET (1U << 28)
有效作業資料集已變更。
OT_CHANGED_CHANNEL_MANAGER_NEW_CHANNEL
OT_CHANGED_CHANNEL_MANAGER_NEW_CHANNEL (1U << 21)
頻道管理員新增的待處理討論串頻道已變更。
OT_CHANGED_COMMISSIONER_STATE
OT_CHANGED_COMMISSIONER_STATE (1U << 23)
調試者狀態已變更。
OT_CHANGED_IP6_ADDRESS_ADDED
OT_CHANGED_IP6_ADDRESS_ADDED (1U << 0)
已新增 IPv6 位址。
OT_CHANGED_IP6_ADDRESS_REMOVED
OT_CHANGED_IP6_ADDRESS_REMOVED (1U << 1)
已移除 IPv6 位址。
OT_CHANGED_IP6_MULTICAST_SUBSCRIBED
OT_CHANGED_IP6_MULTICAST_SUBSCRIBED (1U << 12)
已訂閱 IPv6 多點傳播位址。
OT_CHANGED_IP6_MULTICAST_UNSUBSCRIBED
OT_CHANGED_IP6_MULTICAST_UNSUBSCRIBED (1U << 13)
已取消訂閱 IPv6 多點傳送位址。
OT_CHANGED_JOINER_STATE
OT_CHANGED_JOINER_STATE (1U << 27)
彙整者狀態已變更。
OT_CHANGED_NAT64_TRANSLATOR_STATE
OT_CHANGED_NAT64_TRANSLATOR_STATE (1U << 30)
NAT64 譯者的狀態已變更。
OT_CHANGED_NETWORK_KEY
OT_CHANGED_NETWORK_KEY (1U << 18)
網路金鑰已變更。
OT_CHANGED_PARENT_LINK_QUALITY
OT_CHANGED_PARENT_LINK_QUALITY (1U << 31)
上層連結品質已變更。
OT_CHANGED_PENDING_DATASET
OT_CHANGED_PENDING_DATASET (1U << 29)
已變更待處理作業的資料集。
OT_CHANGED_PSKC
OT_CHANGED_PSKC (1U << 19)
PSKc 已變更。
OT_CHANGED_SECURITY_POLICY
OT_CHANGED_SECURITY_POLICY (1U << 20)
安全性政策已變更。
OT_CHANGED_SUPPORTED_CHANNEL_MASK
OT_CHANGED_SUPPORTED_CHANNEL_MASK (1U << 22)
支援的頻道遮罩已變更。
OT_CHANGED_THREAD_BACKBONE_ROUTER_LOCAL
OT_CHANGED_THREAD_BACKBONE_ROUTER_LOCAL (1U << 26)
已變更本機骨幹路由器設定。
OT_CHANGED_THREAD_BACKBONE_ROUTER_STATE
OT_CHANGED_THREAD_BACKBONE_ROUTER_STATE (1U << 25)
骨幹路由器狀態已變更。
OT_CHANGED_THREAD_CHANNEL
OT_CHANGED_THREAD_CHANNEL (1U << 14)
Thread 網路頻道已變更。
OT_CHANGED_THREAD_CHILD_ADDED
OT_CHANGED_THREAD_CHILD_ADDED (1U << 10)
已新增孩童。
OT_CHANGED_THREAD_CHILD_REMOVED
OT_CHANGED_THREAD_CHILD_REMOVED (1U << 11)
已移除孩童。
OT_CHANGED_THREAD_EXT_PANID
OT_CHANGED_THREAD_EXT_PANID (1U << 17)
執行緒網路擴充 PAN ID 已變更。
OT_CHANGED_THREAD_KEY_SEQUENCE_COUNTER
OT_CHANGED_THREAD_KEY_SEQUENCE_COUNTER (1U << 8)
執行緒索引鍵順序已變更。
OT_CHANGED_THREAD_LL_ADDR
OT_CHANGED_THREAD_LL_ADDR (1U << 3)
連結-本機位址已變更。
OT_CHANGED_THREAD_ML_ADDR
OT_CHANGED_THREAD_ML_ADDR (1U << 4)
網格本機位址已變更。
OT_CHANGED_THREAD_NETDATA
OT_CHANGED_THREAD_NETDATA (1U << 9)
執行緒網路資料已變更。
OT_CHANGED_THREAD_NETIF_STATE
OT_CHANGED_THREAD_NETIF_STATE (1U << 24)
執行緒網路介面狀態已變更。
OT_CHANGED_THREAD_NETWORK_NAME
OT_CHANGED_THREAD_NETWORK_NAME (1U << 16)
執行緒網路名稱已變更。
OT_CHANGED_THREAD_PANID
OT_CHANGED_THREAD_PANID (1U << 15)
執行緒網路永久帳號 ID 已變更。
OT_CHANGED_THREAD_PARTITION_ID
OT_CHANGED_THREAD_PARTITION_ID (1U << 7)
分區 ID 已變更。
OT_CHANGED_THREAD_RLOC_ADDED
OT_CHANGED_THREAD_RLOC_ADDED (1U << 5)
已新增 RLOC。
OT_CHANGED_THREAD_RLOC_REMOVED
OT_CHANGED_THREAD_RLOC_REMOVED (1U << 6)
已移除 RLOC。
OT_CHANGED_THREAD_ROLE
OT_CHANGED_THREAD_ROLE (1U << 2)
角色 (已停用、卸離、子項、路由器、領導者) 已變更。
OT_UPTIME_STRING_SIZE
OT_UPTIME_STRING_SIZE 24
表示運作時間字串的建議大小。
資源
OpenThread API 參考資料主題源自原始碼,請前往 GitHub 取得。如要瞭解詳情或對說明文件做出貢獻,請參閱資源。