Google berkomitmen untuk mendorong terwujudnya keadilan ras bagi komunitas Kulit Hitam. Lihat caranya.
Halaman ini diterjemahkan oleh Cloud Translation API.
Switch to English

DNSv6

Modul ini mencakup fungsi yang mengontrol komunikasi DNS.

Ringkasan

Fungsi dalam modul ini hanya tersedia jika fitur OPENTHREAD_CONFIG_DNS_CLIENT_ENABLE diaktifkan.

Pencacahan

otDnsRecursionFlag {
OT_DNS_FLAG_UNSPECIFIED = 0,
OT_DNS_FLAG_RECURSION_DESIRED = 1,
OT_DNS_FLAG_NO_RECURSION = 2
}
enum
Jenis enumerasi ini mewakili flag "Recursion Desired" (RD) di otDnsQueryConfig .

Typedefs

otDnsAddressCallback )(otError aError, const otDnsAddressResponse *aResponse, void *aContext) typedef
void(*
Penunjuk fungsi ini dipanggil saat respons DNS diterima untuk kueri resolusi alamat.
otDnsAddressResponse typedef
Jenis ini adalah representasi buram dari respons ke kueri DNS resolusi alamat.
otDnsBrowseCallback )(otError aError, const otDnsBrowseResponse *aResponse, void *aContext) typedef
void(*
Penunjuk fungsi ini dipanggil saat respons DNS diterima untuk kueri penelusuran (enumerasi contoh layanan).
otDnsBrowseResponse typedef
Jenis ini adalah representasi buram dari respons ke kueri DNS penelusuran (enumerasi contoh layanan).
otDnsQueryConfig typedef
Struktur ini mewakili konfigurasi kueri DNS.
otDnsServiceCallback )(otError aError, const otDnsServiceResponse *aResponse, void *aContext) typedef
void(*
Penunjuk fungsi ini dipanggil saat respons DNS diterima untuk kueri resolusi contoh layanan.
otDnsServiceInfo typedef
Struktur ini memberikan info untuk instance layanan DNS.
otDnsServiceResponse typedef
Jenis ini adalah representasi buram dari respons ke kueri DNS resolusi instance layanan.

Fungsi

otDnsAddressResponseGetAddress (const otDnsAddressResponse *aResponse, uint16_t aIndex, otIp6Address *aAddress, uint32_t *aTtl)
Fungsi ini mendapatkan alamat IPv6 yang terkait dengan respons DNS resolusi alamat.
otDnsAddressResponseGetHostName (const otDnsAddressResponse *aResponse, char *aNameBuffer, uint16_t aNameBufferSize)
Fungsi ini mendapatkan nama host lengkap yang terkait dengan respons DNS resolusi alamat.
otDnsBrowseResponseGetHostAddress (const otDnsBrowseResponse *aResponse, const char *aHostName, uint16_t aIndex, otIp6Address *aAddress, uint32_t *aTtl)
Fungsi ini mendapatkan alamat IPv6 host dari respons penelusuran DNS (enumerasi contoh layanan).
otDnsBrowseResponseGetServiceInfo (const otDnsBrowseResponse *aResponse, const char *aInstanceLabel, otDnsServiceInfo *aServiceInfo)
Fungsi ini mendapatkan info untuk contoh layanan dari respons penelusuran DNS (enumerasi contoh layanan).
otDnsBrowseResponseGetServiceInstance (const otDnsBrowseResponse *aResponse, uint16_t aIndex, char *aLabelBuffer, uint8_t aLabelBufferSize)
Fungsi ini mendapatkan contoh layanan yang terkait dengan respons penelusuran DNS (enumerasi contoh layanan).
otDnsBrowseResponseGetServiceName (const otDnsBrowseResponse *aResponse, char *aNameBuffer, uint16_t aNameBufferSize)
Fungsi ini mendapatkan nama layanan yang terkait dengan respons penelusuran DNS (pencacahan contoh layanan).
otDnsClientBrowse ( otInstance *aInstance, const char *aServiceName, otDnsBrowseCallback aCallback, void *aContext, const otDnsQueryConfig *aConfig)
Fungsi ini mengirimkan permintaan pencarian DNS (pencacahan contoh layanan) untuk nama layanan yang diberikan.
otDnsClientGetDefaultConfig ( otInstance *aInstance)
Fungsi ini mendapatkan konfigurasi kueri default saat ini yang digunakan oleh klien DNS.
otDnsClientResolveAddress ( otInstance *aInstance, const char *aHostName, otDnsAddressCallback aCallback, void *aContext, const otDnsQueryConfig *aConfig)
Fungsi ini mengirimkan kueri DNS resolusi alamat untuk data AAAA (IPv6) untuk nama host tertentu.
otDnsClientResolveService ( otInstance *aInstance, const char *aInstanceLabel, const char *aServiceName, otDnsServiceCallback aCallback, void *aContext, const otDnsQueryConfig *aConfig)
Fungsi ini mengirimkan kueri resolusi contoh layanan DNS untuk contoh layanan tertentu.
otDnsClientSetDefaultConfig ( otInstance *aInstance, const otDnsQueryConfig *aConfig)
void
Fungsi ini menetapkan konfigurasi kueri default pada klien DNS.
otDnsServiceResponseGetHostAddress (const otDnsServiceResponse *aResponse, const char *aHostName, uint16_t aIndex, otIp6Address *aAddress, uint32_t *aTtl)
Fungsi ini mendapatkan alamat IPv6 host dari respons resolusi contoh layanan DNS.
otDnsServiceResponseGetServiceInfo (const otDnsServiceResponse *aResponse, otDnsServiceInfo *aServiceInfo)
Fungsi ini mendapatkan info untuk contoh layanan dari respons resolusi contoh layanan DNS.
otDnsServiceResponseGetServiceName (const otDnsServiceResponse *aResponse, char *aLabelBuffer, uint8_t aLabelBufferSize, char *aNameBuffer, uint16_t aNameBufferSize)
Fungsi ini mendapatkan nama contoh layanan yang terkait dengan respons resolusi contoh layanan DNS.

Structs

otDnsQueryConfig

Struktur ini mewakili konfigurasi kueri DNS.

otDnsServiceInfo

Struktur ini memberikan info untuk instance layanan DNS.

Pencacahan

otDnsRecursionFlag

 otDnsRecursionFlag

Jenis enumerasi ini mewakili flag "Recursion Desired" (RD) di otDnsQueryConfig .

Properti
OT_DNS_FLAG_NO_RECURSION

Menunjukkan server nama DNS tidak dapat menyelesaikan kueri secara rekursif.

OT_DNS_FLAG_RECURSION_DESIRED

Menunjukkan server nama DNS dapat menyelesaikan kueri secara rekursif.

OT_DNS_FLAG_UNSPECIFIED

Menunjukkan bahwa bendera tidak ditentukan.

Typedefs

otDnsAddressCallback

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

Penunjuk fungsi ini dipanggil saat respons DNS diterima untuk kueri resolusi alamat.

Dalam callback ini, pengguna bisa menggunakan otDnsAddressResponseGet{Item}() bersama dengan pointer aResponse untuk mendapatkan info lebih lanjut tentang respons.

Pointer aResponse hanya dapat digunakan dalam callback ini dan setelah kembali dari fungsi ini, penunjuk tersebut tidak akan tetap valid, sehingga pengguna TIDAK HARUS menyimpan penunjuk aResponse untuk digunakan nanti.

aError dapat memiliki yang berikut ini:

Detail
Parameter
[in] aError
Hasil transaksi DNS.
[in] aResponse
Sebuah pointer ke respon (selalu non-NULL).
[in] aContext
Penunjuk ke konteks khusus aplikasi.

  • OT_ERROR_NONE Tanggapan berhasil diterima.
  • OT_ERROR_ABORT Transaksi DNS dibatalkan oleh tumpukan.
  • OT_ERROR_RESPONSE_TIMEOUT Tidak ada tanggapan DNS yang diterima dalam waktu tunggu.

Jika server menolak permintaan resolusi alamat, kode kesalahan dari server dipetakan sebagai berikut:

  • (0) NOERROR Berhasil (tidak ada kondisi error) -> OT_ERROR_NONE
  • (1) FORMERR Server tidak dapat menafsirkan karena kesalahan format -> OT_ERROR_PARSE
  • (2) Server SERVFAIL mengalami kegagalan internal -> OT_ERROR_FAILED
  • (3) Nama NXDOMAIN yang seharusnya ada, tidak ada -> OT_ERROR_NOT_FOUND
  • (4) Server NOTIMP tidak mendukung jenis kueri (OpCode) -> OT_ERROR_NOT_IMPLEMENTED
  • (5) Server DITOLAK ditolak karena alasan kebijakan / keamanan -> OT_ERROR_SECURITY
  • (6) YXDOMAIN Beberapa nama yang seharusnya tidak ada, memang ada -> OT_ERROR_DUPLICATED
  • (7) YXRRSET Beberapa RRset yang seharusnya tidak ada, memang ada -> OT_ERROR_DUPLICATED
  • (8) NXRRSET Beberapa RRset yang seharusnya ada, tidak ada -> OT_ERROR_NOT_FOUND
  • (9) Layanan NOTAUTH tidak berwenang untuk zona -> OT_ERROR_SECURITY
  • (10) NOTZONE Nama tidak ada di zona -> OT_ERROR_PARSE
  • (20) BADNAME Nama buruk -> OT_ERROR_PARSE
  • (21) BADALG Algoritme buruk -> OT_ERROR_SECURITY
  • (22) BADTRUN Pemotongan buruk -> OT_ERROR_PARSE
  • Kode tanggapan lainnya -> OT_ERROR_FAILED

otDnsAddressResponse

struct otDnsAddressResponse otDnsAddressResponse

Jenis ini adalah representasi buram dari respons ke kueri DNS resolusi alamat.

Pointer ke instance jenis ini disediakan dari callback otDnsAddressCallback .

otDnsBrowseCallback

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

Penunjuk fungsi ini dipanggil saat respons DNS diterima untuk kueri penelusuran (enumerasi contoh layanan).

Dalam callback ini, pengguna bisa menggunakan otDnsBrowseResponseGet{Item}() bersama dengan pointer aResponse untuk mendapatkan info lebih lanjut tentang respons.

aResponse hanya dapat digunakan dalam callback ini dan setelah kembali dari fungsi ini, penunjuk tersebut tidak akan tetap valid, sehingga pengguna TIDAK HARUS menyimpan penunjuk aResponse untuk digunakan nanti.

Untuk daftar lengkap kemungkinan nilai aError , lihat otDnsAddressCallback() .

Detail
Parameter
[in] aError
Hasil transaksi DNS.
[in] aResponse
Sebuah pointer ke respon (selalu non-NULL).
[in] aContext
Penunjuk ke konteks khusus aplikasi.

otDnsBrowseResponse

struct otDnsBrowseResponse otDnsBrowseResponse

Jenis ini adalah representasi buram dari respons ke kueri DNS penelusuran (enumerasi contoh layanan).

Pointer ke instance jenis ini disediakan dari callback otDnsBrowseCallback .

otDnsQueryConfig

struct otDnsQueryConfig otDnsQueryConfig

Struktur ini mewakili konfigurasi kueri DNS.

Setiap bidang dalam struktur ini dapat disetel ke nol untuk menunjukkan bahwa itu tidak ditentukan. Bagaimana bidang yang tidak ditentukan diperlakukan ditentukan oleh fungsi yang menggunakan instance otDnsQueryConfig .

otDnsServiceCallback

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

Penunjuk fungsi ini dipanggil saat respons DNS diterima untuk kueri resolusi contoh layanan.

Dalam callback ini, pengguna bisa menggunakan otDnsServiceResponseGet{Item}() bersama dengan pointer aResponse untuk mendapatkan info selengkapnya tentang respons.

aResponse hanya dapat digunakan dalam callback ini dan setelah kembali dari fungsi ini, penunjuk tersebut tidak akan tetap valid, sehingga pengguna TIDAK HARUS menyimpan penunjuk aResponse untuk digunakan nanti.

Untuk daftar lengkap kemungkinan nilai aError , lihat otDnsAddressCallback() .

Detail
Parameter
[in] aError
Hasil transaksi DNS.
[in] aResponse
Sebuah pointer ke respon (selalu non-NULL).
[in] aContext
Penunjuk ke konteks khusus aplikasi.

otDnsServiceInfo

struct otDnsServiceInfo otDnsServiceInfo

Struktur ini memberikan info untuk instance layanan DNS.

otDnsServiceResponse

struct otDnsServiceResponse otDnsServiceResponse

Jenis ini adalah representasi buram dari respons ke kueri DNS resolusi instance layanan.

Pointer ke instance jenis ini disediakan dari callback otDnsAddressCallback .

Fungsi

otDnsAddressResponseGetAddress

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

Fungsi ini mendapatkan alamat IPv6 yang terkait dengan respons DNS resolusi alamat.

Fungsi ini HARUS hanya digunakan dari otDnsAddressCallback .

Responsnya mungkin mencakup beberapa catatan alamat IPv6. aIndex dapat digunakan untuk melakukan iterasi melalui daftar alamat. Indeks nol mendapatkan alamat pertama dan seterusnya. Ketika kami mencapai akhir daftar, OT_ERROR_NOT_FOUND dikembalikan.

Detail
Parameter
[in] aResponse
Sebuah penunjuk ke respon.
[in] aIndex
Indeks catatan alamat yang akan diambil.
[out] aAddress
Sebuah pointer ke alamat IPv6 untuk menampilkan alamat tersebut (HARUS TIDAK NULL).
[out] aTtl
Sebuah pointer ke uint32_t untuk mengeluarkan TTL untuk alamat tersebut. Bisa NULL jika pemanggil tidak ingin mendapatkan TTL.
Kembalikan Nilai
OT_ERROR_NONE
Alamatnya berhasil dibaca.
OT_ERROR_NOT_FOUND
Tidak ada catatan alamat di aResponse di aIndex .
OT_ERROR_PARSE
Tidak dapat mengurai rekaman di aResponse .

otDnsAddressResponseGetHostName

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

Fungsi ini mendapatkan nama host lengkap yang terkait dengan respons DNS resolusi alamat.

Fungsi ini HARUS hanya digunakan dari otDnsAddressCallback .

Detail
Parameter
[in] aResponse
Sebuah penunjuk ke respon.
[out] aNameBuffer
Sebuah buffer ke char array untuk menampilkan nama host lengkap (HARUS TIDAK NULL).
[in] aNameBufferSize
Ukuran aNameBuffer .
Kembalikan Nilai
OT_ERROR_NONE
Nama lengkap host berhasil dibaca.
OT_ERROR_NO_BUFS
Nama tidak cocok dengan aNameBuffer .

otDnsBrowseResponseGetHostAddress

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

Fungsi ini mendapatkan alamat IPv6 host dari respons penelusuran DNS (enumerasi contoh layanan).

Fungsi ini HARUS hanya digunakan dari otDnsBrowseCallback .

Respons dapat mencakup nol atau lebih catatan alamat IPv6. aIndex dapat digunakan untuk melakukan iterasi melalui daftar alamat. Indeks nol mendapatkan alamat pertama dan seterusnya. Ketika kami mencapai akhir daftar, OT_ERROR_NOT_FOUND dikembalikan.

Detail
Parameter
[in] aResponse
Sebuah penunjuk ke respon.
[in] aHostName
Nama host untuk mendapatkan alamat (HARUS TIDAK NIHIL).
[in] aIndex
Indeks catatan alamat yang akan diambil.
[out] aAddress
Sebuah pointer ke alamat IPv6 untuk menampilkan alamat tersebut (HARUS TIDAK NULL).
[out] aTtl
Sebuah pointer ke uint32_t untuk mengeluarkan TTL untuk alamat tersebut. Bisa NULL jika pemanggil tidak ingin mendapatkan TTL.
Kembalikan Nilai
OT_ERROR_NONE
Alamatnya berhasil dibaca.
OT_ERROR_NOT_FOUND
Tidak ada catatan alamat untuk aHostname di aResponse di aIndex .
OT_ERROR_PARSE
Tidak dapat mengurai rekaman di aResponse .

otDnsBrowseResponseGetServiceInfo

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

Fungsi ini mendapatkan info untuk contoh layanan dari respons penelusuran DNS (enumerasi contoh layanan).

Fungsi ini HARUS hanya digunakan dari otDnsBrowseCallback .

Respons DNS penjelajahan harus menyertakan data SRV, TXT, dan AAAA untuk instance layanan yang disebutkan (perhatikan bahwa ini HARUS dan bukan persyaratan HARUS). Fungsi ini mencoba mengambil info ini untuk layanan tertentu jika tersedia.

  • Jika tidak ada catatan SRV yang cocok ditemukan di aResponse , OT_ERROR_NOT_FOUND dikembalikan.
  • Jika catatan SRV yang cocok ditemukan di aResponse , aServiceInfo diperbarui dan OT_ERROR_NONE dikembalikan.
  • Jika tidak ada data TXT yang cocok ditemukan di aResponse , mTxtDataSize di aServiceInfo disetel ke nol.
  • Jika tidak ada data AAAA yang cocok ditemukan di aResponse , 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 otDnsBrowseResponseGetHostAddress () `.

Detail
Parameter
[in] aResponse
Sebuah penunjuk ke respon.
[in] aInstanceLabel
Label contoh layanan (HARUS TIDAK NULL).
[out] aServiceInfo
Sebuah ServiceInfo untuk mengeluarkan informasi contoh layanan (HARUS TIDAK NULL).
Kembalikan Nilai
OT_ERROR_NONE
Info contoh layanan telah dibaca. aServiceInfo diperbarui.
OT_ERROR_NOT_FOUND
Tidak dapat menemukan data SRV yang cocok untuk aInstanceLabel .
OT_ERROR_NO_BUFS
Nama host dan / atau data TXT tidak dapat masuk ke dalam buffer yang diberikan.
OT_ERROR_PARSE
Tidak dapat mengurai rekaman di aResponse .

otDnsBrowseResponseGetServiceInstance

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

Fungsi ini mendapatkan contoh layanan yang terkait dengan respons penelusuran DNS (enumerasi contoh layanan).

Fungsi ini HARUS hanya digunakan dari otDnsBrowseCallback .

Responsnya dapat mencakup beberapa catatan contoh layanan. aIndex dapat digunakan untuk mengulang melalui daftar. Indeks nol memberikan rekor pertama. Ketika kami mencapai akhir daftar, OT_ERROR_NOT_FOUND dikembalikan.

Perhatikan bahwa fungsi ini mendapatkan label contoh layanan dan bukan nama contoh layanan lengkap yang ada di formulir . . . . .

Detail
Parameter
[in] aResponse
Sebuah penunjuk ke respon.
[in] aIndex
Indeks rekaman contoh layanan yang akan diambil.
[out] aLabelBuffer
Sebuah buffer ke array char untuk mengeluarkan label instance layanan (HARUS TIDAK NULL).
[in] aLabelBufferSize
Ukuran aLabelBuffer .
Kembalikan Nilai
OT_ERROR_NONE
Contoh layanan berhasil dibaca.
OT_ERROR_NO_BUFS
Nama tidak cocok dengan aNameBuffer .
OT_ERROR_NOT_FOUND
Tidak ada rekaman contoh layanan dalam aResponse di aIndex .
OT_ERROR_PARSE
Tidak dapat mengurai rekaman di aResponse .

otDnsBrowseResponseGetServiceName

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

Fungsi ini mendapatkan nama layanan yang terkait dengan respons penelusuran DNS (pencacahan contoh layanan).

Fungsi ini HARUS hanya digunakan dari otDnsBrowseCallback .

Detail
Parameter
[in] aResponse
Sebuah penunjuk ke respon.
[out] aNameBuffer
Sebuah buffer ke char array untuk mengeluarkan nama layanan (HARUS TIDAK NULL).
[in] aNameBufferSize
Ukuran aNameBuffer .
Kembalikan Nilai
OT_ERROR_NONE
Nama layanan berhasil dibaca.
OT_ERROR_NO_BUFS
Nama tidak cocok dengan aNameBuffer .

otDnsClientBrowse

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

Fungsi ini mengirimkan kueri penelusuran DNS (enumerasi contoh layanan) untuk nama layanan yang diberikan.

Fungsi ini tersedia saat OPENTHREAD_CONFIG_DNS_CLIENT_SERVICE_DISCOVERY_ENABLE diaktifkan.

aConfig dapat berupa NULL. Dalam hal ini konfigurasi default (dari otDnsClientGetDefaultConfig() ) akan digunakan sebagai konfigurasi untuk kueri ini. Dalam aConfig non-NULL, beberapa bidang dapat dibiarkan tidak ditentukan (nilai nol). Bidang yang tidak ditentukan kemudian diganti dengan nilai dari konfigurasi default.

Detail
Parameter
[in] aInstance
Penunjuk ke instance OpenThread.
[in] aServiceName
Nama layanan yang akan ditanyakan (MUST NOT be NULL).
[in] aCallback
Sebuah penunjuk fungsi yang akan dipanggil pada penerimaan tanggapan atau waktu habis.
[in] aContext
Sebuah penunjuk ke informasi konteks yang berubah-ubah.
[in] aConfig
Penunjuk ke konfigurasi yang akan digunakan untuk kueri ini.
Kembalikan Nilai
OT_ERROR_NONE
Kueri berhasil dikirim. aCallback akan dipanggil untuk melaporkan status.
OT_ERROR_NO_BUFS
Buffer tidak cukup untuk menyiapkan dan mengirim kueri.

otDnsClientGetDefaultConfig

const otDnsQueryConfig * otDnsClientGetDefaultConfig(
  otInstance *aInstance
)

Fungsi ini mendapatkan konfigurasi kueri default saat ini yang digunakan oleh klien DNS.

Saat tumpukan OpenThread dimulai, konfigurasi kueri DNS default ditentukan dari serangkaian opsi konfigurasi OT seperti OPENTHREAD_CONFIG_DNS_CLIENT_DEFAULT_SERVER_IP6_ADDRESS , _DEFAULT_SERVER_PORT , _DEFAULT_RESPONSE_TIMEOUT , dll. (Lihat opsi konfigurasi terkait config/dns_clinet.h ).

Detail
Parameter
[in] aInstance
Penunjuk ke instance OpenThread.
Kembali
Sebuah penunjuk ke konfigurasi default saat ini yang digunakan oleh klien DNS.

otDnsClientResolveAddress

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

Fungsi ini mengirimkan kueri DNS resolusi alamat untuk data AAAA (IPv6) untuk nama host tertentu.

aConfig dapat berupa NULL. Dalam hal ini konfigurasi default (dari otDnsClientGetDefaultConfig() ) akan digunakan sebagai konfigurasi untuk kueri ini. Dalam aConfig non-NULL, beberapa bidang dapat dibiarkan tidak ditentukan (nilai nol). Bidang yang tidak ditentukan kemudian diganti dengan nilai dari konfigurasi default.

Detail
Parameter
[in] aInstance
Penunjuk ke instance OpenThread.
[in] aHostName
Nama host yang alamatnya akan ditanyakan (HARUS TIDAK NIHIL).
[in] aCallback
Sebuah penunjuk fungsi yang harus dipanggil pada penerimaan respons atau batas waktu.
[in] aContext
Sebuah penunjuk ke informasi konteks yang berubah-ubah.
[in] aConfig
Penunjuk ke konfigurasi yang akan digunakan untuk kueri ini.
Kembalikan Nilai
OT_ERROR_NONE
Kueri berhasil dikirim. aCallback akan dipanggil untuk melaporkan status.
OT_ERROR_NO_BUFS
Buffer tidak cukup untuk menyiapkan dan mengirim kueri.

otDnsClientResolveService

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

Fungsi ini mengirimkan kueri resolusi contoh layanan DNS untuk contoh layanan tertentu.

Fungsi ini tersedia saat OPENTHREAD_CONFIG_DNS_CLIENT_SERVICE_DISCOVERY_ENABLE diaktifkan.

aConfig dapat berupa NULL. Dalam hal ini konfigurasi default (dari otDnsClientGetDefaultConfig() ) akan digunakan sebagai konfigurasi untuk kueri ini. Dalam aConfig non-NULL, beberapa bidang dapat dibiarkan tidak ditentukan (nilai nol). Bidang yang tidak ditentukan kemudian diganti dengan nilai dari konfigurasi default.

Detail
Parameter
[in] aInstance
Penunjuk ke instance OpenThread.
[in] aInstanceLabel
Label contoh layanan.
[in] aServiceName
Nama layanan (bersama dengan aInstanceLabel lengkap formulir aInstanceLabel ).
[in] aCallback
Sebuah penunjuk fungsi yang harus dipanggil pada penerimaan respons atau batas waktu.
[in] aContext
Sebuah penunjuk ke informasi konteks yang berubah-ubah.
[in] aConfig
Penunjuk ke konfigurasi yang akan digunakan untuk kueri ini.
Kembalikan Nilai
OT_ERROR_NONE
Kueri berhasil dikirim. aCallback akan dipanggil untuk melaporkan status.
OT_ERROR_NO_BUFS
Buffer tidak cukup untuk menyiapkan dan mengirim kueri.

otDnsClientSetDefaultConfig

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

Fungsi ini menetapkan konfigurasi kueri default pada klien DNS.

Catatan: Setiap kueri yang sedang berjalan akan terus menggunakan konfigurasi sejak dimulai. Konfigurasi default baru akan digunakan untuk kueri DNS di masa mendatang. aConfig dapat berupa NULL. Dalam hal ini konfigurasi default akan disetel ke default dari opsi konfigurasi OT OPENTHREAD_CONFIG_DNS_CLIENT_DEFAULT_{} . Ini menyetel ulang konfigurasi kueri default kembali ke konfigurasi saat tumpukan OpenThread dimulai.

Dalam aConfig non-NULL, pemanggil dapat memilih untuk membiarkan beberapa kolom dalam instance otDnsQueryConfig tidak ditentukan (nilai nol). Bidang yang tidak ditentukan diganti dengan definisi opsi konfigurasi OT yang sesuai OPENTHREAD_CONFIG_DNS_CLIENT_DEFAULT_{} untuk membentuk konfigurasi kueri default.

Detail
Parameter
[in] aInstance
Penunjuk ke instance OpenThread.
[in] aConfig
Sebuah penunjuk ke konfigurasi kueri baru untuk digunakan sebagai default.

otDnsServiceResponseGetHostAddress

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

Fungsi ini mendapatkan alamat IPv6 host dari respons resolusi contoh layanan DNS.

Fungsi ini HARUS hanya digunakan dari otDnsServiceCallback .

Respons dapat mencakup nol atau lebih catatan alamat IPv6. aIndex dapat digunakan untuk melakukan iterasi melalui daftar alamat. Indeks nol mendapatkan alamat pertama dan seterusnya. Ketika kami mencapai akhir daftar, OT_ERROR_NOT_FOUND dikembalikan.

Detail
Parameter
[in] aResponse
Sebuah penunjuk ke respon.
[in] aHostName
Nama host untuk mendapatkan alamat (HARUS TIDAK NIHIL).
[in] aIndex
Indeks catatan alamat yang akan diambil.
[out] aAddress
Sebuah pointer ke alamat IPv6 untuk menampilkan alamat tersebut (HARUS TIDAK NULL).
[out] aTtl
Sebuah pointer ke uint32_t untuk mengeluarkan TTL untuk alamat tersebut. Bisa NULL jika pemanggil tidak ingin mendapatkan TTL.
Kembalikan Nilai
OT_ERROR_NONE
Alamatnya berhasil dibaca.
OT_ERROR_NOT_FOUND
Tidak ada catatan alamat untuk aHostname di aResponse di aIndex .
OT_ERROR_PARSE
Tidak dapat mengurai rekaman di aResponse .

otDnsServiceResponseGetServiceInfo

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

Fungsi ini mendapatkan info untuk contoh layanan dari respons resolusi contoh layanan DNS.

Fungsi ini HARUS hanya digunakan dari otDnsServiceCallback .

  • Jika tidak ada catatan SRV yang cocok ditemukan di aResponse , OT_ERROR_NOT_FOUND dikembalikan.
  • Jika catatan SRV yang cocok ditemukan di aResponse , aServiceInfo diperbarui dan OT_ERROR_NONE dikembalikan.
  • Jika tidak ada data TXT yang cocok ditemukan di aResponse , mTxtDataSize di aServiceInfo disetel ke nol.
  • Jika tidak ada data AAAA yang cocok ditemukan di aResponse , 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 otDnsServiceResponseGetHostAddress () `.

Detail
Parameter
[in] aResponse
Sebuah penunjuk ke respon.
[out] aServiceInfo
Sebuah ServiceInfo untuk mengeluarkan informasi contoh layanan (HARUS TIDAK NULL).
Kembalikan Nilai
OT_ERROR_NONE
Info contoh layanan telah dibaca. aServiceInfo diperbarui.
OT_ERROR_NOT_FOUND
Tidak dapat menemukan data SRV yang cocok di aResponse .
OT_ERROR_NO_BUFS
Nama host dan / atau data TXT tidak dapat masuk ke dalam buffer yang diberikan.
OT_ERROR_PARSE
Tidak dapat mengurai rekaman di aResponse .

otDnsServiceResponseGetServiceName

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

Fungsi ini mendapatkan nama contoh layanan yang terkait dengan respons resolusi contoh layanan DNS.

Fungsi ini HARUS hanya digunakan dari otDnsServiceCallback .

Detail
Parameter
[in] aResponse
Sebuah penunjuk ke respon.
[out] aLabelBuffer
Sebuah buffer ke array char untuk mengeluarkan label instance layanan (HARUS TIDAK NULL).
[in] aLabelBufferSize
Ukuran aLabelBuffer .
[out] aNameBuffer
Sebuah buffer ke char array untuk menampilkan sisa nama layanan (bisa NULL jika pengguna tidak tertarik untuk mendapatkan nama tersebut.
[in] aNameBufferSize
Ukuran aNameBuffer .
Kembalikan Nilai
OT_ERROR_NONE
Nama layanan berhasil dibaca.
OT_ERROR_NO_BUFS
Label atau nama tidak sesuai dengan buffer yang diberikan.