Configuración

En este módulo, se incluye la abstracción de plataforma para el almacenamiento no volátil de la configuración.

Resumen

Enumeraciones

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
}
enum
Define las claves de la configuración.

remotas

otPlatSettingsAdd(otInstance *aInstance, uint16_t aKey, const uint8_t *aValue, uint16_t aValueLength)
Agrega un valor a un parámetro de configuración.
otPlatSettingsDeinit(otInstance *aInstance)
void
Si es necesario, realiza cualquier desinicialización para el subsistema de configuración.
otPlatSettingsDelete(otInstance *aInstance, uint16_t aKey, int aIndex)
Quita un parámetro de configuración del almacén de parámetros de configuración.
otPlatSettingsGet(otInstance *aInstance, uint16_t aKey, int aIndex, uint8_t *aValue, uint16_t *aValueLength)
Recupera el valor de un parámetro de configuración.
otPlatSettingsInit(otInstance *aInstance, const uint16_t *aSensitiveKeys, uint16_t aSensitiveKeysLength)
void
Realiza cualquier inicialización para el subsistema de configuración, si es necesario.
otPlatSettingsSet(otInstance *aInstance, uint16_t aKey, const uint8_t *aValue, uint16_t aValueLength)
Establece o reemplaza el valor de una configuración.
otPlatSettingsWipe(otInstance *aInstance)
void
Quita todos los parámetros de configuración del almacén de parámetros de configuración.

Enumeraciones

enumeración anónima

 anonymous enum

Define las claves de la configuración.

Nota: Cuando se agrega una nueva clave de configuración, si la configuración correspondiente a la clave contiene información sensible de seguridad, el desarrollador DEBE agregar la clave al array aSensitiveKeys que se pasa en otPlatSettingsInit().

Propiedades
OT_SETTINGS_KEY_ACTIVE_DATASET

Conjunto de datos operativos activo.

OT_SETTINGS_KEY_BORDER_AGENT_ID

ID de router o agente de frontera único.

OT_SETTINGS_KEY_BR_ON_LINK_PREFIXES

Prefijos en el vínculo locales de BR.

OT_SETTINGS_KEY_BR_ULA_PREFIX

BR ULA.

OT_SETTINGS_KEY_CHILD_INFO

Información del publicador secundario.

OT_SETTINGS_KEY_DAD_INFO

Información sobre la detección de direcciones duplicadas (DAD).

OT_SETTINGS_KEY_NETWORK_INFO

Información de la red de Thread.

OT_SETTINGS_KEY_PARENT_INFO

Información de la madre o el padre.

OT_SETTINGS_KEY_PENDING_DATASET

Conjunto de datos operativo pendiente.

OT_SETTINGS_KEY_SLAAC_IID_SECRET_KEY

Clave ANSAC para generar IID semánticamente opaco.

OT_SETTINGS_KEY_SRP_CLIENT_INFO

La información del cliente de SRP (dirección del servidor de SRP seleccionada).

OT_SETTINGS_KEY_SRP_ECDSA_KEY

Par de claves públicas/privadas de ECDSA del cliente de SRP.

OT_SETTINGS_KEY_SRP_SERVER_INFO

La información del servidor de SRP (puerto UDP).

remotas

otPlatSettingsAdd

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

Agrega un valor a un parámetro de configuración.

Agrega el valor a un parámetro de configuración identificado por aKey, sin reemplazar ningún valor existente.

Ten en cuenta que la implementación subyacente no es necesaria para mantener el orden de los elementos asociados con una clave específica. El valor agregado puede agregarse al final, al principio o incluso en algún punto medio. También puede cambiar el orden de los valores preexistentes.

Si llamas correctamente a esta función, es posible que se vuelvan a ordenar los parámetros de configuración no relacionados con varios valores.

La pila de OpenThread garantiza el uso del método otPlatSettingsAdd() para un aKey que antes administraba otPlatSettingsAdd() (es decir, que contiene uno o más elementos) o que está vacío o se borró por completo (no contiene ningún valor).

La capa de la plataforma puede confiar y usar este dato para optimizar su implementación.

Detalles
Parámetros
[in] aInstance
Estructura de instancias de OpenThread
[in] aKey
La clave asociada con el parámetro de configuración que se cambiará.
[in] aValue
Un puntero desde donde se debe leer el nuevo valor de la configuración. NO DEBE ser NULO si aValueLength no es cero.
[in] aValueLength
La longitud de los datos a los que apunta aValue. Puede ser cero.
Valores que se muestran
OT_ERROR_NONE
El parámetro de configuración determinado se agregó o se agregó por etapas.
OT_ERROR_NOT_IMPLEMENTED
Esta función no está implementada en esta plataforma.
OT_ERROR_NO_BUFS
No queda espacio para almacenar el parámetro de configuración determinado.

otPlatSettingsDeinit

void otPlatSettingsDeinit(
  otInstance *aInstance
)

Si es necesario, realiza cualquier desinicialización para el subsistema de configuración.

Detalles
Parámetros
[in] aInstance
Estructura de instancias de OpenThread

otPlatSettingsDelete

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

Quita un parámetro de configuración del almacén de parámetros de configuración.

Borra un valor específico del parámetro de configuración identificado por aKey del almacén de configuraciones.

Ten en cuenta que la implementación subyacente no es necesaria para mantener el orden de los elementos asociados con una clave específica.

Detalles
Parámetros
[in] aInstance
Estructura de instancias de OpenThread
[in] aKey
La clave asociada con el parámetro de configuración solicitado.
[in] aIndex
El índice del valor que se quitará. Si se establece en -1, se quitarán todos los valores de aKey.
Valores que se muestran
OT_ERROR_NONE
Se encontraron y quitaron correctamente la clave y el índice especificados.
OT_ERROR_NOT_FOUND
La clave o el índice especificados no se encontraron en el almacén de parámetros de configuración.
OT_ERROR_NOT_IMPLEMENTED
Esta función no está implementada en esta plataforma.

otPlatSettingsGet

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

Recupera el valor de un parámetro de configuración.

Recupera el valor de la configuración que identifica aKey y lo escribe en la memoria a la que apunta un valor. Luego, escribe la longitud en el número entero al que apunta aValueLength. El valor inicial de aValueLength es la cantidad máxima de bytes que se escribirán en aValue.

Se puede usar para comprobar la existencia de una clave sin recuperar el valor configurando aValue y aValueLength como NULL. También puedes verificar la longitud de la configuración sin recuperarla configurando solo aValue en NULL.

Ten en cuenta que no es necesaria la implementación de almacenamiento subyacente para mantener el orden de la configuración con varios valores. El orden de dichos valores PUEDE cambiar después de CUALQUIER operación de escritura en el almacén.

Detalles
Parámetros
[in] aInstance
Estructura de instancias de OpenThread
[in] aKey
La clave asociada con el parámetro de configuración solicitado.
[in] aIndex
Es el índice del elemento específico que se obtendrá.
[out] aValue
Un puntero donde se debe escribir el valor de la configuración. Se puede establecer en NULL si solo se prueba la presencia o longitud de un parámetro de configuración.
[in,out] aValueLength
Un puntero para la longitud del valor. Cuando se lo llame, este puntero debe apuntar a un número entero que contenga el tamaño máximo del valor que se puede escribir en aValue. En el resultado, se escribe la longitud real de la configuración. Se puede configurar como NULL si se realiza una verificación de presencias.
Valores que se muestran
OT_ERROR_NONE
Se encontró y se recuperó correctamente la configuración indicada.
OT_ERROR_NOT_FOUND
No se encontró el parámetro de configuración especificado en la tienda de parámetros de configuración.
OT_ERROR_NOT_IMPLEMENTED
Esta función no está implementada en esta plataforma.

otPlatSettingsInit

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

Realiza cualquier inicialización para el subsistema de configuración, si es necesario.

También configura las claves sensibles que deben almacenarse en el área segura.

Ten en cuenta que la memoria a la que apunta aSensitiveKeys no se DEBE liberar antes de que se destruya aInstance.

Detalles
Parámetros
[in] aInstance
Estructura de instancias de OpenThread
[in] aSensitiveKeys
Un puntero para un array que contiene la lista de claves sensibles. Puede ser NULL solo si aSensitiveKeysLength es 0, lo que significa que no hay claves sensibles.
[in] aSensitiveKeysLength
La cantidad de entradas en el array aSensitiveKeys.

otPlatSettingsSet

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

Establece o reemplaza el valor de una configuración.

Establece o reemplaza el valor de una configuración identificada por aKey.

Si llamas correctamente a esta función, es posible que se vuelvan a ordenar los parámetros de configuración no relacionados con varios valores.

La pila de OpenThread garantiza el uso del método otPlatSettingsSet() para aKey que se configuró previamente con otPlatSettingsSet() (es decir, contiene un solo valor) o está vacío o se borró por completo (no contiene ningún valor).

La capa de la plataforma puede confiar y usar este dato para optimizar su implementación.

Detalles
Parámetros
[in] aInstance
Estructura de instancias de OpenThread
[in] aKey
La clave asociada con el parámetro de configuración que se cambiará.
[in] aValue
Un puntero desde donde se debe leer el nuevo valor de la configuración. NO DEBE ser NULO si aValueLength no es cero.
[in] aValueLength
La longitud de los datos a los que apunta aValue. Puede ser cero.
Valores que se muestran
OT_ERROR_NONE
El parámetro de configuración determinado se cambió o se habilitó por etapas.
OT_ERROR_NOT_IMPLEMENTED
Esta función no está implementada en esta plataforma.
OT_ERROR_NO_BUFS
No queda espacio para almacenar el parámetro de configuración determinado.

otPlatSettingsWipe

void otPlatSettingsWipe(
  otInstance *aInstance
)

Quita todos los parámetros de configuración del almacén de parámetros de configuración.

Borra todos los parámetros de configuración del almacenamiento y restablece la configuración de fábrica a su estado inicial.

Detalles
Parámetros
[in] aInstance
Estructura de instancias de OpenThread

Recursos

Los temas de referencia de la API de OpenThread se originan a partir del código fuente, disponible en GitHub. Para obtener más información o contribuir a nuestra documentación, consulta Recursos.