ルーター/リーダー

このモジュールには、Thread Router と Thread リーダーの関数が含まれています。

概要

列挙型

otCacheEntryState enum
EID キャッシュ エントリの状態を定義します。
otNeighborTableEvent{
  OT_NEIGHBOR_TABLE_EVENT_CHILD_ADDED,
  OT_NEIGHBOR_TABLE_EVENT_CHILD_REMOVED,
  OT_NEIGHBOR_TABLE_EVENT_CHILD_MODE_CHANGED,
  OT_NEIGHBOR_TABLE_EVENT_ROUTER_ADDED,
  OT_NEIGHBOR_TABLE_EVENT_ROUTER_REMOVED
}
enum
隣接テーブルの変更を示すために otNeighborTableCallback で使用される定数を定義します。
otPowerSupply{
  OT_POWER_SUPPLY_BATTERY = 0,
  OT_POWER_SUPPLY_EXTERNAL = 1,
  OT_POWER_SUPPLY_EXTERNAL_STABLE = 2,
  OT_POWER_SUPPLY_EXTERNAL_UNSTABLE = 3
}
enum
デバイスの電源プロパティを表します。

Typedef

otCacheEntryInfo typedef
EID キャッシュ エントリを表します。
otCacheEntryIterator typedef
EID キャッシュ テーブルのエントリを反復処理するために使用されるイテレータを表します。
otCacheEntryState typedef
EID キャッシュ エントリの状態を定義します。
otChildIp6AddressIterator typedef
uint16_t
Thread の子エントリの IPv6 アドレスを反復処理するために使用されます。
otDeviceProperties typedef
デバイスのローカル リーダー ウェイトを計算するために使用されるデバイス プロパティを表します。
otNeighborTableCallback)(otNeighborTableEvent aEvent, const otNeighborTableEntryInfo *aEntryInfo) typedef
void(*
隣接テーブルに変更があったことを通知するためにポインタが呼び出されます。

関数

otThreadBecomeLeader(otInstance *aInstance)
リーダーになって新しいパーティションを開始します。
otThreadBecomeRouter(otInstance *aInstance)
ルーターに設定してみます。
otThreadGetAdvertisementTrickleIntervalMax(otInstance *aInstance)
uint32_t
アドバタイズメント トリクル タイマーで使用される現在の間隔最大値を取得します。
otThreadGetChildInfoById(otInstance *aInstance, uint16_t aChildId, otChildInfo *aChildInfo)
子 ID または RLOC16 で、添付された子の診断情報を取得します。
otThreadGetChildInfoByIndex(otInstance *aInstance, uint16_t aChildIndex, otChildInfo *aChildInfo)
この関数は、アタッチされた子の診断情報を内部テーブル インデックスによって保持します。
otThreadGetChildNextIp6Address(otInstance *aInstance, uint16_t aChildIndex, otChildIp6AddressIterator *aIterator, otIp6Address *aAddress)
指定された子の次の IPv6 アドレスを(イテレータを使用して)取得します。
otThreadGetChildRouterLinks(otInstance *aInstance)
uint8_t
REED ロールで使用される MLE_CHILD_ROUTER_LINKS パラメータを取得します。
otThreadGetContextIdReuseDelay(otInstance *aInstance)
uint32_t
リーダーのロールで使用される CONTEXT_ID_REUSE_DELAY パラメータを取得します。
otThreadGetDeviceProperties(otInstance *aInstance)
現在のデバイスのプロパティを取得します。
otThreadGetJoinerUdpPort(otInstance *aInstance)
uint16_t
Joiner UDP ポートを取得します。
otThreadGetLocalLeaderWeight(otInstance *aInstance)
uint8_t
リーダー ロールで操作しているときに使用される Thread リーダーの重みを取得します。
otThreadGetMaxAllowedChildren(otInstance *aInstance)
uint16_t
現在許可されている子の最大数を取得します。
otThreadGetMaxChildIpAddresses(otInstance *aInstance)
uint8_t
それぞれの MTD の子がこのデバイスに親として登録できる IP アドレスの最大数を取得します。
otThreadGetMaxRouterId(otInstance *aInstance)
uint8_t
この関数は、使用可能な最大ルーター ID を返します。
otThreadGetNetworkIdTimeout(otInstance *aInstance)
uint8_t
NETWORK_ID_TIMEOUT パラメータを取得します。
otThreadGetNextCacheEntry(otInstance *aInstance, otCacheEntryInfo *aEntryInfo, otCacheEntryIterator *aIterator)
次の EID キャッシュ エントリを(イテレータを使用して)取得します。
otThreadGetNextHopAndPathCost(otInstance *aInstance, uint16_t aDestRloc16, uint16_t *aNextHopRloc16, uint8_t *aPathCost)
void
指定された RLOC16 宛先へのネクストホップとパスのコストを取得します。
otThreadGetParentPriority(otInstance *aInstance)
int8_t
割り当てられた親の優先度を取得します。
otThreadGetPreferredLeaderPartitionId(otInstance *aInstance)
uint32_t
リーダーのロールで操作する際に使用される、優先される Thread リーダー パーティション ID を取得します。
otThreadGetPskc(otInstance *aInstance, otPskc *aPskc)
void
Thread PSKc を取得します。
otThreadGetPskcRef(otInstance *aInstance)
保存されたスレッド PSKc へのキー参照を取得。
otThreadGetRouterDowngradeThreshold(otInstance *aInstance)
uint8_t
Router ロールで使用される ROUTER_DOWNGRADE_THRESHOLD パラメータを取得します。
otThreadGetRouterIdRange(otInstance *aInstance, uint8_t *aMinRouterId, uint8_t *aMaxRouterId)
void
スレッド ネットワーク内のノードに割り当てることができるルーター ID の範囲を取得します。
otThreadGetRouterIdSequence(otInstance *aInstance)
uint8_t
現在の Router ID シーケンスを取得します。
otThreadGetRouterInfo(otInstance *aInstance, uint16_t aRouterId, otRouterInfo *aRouterInfo)
この関数は、特定の Thread Router の診断情報を保持します。
otThreadGetRouterSelectionJitter(otInstance *aInstance)
uint8_t
REED/ルーターのロールで使用される ROUTER_SELECTION_JITTER パラメータを取得します。
otThreadGetRouterUpgradeThreshold(otInstance *aInstance)
uint8_t
REED ロールで使用される ROUTER_UPGRADE_THRESHOLD パラメータを取得します。
otThreadIsRouterEligible(otInstance *aInstance)
bool
デバイスがルーターに対応しているかどうかを示します。
otThreadIsRouterIdAllocated(otInstance *aInstance, uint8_t aRouterId)
bool
Router ID が現在割り当てられているかどうかを示します。
otThreadRegisterNeighborTableCallback(otInstance *aInstance, otNeighborTableCallback aCallback)
void
近傍テーブルのコールバック関数を登録します。
otThreadReleaseRouterId(otInstance *aInstance, uint8_t aRouterId)
リーダーロールのデバイスによって割り当てられたルーター ID を解放します。
otThreadSetCcmEnabled(otInstance *aInstance, bool aEnabled)
void
デバイスが CCM を使用してコミッショニングされたかどうかを設定します。
otThreadSetChildRouterLinks(otInstance *aInstance, uint8_t aChildRouterLinks)
REED ロールで使用される MLE_CHILD_ROUTER_LINKS パラメータを設定します。
otThreadSetContextIdReuseDelay(otInstance *aInstance, uint32_t aDelay)
void
リーダーのロールで使用される CONTEXT_ID_REUSE_DELAY パラメータを設定します。
otThreadSetDeviceProperties(otInstance *aInstance, const otDeviceProperties *aDeviceProperties)
void
リーダー ウェイトの特定と設定に使用されるデバイスのプロパティを設定します。
otThreadSetJoinerUdpPort(otInstance *aInstance, uint16_t aJoinerUdpPort)
Joiner UDP ポートを設定します。
otThreadSetLocalLeaderWeight(otInstance *aInstance, uint8_t aWeight)
void
リーダー ロールで操作しているときに使用される Thread リーダーの重みを設定します。
otThreadSetMaxAllowedChildren(otInstance *aInstance, uint16_t aMaxChildren)
現在許可されている子の最大数を設定します。
otThreadSetMaxChildIpAddresses(otInstance *aInstance, uint8_t aMaxIpAddresses)
それぞれの MTD の子が親としてこのデバイスに登録できる IP アドレスの最大数を設定または復元します。
otThreadSetNetworkIdTimeout(otInstance *aInstance, uint8_t aTimeout)
void
NETWORK_ID_TIMEOUT パラメータを設定します。
otThreadSetParentPriority(otInstance *aInstance, int8_t aParentPriority)
親の優先度を設定します。
otThreadSetPreferredLeaderPartitionId(otInstance *aInstance, uint32_t aPartitionId)
void
リーダーロールで操作するときに使用する優先 Thread リーダー パーティション ID を設定します。
otThreadSetPreferredRouterId(otInstance *aInstance, uint8_t aRouterId)
優先ルーター ID を設定します。
otThreadSetPskc(otInstance *aInstance, const otPskc *aPskc)
スレッド PSKc を設定します。
otThreadSetPskcRef(otInstance *aInstance, otPskcRef aKeyRef)
Key Reference を Thread PSKc に設定します。
otThreadSetRouterDowngradeThreshold(otInstance *aInstance, uint8_t aThreshold)
void
リーダー ロールで使用される ROUTER_DOWNGRADE_THRESHOLD パラメータを設定します。
otThreadSetRouterEligible(otInstance *aInstance, bool aEligible)
デバイスがルーター対応かどうかを設定します。
otThreadSetRouterIdRange(otInstance *aInstance, uint8_t aMinRouterId, uint8_t aMaxRouterId)
スレッド ネットワーク内のノードに割り当てることができるルーター ID の範囲を設定します。
otThreadSetRouterSelectionJitter(otInstance *aInstance, uint8_t aRouterJitter)
void
REED/ルーターのロールで使用される ROUTER_SELECTION_JITTER パラメータを設定します。
otThreadSetRouterUpgradeThreshold(otInstance *aInstance, uint8_t aThreshold)
void
リーダーのロールで使用される ROUTER_UPGRADE_THRESHOLD パラメータを設定します。
otThreadSetSteeringData(otInstance *aInstance, const otExtAddress *aExtAddress)
void
ステアリング データを帯域外に設定する。
otThreadSetThreadVersionCheckEnabled(otInstance *aInstance, bool aEnabled)
void
ルーティング(VR フィールド)のセキュリティ ポリシー TLV バージョンしきい値を有効にするかどうかを設定します。

構造体

otCacheEntryInfo

EID キャッシュ エントリを表します。

otCacheEntryIterator

EID キャッシュ テーブルのエントリを反復処理するために使用されるイテレータを表します。

otChildInfo

Thread 子の診断情報を保持します。

otDeviceProperties

デバイスのローカル リーダー ウェイトを計算するために使用されるデバイス プロパティを表します。

otNeighborTableEntryInfo

近傍テーブルのエントリ情報(子またはルーター)を表し、近傍テーブルのコールバック otNeighborTableCallback のパラメータとして使用されます。

列挙型

otCacheEntryState

 otCacheEntryState

EID キャッシュ エントリの状態を定義します。

otNeighborTableEvent

 otNeighborTableEvent

隣接テーブルの変更を示すために otNeighborTableCallback で使用される定数を定義します。

プロパティ
OT_NEIGHBOR_TABLE_EVENT_CHILD_ADDED

お子様を追加しています。

OT_NEIGHBOR_TABLE_EVENT_CHILD_MODE_CHANGED

既存のお子様のモードが変更された。

OT_NEIGHBOR_TABLE_EVENT_CHILD_REMOVED

お子様を削除しています。

OT_NEIGHBOR_TABLE_EVENT_ROUTER_ADDED

ルーターを追加しています。

OT_NEIGHBOR_TABLE_EVENT_ROUTER_REMOVED

ルーターを削除しています。

otPowerSupply

 otPowerSupply

デバイスの電源プロパティを表します。

これは、リーダーのウェイトを計算するために otDeviceProperties のプロパティとして使用されます。

プロパティ
OT_POWER_SUPPLY_BATTERY

バッテリー給電。

OT_POWER_SUPPLY_EXTERNAL

外部電源(電源から供給)。

OT_POWER_SUPPLY_EXTERNAL_STABLE

バッテリー バックアップまたは UPS で安定した外部電源。

OT_POWER_SUPPLY_EXTERNAL_UNSTABLE

外部電源が不安定である可能性がある(スイッチで給電される電球など)。

Typedef

otCacheEntryInfo

struct otCacheEntryInfo otCacheEntryInfo

EID キャッシュ エントリを表します。

otCacheEntryIterator

struct otCacheEntryIterator otCacheEntryIterator

EID キャッシュ テーブルのエントリを反復処理するために使用されるイテレータを表します。

このイテレータを初期化し、キャッシュ テーブルの最初のエントリから開始するには、構造体内のすべてのフィールドをゼロに設定します(例:memset でイテレータをゼロにする)。

otCacheEntryState

enum otCacheEntryState otCacheEntryState

EID キャッシュ エントリの状態を定義します。

otChildIp6AddressIterator

uint16_t otChildIp6AddressIterator

Thread の子エントリの IPv6 アドレスを反復処理するために使用されます。

otDeviceProperties

struct otDeviceProperties otDeviceProperties

デバイスのローカル リーダー ウェイトを計算するために使用されるデバイス プロパティを表します。

パラメータは、デバイスの機能(ボーダー ルーターとして機能するかどうか、電源構成など)に基づいて設定されます。

mIsUnstable はデバイスの動作の安定性を示します。ベンダー固有のメカニズムによって決定されます。これには、次のようなケースが該当します。

  • 外部電源が通常より頻繁に失われていることをデバイスが内部で検出しています。通常の処理はベンダーが決定します。
  • デバイスが通常よりも頻繁に再起動していることを内部で検出しました。通常の処理はベンダーが決定します。

otNeighborTableCallback

void(* otNeighborTableCallback)(otNeighborTableEvent aEvent, const otNeighborTableEntryInfo *aEntryInfo)

隣接テーブルに変更があったことを通知するためにポインタが呼び出されます。

詳細
パラメータ
[in] aEvent
イベントフラグ。
[in] aEntryInfo
テーブル エントリ情報へのポインタ。

関数

otThreadBecomeLeader

otError otThreadBecomeLeader(
  otInstance *aInstance
)

リーダーになって新しいパーティションを開始します。

詳細
パラメータ
[in] aInstance
OpenThread インスタンスへのポインタ。
戻り値
OT_ERROR_NONE
リーダーになり、新しいパーティションを開始しました。
OT_ERROR_INVALID_STATE
Thread は無効になっています。

otThreadBecomeRouter

otError otThreadBecomeRouter(
  otInstance *aInstance
)

ルーターに設定してみます。

詳細
パラメータ
[in] aInstance
OpenThread インスタンスへのポインタ。
戻り値
OT_ERROR_NONE
ルーターになる試行が正常に開始します。
OT_ERROR_INVALID_STATE
Thread は無効になっています。

otThreadGetAdvertisementTrickleIntervalMax

uint32_t otThreadGetAdvertisementTrickleIntervalMax(
  otInstance *aInstance
)

アドバタイズメント トリクル タイマーで使用される現在の間隔最大値を取得します。

この API には OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE が必要です。これはテスト専用です。

詳細
戻り値
アドバタイズメント トリクル タイマーのインターバルの最大値(ミリ秒単位)。

otThreadGetChildInfoById

otError otThreadGetChildInfoById(
  otInstance *aInstance,
  uint16_t aChildId,
  otChildInfo *aChildInfo
)

子 ID または RLOC16 で、添付された子の診断情報を取得します。

詳細
パラメータ
[in] aInstance
OpenThread インスタンスへのポインタ。
[in] aChildId
関連付けられた子の子 ID または RLOC16。
[out] aChildInfo
子情報が配置される場所へのポインタ。
戻り値
OT_ERROR_NONE
指定された ID の情報で aChildInfo を更新しました。
OT_ERROR_NOT_FOUND
この子 ID を持つ有効な子はありません。
OT_ERROR_INVALID_ARGS
aChildInfo が NULL の場合。

otThreadGetChildInfoByIndex

otError otThreadGetChildInfoByIndex(
  otInstance *aInstance,
  uint16_t aChildIndex,
  otChildInfo *aChildInfo
)

この関数は、アタッチされた子の診断情報を内部テーブル インデックスによって保持します。

詳細
パラメータ
[in] aInstance
OpenThread インスタンスへのポインタ。
[in] aChildIndex
テーブルのインデックス。
[out] aChildInfo
子情報が配置される場所へのポインタ。
戻り値
OT_ERROR_NONE
指定されたインデックスの情報で aChildInfo が正常に更新されました。
OT_ERROR_NOT_FOUND
このインデックスに有効な子がありません。
OT_ERROR_INVALID_ARGS
aChildInfo が NULL か、aChildIndex が範囲外(最大テーブル インデックスより大きい)です。
関連項目:
otGetMaxAllowedChildren

otThreadGetChildNextIp6Address

otError otThreadGetChildNextIp6Address(
  otInstance *aInstance,
  uint16_t aChildIndex,
  otChildIp6AddressIterator *aIterator,
  otIp6Address *aAddress
)

指定された子の次の IPv6 アドレスを(イテレータを使用して)取得します。

詳細
パラメータ
[in] aInstance
OpenThread インスタンスへのポインタ。
[in] aChildIndex
子インデックス。
[in,out] aIterator
イテレータへのポインタ。成功すると、リスト内の次のエントリを参照するようにイテレータが更新されます。最初の IPv6 アドレスを取得するには、イテレータを OT_CHILD_IP6_ADDRESS_ITERATOR_INIT に設定する必要があります。
[out] aAddress
子の次のアドレスが配置される(成功時)IPv6 アドレスへのポインタ。
戻り値
OT_ERROR_NONE
次の IPv6 アドレスが見つかりました(aAddress は正常に更新されました)。
OT_ERROR_NOT_FOUND
子には後続の IPv6 アドレス エントリはありません。
OT_ERROR_INVALID_ARGS
aIterator または aAddress が NULL か、aChildIndex の子が無効です。
関連項目:
otThreadGetChildInfoByIndex

uint8_t otThreadGetChildRouterLinks(
  otInstance *aInstance
)

REED ロールで使用される MLE_CHILD_ROUTER_LINKS パラメータを取得します。

このパラメータでは、デバイス(FED として)がリンクの確立を試みる近隣ルーターの最大数を指定します。

詳細
パラメータ
[in] aInstance
OpenThread インスタンスへのポインタ。
戻り値
MLE_CHILD_ROUTER_LINKS 値。
関連情報:
otThreadSetChildRouterLinks

otThreadGetContextIdReuseDelay

uint32_t otThreadGetContextIdReuseDelay(
  otInstance *aInstance
)

リーダーのロールで使用される CONTEXT_ID_REUSE_DELAY パラメータを取得します。

詳細
パラメータ
[in] aInstance
OpenThread インスタンスへのポインタ。
戻り値
CONTEXT_ID_REUSE_DELAY 値。
関連情報:
otThreadSetContextIdReuseDelay

otThreadGetDeviceProperties

const otDeviceProperties * otThreadGetDeviceProperties(
  otInstance *aInstance
)

現在のデバイスのプロパティを取得します。

OPENTHREAD_CONFIG_MLE_DEVICE_PROPERTY_LEADER_WEIGHT_ENABLE が必要です。

詳細
戻り値
デバイスのプロパティ otDeviceProperties

otThreadGetJoinerUdpPort

uint16_t otThreadGetJoinerUdpPort(
  otInstance *aInstance
)

Joiner UDP ポートを取得します。

詳細
パラメータ
[in] aInstance
OpenThread インスタンスへのポインタ。
戻り値
Joiner UDP ポート番号。
関連情報:
otThreadSetJoinerUdpPort

otThreadGetLocalLeaderWeight

uint8_t otThreadGetLocalLeaderWeight(
  otInstance *aInstance
)

リーダー ロールで操作しているときに使用される Thread リーダーの重みを取得します。

詳細
パラメータ
[in] aInstance
OpenThread インスタンスへのポインタ。
戻り値
スレッド リーダーの重量の値。
関連情報:
otThreadSetLeaderWeight
otThreadSetDeviceProperties

otThreadGetMaxAllowedChildren

uint16_t otThreadGetMaxAllowedChildren(
  otInstance *aInstance
)

現在許可されている子の最大数を取得します。

詳細
パラメータ
[in] aInstance
OpenThread インスタンスへのポインタ。
戻り値
現在許可されている子の最大数。
関連情報:
otThreadSetMaxAllowedChildren

otThreadGetMaxChildIpAddresses

uint8_t otThreadGetMaxChildIpAddresses(
  otInstance *aInstance
)

それぞれの MTD の子がこのデバイスに親として登録できる IP アドレスの最大数を取得します。

詳細
パラメータ
[in] aInstance
OpenThread インスタンスへのポインタ。
戻り値
各 MTD の子がこのデバイスに親として登録できる IP アドレスの最大数。
関連情報:
otThreadSetMaxChildIpAddresses

otThreadGetMaxRouterId

uint8_t otThreadGetMaxRouterId(
  otInstance *aInstance
)

この関数は、使用可能な最大ルーター ID を返します。

詳細
パラメータ
[in] aInstance
OpenThread インスタンスへのポインタ。
戻り値
最大許容ルーター ID。

otThreadGetNetworkIdTimeout

uint8_t otThreadGetNetworkIdTimeout(
  otInstance *aInstance
)

NETWORK_ID_TIMEOUT パラメータを取得します。

詳細
パラメータ
[in] aInstance
OpenThread インスタンスへのポインタ。
戻り値
NETWORK_ID_TIMEOUT 値。
関連情報:
otThreadSetNetworkIdTimeout

otThreadGetNextCacheEntry

otError otThreadGetNextCacheEntry(
  otInstance *aInstance,
  otCacheEntryInfo *aEntryInfo,
  otCacheEntryIterator *aIterator
)

次の EID キャッシュ エントリを(イテレータを使用して)取得します。

詳細
パラメータ
[in] aInstance
OpenThread インスタンスへのポインタ。
[out] aEntryInfo
EID キャッシュ エントリ情報が配置されている場所へのポインタ。
[in,out] aIterator
イテレータへのポインタ。成功時に次のエントリを参照するように更新されます。最初のエントリを取得するには、すべてのフィールドを 0 に設定してイテレータを初期化します(例:イテレータ構造体を memset にしてゼロにする)。
戻り値
OT_ERROR_NONE
次の EID キャッシュ エントリの aEntryInfo に正常に入力されました。
OT_ERROR_NOT_FOUND
アドレス キャッシュ テーブルにエントリはありません。

otThreadGetNextHopAndPathCost

void otThreadGetNextHopAndPathCost(
  otInstance *aInstance,
  uint16_t aDestRloc16,
  uint16_t *aNextHopRloc16,
  uint8_t *aPathCost
)

指定された RLOC16 宛先へのネクストホップとパスのコストを取得します。

aNextHopRloc16 または aPathCost が NULL の場合に使用でき、呼び出し元が値の取得を望まないことを示します。

詳細
パラメータ
[in] aInstance
OpenThread インスタンスへのポインタ。
[in] aDestRloc16
デスティネーションの RLOC16。
[out] aNextHopRloc16
ネクストホップの RLOC16 を返すポインタ。ネクストホップがない場合は 0xfffe が返されます。
[out] aPathCost
宛先へのリターンパス費用へのポインタ。

otThreadGetParentPriority

int8_t otThreadGetParentPriority(
  otInstance *aInstance
)

割り当てられた親の優先度を取得します。

詳細
パラメータ
[in] aInstance
OpenThread インスタンスへのポインタ。
戻り値
割り当てられた親優先度の値。-2 は割り当てられていないことを意味します。
関連情報:
otThreadSetParentPriority

otThreadGetPreferredLeaderPartitionId

uint32_t otThreadGetPreferredLeaderPartitionId(
  otInstance *aInstance
)

リーダーのロールで操作する際に使用される、優先される Thread リーダー パーティション ID を取得します。

詳細
パラメータ
[in] aInstance
OpenThread インスタンスへのポインタ。
戻り値
スレッド リーダー パーティション ID の値。

otThreadGetPskc

void otThreadGetPskc(
  otInstance *aInstance,
  otPskc *aPskc
)

Thread PSKc を取得します。

詳細
パラメータ
[in] aInstance
OpenThread インスタンスへのポインタ。
[out] aPskc
取得したスレッド PSKc を返す otPskc へのポインタ。
関連情報:
otThreadSetPskc

otThreadGetPskcRef

otPskcRef otThreadGetPskcRef(
  otInstance *aInstance
)

保存されたスレッド PSKc へのキー参照を取得。

ビルド時の機能 OPENTHREAD_CONFIG_PLATFORM_KEY_REFERENCES_ENABLE を有効にする必要があります。

詳細
パラメータ
[in] aInstance
OpenThread インスタンスへのポインタ。
戻り値
PSKc への主な参照先
関連情報:
otThreadSetPskcRef

otThreadGetRouterDowngradeThreshold

uint8_t otThreadGetRouterDowngradeThreshold(
  otInstance *aInstance
)

Router ロールで使用される ROUTER_DOWNGRADE_THRESHOLD パラメータを取得します。

詳細
パラメータ
[in] aInstance
OpenThread インスタンスへのポインタ。
戻り値
ROUTER_DOWNGRADE_THRESHOLD 値。
関連情報:
otThreadSetRouterDowngradeThreshold

otThreadGetRouterIdRange

void otThreadGetRouterIdRange(
  otInstance *aInstance,
  uint8_t *aMinRouterId,
  uint8_t *aMaxRouterId
)

スレッド ネットワーク内のノードに割り当てることができるルーター ID の範囲を取得します。

詳細
パラメータ
[in] aInstance
OpenThread インスタンスへのポインタ。
[out] aMinRouterId
最小ルーター ID。
[out] aMaxRouterId
最大ルーター ID。
関連情報:
otThreadSetRouterIdRange

otThreadGetRouterIdSequence

uint8_t otThreadGetRouterIdSequence(
  otInstance *aInstance
)

現在の Router ID シーケンスを取得します。

詳細
パラメータ
[in] aInstance
OpenThread インスタンスへのポインタ。
戻り値
ルーター ID シーケンス。

otThreadGetRouterInfo

otError otThreadGetRouterInfo(
  otInstance *aInstance,
  uint16_t aRouterId,
  otRouterInfo *aRouterInfo
)

この関数は、特定の Thread Router の診断情報を保持します。

詳細
パラメータ
[in] aInstance
OpenThread インスタンスへのポインタ。
[in] aRouterId
特定のルーターのルーター ID または RLOC16。
[out] aRouterInfo
ルーター情報の配置場所へのポインタ。
戻り値
OT_ERROR_NONE
指定された ID のルーター情報を取得しました。
OT_ERROR_NOT_FOUND
指定された ID のルーター エントリはありません。
OT_ERROR_INVALID_ARGS
aRouterInfo が NULL である。

otThreadGetRouterSelectionJitter

uint8_t otThreadGetRouterSelectionJitter(
  otInstance *aInstance
)

REED/ルーターのロールで使用される ROUTER_SELECTION_JITTER パラメータを取得します。

詳細
パラメータ
[in] aInstance
OpenThread インスタンスへのポインタ。
戻り値
ROUTER_SELECTION_JITTER 値。
関連情報:
otThreadSetRouterSelectionJitter

otThreadGetRouterUpgradeThreshold

uint8_t otThreadGetRouterUpgradeThreshold(
  otInstance *aInstance
)

REED ロールで使用される ROUTER_UPGRADE_THRESHOLD パラメータを取得します。

詳細
パラメータ
[in] aInstance
OpenThread インスタンスへのポインタ。
戻り値
ROUTER_UPGRADE_THRESHOLD 値。
関連情報:
otThreadSetRouterUpgradeThreshold

otThreadIsRouterEligible

bool otThreadIsRouterEligible(
  otInstance *aInstance
)

デバイスがルーターに対応しているかどうかを示します。

詳細
パラメータ
[in] aInstance
OpenThread インスタンスへのポインタ。
戻り値
TRUE
デバイスがルーターに対応しているかどうか。
FALSE
デバイスがルーターに対応していない場合。

otThreadIsRouterIdAllocated

bool otThreadIsRouterIdAllocated(
  otInstance *aInstance,
  uint8_t aRouterId
)

Router ID が現在割り当てられているかどうかを示します。

詳細
パラメータ
[in] aInstance
OpenThread インスタンスへのポインタ。
[in] aRouterId
確認するルーター ID。
戻り値
TRUE
aRouterId が割り当てられている。
FALSE
aRouterId が割り当てられていません。

otThreadRegisterNeighborTableCallback

void otThreadRegisterNeighborTableCallback(
  otInstance *aInstance,
  otNeighborTableCallback aCallback
)

近傍テーブルのコールバック関数を登録します。

指定されたコールバック(NULL でない場合)は、ネイバー テーブルが変更された場合(たとえば、子またはルーター ネイバーのエントリが追加または削除されたとき、または既存の子のモードが変更されたとき)に呼び出されます。

その後このメソッドを呼び出すと、以前のコールバックが上書きされます。このコールバックは、近傍/子テーブルの更新中に、常に otStateChangedCallback の前に呼び出されます。

詳細
パラメータ
[in] aInstance
OpenThread インスタンスへのポインタ。
[in] aCallback
コールバック ハンドラ関数へのポインタ。

otThreadReleaseRouterId

otError otThreadReleaseRouterId(
  otInstance *aInstance,
  uint8_t aRouterId
)

リーダーロールのデバイスによって割り当てられたルーター ID を解放します。

詳細
パラメータ
[in] aInstance
OpenThread インスタンスへのポインタ。
[in] aRouterId
解放するルーターの ID。有効な範囲は [0, 62] です。
戻り値
OT_ERROR_NONE
ルーター ID を解放しました。
OT_ERROR_INVALID_ARGS
aRouterId が [0, 62] の範囲外。
OT_ERROR_INVALID_STATE
デバイスは現在リーダーとして動作していません。
OT_ERROR_NOT_FOUND
ルーター ID は現在割り当てられていません。

otThreadSetCcmEnabled

void otThreadSetCcmEnabled(
  otInstance *aInstance,
  bool aEnabled
)

デバイスが CCM を使用してコミッショニングされたかどうかを設定します。

詳細
パラメータ
[in] aInstance
OpenThread インスタンスへのポインタ。
[in] aEnabled
デバイスが CCM を使用してコミッショニングされた場合は TRUE、そうでない場合は FALSE です。
otError otThreadSetChildRouterLinks(
  otInstance *aInstance,
  uint8_t aChildRouterLinks
)

REED ロールで使用される MLE_CHILD_ROUTER_LINKS パラメータを設定します。

詳細
パラメータ
[in] aInstance
OpenThread インスタンスへのポインタ。
[in] aChildRouterLinks
MLE_CHILD_ROUTER_LINKS 値。
戻り値
OT_ERROR_NONE
値を設定しました。
OT_ERROR_INVALID_STATE
スレッド プロトコルが有効になっている。
関連情報:
otThreadGetChildRouterLinks

otThreadSetContextIdReuseDelay

void otThreadSetContextIdReuseDelay(
  otInstance *aInstance,
  uint32_t aDelay
)

リーダーのロールで使用される CONTEXT_ID_REUSE_DELAY パラメータを設定します。

詳細
パラメータ
[in] aInstance
OpenThread インスタンスへのポインタ。
[in] aDelay
CONTEXT_ID_REUSE_DELAY 値。
関連情報:
otThreadGetContextIdReuseDelay

otThreadSetDeviceProperties

void otThreadSetDeviceProperties(
  otInstance *aInstance,
  const otDeviceProperties *aDeviceProperties
)

リーダー ウェイトの特定と設定に使用されるデバイスのプロパティを設定します。

OPENTHREAD_CONFIG_MLE_DEVICE_PROPERTY_LEADER_WEIGHT_ENABLE が必要です。

詳細
パラメータ
[in] aInstance
OpenThread インスタンスへのポインタ。
[in] aDeviceProperties
デバイスのプロパティ。

otThreadSetJoinerUdpPort

otError otThreadSetJoinerUdpPort(
  otInstance *aInstance,
  uint16_t aJoinerUdpPort
)

Joiner UDP ポートを設定します。

詳細
パラメータ
[in] aInstance
OpenThread インスタンスへのポインタ。
[in] aJoinerUdpPort
Joiner UDP ポート番号。
戻り値
OT_ERROR_NONE
Joiner UDP ポートを設定しました。
関連情報:
otThreadGetJoinerUdpPort

otThreadSetLocalLeaderWeight

void otThreadSetLocalLeaderWeight(
  otInstance *aInstance,
  uint8_t aWeight
)

リーダー ロールで操作しているときに使用される Thread リーダーの重みを設定します。

リーダー ウェイトを新しい値に直接設定し、以前の値(現在の otDeviceProperties から決定されている場合があります)と置き換えます。

詳細
パラメータ
[in] aInstance
OpenThread インスタンスへのポインタ。
[in] aWeight
スレッド リーダーの重量の値。
関連情報:
otThreadGetLeaderWeight

otThreadSetMaxAllowedChildren

otError otThreadSetMaxAllowedChildren(
  otInstance *aInstance,
  uint16_t aMaxChildren
)

現在許可されている子の最大数を設定します。

このパラメータは、スレッド プロトコル オペレーションが停止している場合にのみ設定できます。

詳細
パラメータ
[in] aInstance
OpenThread インスタンスへのポインタ。
[in] aMaxChildren
子を許可する最大数。
戻り値
OT_ERROR_NONE
上限クリック単価を設定しました
OT_ERROR_INVALID_ARGS
aMaxChildren が [1, OPENTHREAD_CONFIG_MLE_MAX_CHILDREN] の範囲外の場合。
OT_ERROR_INVALID_STATE
Thread が停止していない場合
関連情報:
otThreadGetMaxAllowedChildren

otThreadSetMaxChildIpAddresses

otError otThreadSetMaxChildIpAddresses(
  otInstance *aInstance,
  uint8_t aMaxIpAddresses
)

それぞれの MTD の子が親としてこのデバイスに登録できる IP アドレスの最大数を設定または復元します。

0 を渡して、設定を消去してデフォルトに戻します。

OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE が有効な場合に利用可能です。

詳細
パラメータ
[in] aInstance
OpenThread インスタンスへのポインタ。
[in] aMaxIpAddresses
各 MTD の子がこのデバイスに親として登録できる IP アドレスの最大数。0 に設定すると、設定がクリアされ、デフォルトに戻ります。
戻り値
OT_ERROR_NONE
番号を設定または消去しました。
OT_ERROR_INVALID_ARGS
許容される最大数を超えている場合。
関連情報:
otThreadGetMaxChildIpAddresses

otThreadSetNetworkIdTimeout

void otThreadSetNetworkIdTimeout(
  otInstance *aInstance,
  uint8_t aTimeout
)

NETWORK_ID_TIMEOUT パラメータを設定します。

詳細
パラメータ
[in] aInstance
OpenThread インスタンスへのポインタ。
[in] aTimeout
NETWORK_ID_TIMEOUT 値。
関連情報:
otThreadGetNetworkIdTimeout

otThreadSetParentPriority

otError otThreadSetParentPriority(
  otInstance *aInstance,
  int8_t aParentPriority
)

親の優先度を設定します。

詳細
パラメータ
[in] aInstance
OpenThread インスタンスへのポインタ。
[in] aParentPriority
親優先度の値。
戻り値
OT_ERROR_NONE
親の優先度を設定しました。
OT_ERROR_INVALID_ARGS
親優先度の値が 1、0、-1、-2 のいずれにも該当しない場合。
関連情報:
otThreadGetParentPriority

otThreadSetPreferredLeaderPartitionId

void otThreadSetPreferredLeaderPartitionId(
  otInstance *aInstance,
  uint32_t aPartitionId
)

リーダーロールで操作するときに使用する優先 Thread リーダー パーティション ID を設定します。

詳細
パラメータ
[in] aInstance
OpenThread インスタンスへのポインタ。
[in] aPartitionId
スレッド リーダー パーティション ID の値。

otThreadSetPreferredRouterId

otError otThreadSetPreferredRouterId(
  otInstance *aInstance,
  uint8_t aRouterId
)

優先ルーター ID を設定します。

ルーター/リーダーになると、ノードはこのルーター ID を使用しようとします。優先ルーター ID が設定されていない場合、または使用できない場合は、ランダムに生成されたルーター ID が選択されます。このプロパティは、デバイスの役割が関連付けられていないか無効になっている場合にのみ設定できます。

詳細
パラメータ
[in] aInstance
OpenThread インスタンスへのポインタ。
[in] aRouterId
優先ルーター ID。
戻り値
OT_ERROR_NONE
優先ルーター ID を設定しました。
OT_ERROR_INVALID_STATE
設定できませんでした(ロールが接続解除または無効化されていません)

otThreadSetPskc

otError otThreadSetPskc(
  otInstance *aInstance,
  const otPskc *aPskc
)

スレッド PSKc を設定します。

Thread プロトコルが無効になっている場合にのみ成功します。この関数の呼び出しが成功すると、不揮発性メモリ内のアクティブ データセットと保留中のオペレーション データセットも無効になります。

詳細
パラメータ
[in] aInstance
OpenThread インスタンスへのポインタ。
[in] aPskc
新しい Thread PSKc へのポインタ。
戻り値
OT_ERROR_NONE
スレッド PSKc が正常に設定されました。
OT_ERROR_INVALID_STATE
スレッド プロトコルが有効になっている。
関連情報:
otThreadGetPskc

otThreadSetPskcRef

otError otThreadSetPskcRef(
  otInstance *aInstance,
  otPskcRef aKeyRef
)

Key Reference を Thread PSKc に設定します。

ビルド時の機能 OPENTHREAD_CONFIG_PLATFORM_KEY_REFERENCES_ENABLE を有効にする必要があります。

Thread プロトコルが無効になっている場合にのみ成功します。成功すると、不揮発性メモリ内のアクティブな運用データセットと保留中の運用データセットも無効になります。

詳細
パラメータ
[in] aInstance
OpenThread インスタンスへのポインタ。
[in] aKeyRef
新しい Thread PSKc の重要な参照情報。
戻り値
OT_ERROR_NONE
スレッド PSKc が正常に設定されました。
OT_ERROR_INVALID_STATE
スレッド プロトコルが有効になっている。
関連情報:
otThreadGetPskcRef

otThreadSetRouterDowngradeThreshold

void otThreadSetRouterDowngradeThreshold(
  otInstance *aInstance,
  uint8_t aThreshold
)

リーダー ロールで使用される ROUTER_DOWNGRADE_THRESHOLD パラメータを設定します。

詳細
パラメータ
[in] aInstance
OpenThread インスタンスへのポインタ。
[in] aThreshold
ROUTER_DOWNGRADE_THRESHOLD 値。
関連情報:
otThreadGetRouterDowngradeThreshold

otThreadSetRouterEligible

otError otThreadSetRouterEligible(
  otInstance *aInstance,
  bool aEligible
)

デバイスがルーター対応かどうかを設定します。

aEligible が false で、デバイスが現在ルーターとして動作している場合、この呼び出しによりデバイスが接続解除され、子供として再アタッチが試行されます。

詳細
パラメータ
[in] aInstance
OpenThread インスタンスへのポインタ。
[in] aEligible
デバイスをルーター対応として構成する場合は TRUE、そうでない場合は FALSE です。
戻り値
OT_ERROR_NONE
ルーター対応の構成が正常に設定されました。
OT_ERROR_NOT_CAPABLE
デバイスをルーターにすることはできません。

otThreadSetRouterIdRange

otError otThreadSetRouterIdRange(
  otInstance *aInstance,
  uint8_t aMinRouterId,
  uint8_t aMaxRouterId
)

スレッド ネットワーク内のノードに割り当てることができるルーター ID の範囲を設定します。

詳細
パラメータ
[in] aInstance
OpenThread インスタンスへのポインタ。
[in] aMinRouterId
最小ルーター ID。
[in] aMaxRouterId
最大ルーター ID。
戻り値
OT_ERROR_NONE
範囲を設定しました。
OT_ERROR_INVALID_ARGS
aMinRouterId > aMaxRouterId。または、範囲が [0, 62] でカバーされていません。
関連情報:
otThreadGetRouterIdRange

otThreadSetRouterSelectionJitter

void otThreadSetRouterSelectionJitter(
  otInstance *aInstance,
  uint8_t aRouterJitter
)

REED/ルーターのロールで使用される ROUTER_SELECTION_JITTER パラメータを設定します。

詳細
パラメータ
[in] aInstance
OpenThread インスタンスへのポインタ。
[in] aRouterJitter
ROUTER_SELECTION_JITTER 値。
関連情報:
otThreadGetRouterSelectionJitter

otThreadSetRouterUpgradeThreshold

void otThreadSetRouterUpgradeThreshold(
  otInstance *aInstance,
  uint8_t aThreshold
)

リーダーのロールで使用される ROUTER_UPGRADE_THRESHOLD パラメータを設定します。

詳細
パラメータ
[in] aInstance
OpenThread インスタンスへのポインタ。
[in] aThreshold
ROUTER_UPGRADE_THRESHOLD 値。
関連情報:
otThreadGetRouterUpgradeThreshold

otThreadSetSteeringData

void otThreadSetSteeringData(
  otInstance *aInstance,
  const otExtAddress *aExtAddress
)

ステアリング データを帯域外に設定する。

構成オプション OPENTHREAD_CONFIG_MLE_STEERING_DATA_SET_OOB_ENABLE を設定して、データを帯域外でステアリングする設定を有効にする必要があります。

詳細
パラメータ
[in] aInstance
OpenThread インスタンスへのポインタ。
[in] aExtAddress
ステアリング データの更新に使用されるアドレス。すべてのゼロで、ステアリング データを消去(ステアリング データなし)。すべての 0xFF: ステアリング データ/ブルーム フィルタをすべて受け入れ/許可に設定する。特定の EUI64 が、現在のステアリング データ/ブルーム フィルタに追加されます。

otThreadSetThreadVersionCheckEnabled

void otThreadSetThreadVersionCheckEnabled(
  otInstance *aInstance,
  bool aEnabled
)

ルーティング(VR フィールド)のセキュリティ ポリシー TLV バージョンしきい値を有効にするかどうかを設定します。

詳細
パラメータ
[in] aInstance
OpenThread インスタンスへのポインタ。
[in] aEnabled
ルーティングのセキュリティ ポリシー TLV バージョンのしきい値を有効にする場合は TRUE、そうでない場合は FALSE です。

マクロ

OT_CHILD_IP6_ADDRESS_ITERATOR_INIT

 OT_CHILD_IP6_ADDRESS_ITERATOR_INIT 0

otChildIP6AddressIterator の初期化子。

関連情報

OpenThread API リファレンスのトピックは、GitHub で入手できるソースコードに由来しています。 詳細について、またはドキュメントへの投稿については、リソースをご覧ください。