DNS

Modul ini mencakup fungsi yang mengontrol komunikasi DNS.

Ringkasan

Fungsi dalam modul ini hanya tersedia jika fitur OPENTHREAD_CONFIG_DNS_CLIENT_ENABLE diaktifkan.

Enumerasi

otDnsNat64Mode{
  OT_DNS_NAT64_UNSPECIFIED = 0,
  OT_DNS_NAT64_ALLOW = 1,
  OT_DNS_NAT64_DISALLOW = 2
}
enum
Jenis merepresentasikan mode NAT64 dalam otDnsQueryConfig.
otDnsRecursionFlag{
  OT_DNS_FLAG_UNSPECIFIED = 0,
  OT_DNS_FLAG_RECURSION_DESIRED = 1,
  OT_DNS_FLAG_NO_RECURSION = 2
}
enum
Jenis mewakili flag "Recursion Desired" (RD) dalam otDnsQueryConfig.
otDnsServiceMode{
  OT_DNS_SERVICE_MODE_UNSPECIFIED = 0,
  OT_DNS_SERVICE_MODE_SRV = 1,
  OT_DNS_SERVICE_MODE_TXT = 2,
  OT_DNS_SERVICE_MODE_SRV_TXT = 3,
  OT_DNS_SERVICE_MODE_SRV_TXT_SEPARATE = 4,
  OT_DNS_SERVICE_MODE_SRV_TXT_OPTIMIZE = 5
}
enum
Jenis merepresentasikan mode resolusi layanan dalam otDnsQueryConfig.
otDnsTransportProto{
  OT_DNS_TRANSPORT_UDP = 1,
  OT_DNS_TRANSPORT_TCP = 2
}
enum
Jenis mewakili protokol transpor DNS di otDnsQueryConfig.

Typedef

otDnsAddressCallback)(otError aError, const otDnsAddressResponse *aResponse, void *aContext) typedef
void(*
Pointer dipanggil ketika respons DNS diterima untuk kueri resolusi alamat.
otDnsAddressResponse typedef
Representasi buram dari respons terhadap kueri DNS resolusi alamat.
otDnsBrowseCallback)(otError aError, const otDnsBrowseResponse *aResponse, void *aContext) typedef
void(*
Pointer dipanggil saat respons DNS diterima untuk kueri jelajah (enumerasi instance layanan).
otDnsBrowseResponse typedef
Representasi buram respons terhadap kueri DNS penjelajahan (enumerasi instance layanan).
otDnsQueryConfig typedef
Mewakili konfigurasi kueri DNS.
otDnsServiceCallback)(otError aError, const otDnsServiceResponse *aResponse, void *aContext) typedef
void(*
Pointer dipanggil saat respons DNS diterima untuk kueri resolusi instance layanan.
otDnsServiceInfo typedef
Memberikan info untuk instance layanan DNS.
otDnsServiceResponse typedef
Representasi buram respons terhadap kueri DNS resolusi instance layanan.
otDnsTxtEntry typedef
struct otDnsTxtEntry
Menyatakan entri data TXT yang merepresentasikan pasangan kunci/nilai (RFC 6763 - bagian 6.3).
otDnsTxtEntryIterator typedef
Mewakili iterator untuk entri data TXT (key/value pair).

Fungsi

otDnsAddressResponseGetAddress(const otDnsAddressResponse *aResponse, uint16_t aIndex, otIp6Address *aAddress, uint32_t *aTtl)
Mendapatkan alamat IPv6 yang terkait dengan respons DNS resolusi alamat.
otDnsAddressResponseGetHostName(const otDnsAddressResponse *aResponse, char *aNameBuffer, uint16_t aNameBufferSize)
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)
Mendapatkan alamat IPv6 host dari respons jelajah DNS (enumerasi instance layanan).
otDnsBrowseResponseGetServiceInfo(const otDnsBrowseResponse *aResponse, const char *aInstanceLabel, otDnsServiceInfo *aServiceInfo)
Mendapatkan info untuk instance layanan dari respons penjelajahan DNS (enumerasi instance layanan).
otDnsBrowseResponseGetServiceInstance(const otDnsBrowseResponse *aResponse, uint16_t aIndex, char *aLabelBuffer, uint8_t aLabelBufferSize)
Mendapatkan instance layanan yang terkait dengan respons penjelajahan DNS (enumerasi instance layanan).
otDnsBrowseResponseGetServiceName(const otDnsBrowseResponse *aResponse, char *aNameBuffer, uint16_t aNameBufferSize)
Mendapatkan nama layanan yang terkait dengan respons jelajah DNS (enumerasi instance layanan).
otDnsClientBrowse(otInstance *aInstance, const char *aServiceName, otDnsBrowseCallback aCallback, void *aContext, const otDnsQueryConfig *aConfig)
Mengirim kueri jelajah DNS (enumerasi instance layanan) untuk nama layanan tertentu.
otDnsClientGetDefaultConfig(otInstance *aInstance)
Mendapatkan konfigurasi kueri default saat ini yang digunakan oleh klien DNS.
otDnsClientResolveAddress(otInstance *aInstance, const char *aHostName, otDnsAddressCallback aCallback, void *aContext, const otDnsQueryConfig *aConfig)
Mengirim kueri DNS resolusi alamat untuk data AAAA (IPv6) untuk nama host tertentu.
otDnsClientResolveIp4Address(otInstance *aInstance, const char *aHostName, otDnsAddressCallback aCallback, void *aContext, const otDnsQueryConfig *aConfig)
Mengirim kueri DNS resolusi alamat untuk data A (IPv4) untuk nama host tertentu.
otDnsClientResolveService(otInstance *aInstance, const char *aInstanceLabel, const char *aServiceName, otDnsServiceCallback aCallback, void *aContext, const otDnsQueryConfig *aConfig)
Memulai resolusi instance layanan DNS untuk instance layanan tertentu.
otDnsClientResolveServiceAndHostAddress(otInstance *aInstance, const char *aInstanceLabel, const char *aServiceName, otDnsServiceCallback aCallback, void *aContext, const otDnsQueryConfig *aConfig)
Memulai resolusi instance layanan DNS untuk instance layanan tertentu, dengan resolusi alamat tindak lanjut potensial untuk nama host yang ditemukan untuk instance layanan.
otDnsClientSetDefaultConfig(otInstance *aInstance, const otDnsQueryConfig *aConfig)
void
Menetapkan konfigurasi kueri default pada klien DNS.
otDnsEncodeTxtData(const otDnsTxtEntry *aTxtEntries, uint16_t aNumTxtEntries, uint8_t *aTxtData, uint16_t *aTxtDataLength)
Mengenkode daftar entri data TXT tertentu (key/value pair) ke dalam data TXT (format mengikuti yang ditentukan oleh RFC 6763).
otDnsGetNextTxtEntry(otDnsTxtEntryIterator *aIterator, otDnsTxtEntry *aEntry)
Mengurai data TXT dari iterator dan mendapatkan entri data TXT berikutnya (pasangan kunci/nilai).
otDnsInitTxtEntryIterator(otDnsTxtEntryIterator *aIterator, const uint8_t *aTxtData, uint16_t aTxtDataLength)
void
Menginisialisasi iterator data TXT.
otDnsIsNameCompressionEnabled(void)
bool
Menunjukkan apakah mode "Kompresi nama DNS" diaktifkan atau tidak.
otDnsServiceResponseGetHostAddress(const otDnsServiceResponse *aResponse, const char *aHostName, uint16_t aIndex, otIp6Address *aAddress, uint32_t *aTtl)
Mendapatkan alamat IPv6 host dari respons resolusi instance layanan DNS.
otDnsServiceResponseGetServiceInfo(const otDnsServiceResponse *aResponse, otDnsServiceInfo *aServiceInfo)
Mendapatkan info untuk instance layanan dari respons resolusi instance layanan DNS.
otDnsServiceResponseGetServiceName(const otDnsServiceResponse *aResponse, char *aLabelBuffer, uint8_t aLabelBufferSize, char *aNameBuffer, uint16_t aNameBufferSize)
Mendapatkan nama instance layanan yang terkait dengan respons resolusi instance layanan DNS.
otDnsSetNameCompressionEnabled(bool aEnabled)
void
Mengaktifkan/menonaktifkan mode "Kompresi nama DNS".

Struct

otDnsQueryConfig

Mewakili konfigurasi kueri DNS.

otDnsServiceInfo

Memberikan info untuk instance layanan DNS.

otDnsTxtEntry

Menyatakan entri data TXT yang merepresentasikan pasangan kunci/nilai (RFC 6763 - bagian 6.3).

otDnsTxtEntryIterator

Mewakili iterator untuk entri data TXT (key/value pair).

Enumerasi

otDnsNat64Mode

 otDnsNat64Mode

Jenis merepresentasikan mode NAT64 dalam otDnsQueryConfig.

Mode NAT64 menunjukkan apakah akan mengizinkan atau melarang terjemahan alamat NAT64 selama resolusi alamat klien DNS. Mode ini hanya digunakan saat OPENTHREAD_CONFIG_DNS_CLIENT_NAT64_ENABLE diaktifkan.

Properti
OT_DNS_NAT64_ALLOW

Mengizinkan penafsiran alamat NAT64 selama resolusi alamat klien DNS.

OT_DNS_NAT64_DISALLOW

Jangan izinkan penerjemahan alamat NAT64 selama resolusi alamat klien DNS.

OT_DNS_NAT64_UNSPECIFIED

Mode NAT64 tidak ditentukan. Gunakan mode NAT64 default.

otDnsRecursionFlag

 otDnsRecursionFlag

Jenis mewakili flag "Recursion Desired" (RD) dalam otDnsQueryConfig.

Properti
OT_DNS_FLAG_NO_RECURSION

Menunjukkan bahwa server nama DNS tidak dapat me-resolve kueri secara rekursif.

OT_DNS_FLAG_RECURSION_DESIRED

Menunjukkan bahwa server nama DNS dapat menyelesaikan kueri secara rekursif.

OT_DNS_FLAG_UNSPECIFIED

Menunjukkan bahwa flag tidak ditentukan.

otDnsServiceMode

 otDnsServiceMode

Jenis merepresentasikan mode resolusi layanan dalam otDnsQueryConfig.

Setelan ini hanya digunakan selama resolusi layanan klien DNS otDnsClientResolveService(). Menentukan jenis data yang akan dikueri.

Properti
OT_DNS_SERVICE_MODE_SRV

Kueri hanya untuk catatan SRV.

OT_DNS_SERVICE_MODE_SRV_TXT

Kueri untuk data SRV dan TXT dalam pesan yang sama.

OT_DNS_SERVICE_MODE_SRV_TXT_OPTIMIZE

Buat kueri untuk TXT/SRV bersama-sama terlebih dahulu, jika gagal, maka kueri secara terpisah.

OT_DNS_SERVICE_MODE_SRV_TXT_SEPARATE

Kueri secara paralel untuk SRV dan TXT menggunakan pesan terpisah.

OT_DNS_SERVICE_MODE_TXT

Kueri hanya untuk data TXT.

OT_DNS_SERVICE_MODE_UNSPECIFIED

Mode tidak ditentukan. Gunakan mode layanan default.

otDnsTransportProto

 otDnsTransportProto

Jenis mewakili protokol transpor DNS di otDnsQueryConfig.

OT_DNS_TRANSPORT_TCP ini hanya didukung jika OPENTHREAD_CONFIG_DNS_CLIENT_OVER_TCP_ENABLE diaktifkan.

Properti
OT_DNS_TRANSPORT_TCP

Kueri DNS harus dikirim melalui UDP.

OT_DNS_TRANSPORT_UDP

Transpor DNS tidak ditentukan.

Typedef

otDnsAddressCallback

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

Pointer dipanggil ketika respons DNS diterima untuk kueri resolusi alamat.

Dalam callback ini, pengguna dapat menggunakan fungsi otDnsAddressResponseGet{Item}() beserta pointer aResponse untuk mendapatkan info selengkapnya tentang respons.

Pointer aResponse hanya dapat digunakan dalam callback ini dan setelah kembali dari fungsi ini, pointer tidak akan tetap valid, sehingga pengguna TIDAK BOLEH mempertahankan pointer aResponse untuk digunakan nanti.

aError dapat memiliki hal berikut:

Detail
Parameter
[in] aError
Hasil transaksi DNS.
[in] aResponse
Pointer ke respons (selalu non-NULL).
[in] aContext
Pointer ke konteks khusus aplikasi.

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

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

  • (0) NOERROR Berhasil (kondisi tanpa error) -> OT_ERROR_NONE
  • (1) Server FORMERR tidak dapat ditafsirkan 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) REFUSE Server ditolak karena alasan kebijakan/keamanan -> OT_ERROR_ERROR
  • (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 bersifat otoritatif untuk zona -> OT_ERROR_ERROR
  • (10) NOTZONE Nama tidak ada di zona -> OT_ERROR_PARSE
  • (20) BADNAME Nama buruk -> OT_ERROR_PARSE
  • (21) BADALG Bad algoritme -> OT_ERROR_ERROR
  • (22) BADTRUN Pemotongan buruk -> OT_ERROR_PARSE
  • Kode respons lainnya -> OT_ERROR_FAILED

otDnsAddressResponse

struct otDnsAddressResponse otDnsAddressResponse

Representasi buram dari respons terhadap kueri DNS resolusi alamat.

Pointer ke instance jenis ini disediakan dari callback otDnsAddressCallback.

otDnsBrowseCallback

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

Pointer dipanggil saat respons DNS diterima untuk kueri jelajah (enumerasi instance layanan).

Dalam callback ini, pengguna dapat menggunakan fungsi otDnsBrowseResponseGet{Item}() beserta pointer aResponse untuk mendapatkan info selengkapnya tentang respons.

Pointer aResponse hanya dapat digunakan dalam callback ini dan setelah kembali dari fungsi ini, pointer tidak akan tetap valid, sehingga pengguna TIDAK BOLEH mempertahankan pointer aResponse untuk digunakan nanti.

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

Detail
Parameter
[in] aError
Hasil transaksi DNS.
[in] aResponse
Pointer ke respons (selalu non-NULL).
[in] aContext
Pointer ke konteks khusus aplikasi.

otDnsBrowseResponse

struct otDnsBrowseResponse otDnsBrowseResponse

Representasi buram respons terhadap kueri DNS penjelajahan (enumerasi instance layanan).

Pointer ke instance jenis ini disediakan dari callback otDnsBrowseCallback.

otDnsQueryConfig

struct otDnsQueryConfig otDnsQueryConfig

Mewakili konfigurasi kueri DNS.

Kolom apa pun dalam struktur ini dapat disetel ke nol untuk menunjukkan bahwa kolom tersebut tidak ditentukan. Cara penanganan kolom yang tidak ditentukan ditentukan oleh fungsi yang menggunakan instance otDnsQueryConfig.

otDnsServiceCallback

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

Pointer dipanggil saat respons DNS diterima untuk kueri resolusi instance layanan.

Dalam callback ini, pengguna dapat menggunakan fungsi otDnsServiceResponseGet{Item}() beserta pointer aResponse untuk mendapatkan info selengkapnya tentang respons.

Pointer aResponse hanya dapat digunakan dalam callback ini dan setelah kembali dari fungsi ini, pointer tidak akan tetap valid, sehingga pengguna TIDAK BOLEH mempertahankan pointer aResponse untuk digunakan nanti.

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

Detail
Parameter
[in] aError
Hasil transaksi DNS.
[in] aResponse
Pointer ke respons (selalu non-NULL).
[in] aContext
Pointer ke konteks khusus aplikasi.

otDnsServiceInfo

struct otDnsServiceInfo otDnsServiceInfo

Memberikan info untuk instance layanan DNS.

otDnsServiceResponse

struct otDnsServiceResponse otDnsServiceResponse

Representasi buram respons terhadap kueri DNS resolusi instance layanan.

Pointer ke instance jenis ini disediakan dari callback otDnsAddressCallback.

otDnsTxtEntry

struct otDnsTxtEntry otDnsTxtEntry

Menyatakan entri data TXT yang merepresentasikan pasangan kunci/nilai (RFC 6763 - bagian 6.3).

Buffer string yang ditunjuk oleh mKey dan mValue HARUS tetap ada dan tidak berubah setelah instance struktur tersebut diteruskan ke OpenThread (sebagai bagian dari instance otSrpClientService).

Array entri otDnsTxtEntry digunakan di otSrpClientService untuk menentukan data TXT lengkap (daftar entri).

otDnsTxtEntryIterator

struct otDnsTxtEntryIterator otDnsTxtEntryIterator

Mewakili iterator untuk entri data TXT (key/value pair).

Kolom data dalam struktur ini dimaksudkan untuk digunakan oleh inti OpenThread dan pemanggil tidak boleh membaca atau mengubahnya.

Fungsi

otDnsAddressResponseGetAddress

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

Mendapatkan alamat IPv6 yang terkait dengan respons DNS resolusi alamat.

HARUS hanya digunakan dari otDnsAddressCallback.

Respons dapat mencakup beberapa data alamat IPv6. aIndex dapat digunakan untuk melakukan iterasi melalui daftar alamat. Indeks nol mendapatkan alamat pertama, dan seterusnya. Saat sudah mencapai akhir daftar, OT_ERROR_NOT_FOUND akan ditampilkan.

Detail
Parameter
[in] aResponse
Pointer ke respons.
[in] aIndex
Indeks catatan alamat yang akan diambil.
[out] aAddress
Pointer ke alamat IPv6 untuk menghasilkan alamat (TIDAK BOLEH NULL).
[out] aTtl
Pointer ke uint32_t untuk menghasilkan TTL untuk alamat. Nilainya bisa NULL jika pemanggil tidak ingin mendapatkan TTL.
Nilai Pengembalian
OT_ERROR_NONE
Alamat berhasil dibaca.
OT_ERROR_NOT_FOUND
Tidak ada data alamat di aResponse di aIndex.
OT_ERROR_PARSE
Tidak dapat mengurai data di aResponse.
OT_ERROR_INVALID_STATE
Tidak ada awalan NAT64 (hanya berlaku jika NAT64 diizinkan).

otDnsAddressResponseGetHostName

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

Mendapatkan nama host lengkap yang terkait dengan respons DNS resolusi alamat.

HARUS hanya digunakan dari otDnsAddressCallback.

Detail
Parameter
[in] aResponse
Pointer ke respons.
[out] aNameBuffer
Buffering ke array karakter untuk menghasilkan nama host lengkap (TIDAK BOLEH NULL).
[in] aNameBufferSize
Ukuran aNameBuffer.
Nilai Pengembalian
OT_ERROR_NONE
Nama host lengkap berhasil dibaca.
OT_ERROR_NO_BUFS
Nama ini tidak cocok untuk aNameBuffer.

otDnsBrowseResponseGetHostAddress

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

Mendapatkan alamat IPv6 host dari respons jelajah DNS (enumerasi instance layanan).

HARUS hanya digunakan dari otDnsBrowseCallback.

Responsnya dapat mencakup nol atau beberapa data alamat IPv6. aIndex dapat digunakan untuk melakukan iterasi melalui daftar alamat. Indeks nol mendapatkan alamat pertama, dan seterusnya. Saat sudah mencapai akhir daftar, OT_ERROR_NOT_FOUND akan ditampilkan.

Detail
Parameter
[in] aResponse
Pointer ke respons.
[in] aHostName
Nama host untuk mendapatkan alamat (HARUS TIDAK NULL).
[in] aIndex
Indeks catatan alamat yang akan diambil.
[out] aAddress
Pointer ke alamat IPv6 untuk menghasilkan alamat (TIDAK BOLEH NULL).
[out] aTtl
Pointer ke uint32_t untuk menghasilkan TTL untuk alamat. Nilainya bisa NULL jika pemanggil tidak ingin mendapatkan TTL.
Nilai Pengembalian
OT_ERROR_NONE
Alamat berhasil dibaca.
OT_ERROR_NOT_FOUND
Tidak ada data alamat untuk aHostname di aResponse di aIndex.
OT_ERROR_PARSE
Tidak dapat mengurai data di aResponse.

otDnsBrowseResponseGetServiceInfo

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

Mendapatkan info untuk instance layanan dari respons penjelajahan DNS (enumerasi instance layanan).

HARUS hanya digunakan dari otDnsBrowseCallback.

Respons DNS penjelajahan dapat menyertakan data SRV, TXT, dan AAAA untuk instance layanan yang dienumerasi. Ini SEHARUS dan bukan persyaratan HARUS, dan server/resolver tidak diwajibkan untuk memberikannya. Fungsi ini mencoba mengambil info ini untuk instance layanan tertentu jika tersedia.

  • Jika tidak ditemukan data SRV yang cocok di aResponse, OT_ERROR_NOT_FOUND akan ditampilkan. Dalam hal ini, tidak ada data tambahan (tidak ada TXT dan/atau AAAA) yang dibaca.
  • Jika data SRV yang cocok ditemukan di aResponse, aServiceInfo akan diperbarui dan OT_ERROR_NONE akan ditampilkan.
  • Jika tidak ditemukan data TXT yang cocok di aResponse, mTxtDataSize dalam aServiceInfo disetel ke nol.
  • Jika panjang data TXT lebih besar dari mTxtDataSize, data akan dibaca sebagian dan mTxtDataTruncated disetel ke benar (true).
  • Jika tidak ditemukan data AAAA yang cocok di aResponse, 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()`.

Detail
Parameter
[in] aResponse
Pointer ke respons.
[in] aInstanceLabel
Label instance layanan (HARUS TIDAK NULL).
[out] aServiceInfo
ServiceInfo untuk menghasilkan informasi instance layanan (TIDAK BOLEH NULL).
Nilai Pengembalian
OT_ERROR_NONE
Info instance 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 dimuat ke buffering yang diberikan.
OT_ERROR_PARSE
Tidak dapat mengurai data di aResponse.

otDnsBrowseResponseGetServiceInstance

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

Mendapatkan instance layanan yang terkait dengan respons penjelajahan DNS (enumerasi instance layanan).

HARUS hanya digunakan dari otDnsBrowseCallback.

Responsnya dapat mencakup beberapa data instance layanan. aIndex dapat digunakan untuk melakukan iterasi melalui daftar. Indeks nol menghasilkan record pertama. Saat sudah mencapai akhir daftar, OT_ERROR_NOT_FOUND akan ditampilkan.

Perhatikan bahwa fungsi ini mendapatkan label instance layanan, bukan nama instance layanan lengkap yang berbentuk ...

Detail
Parameter
[in] aResponse
Pointer ke respons.
[in] aIndex
Indeks catatan instance layanan yang akan diambil.
[out] aLabelBuffer
Buffering ke array karakter untuk menghasilkan label instance layanan (TIDAK BOLEH NULL).
[in] aLabelBufferSize
Ukuran aLabelBuffer.
Nilai Pengembalian
OT_ERROR_NONE
Instance layanan berhasil dibaca.
OT_ERROR_NO_BUFS
Nama ini tidak cocok untuk aNameBuffer.
OT_ERROR_NOT_FOUND
Tidak ada rekaman instance layanan di aResponse pada aIndex.
OT_ERROR_PARSE
Tidak dapat mengurai data di aResponse.

otDnsBrowseResponseGetServiceName

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

Mendapatkan nama layanan yang terkait dengan respons jelajah DNS (enumerasi instance layanan).

HARUS hanya digunakan dari otDnsBrowseCallback.

Detail
Parameter
[in] aResponse
Pointer ke respons.
[out] aNameBuffer
Buffering pada array karakter untuk menghasilkan nama layanan (TIDAK BOLEH NULL).
[in] aNameBufferSize
Ukuran aNameBuffer.
Nilai Pengembalian
OT_ERROR_NONE
Nama layanan berhasil dibaca.
OT_ERROR_NO_BUFS
Nama ini tidak cocok untuk aNameBuffer.

otDnsClientBrowse

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

Mengirim kueri jelajah DNS (enumerasi instance layanan) untuk nama layanan tertentu.

Tersedia saat OPENTHREAD_CONFIG_DNS_CLIENT_SERVICE_DISCOVERY_ENABLE diaktifkan.

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

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
[in] aServiceName
Nama layanan yang akan dikueri (HARUS TIDAK NULL).
[in] aCallback
Pointer fungsi yang akan dipanggil saat penerimaan respons atau waktu habis.
[in] aContext
Pointer ke informasi konteks arbitrer.
[in] aConfig
Pointer ke konfigurasi yang akan digunakan untuk kueri ini.
Nilai Pengembalian
OT_ERROR_NONE
Kueri berhasil dikirim. aCallback akan dipanggil untuk melaporkan status.
OT_ERROR_NO_BUFS
Buffering tidak cukup untuk menyiapkan dan mengirim kueri.

otDnsClientGetDefaultConfig

const otDnsQueryConfig * otDnsClientGetDefaultConfig(
  otInstance *aInstance
)

Mendapatkan konfigurasi kueri default saat ini yang digunakan oleh klien DNS.

Saat stack OpenThread dimulai, konfigurasi kueri DNS default ditentukan dari kumpulan opsi konfigurasi OT seperti OPENTHREAD_CONFIG_DNS_CLIENT_DEFAULT_SERVER_IP6_ADDRESS, _DEFAULT_SERVER_PORT, _DEFAULT_RESPONSE_TIMEOUT, dll. (lihat config/dns_client.h untuk semua opsi konfigurasi terkait).

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
Hasil
Pointer 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
)

Mengirim kueri DNS resolusi alamat untuk data AAAA (IPv6) untuk nama host tertentu.

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

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
[in] aHostName
Nama host yang akan digunakan untuk mengajukan kueri alamat (HARUS TIDAK NULL).
[in] aCallback
Pointer fungsi yang akan dipanggil saat penerimaan respons atau waktu habis.
[in] aContext
Pointer ke informasi konteks arbitrer.
[in] aConfig
Pointer ke konfigurasi yang akan digunakan untuk kueri ini.
Nilai Pengembalian
OT_ERROR_NONE
Kueri berhasil dikirim. aCallback akan dipanggil untuk melaporkan status.
OT_ERROR_NO_BUFS
Buffering tidak cukup untuk menyiapkan dan mengirim kueri.
OT_ERROR_INVALID_ARGS
Format nama host tidak valid.
OT_ERROR_INVALID_STATE
Tidak dapat mengirim kueri karena antarmuka Thread tidak aktif.

otDnsClientResolveIp4Address

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

Mengirim kueri DNS resolusi alamat untuk data A (IPv4) untuk nama host tertentu.

Memerlukan dan tersedia saat OPENTHREAD_CONFIG_DNS_CLIENT_NAT64_ENABLE diaktifkan.

Saat respons yang berhasil diterima, alamat akan ditampilkan dari aCallback sebagai versi terjemahan IPv6 NAT64 dari alamat IPv4 dari respons kueri.

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

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
[in] aHostName
Nama host yang akan digunakan untuk mengajukan kueri alamat (HARUS TIDAK NULL).
[in] aCallback
Pointer fungsi yang akan dipanggil saat penerimaan respons atau waktu habis.
[in] aContext
Pointer ke informasi konteks arbitrer.
[in] aConfig
Pointer ke konfigurasi yang akan digunakan untuk kueri ini.
Nilai Pengembalian
OT_ERROR_NONE
Kueri berhasil dikirim. aCallback akan dipanggil untuk melaporkan status.
OT_ERROR_NO_BUFS
Buffering tidak cukup untuk menyiapkan dan mengirim kueri.
OT_ERROR_INVALID_ARGS
Nama host tidak memiliki format yang valid atau NAT64 tidak diaktifkan dalam konfigurasi.
OT_ERROR_INVALID_STATE
Tidak dapat mengirim kueri karena antarmuka Thread tidak aktif.

otDnsClientResolveService

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

Memulai resolusi instance layanan DNS untuk instance layanan tertentu.

Tersedia saat OPENTHREAD_CONFIG_DNS_CLIENT_SERVICE_DISCOVERY_ENABLE diaktifkan.

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

Fungsi mengirim kueri untuk data SRV dan/atau TXT untuk instance layanan yang diberikan. Kolom mServiceMode di otDnsQueryConfig menentukan catatan mana yang akan dikueri (khusus SRV, hanya TXT, atau SRV dan TXT) serta cara melakukan kueri (bersama-sama dalam pesan yang sama, secara terpisah secara paralel, atau dalam mode yang dioptimalkan di mana klien akan mencoba dalam pesan yang sama terlebih dahulu lalu secara terpisah jika gagal mendapatkan respons).

Catatan SRV menyediakan informasi tentang porta, prioritas, dan bobot layanan beserta nama {i>host<i} yang terkait dengan {i>instance<i} layanan. Fungsi ini TIDAK melakukan resolusi alamat untuk nama {i>host<i} yang ditemukan dari catatan SRV. Server/resolver dapat menyediakan data AAAA/A untuk nama host di bagian Data Tambahan respons terhadap kueri SRV/TXT dan informasi ini dapat diambil menggunakan otDnsServiceResponseGetServiceInfo() dalam otDnsServiceCallback. Pengguna API ini TIDAK BOLEH berasumsi bahwa alamat host akan selalu tersedia dari otDnsServiceResponseGetServiceInfo().

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
[in] aInstanceLabel
Label instance layanan.
[in] aServiceName
Nama layanan (bersama dengan aInstanceLabel membentuk nama instance lengkap).
[in] aCallback
Pointer fungsi yang akan dipanggil saat penerimaan respons atau waktu habis.
[in] aContext
Pointer ke informasi konteks arbitrer.
[in] aConfig
Pointer ke konfigurasi yang akan digunakan untuk kueri ini.
Nilai Pengembalian
OT_ERROR_NONE
Kueri berhasil dikirim. aCallback akan dipanggil untuk melaporkan status.
OT_ERROR_NO_BUFS
Buffering tidak cukup untuk menyiapkan dan mengirim kueri.
OT_ERROR_INVALID_ARGS
aInstanceLabel adalah NULL.

otDnsClientResolveServiceAndHostAddress

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

Memulai resolusi instance layanan DNS untuk instance layanan tertentu, dengan resolusi alamat tindak lanjut potensial untuk nama host yang ditemukan untuk instance layanan.

Tersedia saat OPENTHREAD_CONFIG_DNS_CLIENT_SERVICE_DISCOVERY_ENABLE diaktifkan.

aConfig dapat menjadi NULL. Dalam hal ini, konfigurasi default (dari otDnsClientGetDefaultConfig()) akan digunakan sebagai konfigurasi untuk kueri ini. Pada aConfig non-NULL, beberapa kolom dapat dibiarkan tidak ditentukan (nilai nol). Kolom yang tidak ditentukan kemudian diganti dengan nilai dari konfigurasi default. Fungsi ini tidak dapat digunakan dengan mServiceMode dalam konfigurasi DNS yang ditetapkan ke OT_DNS_SERVICE_MODE_TXT (yaitu, membuat kueri untuk data TXT saja) dan akan menampilkan OT_ERROR_INVALID_ARGS.

Berperilaku mirip dengan otDnsClientResolveService() yang mengirim kueri untuk data SRV dan TXT. Akan tetapi, jika server/resolver tidak memberikan data AAAA/A untuk nama host sebagai respons terhadap kueri SRV (di bagian Data Tambahan), maka server/resolver akan melakukan resolusi nama host (mengirimkan kueri AAAA) untuk nama host yang ditemukan dari data SRV. Callback aCallback dipanggil saat respons untuk semua kueri diterima (yaitu, resolusi layanan dan alamat host selesai).

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
[in] aInstanceLabel
Label instance layanan.
[in] aServiceName
Nama layanan (bersama dengan aInstanceLabel membentuk nama instance lengkap).
[in] aCallback
Pointer fungsi yang akan dipanggil saat penerimaan respons atau waktu habis.
[in] aContext
Pointer ke informasi konteks arbitrer.
[in] aConfig
Pointer ke konfigurasi yang akan digunakan untuk kueri ini.
Nilai Pengembalian
OT_ERROR_NONE
Kueri berhasil dikirim. aCallback akan dipanggil untuk melaporkan status.
OT_ERROR_NO_BUFS
Buffering tidak cukup untuk menyiapkan dan mengirim kueri.
OT_ERROR_INVALID_ARGS
aInstanceLabel NULL, atau aConfig tidak valid.

otDnsClientSetDefaultConfig

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

Menetapkan konfigurasi kueri default pada klien DNS.

aConfig dapat menjadi NULL. Dalam hal ini, konfigurasi default akan disetel ke default dari opsi konfigurasi OT OPENTHREAD_CONFIG_DNS_CLIENT_DEFAULT_{}. Tindakan ini akan mereset konfigurasi kueri default kembali ke konfigurasi saat stack OpenThread dimulai.

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

Jika OPENTHREAD_CONFIG_DNS_CLIENT_DEFAULT_SERVER_ADDRESS_AUTO_SET_ENABLE diaktifkan, alamat IPv6 server di konfigurasi default akan otomatis ditetapkan dan diperbarui oleh klien DNS. Hal ini hanya dilakukan jika pengguna tidak secara eksplisit menetapkan atau menentukannya. Perilaku ini mengharuskan klien SRP dan fitur mulai otomatisnya diaktifkan. Klien SRP kemudian akan memantau entri Data Jaringan Thread untuk Layanan DNS/SRP guna memilih server SRP. Alamat server SRP yang dipilih juga ditetapkan sebagai alamat server DNS dalam konfigurasi default.

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

otDnsEncodeTxtData

otError otDnsEncodeTxtData(
  const otDnsTxtEntry *aTxtEntries,
  uint16_t aNumTxtEntries,
  uint8_t *aTxtData,
  uint16_t *aTxtDataLength
)

Mengenkode daftar entri data TXT tertentu (key/value pair) ke dalam data TXT (format mengikuti yang ditentukan oleh RFC 6763).

Detail
Parameter
[in] aTxtEntries
Pointer ke array otDnsTxtEntry.
[in] aNumTxtEntries
Jumlah entri dalam array aTxtEntries.
[out] aTxtData
Pointer ke buffer untuk menghasilkan data TXT yang dienkode.
[in,out] aTxtDataLength
Pada input, ukuran buffer aTxtData. Pada output, panjang data TXT yang dienkode.
Nilai Pengembalian
OT_ERROR_NONE
Data TXT berhasil dienkode, aTxtData dan aTxtDataLength diperbarui.
OT_ERROR_INVALID_ARGS
aTxtEntries tidak valid.
OT_ERROR_NO_BUS
Tidak dapat menyesuaikan data yang dienkode dalam buffering aTxtData dengan aTxtDataLength-nya.

otDnsGetNextTxtEntry

otError otDnsGetNextTxtEntry(
  otDnsTxtEntryIterator *aIterator,
  otDnsTxtEntry *aEntry
)

Mengurai data TXT dari iterator dan mendapatkan entri data TXT berikutnya (pasangan kunci/nilai).

aIterator HARUS diinisialisasi menggunakan otDnsInitTxtEntryIterator() sebelum memanggil fungsi ini dan buffering data TXT yang digunakan untuk menginisialisasi iterator HARUS bertahan dan tidak berubah. Jika tidak, perilaku fungsi ini tidak ditentukan.

Jika panjang string kunci yang diuraikan lebih kecil dari atau sama dengan OT_DNS_TXT_KEY_ITER_MAX_LENGTH, string kunci akan ditampilkan dalam mKey di aEntry. Namun, jika kunci lebih panjang, mKey disetel ke NULL dan seluruh string entri TXT yang dienkode akan ditampilkan dalam mValue dan mValueLength.

Detail
Parameter
[in] aIterator
Pointer ke iterator (TIDAK BOLEH NULL).
[out] aEntry
Pointer ke struktur otDnsTxtEntry untuk menghasilkan entri yang diuraikan/dibaca (TIDAK BOLEH NULL).
Nilai Pengembalian
OT_ERROR_NONE
Entri berikutnya berhasil diuraikan. aEntry diperbarui.
OT_ERROR_NOT_FOUND
Tidak ada entri lain dalam data TXT.
OT_ERROR_PARSE
Data TXT dari aIterator tidak diformat dengan baik.

otDnsInitTxtEntryIterator

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

Menginisialisasi iterator data TXT.

Pointer buffer aTxtData dan kontennya HARUS dipertahankan dan tidak berubah selama objek aIterator sedang digunakan.

Detail
Parameter
[in] aIterator
Pointer ke iterator yang akan diinisialisasi (HARUS TIDAK NULL).
[in] aTxtData
Pointer ke buffer yang berisi data TXT yang dienkode.
[in] aTxtDataLength
Panjang (jumlah byte) aTxtData.

otDnsIsNameCompressionEnabled

bool otDnsIsNameCompressionEnabled(
  void
)

Menunjukkan apakah mode "Kompresi nama DNS" diaktifkan atau tidak.

Hal ini hanya dimaksudkan untuk pengujian dan tersedia saat konfigurasi OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE diaktifkan.

Detail
Hasil
TRUE jika mode "kompresi nama DNS" diaktifkan, FALSE jika tidak.

otDnsServiceResponseGetHostAddress

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

Mendapatkan alamat IPv6 host dari respons resolusi instance layanan DNS.

HARUS hanya digunakan dari otDnsServiceCallback.

Responsnya dapat mencakup nol atau beberapa data alamat IPv6. aIndex dapat digunakan untuk melakukan iterasi melalui daftar alamat. Indeks nol mendapatkan alamat pertama, dan seterusnya. Saat sudah mencapai akhir daftar, OT_ERROR_NOT_FOUND akan ditampilkan.

Detail
Parameter
[in] aResponse
Pointer ke respons.
[in] aHostName
Nama host untuk mendapatkan alamat (HARUS TIDAK NULL).
[in] aIndex
Indeks catatan alamat yang akan diambil.
[out] aAddress
Pointer ke alamat IPv6 untuk menghasilkan alamat (TIDAK BOLEH NULL).
[out] aTtl
Pointer ke uint32_t untuk menghasilkan TTL untuk alamat. Nilainya bisa NULL jika pemanggil tidak ingin mendapatkan TTL.
Nilai Pengembalian
OT_ERROR_NONE
Alamat berhasil dibaca.
OT_ERROR_NOT_FOUND
Tidak ada data alamat untuk aHostname di aResponse di aIndex.
OT_ERROR_PARSE
Tidak dapat mengurai data di aResponse.

otDnsServiceResponseGetServiceInfo

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

Mendapatkan info untuk instance layanan dari respons resolusi instance layanan DNS.

HARUS digunakan hanya dari otDnsServiceCallback yang dipicu dari otDnsClientResolveService() atau otDnsClientResolveServiceAndHostAddress().

Jika ini digunakan dari callback otDnsClientResolveService(), respons DNS dari server/resolver dapat menyertakan data AAAA di bagian Data Tambahan untuk nama host yang terkait dengan instance layanan yang diselesaikan. Ini SEHARUS dan bukan persyaratan HARUS, sehingga server/resolver tidak diwajibkan untuk memberikannya. Fungsi ini mencoba mengurai data AAAA jika disertakan dalam respons. Jika tidak disertakan, mHostAddress disetel ke semua angka nol (alamat yang tidak ditentukan). Selain itu, untuk me-resolve alamat host, pengguna dapat menggunakan fungsi API klien DNS otDnsClientResolveServiceAndHostAddress() yang akan melakukan resolusi layanan yang diikuti dengan kueri resolusi alamat nama host (saat data AAAA tidak disediakan oleh server/resolver dalam respons kueri SRV).

  • Jika data SRV yang cocok ditemukan di aResponse, aServiceInfo akan diperbarui.
  • Jika tidak ditemukan data SRV yang cocok, OT_ERROR_NOT_FOUND akan ditampilkan kecuali jika konfigurasi kueri untuk kueri ini menggunakan OT_DNS_SERVICE_MODE_TXT untuk mServiceMode (artinya permintaan hanya untuk data TXT). Dalam hal ini, kita masih mencoba mengurai catatan SRV dari Bagian Data Tambahan dari respons (jika server memberikan info).
  • Jika tidak ditemukan data TXT yang cocok di aResponse, mTxtDataSize dalam aServiceInfo disetel ke nol.
  • Jika panjang data TXT lebih besar dari mTxtDataSize, data akan dibaca sebagian dan mTxtDataTruncated disetel ke benar (true).
  • Jika tidak ditemukan data AAAA yang cocok di aResponse, 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()`.

Detail
Parameter
[in] aResponse
Pointer ke respons.
[out] aServiceInfo
ServiceInfo untuk menghasilkan informasi instance layanan (TIDAK BOLEH NULL).
Nilai Pengembalian
OT_ERROR_NONE
Info instance layanan telah dibaca. aServiceInfo diperbarui.
OT_ERROR_NOT_FOUND
Tidak dapat menemukan data yang diperlukan di aResponse.
OT_ERROR_NO_BUFS
Nama host dan/atau data TXT tidak dapat dimuat ke buffering yang diberikan.
OT_ERROR_PARSE
Tidak dapat mengurai data di aResponse.

otDnsServiceResponseGetServiceName

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

Mendapatkan nama instance layanan yang terkait dengan respons resolusi instance layanan DNS.

HARUS hanya digunakan dari otDnsServiceCallback.

Detail
Parameter
[in] aResponse
Pointer ke respons.
[out] aLabelBuffer
Buffering ke array karakter untuk menghasilkan label instance layanan (TIDAK BOLEH NULL).
[in] aLabelBufferSize
Ukuran aLabelBuffer.
[out] aNameBuffer
Buffering ke array karakter untuk menghasilkan nama layanan lainnya (dapat bernilai NULL jika pengguna tidak tertarik untuk mendapatkan nama tersebut.
[in] aNameBufferSize
Ukuran aNameBuffer.
Nilai Pengembalian
OT_ERROR_NONE
Nama layanan berhasil dibaca.
OT_ERROR_NO_BUFS
Label atau nama tidak sesuai dengan buffering yang diberikan.

otDnsSetNameCompressionEnabled

void otDnsSetNameCompressionEnabled(
  bool aEnabled
)

Mengaktifkan/menonaktifkan mode "Kompresi nama DNS".

Secara default, kompresi nama DNS diaktifkan. Jika dinonaktifkan, nama DNS akan ditambahkan sebagai lengkap dan tidak pernah dikompresi. Ini berlaku untuk modul klien/server DNS dan SRP OpenThread.

Hal ini hanya dimaksudkan untuk pengujian dan tersedia saat konfigurasi OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE diaktifkan.

Perhatikan bahwa jika OPENTHREAD_CONFIG_MULTIPLE_INSTANCE_ENABLE digunakan, mode ini berlaku untuk semua instance OpenThread (yaitu memanggil fungsi ini akan mengaktifkan/menonaktifkan mode kompresi pada semua instance OpenThread).

Detail
Parameter
[in] aEnabled
TRUE untuk mengaktifkan mode "kompresi nama DNS", FALSE untuk menonaktifkan.

Makro

OT_DNS_MAX_LABEL_SIZE

 OT_DNS_MAX_LABEL_SIZE 64

Ukuran string label maksimum (sertakan karakter null di akhir string).

OT_DNS_MAX_NAME_SIZE

 OT_DNS_MAX_NAME_SIZE 255

Ukuran maksimum string nama (menyertakan karakter null di akhir string).

OT_DNS_TXT_KEY_ITER_MAX_LENGTH

 OT_DNS_TXT_KEY_ITER_MAX_LENGTH 64

Panjang maksimum string kunci TXT yang didukung oleh otDnsTxtEntryIterator.

OT_DNS_TXT_KEY_MAX_LENGTH

 OT_DNS_TXT_KEY_MAX_LENGTH 9

Panjang maksimum string kunci data TXT yang direkomendasikan (RFC 6763 - bagian 6.4).

OT_DNS_TXT_KEY_MIN_LENGTH

 OT_DNS_TXT_KEY_MIN_LENGTH 1

Panjang minimum string kunci data TXT (RFC 6763 - bagian 6.4).

Referensi

Topik Referensi OpenThread API berasal dari kode sumber yang tersedia di GitHub. Untuk informasi selengkapnya, atau untuk berkontribusi pada dokumentasi kami, lihat Referensi.