Настройки

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

Краткое содержание

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

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_SLAAC_IID_SECRET_KEY = 0x0007,
OT_SETTINGS_KEY_DAD_INFO = 0x0008,
OT_SETTINGS_KEY_SRP_ECDSA_KEY = 0x000b,
OT_SETTINGS_KEY_SRP_CLIENT_INFO = 0x000c,
OT_SETTINGS_KEY_SRP_SERVER_INFO = 0x000d,
OT_SETTINGS_KEY_BR_ULA_PREFIX = 0x000f,
OT_SETTINGS_KEY_BR_ON_LINK_PREFIXES = 0x0010,
OT_SETTINGS_KEY_BORDER_AGENT_ID = 0x0011
}
перечисление
Определяет клавиши настроек.

Функции

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

Определяет клавиши настроек.

Примечание. При добавлении нового ключа настроек, если настройки, соответствующие этому ключу, содержат конфиденциальную информацию безопасности, разработчик ДОЛЖЕН добавить ключ в массив aSensitiveKeys , который передается в otPlatSettingsInit() .

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

Активный набор эксплуатационных данных.

OT_SETTINGS_KEY_BORDER_AGENT_ID

Уникальный идентификатор пограничного агента/маршрутизатора.

OT_SETTINGS_KEY_BR_ON_LINK_PREFIXES

Префиксы местных каналов связи BR.

OT_SETTINGS_KEY_BR_ULA_PREFIX

Префикс BR ULA.

OT_SETTINGS_KEY_CHILD_INFO

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

OT_SETTINGS_KEY_DAD_INFO

Информация об обнаружении дубликатов адресов (DAD).

OT_SETTINGS_KEY_NETWORK_INFO

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

OT_SETTINGS_KEY_PARENT_INFO

Информация для родителей.

OT_SETTINGS_KEY_PENDING_DATASET

Ожидаемый набор операционных данных.

OT_SETTINGS_KEY_SLAAC_IID_SECRET_KEY

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

OT_SETTINGS_KEY_SRP_CLIENT_INFO

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

OT_SETTINGS_KEY_SRP_ECDSA_KEY

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

OT_SETTINGS_KEY_SRP_SERVER_INFO

Информация о сервере SRP (порт UDP).

Функции

otPlatSettingsДобавить

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

Добавляет значение к настройке.

Добавляет значение к параметру, указанному aKey , без замены существующих значений.

Обратите внимание, что базовая реализация не обязана поддерживать порядок элементов, связанных с определенным ключом. Добавленная стоимость может быть добавлена ​​в конце, начале или даже где-то посередине. Порядок любых ранее существовавших значений также может измениться.

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

Стек OpenThread гарантирует использование метода otPlatSettingsAdd() для aKey , который либо ранее управлялся с помощью otPlatSettingsAdd() (т. е. содержит один или несколько элементов), либо является пустым и/или полностью удаленным (не содержит значения).

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

Подробности
Параметры
[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
)

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

Удаляет определенное значение из параметра, определенного aKey, из хранилища настроек.

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

Подробности
Параметры
[in] aInstance
Структура экземпляра OpenThread.
[in] aKey
Ключ, связанный с запрошенной настройкой.
[in] aIndex
Индекс значения, которое нужно удалить. Если установлено значение -1, все значения для этого aKey будут удалены.
Возвращаемые значения
OT_ERROR_NONE
Указанный ключ и индекс были найдены и успешно удалены.
OT_ERROR_NOT_FOUND
Указанный ключ или индекс не найден в хранилище настроек.
OT_ERROR_NOT_IMPLEMENTED
Эта функция не реализована на этой платформе.

otPlatSettingsПолучить

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

Получает значение параметра.

Извлекает значение параметра, определенного aKey , и записывает его в память, на которую указывает aValue. Затем он записывает длину в целое число, на которое указывает aValueLength . Начальное значение aValueLength — это максимальное количество байтов, записываемых в aValue .

Может использоваться для проверки существования ключа без получения значения, установив для aValue и aValueLength значение NULL. Вы также можете проверить длину параметра, не извлекая его, установив только значение NULL для aValue.

Обратите внимание, что базовая реализация хранилища не обязана поддерживать порядок настроек с несколькими значениями. Порядок таких значений МОЖЕТ измениться после ЛЮБОЙ операции записи в хранилище.

Подробности
Параметры
[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
Указатель на массив, содержащий список конфиденциальных ключей. Может быть NULL, только если aSensitiveKeysLength равен 0, что означает отсутствие чувствительных ключей.
[in] aSensitiveKeysLength
Количество записей в массиве aSensitiveKeys .

otPlatSettingsSet

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

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

Устанавливает или заменяет значение параметра, определенного aKey .

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

Стек OpenThread гарантирует использование метода otPlatSettingsSet() для aKey , который либо был ранее установлен с помощью otPlatSettingsSet() (т. е. содержит одно значение), либо является пустым и/или полностью удаленным (не содержит значения).

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

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

otPlatSettingsWipe

void otPlatSettingsWipe(
  otInstance *aInstance
)

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

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

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

Ресурсы

Справочные разделы API OpenThread взяты из исходного кода, доступного на GitHub . Для получения дополнительной информации или внесения вклада в нашу документацию обратитесь к Ресурсам .

,

Настройки

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

Краткое содержание

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

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_SLAAC_IID_SECRET_KEY = 0x0007,
OT_SETTINGS_KEY_DAD_INFO = 0x0008,
OT_SETTINGS_KEY_SRP_ECDSA_KEY = 0x000b,
OT_SETTINGS_KEY_SRP_CLIENT_INFO = 0x000c,
OT_SETTINGS_KEY_SRP_SERVER_INFO = 0x000d,
OT_SETTINGS_KEY_BR_ULA_PREFIX = 0x000f,
OT_SETTINGS_KEY_BR_ON_LINK_PREFIXES = 0x0010,
OT_SETTINGS_KEY_BORDER_AGENT_ID = 0x0011
}
перечисление
Определяет клавиши настроек.

Функции

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

Определяет клавиши настроек.

Примечание. При добавлении нового ключа настроек, если настройки, соответствующие этому ключу, содержат конфиденциальную информацию безопасности, разработчик ДОЛЖЕН добавить ключ в массив aSensitiveKeys , который передается в otPlatSettingsInit() .

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

Активный набор эксплуатационных данных.

OT_SETTINGS_KEY_BORDER_AGENT_ID

Уникальный идентификатор пограничного агента/маршрутизатора.

OT_SETTINGS_KEY_BR_ON_LINK_PREFIXES

Префиксы местных каналов связи BR.

OT_SETTINGS_KEY_BR_ULA_PREFIX

Префикс BR ULA.

OT_SETTINGS_KEY_CHILD_INFO

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

OT_SETTINGS_KEY_DAD_INFO

Информация об обнаружении дубликатов адресов (DAD).

OT_SETTINGS_KEY_NETWORK_INFO

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

OT_SETTINGS_KEY_PARENT_INFO

Информация для родителей.

OT_SETTINGS_KEY_PENDING_DATASET

Ожидаемый набор операционных данных.

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).

Функции

otPlatSettingsДобавить

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

Добавляет значение к настройке.

Добавляет значение к параметру, указанному aKey , без замены существующих значений.

Обратите внимание, что базовая реализация не обязана поддерживать порядок элементов, связанных с определенным ключом. Добавленная стоимость может быть добавлена ​​в конце, начале или даже где-то посередине. Порядок любых ранее существовавших значений также может измениться.

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

Стек OpenThread гарантирует использование метода otPlatSettingsAdd() для aKey , который либо ранее управлялся с помощью otPlatSettingsAdd() (т. е. содержит один или несколько элементов), либо является пустым и/или полностью удаленным (не содержит значения).

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

Подробности
Параметры
[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
)

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

Удаляет определенное значение из параметра, определенного aKey, из хранилища настроек.

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

Подробности
Параметры
[in] aInstance
Структура экземпляра OpenThread.
[in] aKey
Ключ, связанный с запрошенной настройкой.
[in] aIndex
Индекс значения, которое нужно удалить. Если установлено значение -1, все значения для этого aKey будут удалены.
Возвращаемые значения
OT_ERROR_NONE
Указанный ключ и индекс были найдены и успешно удалены.
OT_ERROR_NOT_FOUND
Указанный ключ или индекс не найден в хранилище настроек.
OT_ERROR_NOT_IMPLEMENTED
Эта функция не реализована на этой платформе.

otPlatSettingsПолучить

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

Получает значение параметра.

Извлекает значение параметра, определенного aKey , и записывает его в память, на которую указывает aValue. Затем он записывает длину в целое число, на которое указывает aValueLength . Начальное значение aValueLength — это максимальное количество байтов, записываемых в aValue .

Может использоваться для проверки существования ключа без получения значения, установив для aValue и aValueLength значение NULL. Вы также можете проверить длину параметра, не извлекая его, установив только значение NULL для aValue.

Обратите внимание, что базовая реализация хранилища не обязана поддерживать порядок настроек с несколькими значениями. Порядок таких значений МОЖЕТ измениться после ЛЮБОЙ операции записи в хранилище.

Подробности
Параметры
[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
Указатель на массив, содержащий список конфиденциальных ключей. Может быть NULL, только если aSensitiveKeysLength равен 0, что означает отсутствие чувствительных ключей.
[in] aSensitiveKeysLength
Количество записей в массиве aSensitiveKeys .

otPlatSettingsSet

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

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

Устанавливает или заменяет значение параметра, определенного aKey .

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

Стек OpenThread гарантирует использование метода otPlatSettingsSet() для aKey , который либо был ранее установлен с помощью otPlatSettingsSet() (т. е. содержит одно значение), либо является пустым и/или полностью удаленным (не содержит значения).

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

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

otPlatSettingsWipe

void otPlatSettingsWipe(
  otInstance *aInstance
)

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

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

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

Ресурсы

Справочные разделы API OpenThread взяты из исходного кода, доступного на GitHub . Для получения дополнительной информации или внесения вклада в нашу документацию обратитесь к Ресурсам .