Google は、黒人コミュニティのための人種的公平の促進に取り組んでいます。詳細をご覧ください。

設定

このモジュールには、設定の不揮発性ストレージのためのプラットフォーム抽象化が含まれています。

概要

列挙型

anonymous enum{
  OT_SETTINGS_KEY_ACTIVE_DATASET = 0x0001,
  OT_SETTINGS_KEY_PENDING_DATASET = 0x0002,
  OT_SETTINGS_KEY_NETWORK_INFO = 0x0003,
  OT_SETTINGS_KEY_PARENT_INFO = 0x0004,
  OT_SETTINGS_KEY_CHILD_INFO = 0x0005,
  OT_SETTINGS_KEY_RESERVED = 0x0006,
  OT_SETTINGS_KEY_SLAAC_IID_SECRET_KEY = 0x0007,
  OT_SETTINGS_KEY_DAD_INFO = 0x0008,
  OT_SETTINGS_KEY_LEGACY_OMR_PREFIX = 0x0009,
  OT_SETTINGS_KEY_ON_LINK_PREFIX = 0x000a,
  OT_SETTINGS_KEY_SRP_ECDSA_KEY = 0x000b,
  OT_SETTINGS_KEY_SRP_CLIENT_INFO = 0x000c,
  OT_SETTINGS_KEY_SRP_SERVER_INFO = 0x000d,
  OT_SETTINGS_KEY_LEGACY_NAT64_PREFIX = 0x000e,
  OT_SETTINGS_KEY_BR_ULA_PREFIX = 0x000f
}
列挙型
この列挙型は、設定のキーを定義します。

関数

otPlatSettingsAdd(otInstance *aInstance, uint16_t aKey, const uint8_t *aValue, uint16_t aValueLength)
設定に値を追加します。
otPlatSettingsDeinit(otInstance *aInstance)
void
必要に応じて、設定サブシステムの初期化解除を行います。
otPlatSettingsDelete(otInstance *aInstance, uint16_t aKey, int aIndex)
設定ストアから設定を削除します。
otPlatSettingsGet(otInstance *aInstance, uint16_t aKey, int aIndex, uint8_t *aValue, uint16_t *aValueLength)
設定の値を取得します。
otPlatSettingsInit(otInstance *aInstance, const uint16_t *aSensitiveKeys, uint16_t aSensitiveKeysLength)
void
必要に応じて、設定サブシステムの初期化を実行します。
otPlatSettingsSet(otInstance *aInstance, uint16_t aKey, const uint8_t *aValue, uint16_t aValueLength)
設定の値を設定または置換します。
otPlatSettingsWipe(otInstance *aInstance)
void
設定ストアからすべての設定を削除します。

列挙型

匿名列挙型

 anonymous enum

この列挙型は、設定のキーを定義します。

注: 新しい設定キーを追加するときに、キーに対応する設定に機密情報が含まれる場合は、その配列を kSensitiveKeys 配列に追加しなければなりません。

プロパティ
OT_SETTINGS_KEY_ACTIVE_DATASET

アクティブな運用データセット

OT_SETTINGS_KEY_BR_ULA_PREFIX

BR ULA プレフィックス。

OT_SETTINGS_KEY_CHILD_INFO

お子様の情報。

OT_SETTINGS_KEY_DAD_INFO

Duplicate Address Detection(DAD)の情報。

OT_SETTINGS_KEY_LEGACY_NAT64_PREFIX

予約済み。レガシー NAT64 プレフィックス。

OT_SETTINGS_KEY_LEGACY_OMR_PREFIX

予約済み。以前のオフメッシュ ルーティング(OMR)プレフィックス。

OT_SETTINGS_KEY_NETWORK_INFO

スレッドのネットワーク情報。

OT_SETTINGS_KEY_ON_LINK_PREFIX

インフラストラクチャ リンクのオンリンク プレフィックス。

OT_SETTINGS_KEY_PARENT_INFO

保護者の情報

OT_SETTINGS_KEY_PENDING_DATASET

保留中の運用データセット。

OT_SETTINGS_KEY_RESERVED

予約済み(旧: 自動起動)

OT_SETTINGS_KEY_SLAAC_IID_SECRET_KEY

意味的に不透明な IID を生成する SLAAC キー。

OT_SETTINGS_KEY_SRP_CLIENT_INFO

SRP クライアント情報(選択した SRP サーバー アドレス)。

OT_SETTINGS_KEY_SRP_ECDSA_KEY

SRP クライアントの ECDSA 公開鍵/秘密鍵ペア。

OT_SETTINGS_KEY_SRP_SERVER_INFO

SRP サーバー情報(UDP ポート)。

関数

otPlatSettingsAdd

otError otPlatSettingsAdd(
  otInstance *aInstance,
  uint16_t aKey,
  const uint8_t *aValue,
  uint16_t aValueLength
)

設定に値を追加します。

この関数は、既存の値を置き換えずに、aKey で識別された設定に値を追加します。

特定のキーに関連付けられた項目の順序を維持するために、基礎となる実装は必要ありません。末尾、先頭、または中間のどこかにも追加できます。既存の値の順序も変わる場合があります。

この関数を正常に呼び出すと、複数の値を持つ無関係な設定を並べ替えることがあります。

詳細
パラメータ
[in] aInstance
OpenThread インスタンス構造。
[in] aKey
変更する設定に関連付けられているキー。
[in] aValue
設定の新しい値を読み取る必要がある場所を示すポインタ。aValueLength がゼロ以外の場合、NULL にすることはできません。
[in] aValueLength
aValue が指すデータの長さ。ゼロの場合もあります。
戻り値
OT_ERROR_NONE
指定した設定が、すでに追加またはステージングされています。
OT_ERROR_NOT_IMPLEMENTED
この関数はこのプラットフォームには実装されていません。
OT_ERROR_NO_BUFS
指定された設定を保存する空き容量がありません。

otPlatSettingsDeinit

void otPlatSettingsDeinit(
  otInstance *aInstance
)

必要に応じて、設定サブシステムの初期化解除を行います。

詳細
パラメータ
[in] aInstance
OpenThread インスタンス構造。

otPlatSettingsDelete

otError otPlatSettingsDelete(
  otInstance *aInstance,
  uint16_t aKey,
  int aIndex
)

設定ストアから設定を削除します。

この関数は、aKey で指定された設定で設定ストアから特定の値を削除します。

特定のキーに関連付けられた項目の順序を維持するために、基礎となる実装は必要ありません。

詳細
パラメータ
[in] aInstance
OpenThread インスタンス構造。
[in] aKey
リクエストされた設定に関連付けられたキー。
[in] aIndex
削除される値のインデックス。-1 に設定すると、この aKey の値はすべて削除されます。
戻り値
OT_ERROR_NONE
指定されたキーとインデックスは正常に検出され、削除されました。
OT_ERROR_NOT_FOUND
指定されたキーまたはインデックスが設定ストアで見つかりませんでした。
OT_ERROR_NOT_IMPLEMENTED
この関数はこのプラットフォームには実装されていません。

otPlatSettingsGet(# など、文脈に応じて)

otError otPlatSettingsGet(
  otInstance *aInstance,
  uint16_t aKey,
  int aIndex,
  uint8_t *aValue,
  uint16_t *aValueLength
)

設定の値を取得します。

この関数は、aKey で識別された設定の値を取得し、aValue がポイントするメモリに書き込みます。次に、aValueLength が示す整数に長さを書き込みます。aValueLength の初期値は、aValue に書き込まれる最大バイト数です。

この関数を使用して、aValue と aValueLength を NULL に設定することにより、値を取得せずにキーの有無を確認できます。aValue のみを NULL に設定すると、設定を取得せずに設定の長さを確認することもできます。

基本となるストレージ実装では、複数の値を持つ設定の順序を維持する必要はありません。そのような値の順序は、ストアに対する任意の書き込み操作の後に変化しても構いません

詳細
パラメータ
[in] aInstance
OpenThread インスタンス構造。
[in] aKey
リクエストされた設定に関連付けられたキー。
[in] aIndex
取得する特定のアイテムのインデックス。
[out] aValue
設定の値を書き込む位置へのポインタ。設定の有無のみをテストする場合は、NULL に設定することもできます。
[in,out] aValueLength
値の長さへのポインタ。このポインタを呼び出す場合、aValue に書き込み可能な最大値を含む整数を指す必要があります。設定時には、設定の実際の長さが書き込まれます。プレゼンス チェックを実行する場合は、NULL に設定できます。
戻り値
OT_ERROR_NONE
指定した設定を見つけて取得しました。
OT_ERROR_NOT_FOUND
指定された設定が設定ストアで見つかりませんでした。
OT_ERROR_NOT_IMPLEMENTED
この関数はこのプラットフォームには実装されていません。

otPlatSettingsInit

void otPlatSettingsInit(
  otInstance *aInstance,
  const uint16_t *aSensitiveKeys,
  uint16_t aSensitiveKeysLength
)

必要に応じて、設定サブシステムの初期化を実行します。

この関数は、セキュアエリアに格納する必要がある機密キーも設定します。

aSensitiveKeys が指すメモリは、aInstance が破棄される前に解放されてはなりません。

詳細
パラメータ
[in] aInstance
OpenThread インスタンス構造。
[in] aSensitiveKeys
機密キーのリストを含む配列へのポインタ。aSensitiveKeysLength が 0 の場合にのみ NULL になることがあり、機密性の高いキーがないことを意味します。
[in] aSensitiveKeysLength
aSensitiveKeys 配列内のエントリ数。

otPlatSettingsSet

otError otPlatSettingsSet(
  otInstance *aInstance,
  uint16_t aKey,
  const uint8_t *aValue,
  uint16_t aValueLength
)

設定の値を設定または置換します。

この関数は、aKey で識別される設定の値を設定または置換します。以前に aKey に関連付けられていた値が複数ある場合は、すべての値が削除され、この単一のエントリに置き換えられます。

この関数を正常に呼び出すと、複数の値を持つ無関係な設定を並べ替えることがあります。

詳細
パラメータ
[in] aInstance
OpenThread インスタンス構造。
[in] aKey
変更する設定に関連付けられているキー。
[in] aValue
設定の新しい値を読み取る必要がある場所を示すポインタ。aValueLength がゼロ以外の場合、NULL にすることはできません。
[in] aValueLength
aValue が指すデータの長さ。ゼロの場合もあります。
戻り値
OT_ERROR_NONE
指定された設定が変更またはステージングされました。
OT_ERROR_NOT_IMPLEMENTED
この関数はこのプラットフォームには実装されていません。
OT_ERROR_NO_BUFS
指定された設定を保存する空き容量がありません。

otPlatSettingsWipe

void otPlatSettingsWipe(
  otInstance *aInstance
)

設定ストアからすべての設定を削除します。

この関数は、設定ストアからすべての設定を削除し、初期状態にリセットします。

詳細
パラメータ
[in] aInstance
OpenThread インスタンス構造。

リソース

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