Google은 흑인 공동체를 위한 인종적 평등을 추구하기 위해 노력하고 있습니다. 자세히 알아보기
이 페이지는 Cloud Translation API를 통해 번역되었습니다.
Switch to English

DNSv6

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

요약

이 모듈의 기능은 OPENTHREAD_CONFIG_DNS_CLIENT_ENABLE 기능이 활성화 된 경우에만 사용할 수 있습니다.

열거 형

otDnsRecursionFlag {
OT_DNS_FLAG_UNSPECIFIED = 0,
OT_DNS_FLAG_RECURSION_DESIRED = 1,
OT_DNS_FLAG_NO_RECURSION = 2
}
열거 형
이 열거 유형은 otDnsQueryConfig 의 "Recursion Desired"(RD) 플래그를 나타 otDnsQueryConfig .

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 쿼리에 대한 응답의 불투명 한 표현입니다.

기능

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 쿼리를 보냅니다.
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 클라이언트에서 기본 쿼리 구성을 설정합니다.
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 서비스 인스턴스 확인 응답과 관련된 서비스 인스턴스 이름을 가져옵니다.

구조체

otDnsQueryConfig

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

otDnsServiceInfo

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

열거 형

otDnsRecursionFlag

 otDnsRecursionFlag

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

속성
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 함수에서 반환 된 후에는 유효하지 않으므로 사용자는 나중에 사용하기 위해 aResponse 포인터를 유지하지 않아야합니다.

aError 에는 다음이 aError 수 있습니다.

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

  • OT_ERROR_NONE 응답이 성공적으로 수신되었습니다.
  • OT_ERROR_ABORT DNS 트랜잭션이 스택에 의해 중단되었습니다.
  • OT_ERROR_RESPONSE_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 서버는 쿼리 유형 (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 함수에서 반환 된 후에는 유효하지 않으므로 사용자는 나중에 사용하기 위해 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 함수에서 반환 된 후에는 유효하지 않으므로 사용자는 나중에 사용하기 위해 aResponse 포인터를 유지하지 않아야합니다.

aError 에 대해 가능한 값의 전체 목록은 otDnsAddressCallback() 참조하십시오.

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

otDnsServiceInfo

struct otDnsServiceInfo otDnsServiceInfo

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

otDnsServiceResponse

struct otDnsServiceResponse otDnsServiceResponse

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

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

기능

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 의 레코드를 구문 분석 할 수 없습니다.

otDnsAddressResponseGetHostName

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

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

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

세부
매개 변수
[in] aResponse
응답에 대한 포인터.
[out] aNameBuffer
전체 호스트 이름을 출력하기위한 char 배열에 대한 버퍼 (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
대한 주소 레코드 없습니다 aHostname 에서 aResponse 에서 aIndex .
OT_ERROR_PARSE
aResponse 의 레코드를 구문 분석 할 수 없습니다.

otDnsBrowseResponseGetServiceInfo

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

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

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

찾아보기 DNS 응답에는 열거 된 서비스 인스턴스에 대한 SRV, TXT 및 AAAA 레코드가 포함되어야합니다 (MUST 요구 사항이 아니라 SHOULD 임). 이 함수는 사용 가능한 경우 지정된 서비스 인스턴스에 대해이 정보를 검색하려고합니다.

  • aResponse 일치하는 SRV 레코드가 없으면 OT_ERROR_NOT_FOUND 가 반환됩니다.
  • aResponse 에서 일치하는 SRV 레코드가 발견되면 aServiceInfo 가 업데이트되고 OT_ERROR_NONE 이 반환됩니다.
  • 일치 TXT 레코드가 발견되지 않으면 aResponse , mTxtDataSize 에서 aServiceInfo 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, mHostAddress is set to the first one. The other addresses can be retrieved using 레코드 is set to the first one. The other addresses can be retrieved using otDnsBrowseResponseGetHostAddress () `를 is set to the first one. The other addresses can be retrieved using .

세부
매개 변수
[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
서비스 인스턴스 레이블을 출력하기위한 char 배열에 대한 버퍼 (NULL이면 안 됨).
[in] aLabelBufferSize
aLabelBuffer 의 크기.
반환 값
OT_ERROR_NONE
서비스 인스턴스를 읽었습니다.
OT_ERROR_NO_BUFS
이름이 aNameBuffer 맞지 않습니다.
OT_ERROR_NOT_FOUND
aResponseaIndex 에 서비스 인스턴스 레코드가 aIndex .
OT_ERROR_PARSE
aResponse 의 레코드를 구문 분석 할 수 없습니다.

otDnsBrowseResponseGetServiceName

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

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

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

세부
매개 변수
[in] aResponse
응답에 대한 포인터.
[out] aNameBuffer
서비스 이름을 출력하기위한 char 배열에 대한 버퍼 (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 aConfig 수 있습니다. 이 경우 기본 구성 ( 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_clinet.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 aConfig 수 있습니다. 이 경우 기본 구성 ( otDnsClientGetDefaultConfig() )이이 쿼리의 구성으로 사용됩니다. NULL이 아닌 aConfig 에서 일부 필드는 지정되지 않은 상태로 둘 수 있습니다 (값 0). 지정되지 않은 필드는 기본 구성의 값으로 대체됩니다.

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

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 aConfig 수 있습니다. 이 경우 기본 구성 ( 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
쿼리를 준비하고 보낼 버퍼가 부족합니다.

otDnsClientSetDefaultConfig

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

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

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

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

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

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
대한 주소 레코드 없습니다 aHostname 에서 aResponse 에서 aIndex .
OT_ERROR_PARSE
aResponse 의 레코드를 구문 분석 할 수 없습니다.

otDnsServiceResponseGetServiceInfo

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

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

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

  • aResponse 일치하는 SRV 레코드가 없으면 OT_ERROR_NOT_FOUND 가 반환됩니다.
  • aResponse 에서 일치하는 SRV 레코드가 발견되면 aServiceInfo 가 업데이트되고 OT_ERROR_NONE 이 반환됩니다.
  • 일치 TXT 레코드가 발견되지 않으면 aResponse , mTxtDataSize 에서 aServiceInfo 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, mHostAddress is set to the first one. The other addresses can be retrieved using 레코드 is set to the first one. The other addresses can be retrieved using otDnsServiceResponseGetHostAddress () `를 is set to the first one. The other addresses can be retrieved using .

세부
매개 변수
[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
서비스 인스턴스 레이블을 출력하기위한 char 배열에 대한 버퍼 (NULL이면 안 됨).
[in] aLabelBufferSize
aLabelBuffer 의 크기.
[out] aNameBuffer
나머지 서비스 이름을 출력하기위한 char 배열에 대한 버퍼입니다 (사용자가 이름을 가져 오는 데 관심이없는 경우 NULL 일 수 있음).
[in] aNameBufferSize
aNameBuffer 의 크기.
반환 값
OT_ERROR_NONE
서비스 이름을 성공적으로 읽었습니다.
OT_ERROR_NO_BUFS
레이블 또는 이름이 주어진 버퍼에 맞지 않습니다.