Настройки

Этот модуль включает абстракцию платформы для энергонезависимого хранения настроек.

Резюме

Перечисления

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_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
}
перечислить
Это перечисление определяет ключи настроек.

Функции

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)
void
При необходимости выполняет любую инициализацию подсистемы настроек.
otPlatSettingsSet ( otInstance *aInstance, uint16_t aKey, const uint8_t *aValue, uint16_t aValueLength)
Устанавливает или заменяет значение параметра.
otPlatSettingsSetCriticalKeys ( otInstance *aInstance, const uint16_t *aKeys, uint16_t aKeysLength)
void
Эта функция устанавливает важные ключи, которые должны храниться в защищенной области.
otPlatSettingsWipe ( otInstance *aInstance)
void
Удаляет все настройки из хранилища настроек.

Перечисления

анонимное перечисление

 anonymous enum

Это перечисление определяет ключи настроек.

Примечание: При добавлении ключа новых параметров настройки по , если параметрам , соответствующие ключу содержат безопасности конфиденциальной информации, разработчик должен добавить ключ в массиве kCriticalKeys .

Характеристики
OT_SETTINGS_KEY_ACTIVE_DATASET

Активный набор операционных данных.

OT_SETTINGS_KEY_CHILD_INFO

Информация о ребенке.

OT_SETTINGS_KEY_DAD_INFO

Информация об обнаружении повторяющегося адреса (DAD).

OT_SETTINGS_KEY_NETWORK_INFO

Информация о сети потоков.

OT_SETTINGS_KEY_OMR_PREFIX

Префикс маршрутизации вне сети (OMR).

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

Ключ SLAAC для создания семантически непрозрачного IID.

OT_SETTINGS_KEY_SRP_CLIENT_INFO

Информация о клиенте SRP (выбранный адрес сервера SRP).

OT_SETTINGS_KEY_SRP_ECDSA_KEY

Пара открытый / закрытый ключ ECDSA клиента SRP.

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
Указатель на то, откуда следует читать новое значение параметра. НЕ ДОЛЖЕН быть NULL, если aValueLength не равно нулю.
[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
)

Удаляет настройку из хранилища настроек.

Эта функция удаляет определенное значение из настройки, идентифицированной ключом из хранилища настроек.

Обратите внимание, что базовая реализация не требуется для поддержания порядка элементов, связанных с конкретным ключом.

Подробности
Параметры
[in] aInstance
Структура экземпляра OpenThread.
[in] aKey
Ключ, связанный с запрошенной настройкой.
[in] aIndex
Индекс значения, которое нужно удалить. Если установлено значение -1, все значения для этого ключа будут удалены.
Возвращаемые значения
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
)

При необходимости выполняет любую инициализацию подсистемы настроек.

Подробности
Параметры
[in] aInstance
Структура экземпляра OpenThread.

otPlatSettingsSet

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

Устанавливает или заменяет значение параметра.

Эта функция устанавливает или заменяет значение параметра, определяемого ключом. Если с ключом aKey ранее было связано несколько значений, все они удаляются и заменяются этой единственной записью.

Успешный вызов этой функции может привести к изменению порядка несвязанных настроек с несколькими значениями.

Подробности
Параметры
[in] aInstance
Структура экземпляра OpenThread.
[in] aKey
Ключ, связанный с изменяемой настройкой.
[in] aValue
Указатель на то, откуда следует читать новое значение параметра. НЕ ДОЛЖЕН быть NULL, если aValueLength не равно нулю.
[in] aValueLength
Длина данных, на которые указывает aValue. Может быть нулевым.
Возвращаемые значения
OT_ERROR_NONE
Данная настройка была изменена или поставлена.
OT_ERROR_NOT_IMPLEMENTED
Эта функция не реализована на этой платформе.
OT_ERROR_NO_BUFS
Не осталось места для сохранения данной настройки.

otPlatSettingsSetCriticalKeys

void otPlatSettingsSetCriticalKeys(
  otInstance *aInstance,
  const uint16_t *aKeys,
  uint16_t aKeysLength
)

Эта функция устанавливает важные ключи, которые должны храниться в защищенной области.

Обратите внимание , что память указываемого aKeys не должны быть выпущенными до aInstance разрушается.

Подробности
Параметры
[in] aInstance
Структура экземпляра OpenThread.
[in] aKeys
Указатель на массив, содержащий список критических ключей.
[in] aKeysLength
Количество записей в aKeys массиве.

otPlatSettingsWipe

void otPlatSettingsWipe(
  otInstance *aInstance
)

Удаляет все настройки из хранилища настроек.

Эта функция удаляет все настройки из хранилища настроек, возвращая его к исходному заводскому состоянию.

Подробности
Параметры
[in] aInstance
Структура экземпляра OpenThread.