Google은 흑인 공동체를 위한 인종적 평등을 추구하기 위해 노력하고 있습니다. 자세히 알아보기

DNS6

이 모듈에는 DNS 통신을 제어하는 함수가 포함되어 있습니다.

요약

이 모듈의 함수는 기능 OPENTHREAD_CONFIG_DNS_CLIENT_ENABLE가 사용 설정된 경우에만 사용할 수 있습니다.

열거

otDnsNat64Mode{
  OT_DNS_NAT64_UNSPECIFIED = 0,
  OT_DNS_NAT64_ALLOW = 1,
  OT_DNS_NAT64_DISALLOW = 2
}
enum
이 열거형 유형은 otDnsQueryConfig의 NAT64 모드를 나타냅니다.
otDnsRecursionFlag{
  OT_DNS_FLAG_UNSPECIFIED = 0,
  OT_DNS_FLAG_RECURSION_DESIRED = 1,
  OT_DNS_FLAG_NO_RECURSION = 2
}
enum
이 열거형 유형은 otDnsQueryConfig의 'Recursion Desired' (RD) 플래그를 나타냅니다.

Typedef

otDnsAddressCallback)(otError aError, const otDnsAddressResponse *aResponse, void *aContext) typedef
void(*
이 함수 포인터는 주소 확인 쿼리를 위해 DNS 응답을 수신할 때 호출됩니다.
otDnsAddressResponse typedef
이 유형은 주소 확인 DNS 쿼리에 대한 응답을 불투명하게 표현합니다.
otDnsBrowseCallback)(otError aError, const otDnsBrowseResponse *aResponse, void *aContext) typedef
void(*
이 함수 포인터는 찾아보기 (서비스 인스턴스 열거) 쿼리에 대해 DNS 응답이 수신될 때 호출됩니다.
otDnsBrowseResponse typedef
이 유형은 찾아보기 (서비스 인스턴스 열거) DNS 쿼리에 대한 응답을 불투명하게 표현합니다.
otDnsQueryConfig typedef
이 구조는 DNS 쿼리 구성을 나타냅니다.
otDnsServiceCallback)(otError aError, const otDnsServiceResponse *aResponse, void *aContext) typedef
void(*
이 함수 포인터는 서비스 인스턴스 확인 쿼리에 대해 DNS 응답이 수신될 때 호출됩니다.
otDnsServiceInfo typedef
이 구조는 DNS 서비스 인스턴스에 대한 정보를 제공합니다.
otDnsServiceResponse typedef
이 유형은 서비스 인스턴스 확인 DNS 쿼리에 대한 응답을 불투명하게 표현합니다.
otDnsTxtEntry typedef
struct otDnsTxtEntry
이 구조는 키-값 쌍 (RFC 6763 - 섹션 6.3)을 나타내는 TXT 레코드 항목을 나타냅니다.
otDnsTxtEntryIterator typedef
이 구조는 TXT 레코드 전체 (키-값 쌍)의 반복자를 나타냅니다.

함수

otDnsAddressResponseGetAddress(const otDnsAddressResponse *aResponse, uint16_t aIndex, otIp6Address *aAddress, uint32_t *aTtl)
이 함수는 주소 확인 DNS 응답과 연결된 IPv6 주소를 가져옵니다.
otDnsAddressResponseGetHostName(const otDnsAddressResponse *aResponse, char *aNameBuffer, uint16_t aNameBufferSize)
이 함수는 주소 확인 DNS 응답과 연결된 전체 호스트 이름을 가져옵니다.
otDnsBrowseResponseGetHostAddress(const otDnsBrowseResponse *aResponse, const char *aHostName, uint16_t aIndex, otIp6Address *aAddress, uint32_t *aTtl)
이 함수는 DNS 찾아보기 (서비스 인스턴스 열거) 응답에서 호스트 IPv6 주소를 가져옵니다.
otDnsBrowseResponseGetServiceInfo(const otDnsBrowseResponse *aResponse, const char *aInstanceLabel, otDnsServiceInfo *aServiceInfo)
이 함수는 DNS 찾아보기 (서비스 인스턴스 열거) 응답에서 서비스 인스턴스 정보를 가져옵니다.
otDnsBrowseResponseGetServiceInstance(const otDnsBrowseResponse *aResponse, uint16_t aIndex, char *aLabelBuffer, uint8_t aLabelBufferSize)
이 함수는 DNS 찾아보기 (서비스 인스턴스 열거) 응답과 연결된 서비스 인스턴스를 가져옵니다.
otDnsBrowseResponseGetServiceName(const otDnsBrowseResponse *aResponse, char *aNameBuffer, uint16_t aNameBufferSize)
이 함수는 DNS 찾아보기 (서비스 인스턴스 열거) 응답과 연결된 서비스 이름을 가져옵니다.
otDnsClientBrowse(otInstance *aInstance, const char *aServiceName, otDnsBrowseCallback aCallback, void *aContext, const otDnsQueryConfig *aConfig)
이 함수는 지정된 서비스 이름에 대한 DNS 둘러보기 (서비스 인스턴스 열거) 쿼리를 보냅니다.
otDnsClientGetDefaultConfig(otInstance *aInstance)
이 함수는 DNS 클라이언트에서 사용하는 현재 기본 쿼리 구성을 가져옵니다.
otDnsClientResolveAddress(otInstance *aInstance, const char *aHostName, otDnsAddressCallback aCallback, void *aContext, const otDnsQueryConfig *aConfig)
이 함수는 지정된 호스트 이름의 AAAA(IPv6) 레코드에 대한 주소 확인 DNS 쿼리를 보냅니다.
otDnsClientResolveIp4Address(otInstance *aInstance, const char *aHostName, otDnsAddressCallback aCallback, void *aContext, const otDnsQueryConfig *aConfig)
이 함수는 지정된 호스트 이름에 대한 A(IPv4) 레코드에 대한 주소 확인 DNS 쿼리를 보냅니다.
otDnsClientResolveService(otInstance *aInstance, const char *aInstanceLabel, const char *aServiceName, otDnsServiceCallback aCallback, void *aContext, const otDnsQueryConfig *aConfig)
이 함수는 지정된 서비스 인스턴스의 DNS 서비스 인스턴스 확인 쿼리를 보냅니다.
otDnsClientSetDefaultConfig(otInstance *aInstance, const otDnsQueryConfig *aConfig)
void
이 함수는 DNS 클라이언트의 기본 쿼리 구성을 설정합니다.
otDnsGetNextTxtEntry(otDnsTxtEntryIterator *aIterator, otDnsTxtEntry *aEntry)
이 함수는 iterator에서 TXT 데이터를 파싱하고 다음 TXT 레코드 항목 (키-값 쌍)을 가져옵니다.
otDnsInitTxtEntryIterator(otDnsTxtEntryIterator *aIterator, const uint8_t *aTxtData, uint16_t aTxtDataLength)
void
이 함수는 TXT 레코드 반복자를 초기화합니다.
otDnsIsNameCompressionEnabled(void)
bool
이 함수는 'DNS 이름 압축' 모드가 사용 설정되었는지 여부를 나타냅니다.
otDnsServiceResponseGetHostAddress(const otDnsServiceResponse *aResponse, const char *aHostName, uint16_t aIndex, otIp6Address *aAddress, uint32_t *aTtl)
이 함수는 DNS 서비스 인스턴스 확인 응답에서 호스트 IPv6 주소를 가져옵니다.
otDnsServiceResponseGetServiceInfo(const otDnsServiceResponse *aResponse, otDnsServiceInfo *aServiceInfo)
이 함수는 DNS 서비스 인스턴스 확인 응답에서 서비스 인스턴스 정보를 가져옵니다.
otDnsServiceResponseGetServiceName(const otDnsServiceResponse *aResponse, char *aLabelBuffer, uint8_t aLabelBufferSize, char *aNameBuffer, uint16_t aNameBufferSize)
이 함수는 DNS 서비스 인스턴스 확인 응답과 연결된 서비스 인스턴스 이름을 가져옵니다.
otDnsSetNameCompressionEnabled(bool aEnabled)
void
이 함수는 'DNS 이름 압축' 모드를 사용 설정/사용 중지합니다.

구조체

otDnsQueryConfig

이 구조는 DNS 쿼리 구성을 나타냅니다.

otDnsServiceInfo

이 구조는 DNS 서비스 인스턴스에 대한 정보를 제공합니다.

otDnsTxtEntry

이 구조는 키-값 쌍 (RFC 6763 - 섹션 6.3)을 나타내는 TXT 레코드 항목을 나타냅니다.

otDnsTxtEntryIterator를 사용합니다.

이 구조는 TXT 레코드 전체 (키-값 쌍)의 반복자를 나타냅니다.

열거

otDnsNat64Mode

 otDnsNat64Mode

이 열거형 유형은 otDnsQueryConfig의 NAT64 모드를 나타냅니다.

NAT64 모드는 DNS 클라이언트 주소 확인 중에 NAT64 주소 변환을 허용할지 여부를 나타냅니다. 이 모드는 OPENTHREAD_CONFIG_DNS_CLIENT_NAT64_ENABLE가 사용 설정된 경우에만 사용됩니다.

속성
OT_DNS_NAT64_ALLOW

DNS 클라이언트 주소를 확인하는 동안 NAT64 주소 변환을 허용합니다.

OT_DNS_NAT64_DISALLOW

DNS 클라이언트 주소 확인 중에 NAT64 주소 변환을 허용하지 않습니다.

OT_DNS_NAT64_UNSPECIFIED

NAT64 모드가 지정되지 않습니다. 기본 NAT64 모드를 사용합니다.

otDnsRecursionFlag

 otDnsRecursionFlag

이 열거형 유형은 otDnsQueryConfig의 'Recursion Desired' (RD) 플래그를 나타냅니다.

속성
OT_DNS_FLAG_NO_RECURSION

DNS 네임서버가 쿼리를 반복적으로 확인할 수 없음을 나타냅니다.

OT_DNS_FLAG_RECURSION_DESIRED

DNS 네임서버가 쿼리를 반복적으로 확인할 수 있음을 나타냅니다.

OT_DNS_FLAG_UNSPECIFIED

플래그가 지정되지 않았음을 나타냅니다.

Typedef

otDnsAddressCallback

void(* otDnsAddressCallback)(otError aError, const otDnsAddressResponse *aResponse, void *aContext)

이 함수 포인터는 주소 확인 쿼리를 위해 DNS 응답을 수신할 때 호출됩니다.

이 콜백 내에서 사용자는 aResponse 포인터와 함께 otDnsAddressResponseGet{Item}() 함수를 사용하여 응답에 대한 자세한 정보를 얻을 수 있습니다.

aResponse 포인터는 이 콜백 내에서만 사용할 수 있으며 이 함수에서 반환된 후에는 유효하지 않으므로 사용자는 나중에 사용할 수 있도록 aResponse 포인터를 유지해서는 안 됩니다.

aError는 다음을 포함할 수 있습니다.

세부정보
매개변수
[in] aError
DNS 트랜잭션의 결과입니다.
[in] aResponse
응답에 대한 포인터입니다 (항상 NULL이 아님).
[in] aContext
애플리케이션별 컨텍스트 포인터

  • OT_ERROR_NONE 응답이 수신되었습니다.
  • OT_ERROR_ABORT 스택에 의해 DNS 트랜잭션이 취소되었습니다.
  • OT_ERROR_REPLY_TIMEOUT 제한 시간 내에 수신된 DNS 응답이 없습니다.

서버가 주소 확인 요청을 거부하면 서버의 오류 코드는 다음과 같이 매핑됩니다.

  • (0) NOERROR 성공 (오류 조건 없음) -> OT_ERROR_NONE
  • (1) FORMERR 서버에서 형식 오류로 인해 해석할 수 없습니다. -> OT_ERROR_PARSE
  • (2) SERVFAIL 서버에 내부 오류가 발생했습니다. -> OT_ERROR_FAILED
  • (3) 존재해야 하는 NXDOMAIN 이름(존재하지 않음) -> OT_ERROR_NOT_FOUND
  • (4) NOTIMP Server는 쿼리 유형 (OpCode) -> OT_ERROR_NOT_IMPLEMENTED을 지원하지 않습니다.
  • (5) REFUSED 서버가 정책/보안 문제로 인해 거부됨 -> OT_ERROR_SECURITY
  • (6) YXDOMAIN 존재해서는 안 되는 이름이 있습니다. 존재하지 않는 이름입니다. -> OT_ERROR_DUPLICATED
  • (7) YXRRSET 존재해서는 안 되는 일부 RRSet가 존재합니다. -> OT_ERROR_DUPLICATED
  • (8) NXRRSET 일부 RRset은 없어야 하지만 존재하지는 않습니다. -> OT_ERROR_NOT_FOUND
  • (9) NOTAUTH 서비스는 -> OT_ERROR_SECURITY 영역에 대해 신뢰할 수 없습니다.
  • (10) NOTZONE 이름이 영역에 없습니다 -> OT_ERROR_PARSE
  • (20) BADNAME 잘못된 이름 -> OT_ERROR_PARSE
  • (21) BADALG 잘못된 알고리즘 -> OT_ERROR_SECURITY
  • (22) BADTRUN 잘못된 잘림 -> OT_ERROR_PARSE
  • 기타 응답 코드 -> OT_ERROR_FAILED

otDnsAddressResponse

struct otDnsAddressResponse otDnsAddressResponse

이 유형은 주소 확인 DNS 쿼리에 대한 응답을 불투명하게 표현합니다.

이 유형의 인스턴스에 대한 포인터는 otDnsAddressCallback 콜백에서 제공됩니다.

otDnsBrowseCallback

void(* otDnsBrowseCallback)(otError aError, const otDnsBrowseResponse *aResponse, void *aContext)

이 함수 포인터는 찾아보기 (서비스 인스턴스 열거) 쿼리에 대해 DNS 응답이 수신될 때 호출됩니다.

이 콜백 내에서 사용자는 aResponse 포인터와 함께 otDnsBrowseResponseGet{Item}() 함수를 사용하여 응답에 대한 자세한 정보를 얻을 수 있습니다.

aResponse 포인터는 이 콜백 내에서만 사용할 수 있으며 이 함수에서 반환된 후에는 유효하지 않으므로 사용자는 나중에 사용할 수 있도록 aResponse 포인터를 유지해서는 안 됩니다.

aError에 사용 가능한 값의 전체 목록은 otDnsAddressCallback()를 참고하세요.

세부정보
매개변수
[in] aError
DNS 트랜잭션의 결과입니다.
[in] aResponse
응답에 대한 포인터입니다 (항상 NULL이 아님).
[in] aContext
애플리케이션별 컨텍스트 포인터

otDnsBrowseResponse

struct otDnsBrowseResponse otDnsBrowseResponse

이 유형은 찾아보기 (서비스 인스턴스 열거) DNS 쿼리에 대한 응답을 불투명하게 표현합니다.

이 유형의 인스턴스에 대한 포인터는 otDnsBrowseCallback 콜백에서 제공됩니다.

otDnsQueryConfig

struct otDnsQueryConfig otDnsQueryConfig

이 구조는 DNS 쿼리 구성을 나타냅니다.

이 구조의 모든 필드는 0으로 설정하여 지정되지 않음을 나타낼 수 있습니다. 지정되지 않은 필드가 처리되는 방식은 otDnsQueryConfig의 인스턴스를 사용하는 함수에 따라 결정됩니다.

otDnsServiceCallback

void(* otDnsServiceCallback)(otError aError, const otDnsServiceResponse *aResponse, void *aContext)

이 함수 포인터는 서비스 인스턴스 확인 쿼리에 대해 DNS 응답이 수신될 때 호출됩니다.

이 콜백 내에서 사용자는 aResponse 포인터와 함께 otDnsServiceResponseGet{Item}() 함수를 사용하여 응답에 대한 자세한 정보를 얻을 수 있습니다.

aResponse 포인터는 이 콜백 내에서만 사용할 수 있으며 이 함수에서 반환된 후에는 유효하지 않으므로 사용자는 나중에 사용할 수 있도록 aResponse 포인터를 유지해서는 안 됩니다.

aError에 사용 가능한 값의 전체 목록은 otDnsAddressCallback()를 참고하세요.

세부정보
매개변수
[in] aError
DNS 트랜잭션의 결과입니다.
[in] aResponse
응답에 대한 포인터입니다 (항상 NULL이 아님).
[in] aContext
애플리케이션별 컨텍스트 포인터

otDnsServiceInfo

struct otDnsServiceInfo otDnsServiceInfo

이 구조는 DNS 서비스 인스턴스에 대한 정보를 제공합니다.

otDnsServiceResponse

struct otDnsServiceResponse otDnsServiceResponse

이 유형은 서비스 인스턴스 확인 DNS 쿼리에 대한 응답을 불투명하게 표현합니다.

이 유형의 인스턴스에 대한 포인터는 otDnsAddressCallback 콜백에서 제공됩니다.

otDnsTxtEntry

struct otDnsTxtEntry otDnsTxtEntry

이 구조는 키-값 쌍 (RFC 6763 - 섹션 6.3)을 나타내는 TXT 레코드 항목을 나타냅니다.

mKeymValue가 가리키는 문자열 버퍼는 이러한 구조의 인스턴스가 otSrpClientServiceThread의 일부로 OpenThread에 전달된 후에도 지속되고 변경되지 않아야 합니다 (MUST).

otSrpClientService에는 전체 TXT 레코드 (항목 목록)를 지정하기 위해 otDnsTxtEntry 항목의 배열이 사용됩니다.

otDnsTxtEntryIterator(otDnsTxtEntryIterator)

struct otDnsTxtEntryIterator otDnsTxtEntryIterator

이 구조는 TXT 레코드 전체 (키-값 쌍)의 반복자를 나타냅니다.

이 구조의 데이터 필드는 OpenThread Core에서 사용하기 위한 것이며 호출자는 읽거나 변경할 수 없습니다.

함수

otDnsAddressResponseGetAddress

otError otDnsAddressResponseGetAddress(
  const otDnsAddressResponse *aResponse,
  uint16_t aIndex,
  otIp6Address *aAddress,
  uint32_t *aTtl
)

이 함수는 주소 확인 DNS 응답과 연결된 IPv6 주소를 가져옵니다.

이 함수는 otDnsAddressCallback에서만 사용해야 합니다.

응답에는 여러 IPv6 주소 레코드가 포함될 수 있습니다. aIndex를 사용하면 주소 목록을 반복할 수 있습니다. 색인 0은 첫 번째 주소 등을 가져옵니다. 목록의 끝에 도달하면 OT_ERROR_NOT_FOUND가 반환됩니다.

세부정보
매개변수
[in] aResponse
응답에 대한 포인터입니다.
[in] aIndex
검색할 주소 레코드 색인입니다.
[out] aAddress
주소를 출력하기 위한 IPv6 주소에 대한 포인터입니다 (NULL이 아니어야 함).
[out] aTtl
주소의 TTL을 출력하는 uint32_t에 대한 포인터입니다. 호출자가 TTL을 가져오고 싶지 않은 경우 NULL일 수 있습니다.
반환 값
OT_ERROR_NONE
주소를 읽었습니다.
OT_ERROR_NOT_FOUND
aResponse aIndex에 주소 레코드가 없습니다.
OT_ERROR_PARSE
aResponse의 레코드를 파싱할 수 없습니다.
OT_ERROR_INVALID_STATE
NAT64 프리픽스 없음 (NAT64가 허용되는 경우에만 적용됨)

otDnsAddressResponseGetHostName

otError otDnsAddressResponseGetHostName(
  const otDnsAddressResponse *aResponse,
  char *aNameBuffer,
  uint16_t aNameBufferSize
)

이 함수는 주소 확인 DNS 응답과 연결된 전체 호스트 이름을 가져옵니다.

이 함수는 otDnsAddressCallback에서만 사용해야 합니다.

세부정보
매개변수
[in] aResponse
응답에 대한 포인터입니다.
[out] aNameBuffer
전체 호스트 이름을 출력하기 위한 문자 배열의 버퍼입니다 (NULL이 아니어야 함).
[in] aNameBufferSize
aNameBuffer의 크기입니다.
반환 값
OT_ERROR_NONE
전체 호스트 이름을 성공적으로 읽었습니다.
OT_ERROR_NO_BUFS
이름이 aNameBuffer에 맞지 않습니다.

otDnsBrowseResponseGetHostAddress

otError otDnsBrowseResponseGetHostAddress(
  const otDnsBrowseResponse *aResponse,
  const char *aHostName,
  uint16_t aIndex,
  otIp6Address *aAddress,
  uint32_t *aTtl
)

이 함수는 DNS 찾아보기 (서비스 인스턴스 열거) 응답에서 호스트 IPv6 주소를 가져옵니다.

이 함수는 otDnsBrowseCallback에서만 사용해야 합니다.

응답에는 0개 이상의 IPv6 주소 레코드가 포함될 수 있습니다. aIndex를 사용하면 주소 목록을 반복할 수 있습니다. 색인 0은 첫 번째 주소 등을 가져옵니다. 목록의 끝에 도달하면 OT_ERROR_NOT_FOUND가 반환됩니다.

세부정보
매개변수
[in] aResponse
응답에 대한 포인터입니다.
[in] aHostName
주소를 가져올 호스트 이름입니다 (NULL이 아니어야 함).
[in] aIndex
검색할 주소 레코드 색인입니다.
[out] aAddress
주소를 출력하기 위한 IPv6 주소에 대한 포인터입니다 (NULL이 아니어야 함).
[out] aTtl
주소의 TTL을 출력하는 uint32_t에 대한 포인터입니다. 호출자가 TTL을 가져오고 싶지 않은 경우 NULL일 수 있습니다.
반환 값
OT_ERROR_NONE
주소를 읽었습니다.
OT_ERROR_NOT_FOUND
aResponse, aIndexaHostname에 대한 주소 레코드가 없습니다.
OT_ERROR_PARSE
aResponse의 레코드를 파싱할 수 없습니다.

otDnsBrowseResponseGetServiceInfo

otError otDnsBrowseResponseGetServiceInfo(
  const otDnsBrowseResponse *aResponse,
  const char *aInstanceLabel,
  otDnsServiceInfo *aServiceInfo
)

이 함수는 DNS 찾아보기 (서비스 인스턴스 열거) 응답에서 서비스 인스턴스 정보를 가져옵니다.

이 함수는 otDnsBrowseCallback에서만 사용해야 합니다.

찾아보기 DNS 응답에는 열거된 서비스 인스턴스의 SRV, TXT 및 AAAA 레코드가 포함되어야 합니다 (MUST이며, MUST 요구사항이 아닌 이 함수는 사용 가능한 특정 서비스 인스턴스에 대해 이 정보를 검색합니다.

  • 일치하는 SRV 레코드가 aResponse에 없으면 OT_ERROR_NOT_FOUND이 반환됩니다.
  • 일치하는 SRV 레코드가 aResponse에서 발견되면 aServiceInfo이 업데이트되고 OT_ERROR_NONE가 반환됩니다.
  • 일치하는 TXT 레코드가 aResponse에 없으면 aServiceInfomTxtDataSize이 0으로 설정됩니다.
  • aResponse에 일치하는 AAAA 레코드가 없는 경우 mHostAddress is set to all zero or unspecified address.
  • If there are multiple AAAA records for the host name in @p aResponse,mHostAddressis set to the first one. The other addresses can be retrieved usingotDnsBrowseResponseGetHostAddress()입니다.

세부정보
매개변수
[in] aResponse
응답에 대한 포인터입니다.
[in] aInstanceLabel
서비스 인스턴스 라벨입니다 (NULL이 아니어야 함).
[out] aServiceInfo
서비스 인스턴스 정보를 출력하는 ServiceInfo입니다 (NULL이 아니어야 함).
반환 값
OT_ERROR_NONE
서비스 인스턴스 정보를 읽었습니다. aServiceInfo이 업데이트되었습니다.
OT_ERROR_NOT_FOUND
aInstanceLabel에 일치하는 SRV 레코드를 찾을 수 없습니다.
OT_ERROR_NO_BUFS
호스트 이름 또는 TXT 데이터가 지정된 버퍼에 맞지 않습니다.
OT_ERROR_PARSE
aResponse의 레코드를 파싱할 수 없습니다.

otDnsBrowseResponseGetServiceInstance

otError otDnsBrowseResponseGetServiceInstance(
  const otDnsBrowseResponse *aResponse,
  uint16_t aIndex,
  char *aLabelBuffer,
  uint8_t aLabelBufferSize
)

이 함수는 DNS 찾아보기 (서비스 인스턴스 열거) 응답과 연결된 서비스 인스턴스를 가져옵니다.

이 함수는 otDnsBrowseCallback에서만 사용해야 합니다.

응답에는 여러 서비스 인스턴스 레코드가 포함될 수 있습니다. aIndex를 사용하면 목록을 반복할 수 있습니다. 색인 0은 첫 번째 레코드를 제공합니다. 목록의 끝에 도달하면 OT_ERROR_NOT_FOUND가 반환됩니다.

이 함수는 .. 형식의 전체 서비스 인스턴스 이름이 아닌 서비스 인스턴스 라벨을 가져옵니다.

세부정보
매개변수
[in] aResponse
응답에 대한 포인터입니다.
[in] aIndex
검색할 서비스 인스턴스 레코드 색인입니다.
[out] aLabelBuffer
서비스 인스턴스 라벨을 출력하기 위한 문자 배열의 버퍼입니다 (NULL이 아니어야 함).
[in] aLabelBufferSize
aLabelBuffer의 크기입니다.
반환 값
OT_ERROR_NONE
서비스 인스턴스를 성공적으로 읽었습니다.
OT_ERROR_NO_BUFS
이름이 aNameBuffer에 맞지 않습니다.
OT_ERROR_NOT_FOUND
aResponseaIndex에 서비스 인스턴스 레코드가 없습니다.
OT_ERROR_PARSE
aResponse의 레코드를 파싱할 수 없습니다.

otDnsBrowseResponseGetServiceName

otError otDnsBrowseResponseGetServiceName(
  const otDnsBrowseResponse *aResponse,
  char *aNameBuffer,
  uint16_t aNameBufferSize
)

이 함수는 DNS 찾아보기 (서비스 인스턴스 열거) 응답과 연결된 서비스 이름을 가져옵니다.

이 함수는 otDnsBrowseCallback에서만 사용해야 합니다.

세부정보
매개변수
[in] aResponse
응답에 대한 포인터입니다.
[out] aNameBuffer
서비스 이름을 출력하기 위한 문자 배열의 버퍼입니다 (NULL이 아니어야 함).
[in] aNameBufferSize
aNameBuffer의 크기입니다.
반환 값
OT_ERROR_NONE
서비스 이름을 성공적으로 읽었습니다.
OT_ERROR_NO_BUFS
이름이 aNameBuffer에 맞지 않습니다.

otDnsClientBrowse

otError otDnsClientBrowse(
  otInstance *aInstance,
  const char *aServiceName,
  otDnsBrowseCallback aCallback,
  void *aContext,
  const otDnsQueryConfig *aConfig
)

이 함수는 지정된 서비스 이름에 대한 DNS 둘러보기 (서비스 인스턴스 열거) 쿼리를 보냅니다.

이 함수는 OPENTHREAD_CONFIG_DNS_CLIENT_SERVICE_DISCOVERY_ENABLE가 사용 설정된 경우 사용할 수 있습니다.

aConfig은 NULL일 수 있습니다. 이 경우 otDnsClientGetDefaultConfig()의 기본 구성이 이 쿼리의 구성으로 사용됩니다. NULL이 아닌 aConfig에서 일부 필드는 지정되지 않은 채로 둘 수 있습니다 (값 0). 그러면 지정되지 않은 필드가 기본 구성의 값으로 대체됩니다.

세부정보
매개변수
[in] aInstance
OpenThread 인스턴스 포인터.
[in] aServiceName
쿼리할 서비스 이름입니다 (NULL이 아니어야 함).
[in] aCallback
응답 수신 또는 타임아웃 시 호출되어야 하는 함수 포인터입니다.
[in] aContext
임의의 컨텍스트 정보를 가리키는 포인터입니다.
[in] aConfig
이 쿼리에 사용할 구성에 대한 포인터입니다.
반환 값
OT_ERROR_NONE
쿼리가 전송되었습니다. aCallback가 호출되어 상태를 보고합니다.
OT_ERROR_NO_BUFS
쿼리를 준비하고 전송하기 위한 버퍼가 부족합니다.

otDnsClientGetDefaultConfig

const otDnsQueryConfig * otDnsClientGetDefaultConfig(
  otInstance *aInstance
)

이 함수는 DNS 클라이언트에서 사용하는 현재 기본 쿼리 구성을 가져옵니다.

OpenThread 스택이 시작되면 기본 DNS 쿼리 구성이 OPENTHREAD_CONFIG_DNS_CLIENT_DEFAULT_SERVER_IP6_ADDRESS, _DEFAULT_SERVER_PORT, _DEFAULT_RESPONSE_TIMEOUT 등의 OT 구성 옵션 집합에서 결정됩니다(모든 관련 구성 옵션은 config/dns_client.h 참고). 에서 확인할 수 있습니다.

세부정보
매개변수
[in] aInstance
OpenThread 인스턴스 포인터.
반환
DNS 클라이언트에서 사용 중인 현재 기본 구성에 대한 포인터.

otDnsClientResolveAddress

otError otDnsClientResolveAddress(
  otInstance *aInstance,
  const char *aHostName,
  otDnsAddressCallback aCallback,
  void *aContext,
  const otDnsQueryConfig *aConfig
)

이 함수는 지정된 호스트 이름의 AAAA(IPv6) 레코드에 대한 주소 확인 DNS 쿼리를 보냅니다.

aConfig은 NULL일 수 있습니다. 이 경우 otDnsClientGetDefaultConfig()의 기본 구성이 이 쿼리의 구성으로 사용됩니다. NULL이 아닌 aConfig에서 일부 필드는 지정되지 않은 채로 둘 수 있습니다 (값 0). 그러면 지정되지 않은 필드가 기본 구성의 값으로 대체됩니다.

세부정보
매개변수
[in] aInstance
OpenThread 인스턴스 포인터.
[in] aHostName
주소를 쿼리할 호스트 이름입니다 (NULL이 아니어야 함).
[in] aCallback
응답 수신 또는 타임아웃 시 호출되어야 하는 함수 포인터입니다.
[in] aContext
임의의 컨텍스트 정보를 가리키는 포인터입니다.
[in] aConfig
이 쿼리에 사용할 구성에 대한 포인터입니다.
반환 값
OT_ERROR_NONE
쿼리가 전송되었습니다. aCallback가 호출되어 상태를 보고합니다.
OT_ERROR_NO_BUFS
쿼리를 준비하고 전송하기 위한 버퍼가 부족합니다.
OT_ERROR_INVALID_ARGS
호스트 이름의 형식이 올바르지 않습니다.
OT_ERROR_INVALID_STATE
스레드 인터페이스가 실행되지 않아 쿼리를 보낼 수 없습니다.

otDnsClientResolveIp4Address

otError otDnsClientResolveIp4Address(
  otInstance *aInstance,
  const char *aHostName,
  otDnsAddressCallback aCallback,
  void *aContext,
  const otDnsQueryConfig *aConfig
)

이 함수는 지정된 호스트 이름에 대한 A(IPv4) 레코드에 대한 주소 확인 DNS 쿼리를 보냅니다.

이 함수는 OPENTHREAD_CONFIG_DNS_CLIENT_NAT64_ENABLE가 사용 설정된 경우 사용할 수 있으며 사용할 수 있습니다.

성공 응답을 받으면 쿼리 응답에서 IPv4 주소를 NAT64 IPv6로 번역한 버전으로 aCallback에서 주소를 반환합니다.

aConfig은 NULL일 수 있습니다. 이 경우 otDnsClientGetDefaultConfig()의 기본 구성이 이 쿼리의 구성으로 사용됩니다. NULL이 아닌 aConfig에서 일부 필드는 지정되지 않은 채로 둘 수 있습니다 (값 0). 그러면 지정되지 않은 필드가 기본 구성의 값으로 대체됩니다.

세부정보
매개변수
[in] aInstance
OpenThread 인스턴스 포인터.
[in] aHostName
주소를 쿼리할 호스트 이름입니다 (NULL이 아니어야 함).
[in] aCallback
응답 수신 또는 타임아웃 시 호출되어야 하는 함수 포인터입니다.
[in] aContext
임의의 컨텍스트 정보를 가리키는 포인터입니다.
[in] aConfig
이 쿼리에 사용할 구성에 대한 포인터입니다.
반환 값
OT_ERROR_NONE
쿼리가 전송되었습니다. aCallback가 호출되어 상태를 보고합니다.
OT_ERROR_NO_BUFS
쿼리를 준비하고 전송하기 위한 버퍼가 부족합니다.
OT_ERROR_INVALID_ARGS
호스트 이름의 형식이 올바르지 않거나 구성에서 NAT64가 사용 설정되지 않았습니다.
OT_ERROR_INVALID_STATE
스레드 인터페이스가 실행되지 않아 쿼리를 보낼 수 없습니다.

otDnsClientResolveService

otError otDnsClientResolveService(
  otInstance *aInstance,
  const char *aInstanceLabel,
  const char *aServiceName,
  otDnsServiceCallback aCallback,
  void *aContext,
  const otDnsQueryConfig *aConfig
)

이 함수는 지정된 서비스 인스턴스의 DNS 서비스 인스턴스 확인 쿼리를 보냅니다.

이 함수는 OPENTHREAD_CONFIG_DNS_CLIENT_SERVICE_DISCOVERY_ENABLE가 사용 설정된 경우 사용할 수 있습니다.

aConfig은 NULL일 수 있습니다. 이 경우 otDnsClientGetDefaultConfig()의 기본 구성이 이 쿼리의 구성으로 사용됩니다. NULL이 아닌 aConfig에서 일부 필드는 지정되지 않은 채로 둘 수 있습니다 (값 0). 그러면 지정되지 않은 필드가 기본 구성의 값으로 대체됩니다.

세부정보
매개변수
[in] aInstance
OpenThread 인스턴스 포인터.
[in] aInstanceLabel
서비스 인스턴스 라벨입니다.
[in] aServiceName
서비스 이름 (aInstanceLabel과 함께 전체 인스턴스 이름 구성)
[in] aCallback
응답 수신 또는 타임아웃 시 호출되어야 하는 함수 포인터입니다.
[in] aContext
임의의 컨텍스트 정보를 가리키는 포인터입니다.
[in] aConfig
이 쿼리에 사용할 구성에 대한 포인터입니다.
반환 값
OT_ERROR_NONE
쿼리가 전송되었습니다. aCallback가 호출되어 상태를 보고합니다.
OT_ERROR_NO_BUFS
쿼리를 준비하고 전송하기 위한 버퍼가 부족합니다.
OT_ERROR_INVALID_ARGS
aInstanceLabel은 NULL입니다.

otDnsClientSetDefaultConfig

void otDnsClientSetDefaultConfig(
  otInstance *aInstance,
  const otDnsQueryConfig *aConfig
)

이 함수는 DNS 클라이언트의 기본 쿼리 구성을 설정합니다.

참고: 모든 진행 중인 쿼리는 시작된 시점부터 구성을 사용합니다. 향후 모든 DNS 쿼리에 대해 새 기본 구성이 사용됩니다. aConfig은 NULL일 수 있습니다. 이 경우 기본 구성은 OT 구성 옵션 OPENTHREAD_CONFIG_DNS_CLIENT_DEFAULT_{}의 기본값으로 설정됩니다. 그러면 OpenThread 스택이 시작될 때 기본 쿼리 구성이 구성으로 다시 재설정됩니다.

NULL이 아닌 aConfig에서는 호출자가 otDnsQueryConfig 인스턴스의 일부 필드를 지정하지 않은 상태로 두도록 선택할 수 있습니다 (값 0). 지정되지 않은 필드는 기본 쿼리 구성을 구성하기 위해 상응하는 OT 구성 옵션 정의 OPENTHREAD_CONFIG_DNS_CLIENT_DEFAULT_{}로 대체됩니다.

OPENTHREAD_CONFIG_DNS_CLIENT_DEFAULT_SERVER_ADDRESS_AUTO_SET_ENABLE를 사용 설정하면 DNS 클라이언트에서 서버의 기본 IPv6 주소를 자동으로 설정하고 업데이트합니다. 이 작업은 사용자가 명시적으로 설정하거나 지정하지 않는 경우에만 수행됩니다. 이 동작을 사용하려면 SRP 클라이언트와 해당 자동 시작 기능이 사용 설정되어 있어야 합니다. 그러면 SRP 클라이언트가 DNS/SRP 서비스 항목의 스레드 네트워크 데이터를 모니터링하여 SRP 서버를 선택합니다. 선택한 SRP 서버 주소는 기본 구성에서 DNS 서버 주소로도 설정됩니다.

세부정보
매개변수
[in] aInstance
OpenThread 인스턴스 포인터.
[in] aConfig
기본값으로 사용할 새 쿼리 구성에 대한 포인터입니다.

otDnsGetNextTxtEntry

otError otDnsGetNextTxtEntry(
  otDnsTxtEntryIterator *aIterator,
  otDnsTxtEntry *aEntry
)

이 함수는 iterator에서 TXT 데이터를 파싱하고 다음 TXT 레코드 항목 (키-값 쌍)을 가져옵니다.

aIterator는 이 함수를 호출하기 전에 otDnsInitTxtEntryIterator()를 사용하여 초기화해야 하며 반복자를 초기화하는 데 사용되는 TXT 데이터 버퍼를 유지하고 변경하지 않아야 합니다(MUST). 그렇지 않으면 이 함수의 동작이 정의되지 않습니다.

파싱된 키 문자열 길이가 OT_DNS_TXT_KEY_MAX_LENGTH (권장되는 최대 키 길이)보다 작거나 같으면 aEntrymKey에 키 문자열이 반환됩니다. 하지만 키가 더 길면 mKey이 NULL로 설정되고 인코딩된 전체 TXT 항목 문자열이 mValuemValueLength로 반환됩니다.

세부정보
매개변수
[in] aIterator
반복자에 관한 포인터입니다 (NULL이 아니어야 함).
[out] aEntry
파싱/읽기 항목을 출력하는 otDnsTxtEntry 구조체에 대한 포인터입니다 (NULL이 아니어야 함).
반환 값
OT_ERROR_NONE
다음 항목이 파싱되었습니다. aEntry이 업데이트되었습니다.
OT_ERROR_NOT_FOUND
TXT 데이터에 항목이 더 이상 없습니다.
OT_ERROR_PARSE
aIterator의 TXT 데이터 형식이 올바르지 않습니다.

otDnsInitTxtEntryIterator

void otDnsInitTxtEntryIterator(
  otDnsTxtEntryIterator *aIterator,
  const uint8_t *aTxtData,
  uint16_t aTxtDataLength
)

이 함수는 TXT 레코드 반복자를 초기화합니다.

aIterator 포인터가 사용되는 동안 버퍼 포인터 aTxtData와 콘텐츠는 유지되고 변경되지 않아야 합니다(MUST).

세부정보
매개변수
[in] aIterator
초기화할 반복자에 대한 포인터입니다 (NULL이 아니어야 함).
[in] aTxtData
인코딩된 TXT 데이터를 포함하는 버퍼에 관한 포인터입니다.
[in] aTxtDataLength
aTxtData의 길이 (바이트 수)입니다.

otDnsIsNameCompressionEnabled

bool otDnsIsNameCompressionEnabled(
  void
)

이 함수는 'DNS 이름 압축' 모드가 사용 설정되었는지 여부를 나타냅니다.

테스트용이며 OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE 구성이 사용 설정된 경우에만 사용할 수 있습니다.

세부정보
반환
'DNS 이름 압축' 모드가 사용 설정되어 있으면 TRUE, 그렇지 않으면 FALSE입니다.

otDnsServiceResponseGetHostAddress

otError otDnsServiceResponseGetHostAddress(
  const otDnsServiceResponse *aResponse,
  const char *aHostName,
  uint16_t aIndex,
  otIp6Address *aAddress,
  uint32_t *aTtl
)

이 함수는 DNS 서비스 인스턴스 확인 응답에서 호스트 IPv6 주소를 가져옵니다.

이 함수는 otDnsServiceCallback에서만 사용해야 합니다.

응답에는 0개 이상의 IPv6 주소 레코드가 포함될 수 있습니다. aIndex를 사용하면 주소 목록을 반복할 수 있습니다. 색인 0은 첫 번째 주소 등을 가져옵니다. 목록의 끝에 도달하면 OT_ERROR_NOT_FOUND가 반환됩니다.

세부정보
매개변수
[in] aResponse
응답에 대한 포인터입니다.
[in] aHostName
주소를 가져올 호스트 이름입니다 (NULL이 아니어야 함).
[in] aIndex
검색할 주소 레코드 색인입니다.
[out] aAddress
주소를 출력하기 위한 IPv6 주소에 대한 포인터입니다 (NULL이 아니어야 함).
[out] aTtl
주소의 TTL을 출력하는 uint32_t에 대한 포인터입니다. 호출자가 TTL을 가져오고 싶지 않은 경우 NULL일 수 있습니다.
반환 값
OT_ERROR_NONE
주소를 읽었습니다.
OT_ERROR_NOT_FOUND
aResponse, aIndexaHostname에 대한 주소 레코드가 없습니다.
OT_ERROR_PARSE
aResponse의 레코드를 파싱할 수 없습니다.

otDnsServiceResponseGetServiceInfo

otError otDnsServiceResponseGetServiceInfo(
  const otDnsServiceResponse *aResponse,
  otDnsServiceInfo *aServiceInfo
)

이 함수는 DNS 서비스 인스턴스 확인 응답에서 서비스 인스턴스 정보를 가져옵니다.

이 함수는 otDnsServiceCallback에서만 사용해야 합니다.

  • 일치하는 SRV 레코드가 aResponse에 없으면 OT_ERROR_NOT_FOUND이 반환됩니다.
  • 일치하는 SRV 레코드가 aResponse에서 발견되면 aServiceInfo이 업데이트되고 OT_ERROR_NONE가 반환됩니다.
  • 일치하는 TXT 레코드가 aResponse에 없으면 aServiceInfomTxtDataSize이 0으로 설정됩니다.
  • aResponse에 일치하는 AAAA 레코드가 없는 경우 mHostAddress is set to all zero or unspecified address.
  • If there are multiple AAAA records for the host name in @p aResponse,mHostAddressis set to the first one. The other addresses can be retrieved usingotDnsServiceResponseGetHostAddress()입니다.

세부정보
매개변수
[in] aResponse
응답에 대한 포인터입니다.
[out] aServiceInfo
서비스 인스턴스 정보를 출력하는 ServiceInfo입니다 (NULL이 아니어야 함).
반환 값
OT_ERROR_NONE
서비스 인스턴스 정보를 읽었습니다. aServiceInfo이 업데이트되었습니다.
OT_ERROR_NOT_FOUND
aResponse에서 일치하는 SRV 레코드를 찾을 수 없습니다.
OT_ERROR_NO_BUFS
호스트 이름 또는 TXT 데이터가 지정된 버퍼에 맞지 않습니다.
OT_ERROR_PARSE
aResponse의 레코드를 파싱할 수 없습니다.

otDnsServiceResponseGetServiceName

otError otDnsServiceResponseGetServiceName(
  const otDnsServiceResponse *aResponse,
  char *aLabelBuffer,
  uint8_t aLabelBufferSize,
  char *aNameBuffer,
  uint16_t aNameBufferSize
)

이 함수는 DNS 서비스 인스턴스 확인 응답과 연결된 서비스 인스턴스 이름을 가져옵니다.

이 함수는 otDnsServiceCallback에서만 사용해야 합니다.

세부정보
매개변수
[in] aResponse
응답에 대한 포인터입니다.
[out] aLabelBuffer
서비스 인스턴스 라벨을 출력하기 위한 문자 배열의 버퍼입니다 (NULL이 아니어야 함).
[in] aLabelBufferSize
aLabelBuffer의 크기입니다.
[out] aNameBuffer
나머지 서비스 이름을 출력하기 위한 문자 배열의 버퍼입니다. 사용자가 이름을 가져오는 데 관심이 없다면 NULL일 수 있습니다.
[in] aNameBufferSize
aNameBuffer의 크기입니다.
반환 값
OT_ERROR_NONE
서비스 이름을 성공적으로 읽었습니다.
OT_ERROR_NO_BUFS
라벨 또는 이름이 지정된 버퍼에 맞지 않습니다.

otDnsSetNameCompressionEnabled

void otDnsSetNameCompressionEnabled(
  bool aEnabled
)

이 함수는 'DNS 이름 압축' 모드를 사용 설정/사용 중지합니다.

기본적으로 DNS 이름 압축이 사용 설정되어 있습니다. 사용 중지하면 DNS 이름이 전체로 추가되며 압축되지 않습니다. 이는 OpenThread의 DNS 및 SRP 클라이언트/서버 모듈에 적용됩니다.

테스트용이며 OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE 구성이 사용 설정된 경우에만 사용할 수 있습니다.

OPENTHREAD_CONFIG_MULTIPLE_INSTANCE_ENABLE가 사용되는 경우 이 모드는 모든 OpenThread 인스턴스에 적용됩니다. 즉, 이 함수를 호출하면 모든 OpenThread 인스턴스에서 압축 모드가 사용 설정/사용 중지됩니다.

세부정보
매개변수
[in] aEnabled
'DNS 이름 압축' 모드를 사용 설정하려면 TRUE, 사용 중지하려면 FALSE입니다.

매크로

OT_DNS_MAX_LABEL_SIZE

 OT_DNS_MAX_LABEL_SIZE 64

라벨 문자열 최대 크기 (문자열 끝에 null 문자 포함)

OT_DNS_MAX_NAME_SIZE

 OT_DNS_MAX_NAME_SIZE 255

최대 이름 문자열 크기 (문자열 끝에 null 문자 포함)

OT_DNS_TXT_KEY_MAX_LENGTH

 OT_DNS_TXT_KEY_MAX_LENGTH 9

TXT 레코드 키 문자열의 최대 길이입니다 (RFC 6763 - 섹션 6.4).

OT_DNS_TXT_KEY_MIN_LENGTH

 OT_DNS_TXT_KEY_MIN_LENGTH 1

TXT 레코드 키 문자열의 최소 길이 (RFC 6763 - 섹션 6.4)

리소스

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