一般
這個模組包含所有 Thread 角色的函式。
摘要
網路資料發布者提供的機制可監控網路資料,以及管理是否新增或移除項目,以及限制 Thread 網路資料中類似服務項目和/或前置字串 (網狀網路前置字串或外部路徑) 的項目數量。
必須啟用 OPENTHREAD_CONFIG_NETDATA_PUBLISHER_ENABLE
,才能使用這個模組中的所有函式。
Typedefs |
|
---|---|
otBorderRouterConfig
|
typedefstruct otBorderRouterConfig
代表邊界路由器設定。 |
otDetachGracefullyCallback)(void *aContext)
|
typedefvoid(*
此回呼會通知應用程式,卸離程序已完成。 |
otExternalRouteConfig
|
typedefstruct otExternalRouteConfig
代表外部路徑設定。 |
otIpCounters
|
typedefstruct otIpCounters
代表 IP 層級計數器。 |
otLeaderData
|
typedefstruct otLeaderData
代表 Thread 領導者資料。 |
otLinkModeConfig
|
typedefstruct otLinkModeConfig
代表 MLE 連結模式設定。 |
otLowpanContextInfo
|
typedefstruct otLowpanContextInfo
代表與網路資料中的前置字串相關聯的 6LoWPAN 內容 ID 資訊。 |
otMleCounters
|
typedefstruct otMleCounters
代表 Thread MLE 計數器。 |
otNeighborInfoIterator
|
typedefint16_t
用於疊代鄰近資料表。 |
otNetDataDnsSrpServicePublisherCallback)(otNetDataPublisherEvent aEvent, void *aContext)
|
typedefvoid(*
指標類型定義了在 Thread 網路資料新增或移除「DNS/SRP 服務」項目時,用於通知的回呼。 |
otNetDataPrefixPublisherCallback)(otNetDataPublisherEvent aEvent, const otIp6Prefix *aPrefix, void *aContext)
|
typedefvoid(*
指標類型會定義要在 Thread 網路資料中新增或移除前置碼 (網狀網路或外部路徑) 項目時通知的回呼。 |
otNetDataPublisherEvent
|
typedef 代表發布商回呼回報的事件。 |
otNetworkDataIterator
|
typedefuint32_t
用於透過網路資料資訊疊代作業。 |
otNetworkDiagChildEntry
|
typedefstruct otNetworkDiagChildEntry
代表網路診斷子項表格項目。 |
otNetworkDiagConnectivity
|
typedefstruct otNetworkDiagConnectivity
代表網路診斷連線值。 |
otNetworkDiagIterator
|
typedefuint16_t
用於透過網路診斷 TLV 疊代。 |
otNetworkDiagMacCounters
|
typedefstruct otNetworkDiagMacCounters
代表網路診斷 Mac 計數器值。 |
otNetworkDiagMleCounters
|
typedefstruct otNetworkDiagMleCounters
代表網路診斷的 MLE 計數器值。 |
otNetworkDiagRoute
|
typedefstruct otNetworkDiagRoute
代表網路診斷路徑 TLV 值。 |
otNetworkDiagRouteData
|
typedefstruct otNetworkDiagRouteData
代表網路診斷路徑資料。 |
otNetworkDiagTlv
|
typedefstruct otNetworkDiagTlv
代表網路診斷 TLV。 |
otReceiveDiagnosticGetCallback)(otError aError, otMessage *aMessage, const otMessageInfo *aMessageInfo, void *aContext)
|
typedefvoid(*
收到網路診斷 Get 回應時就會呼叫指標。 |
otRoutePreference
|
typedefenum otRoutePreference
|
otServerConfig
|
typedefstruct otServerConfig
代表伺服器設定。 |
otServiceConfig
|
typedefstruct otServiceConfig
代表服務設定。 |
otThreadAnycastLocatorCallback)(void *aContext, otError aError, const otIp6Address *aMeshLocalAddress, uint16_t aRloc16)
|
typedefvoid(*
指標類型會定義用於通知 otThreadLocateAnycastDestination() 要求結果的回呼。 |
otThreadDiscoveryRequestCallback)(const otThreadDiscoveryRequestInfo *aInfo, void *aContext)
|
typedefvoid(*
每次收到 MLE 探索要求訊息時,系統就會呼叫指標。 |
otThreadDiscoveryRequestInfo
|
typedefstruct otThreadDiscoveryRequestInfo
代表 Thread 探索要求資料。 |
otThreadParentResponseCallback)(otThreadParentResponseInfo *aInfo, void *aContext)
|
typedefvoid(*
每次收到 MLE 父項回應訊息時,都會呼叫指標。 |
otThreadParentResponseInfo
|
typedefstruct otThreadParentResponseInfo
代表 MLE 母親反應資料。 |
函式 |
|
---|---|
otConvertDurationInSecondsToString(uint32_t aDuration, char *aBuffer, uint16_t aSize)
|
void
將
uint32_t 時間長度 (以秒為單位) 轉換成使用者可理解的字串。 |
otNetDataContainsOmrPrefix(otInstance *aInstance, const otIp6Prefix *aPrefix)
|
bool
檢查特定前置字串是否能做為有效的 OMR 前置字串,以及領導者的網路資料包含此前置字串。
|
otNetDataGet(otInstance *aInstance, bool aStable, uint8_t *aData, uint8_t *aDataLength)
|
提供分區執行緒網路資料的完整或穩定副本。
|
otNetDataGetCommissioningDataset(otInstance *aInstance, otCommissioningDataset *aDataset)
|
void
從分區的網路資料取得調試資料集。
|
otNetDataGetLength(otInstance *aInstance)
|
uint8_t
取得分區執行緒網路資料目前的長度 (位元組數)。
|
otNetDataGetMaxLength(otInstance *aInstance)
|
uint8_t
自 OT 堆疊初始化或上次呼叫
otNetDataResetMaxLength() 以來,取得觀察到的 Thread 網路資料長度上限。 |
otNetDataGetNextLowpanContextInfo(otInstance *aInstance, otNetworkDataIterator *aIterator, otLowpanContextInfo *aContextInfo)
|
取得分區網路資料中的下 6LoWPAN 情境 ID 資訊。
|
otNetDataGetNextOnMeshPrefix(otInstance *aInstance, otNetworkDataIterator *aIterator, otBorderRouterConfig *aConfig)
|
取得分區網路資料中的下一個網狀前置字串。
|
otNetDataGetNextRoute(otInstance *aInstance, otNetworkDataIterator *aIterator, otExternalRouteConfig *aConfig)
|
取得分區網路資料中的下一個外部路徑。
|
otNetDataGetNextService(otInstance *aInstance, otNetworkDataIterator *aIterator, otServiceConfig *aConfig)
|
取得分區網路資料中的下一個服務。
|
otNetDataGetStableVersion(otInstance *aInstance)
|
uint8_t
取得穩定版網路資料版本。
|
otNetDataGetVersion(otInstance *aInstance)
|
uint8_t
取得網路資料版本。
|
otNetDataIsDnsSrpServiceAdded(otInstance *aInstance)
|
bool
指出「DNS/SRP 服務」項目是否已加入 Thread 網路資料中。
|
otNetDataIsPrefixAdded(otInstance *aInstance, const otIp6Prefix *aPrefix)
|
bool
指出目前已發布的前置字串項目 (網狀網路或外部路徑) 是否新增至 Thread 網路資料。
|
otNetDataPublishDnsSrpServiceAnycast(otInstance *aInstance, uint8_t aSequenceNUmber)
|
void
要求在 Thread 網路資料中發布「DNS/SRP 服務 Anycast 位址」。
|
otNetDataPublishDnsSrpServiceUnicast(otInstance *aInstance, const otIp6Address *aAddress, uint16_t aPort)
|
void
要求在 Thread 網路資料中發布「DNS/SRP 服務 Unicast 位址」。
|
otNetDataPublishDnsSrpServiceUnicastMeshLocalEid(otInstance *aInstance, uint16_t aPort)
|
void
要求在 Thread 網路資料中發布「DNS/SRP 服務 Unicast 位址」。
|
otNetDataPublishExternalRoute(otInstance *aInstance, const otExternalRouteConfig *aConfig)
|
要求在 Thread 網路資料中發布外部路徑前置字串。
|
otNetDataPublishOnMeshPrefix(otInstance *aInstance, const otBorderRouterConfig *aConfig)
|
要求在 Thread 網路資料中發布網格前置字串。
|
otNetDataReplacePublishedExternalRoute(otInstance *aInstance, const otIp6Prefix *aPrefix, const otExternalRouteConfig *aConfig)
|
取代 Thread 網路資料中先前發布的外部路徑。
|
otNetDataResetMaxLength(otInstance *aInstance)
|
void
重設追蹤的 Thread 網路資料長度上限。
|
otNetDataSetDnsSrpServicePublisherCallback(otInstance *aInstance, otNetDataDnsSrpServicePublisherCallback aCallback, void *aContext)
|
void
設定回呼,在確實將已發布的「DNS/SRP 服務」加入或從 Thread 網路資料中新增或移除時收到通知。
|
otNetDataSetPrefixPublisherCallback(otInstance *aInstance, otNetDataPrefixPublisherCallback aCallback, void *aContext)
|
void
設定回呼,在實際將已發布的前置字串項目加入或從執行緒網路資料中加入或移除時收到通知。
|
otNetDataSteeringDataCheckJoiner(otInstance *aInstance, const otExtAddress *aEui64)
|
檢查方向資料是否包含彙整器。
|
otNetDataSteeringDataCheckJoinerWithDiscerner(otInstance *aInstance, const struct otJoinerDiscerner *aDiscerner)
|
檢查導引資料是否包含具有指定差異值的彙整器。
|
otNetDataUnpublishDnsSrpService(otInstance *aInstance)
|
void
取消發布先前從 Thread 網路資料中新增的 DNS/SRP (Anycast 或 Unicast) 服務項目。
|
otNetDataUnpublishPrefix(otInstance *aInstance, const otIp6Prefix *aPrefix)
|
取消發布先前發布的「網格」或「外部路徑前置字元」。
|
otThreadBecomeChild(otInstance *aInstance)
|
嘗試重新連接做為子項。
|
otThreadBecomeDetached(otInstance *aInstance)
|
從 Thread 網路卸離。
|
otThreadDetachGracefully(otInstance *aInstance, otDetachGracefullyCallback aCallback, void *aContext)
|
通知網路中的其他節點 (如有),並停止 Thread 通訊協定作業。
|
otThreadDeviceRoleToString(otDeviceRole aRole)
|
const char *
將裝置角色轉換為使用者可理解的字串。
|
otThreadDiscover(otInstance *aInstance, uint32_t aScanChannels, uint16_t aPanId, bool aJoiner, bool aEnableEui64Filtering, otHandleActiveScanResult aCallback, void *aCallbackContext)
|
開始 Thread 探索掃描。
|
otThreadGetChildTimeout(otInstance *aInstance)
|
uint32_t
取得在子項角色執行作業時使用的執行緒子項逾時時間 (以秒為單位)。
|
otThreadGetDeviceRole(otInstance *aInstance)
|
取得裝置角色。
|
otThreadGetDomainName(otInstance *aInstance)
|
const char *
取得 Thread 網域名稱。
|
otThreadGetExtendedPanId(otInstance *aInstance)
|
const otExtendedPanId *
取得 IEEE 802.15.4 擴充永久帳號 ID。
|
otThreadGetFixedDuaInterfaceIdentifier(otInstance *aInstance)
|
const otIp6InterfaceIdentifier *
取得為 Thread 網域統一位址手動指定的介面 ID。
|
otThreadGetIp6Counters(otInstance *aInstance)
|
const otIpCounters *
取得 IPv6 計數器。
|
otThreadGetKeySequenceCounter(otInstance *aInstance)
|
uint32_t
取得 thrKeySequenceCounter。
|
otThreadGetKeySwitchGuardTime(otInstance *aInstance)
|
uint32_t
取得 thrKeySwitchGuardTime (以小時為單位)。
|
otThreadGetLeaderData(otInstance *aInstance, otLeaderData *aLeaderData)
|
取得 Thread 主管資料。
|
otThreadGetLeaderRloc(otInstance *aInstance, otIp6Address *aLeaderRloc)
|
傳回主管的 RLOC 指標。
|
otThreadGetLeaderRouterId(otInstance *aInstance)
|
uint8_t
取得領導者的路由器 ID。
|
otThreadGetLeaderWeight(otInstance *aInstance)
|
uint8_t
取得領導者的體重。
|
otThreadGetLinkLocalAllThreadNodesMulticastAddress(otInstance *aInstance)
|
const otIp6Address *
取得 Thread Link-本機所有 Thread 節點的多點傳送位址。
|
otThreadGetLinkLocalIp6Address(otInstance *aInstance)
|
const otIp6Address *
取得 Thread 連結本機 IPv6 位址。
|
otThreadGetLinkMode(otInstance *aInstance)
|
取得 MLE 連結模式設定。
|
otThreadGetMaxTimeInQueue(otInstance *aInstance)
|
uint32_t
取得 TX 佇列中的訊息排入佇列上限。
|
otThreadGetMeshLocalEid(otInstance *aInstance)
|
const otIp6Address *
取得網格本機 EID 位址。
|
otThreadGetMeshLocalPrefix(otInstance *aInstance)
|
const otMeshLocalPrefix *
傳回指向網格本機前置字串的指標。
|
otThreadGetMleCounters(otInstance *aInstance)
|
const otMleCounters *
取得 Thread MLE 計數器。
|
otThreadGetNetworkKey(otInstance *aInstance, otNetworkKey *aNetworkKey)
|
void
取得 Thread 網路金鑰。
|
otThreadGetNetworkKeyRef(otInstance *aInstance)
|
取得 Thread 網路金鑰的
otNetworkKeyRef 。 |
otThreadGetNetworkName(otInstance *aInstance)
|
const char *
取得 Thread 網路名稱。
|
otThreadGetNextDiagnosticTlv(const otMessage *aMessage, otNetworkDiagIterator *aIterator, otNetworkDiagTlv *aNetworkDiagTlv)
|
取得訊息中的下一個網路診斷 TLV。
|
otThreadGetNextNeighborInfo(otInstance *aInstance, otNeighborInfoIterator *aIterator, otNeighborInfo *aInfo)
|
取得下一個鄰點資訊。
|
otThreadGetParentAverageRssi(otInstance *aInstance, int8_t *aParentRssi)
|
函式會擷取 Thread 父項的平均 RSSI。
|
otThreadGetParentInfo(otInstance *aInstance, otRouterInfo *aParentInfo)
|
這個函式會擷取 Thread 路由器 (父項) 的診斷資訊。
|
otThreadGetParentLastRssi(otInstance *aInstance, int8_t *aLastRssi)
|
這個函式會從 Thread 父項擷取最後一個封包的 RSSI。
|
otThreadGetPartitionId(otInstance *aInstance)
|
uint32_t
取得分區 ID。
|
otThreadGetRealmLocalAllThreadNodesMulticastAddress(otInstance *aInstance)
|
const otIp6Address *
取得 Thread Realm-Local All Thread Nodes 多點傳送位址。
|
otThreadGetRloc(otInstance *aInstance)
|
const otIp6Address *
取得 Thread 路由定位器 (RLOC) 位址。
|
otThreadGetRloc16(otInstance *aInstance)
|
uint16_t
取得 RLOC16。
|
otThreadGetServiceAloc(otInstance *aInstance, uint8_t aServiceId, otIp6Address *aServiceAloc)
|
擷取指定服務 ID 的服務 ALOC。
|
otThreadGetTimeInQueueHistogram(otInstance *aInstance, uint16_t *aNumBins, uint32_t *aBinInterval)
|
const uint32_t *
取得 TX 佇列訊息的加入佇列直方圖。
|
otThreadGetVendorModel(otInstance *aInstance)
|
const char *
取得供應商模型字串。
|
otThreadGetVendorName(otInstance *aInstance)
|
const char *
取得供應商名稱字串。
|
otThreadGetVendorSwVersion(otInstance *aInstance)
|
const char *
取得供應商 sw 版本字串。
|
otThreadGetVersion(void)
|
uint16_t
取得 Thread 通訊協定版本。
|
otThreadIsAnycastLocateInProgress(otInstance *aInstance)
|
bool
指出目前是否正在處理任一傳播定位要求。
|
otThreadIsDiscoverInProgress(otInstance *aInstance)
|
bool
判斷目前是否正在進行 MLE Thread 探索。
|
otThreadIsSingleton(otInstance *aInstance)
|
bool
用於指出節點是否為網路上唯一的路由器。
|
otThreadLocateAnycastDestination(otInstance *aInstance, const otIp6Address *aAnycastAddress, otThreadAnycastLocatorCallback aCallback, void *aContext)
|
要求尋找特定任意傳播位址的最接近目的地。
|
otThreadRegisterParentResponseCallback(otInstance *aInstance, otThreadParentResponseCallback aCallback, void *aContext)
|
void
註冊回呼以接收 MLE 父項回應資料。
|
otThreadResetIp6Counters(otInstance *aInstance)
|
void
重設 IPv6 計數器。
|
otThreadResetMleCounters(otInstance *aInstance)
|
void
重設 Thread MLE 計數器。
|
otThreadResetTimeInQueueStat(otInstance *aInstance)
|
void
重設 TX 佇列中的佇列統計資料。
|
otThreadSearchForBetterParent(otInstance *aInstance)
|
啟動讓孩子在與目前家長連結的情況下,搜尋更合適的家長。
|
otThreadSendAddressNotification(otInstance *aInstance, otIp6Address *aDestination, otIp6Address *aTarget, otIp6InterfaceIdentifier *aMlIid)
|
void
傳送主動地址通知 (ADDR_NTF.ntf)。
|
otThreadSendDiagnosticGet(otInstance *aInstance, const otIp6Address *aDestination, const uint8_t aTlvTypes[], uint8_t aCount, otReceiveDiagnosticGetCallback aCallback, void *aCallbackContext)
|
傳送網路診斷取得要求。
|
otThreadSendDiagnosticReset(otInstance *aInstance, const otIp6Address *aDestination, const uint8_t aTlvTypes[], uint8_t aCount)
|
傳送網路診斷重設要求。
|
otThreadSendProactiveBackboneNotification(otInstance *aInstance, otIp6Address *aTarget, otIp6InterfaceIdentifier *aMlIid, uint32_t aTimeSinceLastTransaction)
|
傳送含有 Backbone 連結的主動骨幹通知 (PRO_BB.ntf) 訊息。
|
otThreadSetChildTimeout(otInstance *aInstance, uint32_t aTimeout)
|
void
設定在子項角色執行作業時使用的執行緒子項逾時時間 (以秒為單位)。
|
otThreadSetDiscoveryRequestCallback(otInstance *aInstance, otThreadDiscoveryRequestCallback aCallback, void *aContext)
|
void
設定回呼以接收 MLE 探索要求資料。
|
otThreadSetDomainName(otInstance *aInstance, const char *aDomainName)
|
設定 Thread 網域名稱。
|
otThreadSetEnabled(otInstance *aInstance, bool aEnabled)
|
啟動 Thread 通訊協定作業。
|
otThreadSetExtendedPanId(otInstance *aInstance, const otExtendedPanId *aExtendedPanId)
|
設定 IEEE 802.15.4 擴充永久帳號 ID。
|
otThreadSetFixedDuaInterfaceIdentifier(otInstance *aInstance, const otIp6InterfaceIdentifier *aIid)
|
設定或清除為 Thread 網域單點傳播位址手動指定的介面 ID。
|
otThreadSetJoinerAdvertisement(otInstance *aInstance, uint32_t aOui, const uint8_t *aAdvData, uint8_t aAdvDataLength)
|
設定探索 Thread 網路時的 Thread 彙整器廣告。
|
otThreadSetKeySequenceCounter(otInstance *aInstance, uint32_t aKeySequenceCounter)
|
void
設定 thrKeySequenceCounter。
|
otThreadSetKeySwitchGuardTime(otInstance *aInstance, uint32_t aKeySwitchGuardTime)
|
void
設定 thrKeySwitchGuardTime (以小時為單位)。
|
otThreadSetLinkMode(otInstance *aInstance, otLinkModeConfig aConfig)
|
設定 MLE 連結模式設定。
|
otThreadSetMeshLocalPrefix(otInstance *aInstance, const otMeshLocalPrefix *aMeshLocalPrefix)
|
設定網格本機前置字串。
|
otThreadSetNetworkKey(otInstance *aInstance, const otNetworkKey *aKey)
|
設定 Thread 網路金鑰。
|
otThreadSetNetworkKeyRef(otInstance *aInstance, otNetworkKeyRef aKeyRef)
|
將 Thread 網路金鑰設為
otNetworkKeyRef 。 |
otThreadSetNetworkName(otInstance *aInstance, const char *aNetworkName)
|
設定 Thread Network 名稱。
|
otThreadSetVendorModel(otInstance *aInstance, const char *aVendorModel)
|
設定供應商模型字串。
|
otThreadSetVendorName(otInstance *aInstance, const char *aVendorName)
|
設定供應商名稱字串。
|
otThreadSetVendorSwVersion(otInstance *aInstance, const char *aVendorSwVersion)
|
設定供應商軟體版本字串。
|
結構 |
|
---|---|
otBorderRouterConfig |
代表邊界路由器設定。 |
otExternalRouteConfig |
代表外部路徑設定。 |
otIpCounters |
代表 IP 層級計數器。 |
otLeaderData |
代表 Thread 領導者資料。 |
otLinkModeConfig |
代表 MLE 連結模式設定。 |
otLowpanContextInfo |
代表與網路資料中的前置字串相關聯的 6LoWPAN 內容 ID 資訊。 |
otMleCounters |
代表 Thread MLE 計數器。 |
otNeighborInfo |
保留鄰近 Thread 節點的診斷資訊。 |
otNetworkDiagChildEntry |
代表網路診斷子項表格項目。 |
otNetworkDiagConnectivity |
代表網路診斷連線值。 |
otNetworkDiagMacCounters |
代表網路診斷 Mac 計數器值。 |
otNetworkDiagMleCounters |
代表網路診斷的 MLE 計數器值。 |
otNetworkDiagRoute |
代表網路診斷路徑 TLV 值。 |
otNetworkDiagRouteData |
代表網路診斷路徑資料。 |
otNetworkDiagTlv |
代表網路診斷 TLV。 |
otRouterInfo |
保留 Thread 路由器的診斷資訊。 |
otServerConfig |
代表伺服器設定。 |
otServiceConfig |
代表服務設定。 |
otThreadDiscoveryRequestInfo |
代表 Thread 探索要求資料。 |
otThreadParentResponseInfo |
代表 MLE 母親反應資料。 |
列舉
匿名列舉
anonymous enum
otDeviceRole
otDeviceRole
代表 Thread 裝置角色。
屬性 | |
---|---|
OT_DEVICE_ROLE_CHILD
|
執行緒子項角色。 |
OT_DEVICE_ROLE_DETACHED
|
目前未加入 Thread 網路/分區。 |
OT_DEVICE_ROLE_DISABLED
|
執行緒堆疊已停用。 |
OT_DEVICE_ROLE_LEADER
|
執行緒領導者角色。 |
OT_DEVICE_ROLE_ROUTER
|
Thread 路由器角色。 |
otNetDataPublisherEvent
otNetDataPublisherEvent
代表發布商回呼回報的事件。
屬性 | |
---|---|
OT_NETDATA_PUBLISHER_EVENT_ENTRY_ADDED
|
已發布的項目會新增至 Thread 網路資料。 |
OT_NETDATA_PUBLISHER_EVENT_ENTRY_REMOVED
|
系統會從 Thread 網路資料中移除已發布的項目。 |
otRoutePreference
otRoutePreference
定義 otExternalRouteConfig
和 otBorderRouterConfig
中 mPreference
的有效值。
屬性 | |
---|---|
OT_ROUTE_PREFERENCE_HIGH
|
高路徑偏好設定。 |
OT_ROUTE_PREFERENCE_LOW
|
路線偏好偏低。 |
OT_ROUTE_PREFERENCE_MED
|
中等路徑偏好。 |
Typedefs
otDetachGracefullyCallback
void(* otDetachGracefullyCallback)(void *aContext)
此回呼會通知應用程式,卸離程序已完成。
詳細說明 | |||
---|---|---|---|
參數 |
|
otLowpanContextInfo
struct otLowpanContextInfo otLowpanContextInfo
代表與網路資料中的前置字串相關聯的 6LoWPAN 內容 ID 資訊。
otNeighborInfoIterator
int16_t otNeighborInfoIterator
用於疊代鄰近資料表。
otNetDataDnsSrpServicePublisherCallback
void(* otNetDataDnsSrpServicePublisherCallback)(otNetDataPublisherEvent aEvent, void *aContext)
指標類型定義了在 Thread 網路資料新增或移除「DNS/SRP 服務」項目時,用於通知的回呼。
移除回呼時,會叫用回呼,與 Publisher
是否移除項目無關 (例如,網路資料中已有太多類似的項目),或是透過明確呼叫取消發布項目 (例如對 otNetDataUnpublishDnsSrpService()
的呼叫)。
詳細說明 | |||||
---|---|---|---|---|---|
參數 |
|
otNetDataPrefixPublisherCallback
void(* otNetDataPrefixPublisherCallback)(otNetDataPublisherEvent aEvent, const otIp6Prefix *aPrefix, void *aContext)
指標類型會定義要在 Thread 網路資料中新增或移除前置碼 (網狀網路或外部路徑) 項目時通知的回呼。
移除回呼時,會叫用回呼,與 Publisher
是否移除項目 (例如,網路資料中已有太多類似的項目) 或透過明確呼叫取消發布項目的明確呼叫無關。
詳細說明 | |||||||
---|---|---|---|---|---|---|---|
參數 |
|
otNetworkDataIterator
uint32_t otNetworkDataIterator
用於透過網路資料資訊疊代作業。
otNetworkDiagIterator
uint16_t otNetworkDiagIterator
用於透過網路診斷 TLV 疊代。
otNetworkDiagMacCounters
struct otNetworkDiagMacCounters otNetworkDiagMacCounters
代表網路診斷 Mac 計數器值。
如要瞭解成員欄位的定義,請參閱 RFC 2863。
otReceiveDiagnosticGetCallback
void(* otReceiveDiagnosticGetCallback)(otError aError, otMessage *aMessage, const otMessageInfo *aMessageInfo, void *aContext)
收到網路診斷 Get 回應時就會呼叫指標。
詳細說明 | |||||||||
---|---|---|---|---|---|---|---|---|---|
參數 |
|
otRoutePreference
enum otRoutePreference otRoutePreference
定義 otExternalRouteConfig
和 otBorderRouterConfig
中 mPreference
的有效值。
otThreadAnycastLocatorCallback
void(* otThreadAnycastLocatorCallback)(void *aContext, otError aError, const otIp6Address *aMeshLocalAddress, uint16_t aRloc16)
指標類型會定義用於通知 otThreadLocateAnycastDestination()
要求結果的回呼。
詳細說明 | |||||||||
---|---|---|---|---|---|---|---|---|---|
參數 |
|
otThreadDiscoveryRequestCallback
void(* otThreadDiscoveryRequestCallback)(const otThreadDiscoveryRequestInfo *aInfo, void *aContext)
每次收到 MLE 探索要求訊息時,系統就會呼叫指標。
詳細說明 | |||||
---|---|---|---|---|---|
參數 |
|
otThreadDiscoveryRequestInfo
struct otThreadDiscoveryRequestInfo otThreadDiscoveryRequestInfo
代表 Thread 探索要求資料。
otThreadParentResponseCallback
void(* otThreadParentResponseCallback)(otThreadParentResponseInfo *aInfo, void *aContext)
每次收到 MLE 父項回應訊息時,都會呼叫指標。
用於 otThreadRegisterParentResponseCallback()
。
詳細說明 | |||||
---|---|---|---|---|---|
參數 |
|
otThreadParentResponseInfo
struct otThreadParentResponseInfo otThreadParentResponseInfo
代表 MLE 母親反應資料。
函式
otConvertDurationInSecondsToString
void otConvertDurationInSecondsToString( uint32_t aDuration, char *aBuffer, uint16_t aSize )
將 uint32_t
時間長度 (以秒為單位) 轉換成使用者可理解的字串。
必須啟用 OPENTHREAD_CONFIG_UPTIME_ENABLE
。
字串格式為「
如果產生的字串不符合 aBuffer
(在其 aSize
字元之內) 的大小,系統將截斷字串,但輸出的字串一律會是空值。
適合與 otNeighborInfo
或 otChildInfo
結構中的 mAge
或 mConnectionTime
搭配使用。
詳細說明 | |||||||
---|---|---|---|---|---|---|---|
參數 |
|
otNetDataContainsOmrPrefix
bool otNetDataContainsOmrPrefix( otInstance *aInstance, const otIp6Prefix *aPrefix )
檢查特定前置字串是否能做為有效的 OMR 前置字串,以及領導者的網路資料包含此前置字串。
詳細說明 | |||||
---|---|---|---|---|---|
參數 |
|
||||
傳回 |
aPrefix 是否為有效的 OMR 前置字串,而領導者的網路資料是否包含 OMR 前置字串 aPrefix 。 |
otNetDataGet
otError otNetDataGet( otInstance *aInstance, bool aStable, uint8_t *aData, uint8_t *aDataLength )
提供分區執行緒網路資料的完整或穩定副本。
詳細說明 | |||||||||
---|---|---|---|---|---|---|---|---|---|
參數 |
|
||||||||
傳回值 |
|
otNetDataGetCommissioningDataset
void otNetDataGetCommissioningDataset( otInstance *aInstance, otCommissioningDataset *aDataset )
從分區的網路資料取得調試資料集。
詳細說明 | |||||
---|---|---|---|---|---|
參數 |
|
otNetDataGetLength
uint8_t otNetDataGetLength( otInstance *aInstance )
取得分區執行緒網路資料目前的長度 (位元組數)。
詳細說明 | |||
---|---|---|---|
參數 |
|
||
傳回 |
網路資料的長度。
|
otNetDataGetMaxLength
uint8_t otNetDataGetMaxLength( otInstance *aInstance )
自 OT 堆疊初始化或上次呼叫 otNetDataResetMaxLength()
以來,取得觀察到的 Thread 網路資料長度上限。
詳細說明 | |||
---|---|---|---|
參數 |
|
||
傳回 |
網路資料長度上限 (網路資料長度偏高的浮水印)。
|
otNetDataGetNextLowpanContextInfo
otError otNetDataGetNextLowpanContextInfo( otInstance *aInstance, otNetworkDataIterator *aIterator, otLowpanContextInfo *aContextInfo )
取得分區網路資料中的下 6LoWPAN 情境 ID 資訊。
詳細說明 | |||||||
---|---|---|---|---|---|---|---|
參數 |
|
||||||
傳回值 |
|
otNetDataGetNextOnMeshPrefix
otError otNetDataGetNextOnMeshPrefix( otInstance *aInstance, otNetworkDataIterator *aIterator, otBorderRouterConfig *aConfig )
取得分區網路資料中的下一個網狀前置字串。
詳細說明 | |||||||
---|---|---|---|---|---|---|---|
參數 |
|
||||||
傳回值 |
|
otNetDataGetNextRoute
otError otNetDataGetNextRoute( otInstance *aInstance, otNetworkDataIterator *aIterator, otExternalRouteConfig *aConfig )
取得分區網路資料中的下一個外部路徑。
詳細說明 | |||||||
---|---|---|---|---|---|---|---|
參數 |
|
||||||
傳回值 |
|
otNetDataGetNextService
otError otNetDataGetNextService( otInstance *aInstance, otNetworkDataIterator *aIterator, otServiceConfig *aConfig )
取得分區網路資料中的下一個服務。
詳細說明 | |||||||
---|---|---|---|---|---|---|---|
參數 |
|
||||||
傳回值 |
|
otNetDataGetStableVersion
uint8_t otNetDataGetStableVersion( otInstance *aInstance )
取得穩定版網路資料版本。
詳細說明 | |||
---|---|---|---|
參數 |
|
||
傳回 |
穩定版網路資料版本。
|
otNetDataGetVersion
uint8_t otNetDataGetVersion( otInstance *aInstance )
取得網路資料版本。
詳細說明 | |||
---|---|---|---|
參數 |
|
||
傳回 |
網路資料版本。
|
otNetDataIsDnsSrpServiceAdded
bool otNetDataIsDnsSrpServiceAdded( otInstance *aInstance )
指出「DNS/SRP 服務」項目是否已加入 Thread 網路資料中。
必須啟用 OPENTHREAD_CONFIG_TMF_NETDATA_SERVICE_ENABLE
功能。
詳細說明 | |||||
---|---|---|---|---|---|
參數 |
|
||||
傳回值 |
|
otNetDataIsPrefixAdded
bool otNetDataIsPrefixAdded( otInstance *aInstance, const otIp6Prefix *aPrefix )
指出目前已發布的前置字串項目 (網狀網路或外部路徑) 是否新增至 Thread 網路資料。
必須啟用 OPENTHREAD_CONFIG_BORDER_ROUTER_ENABLE
功能。
詳細說明 | |||||
---|---|---|---|---|---|
參數 |
|
||||
傳回值 |
|
otNetDataPublishDnsSrpServiceAnycast
void otNetDataPublishDnsSrpServiceAnycast( otInstance *aInstance, uint8_t aSequenceNUmber )
要求在 Thread 網路資料中發布「DNS/SRP 服務 Anycast 位址」。
必須啟用 OPENTHREAD_CONFIG_TMF_NETDATA_SERVICE_ENABLE
功能。
呼叫這個函式後,系統會移除並取代先前發布的「DNS/SRP 服務」項目 (從先前呼叫任何 otNetDataPublishDnsSrpService{Type}()
函式)。
詳細說明 | |||||
---|---|---|---|---|---|
參數 |
|
otNetDataPublishDnsSrpServiceUnicast
void otNetDataPublishDnsSrpServiceUnicast( otInstance *aInstance, const otIp6Address *aAddress, uint16_t aPort )
要求在 Thread 網路資料中發布「DNS/SRP 服務 Unicast 位址」。
必須啟用 OPENTHREAD_CONFIG_TMF_NETDATA_SERVICE_ENABLE
功能。
呼叫這個函式後,系統會移除並取代先前發布的「DNS/SRP 服務」項目 (從先前呼叫任何 otNetDataPublishDnsSrpService{Type}()
函式)。
在服務 TLV 資料中加入位址和通訊埠資訊,藉此發布「DNS/SRP 服務 Unicast 位址」。
詳細說明 | |||||||
---|---|---|---|---|---|---|---|
參數 |
|
otNetDataPublishDnsSrpServiceUnicastMeshLocalEid
void otNetDataPublishDnsSrpServiceUnicastMeshLocalEid( otInstance *aInstance, uint16_t aPort )
要求在 Thread 網路資料中發布「DNS/SRP 服務 Unicast 位址」。
必須啟用 OPENTHREAD_CONFIG_TMF_NETDATA_SERVICE_ENABLE
功能。
呼叫這個函式後,系統會移除並取代先前發布的「DNS/SRP 服務」項目 (從先前呼叫任何 otNetDataPublishDnsSrpService{Type}()
函式)。
與 otNetDataPublishDnsSrpServiceUnicast()
不同,需要提供已發布的地址,並在服務 TLV 資料中加入資訊,因此這個函式會使用裝置的網格本機 EID,並在伺服器 TLV 資料中加入資訊。
詳細說明 | |||||
---|---|---|---|---|---|
參數 |
|
otNetDataPublishExternalRoute
otError otNetDataPublishExternalRoute( otInstance *aInstance, const otExternalRouteConfig *aConfig )
要求在 Thread 網路資料中發布外部路徑前置字串。
必須啟用 OPENTHREAD_CONFIG_BORDER_ROUTER_ENABLE
功能。
您只能發布穩定版 (即aConfig.mStable
必須為 TRUE)。
後續呼叫這個方法會取代先前針對相同前置字元的要求。特別是,如果新的呼叫僅變更標記 (例如偏好設定層級),且該前置字元已加到網路資料中,則標記的變更會立即反映在「網路資料」中。這可確保不會突然移除「網路資料」中的現有項目。請注意,偏好設定層級的變更可能會導致系統稍後判斷其他節點使用了相同或更高的偏好設定,進而從網路資料中移除項目。
詳細說明 | |||||||
---|---|---|---|---|---|---|---|
參數 |
|
||||||
傳回值 |
|
otNetDataPublishOnMeshPrefix
otError otNetDataPublishOnMeshPrefix( otInstance *aInstance, const otBorderRouterConfig *aConfig )
要求在 Thread 網路資料中發布網格前置字串。
必須啟用 OPENTHREAD_CONFIG_BORDER_ROUTER_ENABLE
功能。
您只能發布穩定版 (即aConfig.mStable
必須為 TRUE)。
後續呼叫這個方法會取代先前針對相同前置字元的要求。特別是,如果新的呼叫僅變更標記 (例如偏好設定層級),且該前置字元已加到網路資料中,則標記的變更會立即反映在「網路資料」中。這可確保不會突然移除「網路資料」中的現有項目。請注意,偏好設定層級的變更可能會導致系統稍後判斷其他節點使用了相同或更高的偏好設定,進而從網路資料中移除項目。
詳細說明 | |||||||
---|---|---|---|---|---|---|---|
參數 |
|
||||||
傳回值 |
|
otNetDataReplacePublishedExternalRoute
otError otNetDataReplacePublishedExternalRoute( otInstance *aInstance, const otIp6Prefix *aPrefix, const otExternalRouteConfig *aConfig )
取代 Thread 網路資料中先前發布的外部路徑。
必須啟用 OPENTHREAD_CONFIG_BORDER_ROUTER_ENABLE
功能。
如果先前沒有發布過 aPrefix
的外部路徑,這個函式的行為就與 otNetDataPublishExternalRoute()
類似,也就是說,該函式會啟動將 aConfig 發布為 Thread 網路資料中的外部路徑的程序。
如果先前已發布的路徑項目與 aPrefix
相符,系統會將其替換為 aConfig
的新前置字元。
- 如果
aPrefix
已新增至網路資料,aConfig
中新前置字元的變更會立即反映在網路資料中。這可確保網路資料中的路徑項目不會突然移除,且從 aPrefix 快速轉換到新的前置字串。 - 如果未將舊的已發布
aPrefix
加入網路資料,系統會將其替換為新的aConfig
前置字元,但不會立即加入。而是會開始著手在網路資料中發布該前置字串 (視網路資料中出現的相似前置字串數量而定),監控網路資料以判斷新增前置字元的時機/錯誤。
詳細說明 | |||||||
---|---|---|---|---|---|---|---|
參數 |
|
||||||
傳回值 |
|
otNetDataResetMaxLength
void otNetDataResetMaxLength( otInstance *aInstance )
otNetDataSetDnsSrpServicePublisherCallback
void otNetDataSetDnsSrpServicePublisherCallback( otInstance *aInstance, otNetDataDnsSrpServicePublisherCallback aCallback, void *aContext )
設定回呼,在確實將已發布的「DNS/SRP 服務」加入或從 Thread 網路資料中新增或移除時收到通知。
對這個函式的後續呼叫會取代先前設定的所有回呼函式。
必須啟用 OPENTHREAD_CONFIG_TMF_NETDATA_SERVICE_ENABLE
功能。
詳細說明 | |||||||
---|---|---|---|---|---|---|---|
參數 |
|
otNetDataSetPrefixPublisherCallback
void otNetDataSetPrefixPublisherCallback( otInstance *aInstance, otNetDataPrefixPublisherCallback aCallback, void *aContext )
設定回呼,在實際將已發布的前置字串項目加入或從執行緒網路資料中加入或移除時收到通知。
對這個函式的後續呼叫會取代先前設定的所有回呼函式。
必須啟用 OPENTHREAD_CONFIG_BORDER_ROUTER_ENABLE
功能。
詳細說明 | |||||||
---|---|---|---|---|---|---|---|
參數 |
|
otNetDataSteeringDataCheckJoiner
otError otNetDataSteeringDataCheckJoiner( otInstance *aInstance, const otExtAddress *aEui64 )
檢查方向資料是否包含彙整器。
詳細說明 | |||||||
---|---|---|---|---|---|---|---|
參數 |
|
||||||
傳回值 |
|
otNetDataSteeringDataCheckJoinerWithDiscerner
otError otNetDataSteeringDataCheckJoinerWithDiscerner( otInstance *aInstance, const struct otJoinerDiscerner *aDiscerner )
檢查導引資料是否包含具有指定差異值的彙整器。
詳細說明 | |||||||
---|---|---|---|---|---|---|---|
參數 |
|
||||||
傳回值 |
|
otNetDataUnpublishDnsSrpService
void otNetDataUnpublishDnsSrpService( otInstance *aInstance )
取消發布先前從 Thread 網路資料中新增的 DNS/SRP (Anycast 或 Unicast) 服務項目。
必須啟用「OPENTHREAD_CONFIG_TMF_NETDATA_SERVICE_ENABLE
」。
詳細說明 | |||
---|---|---|---|
參數 |
|
otNetDataUnpublishPrefix
otError otNetDataUnpublishPrefix( otInstance *aInstance, const otIp6Prefix *aPrefix )
取消發布先前發布的「網格」或「外部路徑前置字元」。
必須啟用「OPENTHREAD_CONFIG_BORDER_ROUTER_ENABLE
」。
詳細說明 | |||||
---|---|---|---|---|---|
參數 |
|
||||
傳回值 |
|
otThreadBecomeChild
otError otThreadBecomeChild( otInstance *aInstance )
嘗試重新連接做為子項。
詳細說明 | |||||
---|---|---|---|---|---|
參數 |
|
||||
傳回值 |
|
otThreadBecomeDetached
otError otThreadBecomeDetached( otInstance *aInstance )
從 Thread 網路卸離。
詳細說明 | |||||
---|---|---|---|---|---|
參數 |
|
||||
傳回值 |
|
otThreadDetachGracefully
otError otThreadDetachGracefully( otInstance *aInstance, otDetachGracefullyCallback aCallback, void *aContext )
通知網路中的其他節點 (如有),並停止 Thread 通訊協定作業。
如果是路由器,它會傳送 Address Release,或者是將子項逾時設定為 0。
詳細說明 | |||||||
---|---|---|---|---|---|---|---|
參數 |
|
||||||
傳回值 |
|
otThreadDeviceRoleToString
const char * otThreadDeviceRoleToString( otDeviceRole aRole )
將裝置角色轉換為使用者可理解的字串。
詳細說明 | |||
---|---|---|---|
參數 |
|
||
傳回 |
代表
aRole 的字串。 |
otThreadDiscover
otError otThreadDiscover( otInstance *aInstance, uint32_t aScanChannels, uint16_t aPanId, bool aJoiner, bool aEnableEui64Filtering, otHandleActiveScanResult aCallback, void *aCallbackContext )
開始 Thread 探索掃描。
詳細說明 | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
參數 |
|
||||||||||||||
傳回值 |
|
otThreadGetChildTimeout
uint32_t otThreadGetChildTimeout( otInstance *aInstance )
取得在子項角色執行作業時使用的執行緒子項逾時時間 (以秒為單位)。
詳細說明 | |||
---|---|---|---|
參數 |
|
||
傳回 |
執行緒子項逾時值 (以秒為單位)。
|
otThreadSetChildTimeout
otThreadGetDeviceRole
otDeviceRole otThreadGetDeviceRole( otInstance *aInstance )
取得裝置角色。
詳細說明 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
參數 |
|
||||||||||
傳回值 |
|
otThreadGetDomainName
const char * otThreadGetDomainName( otInstance *aInstance )
取得 Thread 網域名稱。
詳細說明 | |||
---|---|---|---|
參數 |
|
||
傳回 |
指向 Thread 網域名稱的指標。
|
otThreadSetDomainName
otThreadGetExtendedPanId
const otExtendedPanId * otThreadGetExtendedPanId( otInstance *aInstance )
取得 IEEE 802.15.4 擴充永久帳號 ID。
詳細說明 | |||
---|---|---|---|
參數 |
|
||
傳回 |
指向 IEEE 802.15.4 擴充永久帳號 ID 的指標。
|
otThreadSetExtendedPanId
otThreadGetFixedDuaInterfaceIdentifier
const otIp6InterfaceIdentifier * otThreadGetFixedDuaInterfaceIdentifier( otInstance *aInstance )
取得為 Thread 網域統一位址手動指定的介面 ID。
啟用 OPENTHREAD_CONFIG_DUA_ENABLE
後即可使用,
詳細說明 | |||
---|---|---|---|
參數 |
|
||
傳回 |
指標,指向手動設定的介面 ID;如未設定,則為 NULL。
|
otThreadSetFixedDuaInterfaceIdentifier
otThreadGetIp6Counters
const otIpCounters * otThreadGetIp6Counters( otInstance *aInstance )
取得 IPv6 計數器。
詳細說明 | |||
---|---|---|---|
參數 |
|
||
傳回 |
IPv6 計數器的指標。
|
otThreadGetKeySequenceCounter
uint32_t otThreadGetKeySequenceCounter( otInstance *aInstance )
取得 thrKeySequenceCounter。
詳細說明 | |||
---|---|---|---|
參數 |
|
||
傳回 |
thrKeySequenceCounter 值。
|
otThreadSetKeySequenceCounter
otThreadGetKeySwitchGuardTime
uint32_t otThreadGetKeySwitchGuardTime( otInstance *aInstance )
取得 thrKeySwitchGuardTime (以小時為單位)。
詳細說明 | |||
---|---|---|---|
參數 |
|
||
傳回 |
thrKeySwitchGuardTime 值 (以小時為單位)。
|
otThreadSetKeySwitchGuardTime
otThreadGetLeaderData
otError otThreadGetLeaderData( otInstance *aInstance, otLeaderData *aLeaderData )
取得 Thread 主管資料。
詳細說明 | |||||
---|---|---|---|---|---|
參數 |
|
||||
傳回值 |
|
otThreadGetLeaderRloc
otError otThreadGetLeaderRloc( otInstance *aInstance, otIp6Address *aLeaderRloc )
傳回主管的 RLOC 指標。
詳細說明 | |||||||
---|---|---|---|---|---|---|---|
參數 |
|
||||||
傳回值 |
|
otThreadGetLeaderRouterId
uint8_t otThreadGetLeaderRouterId( otInstance *aInstance )
取得領導者的路由器 ID。
詳細說明 | |||
---|---|---|---|
參數 |
|
||
傳回 |
領導者的路由器 ID。
|
otThreadGetLeaderWeight
uint8_t otThreadGetLeaderWeight( otInstance *aInstance )
取得領導者的體重。
詳細說明 | |||
---|---|---|---|
參數 |
|
||
傳回 |
領導者體重。
|
otThreadGetLinkLocalAllThreadNodesMulticastAddress
const otIp6Address * otThreadGetLinkLocalAllThreadNodesMulticastAddress( otInstance *aInstance )
取得 Thread Link-本機所有 Thread 節點的多點傳送位址。
位址是連結本機 Unicast 前置字串的多點傳播位址 [RFC 3306],其中包含:
- flgs 設為 3 (P = 1 且 T = 1)
- Scop 已設為 2
- CANNOT TRANSLATE
- 已設為網格本機前置字串的網路前置字串
- 群組 ID 已設為 1
詳細說明 | |||
---|---|---|---|
參數 |
|
||
傳回 |
指向「Thread Link-Local All Thread Nodes」多點傳送位址的指標。
|
otThreadGetLinkLocalIp6Address
const otIp6Address * otThreadGetLinkLocalIp6Address( otInstance *aInstance )
取得 Thread 連結本機 IPv6 位址。
Thread 連結本機位址是由 IEEE802.15.4 擴充地址 (即介面 ID) 所產生。
詳細說明 | |||
---|---|---|---|
參數 |
|
||
傳回 |
指向 Thread 連結本機 IPv6 位址的指標。
|
otThreadGetLinkMode
otLinkModeConfig otThreadGetLinkMode( otInstance *aInstance )
取得 MLE 連結模式設定。
詳細說明 | |||
---|---|---|---|
參數 |
|
||
傳回 |
MLE 連結模式設定。
|
otThreadSetLinkMode
otThreadGetMaxTimeInQueue
uint32_t otThreadGetMaxTimeInQueue( otInstance *aInstance )
取得 TX 佇列中的訊息排入佇列上限。
需要 OPENTHREAD_CONFIG_TX_QUEUE_STATISTICS_ENABLE
。
系統只會追蹤直接傳輸作業的排入佇列時間。計算自訊息加入傳輸佇列開始,直到訊息送至 MAC 層進行傳輸或捨棄為止。
您可以呼叫 otThreadResetTimeInQueueStat()
重設收集的統計資料。
詳細說明 | |||
---|---|---|---|
參數 |
|
||
傳回 |
TX 佇列中所有訊息的排入佇列時間上限 (以毫秒為單位)。
|
otThreadGetMeshLocalEid
const otIp6Address * otThreadGetMeshLocalEid( otInstance *aInstance )
取得網格本機 EID 位址。
詳細說明 | |||
---|---|---|---|
參數 |
|
||
傳回 |
指向網格本機 EID 位址的指標。
|
otThreadGetMeshLocalPrefix
const otMeshLocalPrefix * otThreadGetMeshLocalPrefix( otInstance *aInstance )
傳回指向網格本機前置字串的指標。
詳細說明 | |||
---|---|---|---|
參數 |
|
||
傳回 |
指向網格本機前置字串的指標。
|
otThreadGetMleCounters
const otMleCounters * otThreadGetMleCounters( otInstance *aInstance )
取得 Thread MLE 計數器。
詳細說明 | |||
---|---|---|---|
參數 |
|
||
傳回 |
指向 Thread MLE 計數器的指標。
|
otThreadGetNetworkKey
void otThreadGetNetworkKey( otInstance *aInstance, otNetworkKey *aNetworkKey )
取得 Thread 網路金鑰。
詳細說明 | |||||
---|---|---|---|---|---|
參數 |
|
otThreadSetNetworkKey
otThreadGetNetworkKeyRef
otNetworkKeyRef otThreadGetNetworkKeyRef( otInstance *aInstance )
取得 Thread 網路金鑰的 otNetworkKeyRef
。
必須啟用建構時間功能 OPENTHREAD_CONFIG_PLATFORM_KEY_REFERENCES_ENABLE
。
詳細說明 | |||
---|---|---|---|
參數 |
|
||
傳回 |
參照儲存在記憶體中的 Thread 網路金鑰。
|
otThreadSetNetworkKeyRef
otThreadGetNetworkName
const char * otThreadGetNetworkName( otInstance *aInstance )
取得 Thread 網路名稱。
詳細說明 | |||
---|---|---|---|
參數 |
|
||
傳回 |
指向 Thread 網路名稱的指標。
|
otThreadSetNetworkName
otThreadGetNextDiagnosticTlv
otError otThreadGetNextDiagnosticTlv( const otMessage *aMessage, otNetworkDiagIterator *aIterator, otNetworkDiagTlv *aNetworkDiagTlv )
取得訊息中的下一個網路診斷 TLV。
需要 OPENTHREAD_CONFIG_TMF_NETDIAG_CLIENT_ENABLE
。
只有在目前傳回值為 OT_ERROR_NONE 時,才能對此函式進行後續呼叫。
詳細說明 | |||||||
---|---|---|---|---|---|---|---|
參數 |
|
||||||
傳回值 |
|
otThreadGetNextNeighborInfo
otError otThreadGetNextNeighborInfo( otInstance *aInstance, otNeighborInfoIterator *aIterator, otNeighborInfo *aInfo )
取得下一個鄰點資訊。
用於查看鄰點資料表的項目。
詳細說明 | |||||||
---|---|---|---|---|---|---|---|
參數 |
|
||||||
傳回值 |
|
otThreadGetParentAverageRssi
otError otThreadGetParentAverageRssi( otInstance *aInstance, int8_t *aParentRssi )
函式會擷取 Thread 父項的平均 RSSI。
詳細說明 | |||||
---|---|---|---|---|---|
參數 |
|
otThreadGetParentInfo
otError otThreadGetParentInfo( otInstance *aInstance, otRouterInfo *aParentInfo )
這個函式會擷取 Thread 路由器 (父項) 的診斷資訊。
詳細說明 | |||||
---|---|---|---|---|---|
參數 |
|
otThreadGetParentLastRssi
otError otThreadGetParentLastRssi( otInstance *aInstance, int8_t *aLastRssi )
這個函式會從 Thread 父項擷取最後一個封包的 RSSI。
詳細說明 | |||||||
---|---|---|---|---|---|---|---|
參數 |
|
||||||
傳回值 |
|
otThreadGetPartitionId
uint32_t otThreadGetPartitionId( otInstance *aInstance )
取得分區 ID。
詳細說明 | |||
---|---|---|---|
參數 |
|
||
傳回 |
分區 ID。
|
otThreadGetRealmLocalAllThreadNodesMulticastAddress
const otIp6Address * otThreadGetRealmLocalAllThreadNodesMulticastAddress( otInstance *aInstance )
取得 Thread Realm-Local All Thread Nodes 多點傳送位址。
位址是運作位置的 Unicast 前置字串式多點傳播位址 [RFC 3306],其中包含:
- flgs 設為 3 (P = 1 且 T = 1)
- Scop 已設為 3
- CANNOT TRANSLATE
- 已設為網格本機前置字串的網路前置字串
- 群組 ID 已設為 1
詳細說明 | |||
---|---|---|---|
參數 |
|
||
傳回 |
指向 Thread Realm-Local All Thread Nodes 多點傳送位址的指標。
|
otThreadGetRloc
const otIp6Address * otThreadGetRloc( otInstance *aInstance )
取得 Thread 路由定位器 (RLOC) 位址。
詳細說明 | |||
---|---|---|---|
參數 |
|
||
傳回 |
指向 Thread 路由定位器 (RLOC) 位址的指標。
|
otThreadGetRloc16
uint16_t otThreadGetRloc16( otInstance *aInstance )
取得 RLOC16。
詳細說明 | |||
---|---|---|---|
參數 |
|
||
傳回 |
RLOC16。
|
otThreadGetServiceAloc
otError otThreadGetServiceAloc( otInstance *aInstance, uint8_t aServiceId, otIp6Address *aServiceAloc )
擷取指定服務 ID 的服務 ALOC。
詳細說明 | |||||||
---|---|---|---|---|---|---|---|
參數 |
|
||||||
傳回值 |
|
otThreadGetTimeInQueueHistogram
const uint32_t * otThreadGetTimeInQueueHistogram( otInstance *aInstance, uint16_t *aNumBins, uint32_t *aBinInterval )
取得 TX 佇列訊息的加入佇列直方圖。
需要 OPENTHREAD_CONFIG_TX_QUEUE_STATISTICS_ENABLE
。
收集傳送佇列中訊息排入佇列的直方圖。系統只會追蹤直接傳輸作業的排入佇列時間。計算自訊息加入傳輸佇列開始,直到訊息送至 MAC 層進行傳輸或捨棄為止。
直方圖會以 uint32_t
值陣列的形式傳回,其中包含 aNumBins
項目。陣列 (索引 0) 中的第一個項目代表佇列中時間低於 aBinInterval
的訊息數。第二個項目代表佇列中時間大於或等於 aBinInterval
,但小於 2 * aBinInterval
的訊息數。依此類推。最後一個項目代表佇列中時間大於或等於 (aNumBins - 1) * aBinInterval
的訊息數量。
您可以呼叫 otThreadResetTimeInQueueStat()
重設收集的統計資料。自 OpenThread 執行個體初始化,或呼叫 otThreadResetTimeInQueueStat()
上次重設統計資料收集後,系統就會收集直方圖資訊。
指標 aNumBins
和 aBinInterval
不得為空值。
詳細說明 | |||||||
---|---|---|---|---|---|---|---|
參數 |
|
||||||
傳回 |
指向
aNumBins 項目陣列的指標,用來代表收集的直方圖資訊。 |
otThreadGetVendorModel
const char * otThreadGetVendorModel( otInstance *aInstance )
取得供應商模型字串。
詳細說明 | |||
---|---|---|---|
參數 |
|
||
傳回 |
供應商模型字串。
|
otThreadGetVendorName
const char * otThreadGetVendorName( otInstance *aInstance )
取得供應商名稱字串。
詳細說明 | |||
---|---|---|---|
參數 |
|
||
傳回 |
供應商名稱字串。
|
otThreadGetVendorSwVersion
const char * otThreadGetVendorSwVersion( otInstance *aInstance )
取得供應商 sw 版本字串。
詳細說明 | |||
---|---|---|---|
參數 |
|
||
傳回 |
供應商 sw 版本字串。
|
otThreadGetVersion
uint16_t otThreadGetVersion( void )
取得 Thread 通訊協定版本。
詳細說明 | |
---|---|
傳回 |
Thread 通訊協定版本
|
otThreadIsAnycastLocateInProgress
bool otThreadIsAnycastLocateInProgress( otInstance *aInstance )
指出目前是否正在處理任一傳播定位要求。
需啟用 OPENTHREAD_CONFIG_TMF_ANYCAST_LOCATOR_ENABLE
才能使用。
詳細說明 | |||
---|---|---|---|
參數 |
|
||
傳回 |
如果目前正在進行任一傳播定位要求,則傳回 TRUE,否則為 FALSE。
|
otThreadIsDiscoverInProgress
bool otThreadIsDiscoverInProgress( otInstance *aInstance )
判斷目前是否正在進行 MLE Thread 探索。
詳細說明 | |||
---|---|---|---|
參數 |
|
otThreadIsSingleton
bool otThreadIsSingleton( otInstance *aInstance )
用於指出節點是否為網路上唯一的路由器。
詳細說明 | |||||
---|---|---|---|---|---|
參數 |
|
||||
傳回值 |
|
otThreadLocateAnycastDestination
otError otThreadLocateAnycastDestination( otInstance *aInstance, const otIp6Address *aAnycastAddress, otThreadAnycastLocatorCallback aCallback, void *aContext )
要求尋找特定任意傳播位址的最接近目的地。
需啟用 OPENTHREAD_CONFIG_TMF_ANYCAST_LOCATOR_ENABLE
才能使用。
如果上一個要求持續進行,則對這個函式的後續呼叫會取消並取代先前的要求。
詳細說明 | |||||||||
---|---|---|---|---|---|---|---|---|---|
參數 |
|
||||||||
傳回值 |
|
otThreadRegisterParentResponseCallback
void otThreadRegisterParentResponseCallback( otInstance *aInstance, otThreadParentResponseCallback aCallback, void *aContext )
註冊回呼以接收 MLE 父項回應資料。
需要 OPENTHREAD_CONFIG_MLE_PARENT_RESPONSE_CALLBACK_API_ENABLE
。
詳細說明 | |||||||
---|---|---|---|---|---|---|---|
參數 |
|
otThreadResetIp6Counters
void otThreadResetIp6Counters( otInstance *aInstance )
重設 IPv6 計數器。
詳細說明 | |||
---|---|---|---|
參數 |
|
otThreadResetMleCounters
void otThreadResetMleCounters( otInstance *aInstance )
重設 Thread MLE 計數器。
詳細說明 | |||
---|---|---|---|
參數 |
|
otThreadResetTimeInQueueStat
void otThreadResetTimeInQueueStat( otInstance *aInstance )
重設 TX 佇列中的佇列統計資料。
需要 OPENTHREAD_CONFIG_TX_QUEUE_STATISTICS_ENABLE
。
詳細說明 | |||
---|---|---|---|
參數 |
|
otThreadSearchForBetterParent
otError otThreadSearchForBetterParent( otInstance *aInstance )
啟動讓孩子在與目前家長連結的情況下,搜尋更合適的家長。
附加在孩童裝置上的裝置時必須使用。
詳細說明 | |||||
---|---|---|---|---|---|
傳回值 |
|
otThreadSendAddressNotification
void otThreadSendAddressNotification( otInstance *aInstance, otIp6Address *aDestination, otIp6Address *aTarget, otIp6InterfaceIdentifier *aMlIid )
傳送主動地址通知 (ADDR_NTF.ntf)。
需啟用 OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE
才能使用。
詳細說明 | |||||||||
---|---|---|---|---|---|---|---|---|---|
參數 |
|
otThreadSendDiagnosticGet
otError otThreadSendDiagnosticGet( otInstance *aInstance, const otIp6Address *aDestination, const uint8_t aTlvTypes[], uint8_t aCount, otReceiveDiagnosticGetCallback aCallback, void *aCallbackContext )
傳送網路診斷取得要求。
需要 OPENTHREAD_CONFIG_TMF_NETDIAG_CLIENT_ENABLE
。
詳細說明 | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
參數 |
|
||||||||||||
傳回值 |
|
otThreadSendDiagnosticReset
otError otThreadSendDiagnosticReset( otInstance *aInstance, const otIp6Address *aDestination, const uint8_t aTlvTypes[], uint8_t aCount )
傳送網路診斷重設要求。
需要 OPENTHREAD_CONFIG_TMF_NETDIAG_CLIENT_ENABLE
。
詳細說明 | |||||||||
---|---|---|---|---|---|---|---|---|---|
參數 |
|
||||||||
傳回值 |
|
otThreadSendProactiveBackboneNotification
otError otThreadSendProactiveBackboneNotification( otInstance *aInstance, otIp6Address *aTarget, otIp6InterfaceIdentifier *aMlIid, uint32_t aTimeSinceLastTransaction )
傳送含有 Backbone 連結的主動骨幹通知 (PRO_BB.ntf) 訊息。
需啟用 OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE
才能使用。
詳細說明 | |||||||||
---|---|---|---|---|---|---|---|---|---|
參數 |
|
||||||||
傳回值 |
|
otThreadSetChildTimeout
void otThreadSetChildTimeout( otInstance *aInstance, uint32_t aTimeout )
設定在子項角色執行作業時使用的執行緒子項逾時時間 (以秒為單位)。
詳細說明 | |||||
---|---|---|---|---|---|
參數 |
|
otThreadGetChildTimeout
otThreadSetDiscoveryRequestCallback
void otThreadSetDiscoveryRequestCallback( otInstance *aInstance, otThreadDiscoveryRequestCallback aCallback, void *aContext )
設定回呼以接收 MLE 探索要求資料。
詳細說明 | |||||||
---|---|---|---|---|---|---|---|
參數 |
|
otThreadSetDomainName
otError otThreadSetDomainName( otInstance *aInstance, const char *aDomainName )
設定 Thread 網域名稱。
只有在 Thread 通訊協定都停用時才會成功。
詳細說明 | |||||
---|---|---|---|---|---|
參數 |
|
||||
傳回值 |
|
otThreadGetDomainName
otThreadSetEnabled
otError otThreadSetEnabled( otInstance *aInstance, bool aEnabled )
啟動 Thread 通訊協定作業。
呼叫此函式時,必須啟動介面。
呼叫此函式並將 aEnabled
設為 FALSE,即可停止由 otThreadDetachGracefully() 啟動的任何進行中卸離程序。系統會呼叫回呼。
詳細說明 | |||||
---|---|---|---|---|---|
參數 |
|
||||
傳回值 |
|
otThreadSetExtendedPanId
otError otThreadSetExtendedPanId( otInstance *aInstance, const otExtendedPanId *aExtendedPanId )
設定 IEEE 802.15.4 擴充永久帳號 ID。
詳細說明 | |||||
---|---|---|---|---|---|
參數 |
|
||||
傳回值 |
|
otThreadGetExtendedPanId
otThreadSetFixedDuaInterfaceIdentifier
otError otThreadSetFixedDuaInterfaceIdentifier( otInstance *aInstance, const otIp6InterfaceIdentifier *aIid )
設定或清除為 Thread 網域單點傳播位址手動指定的介面 ID。
啟用 OPENTHREAD_CONFIG_DUA_ENABLE
後即可使用,
詳細說明 | |||||
---|---|---|---|---|---|
參數 |
|
||||
傳回值 |
|
otThreadGetFixedDuaInterfaceIdentifier
otThreadSetJoinerAdvertisement
otError otThreadSetJoinerAdvertisement( otInstance *aInstance, uint32_t aOui, const uint8_t *aAdvData, uint8_t aAdvDataLength )
設定探索 Thread 網路時的 Thread 彙整器廣告。
使用 Thread 彙整者廣告,彙整者可以透過新建議的聯合機構廣告 TLV,宣傳自己的申請資料 (例如供應商 ID、產品 ID、鑑別器等),並且向委員會或委員候選人提供這類資訊,無須與專員進行互動。
詳細說明 | |||||||||
---|---|---|---|---|---|---|---|---|---|
參數 |
|
||||||||
傳回值 |
|
otThreadSetKeySequenceCounter
void otThreadSetKeySequenceCounter( otInstance *aInstance, uint32_t aKeySequenceCounter )
設定 thrKeySequenceCounter。
詳細說明 | |||||
---|---|---|---|---|---|
參數 |
|
otThreadGetKeySequenceCounter
otThreadSetKeySwitchGuardTime
void otThreadSetKeySwitchGuardTime( otInstance *aInstance, uint32_t aKeySwitchGuardTime )
設定 thrKeySwitchGuardTime (以小時為單位)。
詳細說明 | |||||
---|---|---|---|---|---|
參數 |
|
otThreadGetKeySwitchGuardTime
otThreadSetLinkMode
otError otThreadSetLinkMode( otInstance *aInstance, otLinkModeConfig aConfig )
設定 MLE 連結模式設定。
詳細說明 | |||||
---|---|---|---|---|---|
參數 |
|
||||
傳回值 |
|
otThreadGetLinkMode
otThreadSetMeshLocalPrefix
otError otThreadSetMeshLocalPrefix( otInstance *aInstance, const otMeshLocalPrefix *aMeshLocalPrefix )
設定網格本機前置字串。
只有在 Thread 通訊協定已停用的情況下才會成功。如果呼叫此函式成功,會導致不可變動記憶體中的有效和待處理作業資料集失效。
詳細說明 | |||||
---|---|---|---|---|---|
參數 |
|
||||
傳回值 |
|
otThreadSetNetworkKey
otError otThreadSetNetworkKey( otInstance *aInstance, const otNetworkKey *aKey )
設定 Thread 網路金鑰。
只有在 Thread 通訊協定已停用的情況下才會成功。如果呼叫此函式成功,會導致不可變動記憶體中的有效和待處理作業資料集失效。
詳細說明 | |||||
---|---|---|---|---|---|
參數 |
|
||||
傳回值 |
|
otThreadGetNetworkKey
otThreadSetNetworkKeyRef
otError otThreadSetNetworkKeyRef( otInstance *aInstance, otNetworkKeyRef aKeyRef )
將 Thread 網路金鑰設為 otNetworkKeyRef
。
只有在 Thread 通訊協定已停用的情況下才會成功。如果呼叫此函式成功,會導致不可變動記憶體中的有效和待處理作業資料集失效。
必須啟用建構時間功能 OPENTHREAD_CONFIG_PLATFORM_KEY_REFERENCES_ENABLE
。
詳細說明 | |||||
---|---|---|---|---|---|
參數 |
|
||||
傳回值 |
|
otThreadGetNetworkKeyRef
otThreadSetNetworkName
otError otThreadSetNetworkName( otInstance *aInstance, const char *aNetworkName )
設定 Thread Network 名稱。
只有在 Thread 通訊協定已停用的情況下才會成功。如果呼叫此函式成功,會導致不可變動記憶體中的有效和待處理作業資料集失效。
詳細說明 | |||||
---|---|---|---|---|---|
參數 |
|
||||
傳回值 |
|
otThreadGetNetworkName
otThreadSetVendorModel
otError otThreadSetVendorModel( otInstance *aInstance, const char *aVendorModel )
設定供應商模型字串。
需要 OPENTHREAD_CONFIG_NET_DIAG_VENDOR_INFO_SET_API_ENABLE
。
「aVendorModel
」應為 UTF8,長度上限為 32 個半形字元 (MAX_VENDOR_MODEL_TLV_LENGTH
)。長度上限不含空值 \0
字元。
詳細說明 | |||||
---|---|---|---|---|---|
參數 |
|
||||
傳回值 |
|
otThreadSetVendorName
otError otThreadSetVendorName( otInstance *aInstance, const char *aVendorName )
設定供應商名稱字串。
需要 OPENTHREAD_CONFIG_NET_DIAG_VENDOR_INFO_SET_API_ENABLE
。
「aVendorName
」應為 UTF8,長度上限為 32 個半形字元 (MAX_VENDOR_NAME_TLV_LENGTH
)。長度上限不含空值 \0
字元。
詳細說明 | |||||
---|---|---|---|---|---|
參數 |
|
||||
傳回值 |
|
otThreadSetVendorSwVersion
otError otThreadSetVendorSwVersion( otInstance *aInstance, const char *aVendorSwVersion )
設定供應商軟體版本字串。
需要 OPENTHREAD_CONFIG_NET_DIAG_VENDOR_INFO_SET_API_ENABLE
。
aVendorSwVersion
應為 UTF8,長度上限為 16 個字元(MAX_VENDOR_SW_VERSION_TLV_LENGTH
)。長度上限不含空值 \0
字元。
詳細說明 | |||||
---|---|---|---|---|---|
參數 |
|
||||
傳回值 |
|
巨集
OT_DURATION_STRING_SIZE
OT_DURATION_STRING_SIZE 21
代表 uint32_t
時間長度 (以秒為單位) 的字串表示方式建議大小。
OT_JOINER_ADVDATA_MAX_LENGTH
OT_JOINER_ADVDATA_MAX_LENGTH 64
加入廣告聯賽廣告的 AdvData 長度上限。
OT_NEIGHBOR_INFO_ITERATOR_INIT
OT_NEIGHBOR_INFO_ITERATOR_INIT 0
otNeighborInfoIterator 的初始化器。
OT_NETWORK_BASE_TLV_MAX_LENGTH
OT_NETWORK_BASE_TLV_MAX_LENGTH 254
執行緒基本 TLV 的最大值。
OT_NETWORK_DATA_ITERATOR_INIT
OT_NETWORK_DATA_ITERATOR_INIT 0
要初始化 otNetworkDataIterator
的值。
OT_NETWORK_DIAGNOSTIC_CHILD_TABLE_ENTRY_SIZE
OT_NETWORK_DIAGNOSTIC_CHILD_TABLE_ENTRY_SIZE 3
「網路診斷」子項表格項目的大小。
OT_NETWORK_DIAGNOSTIC_ITERATOR_INIT
OT_NETWORK_DIAGNOSTIC_ITERATOR_INIT 0
otNetworkDiagIterator 的 Initializer。
OT_NETWORK_DIAGNOSTIC_MAX_THREAD_STACK_VERSION_TLV_LENGTH
OT_NETWORK_DIAGNOSTIC_MAX_THREAD_STACK_VERSION_TLV_LENGTH 64
執行緒堆疊版本 TLV 的長度上限。
OT_NETWORK_DIAGNOSTIC_MAX_VENDOR_MODEL_TLV_LENGTH
OT_NETWORK_DIAGNOSTIC_MAX_VENDOR_MODEL_TLV_LENGTH 32
供應商型號 TLV 的長度上限。
OT_NETWORK_DIAGNOSTIC_MAX_VENDOR_NAME_TLV_LENGTH
OT_NETWORK_DIAGNOSTIC_MAX_VENDOR_NAME_TLV_LENGTH 32
供應商名稱 TLV 的長度上限。
OT_NETWORK_DIAGNOSTIC_MAX_VENDOR_SW_VERSION_TLV_LENGTH
OT_NETWORK_DIAGNOSTIC_MAX_VENDOR_SW_VERSION_TLV_LENGTH 16
供應商軟體版本 TLV 的長度上限。
OT_NETWORK_DIAGNOSTIC_TYPELIST_MAX_ENTRIES
OT_NETWORK_DIAGNOSTIC_TYPELIST_MAX_ENTRIES 19
要要求或重設的網路診斷 TLV 類型數量上限。
OT_NETWORK_MAX_ROUTER_ID
OT_NETWORK_MAX_ROUTER_ID 62
路由器 ID 上限。
OT_SERVER_DATA_MAX_SIZE
OT_SERVER_DATA_MAX_SIZE 248
伺服器資料的大小上限 (以位元組為單位)。理論上限制一般較低。
OT_SERVICE_DATA_MAX_SIZE
OT_SERVICE_DATA_MAX_SIZE 252
Service Data 的大小上限 (以位元組為單位)。
資源
OpenThread API 參考資料主題源自原始碼,請前往 GitHub 取得。如要瞭解詳情或對說明文件做出貢獻,請參閱資源。