SRP [if necessary for clarity, see 'search results page']

Modul ini mencakup fungsi yang mengontrol perilaku klien SRP.

Ringkasan

Modul ini mencakup fungsi Protokol Pendaftaran Layanan.

Modul ini mencakup fungsi untuk buffering klien SRP dan kumpulan layanan.

Fungsi dalam modul ini hanya tersedia jika fitur OPENANCHOR_CONFIG_SRP_CLIENT_BUFFERS_ENABLE diaktifkan.

Enumerasi

otSrpClientItemState{
  OT_SRP_CLIENT_ITEM_STATE_TO_ADD,
  OT_SRP_CLIENT_ITEM_STATE_ADDING,
  OT_SRP_CLIENT_ITEM_STATE_TO_REFRESH,
  OT_SRP_CLIENT_ITEM_STATE_REFRESHING,
  OT_SRP_CLIENT_ITEM_STATE_TO_REMOVE,
  OT_SRP_CLIENT_ITEM_STATE_REMOVING,
  OT_SRP_CLIENT_ITEM_STATE_REGISTERED,
  OT_SRP_CLIENT_ITEM_STATE_REMOVED
}
enum
Menentukan status item klien SRP (info layanan atau host).
otSrpServerAddressMode{
  OT_SRP_SERVER_ADDRESS_MODE_UNICAST = 0,
  OT_SRP_SERVER_ADDRESS_MODE_ANYCAST = 1
}
enum
Menyatakan mode alamat yang digunakan oleh server SRP.
otSrpServerState{
  OT_SRP_SERVER_STATE_DISABLED = 0,
  OT_SRP_SERVER_STATE_RUNNING = 1,
  OT_SRP_SERVER_STATE_STOPPED = 2
}
enum
Menyatakan status server SRP.

Typedef

otSrpClientAutoStartCallback)(const otSockAddr *aServerSockAddr, void *aContext) typedef
void(*
Jenis pointer mendefinisikan callback yang digunakan oleh klien SRP untuk memberi tahu pengguna ketika dimulai atau dihentikan secara otomatis.
otSrpClientBuffersServiceEntry typedef
Mewakili entri kumpulan layanan klien SRP.
otSrpClientCallback)(otError aError, const otSrpClientHostInfo *aHostInfo, const otSrpClientService *aServices, const otSrpClientService *aRemovedServices, void *aContext) typedef
void(*
Jenis pointer menetapkan callback yang digunakan oleh klien SRP untuk memberi tahu pengguna tentang perubahan/peristiwa/error.
otSrpClientHostInfo typedef
Mewakili info host klien SRP.
otSrpClientService typedef
Mewakili layanan klien SRP.
otSrpServerAddressMode typedef
Menyatakan mode alamat yang digunakan oleh server SRP.
otSrpServerHost typedef
Jenis buram ini mewakili host layanan SRP.
otSrpServerLeaseConfig typedef
Mencakup konfigurasi LEASE dan KEY-LEASE server SRP.
otSrpServerLeaseInfo typedef
Menyertakan informasi sewa server SRP dari host/layanan.
otSrpServerResponseCounters typedef
Menyertakan statistik respons server SRP.
otSrpServerService typedef
Jenis buram ini mewakili layanan SRP.
otSrpServerServiceUpdateHandler)(otSrpServerServiceUpdateId aId, const otSrpServerHost *aHost, uint32_t aTimeout, void *aContext) typedef
void(*
Menangani update layanan SRP.
otSrpServerServiceUpdateId typedef
uint32_t
ID transaksi pembaruan layanan SRP di Server SRP.
otSrpServerTtlConfig typedef
Termasuk konfigurasi TTL server SRP.

Fungsi

otSrpClientAddService(otInstance *aInstance, otSrpClientService *aService)
Menambahkan layanan yang akan didaftarkan ke server.
otSrpClientBuffersAllocateService(otInstance *aInstance)
Mengalokasikan entri layanan baru dari kumpulan.
otSrpClientBuffersFreeAllServices(otInstance *aInstance)
void
Membebaskan semua entri layanan yang dialokasikan sebelumnya.
otSrpClientBuffersFreeService(otInstance *aInstance, otSrpClientBuffersServiceEntry *aService)
void
Membebaskan entri layanan yang dialokasikan sebelumnya.
otSrpClientBuffersGetHostAddressesArray(otInstance *aInstance, uint8_t *aArrayLength)
Mendapatkan array entri alamat IPv6 untuk digunakan sebagai daftar alamat host klien SRP.
otSrpClientBuffersGetHostNameString(otInstance *aInstance, uint16_t *aSize)
char *
Mendapatkan buffer string yang akan digunakan untuk nama host klien SRP.
otSrpClientBuffersGetServiceEntryInstanceNameString(otSrpClientBuffersServiceEntry *aEntry, uint16_t *aSize)
char *
Mendapatkan buffering string untuk nama instance layanan dari entri layanan.
otSrpClientBuffersGetServiceEntryServiceNameString(otSrpClientBuffersServiceEntry *aEntry, uint16_t *aSize)
char *
Mendapatkan buffering string untuk nama layanan dari entri layanan.
otSrpClientBuffersGetServiceEntryTxtBuffer(otSrpClientBuffersServiceEntry *aEntry, uint16_t *aSize)
uint8_t *
Mendapatkan buffer untuk data TXT dari entri layanan.
otSrpClientBuffersGetSubTypeLabelsArray(otSrpClientBuffersServiceEntry *aEntry, uint16_t *aArrayLength)
const char **
Mendapatkan array untuk label subjenis layanan dari entri layanan.
otSrpClientClearHostAndServices(otInstance *aInstance)
void
Menghapus semua info host dan semua layanan.
otSrpClientClearService(otInstance *aInstance, otSrpClientService *aService)
Menghapus layanan dan langsung menghapusnya dari daftar layanan klien.
otSrpClientDisableAutoStartMode(otInstance *aInstance)
void
Menonaktifkan mode mulai otomatis.
otSrpClientEnableAutoHostAddress(otInstance *aInstance)
Mengaktifkan mode alamat host otomatis.
otSrpClientEnableAutoStartMode(otInstance *aInstance, otSrpClientAutoStartCallback aCallback, void *aContext)
void
Mengaktifkan mode mulai otomatis.
otSrpClientGetDomainName(otInstance *aInstance)
const char *
Mendapatkan nama domain yang sedang digunakan oleh klien SRP.
otSrpClientGetHostInfo(otInstance *aInstance)
Mendapatkan info host.
otSrpClientGetKeyLeaseInterval(otInstance *aInstance)
uint32_t
Mendapatkan interval lease kunci default yang digunakan dalam permintaan update SRP.
otSrpClientGetLeaseInterval(otInstance *aInstance)
uint32_t
Mendapatkan interval lease default yang digunakan dalam permintaan update SRP.
otSrpClientGetServerAddress(otInstance *aInstance)
const otSockAddr *
Mendapatkan alamat soket (alamat IPv6 dan nomor port) dari server SRP yang digunakan oleh klien SRP.
otSrpClientGetServices(otInstance *aInstance)
Mendapatkan daftar layanan yang dikelola oleh klien.
otSrpClientGetTtl(otInstance *aInstance)
uint32_t
Mendapatkan nilai TTL di setiap data yang disertakan dalam permintaan update SRP.
otSrpClientIsAutoStartModeEnabled(otInstance *aInstance)
bool
Menunjukkan status mode mulai otomatis saat ini (diaktifkan atau dinonaktifkan).
otSrpClientIsRunning(otInstance *aInstance)
bool
Menunjukkan apakah klien SRP sedang berjalan atau tidak.
otSrpClientIsServiceKeyRecordEnabled(otInstance *aInstance)
bool
Menunjukkan apakah mode "penyertaan data kunci layanan" diaktifkan atau dinonaktifkan.
otSrpClientItemStateToString(otSrpClientItemState aItemState)
const char *
Mengonversi otSrpClientItemState menjadi string.
otSrpClientRemoveHostAndServices(otInstance *aInstance, bool aRemoveKeyLease, bool aSendUnregToServer)
Memulai proses penghapusan info host dan semua layanan.
otSrpClientRemoveService(otInstance *aInstance, otSrpClientService *aService)
Meminta pendaftaran layanan untuk dibatalkan dengan server.
otSrpClientSetCallback(otInstance *aInstance, otSrpClientCallback aCallback, void *aContext)
void
Menetapkan callback untuk memberi tahu pemanggil tentang peristiwa/perubahan dari klien SRP.
otSrpClientSetDomainName(otInstance *aInstance, const char *aName)
Menetapkan nama domain yang akan digunakan oleh klien SRP.
otSrpClientSetHostAddresses(otInstance *aInstance, const otIp6Address *aIp6Addresses, uint8_t aNumAddresses)
Menetapkan/memperbarui daftar alamat IPv6 host.
otSrpClientSetHostName(otInstance *aInstance, const char *aName)
Menetapkan label nama host.
otSrpClientSetKeyLeaseInterval(otInstance *aInstance, uint32_t aInterval)
void
Menetapkan interval lease kunci default yang digunakan dalam permintaan update SRP.
otSrpClientSetLeaseInterval(otInstance *aInstance, uint32_t aInterval)
void
Menetapkan interval lease default yang digunakan dalam permintaan update SRP.
otSrpClientSetServiceKeyRecordEnabled(otInstance *aInstance, bool aEnabled)
void
Mengaktifkan/menonaktifkan mode "penyertaan catatan kunci layanan".
otSrpClientSetTtl(otInstance *aInstance, uint32_t aTtl)
void
Menetapkan nilai TTL di setiap data yang disertakan dalam permintaan update SRP.
otSrpClientStart(otInstance *aInstance, const otSockAddr *aServerSockAddr)
Memulai operasi klien SRP.
otSrpClientStop(otInstance *aInstance)
void
Menghentikan operasi klien SRP.
otSrpServerGetAddressMode(otInstance *aInstance)
Menampilkan mode alamat yang digunakan oleh server SRP.
otSrpServerGetAnycastModeSequenceNumber(otInstance *aInstance)
uint8_t
Menampilkan nomor urut yang digunakan dengan mode alamat anycast.
otSrpServerGetDomain(otInstance *aInstance)
const char *
Menampilkan domain yang diotorisasi ke server SRP.
otSrpServerGetLeaseConfig(otInstance *aInstance, otSrpServerLeaseConfig *aLeaseConfig)
void
Menampilkan konfigurasi LEASE dan KEY-LEASE server SRP.
otSrpServerGetNextHost(otInstance *aInstance, const otSrpServerHost *aHost)
const otSrpServerHost *
Menampilkan host terdaftar berikutnya di server SRP.
otSrpServerGetPort(otInstance *aInstance)
uint16_t
Menampilkan port yang didengarkan server SRP.
otSrpServerGetResponseCounters(otInstance *aInstance)
Menampilkan penghitung respons server SRP.
otSrpServerGetState(otInstance *aInstance)
Menampilkan status server SRP.
otSrpServerGetTtlConfig(otInstance *aInstance, otSrpServerTtlConfig *aTtlConfig)
void
Menampilkan konfigurasi TTL server SRP.
otSrpServerHandleServiceUpdateResult(otInstance *aInstance, otSrpServerServiceUpdateId aId, otError aError)
void
Melaporkan hasil pemrosesan pembaruan SRP ke server SRP.
otSrpServerHostGetAddresses(const otSrpServerHost *aHost, uint8_t *aAddressesNum)
const otIp6Address *
Menampilkan alamat host yang diberikan.
otSrpServerHostGetFullName(const otSrpServerHost *aHost)
const char *
Menampilkan nama lengkap host.
otSrpServerHostGetLeaseInfo(const otSrpServerHost *aHost, otSrpServerLeaseInfo *aLeaseInfo)
void
Menampilkan informasi LEASE dan LEASE-LEASE dari host tertentu.
otSrpServerHostGetNextService(const otSrpServerHost *aHost, const otSrpServerService *aService)
Menampilkan layanan berikutnya dari host yang diberikan.
otSrpServerHostIsDeleted(const otSrpServerHost *aHost)
bool
Memberi tahu apakah host layanan SRP telah dihapus.
otSrpServerHostMatchesFullName(const otSrpServerHost *aHost, const char *aFullName)
bool
Menunjukkan apakah host cocok dengan nama host tertentu.
otSrpServerIsAutoEnableMode(otInstance *aInstance)
bool
Menunjukkan apakah mode aktifkan otomatis diaktifkan atau dinonaktifkan.
otSrpServerParseSubTypeServiceName(const char *aSubTypeServiceName, char *aLabel, uint8_t aLabelSize)
Mengurai nama layanan subjenis (nama lengkap) dan mengekstrak label subjenis.
otSrpServerServiceGetHost(const otSrpServerService *aService)
const otSrpServerHost *
Menampilkan host tempat instance layanan berada.
otSrpServerServiceGetInstanceLabel(const otSrpServerService *aService)
const char *
Menampilkan label instance layanan (label pertama di nama instance) layanan.
otSrpServerServiceGetInstanceName(const otSrpServerService *aService)
const char *
Menampilkan nama instance layanan lengkap dari layanan.
otSrpServerServiceGetLeaseInfo(const otSrpServerService *aService, otSrpServerLeaseInfo *aLeaseInfo)
void
Menampilkan informasi LEASE dan LEASE-LEASE dari layanan tertentu.
otSrpServerServiceGetNumberOfSubTypes(const otSrpServerService *aService)
uint16_t
Mendapatkan jumlah sub-jenis layanan.
otSrpServerServiceGetPort(const otSrpServerService *aService)
uint16_t
Menampilkan port instance layanan.
otSrpServerServiceGetPriority(const otSrpServerService *aService)
uint16_t
Menampilkan prioritas instance layanan.
otSrpServerServiceGetServiceName(const otSrpServerService *aService)
const char *
Menampilkan nama layanan lengkap dari layanan.
otSrpServerServiceGetSubTypeServiceNameAt(const otSrpServerService *aService, uint16_t aIndex)
const char *
Mendapatkan nama layanan subjenis (nama lengkap) layanan pada indeks tertentu.
otSrpServerServiceGetTtl(const otSrpServerService *aService)
uint32_t
Menampilkan TTL instance layanan.
otSrpServerServiceGetTxtData(const otSrpServerService *aService, uint16_t *aDataLength)
const uint8_t *
Menampilkan data data TXT instance layanan.
otSrpServerServiceGetWeight(const otSrpServerService *aService)
uint16_t
Menampilkan bobot instance layanan.
otSrpServerServiceHasSubTypeServiceName(const otSrpServerService *aService, const char *aSubTypeServiceName)
bool
Menunjukkan apakah layanan memiliki sub-jenis tertentu atau tidak.
otSrpServerServiceIsDeleted(const otSrpServerService *aService)
bool
Menunjukkan apakah layanan SRP telah dihapus atau belum.
otSrpServerServiceMatchesInstanceName(const otSrpServerService *aService, const char *aInstanceName)
bool
Menunjukkan apakah layanan ini cocok dengan nama instance layanan tertentu.
otSrpServerServiceMatchesServiceName(const otSrpServerService *aService, const char *aServiceName)
bool
Menunjukkan apakah layanan ini cocok dengan nama layanan tertentu.
otSrpServerSetAddressMode(otInstance *aInstance, otSrpServerAddressMode aMode)
Menetapkan mode alamat yang akan digunakan oleh server SRP.
otSrpServerSetAnycastModeSequenceNumber(otInstance *aInstance, uint8_t aSequenceNumber)
Menetapkan nomor urut yang digunakan dengan mode alamat anycast.
otSrpServerSetAutoEnableMode(otInstance *aInstance, bool aEnabled)
void
Mengaktifkan/menonaktifkan mode aktifkan otomatis di server SRP.
otSrpServerSetDomain(otInstance *aInstance, const char *aDomain)
Menetapkan domain di server SRP.
otSrpServerSetEnabled(otInstance *aInstance, bool aEnabled)
void
Mengaktifkan/menonaktifkan server SRP.
otSrpServerSetLeaseConfig(otInstance *aInstance, const otSrpServerLeaseConfig *aLeaseConfig)
Menetapkan konfigurasi LEASE dan KEY-LEASE server SRP.
otSrpServerSetServiceUpdateHandler(otInstance *aInstance, otSrpServerServiceUpdateHandler aServiceHandler, void *aContext)
void
Menetapkan pengendali update layanan SRP di server SRP.
otSrpServerSetTtlConfig(otInstance *aInstance, const otSrpServerTtlConfig *aTtlConfig)
Menetapkan konfigurasi TTL server SRP.

Struct

otSrpClientBuffersServiceEntry

Mewakili entri kumpulan layanan klien SRP.

otSrpClientHostInfo

Mewakili info host klien SRP.

otSrpClientService

Mewakili layanan klien SRP.

otSrpServerLeaseConfig

Mencakup konfigurasi LEASE dan KEY-LEASE server SRP.

otSrpServerLeaseInfo

Menyertakan informasi sewa server SRP dari host/layanan.

otSrpServerResponseCounters

Menyertakan statistik respons server SRP.

otSrpServerTtlConfig

Termasuk konfigurasi TTL server SRP.

Enumerasi

otSrpClientItemState

 otSrpClientItemState

Menentukan status item klien SRP (info layanan atau host).

Properti
OT_SRP_CLIENT_ITEM_STATE_ADDING

Item sedang ditambahkan/didaftarkan.

OT_SRP_CLIENT_ITEM_STATE_REFRESHING

Item sedang dimuat ulang.

OT_SRP_CLIENT_ITEM_STATE_REGISTERED

Item terdaftar di server.

OT_SRP_CLIENT_ITEM_STATE_REMOVED

Item dihapus.

OT_SRP_CLIENT_ITEM_STATE_REMOVING

Item sedang dihapus.

OT_SRP_CLIENT_ITEM_STATE_TO_ADD

Item yang akan ditambahkan/didaftarkan.

OT_SRP_CLIENT_ITEM_STATE_TO_REFRESH

Item akan diperbarui (daftar ulang untuk memperpanjang sewa).

OT_SRP_CLIENT_ITEM_STATE_TO_REMOVE

Item yang akan dihapus.

otSrpServerAddressMode

 otSrpServerAddressMode

Menyatakan mode alamat yang digunakan oleh server SRP.

Mode alamat menentukan cara alamat dan nomor port ditentukan oleh server SRP dan cara info ini dipublikasikan di Data Jaringan Thread.

Properti
OT_SRP_SERVER_ADDRESS_MODE_ANYCAST

Mode alamat anycast.

OT_SRP_SERVER_ADDRESS_MODE_UNICAST

Mode alamat unicast.

otSrpServerState

 otSrpServerState

Menyatakan status server SRP.

Properti
OT_SRP_SERVER_STATE_DISABLED

Server SRP dinonaktifkan.

OT_SRP_SERVER_STATE_RUNNING

Server SRP diaktifkan dan berjalan.

OT_SRP_SERVER_STATE_STOPPED

Server SRP diaktifkan tetapi dihentikan.

Typedef

otSrpClientAutoStartCallback

void(* otSrpClientAutoStartCallback)(const otSockAddr *aServerSockAddr, void *aContext)

Jenis pointer mendefinisikan callback yang digunakan oleh klien SRP untuk memberi tahu pengguna ketika dimulai atau dihentikan secara otomatis.

Ini hanya digunakan saat fitur mulai otomatis OPENTHREAD_CONFIG_SRP_CLIENT_AUTO_START_API_ENABLE diaktifkan.

Callback ini dipanggil saat mode mulai otomatis diaktifkan dan klien SRP dimulai atau dihentikan secara otomatis.

Detail
Parameter
[in] aServerSockAddr
Pointer non-NULL menunjukkan bahwa server SRP dimulai dan pointer akan memberikan alamat soket server yang dipilih. Pointer NULL menunjukkan bahwa SRP server dihentikan.
[in] aContext
Pointer ke konteks arbitrer (diberikan saat callback didaftarkan).

otSrpClientBuffersServiceEntry

struct otSrpClientBuffersServiceEntry otSrpClientBuffersServiceEntry

Mewakili entri kumpulan layanan klien SRP.

otSrpClientCallback

void(* otSrpClientCallback)(otError aError, const otSrpClientHostInfo *aHostInfo, const otSrpClientService *aServices, const otSrpClientService *aRemovedServices, void *aContext)

Jenis pointer menetapkan callback yang digunakan oleh klien SRP untuk memberi tahu pengguna tentang perubahan/peristiwa/error.

Callback ini dipanggil saat pendaftaran pembaruan berhasil (yaitu menambahkan/menghapus info host dan/atau beberapa layanan) dengan server SRP, atau jika terjadi kegagalan atau kesalahan (misalnya, server menolak permintaan pembaruan atau waktu klien habis saat menunggu respons, dll.).

Jika pendaftaran ulang update berhasil, parameter aError akan menjadi OT_ERROR_NONE dan info host serta daftar lengkap layanan diberikan sebagai parameter input ke callback. Perhatikan bahwa info dan layanan host masing-masing melacak statusnya sendiri dalam variabel anggota mState yang sesuai dari struktur data terkait (status yang menunjukkan apakah info/layanan host terdaftar atau dihapus atau masih ditambahkan/dihapus, dll.).

Daftar layanan yang dihapus diteruskan sebagai daftar tertaut aRemovedServices sendiri dalam callback. Perhatikan bahwa saat callback dipanggil, klien SRP (implementasi OpenThread) selesai dengan instance layanan yang telah dihapus yang tercantum dalam aRemovedServices dan tidak lagi melacak/menyimpannya (yaitu, jika dari callback kita memanggil otSrpClientGetServices(), layanan yang dihapus tidak akan ada dalam daftar yang ditampilkan). Memberikan daftar terpisah untuk layanan yang dihapus dalam callback akan membantu menunjukkan kepada pengguna item mana yang sekarang telah dihapus dan memungkinkan pengguna mengklaim kembali/menggunakan kembali instance tersebut.

Jika server menolak permintaan update SRP, kode respons DNS (RFC 2136) akan dipetakan ke error 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

Error berikut juga mungkin terjadi:

  • OT_ERROR_RESPONSE_TIMEOUT : Waktu habis saat menunggu respons dari server (klien akan terus mencoba lagi).
  • OT_ERROR_INVALID_ARGS : Struktur layanan yang disediakan tidak valid (mis., nama layanan buruk atau otDnsTxtEntry).
  • OT_ERROR_NO_BUFS : Buffering tidak memadai untuk menyiapkan atau mengirim pesan pembaruan.

Perhatikan bahwa jika terjadi kegagalan, klien melanjutkan operasi, yaitu mempersiapkan dan (ulang) mengirimkan pesan pembaruan SRP ke server, setelah beberapa interval tunggu. Interval tunggu percobaan ulang dimulai dari nilai minimum dan ditingkatkan dengan faktor pertumbuhan setiap kegagalan hingga nilai maksimum (lihat parameter konfigurasi OPENTHREAD_CONFIG_SRP_CLIENT_MIN_RETRY_WAIT_INTERVAL dan parameter terkait untuk detail selengkapnya).

Detail
Parameter
[in] aError
Error (lihat di atas).
[in] aHostInfo
Pointer untuk menghosting info.
[in] aServices
Kepala daftar tertaut yang berisi semua layanan (tidak termasuk yang dihapus). NULL jika daftar kosong.
[in] aRemovedServices
Kepala daftar tertaut yang berisi semua layanan yang dihapus. NULL jika daftar kosong.
[in] aContext
Pointer ke konteks arbitrer (diberikan saat callback didaftarkan).

otSrpClientHostInfo

struct otSrpClientHostInfo otSrpClientHostInfo

Mewakili info host klien SRP.

otSrpClientService

struct otSrpClientService otSrpClientService

Mewakili layanan klien SRP.

Nilai dalam struktur ini, termasuk buffering string untuk nama dan entri data TXT, HARUS dipertahankan dan tetap konstan setelah instance struktur ini diteruskan ke OpenThread dari otSrpClientAddService() atau otSrpClientRemoveService().

Kolom mState, mData, mNext hanya digunakan/dikelola oleh inti OT. Nilainya akan diabaikan jika instance otSrpClientService diteruskan di otSrpClientAddService() atau otSrpClientRemoveService() atau fungsi lainnya. Pemanggil tidak perlu menetapkan kolom ini.

Kolom mLease dan mKeyLease menentukan interval lease dan lease kunci yang diinginkan untuk layanan ini. Nilai nol menunjukkan bahwa interval tidak ditentukan, lalu lease default atau interval lease kunci dari otSrpClientGetLeaseInterval() dan otSrpClientGetKeyLeaseInterval() digunakan untuk layanan ini. Jika interval sewa kunci (baik ditetapkan secara eksplisit atau ditentukan dari bawaan) lebih pendek dari interval sewa untuk suatu layanan, klien SRP juga akan menggunakan kembali nilai interval sewa untuk interval sewa kunci. Misalnya, jika dalam layanan, mLease secara eksplisit ditetapkan ke 2 hari dan mKeyLease ditetapkan ke nol dan lease kunci default ditetapkan ke 1 hari, maka saat mendaftarkan layanan ini, lease kunci yang diminta untuk layanan ini juga ditetapkan ke 2 hari.

otSrpServerAddressMode

enum otSrpServerAddressMode otSrpServerAddressMode

Menyatakan mode alamat yang digunakan oleh server SRP.

Mode alamat menentukan cara alamat dan nomor port ditentukan oleh server SRP dan cara info ini dipublikasikan di Data Jaringan Thread.

otSrpServerHost

struct otSrpServerHost otSrpServerHost

Jenis buram ini mewakili host layanan SRP.

otSrpServerLeaseConfig

struct otSrpServerLeaseConfig otSrpServerLeaseConfig

Mencakup konfigurasi LEASE dan KEY-LEASE server SRP.

otSrpServerLeaseInfo

struct otSrpServerLeaseInfo otSrpServerLeaseInfo

Menyertakan informasi sewa server SRP dari host/layanan.

otSrpServerResponseCounters

struct otSrpServerResponseCounters otSrpServerResponseCounters

Menyertakan statistik respons server SRP.

otSrpServerService

struct otSrpServerService otSrpServerService

Jenis buram ini mewakili layanan SRP.

otSrpServerServiceUpdateHandler

void(* otSrpServerServiceUpdateHandler)(otSrpServerServiceUpdateId aId, const otSrpServerHost *aHost, uint32_t aTimeout, void *aContext)

Menangani update layanan SRP.

Dipanggil oleh server SRP untuk memberi tahu bahwa {i>host<i} SRP dan mungkin layanan SRP sedang diperbarui. Update SRP tidak boleh dilakukan hingga pengendali menampilkan hasil dengan memanggil otSrpServerHandleServiceUpdateResult atau waktu habis setelah aTimeout.

Observer layanan SRP harus selalu memanggil otSrpServerHandleServiceUpdateResult dengan kode error OT_ERROR_NONE segera setelah menerima peristiwa update.

Pengendali yang lebih umum dapat melakukan validasi pada host/layanan SRP dan menolak pembaruan SRP jika validasi gagal. Misalnya, Proxy Iklan harus mengiklankan (atau menghapus) host dan layanan pada link yang mendukung multicast dan menampilkan kode error tertentu jika terjadi kegagalan.

Detail
Parameter
[in] aId
ID transaksi pembaruan layanan. ID ini harus diteruskan kembali dengan otSrpServerHandleServiceUpdateResult.
[in] aHost
Pointer ke objek otSrpServerHost yang berisi update SRP. Pengendali harus memublikasikan/membatalkan publikasi host dan setiap layanan mengarah ke host ini dengan aturan di bawah ini:
  1. Jika tidak dihapus (ditunjukkan dengan otSrpServerHostIsDeleted), host harus dipublikasikan atau diupdate dengan mDNS. Jika tidak, host harus dibatalkan publikasinya (hapus AAAA RR).
  2. Untuk setiap layanan mengarah ke host ini, publikasi harus dibatalkan jika host ingin dibatalkan publikasinya. Jika tidak, pengendali harus memublikasikan atau mengupdate layanan saat tidak dihapus (ditunjukkan dengan otSrpServerServiceIsDeleted) dan membatalkan publikasinya saat dihapus.
[in] aTimeout
Waktu maksimum dalam milidetik bagi pengendali untuk memproses peristiwa layanan.
[in] aContext
Pointer ke konteks khusus aplikasi.
Lihat juga:
otSrpServerSetServiceUpdateHandler
otSrpServerHandleServiceUpdateResult

otSrpServerServiceUpdateId

uint32_t otSrpServerServiceUpdateId

ID transaksi pembaruan layanan SRP di Server SRP.

otSrpServerTtlConfig

struct otSrpServerTtlConfig otSrpServerTtlConfig

Termasuk konfigurasi TTL server SRP.

Fungsi

otSrpClientAddService

otError otSrpClientAddService(
  otInstance *aInstance,
  otSrpClientService *aService
)

Menambahkan layanan yang akan didaftarkan ke server.

Setelah panggilan ke fungsi ini berhasil, otSrpClientCallback akan dipanggil untuk melaporkan status penambahan/pendaftaran layanan dengan server SRP.

Instance otSrpClientService yang ditunjuk oleh aService HARUS tetap ada dan tetap tidak berubah setelah kembali dari fungsi ini (dengan OT_ERROR_NONE). OpenThread akan menyimpan pointer ke instance layanan.

Instance otSrpClientService tidak lagi dilacak oleh OpenThread dan hanya dapat diklaim kembali jika

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
[in] aService
Pointer ke instance otSrpClientService yang akan ditambahkan.
Nilai Pengembalian
OT_ERROR_NONE
Penambahan layanan berhasil dimulai. otSrpClientCallback akan dipanggil untuk melaporkan status.
OT_ERROR_ALREADY
Layanan dengan layanan dan nama instance yang sama sudah ada dalam daftar.
OT_ERROR_INVALID_ARGS
Struktur layanan tidak valid (misalnya, nama layanan buruk atau otDnsTxtEntry).

otSrpClientBuffersAllocateService

otSrpClientBuffersServiceEntry * otSrpClientBuffersAllocateService(
  otInstance *aInstance
)

Mengalokasikan entri layanan baru dari kumpulan.

Instance entri layanan yang ditampilkan akan diinisialisasi sebagai berikut:

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
Hasil
Pointer ke entri layanan yang baru dialokasikan atau NULL jika tidak ada lebih banyak entri yang tersedia dalam kumpulan.

otSrpClientBuffersFreeAllServices

void otSrpClientBuffersFreeAllServices(
  otInstance *aInstance
)

Membebaskan semua entri layanan yang dialokasikan sebelumnya.

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.

otSrpClientBuffersFreeService

void otSrpClientBuffersFreeService(
  otInstance *aInstance,
  otSrpClientBuffersServiceEntry *aService
)

Membebaskan entri layanan yang dialokasikan sebelumnya.

aService HARUS dialokasikan sebelumnya menggunakan otSrpClientBuffersAllocateService() dan belum dibebaskan. Jika tidak, perilaku fungsi ini tidak ditentukan.

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
[in] aService
Pointer ke entri layanan secara gratis (HARUS TIDAK NULL).

otSrpClientBuffersGetHostAddressesArray

otIp6Address * otSrpClientBuffersGetHostAddressesArray(
  otInstance *aInstance,
  uint8_t *aArrayLength
)

Mendapatkan array entri alamat IPv6 untuk digunakan sebagai daftar alamat host klien SRP.

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
[out] aArrayLength
Pointer ke variabel untuk mengembalikan panjang array, yaitu jumlah entri alamat IPv6 dalam array (HARUS TIDAK NULL).
Hasil
Pointer ke array entri otIp6Address (jumlah entri ditampilkan dalam aArrayLength).

otSrpClientBuffersGetHostNameString

char * otSrpClientBuffersGetHostNameString(
  otInstance *aInstance,
  uint16_t *aSize
)

Mendapatkan buffer string yang akan digunakan untuk nama host klien SRP.

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
[out] aSize
Pointer ke variabel untuk menampilkan ukuran (jumlah byte) buffering string (HARUS TIDAK NULL).
Hasil
Pointer ke buffer karakter yang akan digunakan untuk nama host klien SRP.

otSrpClientBuffersGetServiceEntryInstanceNameString

char * otSrpClientBuffersGetServiceEntryInstanceNameString(
  otSrpClientBuffersServiceEntry *aEntry,
  uint16_t *aSize
)

Mendapatkan buffering string untuk nama instance layanan dari entri layanan.

Detail
Parameter
[in] aEntry
Pointer ke entri layanan yang dialokasikan sebelumnya (HARUS TIDAK NULL).
[out] aSize
Pointer ke variabel untuk menampilkan ukuran (jumlah byte) buffer string (HARUS TIDAK NULL).
Hasil
Pointer ke buffering string.

otSrpClientBuffersGetServiceEntryServiceNameString

char * otSrpClientBuffersGetServiceEntryServiceNameString(
  otSrpClientBuffersServiceEntry *aEntry,
  uint16_t *aSize
)

Mendapatkan buffering string untuk nama layanan dari entri layanan.

Detail
Parameter
[in] aEntry
Pointer ke entri layanan yang dialokasikan sebelumnya (HARUS TIDAK NULL).
[out] aSize
Pointer ke variabel untuk menampilkan ukuran (jumlah byte) buffer string (HARUS TIDAK NULL).
Hasil
Pointer ke buffering string.

otSrpClientBuffersGetServiceEntryTxtBuffer

uint8_t * otSrpClientBuffersGetServiceEntryTxtBuffer(
  otSrpClientBuffersServiceEntry *aEntry,
  uint16_t *aSize
)

Mendapatkan buffer untuk data TXT dari entri layanan.

Detail
Parameter
[in] aEntry
Pointer ke entri layanan yang dialokasikan sebelumnya (HARUS TIDAK NULL).
[out] aSize
Pointer ke variabel untuk menampilkan ukuran (jumlah byte) buffer (TIDAK BOLEH NULL).
Hasil
Pointer ke buffer.

otSrpClientBuffersGetSubTypeLabelsArray

const char ** otSrpClientBuffersGetSubTypeLabelsArray(
  otSrpClientBuffersServiceEntry *aEntry,
  uint16_t *aArrayLength
)

Mendapatkan array untuk label subjenis layanan dari entri layanan.

Detail
Parameter
[in] aEntry
Pointer ke entri layanan yang dialokasikan sebelumnya (HARUS TIDAK NULL).
[out] aArrayLength
Pointer ke variabel untuk mengembalikan panjang array (HARUS TIDAK NULL).
Hasil
Pointer ke array.

otSrpClientClearHostAndServices

void otSrpClientClearHostAndServices(
  otInstance *aInstance
)

Menghapus semua info host dan semua layanan.

Tidak seperti otSrpClientRemoveHostAndServices() yang mengirim pesan update ke server untuk menghapus semua info, fungsi ini akan langsung menghapus semua info tanpa interaksi dengan server.

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.

otSrpClientClearService

otError otSrpClientClearService(
  otInstance *aInstance,
  otSrpClientService *aService
)

Menghapus layanan dan langsung menghapusnya dari daftar layanan klien.

Tidak seperti otSrpClientRemoveService() yang mengirim pesan update ke server untuk menghapus layanan, fungsi ini akan menghapus layanan dari daftar layanan klien tanpa interaksi apa pun dengan server. Jika berhasil melakukan panggilan ke fungsi ini, otSrpClientCallback TIDAK akan dipanggil dan entri aService dapat diklaim kembali dan digunakan kembali oleh pemanggil dengan segera.

Dapat digunakan bersama dengan panggilan berikutnya ke otSrpClientAddService() (berpotensi menggunakan kembali entri aService yang sama dengan layanan dan nama instance yang sama) untuk memperbarui beberapa parameter dalam layanan yang ada.

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
[in] aService
Pointer ke instance otSrpClientService yang akan dihapus.
Nilai Pengembalian
OT_ERROR_NONE
aService berhasil dihapus. Kunci tersebut dapat segera diklaim kembali dan digunakan kembali.
OT_ERROR_NOT_FOUND
Layanan tidak dapat ditemukan di dalam daftar.

otSrpClientDisableAutoStartMode

void otSrpClientDisableAutoStartMode(
  otInstance *aInstance
)

Menonaktifkan mode mulai otomatis.

Ini hanya tersedia jika fitur mulai otomatis OPENTHREAD_CONFIG_SRP_CLIENT_AUTO_START_API_ENABLE diaktifkan.

Menonaktifkan mode mulai otomatis tidak akan menghentikan klien jika sudah berjalan tetapi klien berhenti memantau Data Jaringan Thread untuk memverifikasi bahwa server SRP yang dipilih masih ada di dalamnya.

Perhatikan bahwa panggilan ke otSrpClientStop() juga akan menonaktifkan mode mulai otomatis.

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.

otSrpClientEnableAutoHostAddress

otError otSrpClientEnableAutoHostAddress(
  otInstance *aInstance
)

Mengaktifkan mode alamat host otomatis.

Ketika diaktifkan, alamat IPv6 host akan secara otomatis ditetapkan oleh klien SRP menggunakan semua alamat unicast yang diinginkan di Thread netif, tidak termasuk semua alamat link-local dan mesh-local. Jika tidak ada alamat yang diinginkan, alamat EID Lokal Mesh akan ditambahkan. Klien SRP akan otomatis mendaftar ulang saat/jika alamat di Thread netif diperbarui (alamat baru ditambahkan atau alamat yang ada dihapus atau ditandai sebagai tidak diinginkan).

Mode alamat host otomatis dapat diaktifkan sebelum memulai atau selama operasi klien SRP kecuali saat info host dihapus (klien sedang sibuk menangani permintaan penghapusan dari panggilan ke otSrpClientRemoveHostAndServices() dan info host masih dalam status STATE_TO_REMOVE atau STATE_REMOVING).

Setelah diaktifkan, mode alamat host otomatis dapat dinonaktifkan dengan panggilan ke otSrpClientSetHostAddresses() yang kemudian secara eksplisit menetapkan alamat host.

Detail
Nilai Pengembalian
OT_ERROR_NONE
Berhasil mengaktifkan mode alamat host otomatis.
OT_ERROR_INVALID_STATE
Host sedang dihapus sehingga tidak dapat mengaktifkan mode alamat host otomatis.

otSrpClientEnableAutoStartMode

void otSrpClientEnableAutoStartMode(
  otInstance *aInstance,
  otSrpClientAutoStartCallback aCallback,
  void *aContext
)

Mengaktifkan mode mulai otomatis.

Ini hanya tersedia jika fitur mulai otomatis OPENTHREAD_CONFIG_SRP_CLIENT_AUTO_START_API_ENABLE diaktifkan.

Opsi konfigurasi OPENTHREAD_CONFIG_SRP_CLIENT_AUTO_START_DEFAULT_MODE menentukan mode mulai otomatis default (baik diaktifkan atau dinonaktifkan pada awal stack OT).

Ketika mulai-otomatis diaktifkan, klien SRP akan memantau Data Jaringan Thread untuk menemukan server SRP dan memilih server yang disukai dan secara otomatis memulai dan menghentikan klien ketika server SRP terdeteksi.

Ada tiga kategori entri Data Jaringan yang menunjukkan adanya server SRP. Opsi tersebut disarankan dalam urutan berikut:

1) Lebih disukai entri unicast dengan alamat server disertakan dalam data layanan. Jika ada beberapa opsi, opsi dengan alamat IPv6 dengan angka terendah secara numerik akan lebih diutamakan.

2) Setiap entri {i>anycast<i} memiliki nomor urut. Nomor urut yang lebih besar dalam arti yang ditentukan oleh logika Aritmetika Nomor Seri dalam RFC-1982 dianggap lebih baru dan karenanya lebih direkomendasikan. Nomor urut terbesar yang menggunakan aritmetika nomor seri lebih disukai jika terdefinisi dengan baik (yaitu, nomor urut lebih besar dari semua nomor urut lainnya). Jika tidak didefinisikan dengan baik, maka lebih baik angka urutan terbesar secara numerik.

3) Entri unicast di mana info alamat server disertakan dalam data server. Jika ada beberapa opsi, opsi dengan alamat IPv6 dengan numerik terendah akan lebih disukai.

Ketika ada perubahan dalam entri Data Jaringan, klien akan memeriksa apakah server yang saat ini dipilih masih ada dalam Data Jaringan dan masih menjadi server pilihan. Jika tidak, klien akan beralih ke server pilihan baru atau berhenti jika tidak ada.

Jika klien SRP secara eksplisit dimulai melalui panggilan yang berhasil ke otSrpClientStart(), alamat server SRP yang diberikan di otSrpClientStart() akan terus digunakan, terlepas dari status mode mulai otomatis dan apakah alamat server SRP yang sama ditemukan atau tidak dalam Data Jaringan Thread. Dalam hal ini, hanya panggilan otSrpClientStop() eksplisit yang akan menghentikan klien.

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
[in] aCallback
Callback untuk memberi tahu saat klien dimulai/dihentikan secara otomatis. Dapat menjadi NULL jika tidak diperlukan.
[in] aContext
Konteks yang akan diteruskan saat memanggil aCallback.

otSrpClientGetDomainName

const char * otSrpClientGetDomainName(
  otInstance *aInstance
)

Mendapatkan nama domain yang sedang digunakan oleh klien SRP.

OPENTHREAD_CONFIG_SRP_CLIENT_DOMAIN_NAME_API_ENABLE harus diaktifkan.

Jika nama domain tidak ditetapkan, "default.service.arpa" akan digunakan.

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
Hasil
String nama domain.

otSrpClientGetHostInfo

const otSrpClientHostInfo * otSrpClientGetHostInfo(
  otInstance *aInstance
)

Mendapatkan info host.

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
Hasil
Pointer ke struktur info host.

otSrpClientGetKeyLeaseInterval

uint32_t otSrpClientGetKeyLeaseInterval(
  otInstance *aInstance
)

Mendapatkan interval lease kunci default yang digunakan dalam permintaan update SRP.

Interval default hanya digunakan untuk instance otSrpClientService dengan mKeyLease ditetapkan ke nol.

Perhatikan bahwa ini adalah durasi lease yang diminta oleh klien SRP. Server dapat memilih untuk menerima interval sewa yang berbeda.

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
Hasil
Interval sewa kunci (dalam detik).

otSrpClientGetLeaseInterval

uint32_t otSrpClientGetLeaseInterval(
  otInstance *aInstance
)

Mendapatkan interval lease default yang digunakan dalam permintaan update SRP.

Interval default hanya digunakan untuk instance otSrpClientService dengan mLease ditetapkan ke nol.

Perhatikan bahwa ini adalah durasi lease yang diminta oleh klien SRP. Server dapat memilih untuk menerima interval sewa yang berbeda.

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
Hasil
Interval sewa (dalam detik).

otSrpClientGetServerAddress

const otSockAddr * otSrpClientGetServerAddress(
  otInstance *aInstance
)

Mendapatkan alamat soket (alamat IPv6 dan nomor port) dari server SRP yang digunakan oleh klien SRP.

Jika klien tidak berjalan, alamat tidak akan ditentukan (semuanya nol) dengan nol nomor port.

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
Hasil
Sebuah pointer ke alamat soket server SRP (selalu non-NULL).

otSrpClientGetServices

const otSrpClientService * otSrpClientGetServices(
  otInstance *aInstance
)

Mendapatkan daftar layanan yang dikelola oleh klien.

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
Hasil
Pointer ke bagian atas daftar tertaut semua layanan atau NULL jika daftar tersebut kosong.

otSrpClientGetTtl

uint32_t otSrpClientGetTtl(
  otInstance *aInstance
)

Mendapatkan nilai TTL di setiap data yang disertakan dalam permintaan update SRP.

Perhatikan bahwa ini adalah TTL yang diminta oleh klien SRP. Server dapat memilih untuk menerima TTL yang berbeda.

Secara {i>default<i}, TTL adalah sama dengan interval lease. Meneruskan 0 atau nilai yang lebih besar dari interval lease melalui otSrpClientSetTtl() juga akan menyebabkan TTL sama dengan interval lease.

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
Hasil
TTL (dalam detik).

otSrpClientIsAutoStartModeEnabled

bool otSrpClientIsAutoStartModeEnabled(
  otInstance *aInstance
)

Menunjukkan status mode mulai otomatis saat ini (diaktifkan atau dinonaktifkan).

Ini hanya tersedia jika fitur mulai otomatis OPENTHREAD_CONFIG_SRP_CLIENT_AUTO_START_API_ENABLE diaktifkan.

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
Hasil
TRUE jika mode mulai otomatis diaktifkan, FALSE jika tidak.

otSrpClientIsRunning

bool otSrpClientIsRunning(
  otInstance *aInstance
)

Menunjukkan apakah klien SRP sedang berjalan atau tidak.

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
Hasil
TRUE jika klien SRP berjalan, FALSE jika sebaliknya.

otSrpClientIsServiceKeyRecordEnabled

bool otSrpClientIsServiceKeyRecordEnabled(
  otInstance *aInstance
)

Menunjukkan apakah mode "penyertaan data kunci layanan" diaktifkan atau dinonaktifkan.

Tersedia saat konfigurasi OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE diaktifkan.

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
Hasil
TRUE jika mode "penyertaan catatan kunci layanan" diaktifkan, FALSE jika tidak.

otSrpClientItemStateToString

const char * otSrpClientItemStateToString(
  otSrpClientItemState aItemState
)

Mengonversi otSrpClientItemState menjadi string.

Detail
Parameter
[in] aItemState
Status item.
Hasil
Representasi string dari aItemState.

otSrpClientRemoveHostAndServices

otError otSrpClientRemoveHostAndServices(
  otInstance *aInstance,
  bool aRemoveKeyLease,
  bool aSendUnregToServer
)

Memulai proses penghapusan info host dan semua layanan.

Setelah kembali dari fungsi ini, otSrpClientCallback akan dipanggil untuk melaporkan status permintaan penghapusan dengan server SRP.

Jika info host akan dihapus secara permanen dari server, aRemoveKeyLease harus ditetapkan ke true yang menghapus lease kunci yang terkait dengan host di server. Jika tidak, data lease kunci disimpan seperti sebelumnya, yang memastikan bahwa server menyimpan nama host sebagai cadangan saat klien sekali lagi dapat menyediakan dan mendaftarkan layanannya.

aSendUnregToServer menentukan perilaku jika info host belum terdaftar dengan server. Jika aSendUnregToServer disetel ke false (yang merupakan nilai default/yang diharapkan) maka klien SRP akan segera menghapus info dan layanan host tanpa mengirim pesan pembaruan ke server (tidak perlu memperbarui server jika belum ada yang terdaftar). Jika aSendUnregToServer disetel ke true, klien SRP akan mengirim pesan update ke server. Perhatikan bahwa jika info host terdaftar, nilai aSendUnregToServer tidak akan berpengaruh dan klien SRP akan selalu mengirimkan pesan update ke server yang meminta penghapusan semua info.

Salah satu situasi saat aSendUnregToServer dapat berguna adalah saat perangkat direset/mulai ulang, pemanggil mungkin ingin menghapus layanan apa pun yang sebelumnya terdaftar dengan server. Dalam hal ini, pemanggil dapat otSrpClientSetHostName() lalu meminta otSrpClientRemoveHostAndServices() dengan aSendUnregToServer sebagai true.

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
[in] aRemoveKeyLease
Boolean yang menunjukkan apakah lease kunci host juga harus dihapus atau tidak.
[in] aSendUnregToServer
Boolean yang menunjukkan apakah akan mengirim update ke server saat info host tidak terdaftar.
Nilai Pengembalian
OT_ERROR_NONE
Penghapusan info dan layanan host berhasil dimulai. otSrpClientCallback akan dipanggil untuk melaporkan status.
OT_ERROR_ALREADY
Info host telah dihapus.

otSrpClientRemoveService

otError otSrpClientRemoveService(
  otInstance *aInstance,
  otSrpClientService *aService
)

Meminta pendaftaran layanan untuk dibatalkan dengan server.

Setelah panggilan ke fungsi ini berhasil, otSrpClientCallback akan dipanggil untuk melaporkan status permintaan penghapusan dengan server SRP.

Instance otSrpClientService yang ditunjuk oleh aService HARUS bertahan dan tetap tidak berubah setelah kembali dari fungsi ini (dengan OT_ERROR_NONE). OpenThread akan mempertahankan instance layanan selama proses penghapusan. Hanya setelah otSrpClientCallback dipanggil, yang menunjukkan bahwa instance layanan dihapus dari daftar layanan klien SRP dan dapat dibebaskan/digunakan kembali.

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
[in] aService
Pointer ke instance otSrpClientService yang akan dihapus.
Nilai Pengembalian
OT_ERROR_NONE
Penghapusan layanan berhasil dimulai. otSrpClientCallback akan dipanggil untuk melaporkan status.
OT_ERROR_NOT_FOUND
Layanan tidak dapat ditemukan di dalam daftar.

otSrpClientSetCallback

void otSrpClientSetCallback(
  otInstance *aInstance,
  otSrpClientCallback aCallback,
  void *aContext
)

Menetapkan callback untuk memberi tahu pemanggil tentang peristiwa/perubahan dari klien SRP.

Klien SRP mengizinkan callback tunggal didaftarkan. Jadi, panggilan berturut-turut ke fungsi ini akan menimpa fungsi callback yang ditetapkan sebelumnya.

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
[in] aCallback
Callback untuk memberi tahu peristiwa dan perubahan. Dapat menjadi NULL jika tidak diperlukan.
[in] aContext
Konteks arbitrer yang digunakan dengan aCallback.

otSrpClientSetDomainName

otError otSrpClientSetDomainName(
  otInstance *aInstance,
  const char *aName
)

Menetapkan nama domain yang akan digunakan oleh klien SRP.

OPENTHREAD_CONFIG_SRP_CLIENT_DOMAIN_NAME_API_ENABLE harus diaktifkan.

Jika tidak disetel, "default.service.arpa" akan digunakan.

Buffer string nama yang ditunjuk oleh aName HARUS tetap ada dan tidak berubah setelah kembali dari fungsi ini. OpenThread akan menyimpan pointer ke string.

Nama domain dapat ditetapkan sebelum klien dimulai atau setelah dimulai, tetapi sebelum info host didaftarkan dengan server (info host harus dalam STATE_TO_ADD atau STATE_TO_REMOVE).

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
[in] aName
Pointer ke string nama domain. Jika NULL menyetelnya ke default "default.service.arpa".
Nilai Pengembalian
OT_ERROR_NONE
Label nama domain berhasil ditetapkan.
OT_ERROR_INVALID_STATE
Info host sudah terdaftar di server.

otSrpClientSetHostAddresses

otError otSrpClientSetHostAddresses(
  otInstance *aInstance,
  const otIp6Address *aIp6Addresses,
  uint8_t aNumAddresses
)

Menetapkan/memperbarui daftar alamat IPv6 host.

Alamat IPv6 host dapat ditetapkan/diubah sebelum memulai atau selama pengoperasian klien SRP (misalnya untuk menambahkan/menghapus atau mengubah alamat host yang telah terdaftar sebelumnya), kecuali saat info host sedang dihapus (klien sibuk menangani permintaan penghapusan dari panggilan sebelumnya ke otSrpClientRemoveHostAndServices() dan info host masih dalam status STATE_TO_REMOVE atau STATE_REMOVING).

Array alamat IPv6 host yang ditunjuk oleh aIp6Addresses HARUS tetap ada dan tidak berubah setelah kembali dari fungsi ini (dengan OT_ERROR_NONE). OpenThread akan menyimpan pointer ke array.

Setelah panggilan ke fungsi ini berhasil, otSrpClientCallback akan dipanggil untuk melaporkan status pendaftaran alamat dengan server SRP.

Pemanggilan fungsi ini akan menonaktifkan mode alamat host otomatis jika sebelumnya diaktifkan dari panggilan yang berhasil ke otSrpClientEnableAutoHostAddress().

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
[in] aIp6Addresses
Pointer ke array yang berisi alamat IPv6 host.
[in] aNumAddresses
Jumlah alamat dalam array aIp6Addresses.
Nilai Pengembalian
OT_ERROR_NONE
Perubahan daftar alamat IPv6 host berhasil dimulai. otSrpClientCallback akan dipanggil untuk melaporkan status pendaftaran alamat dengan server.
OT_ERROR_INVALID_ARGS
Daftar alamat tidak valid (misalnya, harus berisi setidaknya satu alamat).
OT_ERROR_INVALID_STATE
Host sedang dihapus sehingga tidak dapat mengubah alamat host.

otSrpClientSetHostName

otError otSrpClientSetHostName(
  otInstance *aInstance,
  const char *aName
)

Menetapkan label nama host.

Setelah panggilan ke fungsi ini berhasil, otSrpClientCallback akan dipanggil untuk melaporkan status pendaftaran info host dengan server SRP.

Buffer string nama yang ditunjuk oleh aName HARUS tetap ada dan tidak berubah setelah kembali dari fungsi ini. OpenThread akan menyimpan pointer ke string.

Nama host dapat ditetapkan sebelum klien dimulai atau setelah dimulai, tetapi sebelum info host didaftarkan dengan server (info host harus dalam STATE_TO_ADD atau STATE_REMOVED).

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
[in] aName
Pointer ke string label nama host (HARUS TIDAK NULL). Pointer ke buffer string HARUS dipertahankan serta tetap valid dan konstan setelah ditampilkan dari fungsi ini.
Nilai Pengembalian
OT_ERROR_NONE
Label nama host berhasil ditetapkan.
OT_ERROR_INVALID_ARGS
aName adalah NULL.
OT_ERROR_INVALID_STATE
Nama host sudah disetel dan terdaftar di server.

otSrpClientSetKeyLeaseInterval

void otSrpClientSetKeyLeaseInterval(
  otInstance *aInstance,
  uint32_t aInterval
)

Menetapkan interval lease kunci default yang digunakan dalam permintaan update SRP.

Interval default hanya digunakan untuk instance otSrpClientService dengan mKeyLease ditetapkan ke nol.

Mengubah interval lease tidak memengaruhi interval lease yang diterima dari layanan/info host yang sudah terdaftar. Hal ini hanya memengaruhi pesan update SRP di masa mendatang (yaitu menambahkan layanan baru dan/atau memuat ulang layanan yang ada).

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
[in] aInterval
Interval sewa kunci (dalam detik). Jika nol, nilai default yang ditentukan oleh OPENTHREAD_CONFIG_SRP_CLIENT_DEFAULT_KEY_LEASE akan digunakan.

otSrpClientSetLeaseInterval

void otSrpClientSetLeaseInterval(
  otInstance *aInstance,
  uint32_t aInterval
)

Menetapkan interval lease default yang digunakan dalam permintaan update SRP.

Interval default hanya digunakan untuk instance otSrpClientService dengan mLease ditetapkan ke nol.

Mengubah interval lease tidak memengaruhi interval lease yang diterima dari layanan/info host yang sudah terdaftar. Hal ini hanya memengaruhi pesan update SRP di masa mendatang (yaitu menambahkan layanan baru dan/atau memuat ulang layanan yang ada).

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
[in] aInterval
Interval sewa (dalam detik). Jika nol, nilai default yang ditentukan oleh OPENTHREAD_CONFIG_SRP_CLIENT_DEFAULT_LEASE akan digunakan.

otSrpClientSetServiceKeyRecordEnabled

void otSrpClientSetServiceKeyRecordEnabled(
  otInstance *aInstance,
  bool aEnabled
)

Mengaktifkan/menonaktifkan mode "penyertaan catatan kunci layanan".

Saat diaktifkan, klien SRP akan menyertakan data KEY dalam Petunjuk Deskripsi Layanan dalam pesan update SRP yang dikirimkan.

Tersedia saat konfigurasi OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE diaktifkan.

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
[in] aEnabled
TRUE untuk mengaktifkan, FALSE untuk menonaktifkan mode "penyertaan catatan kunci layanan".

otSrpClientSetTtl

void otSrpClientSetTtl(
  otInstance *aInstance,
  uint32_t aTtl
)

Menetapkan nilai TTL di setiap data yang disertakan dalam permintaan update SRP.

Mengubah TTL tidak memengaruhi TTL layanan/info host yang sudah terdaftar. Perubahan ini hanya memengaruhi pesan update SRP di masa mendatang (yaitu menambahkan layanan baru dan/atau memuat ulang layanan yang ada).

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
[in] aTtl
TTL (dalam detik). Jika nilainya nol atau lebih besar dari interval lease, TTL ditetapkan ke interval lease.

otSrpClientStart

otError otSrpClientStart(
  otInstance *aInstance,
  const otSockAddr *aServerSockAddr
)

Memulai operasi klien SRP.

Klien SRP akan mempersiapkan dan mengirim pesan "SRP Update" ke server SRP setelah semua kondisi berikut terpenuhi:

Tidak masalah dalam urutan mana fungsi ini dipanggil. Ketika semua kondisi terpenuhi, klien SRP akan menunggu penundaan singkat sebelum menyiapkan pesan "SRP Update" dan mengirimkannya ke server. Penundaan ini memungkinkan pengguna untuk menambahkan beberapa layanan dan/atau alamat IPv6 sebelum pesan Pembaruan SRP pertama dikirim (memastikan satu Pembaruan SRP dikirimkan yang berisi semua info). Konfigurasi OPENTHREAD_CONFIG_SRP_CLIENT_UPDATE_TX_DELAY menentukan interval penundaan.

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
[in] aServerSockAddr
Alamat soket (alamat IPv6 dan nomor port) server SRP.
Nilai Pengembalian
OT_ERROR_NONE
Operasi klien SRP berhasil dimulai atau sudah berjalan dengan alamat soket server dan callback yang sama.
OT_ERROR_BUSY
Klien SRP sibuk menjalankan dengan alamat soket yang berbeda.
OT_ERROR_FAILED
Gagal membuka/menghubungkan soket UDP klien.

otSrpClientStop

void otSrpClientStop(
  otInstance *aInstance
)

Menghentikan operasi klien SRP.

Menghentikan interaksi lebih lanjut dengan server SRP. Perhatikan bahwa tindakan ini tidak menghapus atau menghapus info host dan/atau daftar layanan. Menandai semua layanan untuk ditambahkan/dihapus lagi setelah klien dimulai (kembali).

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.

otSrpServerGetAddressMode

otSrpServerAddressMode otSrpServerGetAddressMode(
  otInstance *aInstance
)

Menampilkan mode alamat yang digunakan oleh server SRP.

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
Hasil
Mode alamat server SRP.

otSrpServerGetAnycastModeSequenceNumber

uint8_t otSrpServerGetAnycastModeSequenceNumber(
  otInstance *aInstance
)

Menampilkan nomor urut yang digunakan dengan mode alamat anycast.

Nomor urut disertakan dalam entri "Alamat Anycast Layanan DNS/SRP" yang diterbitkan di Data Jaringan.

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
Hasil
Nomor urut anycast.

otSrpServerGetDomain

const char * otSrpServerGetDomain(
  otInstance *aInstance
)

Menampilkan domain yang diotorisasi ke server SRP.

Jika domain tidak disetel oleh SetDomain, "default.service.arpa." akan ditampilkan. Titik akhir selalu ditambahkan meskipun domain disetel tanpa tanda titik.

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
Hasil
Pointer ke string domain yang bergabung dengan titik.

otSrpServerGetLeaseConfig

void otSrpServerGetLeaseConfig(
  otInstance *aInstance,
  otSrpServerLeaseConfig *aLeaseConfig
)

Menampilkan konfigurasi LEASE dan KEY-LEASE server SRP.

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
[out] aLeaseConfig
Pointer ke instance otSrpServerLeaseConfig.

otSrpServerGetNextHost

const otSrpServerHost * otSrpServerGetNextHost(
  otInstance *aInstance,
  const otSrpServerHost *aHost
)

Menampilkan host terdaftar berikutnya di server SRP.

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
[in] aHost
Pointer ke host saat ini; gunakan NULL untuk mendapatkan host pertama.
Hasil
Pointer ke host terdaftar. NULL, jika tidak ada lagi {i>host<i} yang dapat ditemukan.

otSrpServerGetPort

uint16_t otSrpServerGetPort(
  otInstance *aInstance
)

Menampilkan port yang didengarkan server SRP.

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
Hasil
Porta server SRP. Ia mengembalikan 0 jika server tidak berjalan.

otSrpServerGetResponseCounters

const otSrpServerResponseCounters * otSrpServerGetResponseCounters(
  otInstance *aInstance
)

Menampilkan penghitung respons server SRP.

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
Hasil
Pointer ke penghitung respons server SRP.

otSrpServerGetState

otSrpServerState otSrpServerGetState(
  otInstance *aInstance
)

Menampilkan status server SRP.

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
Hasil
Status server SRP saat ini.

otSrpServerGetTtlConfig

void otSrpServerGetTtlConfig(
  otInstance *aInstance,
  otSrpServerTtlConfig *aTtlConfig
)

Menampilkan konfigurasi TTL server SRP.

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
[out] aTtlConfig
Pointer ke instance otSrpServerTtlConfig.

otSrpServerHandleServiceUpdateResult

void otSrpServerHandleServiceUpdateResult(
  otInstance *aInstance,
  otSrpServerServiceUpdateId aId,
  otError aError
)

Melaporkan hasil pemrosesan pembaruan SRP ke server SRP.

Pengendali Pembaruan Layanan harus memanggil fungsi ini untuk menampilkan hasil pemrosesan pembaruan SRP.

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
[in] aId
ID transaksi pembaruan layanan. ID ini harus sama dengan yang diberikan melalui otSrpServerServiceUpdateHandler.
[in] aError
Kesalahan yang akan dikembalikan ke server SRP. Gunakan OT_ERROR_DUPLICATED untuk mewakili konflik nama DNS.

otSrpServerHostGetAddresses

const otIp6Address * otSrpServerHostGetAddresses(
  const otSrpServerHost *aHost,
  uint8_t *aAddressesNum
)

Menampilkan alamat host yang diberikan.

Detail
Parameter
[in] aHost
Pointer ke host layanan SRP.
[out] aAddressesNum
Pointer ke tempat kita harus menghasilkan jumlah alamat.
Hasil
Sebuah pointer ke {i>array<i} Alamat IPv6.

otSrpServerHostGetFullName

const char * otSrpServerHostGetFullName(
  const otSrpServerHost *aHost
)

Menampilkan nama lengkap host.

Detail
Parameter
[in] aHost
Pointer ke host layanan SRP.
Hasil
Pointer ke string nama host yang dihentikan null.

otSrpServerHostGetLeaseInfo

void otSrpServerHostGetLeaseInfo(
  const otSrpServerHost *aHost,
  otSrpServerLeaseInfo *aLeaseInfo
)

Menampilkan informasi LEASE dan LEASE-LEASE dari host tertentu.

Detail
Parameter
[in] aHost
Pointer ke host server SRP.
[out] aLeaseInfo
Pointer ke tempat untuk menghasilkan informasi LEASE dan KEY-LEASE.

otSrpServerHostGetNextService

const otSrpServerService * otSrpServerHostGetNextService(
  const otSrpServerHost *aHost,
  const otSrpServerService *aService
)

Menampilkan layanan berikutnya dari host yang diberikan.

Detail
Parameter
[in] aHost
Pointer ke host layanan SRP.
[in] aService
Pointer ke instance layanan SRP saat ini; gunakan NULL untuk mendapatkan layanan pertama.
Hasil
Pointer ke layanan berikutnya atau NULL jika tidak ada layanan lagi.

otSrpServerHostIsDeleted

bool otSrpServerHostIsDeleted(
  const otSrpServerHost *aHost
)

Memberi tahu apakah host layanan SRP telah dihapus.

Host layanan SRP dapat dihapus tetapi tetap mempertahankan namanya untuk penggunaan berikutnya. Dalam hal ini, instance host tidak dihapus dari server/registry SRP.

Detail
Parameter
[in] aHost
Pointer ke host layanan SRP.
Hasil
TRUE jika {i>host<i} telah dihapus, FALSE jika belum.

otSrpServerHostMatchesFullName

bool otSrpServerHostMatchesFullName(
  const otSrpServerHost *aHost,
  const char *aFullName
)

Menunjukkan apakah host cocok dengan nama host tertentu.

Kecocokan nama DNS dilakukan menggunakan perbandingan string yang tidak peka huruf besar/kecil (yaitu, "Abc" dan "aBc" dianggap sama).

Detail
Parameter
[in] aHost
Pointer ke host layanan SRP.
[in] aFullName
Nama host lengkap.
Nilai Pengembalian
TRUE
Jika host cocok dengan nama host.
FALSE
Jika host tidak cocok dengan nama host.

otSrpServerIsAutoEnableMode

bool otSrpServerIsAutoEnableMode(
  otInstance *aInstance
)

Menunjukkan apakah mode aktifkan otomatis diaktifkan atau dinonaktifkan.

Memerlukan fitur OPENTHREAD_CONFIG_BORDER_ROUTING_ENABLE.

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
Nilai Pengembalian
TRUE
Mode aktifkan otomatis diaktifkan.
FALSE
Mode aktifkan otomatis dinonaktifkan.

otSrpServerParseSubTypeServiceName

otError otSrpServerParseSubTypeServiceName(
  const char *aSubTypeServiceName,
  char *aLabel,
  uint8_t aLabelSize
)

Mengurai nama layanan subjenis (nama lengkap) dan mengekstrak label subjenis.

Nama layanan lengkap untuk layanan subjenis setelah "._sub...".

Detail
Parameter
[in] aSubTypeServiceName
Nama layanan subjenis (nama lengkap).
[out] aLabel
Pointer ke buffer untuk menyalin label subjenis yang diekstrak.
[in] aLabelSize
Ukuran maksimum buffering aLabel.
Nilai Pengembalian
OT_ERROR_NONE
Nama berhasil diuraikan dan aLabel telah diperbarui.
OT_ERROR_NO_BUFS
Label subjenis tidak boleh muat dalam buffering aLabel (jumlah karakter dari label yang dapat sesuai disalin dalam aLabel memastikannya dihentikan null).
OT_ERROR_INVALID_ARGS
aSubTypeServiceName bukan format subjenis yang valid.

otSrpServerServiceGetHost

const otSrpServerHost * otSrpServerServiceGetHost(
  const otSrpServerService *aService
)

Menampilkan host tempat instance layanan berada.

Detail
Parameter
[in] aService
Pointer ke layanan SRP.
Hasil
Pointer ke instance host.

otSrpServerServiceGetInstanceLabel

const char * otSrpServerServiceGetInstanceLabel(
  const otSrpServerService *aService
)

Menampilkan label instance layanan (label pertama di nama instance) layanan.

Detail
Parameter
[in] aService
Pointer ke layanan SRP.
Hasil
Pointer ke string label instance layanan yang dihentikan null.

otSrpServerServiceGetInstanceName

const char * otSrpServerServiceGetInstanceName(
  const otSrpServerService *aService
)

Menampilkan nama instance layanan lengkap dari layanan.

Detail
Parameter
[in] aService
Pointer ke layanan SRP.
Hasil
Pointer ke string nama instance layanan yang dihentikan null.

otSrpServerServiceGetLeaseInfo

void otSrpServerServiceGetLeaseInfo(
  const otSrpServerService *aService,
  otSrpServerLeaseInfo *aLeaseInfo
)

Menampilkan informasi LEASE dan LEASE-LEASE dari layanan tertentu.

Detail
Parameter
[in] aService
Pointer ke layanan server SRP.
[out] aLeaseInfo
Pointer ke tempat untuk menghasilkan informasi LEASE dan KEY-LEASE.

otSrpServerServiceGetNumberOfSubTypes

uint16_t otSrpServerServiceGetNumberOfSubTypes(
  const otSrpServerService *aService
)

Mendapatkan jumlah sub-jenis layanan.

Detail
Parameter
[in] aService
Pointer ke layanan SRP.
Hasil
Jumlah sub-jenis aService.

otSrpServerServiceGetPort

uint16_t otSrpServerServiceGetPort(
  const otSrpServerService *aService
)

Menampilkan port instance layanan.

Detail
Parameter
[in] aService
Pointer ke layanan SRP.
Hasil
Port layanan.

otSrpServerServiceGetPriority

uint16_t otSrpServerServiceGetPriority(
  const otSrpServerService *aService
)

Menampilkan prioritas instance layanan.

Detail
Parameter
[in] aService
Pointer ke layanan SRP.
Hasil
Prioritas layanan.

otSrpServerServiceGetServiceName

const char * otSrpServerServiceGetServiceName(
  const otSrpServerService *aService
)

Menampilkan nama layanan lengkap dari layanan.

Detail
Parameter
[in] aService
Pointer ke layanan SRP.
Hasil
Pointer ke string nama layanan yang dihentikan null.

otSrpServerServiceGetSubTypeServiceNameAt

const char * otSrpServerServiceGetSubTypeServiceNameAt(
  const otSrpServerService *aService,
  uint16_t aIndex
)

Mendapatkan nama layanan subjenis (nama lengkap) layanan pada indeks tertentu.

Nama layanan lengkap untuk layanan subjenis setelah "._sub...".

Detail
Parameter
[in] aService
Pointer ke layanan SRP.
[in] aIndex
Indeks yang akan didapatkan.
Hasil
Pointer ke subjenis nama layanan di aIndex, atau NULL jika tidak ada subjenis pada indeks ini.

otSrpServerServiceGetTtl

uint32_t otSrpServerServiceGetTtl(
  const otSrpServerService *aService
)

Menampilkan TTL instance layanan.

Detail
Parameter
[in] aService
Pointer ke layanan SRP.
Hasil
TTL instance layanan.

otSrpServerServiceGetTxtData

const uint8_t * otSrpServerServiceGetTxtData(
  const otSrpServerService *aService,
  uint16_t *aDataLength
)

Menampilkan data data TXT instance layanan.

Detail
Parameter
[in] aService
Pointer ke layanan SRP.
[out] aDataLength
Pointer untuk menampilkan panjang data data TXT. TIDAK BOLEH NULL.
Hasil
Pointer ke buffering yang berisi data data TXT (panjang data TXT ditampilkan di aDataLength).

otSrpServerServiceGetWeight

uint16_t otSrpServerServiceGetWeight(
  const otSrpServerService *aService
)

Menampilkan bobot instance layanan.

Detail
Parameter
[in] aService
Pointer ke layanan SRP.
Hasil
Bobot layanan.

otSrpServerServiceHasSubTypeServiceName

bool otSrpServerServiceHasSubTypeServiceName(
  const otSrpServerService *aService,
  const char *aSubTypeServiceName
)

Menunjukkan apakah layanan memiliki sub-jenis tertentu atau tidak.

Kecocokan nama DNS dilakukan menggunakan perbandingan string yang tidak peka huruf besar/kecil (yaitu, "Abc" dan "aBc" dianggap sama).

Detail
Parameter
[in] aService
Pointer ke layanan SRP.
[in] aSubTypeServiceName
Nama layanan subjenis (nama lengkap) yang akan diperiksa.
Nilai Pengembalian
TRUE
Layanan berisi subjenis aSubTypeServiceName.
FALSE
Layanan tidak berisi subjenis aSubTypeServiceName.

otSrpServerServiceIsDeleted

bool otSrpServerServiceIsDeleted(
  const otSrpServerService *aService
)

Menunjukkan apakah layanan SRP telah dihapus atau belum.

Layanan SRP dapat dihapus tetapi tetap mempertahankan namanya untuk penggunaan berikutnya. Dalam hal ini, instance layanan tidak dihapus dari server/registry SRP. Semua layanan dijamin akan dihapus jika host dihapus.

Detail
Parameter
[in] aService
Pointer ke layanan SRP.
Hasil
TRUE jika layanan telah dihapus, FALSE jika belum.

otSrpServerServiceMatchesInstanceName

bool otSrpServerServiceMatchesInstanceName(
  const otSrpServerService *aService,
  const char *aInstanceName
)

Menunjukkan apakah layanan ini cocok dengan nama instance layanan tertentu.

Kecocokan nama DNS dilakukan menggunakan perbandingan string yang tidak peka huruf besar/kecil (yaitu, "Abc" dan "aBc" dianggap sama).

Detail
Parameter
[in] aService
Pointer ke layanan SRP.
[in] aInstanceName
Nama instance layanan.
Nilai Pengembalian
TRUE
Apakah layanan cocok dengan nama instance layanan.
FALSE
Jika layanan tidak cocok dengan nama instance layanan.

otSrpServerServiceMatchesServiceName

bool otSrpServerServiceMatchesServiceName(
  const otSrpServerService *aService,
  const char *aServiceName
)

Menunjukkan apakah layanan ini cocok dengan nama layanan tertentu.

Kecocokan nama DNS dilakukan menggunakan perbandingan string yang tidak peka huruf besar/kecil (yaitu, "Abc" dan "aBc" dianggap sama).

Detail
Parameter
[in] aService
Pointer ke layanan SRP.
[in] aServiceName
Nama layanan.
Nilai Pengembalian
TRUE
Jika layanan cocok dengan nama layanan.
FALSE
Jika layanan tidak cocok dengan nama layanan.

otSrpServerSetAddressMode

otError otSrpServerSetAddressMode(
  otInstance *aInstance,
  otSrpServerAddressMode aMode
)

Menetapkan mode alamat yang akan digunakan oleh server SRP.

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
[in] aMode
Mode alamat yang akan digunakan.
Nilai Pengembalian
OT_ERROR_NONE
Berhasil menyetel mode alamat.
OT_ERROR_INVALID_STATE
Server SRP diaktifkan dan mode alamat tidak dapat diubah.

otSrpServerSetAnycastModeSequenceNumber

otError otSrpServerSetAnycastModeSequenceNumber(
  otInstance *aInstance,
  uint8_t aSequenceNumber
)

Menetapkan nomor urut yang digunakan dengan mode alamat anycast.

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
[in] aSequenceNumber
Nomor urut yang akan digunakan.
Nilai Pengembalian
OT_ERROR_NONE
Berhasil menyetel mode alamat.
OT_ERROR_INVALID_STATE
Server SRP diaktifkan dan nomor urut tidak dapat diubah.

otSrpServerSetAutoEnableMode

void otSrpServerSetAutoEnableMode(
  otInstance *aInstance,
  bool aEnabled
)

Mengaktifkan/menonaktifkan mode aktifkan otomatis di server SRP.

Memerlukan fitur OPENTHREAD_CONFIG_BORDER_ROUTING_ENABLE.

Saat mode ini diaktifkan, Border Routing Manager mengontrol apakah/kapan harus mengaktifkan atau menonaktifkan server SRP. Server SRP diaktifkan secara otomatis jika/saat Border Routing dimulai dan dilakukan dengan konfigurasi rute dan awalan awal (saat OMR dan awalan on-link ditentukan, diiklankan dalam pesan Iklan Router yang ditampilkan di sisi infrastruktur dan dipublikasikan di Data Jaringan Thread). Server SRP dinonaktifkan secara otomatis jika/saat BR dihentikan (misalnya, jika antarmuka jaringan infrastruktur dinonaktifkan atau jika BR terlepas).

Mode ini dapat dinonaktifkan oleh panggilan otSrpServerSetAutoEnableMode() dengan aEnabled yang disetel ke false atau jika server SRP diaktifkan atau dinonaktifkan secara eksplisit oleh panggilan ke fungsi otSrpServerSetEnabled(). Menonaktifkan mode aktifkan otomatis menggunakan otSrpServerSetAutoEnableMode(false) tidak akan mengubah status SRP saat ini (misalnya, jika diaktifkan, maka tetap aktif).

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
[in] aEnabled
Boolean untuk mengaktifkan/menonaktifkan mode aktifkan otomatis.

otSrpServerSetDomain

otError otSrpServerSetDomain(
  otInstance *aInstance,
  const char *aDomain
)

Menetapkan domain di server SRP.

Titik akhir akan ditambahkan ke aDomain jika belum ada. Hanya boleh dipanggil sebelum server SRP diaktifkan.

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
[in] aDomain
Domain yang akan ditetapkan. TIDAK BOLEH NULL.
Nilai Pengembalian
OT_ERROR_NONE
Berhasil menyetel domain ke aDomain.
OT_ERROR_INVALID_STATE
Server SRP telah diaktifkan dan Domain tidak dapat diubah.
OT_ERROR_INVALID_ARGS
Argumen aDomain bukan nama domain DNS yang valid.
OT_ERROR_NO_BUFS
Tidak ada memori untuk menyimpan konten aDomain.

otSrpServerSetEnabled

void otSrpServerSetEnabled(
  otInstance *aInstance,
  bool aEnabled
)

Mengaktifkan/menonaktifkan server SRP.

Di Router Pembatas, sebaiknya gunakan otSrpServerSetAutoEnableMode().

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
[in] aEnabled
Boolean untuk mengaktifkan/menonaktifkan server SRP.

otSrpServerSetLeaseConfig

otError otSrpServerSetLeaseConfig(
  otInstance *aInstance,
  const otSrpServerLeaseConfig *aLeaseConfig
)

Menetapkan konfigurasi LEASE dan KEY-LEASE server SRP.

Jika waktu LEASE bukan nol diminta dari klien, nilai yang diberikan akan dibatasi dalam rentang [aMinLease, aMaxLease]; dan KEY-LEASE bukan nol akan diberikan dalam rentang [aMinKeyLease, aMaxKeyLease]. Untuk waktu LEASE atau KEY-LEASE nol, nol akan diberikan.

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
[in] aLeaseConfig
Pointer ke instance otSrpServerLeaseConfig.
Nilai Pengembalian
OT_ERROR_NONE
Berhasil menetapkan rentang LEASE dan KEY-LEASE.
OT_ERROR_INVALID_ARGS
Rentang LEASE atau KEY-LEASE tidak valid.

otSrpServerSetServiceUpdateHandler

void otSrpServerSetServiceUpdateHandler(
  otInstance *aInstance,
  otSrpServerServiceUpdateHandler aServiceHandler,
  void *aContext
)

Menetapkan pengendali update layanan SRP di server SRP.

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
[in] aServiceHandler
Pointer ke pengendali layanan. Gunakan NULL untuk menghapus pengendali.
[in] aContext
Pointer ke informasi konteks arbitrer. Mungkin NULL jika tidak digunakan.

otSrpServerSetTtlConfig

otError otSrpServerSetTtlConfig(
  otInstance *aInstance,
  const otSrpServerTtlConfig *aTtlConfig
)

Menetapkan konfigurasi TTL server SRP.

TTL yang diberikan tidak akan selalu lebih besar dari interval lease maksimum yang dikonfigurasi melalui otSrpServerSetLeaseConfig(), terlepas dari konfigurasi TTL minimum dan maksimum.

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
[in] aTtlConfig
Pointer ke instance otSrpServerTtlConfig.
Nilai Pengembalian
OT_ERROR_NONE
Berhasil menetapkan konfigurasi TTL.
OT_ERROR_INVALID_ARGS
Konfigurasi TTL tidak valid.

Referensi

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