インスタンス

このモジュールには、OpenThread インスタンスを制御する関数が含まれています。

概要

Typedef

otChangedFlags typedef
uint32_t
変更された特定の状態/構成を示すビット フィールドを表します。
otInstance typedef
struct otInstance
OpenThread インスタンス構造を表します。
otStateChangedCallback)(otChangedFlags aFlags, void *aContext) typedef
void(*
ポインタは、OpenThread 内の特定の構成または状態変更を通知するために呼び出されます。

関数

otGetRadioVersionString(otInstance *aInstance)
const char *
OpenThread 無線バージョン文字列を取得します。
otGetVersionString(void)
const char *
OpenThread バージョン文字列を取得します。
otInstanceErasePersistentInfo(otInstance *aInstance)
不揮発性メモリに保存されているすべての OpenThread 永続情報(ネットワーク設定)を消去します。
otInstanceFactoryReset(otInstance *aInstance)
void
不揮発性メモリに保存されているすべての設定を削除し、プラットフォームのリセットをトリガーします。
otInstanceFinalize(otInstance *aInstance)
void
OpenThread ライブラリを無効にします。
otInstanceGetId(otInstance *aInstance)
uint32_t
インスタンス ID を取得します。
otInstanceGetUptime(otInstance *aInstance)
uint64_t
現在のインスタンスの稼働時間(ミリ秒単位)を返します。
otInstanceGetUptimeAsString(otInstance *aInstance, char *aBuffer, uint16_t aSize)
void
現在のインスタンスの稼働時間を人が読める文字列として返します。
otInstanceInit(void *aInstanceBuffer, size_t *aInstanceBufferSize)
OpenThread ライブラリを初期化します。
otInstanceInitMultiple(uint8_t aIdx)
OpenThread インスタンスを初期化します。
otInstanceInitSingle(void)
OpenThread ライブラリの静的単一インスタンスを初期化します。
otInstanceIsInitialized(otInstance *aInstance)
bool
インスタンスが有効または初期化済みかどうかを示します。
otInstanceReset(otInstance *aInstance)
void
プラットフォームのリセットをトリガーします。
otInstanceResetRadioStack(otInstance *aInstance)
void
OpenThread 無線スタックの内部状態をリセットします。
otInstanceResetToBootloader(otInstance *aInstance)
ブートローダー モードへのリセットをトリガーします(サポートされている場合)。
otRemoveStateChangeCallback(otInstance *aInstance, otStateChangedCallback aCallback, void *aContext)
void
OpenThread 内で特定の構成や状態が変更されたときを示すコールバックを削除しました。
otSetStateChangedCallback(otInstance *aInstance, otStateChangedCallback aCallback, void *aContext)
OpenThread 内で特定の構成または状態が変更されたときを示すコールバックを登録します。

Typedef

otChangedFlags

uint32_t otChangedFlags

変更された特定の状態/構成を示すビット フィールドを表します。

OT_CHANGED_* の定義をご覧ください。

otInstance

struct otInstance otInstance

OpenThread インスタンス構造を表します。

otStateChangedCallback

void(* otStateChangedCallback)(otChangedFlags aFlags, void *aContext)

ポインタは、OpenThread 内の特定の構成または状態変更を通知するために呼び出されます。

詳細
パラメータ
[in] aFlags
変化した特定の状態を示すビット フィールド。OT_CHANGED_* の定義をご覧ください。
[in] aContext
アプリケーション固有のコンテキストへのポインタ。

関数

otGetRadioVersionString

const char * otGetRadioVersionString(
  otInstance *aInstance
)

OpenThread 無線バージョン文字列を取得します。

詳細
パラメータ
[in] aInstance
OpenThread インスタンスへのポインタ。
戻り値
OpenThread 無線バージョンへのポインタ。

otGetVersionString

const char * otGetVersionString(
  void
)

OpenThread バージョン文字列を取得します。

詳細
戻り値
OpenThread バージョンへのポインタ。

otInstanceErasePersistentInfo

otError otInstanceErasePersistentInfo(
  otInstance *aInstance
)

不揮発性メモリに保存されているすべての OpenThread 永続情報(ネットワーク設定)を消去します。

デバイスの状態/ロールが disabled の場合にのみ、消去が成功します。

詳細
パラメータ
[in] aInstance
OpenThread インスタンスへのポインタ。
戻り値
OT_ERROR_NONE
永続的な情報/状態をすべて消去しました。
OT_ERROR_INVALID_STATE
デバイスの状態/ロールが disabled ではありません。

otInstanceFactoryReset

void otInstanceFactoryReset(
  otInstance *aInstance
)

不揮発性メモリに保存されているすべての設定を削除し、プラットフォームのリセットをトリガーします。

詳細
パラメータ
[in] aInstance
OpenThread インスタンスへのポインタ。

otInstanceFinalize

void otInstanceFinalize(
  otInstance *aInstance
)

OpenThread ライブラリを無効にします。

OpenThread が不要になった場合は、この関数を呼び出します。

詳細
パラメータ
[in] aInstance
OpenThread インスタンスへのポインタ。

otInstanceGetId

uint32_t otInstanceGetId(
  otInstance *aInstance
)

インスタンス ID を取得します。

インスタンス ID は、インスタンスの作成時にランダムな値に設定され、初期化後にその値が変更されることはありません。

詳細
戻り値
インスタンスの識別子。

otInstanceGetUptime

uint64_t otInstanceGetUptime(
  otInstance *aInstance
)

現在のインスタンスの稼働時間(ミリ秒単位)を返します。

OPENTHREAD_CONFIG_UPTIME_ENABLE を有効にする必要があります。

稼働時間は、OpenThread インスタンスが初期化されてからのミリ秒数で示されます。

詳細
パラメータ
[in] aInstance
OpenThread インスタンスへのポインタ。
戻り値
稼働時間(ミリ秒数)。

otInstanceGetUptimeAsString

void otInstanceGetUptimeAsString(
  otInstance *aInstance,
  char *aBuffer,
  uint16_t aSize
)

現在のインスタンスの稼働時間を人が読める文字列として返します。

OPENTHREAD_CONFIG_UPTIME_ENABLE を有効にする必要があります。

文字列は、時、分、秒、ミリ秒の場合は「::.」、または稼働時間が 1 日未満の場合は「」という形式になります。

d.::." (1 日を超える場合)。

結果の文字列が aSize 文字内の aBuffer に収まらない場合、文字列は切り捨てられますが、出力される文字列は常に null で終わる文字列になります。

詳細
パラメータ
[in] aInstance
OpenThread インスタンスへのポインタ。
[out] aBuffer
文字列を出力するための char 配列へのポインタ。
[in] aSize
aBuffer のサイズ(バイト単位)。OT_UPTIME_STRING_SIZE を使用することをおすすめします。

otInstanceInit

otInstance * otInstanceInit(
  void *aInstanceBuffer,
  size_t *aInstanceBufferSize
)

OpenThread ライブラリを初期化します。

OpenThread を初期化し、後続の OpenThread API 呼び出し用に準備します。この関数は、OpenThread へのその他の呼び出しの前に呼び出す必要があります。

複数の OpenThread インスタンスのサポートが有効になっている場合にのみ使用できます。

詳細
パラメータ
[in] aInstanceBuffer
otInstance 構造体の割り当てに使用する OpenThread のバッファ。
[in,out] aInstanceBufferSize
入力時の aInstanceBuffer のサイズ。出力では、otInstance に必要なスペースが十分でない場合、otInstance に必要なバイト数。
戻り値
新しい OpenThread インスタンスへのポインタ。
関連項目:
otInstanceFinalize

otInstanceInitMultiple

otInstance * otInstanceInitMultiple(
  uint8_t aIdx
)

OpenThread インスタンスを初期化します。

この関数は OpenThread を初期化し、後続の OpenThread API 呼び出しのために準備します。この関数は、OpenThread へのその他の呼び出しの前に呼び出す必要があります。このメソッドは、静的バッファを使用して OpenThread インスタンスを初期化します。

この関数は、複数の OpenThread 静的インスタンスのサポートが有効になっている(OPENTHREAD_CONFIG_MULTIPLE_STATIC_INSTANCE_ENABLE)場合にのみ使用できます。

詳細
パラメータ
[in] aIdx
初期化する OpenThread インスタンスのインデックス。
戻り値
新しい OpenThread インスタンスへのポインタ。

otInstanceInitSingle

otInstance * otInstanceInitSingle(
  void
)

OpenThread ライブラリの静的単一インスタンスを初期化します。

OpenThread を初期化し、後続の OpenThread API 呼び出し用に準備します。この関数は、OpenThread へのその他の呼び出しの前に呼び出す必要があります。

複数の OpenThread インスタンスのサポートが無効になっている場合にのみ使用できます。

詳細
戻り値
単一の OpenThread インスタンスへのポインタ。

otInstanceIsInitialized

bool otInstanceIsInitialized(
  otInstance *aInstance
)

インスタンスが有効または初期化済みかどうかを示します。

インスタンスは、otInstanceInitSingle()(単一インスタンスの場合)または otInstanceInit()(マルチ インスタンスの場合)のいずれかを使用して取得および初期化された場合、有効とみなされます。その後 otInstanceFinalize() を呼び出すと、インスタンスは初期化されていないとみなされます。

詳細
パラメータ
[in] aInstance
OpenThread インスタンスへのポインタ。
戻り値
指定されたインスタンスが有効または初期化されている場合は TRUE、そうでない場合は FALSE です。

otInstanceReset

void otInstanceReset(
  otInstance *aInstance
)

プラットフォームのリセットをトリガーします。

リセット プロセスにより、(揮発性メモリに保存されている)OpenThread の状態/情報がすべて確実に消去されます。otPlatformReset では、不揮発性メモリに保存されている永続的な状態/情報は消去されません。

詳細
パラメータ
[in] aInstance
OpenThread インスタンスへのポインタ。

otInstanceResetRadioStack

void otInstanceResetRadioStack(
  otInstance *aInstance
)

OpenThread 無線スタックの内部状態をリセットします。

コールバックと構成は保持されます。

この API は無線ビルド(OPENTHREAD_RADIO = 1)でのみ使用できます。

詳細
パラメータ
[in] aInstance
OpenThread インスタンスへのポインタ。

otInstanceResetToBootloader

otError otInstanceResetToBootloader(
  otInstance *aInstance
)

ブートローダー モードへのリセットをトリガーします(サポートされている場合)。

OPENTHREAD_CONFIG_PLATFORM_BOOTLOADER_MODE_ENABLE が必要です。

詳細
パラメータ
[in] aInstance
OpenThread インスタンスへのポインタ。
戻り値
OT_ERROR_NONE
ブートローダーにリセットしました。
OT_ERROR_BUSY
別のオペレーションが進行中のため、失敗しました。
OT_ERROR_NOT_CAPABLE
ブートローダーにリセットできません。

otRemoveStateChangeCallback

void otRemoveStateChangeCallback(
  otInstance *aInstance,
  otStateChangedCallback aCallback,
  void *aContext
)

OpenThread 内で特定の構成や状態が変更されたときを示すコールバックを削除しました。

詳細
パラメータ
[in] aInstance
OpenThread インスタンスへのポインタ。
[in] aCallback
特定の構成または状態変化で呼び出される関数へのポインタ。
[in] aContext
アプリケーション固有のコンテキストへのポインタ。

otSetStateChangedCallback

otError otSetStateChangedCallback(
  otInstance *aInstance,
  otStateChangedCallback aCallback,
  void *aContext
)

OpenThread 内で特定の構成または状態が変更されたときを示すコールバックを登録します。

詳細
パラメータ
[in] aInstance
OpenThread インスタンスへのポインタ。
[in] aCallback
特定の構成または状態変化で呼び出される関数へのポインタ。
[in] aContext
アプリケーション固有のコンテキストへのポインタ。
戻り値
OT_ERROR_NONE
コールバックのリストにコールバックを追加しました。
OT_ERROR_ALREADY
このコールバックはすでに登録されています。
OT_ERROR_NO_BUFS
リソースの制約によりコールバックを追加できませんでした。

マクロ

OT_CHANGED_ACTIVE_DATASET

 OT_CHANGED_ACTIVE_DATASET (1U << 28)

アクティブな運用データセットが変更されました。

OT_CHANGED_CHANNEL_MANAGER_NEW_CHANNEL

 OT_CHANGED_CHANNEL_MANAGER_NEW_CHANNEL (1U << 21)

チャネル マネージャーの新しい保留中のスレッド チャンネルが変更されました。

OT_CHANGED_COMMISSIONER_STATE

 OT_CHANGED_COMMISSIONER_STATE (1U << 23)

コミッショナーの状態が変更されました。

OT_CHANGED_IP6_ADDRESS_ADDED

 OT_CHANGED_IP6_ADDRESS_ADDED (1U << 0)

IPv6 アドレスが追加されました。

OT_CHANGED_IP6_ADDRESS_REMOVED

 OT_CHANGED_IP6_ADDRESS_REMOVED (1U << 1)

IPv6 アドレスが削除されました。

OT_CHANGED_IP6_MULTICAST_SUBSCRIBED

 OT_CHANGED_IP6_MULTICAST_SUBSCRIBED (1U << 12)

IPv6 マルチキャスト アドレスに登録している。

OT_CHANGED_IP6_MULTICAST_UNSUBSCRIBED

 OT_CHANGED_IP6_MULTICAST_UNSUBSCRIBED (1U << 13)

IPv6 マルチキャスト アドレスの登録解除を行いました。

OT_CHANGED_JOINER_STATE

 OT_CHANGED_JOINER_STATE (1U << 27)

結合の状態が変更されました。

OT_CHANGED_NAT64_TRANSLATOR_STATE

 OT_CHANGED_NAT64_TRANSLATOR_STATE (1U << 30)

NAT64 トランスレータの状態が変更されました。

OT_CHANGED_NETWORK_KEY

 OT_CHANGED_NETWORK_KEY (1U << 18)

ネットワーク キーが変更されました。

 OT_CHANGED_PARENT_LINK_QUALITY (1U << 31)

親リンクの品質が変更されました。

OT_CHANGED_PENDING_DATASET

 OT_CHANGED_PENDING_DATASET (1U << 29)

保留中の運用データセットが変更されました。

OT_CHANGED_PSKC

 OT_CHANGED_PSKC (1U << 19)

PSKc が変更されました。

OT_CHANGED_SECURITY_POLICY

 OT_CHANGED_SECURITY_POLICY (1U << 20)

セキュリティ ポリシーを変更しました。

OT_CHANGED_SUPPORTED_CHANNEL_MASK

 OT_CHANGED_SUPPORTED_CHANNEL_MASK (1U << 22)

サポートされているチャンネル マスクが変更されました。

OT_CHANGED_THREAD_BACKBONE_ROUTER_LOCAL

 OT_CHANGED_THREAD_BACKBONE_ROUTER_LOCAL (1U << 26)

ローカル バックボーン ルーターの構成を変更しました。

OT_CHANGED_THREAD_BACKBONE_ROUTER_STATE

 OT_CHANGED_THREAD_BACKBONE_ROUTER_STATE (1U << 25)

バックボーン ルーターの状態が変更されました。

OT_CHANGED_THREAD_CHANNEL

 OT_CHANGED_THREAD_CHANNEL (1U << 14)

Thread ネットワーク チャネルが変更されました。

OT_CHANGED_THREAD_CHILD_ADDED

 OT_CHANGED_THREAD_CHILD_ADDED (1U << 10)

お子様を追加しました。

OT_CHANGED_THREAD_CHILD_REMOVED

 OT_CHANGED_THREAD_CHILD_REMOVED (1U << 11)

お子様は削除されました。

OT_CHANGED_THREAD_EXT_PANID

 OT_CHANGED_THREAD_EXT_PANID (1U << 17)

Thread ネットワーク拡張 PAN ID が変更されました。

OT_CHANGED_THREAD_KEY_SEQUENCE_COUNTER

 OT_CHANGED_THREAD_KEY_SEQUENCE_COUNTER (1U << 8)

スレッドキー シーケンスが変更されました。

OT_CHANGED_THREAD_LL_ADDR

 OT_CHANGED_THREAD_LL_ADDR (1U << 3)

リンクローカル アドレスが変更されました。

OT_CHANGED_THREAD_ML_ADDR

 OT_CHANGED_THREAD_ML_ADDR (1U << 4)

メッシュのローカル アドレスが変更された。

OT_CHANGED_THREAD_NETDATA

 OT_CHANGED_THREAD_NETDATA (1U << 9)

Thread ネットワーク データが変更されました。

OT_CHANGED_THREAD_NETIF_STATE

 OT_CHANGED_THREAD_NETIF_STATE (1U << 24)

スレッドのネットワーク インターフェースの状態が変更されました。

OT_CHANGED_THREAD_NETWORK_NAME

 OT_CHANGED_THREAD_NETWORK_NAME (1U << 16)

スレッドのネットワーク名を変更しました。

OT_CHANGED_THREAD_PANID

 OT_CHANGED_THREAD_PANID (1U << 15)

Thread ネットワークの PAN ID が変更されました。

OT_CHANGED_THREAD_PARTITION_ID

 OT_CHANGED_THREAD_PARTITION_ID (1U << 7)

パーティション ID を変更しました。

OT_CHANGED_THREAD_RLOC_ADDED

 OT_CHANGED_THREAD_RLOC_ADDED (1U << 5)

RLOC が追加されました。

OT_CHANGED_THREAD_RLOC_REMOVED

 OT_CHANGED_THREAD_RLOC_REMOVED (1U << 6)

RLOC が削除されました。

OT_CHANGED_THREAD_ROLE

 OT_CHANGED_THREAD_ROLE (1U << 2)

ロール(無効、接続解除、子、ルーター、リーダー)を変更しました。

OT_UPTIME_STRING_SIZE

 OT_UPTIME_STRING_SIZE 24

稼働時間の文字列表現の推奨サイズ。

関連情報

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