설정

이 모듈에는 설정의 비휘발성 저장을 위한 플랫폼 추상화가 포함되어 있습니다.

요약

열거

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
설정의 키를 정의합니다.

함수

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
설정 저장소에서 모든 설정을 삭제합니다.

열거형

익명의 enum

 anonymous enum

설정의 키를 정의합니다.

참고: 새 설정 키를 추가할 때 키에 해당하는 설정에 보안에 민감한 정보가 포함된 경우 개발자는 otPlatSettingsInit()에 전달되는 aSensitiveKeys 배열에 키를 추가해야 합니다(MUST).

속성
OT_SETTINGS_KEY_ACTIVE_DATASET

활성 운영 데이터 세트입니다.

OT_SETTINGS_KEY_BORDER_AGENT_ID

고유한 경계 요원/라우터 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

의미론적으로 불투명한 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로 식별된 설정에 값을 추가합니다.

기본 구현은 특정 키와 연결된 항목의 순서를 유지하는 데 필요하지 않습니다. 부가 가치는 끝, 시작 또는 중간 어딘가에 추가될 수 있습니다. 기존 값의 순서도 변경될 수 있습니다.

이 함수를 성공적으로 호출하면 여러 값을 가진 관련 없는 설정이 재정렬될 수 있습니다.

OpenThread 스택은 이전에 otPlatSettingsAdd()에서 관리되었거나 (하나 이상의 항목을 포함함) 비어 있거나 완전히 삭제된 (값이 포함되지 않음) aKeyotPlatSettingsAdd() 메서드를 사용하도록 보장합니다.

플랫폼 레이어는 이 사실을 활용하여 구현을 최적화할 수 있습니다.

세부정보
매개변수
[in] aInstance
OpenThread 인스턴스 구조
[in] aKey
변경할 설정과 연결된 키입니다.
[in] aValue
설정의 새 값을 읽어야 하는 위치를 가리키는 포인터입니다. aValueLength이 0이 아닌 경우 NULL이면 안 됩니다(MUST NOT).
[in] aValueLength
aValue가 가리키는 데이터의 길이입니다. 0일 수 있습니다.
반환 값
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에 쓸 최대 바이트 수입니다.

aValueaValueLength를 NULL로 설정하여 값을 가져오지 않고 키의 존재를 확인하는 데 사용할 수 있습니다. aValue만 NULL로 설정하여 값을 가져오지 않고 설정 길이를 확인할 수도 있습니다.

기본 저장소를 구현해도 값이 여러 개인 설정 순서를 유지할 필요는 없습니다. 이러한 값의 순서는 저장소에 대한 모든 쓰기 작업 이후에 변경될 수 있습니다(MAY).

세부정보
매개변수
[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가 소멸되기 전에 해제되면 안 됩니다(MUST NOT).

세부정보
매개변수
[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로 식별된 설정 값을 설정하거나 대체합니다.

이 함수를 성공적으로 호출하면 여러 값을 가진 관련 없는 설정이 재정렬될 수 있습니다.

OpenThread 스택은 이전에 otPlatSettingsSet()를 사용하여 설정되었거나 (즉, 단일 값을 포함) 비어 있거나 완전히 삭제 (값이 포함되지 않음)된 aKeyotPlatSettingsSet() 메서드 사용을 보장합니다.

플랫폼 레이어는 이 사실을 활용하여 구현을 최적화할 수 있습니다.

세부정보
매개변수
[in] aInstance
OpenThread 인스턴스 구조
[in] aKey
변경할 설정과 연결된 키입니다.
[in] aValue
설정의 새 값을 읽어야 하는 위치를 가리키는 포인터입니다. aValueLength이 0이 아닌 경우 NULL이면 안 됩니다(MUST NOT).
[in] aValueLength
aValue가 가리키는 데이터의 길이입니다. 0일 수 있습니다.
반환 값
OT_ERROR_NONE
설정이 변경 또는 스테이징되었습니다.
OT_ERROR_NOT_IMPLEMENTED
이 플랫폼에는 이 기능이 구현되어 있지 않습니다.
OT_ERROR_NO_BUFS
지정된 설정을 저장할 공간이 남아 있지 않습니다.

otPlatSettingsWipe

void otPlatSettingsWipe(
  otInstance *aInstance
)

설정 저장소에서 모든 설정을 삭제합니다.

설정 저장소에서 모든 설정을 삭제하고 초기 초기화 상태로 재설정합니다.

세부정보
매개변수
[in] aInstance
OpenThread 인스턴스 구조

자료

OpenThread API 참조 주제는 GitHub에서 제공되는 소스 코드에서 비롯됩니다. 자세한 내용을 알아보거나 문서에 참여하려면 리소스를 참고하세요.