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

作業資料集

提供 Operational Dataset API 的函式。

摘要

針對 FTD 版本,資料集更新工具內含用於管理資料集更新的函式。

針對 FTD 和 MTD 版本,Operational Dataset API 提供的函式可用於管理使用中和待處理的資料集,以及資料集 TLV。

列舉

otMeshcopTlvType{
  OT_MESHCOP_TLV_CHANNEL = 0,
  OT_MESHCOP_TLV_PANID = 1,
  OT_MESHCOP_TLV_EXTPANID = 2,
  OT_MESHCOP_TLV_NETWORKNAME = 3,
  OT_MESHCOP_TLV_PSKC = 4,
  OT_MESHCOP_TLV_NETWORKKEY = 5,
  OT_MESHCOP_TLV_NETWORK_KEY_SEQUENCE = 6,
  OT_MESHCOP_TLV_MESHLOCALPREFIX = 7,
  OT_MESHCOP_TLV_STEERING_DATA = 8,
  OT_MESHCOP_TLV_BORDER_AGENT_RLOC = 9,
  OT_MESHCOP_TLV_COMMISSIONER_ID = 10,
  OT_MESHCOP_TLV_COMM_SESSION_ID = 11,
  OT_MESHCOP_TLV_SECURITYPOLICY = 12,
  OT_MESHCOP_TLV_GET = 13,
  OT_MESHCOP_TLV_ACTIVETIMESTAMP = 14,
  OT_MESHCOP_TLV_COMMISSIONER_UDP_PORT = 15,
  OT_MESHCOP_TLV_STATE = 16,
  OT_MESHCOP_TLV_JOINER_DTLS = 17,
  OT_MESHCOP_TLV_JOINER_UDP_PORT = 18,
  OT_MESHCOP_TLV_JOINER_IID = 19,
  OT_MESHCOP_TLV_JOINER_RLOC = 20,
  OT_MESHCOP_TLV_JOINER_ROUTER_KEK = 21,
  OT_MESHCOP_TLV_PROVISIONING_URL = 32,
  OT_MESHCOP_TLV_VENDOR_NAME_TLV = 33,
  OT_MESHCOP_TLV_VENDOR_MODEL_TLV = 34,
  OT_MESHCOP_TLV_VENDOR_SW_VERSION_TLV = 35,
  OT_MESHCOP_TLV_VENDOR_DATA_TLV = 36,
  OT_MESHCOP_TLV_VENDOR_STACK_VERSION_TLV = 37,
  OT_MESHCOP_TLV_UDP_ENCAPSULATION_TLV = 48,
  OT_MESHCOP_TLV_IPV6_ADDRESS_TLV = 49,
  OT_MESHCOP_TLV_PENDINGTIMESTAMP = 51,
  OT_MESHCOP_TLV_DELAYTIMER = 52,
  OT_MESHCOP_TLV_CHANNELMASK = 53,
  OT_MESHCOP_TLV_COUNT = 54,
  OT_MESHCOP_TLV_PERIOD = 55,
  OT_MESHCOP_TLV_SCAN_DURATION = 56,
  OT_MESHCOP_TLV_ENERGY_LIST = 57,
  OT_MESHCOP_TLV_DISCOVERYREQUEST = 128,
  OT_MESHCOP_TLV_DISCOVERYRESPONSE = 129,
  OT_MESHCOP_TLV_JOINERADVERTISEMENT = 241
}
列舉
這項列舉代表網格 TLV 類型。

Typedefs

otChannelMask typedef
uint32_t
這種類型代表頻道遮罩。
otDatasetMgmtSetCallback)(otError aResult, void *aContext) typedef
void(*
當接收到 MGMT_SET 要求的回應或逾時時,系統會呼叫此函式指標。
otDatasetUpdaterCallback)(otError aError, void *aContext) typedef
void(*
資料集更新要求完成時,系統會呼叫這個回呼函式指標,並回報資料集更新要求成功或失敗狀態。
otExtendedPanId typedef
這個結構代表一個擴充 PAN ID。
otMeshLocalPrefix typedef
這個結構代表網格本機前置字串。
otMeshcopTlvType typedef
這項列舉代表網格 TLV 類型。
otNetworkKey typedef
struct otNetworkKey
這個結構代表一個執行緒網路金鑰。
otNetworkKeyRef typedef
這個資料類型代表 KeyRef 到 NetworkKey。
otNetworkName typedef
struct otNetworkName
這個結構代表網路名稱。
otOperationalDataset typedef
這個結構代表有效或待處理的作業資料集。
otOperationalDatasetComponents typedef
這個結構代表「進行中」或「待處理作業資料集」中不同的元件。
otOperationalDatasetTlvs typedef
這個結構代表有效或待處理的作業資料集。
otPskc typedef
struct otPskc
此結構代表 PSKc。
otPskcRef typedef
這個資料類型代表 KeyRef 到 PSKc。
otSecurityPolicy typedef
這個結構代表安全性政策。
otTimestamp typedef
struct otTimestamp
這個結構代表一個執行緒資料集時間戳記元件。

變數

OT_TOOL_PACKED_END

Functions

otDatasetCreateNewNetwork(otInstance *aInstance, otOperationalDataset *aDataset)
如果只有 FTD,請建立新的作業資料集,以用來建立新網路。
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
如果是 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)
設定有效作業資料集。
otDatasetSetActiveTlvs(otInstance *aInstance, const otOperationalDatasetTlvs *aDataset)
這個函式會設定運作中的資料集。
otDatasetSetDelayTimerMinimal(otInstance *aInstance, uint32_t aDelayTimerMinimal)
如果是 FTD,請設定最短延遲時間。
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)
這個函式要求更新作業資料集。
otNetworkNameFromString(otNetworkName *aNetworkName, const char *aNameString)
從指定的空值終止 C 字串設定 otNetworkName 執行個體。

結構

otExtendedPanId

這個結構代表一個擴充 PAN ID。

otNetworkKey

這個結構代表一個執行緒網路金鑰。

otNetworkName

這個結構代表網路名稱。

otOperationalDataset

這個結構代表有效或待處理的作業資料集。

otOperationalDatasetComponents

這個結構代表「進行中」或「待處理作業資料集」中不同的元件。

otOperationalDatasetTlvs

這個結構代表有效或待處理的作業資料集。

otPskc

此結構代表 PSKc。

otSecurityPolicy

這個結構代表安全性政策。

otTimestamp

這個結構代表一個執行緒資料集時間戳記元件。

列舉

otMeshcopTlvType

 otMeshcopTlvType

這項列舉代表網格 TLV 類型。

屬性
OT_MESHCOP_TLV_ACTIVETIMESTAMP

網格 copency TLV

OT_MESHCOP_TLV_BORDER_AGENT_RLOC

網格 coorder 代理程式 Locator TLV

OT_MESHCOP_TLV_CHANNEL

網格 TLV

OT_MESHCOP_TLV_CHANNELMASK

網格遮罩頻道遮罩 TLV

OT_MESHCOP_TLV_COMMISSIONER_ID

網科總監

OT_MESHCOP_TLV_COMMISSIONER_UDP_PORT

Meshcop 調度工具 UDP 通訊埠 TLV

OT_MESHCOP_TLV_COMM_SESSION_ID

Meshcop 佣金專員工作階段 ID TLV

OT_MESHCOP_TLV_COUNT

網格數量 TLV

OT_MESHCOP_TLV_DELAYTIMER

Meshcop 延遲計時器 TLV

OT_MESHCOP_TLV_DISCOVERYREQUEST

網購探索要求 TLV

OT_MESHCOP_TLV_DISCOVERYRESPONSE

網購探索回覆 TLV

OT_MESHCOP_TLV_ENERGY_LIST

Meshcop Energy List TLV

OT_MESHCOP_TLV_EXTPANID

Meshcop Extended Pan Id TLV

OT_MESHCOP_TLV_GET

網格 取得 TLV

OT_MESHCOP_TLV_IPV6_ADDRESS_TLV

網格 COP6 位址 TLV

OT_MESHCOP_TLV_JOINERADVERTISEMENT

網格合作社廣告宣傳技術 TLV

OT_MESHCOP_TLV_JOINER_DTLS

網格合作者 DTLS 封裝 TLV

OT_MESHCOP_TLV_JOINER_IID

網格 加入器 IID TLV

OT_MESHCOP_TLV_JOINER_RLOC

Meshcop 聯合路由器路由器定位器 TLV

OT_MESHCOP_TLV_JOINER_ROUTER_KEK

microcop 聯合路由器 KEK TLV

OT_MESHCOP_TLV_JOINER_UDP_PORT

Meshcop JOIN UDP 通訊埠 TLV

OT_MESHCOP_TLV_MESHLOCALPREFIX

Meshcop Mesh 本機前置字串 TLV

OT_MESHCOP_TLV_NETWORKKEY

Meshcop 網路金鑰 TLV

OT_MESHCOP_TLV_NETWORKNAME

Meshcop 網路名稱 TLV

OT_MESHCOP_TLV_NETWORK_KEY_SEQUENCE

Meshcop 網路金鑰序列 TLV

OT_MESHCOP_TLV_PANID

microcop Pan ID TLV

OT_MESHCOP_TLV_PENDINGTIMESTAMP

網格 待處理時間戳記 TLV

OT_MESHCOP_TLV_PERIOD

網格週期期間 TLV

OT_MESHCOP_TLV_PROVISIONING_URL

Metalcop 佈建網址 TLV

OT_MESHCOP_TLV_PSKC

網格 PSKc TLV

OT_MESHCOP_TLV_SCAN_DURATION

Metalcop 掃描時間長度 TLV

OT_MESHCOP_TLV_SECURITYPOLICY

網格 安全性政策 TLV

OT_MESHCOP_TLV_STATE

網格狀態 TLV

OT_MESHCOP_TLV_STEERING_DATA

Meshcop 轉向資料 TLV

OT_MESHCOP_TLV_UDP_ENCAPSULATION_TLV

網格 UDP 封裝 TLV

OT_MESHCOP_TLV_VENDOR_DATA_TLV

Metalcop 廠商資料 TLV

OT_MESHCOP_TLV_VENDOR_MODEL_TLV

Meshcop 廠商模型:TLV

OT_MESHCOP_TLV_VENDOR_NAME_TLV

Meshcop 供應商名稱 TLV

OT_MESHCOP_TLV_VENDOR_STACK_VERSION_TLV

Meshcop 供應商堆疊版本 TLV

OT_MESHCOP_TLV_VENDOR_SW_VERSION_TLV

Metalcop 供應商 SW 版本 TLV

Typedefs

otChannel 遮罩

uint32_t otChannelMask

這種類型代表頻道遮罩。

otDatasetMgmtSetCallback

void(* otDatasetMgmtSetCallback)(otError aResult, void *aContext)

當接收到 MGMT_SET 要求的回應或逾時時,系統會呼叫此函式指標。

詳情
參數
[in] aResult
作業結果。
[in] aContext
指向應用程式特定背景資訊的指標。
傳回值
OT_ERROR_NONE
領導者已接受要求。
OT_ERROR_REJECTED
主管已拒絕要求。
OT_ERROR_PARSE
剖析回應時發生錯誤。
OT_ERROR_ABORT
同類應用程式重設了要求。
OT_ERROR_RESPONSE_TIMEOUT
逾時期間未收到回應或確認。

otDatasetUpdaterCallback

void(* otDatasetUpdaterCallback)(otError aError, void *aContext)

資料集更新要求完成時,系統會呼叫這個回呼函式指標,並回報資料集更新要求成功或失敗狀態。

必須啟用 OPENTHREAD_CONFIG_DATASET_UPDATER_ENABLE 才能使用此功能。

詳情
參數
[in] aError
錯誤狀態。OT_ERROR_NONE 表示已成功更新資料集。OT_ERROR_INVALID_STATE 表示失敗狀態失敗,原因為 MLE。OT_ERROR_ALREADY 表示造成網路內的其他裝置要求衝突資料集更新。
[in] aContext
指向任意結構定義 (由 otDatasetUpdaterRequestUpdate() 使用者提供) 的指標。

otExtendedPanId

struct otExtendedPanId otExtendedPanId

這個結構代表一個擴充 PAN ID。

otMeshLocalPrefix

otIp6NetworkPrefix otMeshLocalPrefix

這個結構代表網格本機前置字串。

otMeshcopTlvType

enum otMeshcopTlvType otMeshcopTlvType

這項列舉代表網格 TLV 類型。

OTNetwork 金鑰

struct otNetworkKey otNetworkKey

這個結構代表一個執行緒網路金鑰。

otNetworkKeyRef

otCryptoKeyRef otNetworkKeyRef

這個資料類型代表 KeyRef 到 NetworkKey。

金鑰參考資料

OTNetwork

struct otNetworkName otNetworkName

這個結構代表網路名稱。

otNetworkName 是空值的終止 C 字串 (即m8 字元陣列「必須」以空值字元 \0 結尾)。

otOperationalDataset

struct otOperationalDataset otOperationalDataset

這個結構代表有效或待處理的作業資料集。

資料集中的元件為選用項目。mComponets 結構會指定資料集中有哪些元件。

otOperationalDatasetComponents

struct otOperationalDatasetComponents otOperationalDatasetComponents

這個結構代表「進行中」或「待處理作業資料集」中不同的元件。

otOperationalDatasetTlv

struct otOperationalDatasetTlvs otOperationalDatasetTlvs

這個結構代表有效或待處理的作業資料集。

作業資料集是 Thread 指定的 TLV 編碼。

OTPKK

struct otPskc otPskc

此結構代表 PSKc。

OTPKKReF

otCryptoKeyRef otPskcRef

這個資料類型代表 KeyRef 到 PSKc。

金鑰參考資料

otSecurityPolicy

struct otSecurityPolicy otSecurityPolicy

這個結構代表安全性政策。

OTTimestamp

struct otTimestamp otTimestamp

這個結構代表一個執行緒資料集時間戳記元件。

變數

OT_TOOL_PACKED_END

OT_TOOL_PACKED_BEGIN struct otNetworkKey OT_TOOL_PACKED_END

Functions

otDatasetCreateNewNetwork

otError otDatasetCreateNewNetwork(
  otInstance *aInstance,
  otOperationalDataset *aDataset
)

如果只有 FTD,請建立新的作業資料集,以用來建立新網路。

詳情
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
[out] aDataset
運算資料集。
傳回值
OT_ERROR_NONE
已成功建立新的作業資料集。
OT_ERROR_FAILED
無法為新參數產生隨機值。

otDatasetGeneratePskc

otError otDatasetGeneratePskc(
  const char *aPassPhrase,
  const otNetworkName *aNetworkName,
  const otExtendedPanId *aExtPanId,
  otPskc *aPskc
)

這項函式會根據特定傳遞詞組、網路名稱和擴充 PAN ID 產生 PSKc。

PSKc 用於建立委員會工作階段。

詳情
參數
[in] aPassPhrase
委託佣金
[in] aNetworkName
PSKc 計算的網路名稱。
[in] aExtPanId
PSKc 計算的延伸 PAN ID。
[out] aPskc
指向輸出 PSKc 的變數指標。
傳回值
OT_ERROR_NONE
成功產生 PSKc。
OT_ERROR_INVALID_ARGS
如有任何輸入引數無效,

otDatasetGetActive

otError otDatasetGetActive(
  otInstance *aInstance,
  otOperationalDataset *aDataset
)

取得使用中的作業資料集。

詳情
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
[out] aDataset
放置有效作業資料集的指標。
傳回值
OT_ERROR_NONE
已成功擷取使用中資料集。
OT_ERROR_NOT_FOUND
設定存放區中沒有對應的值。

otDatasetGetActiveTlvs

otError otDatasetGetActiveTlvs(
  otInstance *aInstance,
  otOperationalDatasetTlvs *aDataset
)

此函式會取得有效作業資料集。

詳情
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
[out] aDataset
放置有效作業資料集的指標。
傳回值
OT_ERROR_NONE
已成功擷取使用中資料集。
OT_ERROR_NOT_FOUND
設定存放區中沒有對應的值。

otDatasetGetDelayTimerMinimal

uint32_t otDatasetGetDelayTimerMinimal(
  otInstance *aInstance
)

如果是 FTD,請縮短延遲時間,

詳情
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
傳回值
the
最小延遲計時器的值 (以毫秒為單位)。

otDatasetGetPending

otError otDatasetGetPending(
  otInstance *aInstance,
  otOperationalDataset *aDataset
)

這個函式會取得待處理作業資料集。

詳情
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
[out] aDataset
放置「待運作作業資料集」的位置。
傳回值
OT_ERROR_NONE
已成功擷取待處理的作業資料集。
OT_ERROR_NOT_FOUND
設定存放區中沒有對應的值。

otDatasetGetPendingTlvs

otError otDatasetGetPendingTlvs(
  otInstance *aInstance,
  otOperationalDatasetTlvs *aDataset
)

這個函式會取得待處理作業資料集。

詳情
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
[out] aDataset
放置「待運作作業資料集」的位置。
傳回值
OT_ERROR_NONE
已成功擷取待處理的作業資料集。
OT_ERROR_NOT_FOUND
設定存放區中沒有對應的值。

otDatasetIsCommission

bool otDatasetIsCommissioned(
  otInstance *aInstance
)

這個函式會指出「有效作業資料集」中是否存在有效的網路。

詳情
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
傳回
如果有效作業資料集中有有效的網路,則傳回 TRUE,否則為 FALSE。

otDatasetParseTlv

otError otDatasetParseTlvs(
  const otOperationalDatasetTlvs *aDatasetTlvs,
  otOperationalDataset *aDataset
)

這個函式會從 otOperationalDatasetTlvs 剖析作業資料集。

詳情
參數
[in] aDatasetTlvs
指向資料集 TLV 的指標。
[out] aDataset
指向資料集位置的指標。
傳回值
OT_ERROR_NONE
已成功從 aDatasetTlvs 設定 aDataset
OT_ERROR_INVALID_ARGS
aDatasetTlvs」無效。

otDatasetSendMgmtActiveGet

otError otDatasetSendMgmtActiveGet(
  otInstance *aInstance,
  const otOperationalDatasetComponents *aDatasetComponents,
  const uint8_t *aTlvTypes,
  uint8_t aLength,
  const otIp6Address *aAddress
)

傳送 MGMT_ACTIVE_GET 方法。

詳情
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
[in] aDatasetComponents
指向「資料集」元件結構的指標,以指定要要求的元件。
[in] aTlvTypes
一個陣列,其中包含了需要要求的其他原始 TLV 類型。
[in] aLength
aTlvTypes 的長度。
[in] aAddress
如果為 IPv6 目的地,如果指向 NULL,系統會指向採用 ALOC 的 ALOC。
傳回值
OT_ERROR_NONE
成功傳送網狀資料集指令。
OT_ERROR_NO_BUFS
緩衝區空間不足,無法傳送。

otDatasetSendMgmtActiveSet

otError otDatasetSendMgmtActiveSet(
  otInstance *aInstance,
  const otOperationalDataset *aDataset,
  const uint8_t *aTlvs,
  uint8_t aLength,
  otDatasetMgmtSetCallback aCallback,
  void *aContext
)

傳送 MGMT_ACTIVE_SET。

詳情
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
[in] aDataset
指向運作資料集的指標。
[in] aTlvs
指向 TLV 的指標。
[in] aLength
TLV 的長度。
[in] aCallback
指向回應/逾時或呼叫的函式指標。
[in] aContext
指向 aCallback 的應用程式專屬背景資訊。
傳回值
OT_ERROR_NONE
成功傳送網狀資料集指令。
OT_ERROR_NO_BUFS
緩衝區空間不足,無法傳送。
OT_ERROR_BUSY
先前的要求正在處理中。

otDatasetSendMgmtPendingGet

otError otDatasetSendMgmtPendingGet(
  otInstance *aInstance,
  const otOperationalDatasetComponents *aDatasetComponents,
  const uint8_t *aTlvTypes,
  uint8_t aLength,
  const otIp6Address *aAddress
)

傳送 MGMT_PENDING_GET 方法。

詳情
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
[in] aDatasetComponents
指向「資料集」元件結構的指標,以指定要要求的元件。
[in] aTlvTypes
一個陣列,其中包含了需要要求的其他原始 TLV 類型。
[in] aLength
aTlvTypes 的長度。
[in] aAddress
如果為 IPv6 目的地,如果指向 NULL,系統會指向採用 ALOC 的 ALOC。
傳回值
OT_ERROR_NONE
成功傳送網狀資料集指令。
OT_ERROR_NO_BUFS
緩衝區空間不足,無法傳送。

otDatasetSendMgmtPendingSet

otError otDatasetSendMgmtPendingSet(
  otInstance *aInstance,
  const otOperationalDataset *aDataset,
  const uint8_t *aTlvs,
  uint8_t aLength,
  otDatasetMgmtSetCallback aCallback,
  void *aContext
)

傳送 MGMT_PENDING_SET。

詳情
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
[in] aDataset
指向運作資料集的指標。
[in] aTlvs
指向 TLV 的指標。
[in] aLength
TLV 的長度。
[in] aCallback
指向回應/逾時或呼叫的函式指標。
[in] aContext
指向 aCallback 的應用程式專屬背景資訊。
傳回值
OT_ERROR_NONE
成功傳送網狀資料集指令。
OT_ERROR_NO_BUFS
緩衝區空間不足,無法傳送。
OT_ERROR_BUSY
先前的要求正在處理中。

otDatasetSetActive

otError otDatasetSetActive(
  otInstance *aInstance,
  const otOperationalDataset *aDataset
)

設定有效作業資料集。

如果資料集不含有效時間戳記,則資料集部分不完整。

如果裝置的部分資源完整地處於啟用狀態,且已啟用 Thread 功能,則裝置會嘗試使用資料集中的任何現有資訊附加到現有的 Thread 網路。只需要使用 Thread 網路金鑰即可連線至網路。

如果管道不包含資料集,裝置會透過不同管道傳送 MLE 公告訊息,藉此找出其他頻道上的鄰居。

如果裝置已成功連接至 Thread 網路,裝置就會從其父項中擷取完整的有效資料集。請注意,如果裝置支援路由器,除非裝置具備完整的有效資料集,否則不會轉換為路由器或主管角色。

詳情
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
[in] aDataset
指向運作運算資料集的指標。
傳回值
OT_ERROR_NONE
已成功設定使用中的資料集。
OT_ERROR_NO_BUFS
緩衝區空間不足,無法設定使用中的作業資料集。
OT_ERROR_NOT_IMPLEMENTED
平台並未實作設定功能。

otDatasetSetActiveTlv

otError otDatasetSetActiveTlvs(
  otInstance *aInstance,
  const otOperationalDatasetTlvs *aDataset
)

這個函式會設定運作中的資料集。

如果資料集不含有效時間戳記,則資料集部分不完整。

如果裝置的部分資源完整地處於啟用狀態,且已啟用 Thread 功能,則裝置會嘗試使用資料集中的任何現有資訊附加到現有的 Thread 網路。只需要使用 Thread 網路金鑰即可連線至網路。

如果管道不包含資料集,裝置會透過不同管道傳送 MLE 公告訊息,藉此找出其他頻道上的鄰居。

如果裝置已成功連接至 Thread 網路,裝置就會從其父項中擷取完整的有效資料集。請注意,如果裝置支援路由器,除非裝置具備完整的有效資料集,否則不會轉換為路由器或主管角色。

詳情
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
[in] aDataset
指向運作運算資料集的指標。
傳回值
OT_ERROR_NONE
已成功設定使用中的資料集。
OT_ERROR_NO_BUFS
緩衝區空間不足,無法設定使用中的作業資料集。
OT_ERROR_NOT_IMPLEMENTED
平台並未實作設定功能。

otDatasetSetDelayTimerMinimal

otError otDatasetSetDelayTimerMinimal(
  otInstance *aInstance,
  uint32_t aDelayTimerMinimal
)

如果是 FTD,請設定最短延遲時間。

詳情
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
[in] aDelayTimerMinimal
最短延遲計時器的值 (以毫秒為單位),
傳回值
OT_ERROR_NONE
已成功設定最小延遲計時器。
OT_ERROR_INVALID_ARGS
如果 aDelayTimerMinimal 無效,

otDatasetSetPending

otError otDatasetSetPending(
  otInstance *aInstance,
  const otOperationalDataset *aDataset
)

設定待處理作業資料集。

詳情
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
[in] aDataset
指向運作中資料集的指標。
傳回值
OT_ERROR_NONE
已成功設定待處理作業資料集。
OT_ERROR_NO_BUFS
緩衝區空間不足,無法設定待處理作業資料集。
OT_ERROR_NOT_IMPLEMENTED
平台並未實作設定功能。

otDatasetSetPendingTlv

otError otDatasetSetPendingTlvs(
  otInstance *aInstance,
  const otOperationalDatasetTlvs *aDataset
)

這個函式會設定待處理作業資料集。

詳情
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
[in] aDataset
指向運作中資料集的指標。
傳回值
OT_ERROR_NONE
已成功設定待處理作業資料集。
OT_ERROR_NO_BUFS
緩衝區空間不足,無法設定待處理作業資料集。
OT_ERROR_NOT_IMPLEMENTED
平台並未實作設定功能。

otDatasetUpdaterCancelUpdate

void otDatasetUpdaterCancelUpdate(
  otInstance *aInstance
)

這個函式會取消進行中的 (如果有) 營運資料集更新要求。

必須啟用 OPENTHREAD_CONFIG_DATASET_UPDATER_ENABLE 才能使用此功能。

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

otDatasetUpdaterIsUpdateOngoing

bool otDatasetUpdaterIsUpdateOngoing(
  otInstance *aInstance
)

這個函式會指出是否有進行中的作業資料集更新要求。

必須啟用 OPENTHREAD_CONFIG_DATASET_UPDATER_ENABLE 才能使用此功能。

詳情
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
傳回值
TRUE
系統會持續更新應用程式。
FALSE
沒有即時更新。

otDatasetUpdaterRequestUpdate

otError otDatasetUpdaterRequestUpdate(
  otInstance *aInstance,
  const otOperationalDataset *aDataset,
  otDatasetUpdaterCallback aCallback,
  void *aContext
)

這個函式要求更新作業資料集。

必須啟用 OPENTHREAD_CONFIG_DATASET_UPDATER_ENABLE 才能使用此功能。

aDataset 應包含要更新的欄位及其新值。請勿包含「有效」或「待處理」時間戳記欄位。如未提供預設值 (1000 ms),則為「延遲」欄位為選填。

詳情
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
[in] aDataset
指向「資料集」的指標,其中包含要變更的欄位。
[in] aCallback
指出資料集更新要求完成時間的回呼。
[in] aContext
傳遞給回呼的任意結構定義。
傳回值
OT_ERROR_NONE
已成功啟動資料集更新 (完成後會叫用 aCallback)。
OT_ERROR_INVALID_STATE
裝置已停用 (MLE 已停用)。
OT_ERROR_INVALID_ARGS
aDataset 無效 (包含有效或待處理的時間戳記)。
OT_ERROR_BUSY
尚未開始更新,前一項作業正在進行中。
OT_ERROR_NO_BUFS
無法分配緩衝區以儲存資料集。

otNetworkNameFromString

otError otNetworkNameFromString(
  otNetworkName *aNetworkName,
  const char *aNameString
)

從指定的空值終止 C 字串設定 otNetworkName 執行個體。

aNameString 必須採用 UTF-8 編碼,網路名稱長度不得超過 OT_NETWORK_NAME_MAX_SIZE

詳情
參數
[out] aNetworkName
要設定的 otNetworkName 指標。
[in] aNameString
名稱 C 字串。
傳回值
OT_ERROR_NONE
已成功從 aNameString 設定 aNetworkName
OT_ERROR_INVALID_ARGS
aNameStrng 無效 (過長或未遵循 UTF-8 編碼)。

巨集

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

Thread 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

執行緒網路金鑰大小 (位元組)

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 取得。如需更多資訊,或想參閱我們的說明文件,請參閱資源