操作數據集
該模塊包括用於數據集更新程序的功能。
概要
啟用數據集更新程序功能(即OPENTHREAD_CONFIG_DATASET_UPDATER_ENABLE
設置為1)時,此模塊中的功能可用。此外,此功能僅在FTD構建上可用。
類型定義 | |
---|---|
otChannelMask | 類型定義uint32_t 此類型表示通道掩碼。 |
otDatasetUpdaterCallback )(otError aError, void *aContext) | 類型定義void(* 當數據集更新請求完成時,將報告此數據集更新請求的成功或失敗狀態,從而調用此回調函數指針。 |
otExtendedPanId | 類型定義struct otExtendedPanId 此結構表示擴展PAN ID。 |
otMasterKey | 類型定義struct otMasterKey 此結構表示線程主密鑰。 |
otMeshLocalPrefix | 類型定義 該結構表示網格局部前綴。 |
otMeshcopTlvType | 類型定義enum otMeshcopTlvType 此枚舉表示meshcop TLV類型。 |
otNetworkName | 類型定義struct otNetworkName 此結構表示網絡名稱。 |
otOperationalDataset | 類型定義struct otOperationalDataset 此結構表示活動或待處理的操作數據集。 |
otOperationalDatasetComponents | 類型定義 此結構表示“活動”或“待處理”操作數據集中不同組件的存在。 |
otOperationalDatasetTlvs | 類型定義struct otOperationalDatasetTlvs 此結構表示活動或待處理的操作數據集。 |
otPskc | 類型定義struct otPskc 該結構表示PSKc。 |
otSecurityPolicy | 類型定義struct otSecurityPolicy 此結構表示安全策略。 |
變數 | |
---|---|
OT_TOOL_PACKED_END | OT_TOOL_PACKED_BEGIN struct otMasterKey |
職能 | |
---|---|
otDatasetCreateNewNetwork ( otInstance *aInstance, otOperationalDataset *aDataset) | 此方法創建一個新的操作數據集,以在形成新網絡時使用。 |
otDatasetGeneratePskc (const char *aPassPhrase, const otNetworkName *aNetworkName, const otExtendedPanId *aExtPanId, otPskc *aPskc) | 此功能根據給定的密碼,網絡名稱和擴展的PAN ID生成PSKc。 |
otDatasetGetActive ( otInstance *aInstance, otOperationalDataset *aDataset) | 該函數獲取活動操作數據集。 |
otDatasetGetActiveTlvs ( otInstance *aInstance, otOperationalDatasetTlvs *aDataset) | 該函數獲取活動操作數據集。 |
otDatasetGetDelayTimerMinimal ( otInstance *aInstance) | uint32_t 獲得最少的延遲計時器。 |
otDatasetGetPending ( otInstance *aInstance, otOperationalDataset *aDataset) | 此函數獲取待處理的操作數據集。 |
otDatasetGetPendingTlvs ( otInstance *aInstance, otOperationalDatasetTlvs *aDataset) | 此函數獲取待處理的操作數據集。 |
otDatasetIsCommissioned ( otInstance *aInstance) | bool 此功能指示“活動操作數據集”中是否存在有效網絡。 |
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) | 該函數發送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) | 該函數發送MGMT_PENDING_SET。 |
otDatasetSetActive ( otInstance *aInstance, const otOperationalDataset *aDataset) | 此功能設置活動操作數據集。 |
otDatasetSetActiveTlvs ( otInstance *aInstance, const otOperationalDatasetTlvs *aDataset) | 此功能設置活動操作數據集。 |
otDatasetSetDelayTimerMinimal ( otInstance *aInstance, uint32_t aDelayTimerMinimal) | 設置最小延遲計時器。 |
otDatasetSetPending ( otInstance *aInstance, const otOperationalDataset *aDataset) | 此功能設置待處理的操作數據集。 |
otDatasetSetPendingTlvs ( otInstance *aInstance, const otOperationalDatasetTlvs *aDataset) | 此功能設置待處理的操作數據集。 |
otDatasetUpdaterCancelUpdate ( otInstance *aInstance) | void 此功能取消正在進行的(如果有的話)“操作數據集”更新請求。 |
otDatasetUpdaterIsUpdateOngoing ( otInstance *aInstance) | bool 此功能指示是否有正在進行的操作數據集更新請求。 |
otDatasetUpdaterRequestUpdate ( otInstance *aInstance, const otOperationalDataset *aDataset, otDatasetUpdaterCallback aCallback, void *aContext, uint32_t aReryWaitInterval) | 此功能請求更新操作數據集。 |
結構 | |
---|---|
otExtendedPanId | 此結構表示擴展PAN ID。 |
otMasterKey | 此結構表示線程主密鑰。 |
otNetworkName | 此結構表示網絡名稱。 |
otOperationalDataset | 此結構表示活動或待處理的操作數據集。 |
otOperationalDatasetComponents | 此結構表示“活動”或“待處理”操作數據集中不同組件的存在。 |
otOperationalDatasetTlvs | 此結構表示活動或待處理的操作數據集。 |
otPskc | 該結構表示PSKc。 |
otSecurityPolicy | 此結構表示安全策略。 |
枚舉
匿名枚舉
anonymous enum
otMeshcopTlvType
otMeshcopTlvType
此枚舉表示meshcop TLV類型。
類型定義
otChannelMask
uint32_t otChannelMask
此類型表示通道掩碼。
otDatasetUpdaterCallback
void(* otDatasetUpdaterCallback)(otError aError, void *aContext)
當數據集更新請求完成時,將報告此數據集更新請求的成功或失敗狀態,從而調用此回調函數指針。
細節 | |||||
---|---|---|---|---|---|
參量 |
|
otOperationalDataset
struct otOperationalDataset otOperationalDataset
此結構表示活動或待處理的操作數據集。
數據集中的組件是可選的。 mComponets
結構指定數據mComponets
存在哪些組件。
otOperationalDatasetComponents
struct otOperationalDatasetComponents otOperationalDatasetComponents
此結構表示“活動”或“待處理”操作數據集中不同組件的存在。
otOperationalDatasetTlvs
struct otOperationalDatasetTlvs otOperationalDatasetTlvs
此結構表示活動或待處理的操作數據集。
操作數據集是按線程指定的TLV編碼的。
變數
OT_TOOL_PACKED_END
OT_TOOL_PACKED_BEGIN struct otMasterKey OT_TOOL_PACKED_END
職能
otDatasetCreateNewNetwork
otError otDatasetCreateNewNetwork( otInstance *aInstance, otOperationalDataset *aDataset )
此方法創建一個新的操作數據集,以在形成新網絡時使用。
細節 | |||||
---|---|---|---|---|---|
參量 |
| ||||
返回值 |
|
otDatasetGeneratePskc
otError otDatasetGeneratePskc( const char *aPassPhrase, const otNetworkName *aNetworkName, const otExtendedPanId *aExtPanId, otPskc *aPskc )
此功能根據給定的密碼,網絡名稱和擴展的PAN ID生成PSKc。
PSKc用於建立專員會議。
細節 | |||||||||
---|---|---|---|---|---|---|---|---|---|
參量 |
| ||||||||
返回值 |
|
otDatasetGetActive
otError otDatasetGetActive( otInstance *aInstance, otOperationalDataset *aDataset )
該函數獲取活動操作數據集。
細節 | |||||
---|---|---|---|---|---|
參量 |
| ||||
返回值 |
|
otDatasetGetActiveTlvs
otError otDatasetGetActiveTlvs( otInstance *aInstance, otOperationalDatasetTlvs *aDataset )
該函數獲取活動操作數據集。
細節 | |||||
---|---|---|---|---|---|
參量 |
| ||||
返回值 |
|
otDatasetGetDelayTimerMinimal
uint32_t otDatasetGetDelayTimerMinimal( otInstance *aInstance )
獲得最少的延遲計時器。
細節 | |||
---|---|---|---|
參量 |
| ||
返回值 |
|
otDatasetGetPending
otError otDatasetGetPending( otInstance *aInstance, otOperationalDataset *aDataset )
此函數獲取待處理的操作數據集。
細節 | |||||
---|---|---|---|---|---|
參量 |
| ||||
返回值 |
|
otDatasetGetPendingTlvs
otError otDatasetGetPendingTlvs( otInstance *aInstance, otOperationalDatasetTlvs *aDataset )
此函數獲取待處理的操作數據集。
細節 | |||||
---|---|---|---|---|---|
參量 |
| ||||
返回值 |
|
otDatasetIsCommissioned
bool otDatasetIsCommissioned( otInstance *aInstance )
此功能指示“活動操作數據集”中是否存在有效網絡。
細節 | |||
---|---|---|---|
參量 |
| ||
退貨 | 如果有效操作數據集中存在有效網絡,則為TRUE,否則為FALSE。 |
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 )
該函數發送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 )
該函數發送MGMT_PENDING_SET。
細節 | |||||||||
---|---|---|---|---|---|---|---|---|---|
參量 |
| ||||||||
返回值 |
|
otDatasetSetActive
otError otDatasetSetActive( otInstance *aInstance, const otOperationalDataset *aDataset )
此功能設置活動操作數據集。
如果數據集不包括活動時間戳記,則該數據集僅部分完成。
如果在具有部分完整的活動數據集的設備上啟用了線程,則該設備將嘗試使用數據集中的任何現有信息連接到現有的線程網絡。僅需要線程主密鑰即可連接到網絡。
如果數據集中未包含頻道,則設備將通過不同的頻道發送MLE Announce消息,以查找其他頻道上的鄰居。
如果設備成功連接到線程網絡,則設備將從其父級檢索完整的活動數據集。請注意,具有路由器功能的設備只有擁有完整的活動數據集,才能轉換為路由器或領導者角色。
細節 | |||||||
---|---|---|---|---|---|---|---|
參量 |
| ||||||
返回值 |
|
otDatasetSetActiveTlvs
otError otDatasetSetActiveTlvs( otInstance *aInstance, const otOperationalDatasetTlvs *aDataset )
此功能設置活動操作數據集。
如果數據集不包括活動時間戳記,則該數據集僅部分完成。
如果在具有部分完整的活動數據集的設備上啟用了線程,則該設備將嘗試使用數據集中的任何現有信息連接到現有的線程網絡。僅需要線程主密鑰即可連接到網絡。
如果數據集中未包含頻道,則設備將通過不同的頻道發送MLE Announce消息,以查找其他頻道上的鄰居。
如果設備成功連接到線程網絡,則設備將從其父級檢索完整的活動數據集。請注意,具有路由器功能的設備只有擁有完整的活動數據集,才能轉換為路由器或領導者角色。
細節 | |||||||
---|---|---|---|---|---|---|---|
參量 |
| ||||||
返回值 |
|
otDatasetSetDelayTimerMinimal
otError otDatasetSetDelayTimerMinimal( otInstance *aInstance, uint32_t aDelayTimerMinimal )
設置最小延遲計時器。
細節 | |||||
---|---|---|---|---|---|
參量 |
| ||||
返回值 |
|
otDatasetSetPending
otError otDatasetSetPending( otInstance *aInstance, const otOperationalDataset *aDataset )
此功能設置待處理的操作數據集。
細節 | |||||||
---|---|---|---|---|---|---|---|
參量 |
| ||||||
返回值 |
|
otDatasetSetPendingTlvs
otError otDatasetSetPendingTlvs( otInstance *aInstance, const otOperationalDatasetTlvs *aDataset )
此功能設置待處理的操作數據集。
細節 | |||||||
---|---|---|---|---|---|---|---|
參量 |
| ||||||
返回值 |
|
otDatasetUpdaterCancelUpdate
void otDatasetUpdaterCancelUpdate( otInstance *aInstance )
此功能取消正在進行的(如果有的話)“操作數據集”更新請求。
細節 | |||
---|---|---|---|
參量 |
|
otDatasetUpdaterIsUpdateOngoing
bool otDatasetUpdaterIsUpdateOngoing( otInstance *aInstance )
此功能指示是否有正在進行的操作數據集更新請求。
細節 | |||||
---|---|---|---|---|---|
參量 |
| ||||
返回值 |
|
otDatasetUpdaterRequestUpdate
otError otDatasetUpdaterRequestUpdate( otInstance *aInstance, const otOperationalDataset *aDataset, otDatasetUpdaterCallback aCallback, void *aContext, uint32_t aReryWaitInterval )
此功能請求更新操作數據集。
aDataset
應該包含要更新的字段及其新值。它不能包含活動或待處理時間戳字段。延遲字段是可選的,如果未提供,則將使用默認值(1000毫秒)。
細節 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
參量 |
| ||||||||||
返回值 |
|
巨集
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_MASTER_KEY_SIZE
OT_MASTER_KEY_SIZE 16
線程主密鑰的大小(字節)
OT_MESH_LOCAL_PREFIX_SIZE
OT_MESH_LOCAL_PREFIX_SIZE OT_IP6_PREFIX_SIZE
網格本地前綴的大小(字節)
OT_NETWORK_NAME_MAX_SIZE
OT_NETWORK_NAME_MAX_SIZE 16
線程網絡名稱字段的最大大小(字節)
OT_OPERATIONAL_DATASET_MAX_LENGTH
OT_OPERATIONAL_DATASET_MAX_LENGTH 254
操作數據集的最大長度(以字節為單位)。
OT_PSKC_MAX_SIZE
OT_PSKC_MAX_SIZE 16
PSKc的最大大小(字節)