作業資料集
包含 Operational Dataset API 的函式。
摘要
針對 FTD 版本,Dataset Updater 提供可管理資料集更新的函式。
就 FTD 和 MTD 版本而言,Operational Dataset API 提供的函式可用來管理有效和待處理資料集,以及資料集 TLV。
Typedefs |
|
---|---|
otChannelMask
|
typedefuint32_t
代表頻道遮罩。 |
otDatasetMgmtSetCallback)(otError aResult, void *aContext)
|
typedefvoid(*
收到 MGMT_SET 要求的回應或逾時時,系統就會呼叫指標。 |
otDatasetUpdaterCallback)(otError aError, void *aContext)
|
typedefvoid(*
資料集更新要求完成,報告資料集更新要求的成功或失敗狀態時,系統會呼叫此回呼函式指標。 |
otExtendedPanId
|
typedefstruct otExtendedPanId
代表擴充的永久帳號 ID。 |
otMeshLocalPrefix
|
typedef 代表網格本機前置字串。 |
otMeshcopTlvType
|
typedefenum otMeshcopTlvType
代表網格 TLV 類型。 |
otNetworkKey
|
typedefstruct otNetworkKey
代表 Thread 網路金鑰。 |
otNetworkKeyRef
|
typedef 這個資料類型代表 KeyRef 到 NetworkKey。 |
otNetworkName
|
typedefstruct otNetworkName
代表網路名稱。 |
otOperationalDataset
|
typedefstruct otOperationalDataset
代表有效或待處理的作業資料集。 |
otOperationalDatasetComponents
|
typedef 代表「有效」或「待處理作業」資料集內不同的元件。 |
otOperationalDatasetTlvs
|
typedefstruct otOperationalDatasetTlvs
代表有效或待處理的作業資料集。 |
otPskc
|
typedefstruct otPskc
代表 PSKc。 |
otPskcRef
|
typedef 這個資料類型代表 PSKc 的 KeyRef。 |
otSecurityPolicy
|
typedefstruct otSecurityPolicy
代表安全性政策。 |
otTimestamp
|
typedefstruct otTimestamp
代表執行緒資料集時間戳記元件。 |
Variables |
|
---|---|
OT_TOOL_PACKED_END
|
OT_TOOL_PACKED_BEGIN struct otNetworkKey
|
函式 |
|
---|---|
otDatasetConvertToTlvs(const otOperationalDataset *aDataset, otOperationalDatasetTlvs *aDatasetTlvs)
|
將指定作業資料集轉換為
otOperationalDatasetTlvs 。 |
otDatasetCreateNewNetwork(otInstance *aInstance, otOperationalDataset *aDataset)
|
僅適用於 FTD:建立新網路時要使用的新作業資料集。
|
otDatasetGeneratePskc(const char *aPassPhrase, const otNetworkName *aNetworkName, const otExtendedPanId *aExtPanId, otPskc *aPskc)
|
從特定的通關密語、網路名稱和延伸永久帳號 ID 產生 PSKc。
|
otDatasetGetActive(otInstance *aInstance, otOperationalDataset *aDataset)
|
取得執行中的作業資料集。
|
otDatasetGetActiveTlvs(otInstance *aInstance, otOperationalDatasetTlvs *aDataset)
|
取得執行中的作業資料集。
|
otDatasetGetDelayTimerMinimal(otInstance *aInstance)
|
uint32_t
針對 FTD,時間最短的延遲計時器。
|
otDatasetGetPending(otInstance *aInstance, otOperationalDataset *aDataset)
|
取得待處理的作業資料集。
|
otDatasetGetPendingTlvs(otInstance *aInstance, otOperationalDatasetTlvs *aDataset)
|
取得待處理的作業資料集。
|
otDatasetIsCommissioned(otInstance *aInstance)
|
bool
指出有效作業資料集中是否存在有效的網路。
|
otDatasetParseTlvs(const otOperationalDatasetTlvs *aDatasetTlvs, otOperationalDataset *aDataset)
|
剖析指定
otOperationalDatasetTlvs 中的作業資料集。 |
otDatasetSendMgmtActiveGet(otInstance *aInstance, const otOperationalDatasetComponents *aDatasetComponents, const uint8_t *aTlvTypes, uint8_t aLength, const otIp6Address *aAddress)
|
傳送 MGMT_ACTIVE_GET。
|
otDatasetSendMgmtActiveSet(otInstance *aInstance, const otOperationalDataset *aDataset, const uint8_t *aTlvs, uint8_t aLength, otDatasetMgmtSetCallback aCallback, void *aContext)
|
傳送 MGMT_ACTIVE_SET。
|
otDatasetSendMgmtPendingGet(otInstance *aInstance, const otOperationalDatasetComponents *aDatasetComponents, const uint8_t *aTlvTypes, uint8_t aLength, const otIp6Address *aAddress)
|
傳送 MGMT_PENDING_GET。
|
otDatasetSendMgmtPendingSet(otInstance *aInstance, const otOperationalDataset *aDataset, const uint8_t *aTlvs, uint8_t aLength, otDatasetMgmtSetCallback aCallback, void *aContext)
|
傳送 MGMT_PENDING_SET。
|
otDatasetSetActive(otInstance *aInstance, const otOperationalDataset *aDataset)
|
設定「Active Operational」資料集。
|
otDatasetSetActiveTlvs(otInstance *aInstance, const otOperationalDatasetTlvs *aDataset)
|
設定「Active Operational」資料集。
|
otDatasetSetDelayTimerMinimal(otInstance *aInstance, uint32_t aDelayTimerMinimal)
|
針對 FTD,請設定最短延遲計時器。
|
otDatasetSetPending(otInstance *aInstance, const otOperationalDataset *aDataset)
|
設定待處理的作業資料集。
|
otDatasetSetPendingTlvs(otInstance *aInstance, const otOperationalDatasetTlvs *aDataset)
|
設定待處理的作業資料集。
|
otDatasetUpdateTlvs(const otOperationalDataset *aDataset, otOperationalDatasetTlvs *aDatasetTlvs)
|
更新指定作業資料集。
|
otDatasetUpdaterCancelUpdate(otInstance *aInstance)
|
void
取消進行中的作業資料集更新要求 (如有)。
|
otDatasetUpdaterIsUpdateOngoing(otInstance *aInstance)
|
bool
表示是否有進行中的作業資料集更新要求。
|
otDatasetUpdaterRequestUpdate(otInstance *aInstance, const otOperationalDataset *aDataset, otDatasetUpdaterCallback aCallback, void *aContext)
|
要求更新作業資料集。
|
otNetworkNameFromString(otNetworkName *aNetworkName, const char *aNameString)
|
從已終止的指定空值 C 字串設定
otNetworkName 例項。 |
結構 |
|
---|---|
otExtendedPanId |
代表擴充的永久帳號 ID。 |
otNetworkKey |
代表 Thread 網路金鑰。 |
otNetworkName |
代表網路名稱。 |
otOperationalDataset |
代表有效或待處理的作業資料集。 |
otOperationalDatasetComponents |
代表「有效」或「待處理作業」資料集內不同的元件。 |
otOperationalDatasetTlvs |
代表有效或待處理的作業資料集。 |
otPskc |
代表 PSKc。 |
otSecurityPolicy |
代表安全性政策。 |
otTimestamp |
代表執行緒資料集時間戳記元件。 |
列舉
otMeshcopTlvType
otMeshcopTlvType
代表網格 TLV 類型。
Typedefs
otChannelMask
uint32_t otChannelMask
代表頻道遮罩。
otDatasetMgmtSetCallback
void(* otDatasetMgmtSetCallback)(otError aResult, void *aContext)
收到 MGMT_SET 要求的回應或逾時時,系統就會呼叫指標。
詳細說明 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
參數 |
|
||||||||||
傳回值 |
|
otDatasetUpdaterCallback
void(* otDatasetUpdaterCallback)(otError aError, void *aContext)
資料集更新要求完成,報告資料集更新要求的成功或失敗狀態時,系統會呼叫此回呼函式指標。
啟用 OPENTHREAD_CONFIG_DATASET_UPDATER_ENABLE
後即可使用,
詳細說明 | |||||
---|---|---|---|---|---|
參數 |
|
otNetworkName
struct otNetworkName otNetworkName
代表網路名稱。
otNetworkName
是已終止為空值的 C 字串 (即m8
字元陣列「必須」的結尾為空值字元 \0
)。
otOperationalDataset
struct otOperationalDataset otOperationalDataset
代表有效或待處理的作業資料集。
資料集中的元件為選用項目。mComponents
結構會指定資料集內含的元件。
otOperationalDatasetComponents
struct otOperationalDatasetComponents otOperationalDatasetComponents
代表「有效」或「待處理作業」資料集內不同的元件。
otOperationalDatasetTlvs
struct otOperationalDatasetTlvs otOperationalDatasetTlvs
代表有效或待處理的作業資料集。
作業資料集是以執行緒指定的 TLV 編碼。
Variables
OT_TOOL_PACKED_END
OT_TOOL_PACKED_BEGIN struct otNetworkKey OT_TOOL_PACKED_END
函式
otDatasetConvertToTlvs
otError otDatasetConvertToTlvs( const otOperationalDataset *aDataset, otOperationalDatasetTlvs *aDatasetTlvs )
將指定作業資料集轉換為 otOperationalDatasetTlvs
。
詳細說明 | |||||
---|---|---|---|---|---|
參數 |
|
||||
傳回值 |
|
otDatasetCreateNewNetwork
otError otDatasetCreateNewNetwork( otInstance *aInstance, otOperationalDataset *aDataset )
僅適用於 FTD:建立新網路時要使用的新作業資料集。
詳細說明 | |||||
---|---|---|---|---|---|
參數 |
|
||||
傳回值 |
|
otDatasetGeneratePskc
otError otDatasetGeneratePskc( const char *aPassPhrase, const otNetworkName *aNetworkName, const otExtendedPanId *aExtPanId, otPskc *aPskc )
從特定的通關密語、網路名稱和延伸永久帳號 ID 產生 PSKc。
PSKc 用於建立調試委員會工作階段。
詳細說明 | |||||||||
---|---|---|---|---|---|---|---|---|---|
參數 |
|
||||||||
傳回值 |
|
otDatasetGetActive
otError otDatasetGetActive( otInstance *aInstance, otOperationalDataset *aDataset )
取得執行中的作業資料集。
詳細說明 | |||||
---|---|---|---|---|---|
參數 |
|
||||
傳回值 |
|
otDatasetGetActiveTlvs
otError otDatasetGetActiveTlvs( otInstance *aInstance, otOperationalDatasetTlvs *aDataset )
取得執行中的作業資料集。
詳細說明 | |||||
---|---|---|---|---|---|
參數 |
|
||||
傳回值 |
|
otDatasetGetDelayTimerMinimal
uint32_t otDatasetGetDelayTimerMinimal( otInstance *aInstance )
針對 FTD,時間最短的延遲計時器。
詳細說明 | |||
---|---|---|---|
參數 |
|
||
傳回值 |
|
otDatasetGetPending
otError otDatasetGetPending( otInstance *aInstance, otOperationalDataset *aDataset )
取得待處理的作業資料集。
詳細說明 | |||||
---|---|---|---|---|---|
參數 |
|
||||
傳回值 |
|
otDatasetGetPendingTlvs
otError otDatasetGetPendingTlvs( otInstance *aInstance, otOperationalDatasetTlvs *aDataset )
取得待處理的作業資料集。
詳細說明 | |||||
---|---|---|---|---|---|
參數 |
|
||||
傳回值 |
|
otDatasetIsCommissioned
bool otDatasetIsCommissioned( otInstance *aInstance )
指出有效作業資料集中是否存在有效的網路。
詳細說明 | |||
---|---|---|---|
參數 |
|
||
傳回 |
如果有效作業資料集中有有效的網路,則為 TRUE,否則傳回 FALSE。
|
otDatasetParseTlvs
otError otDatasetParseTlvs( const otOperationalDatasetTlvs *aDatasetTlvs, otOperationalDataset *aDataset )
剖析指定 otOperationalDatasetTlvs
中的作業資料集。
詳細說明 | |||||
---|---|---|---|---|---|
參數 |
|
||||
傳回值 |
|
otDatasetSendMgmtActiveGet
otError otDatasetSendMgmtActiveGet( otInstance *aInstance, const otOperationalDatasetComponents *aDatasetComponents, const uint8_t *aTlvTypes, uint8_t aLength, const otIp6Address *aAddress )
傳送 MGMT_ACTIVE_GET。
詳細說明 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
參數 |
|
||||||||||
傳回值 |
|
otDatasetSendMgmtActiveSet
otError otDatasetSendMgmtActiveSet( otInstance *aInstance, const otOperationalDataset *aDataset, const uint8_t *aTlvs, uint8_t aLength, otDatasetMgmtSetCallback aCallback, void *aContext )
傳送 MGMT_ACTIVE_SET。
詳細說明 | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
參數 |
|
||||||||||||
傳回值 |
|
otDatasetSendMgmtPendingGet
otError otDatasetSendMgmtPendingGet( otInstance *aInstance, const otOperationalDatasetComponents *aDatasetComponents, const uint8_t *aTlvTypes, uint8_t aLength, const otIp6Address *aAddress )
傳送 MGMT_PENDING_GET。
詳細說明 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
參數 |
|
||||||||||
傳回值 |
|
otDatasetSendMgmtPendingSet
otError otDatasetSendMgmtPendingSet( otInstance *aInstance, const otOperationalDataset *aDataset, const uint8_t *aTlvs, uint8_t aLength, otDatasetMgmtSetCallback aCallback, void *aContext )
傳送 MGMT_PENDING_SET。
詳細說明 | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
參數 |
|
||||||||||||
傳回值 |
|
otDatasetSetActive
otError otDatasetSetActive( otInstance *aInstance, const otOperationalDataset *aDataset )
設定「Active Operational」資料集。
如果資料集不包含有效時間戳記,則只會完成部分資料集。
如果裝置已啟用 Thread 且只有部分完整的有效資料集,就會嘗試使用資料集中的任何現有資訊,將 Thread 網路附加至現有 Thread 網路。只需要 Thread 網路金鑰即可連接至網路。
如果資料集內不包含聲道,裝置會傳送多管道的 MLE 公告訊息,以尋找其他管道的鄰點。
如果裝置成功連接至 Thread 網路,裝置就會從父項擷取完整的有效資料集。請注意,支援路由器的裝置必須等到具備完整的有效資料集後,才能轉換至路由器或主要角色。
詳細說明 | |||||||
---|---|---|---|---|---|---|---|
參數 |
|
||||||
傳回值 |
|
otDatasetSetActiveTlvs
otError otDatasetSetActiveTlvs( otInstance *aInstance, const otOperationalDatasetTlvs *aDataset )
設定「Active Operational」資料集。
如果資料集不包含有效時間戳記,則只會完成部分資料集。
如果裝置已啟用 Thread 且只有部分完整的有效資料集,就會嘗試使用資料集中的任何現有資訊,將 Thread 網路附加至現有 Thread 網路。只需要 Thread 網路金鑰即可連接至網路。
如果資料集內不包含聲道,裝置會傳送多管道的 MLE 公告訊息,以尋找其他管道的鄰點。
如果裝置成功連接至 Thread 網路,裝置就會從父項擷取完整的有效資料集。請注意,支援路由器的裝置必須等到具備完整的有效資料集後,才能轉換至路由器或主要角色。
詳細說明 | |||||||
---|---|---|---|---|---|---|---|
參數 |
|
||||||
傳回值 |
|
otDatasetSetDelayTimerMinimal
otError otDatasetSetDelayTimerMinimal( otInstance *aInstance, uint32_t aDelayTimerMinimal )
針對 FTD,請設定最短延遲計時器。
詳細說明 | |||||
---|---|---|---|---|---|
參數 |
|
||||
傳回值 |
|
otDatasetSetPending
otError otDatasetSetPending( otInstance *aInstance, const otOperationalDataset *aDataset )
設定待處理的作業資料集。
詳細說明 | |||||||
---|---|---|---|---|---|---|---|
參數 |
|
||||||
傳回值 |
|
otDatasetSetPendingTlvs
otError otDatasetSetPendingTlvs( otInstance *aInstance, const otOperationalDatasetTlvs *aDataset )
設定待處理的作業資料集。
詳細說明 | |||||||
---|---|---|---|---|---|---|---|
參數 |
|
||||||
傳回值 |
|
otDatasetUpdateTlvs
otError otDatasetUpdateTlvs( const otOperationalDataset *aDataset, otOperationalDatasetTlvs *aDatasetTlvs )
更新指定作業資料集。
aDataset
包含要更新的欄位及其新值。
詳細說明 | |||||||
---|---|---|---|---|---|---|---|
參數 |
|
||||||
傳回值 |
|
otDatasetUpdaterCancelUpdate
void otDatasetUpdaterCancelUpdate( otInstance *aInstance )
取消進行中的作業資料集更新要求 (如有)。
啟用 OPENTHREAD_CONFIG_DATASET_UPDATER_ENABLE
後即可使用,
詳細說明 | |||
---|---|---|---|
參數 |
|
otDatasetUpdaterIsUpdateOngoing
bool otDatasetUpdaterIsUpdateOngoing( otInstance *aInstance )
表示是否有進行中的作業資料集更新要求。
啟用 OPENTHREAD_CONFIG_DATASET_UPDATER_ENABLE
後即可使用,
詳細說明 | |||||
---|---|---|---|---|---|
參數 |
|
||||
傳回值 |
|
otDatasetUpdaterRequestUpdate
otError otDatasetUpdaterRequestUpdate( otInstance *aInstance, const otOperationalDataset *aDataset, otDatasetUpdaterCallback aCallback, void *aContext )
要求更新作業資料集。
啟用 OPENTHREAD_CONFIG_DATASET_UPDATER_ENABLE
後即可使用,
aDataset
應包含要更新的欄位及其新值。不得包含有效或待處理的時間戳記欄位。「Delay」欄位為選填欄位,如未提供預設值 (1000 毫秒),就會使用。
詳細說明 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
參數 |
|
||||||||||
傳回值 |
|
otNetworkNameFromString
otError otNetworkNameFromString( otNetworkName *aNetworkName, const char *aNameString )
從已終止的指定空值 C 字串設定 otNetworkName
例項。
aNameString
必須遵循 UTF-8 編碼,且網路名稱長度不得超過 OT_NETWORK_NAME_MAX_SIZE
。
詳細說明 | |||||
---|---|---|---|---|---|
參數 |
|
||||
傳回值 |
|
巨集
OT_CHANNEL_10_MASK
OT_CHANNEL_10_MASK (1 << 10)
頻道 10.
OT_CHANNEL_11_MASK
OT_CHANNEL_11_MASK (1 << 11)
頻道 11。
OT_CHANNEL_12_MASK
OT_CHANNEL_12_MASK (1 << 12)
管道 12。
OT_CHANNEL_13_MASK
OT_CHANNEL_13_MASK (1 << 13)
管道 13。
OT_CHANNEL_14_MASK
OT_CHANNEL_14_MASK (1 << 14)
頻道 14。
OT_CHANNEL_15_MASK
OT_CHANNEL_15_MASK (1 << 15)
頻道 15。
OT_CHANNEL_16_MASK
OT_CHANNEL_16_MASK (1 << 16)
頻道 16。
OT_CHANNEL_17_MASK
OT_CHANNEL_17_MASK (1 << 17)
頻道 17。
OT_CHANNEL_18_MASK
OT_CHANNEL_18_MASK (1 << 18)
頻道 18。
OT_CHANNEL_19_MASK
OT_CHANNEL_19_MASK (1 << 19)
頻道 19。
OT_CHANNEL_1_MASK
OT_CHANNEL_1_MASK (1 << 1)
管道 1.
OT_CHANNEL_20_MASK
OT_CHANNEL_20_MASK (1 << 20)
管道 20。
OT_CHANNEL_21_MASK
OT_CHANNEL_21_MASK (1 << 21)
管道 21。
OT_CHANNEL_22_MASK
OT_CHANNEL_22_MASK (1 << 22)
管道 22。
OT_CHANNEL_23_MASK
OT_CHANNEL_23_MASK (1 << 23)
管道 23。
OT_CHANNEL_24_MASK
OT_CHANNEL_24_MASK (1 << 24)
管道 24。
OT_CHANNEL_25_MASK
OT_CHANNEL_25_MASK (1 << 25)
管道 25。
OT_CHANNEL_26_MASK
OT_CHANNEL_26_MASK (1 << 26)
管道 26。
OT_CHANNEL_2_MASK
OT_CHANNEL_2_MASK (1 << 2)
管道 2.
OT_CHANNEL_3_MASK
OT_CHANNEL_3_MASK (1 << 3)
管道 3.
OT_CHANNEL_4_MASK
OT_CHANNEL_4_MASK (1 << 4)
管道 4.
OT_CHANNEL_5_MASK
OT_CHANNEL_5_MASK (1 << 5)
管道 5.
OT_CHANNEL_6_MASK
OT_CHANNEL_6_MASK (1 << 6)
管道 6.
OT_CHANNEL_7_MASK
OT_CHANNEL_7_MASK (1 << 7)
管道 7.
OT_CHANNEL_8_MASK
OT_CHANNEL_8_MASK (1 << 8)
頻道 8。
OT_CHANNEL_9_MASK
OT_CHANNEL_9_MASK (1 << 9)
頻道 9.
OT_EXT_PAN_ID_SIZE
OT_EXT_PAN_ID_SIZE 8
執行緒 PAN ID 的大小 (位元組)
OT_MESH_LOCAL_PREFIX_SIZE
OT_MESH_LOCAL_PREFIX_SIZE OT_IP6_PREFIX_SIZE
網格本機前置字串的大小 (位元組)
OT_NETWORK_KEY_SIZE
OT_NETWORK_KEY_SIZE 16
Thread 網路金鑰的大小 (位元組)
OT_NETWORK_NAME_MAX_SIZE
OT_NETWORK_NAME_MAX_SIZE 16
「Thread Network Name」欄位的大小上限 (位元組)
OT_OPERATIONAL_DATASET_MAX_LENGTH
OT_OPERATIONAL_DATASET_MAX_LENGTH 254
作業資料集的長度上限 (以位元組為單位)。
OT_PSKC_MAX_SIZE
OT_PSKC_MAX_SIZE 16
PSKc (位元組) 大小上限
資源
OpenThread API 參考資料主題源自原始碼,請前往 GitHub 取得。如要瞭解詳情或對說明文件做出貢獻,請參閱資源。