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
}
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

이 열거는 설정 키를 정의합니다.

참고: 새 설정 키를 추가할 때 키에 해당하는 설정에 보안 관련 정보가 포함되어 있다면 개발자는 키를 kSensitiveKeys 배열에 추가해야 합니다.

속성
OT_SETTINGS_KEY_ACTIVE_DATASET

활성 작업 데이터세트

OT_SETTINGS_KEY_BR_ULA_PREFIX

BR ULA 프리픽스

OT_SETTINGS_KEY_CHILD_INFO

하위 정보

OT_SETTINGS_KEY_DAD_INFO

중복 주소 감지 (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로 식별된 설정에 값을 추가합니다.

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

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

세부정보
매개변수
[in] aInstance
OpenThread 인스턴스 구조
[in] aKey
변경할 설정과 관련된 키입니다.
[in] aValue
설정의 새 값을 읽을 포인터입니다. aValueLength가 0이 아닌 경우 NULL이면 안 됩니다.
[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의 초 value값은 aValue에 쓸 최대 바이트 수입니다.

이 함수를 사용하면 aValue 및 aValueLength를 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로 식별된 설정의 값을 설정하거나 대체합니다. 이전에 aKey와 연결된 값이 둘 이상인 경우 모든 값이 삭제되고 이 단일 항목으로 대체됩니다.

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

세부정보
매개변수
[in] aInstance
OpenThread 인스턴스 구조
[in] aKey
변경할 설정과 관련된 키입니다.
[in] aValue
설정의 새 값을 읽을 포인터입니다. aValueLength가 0이 아닌 경우 NULL이면 안 됩니다.
[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에서 제공되는 소스 코드에서 시작됩니다. 자세한 내용을 알아보거나 문서에 기여하려면 리소스를 참조하세요.