Google berkomitmen untuk mendorong terwujudnya keadilan ras bagi komunitas Kulit Hitam. Lihat caranya.
Tetap teratur dengan koleksi Simpan dan kategorikan konten berdasarkan preferensi Anda.

SRP

Modul ini mencakup fungsi yang mengontrol perilaku klien SRP.

Ringkasan

Modul ini mencakup fungsi-fungsi Protokol Pendaftaran Layanan.

Modul ini mencakup fungsi-fungsi untuk buffer klien SRP dan kumpulan layanan.

Fungsi dalam modul ini hanya tersedia jika fitur OpenString_CONFIG_SRP_CLIENT_BUFFERS_ENABLE diaktifkan.

Enumerasi

anonymous enum{
  OT_SRP_SERVER_SERVICE_FLAG_BASE_TYPE = 1 << 0,
  OT_SRP_SERVER_SERVICE_FLAG_SUB_TYPE = 1 << 1,
  OT_SRP_SERVER_SERVICE_FLAG_ACTIVE = 1 << 2,
  OT_SRP_SERVER_SERVICE_FLAG_DELETED = 1 << 3
}
enum
anonymous enum{
  OT_SRP_SERVER_FLAGS_ANY_SERVICE = (OT_SRP_SERVER_SERVICE_FLAG_BASE_TYPE | OT_SRP_SERVER_SERVICE_FLAG_SUB_TYPE | OT_SRP_SERVER_SERVICE_FLAG_ACTIVE | OT_SRP_SERVER_SERVICE_FLAG_DELETED),
  OT_SRP_SERVER_FLAGS_BASE_TYPE_SERVICE_ONLY = (OT_SRP_SERVER_SERVICE_FLAG_BASE_TYPE | OT_SRP_SERVER_SERVICE_FLAG_ACTIVE | OT_SRP_SERVER_SERVICE_FLAG_DELETED),
  OT_SRP_SERVER_FLAGS_SUB_TYPE_SERVICE_ONLY = (OT_SRP_SERVER_SERVICE_FLAG_SUB_TYPE | OT_SRP_SERVER_SERVICE_FLAG_ACTIVE | OT_SRP_SERVER_SERVICE_FLAG_DELETED),
  OT_SRP_SERVER_FLAGS_ANY_TYPE_ACTIVE_SERVICE = (OT_SRP_SERVER_SERVICE_FLAG_BASE_TYPE | OT_SRP_SERVER_SERVICE_FLAG_SUB_TYPE | OT_SRP_SERVER_SERVICE_FLAG_ACTIVE),
  OT_SRP_SERVER_FLAGS_ANY_TYPE_DELETED_SERVICE = (OT_SRP_SERVER_SERVICE_FLAG_BASE_TYPE | OT_SRP_SERVER_SERVICE_FLAG_SUB_TYPE | OT_SRP_SERVER_SERVICE_FLAG_ACTIVE)
}
enum
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
Enumerasi ini 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
Enumerasi ini mewakili 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
Enumerasi ini mewakili status server SRP.

Typedef

otSrpClientAutoStartCallback)(const otSockAddr *aServerSockAddr, void *aContext) typedef
void(*
Jenis pointer fungsi ini menentukan callback yang digunakan oleh klien SRP untuk memberi tahu pengguna saat callback dimulai otomatis atau dihentikan.
otSrpClientBuffersServiceEntry typedef
Struktur ini mewakili entri kumpulan layanan klien SRP.
otSrpClientCallback)(otError aError, const otSrpClientHostInfo *aHostInfo, const otSrpClientService *aServices, const otSrpClientService *aRemovedServices, void *aContext) typedef
void(*
Jenis pointer fungsi ini menentukan callback yang digunakan oleh klien SRP untuk memberi tahu pengguna tentang perubahan/peristiwa/error.
otSrpClientHostInfo typedef
Struktur ini mewakili info host klien SRP.
otSrpClientService typedef
Struktur ini mewakili layanan klien SRP.
otSrpServerAddressMode typedef
Enumerasi ini mewakili mode alamat yang digunakan oleh server SRP.
otSrpServerHost typedef
Jenis buram ini mewakili host layanan SRP.
otSrpServerLeaseConfig typedef
Struktur ini mencakup konfigurasi LEASE dan KEY-LEASE server SRP.
otSrpServerLeaseInfo typedef
Struktur ini mencakup informasi penyewaan server SRP untuk host/layanan.
otSrpServerResponseCounters typedef
Struktur ini mencakup statistik respons server SRP.
otSrpServerService typedef
Jenis buram ini mewakili layanan SRP.
otSrpServerServiceFlags typedef
uint8_t
Jenis tanda layanan untuk menunjukkan layanan mana yang akan disertakan atau dikecualikan saat menelusuri (atau mengulangi) daftar layanan SRP.
otSrpServerServiceUpdateHandler)(otSrpServerServiceUpdateId aId, const otSrpServerHost *aHost, uint32_t aTimeout, void *aContext) typedef
void(*
Fungsi ini menangani update layanan SRP.
otSrpServerServiceUpdateId typedef
uint32_t
ID transaksi update layanan SRP di Server SRP.
otSrpServerTtlConfig typedef
Struktur ini mencakup konfigurasi TTL server SRP.

Functions

otSrpClientAddService(otInstance *aInstance, otSrpClientService *aService)
Fungsi ini menambahkan layanan yang akan didaftarkan dengan server.
otSrpClientBuffersAllocateService(otInstance *aInstance)
Fungsi ini mengalokasikan entri layanan baru dari kumpulan.
otSrpClientBuffersFreeAllServices(otInstance *aInstance)
void
Fungsi ini mengosongkan semua entri layanan yang telah dialokasikan sebelumnya.
otSrpClientBuffersFreeService(otInstance *aInstance, otSrpClientBuffersServiceEntry *aService)
void
Fungsi ini mengosongkan entri layanan yang dialokasikan sebelumnya.
otSrpClientBuffersGetHostAddressesArray(otInstance *aInstance, uint8_t *aArrayLength)
Fungsi ini mendapatkan array entri alamat IPv6 untuk digunakan sebagai daftar alamat host klien SRP.
otSrpClientBuffersGetHostNameString(otInstance *aInstance, uint16_t *aSize)
char *
Fungsi ini mendapatkan buffering string yang akan digunakan untuk nama host klien SRP.
otSrpClientBuffersGetServiceEntryInstanceNameString(otSrpClientBuffersServiceEntry *aEntry, uint16_t *aSize)
char *
Fungsi ini mendapatkan buffering string untuk nama instance layanan dari entri layanan.
otSrpClientBuffersGetServiceEntryServiceNameString(otSrpClientBuffersServiceEntry *aEntry, uint16_t *aSize)
char *
Fungsi ini mendapatkan buffering string untuk nama layanan dari entri layanan.
otSrpClientBuffersGetServiceEntryTxtBuffer(otSrpClientBuffersServiceEntry *aEntry, uint16_t *aSize)
uint8_t *
Fungsi ini mendapatkan buffering untuk data TXT dari entri layanan.
otSrpClientBuffersGetSubTypeLabelsArray(otSrpClientBuffersServiceEntry *aEntry, uint16_t *aArrayLength)
const char **
Fungsi ini mendapatkan array untuk label subjenis layanan dari entri layanan.
otSrpClientClearHostAndServices(otInstance *aInstance)
void
Fungsi ini menghapus semua info host dan semua layanan.
otSrpClientClearService(otInstance *aInstance, otSrpClientService *aService)
Fungsi ini menghapus layanan, segera menghapusnya dari daftar layanan klien.
otSrpClientDisableAutoStartMode(otInstance *aInstance)
void
Fungsi ini menonaktifkan mode mulai otomatis.
otSrpClientEnableAutoHostAddress(otInstance *aInstance)
Fungsi ini mengaktifkan mode alamat host otomatis.
otSrpClientEnableAutoStartMode(otInstance *aInstance, otSrpClientAutoStartCallback aCallback, void *aContext)
void
Fungsi ini mengaktifkan mode mulai otomatis.
otSrpClientGetDomainName(otInstance *aInstance)
const char *
Fungsi ini mendapatkan nama domain yang digunakan oleh klien SRP.
otSrpClientGetHostInfo(otInstance *aInstance)
Fungsi ini mendapatkan info host.
otSrpClientGetKeyLeaseInterval(otInstance *aInstance)
uint32_t
Fungsi ini mendapatkan interval sewa kunci yang digunakan dalam permintaan update SRP.
otSrpClientGetLeaseInterval(otInstance *aInstance)
uint32_t
Fungsi ini mendapatkan interval sewa yang digunakan dalam permintaan pembaruan SRP.
otSrpClientGetServerAddress(otInstance *aInstance)
const otSockAddr *
Fungsi ini mendapatkan alamat soket (alamat IP6 dan nomor port) server SRP yang digunakan oleh klien SRP.
otSrpClientGetServices(otInstance *aInstance)
Fungsi ini mendapatkan daftar layanan yang dikelola oleh klien.
otSrpClientGetTtl(otInstance *aInstance)
uint32_t
Fungsi ini mendapatkan nilai TTL di setiap data yang disertakan dalam permintaan pembaruan SRP.
otSrpClientIsAutoStartModeEnabled(otInstance *aInstance)
bool
Fungsi ini menunjukkan status mode mulai otomatis saat ini (diaktifkan atau dinonaktifkan).
otSrpClientIsRunning(otInstance *aInstance)
bool
Fungsi ini menunjukkan apakah klien SRP sedang berjalan atau tidak.
otSrpClientIsServiceKeyRecordEnabled(otInstance *aInstance)
bool
Metode ini menunjukkan apakah mode "penyertaan data kunci layanan" diaktifkan atau dinonaktifkan.
otSrpClientItemStateToString(otSrpClientItemState aItemState)
const char *
Fungsi ini mengonversi otSrpClientItemState menjadi string.
otSrpClientRemoveHostAndServices(otInstance *aInstance, bool aRemoveKeyLease, bool aSendUnregToServer)
Fungsi ini memulai proses penghapusan info host dan semua layanan.
otSrpClientRemoveService(otInstance *aInstance, otSrpClientService *aService)
Fungsi ini meminta layanan untuk dibatalkan pendaftarannya dengan server.
otSrpClientSetCallback(otInstance *aInstance, otSrpClientCallback aCallback, void *aContext)
void
Fungsi ini menetapkan callback untuk memberi tahu pemanggil tentang peristiwa/perubahan dari klien SRP.
otSrpClientSetDomainName(otInstance *aInstance, const char *aName)
Fungsi ini menetapkan nama domain yang akan digunakan oleh klien SRP.
otSrpClientSetHostAddresses(otInstance *aInstance, const otIp6Address *aIp6Addresses, uint8_t aNumAddresses)
Fungsi ini menetapkan/memperbarui daftar alamat IPv6 host.
otSrpClientSetHostName(otInstance *aInstance, const char *aName)
Fungsi ini menetapkan label nama host.
otSrpClientSetKeyLeaseInterval(otInstance *aInstance, uint32_t aInterval)
void
Fungsi ini menetapkan interval sewa kunci yang digunakan dalam permintaan pembaruan SRP.
otSrpClientSetLeaseInterval(otInstance *aInstance, uint32_t aInterval)
void
Fungsi ini menetapkan interval sewa yang digunakan dalam permintaan pembaruan SRP.
otSrpClientSetServiceKeyRecordEnabled(otInstance *aInstance, bool aEnabled)
void
Fungsi ini mengaktifkan/menonaktifkan mode "penyertaan data kunci layanan".
otSrpClientSetTtl(otInstance *aInstance, uint32_t aTtl)
void
Fungsi ini menetapkan nilai TTL di setiap data yang disertakan dalam permintaan pembaruan SRP.
otSrpClientStart(otInstance *aInstance, const otSockAddr *aServerSockAddr)
Fungsi ini memulai operasi klien SRP.
otSrpClientStop(otInstance *aInstance)
void
Fungsi ini menghentikan operasi klien SRP.
otSrpServerGetAddressMode(otInstance *aInstance)
Fungsi ini menampilkan mode alamat yang digunakan oleh server SRP.
otSrpServerGetAnycastModeSequenceNumber(otInstance *aInstance)
uint8_t
Fungsi ini menampilkan nomor urut yang digunakan dengan mode alamat anycast.
otSrpServerGetDomain(otInstance *aInstance)
const char *
Fungsi ini menampilkan domain yang diizinkan ke server SRP.
otSrpServerGetLeaseConfig(otInstance *aInstance, otSrpServerLeaseConfig *aLeaseConfig)
void
Fungsi ini menampilkan konfigurasi LEASE dan KEY-LEASE server SRP.
otSrpServerGetNextHost(otInstance *aInstance, const otSrpServerHost *aHost)
const otSrpServerHost *
Fungsi ini menampilkan host terdaftar berikutnya pada server SRP.
otSrpServerGetPort(otInstance *aInstance)
uint16_t
Fungsi ini menampilkan port yang sedang diproses server SRP.
otSrpServerGetResponseCounters(otInstance *aInstance)
Fungsi ini menampilkan penghitung respons dari server SRP.
otSrpServerGetState(otInstance *aInstance)
Fungsi ini menampilkan status server SRP.
otSrpServerGetTtlConfig(otInstance *aInstance, otSrpServerTtlConfig *aTtlConfig)
void
Fungsi ini menampilkan konfigurasi TTL server SRP.
otSrpServerHandleServiceUpdateResult(otInstance *aInstance, otSrpServerServiceUpdateId aId, otError aError)
void
Fungsi ini melaporkan hasil pemrosesan update SRP ke server SRP.
otSrpServerHostFindNextService(const otSrpServerHost *aHost, const otSrpServerService *aPrevService, otSrpServerServiceFlags aFlags, const char *aServiceName, const char *aInstanceName)
Fungsi ini menemukan layanan pencocokan berikutnya pada host.
otSrpServerHostGetAddresses(const otSrpServerHost *aHost, uint8_t *aAddressesNum)
const otIp6Address *
Fungsi ini menampilkan alamat host yang diberikan.
otSrpServerHostGetFullName(const otSrpServerHost *aHost)
const char *
Fungsi ini menampilkan nama lengkap host.
otSrpServerHostGetLeaseInfo(const otSrpServerHost *aHost, otSrpServerLeaseInfo *aLeaseInfo)
void
Fungsi ini menampilkan informasi LEASE dan KEY-LEASE dari host yang diberikan.
otSrpServerHostGetNextService(const otSrpServerHost *aHost, const otSrpServerService *aService)
Fungsi ini menampilkan layanan berikutnya (tidak termasuk layanan subjenis) dari host tertentu.
otSrpServerHostIsDeleted(const otSrpServerHost *aHost)
bool
Fungsi ini memberi tahu apakah host layanan SRP telah dihapus.
otSrpServerIsAutoEnableMode(otInstance *aInstance)
bool
Fungsi ini menunjukkan apakah mode aktifkan otomatis diaktifkan atau dinonaktifkan.
otSrpServerServiceGetFullName(const otSrpServerService *aService)
const char *
Fungsi ini menampilkan nama instance layanan lengkap dari layanan.
otSrpServerServiceGetHost(const otSrpServerService *aService)
const otSrpServerHost *
Fungsi ini menampilkan host tempat instance layanan berada.
otSrpServerServiceGetInstanceName(const otSrpServerService *aService)
const char *
Fungsi ini menampilkan nama instance layanan lengkap dari layanan.
otSrpServerServiceGetLeaseInfo(const otSrpServerService *aService, otSrpServerLeaseInfo *aLeaseInfo)
void
Fungsi ini menampilkan informasi LEASE dan KEY-LEASE layanan tertentu.
otSrpServerServiceGetPort(const otSrpServerService *aService)
uint16_t
Fungsi ini menampilkan port instance layanan.
otSrpServerServiceGetPriority(const otSrpServerService *aService)
uint16_t
Fungsi ini menampilkan prioritas instance layanan.
otSrpServerServiceGetServiceName(const otSrpServerService *aService)
const char *
Fungsi ini menampilkan nama layanan lengkap dari layanan.
otSrpServerServiceGetServiceSubTypeLabel(const otSrpServerService *aService, char *aLabel, uint8_t aMaxSize)
Fungsi ini mendapatkan label subjenis dari nama layanan.
otSrpServerServiceGetTtl(const otSrpServerService *aService)
uint32_t
Fungsi ini menampilkan TTL dari instance layanan.
otSrpServerServiceGetTxtData(const otSrpServerService *aService, uint16_t *aDataLength)
const uint8_t *
Fungsi ini menampilkan data data TXT instance layanan.
otSrpServerServiceGetWeight(const otSrpServerService *aService)
uint16_t
Fungsi ini menampilkan bobot instance layanan.
otSrpServerServiceIsDeleted(const otSrpServerService *aService)
bool
Fungsi ini menunjukkan apakah layanan SRP telah dihapus atau belum.
otSrpServerServiceIsSubType(const otSrpServerService *aService)
bool
Fungsi ini menunjukkan apakah layanan SRP adalah sub-jenis atau tidak.
otSrpServerSetAddressMode(otInstance *aInstance, otSrpServerAddressMode aMode)
Fungsi ini menetapkan mode alamat yang akan digunakan oleh server SRP.
otSrpServerSetAnycastModeSequenceNumber(otInstance *aInstance, uint8_t aSequenceNumber)
Fungsi ini menetapkan nomor urut yang digunakan dengan mode alamat anycast.
otSrpServerSetAutoEnableMode(otInstance *aInstance, bool aEnabled)
void
Fungsi ini mengaktifkan/menonaktifkan mode aktifkan otomatis pada server SRP.
otSrpServerSetDomain(otInstance *aInstance, const char *aDomain)
Fungsi ini menetapkan domain di server SRP.
otSrpServerSetEnabled(otInstance *aInstance, bool aEnabled)
void
Fungsi ini mengaktifkan/menonaktifkan server SRP.
otSrpServerSetLeaseConfig(otInstance *aInstance, const otSrpServerLeaseConfig *aLeaseConfig)
Fungsi ini menetapkan konfigurasi LEASE dan KEY-LEASE server SRP.
otSrpServerSetServiceUpdateHandler(otInstance *aInstance, otSrpServerServiceUpdateHandler aServiceHandler, void *aContext)
void
Fungsi ini menetapkan pengendali update layanan SRP di server SRP.
otSrpServerSetTtlConfig(otInstance *aInstance, const otSrpServerTtlConfig *aTtlConfig)
Fungsi ini menetapkan konfigurasi TTL server SRP.

Struct

otSrpClientBuffersServiceEntry

Struktur ini mewakili entri kumpulan layanan klien SRP.

otSrpClientHostInfo

Struktur ini mewakili info host klien SRP.

otSrpClientService

Struktur ini mewakili layanan klien SRP.

otSrpServerLeaseConfig

Struktur ini mencakup konfigurasi LEASE dan KEY-LEASE server SRP.

otSrpServerLeaseInfo

Struktur ini mencakup informasi penyewaan server SRP untuk host/layanan.

otSrpServerResponseCounter

Struktur ini mencakup statistik respons server SRP.

otSrpServerTtlConfig

Struktur ini mencakup konfigurasi TTL server SRP.

Enumerasi

enum anonim

 anonymous enum
Properti
OT_SRP_SERVER_SERVICE_FLAG_ACTIVE

Sertakan layanan aktif (bukan dihapus).

OT_SRP_SERVER_SERVICE_FLAG_BASE_TYPE

Menyertakan layanan dasar (bukan sub-jenis).

OT_SRP_SERVER_SERVICE_FLAG_DELETED

Sertakan layanan yang dihapus.

OT_SRP_SERVER_SERVICE_FLAG_SUB_TYPE

Menyertakan layanan subjenis.

enum anonim

 anonymous enum
Properti
OT_SRP_SERVER_FLAGS_ANY_SERVICE

Konstanta ini menentukan kombinasi otSrpServerServiceFlags yang menerima semua layanan (base/sub-type, active/delete).

OT_SRP_SERVER_FLAGS_ANY_TYPE_ACTIVE_SERVICE

Konstanta ini mendefinisikan kombinasi otSrpServerServiceFlags yang menerima semua layanan aktif (tidak dihapus).

OT_SRP_SERVER_FLAGS_ANY_TYPE_DELETED_SERVICE

Konstanta ini menentukan kombinasi otSrpServerServiceFlags yang menerima semua layanan yang dihapus.

OT_SRP_SERVER_FLAGS_BASE_TYPE_SERVICE_ONLY

Konstanta ini mendefinisikan kombinasi otSrpServerServiceFlags yang hanya menerima layanan dasar.

OT_SRP_SERVER_FLAGS_SUB_TYPE_SERVICE_ONLY

Konstanta ini menentukan kombinasi otSrpServerServiceFlags yang hanya menerima layanan subjenis.

otSrpClientItemState

 otSrpClientItemState

Enumerasi ini 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 didaftarkan dengan 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

Enumerasi ini mewakili 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

Enumerasi ini mewakili 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 fungsi ini menentukan callback yang digunakan oleh klien SRP untuk memberi tahu pengguna saat callback dimulai otomatis atau dihentikan.

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 server SRP dimulai dan pointer akan memberikan alamat soket server yang dipilih. Pointer NULL menunjukkan server SRP dihentikan.
[in] aContext
Pointer ke konteks arbitrer (diberikan saat callback didaftarkan).

otSrpClientBuffersServiceEntry

struct otSrpClientBuffersServiceEntry otSrpClientBuffersServiceEntry

Struktur ini mewakili entri kumpulan layanan klien SRP.

otSrpClientCallback

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

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

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

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

Daftar layanan yang dihapus akan diteruskan sebagai aRemovedServices daftar tertautnya sendiri dalam callback. Perhatikan bahwa saat callback dipanggil, klien SRP (penerapan OpenThread) dilakukan dengan instance layanan yang dihapus yang tercantum di aRemovedServices dan tidak lagi melacak/menyimpannya (yaitu, jika dari callback kita memanggil otSrpClientGetServices(), layanan yang dihapus tidak akan ada dalam daftar yang ditampilkan). Menyediakan daftar layanan yang dihapus secara terpisah dalam callback akan membantu menunjukkan item yang kini 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 (tidak ada kondisi error) -> OT_ERROR_NONE
  • (1) Server FORMERR tidak dapat ditafsirkan karena kesalahan format -> OT_ERROR_PARSE
  • (2) Server SERVFAILED mengalami kegagalan internal -> OT_ERROR_FAILED
  • (3) Nama NXDOMAIN yang seharusnya ada, tidak ada -> OT_ERROR_NOT_FOUND
  • (4) NOTIMP Server tidak mendukung jenis kueri (OpCode) -> OT_ERROR_NOT_IMPLEMENTED
  • (5) REFUSED Server ditolak karena alasan kebijakan/keamanan -> OT_ERROR_DASHER
  • (6) YXDOMAIN Beberapa nama yang seharusnya tidak ada, ada -> OT_ERROR_DUPLICATED
  • (7) YXRRSET Beberapa RRset yang seharusnya tidak ada, memang ada -> OT_ERROR_DUPLICATED
  • (8) NXRRSET Beberapa RRset yang seharusnya ada, tidak ada -> OT_ERROR_NOT_FOUND
  • (9) Layanan NOTAUTH tidak berwenang untuk zona -> OT_ERROR_Security
  • (10) Nama NOTZONE A tidak ada di zona -> OT_ERROR_PARSE
  • (20) BADNAME Nama buruk -> OT_ERROR_PARSE
  • (21) Algoritme BADALG Bad -> OT_ERROR_DASHER
  • (22) BADTRUN Pemotongan yang buruk -> OT_ERROR_PARSE
  • Kode respons lainnya -> OT_ERROR_FAILED

Error berikut juga mungkin terjadi:

  • OT_ERROR_RESPONSE_adtype : Waktu habis saat menunggu respons dari server (klien akan terus mencoba lagi).
  • OT_ERROR_INVALID_ARGS : Struktur layanan yang diberikan tidak valid (misalnya nama layanan buruk atau otDnsTxtEntry).
  • OT_ERROR_NO_BUFS : Buffering tidak memadai untuk menyiapkan atau mengirim pesan update.

Perhatikan bahwa jika terjadi kegagalan, klien melanjutkan operasi, yaitu menyiapkan dan (mengirimkan) kembali 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

Struktur ini mewakili info host klien SRP.

otSrpClientService

struct otSrpClientService otSrpClientService

Struktur ini mewakili layanan klien SRP.

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

otSrpServerAddressMode

enum otSrpServerAddressMode otSrpServerAddressMode

Enumerasi ini mewakili 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

Struktur ini mencakup konfigurasi LEASE dan KEY-LEASE server SRP.

otSrpServerLeaseInfo

struct otSrpServerLeaseInfo otSrpServerLeaseInfo

Struktur ini mencakup informasi penyewaan server SRP untuk host/layanan.

otSrpServerResponseCounter

struct otSrpServerResponseCounters otSrpServerResponseCounters

Struktur ini mencakup statistik respons server SRP.

otSrpServerService

struct otSrpServerService otSrpServerService

Jenis buram ini mewakili layanan SRP.

otSrpServerServiceFlags

uint8_t otSrpServerServiceFlags

Jenis tanda layanan untuk menunjukkan layanan mana yang akan disertakan atau dikecualikan saat menelusuri (atau mengulangi) daftar layanan SRP.

Ini adalah kombinasi dari bit-flag. Flag bit tertentu ditentukan dalam enumerasi OT_SRP_SERVER_FLAG_*.

otSrpServerServiceUpdateHandler

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

Fungsi ini menangani update layanan SRP.

Fungsi ini dipanggil oleh server SRP untuk memberi tahu bahwa host SRP dan mungkin layanan SRP sedang diupdate. Penting untuk memastikan bahwa update SRP tidak diterapkan hingga pengendali menampilkan hasilnya dengan memanggil otSrpServerHandleServiceUpdateResult atau waktu habis setelah aTimeout.

Observer layanan SRP harus selalu memanggil otSrpServerHandleServiceUpdateResult dengan kode kesalahan OT_ERROR_NONE segera setelah menerima peristiwa pembaruan.

Pengendali yang lebih generik dapat melakukan validasi pada host/layanan SRP dan menolak update 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:
  1. Jika host tidak dihapus (ditunjukkan dengan otSrpServerHostIsDeleted), host harus dipublikasikan atau diperbarui dengan mDNS. Jika tidak, host harus dibatalkan publikasinya (menghapus RR AAAA).
  2. Untuk setiap titik layanan ke host ini, host harus dibatalkan publikasinya jika host dibatalkan publikasinya. Jika tidak, pengendali harus memublikasikan atau mengupdate layanan saat tidak dihapus (ditunjukkan oleh otSrpServerServiceIsDeleted) dan membatalkan publikasinya saat dihapus.
[in] aTimeout
Waktu maksimum dalam milidetik untuk pengendali memproses peristiwa layanan.
[in] aContext
Pointer untuk konteks khusus aplikasi.
Lihat juga:
otSrpServerSetServiceUpdateHandler
otSrpServerHandleServiceUpdateResult

otSrpServerServiceUpdateId

uint32_t otSrpServerServiceUpdateId

ID transaksi update layanan SRP di Server SRP.

otSrpServerTtlConfig

struct otSrpServerTtlConfig otSrpServerTtlConfig

Struktur ini mencakup konfigurasi TTL server SRP.

Functions

otSrpClientAddService

otError otSrpClientAddService(
  otInstance *aInstance,
  otSrpClientService *aService
)

Fungsi ini menambahkan layanan yang akan didaftarkan dengan 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 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 saat

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
[in] aService
Pointer ke instance otSrpClientService yang akan ditambahkan.
Nilai yang Ditampilkan
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
)

Fungsi ini 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 lagi entri yang tersedia di kumpulan.

otSrpClientBuffersFreeAllServices

void otSrpClientBuffersFreeAllServices(
  otInstance *aInstance
)

Fungsi ini mengosongkan semua entri layanan yang telah dialokasikan sebelumnya.

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.

otSrpClientBuffersFreeService

void otSrpClientBuffersFreeService(
  otInstance *aInstance,
  otSrpClientBuffersServiceEntry *aService
)

Fungsi ini mengosongkan 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 ke gratis (HARUS TIDAK berupa NULL).

otSrpClientBuffersGetHostAddressArray

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

Fungsi ini 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 menampilkan panjang array, yaitu jumlah entri alamat IPv6 dalam array (HARUS TIDAK menjadi NULL).
Hasil
Pointer ke array entri otIp6Address (jumlah entri yang ditampilkan di aArrayLength).

otSrpClientBuffersGetHostNameString

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

Fungsi ini mendapatkan buffering 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) buffer string (HARUS TIDAK berupa NULL).
Hasil
Pointer ke char buffering yang akan digunakan untuk nama host klien SRP.

otSrpClientBuffersGetServiceEntryInstanceNameString

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

Fungsi ini mendapatkan buffering string untuk nama instance layanan dari entri layanan.

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

otSrpClientBuffersGetServiceEntryServiceNameString

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

Fungsi ini mendapatkan buffering string untuk nama layanan dari entri layanan.

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

otSrpClientBuffersGetServiceEntryTxtBuffer

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

Fungsi ini mendapatkan buffering untuk data TXT dari entri layanan.

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

otSrpClientBuffersGetSubTypeLabelsArray

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

Fungsi ini mendapatkan array untuk label subjenis layanan dari entri layanan.

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

otSrpClientClearHostAndServices

void otSrpClientClearHostAndServices(
  otInstance *aInstance
)

Fungsi ini menghapus semua info host dan semua layanan.

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

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.

otSrpClientClearService

otError otSrpClientClearService(
  otInstance *aInstance,
  otSrpClientService *aService
)

Fungsi ini menghapus layanan, segera menghapusnya dari daftar layanan klien.

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

Fungsi ini dapat digunakan bersamaan 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 yang Ditampilkan
OT_ERROR_NONE
aService berhasil dihapus. Saldo dapat diklaim kembali dan digunakan kembali dengan segera.
OT_ERROR_NOT_FOUND
Layanan tidak dapat ditemukan dalam daftar.

otSrpClientDisableAutoStartMode

void otSrpClientDisableAutoStartMode(
  otInstance *aInstance
)

Fungsi ini 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.

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

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.

otSrpClientEnableAutoHostAddress

otError otSrpClientEnableAutoHostAddress(
  otInstance *aInstance
)

Fungsi ini mengaktifkan mode alamat host otomatis.

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

Mode alamat host otomatis dapat diaktifkan sebelum memulai atau selama pengoperasian klien SRP, kecuali jika info host dihapus (klien 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 berdasarkan panggilan ke otSrpClientSetHostAddresses() yang kemudian secara eksplisit menetapkan alamat host.

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

otSrpClientEnableAutoStartMode

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

Fungsi ini 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 di awal stack OT).

Saat mulai otomatis diaktifkan, klien SRP akan memantau Data Jaringan Thread untuk menemukan server SRP dan memilih server yang diinginkan, serta otomatis memulai dan menghentikan klien saat server SRP terdeteksi.

Ada tiga kategori entri Data Jaringan yang menunjukkan adanya server SRP. Pilihan tersebut lebih disukai dalam urutan berikut:

1) Entri unicast pilihan yang menyertakan alamat server dalam data layanan. Jika ada beberapa opsi, opsi dengan alamat IPv6 terendah secara numerik lebih diutamakan.

2) Entri Anycast masing-masing memiliki nomor seq. Nomor urutan yang lebih besar dalam arti yang ditentukan oleh logika Aritmetika Nomor Seri dalam RFC-1982 dianggap lebih baru dan karenanya lebih disukai. Nomor seq terbesar menggunakan aritmetika nomor seri lebih disarankan jika ditentukan dengan baik (yaitu, nomor seq lebih besar dari semua nomor seq lainnya). Jika tidak didefinisikan dengan baik, maka angka seq terbesar secara numerik akan dipilih.

3) Entri Unicast dengan info alamat server disertakan dalam data server. Jika ada beberapa opsi, opsi dengan alamat IPv6 terendah secara numerik lebih diutamakan.

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

Saat klien SRP dimulai secara eksplisit 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 yang akan diberi tahu saat klien memulai/dihentikan secara otomatis. Bisa NULL jika tidak diperlukan.
[in] aContext
Konteks yang akan diteruskan saat memanggil aCallback.

otSrpClientGetDomainName

const char * otSrpClientGetDomainName(
  otInstance *aInstance
)

Fungsi ini mendapatkan nama domain yang digunakan oleh klien SRP.

Fungsi ini memerlukan pengaktifan OPENTHREAD_CONFIG_SRP_CLIENT_DOMAIN_NAME_API_ENABLE.

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

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

otSrpClientGetHostInfo

const otSrpClientHostInfo * otSrpClientGetHostInfo(
  otInstance *aInstance
)

Fungsi ini mendapatkan info host.

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

otSrpClientGetKeyLeaseInterval

uint32_t otSrpClientGetKeyLeaseInterval(
  otInstance *aInstance
)

Fungsi ini mendapatkan interval sewa kunci yang digunakan dalam permintaan update SRP.

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

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

otSrpClientGetLeaseInterval

uint32_t otSrpClientGetLeaseInterval(
  otInstance *aInstance
)

Fungsi ini mendapatkan interval sewa yang digunakan dalam permintaan pembaruan SRP.

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

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

otSrpClientGetServerAddress

const otSockAddr * otSrpClientGetServerAddress(
  otInstance *aInstance
)

Fungsi ini mendapatkan alamat soket (alamat IP6 dan nomor port) server SRP yang digunakan oleh klien SRP.

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

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

otSrpClientGetServices

const otSrpClientService * otSrpClientGetServices(
  otInstance *aInstance
)

Fungsi ini mendapatkan daftar layanan yang dikelola oleh klien.

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
Hasil
Pointer ke kepala daftar tertaut dari semua layanan atau NULL jika daftar ini kosong.

otSrpClientGetTtl

uint32_t otSrpClientGetTtl(
  otInstance *aInstance
)

Fungsi ini mendapatkan nilai TTL di setiap data yang disertakan dalam permintaan pembaruan SRP.

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

Secara default, TTL akan sama dengan interval sewa. Meneruskan 0 atau nilai yang lebih besar dari interval sewa melalui otSrpClientSetTtl() juga akan menyebabkan TTL sama dengan interval sewa.

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

otSrpClientIsAutoStartModeEnabled

bool otSrpClientIsAutoStartModeEnabled(
  otInstance *aInstance
)

Fungsi ini 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
)

Fungsi ini menunjukkan apakah klien SRP sedang berjalan atau tidak.

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

otSrpClientIsServiceKeyRecordEnabled

bool otSrpClientIsServiceKeyRecordEnabled(
  otInstance *aInstance
)

Metode ini menunjukkan apakah mode "penyertaan data kunci layanan" diaktifkan atau dinonaktifkan.

Fungsi ini tersedia saat konfigurasi OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE diaktifkan.

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

otSrpClientItemStateToString

const char * otSrpClientItemStateToString(
  otSrpClientItemState aItemState
)

Fungsi ini mengonversi otSrpClientItemState menjadi string.

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

otSrpClientRemoveHostAndServices

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

Fungsi ini 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 disetel ke true yang menghapus penyewaan kunci yang terkait dengan host di server. Jika tidak, data sewa kunci disimpan seperti sebelumnya, yang memastikan bahwa server menyimpan nama host sebagai cadangan saat klien sekali dapat memberikan dan mendaftarkan layanannya.

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

Dalam satu situasi, aSendUnregToServer dapat berguna jika perangkat direset/di-reboot, dan penelepon mungkin ingin menghapus layanan 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 sewa kunci host juga harus dihapus.
[in] aSendUnregToServer
Boolean yang menunjukkan apakah mengirim update ke server saat info host tidak didaftarkan.
Nilai yang Ditampilkan
OT_ERROR_NONE
Penghapusan info dan layanan host berhasil dimulai. otSrpClientCallback akan dipanggil untuk melaporkan status.
OT_ERROR_ALREADY
Info host sudah dihapus.

otSrpClientRemoveService

otError otSrpClientRemoveService(
  otInstance *aInstance,
  otSrpClientService *aService
)

Fungsi ini meminta layanan untuk dibatalkan pendaftarannya dengan server.

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

Instance otSrpClientService yang diarahkan oleh aService HARUS dipertahankan dan tidak berubah setelah ditampilkan dari fungsi ini (dengan OT_ERROR_NONE). OpenThread akan mempertahankan instance layanan selama proses penghapusan. Hanya setelah otSrpClientCallback dipanggil, instance layanan akan 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 yang Ditampilkan
OT_ERROR_NONE
Penghapusan layanan berhasil dimulai. otSrpClientCallback akan dipanggil untuk melaporkan status.
OT_ERROR_NOT_FOUND
Layanan tidak dapat ditemukan dalam daftar.

otSrpClientSetCallback

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

Fungsi ini menetapkan callback untuk memberi tahu pemanggil tentang peristiwa/perubahan dari klien SRP.

Klien SRP memungkinkan 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. Bisa NULL jika tidak diperlukan.
[in] aContext
Konteks arbitrer yang digunakan dengan aCallback.

otSrpClientSetDomainName

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

Fungsi ini menetapkan nama domain yang akan digunakan oleh klien SRP.

Fungsi ini memerlukan pengaktifan OPENTHREAD_CONFIG_SRP_CLIENT_DOMAIN_NAME_API_ENABLE.

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

Buffering string nama yang ditunjukkan oleh aName HARUS ada dan tidak berubah setelah kembali dari fungsi ini. OpenThread akan mempertahankan pointer ke string.

Nama domain dapat ditetapkan sebelum klien dimulai atau setelah dimulai, tetapi sebelum info host didaftarkan dengan server (info host harus dalam bahasa 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 yang Ditampilkan
OT_ERROR_NONE
Label nama domain berhasil ditetapkan.
OT_ERROR_INVALID_STATE
Info host sudah terdaftar di server.

otSrpClientSetHostAddress

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

Fungsi ini 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 terdaftar sebelumnya), kecuali jika info host 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.

Memanggil 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 yang Ditampilkan
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 (mis., harus berisi minimal satu alamat).
OT_ERROR_INVALID_STATE
Host dihapus sehingga tidak dapat mengubah alamat host.

otSrpClientSetHostName

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

Fungsi ini menetapkan label nama host.

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

Buffering string nama yang ditunjukkan oleh aName HARUS ada dan tidak berubah setelah kembali dari fungsi ini. OpenThread akan mempertahankan 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 untuk string label nama host (HARUS NOT be NULL). Pointer ke buffering string HARUS dipertahankan dan tetap valid serta konstan setelah ditampilkan dari fungsi ini.
Nilai yang Ditampilkan
OT_ERROR_NONE
Label nama host berhasil ditetapkan.
OT_ERROR_INVALID_ARGS
aName adalah NULL.
OT_ERROR_INVALID_STATE
Nama host sudah ditetapkan dan terdaftar dengan server.

otSrpClientSetKeyLeaseInterval

void otSrpClientSetKeyLeaseInterval(
  otInstance *aInstance,
  uint32_t aInterval
)

Fungsi ini menetapkan interval sewa kunci yang digunakan dalam permintaan pembaruan SRP.

Mengubah interval sewa tidak memengaruhi interval sewa yang diterima untuk layanan/info host yang sudah terdaftar. Perubahan ini hanya memengaruhi semua pesan update SRP 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
)

Fungsi ini menetapkan interval sewa yang digunakan dalam permintaan pembaruan SRP.

Mengubah interval sewa tidak memengaruhi interval sewa yang diterima untuk layanan/info host yang sudah terdaftar. Perubahan ini hanya memengaruhi semua pesan update SRP 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
)

Fungsi ini mengaktifkan/menonaktifkan mode "penyertaan data kunci layanan".

Jika diaktifkan, klien SRP akan menyertakan data KEY di Petunjuk Deskripsi Layanan dalam pesan pembaruan SRP yang dikirimkannya.

Fungsi ini 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 data kunci layanan".

otSrpClientSetTtl

void otSrpClientSetTtl(
  otInstance *aInstance,
  uint32_t aTtl
)

Fungsi ini menetapkan nilai TTL di setiap data yang disertakan dalam permintaan pembaruan SRP.

Mengubah TTL tidak memengaruhi TTL pada layanan/info host yang sudah terdaftar. TTL hanya memengaruhi pesan update SRP 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 nilai nol atau lebih besar dari interval sewa, TTL disetel ke interval sewa.

otSrpClientStart

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

Fungsi ini memulai operasi klien SRP.

Klien SRP akan menyiapkan dan mengirim "Pembaruan SRP" ke server SRP setelah semua kondisi berikut terpenuhi:

Tidak masalah dalam urutan mana fungsi ini dipanggil. Jika semua kondisi terpenuhi, klien SRP akan menunggu penundaan singkat sebelum menyiapkan pesan "Pembaruan SRP" dan mengirimkannya ke server. Penundaan ini memungkinkan pengguna menambahkan beberapa layanan dan/atau alamat IPv6 sebelum pesan Pembaruan SRP pertama dikirimkan (memastikan satu Pembaruan SRP dikirim 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 IP6 dan nomor port) server SRP.
Nilai yang Ditampilkan
OT_ERROR_NONE
Operasi klien SRP berhasil dimulai atau sudah berjalan dengan callback dan alamat soket server yang sama.
OT_ERROR_BUSY
Klien SRP sibuk menjalankan alamat soket yang berbeda.
OT_ERROR_FAILED
Gagal membuka/menghubungkan soket UDP klien.

otSrpClientStop

void otSrpClientStop(
  otInstance *aInstance
)

Fungsi ini menghentikan operasi klien SRP.

Fungsi ini menghentikan interaksi lebih lanjut dengan server SRP. Perhatikan bahwa tindakan ini tidak menghapus info host dan/atau daftar layanan. Tindakan ini menandai semua layanan yang akan ditambahkan/dihapus lagi setelah klien dimulai ulang.

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.

otSrpServerGetAddressMode

otSrpServerAddressMode otSrpServerGetAddressMode(
  otInstance *aInstance
)

Fungsi ini 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
)

Fungsi ini menampilkan nomor urut yang digunakan dengan mode alamat anycast.

Nomor urutan disertakan dalam "DNS/SRP Service Anycast Address" entri yang diterbitkan dalam Data Jaringan.

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

otSrpServerGetDomain

const char * otSrpServerGetDomain(
  otInstance *aInstance
)

Fungsi ini menampilkan domain yang diizinkan ke server SRP.

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

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
Hasil
Pointer ke string domain titik-gabung.

otSrpServerGetLeaseConfig

void otSrpServerGetLeaseConfig(
  otInstance *aInstance,
  otSrpServerLeaseConfig *aLeaseConfig
)

Fungsi ini 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
)

Fungsi ini menampilkan host terdaftar berikutnya pada 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 yang terdaftar. NULL, jika tidak ada host yang dapat ditemukan.

otSrpServerGetPort

uint16_t otSrpServerGetPort(
  otInstance *aInstance
)

Fungsi ini menampilkan port yang sedang diproses server SRP.

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
Hasil
Port server SRP. Nilai ini akan menampilkan 0 jika server tidak berjalan.

otSrpServerGetResponseCounter

const otSrpServerResponseCounters * otSrpServerGetResponseCounters(
  otInstance *aInstance
)

Fungsi ini menampilkan penghitung respons dari server SRP.

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

otSrpServerGetState

otSrpServerState otSrpServerGetState(
  otInstance *aInstance
)

Fungsi ini 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
)

Fungsi ini 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
)

Fungsi ini melaporkan hasil pemrosesan update SRP ke server SRP.

Service Update Handler harus memanggil fungsi ini untuk menampilkan hasil pemrosesan pembaruan SRP-nya.

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
Error akan ditampilkan ke server SRP. Gunakan OT_ERROR_DUPLICATED untuk mewakili konflik nama DNS.

otSrpServerHostFindNextService

const otSrpServerService * otSrpServerHostFindNextService(
  const otSrpServerHost *aHost,
  const otSrpServerService *aPrevService,
  otSrpServerServiceFlags aFlags,
  const char *aServiceName,
  const char *aInstanceName
)

Fungsi ini menemukan layanan pencocokan berikutnya pada host.

Kombinasi tanda dan nama layanan dan instance memungkinkan iterasi pada daftar lengkap layanan dan/atau subset layanan yang cocok dengan kondisi tertentu, atau menemukan layanan tertentu.

Untuk menjalankan iterasi pada semua layanan host: service = otSrpServerHostFindNextService(host, service, OT_SRP_SERVER_FLAGS_ANY_SERVICE, NULL, NULL);

Untuk melakukan iterasi melalui layanan dasar saja (mengecualikan sub-jenis): service = otSrpServerHostFindNextService(host, service, OT_SRP_SERVER_FLAGS_BASE_TYPE_SERVICE_ONLY, NULL, NULL);

Untuk melakukan iterasi sub-jenis dari nama instance tertentu instanceName: service = otSrpServerHostFindNextService(host, service, OT_SRP_SERVER_FLAGS_SUB_TYPE_SERVICE_ONLY, NULL, instanceName);

Untuk menemukan layanan tertentu dengan nama layanan serviceName dan nama instance layanan instanceName: service = otSrpServerHostFindNextService(host, NULL, OT_SRP_SERVER_FLAGS_ANY_SERVICE, serviceName, instanceName);

Untuk menemukan layanan jenis dasar dengan nama instance layanan tertentu instanceName: service = otSrpServerHostFindNextService(host, NULL, OT_SRP_SERVER_FLAGS_BASE_TYPE_SERVICE_ONLY, NULL, instanceName);

Detail
Parameter
[in] aHost
Pointer ke host layanan SRP (HARUS NOT be NULL).
[in] aPrevService
Pointer ke layanan sebelumnya atau NULL untuk dimulai dari awal daftar.
[in] aFlags
Tanda yang menunjukkan layanan mana yang akan disertakan (base/sub-type, active/delete).
[in] aServiceName
Nama layanan yang akan dicocokkan. Setel ke NULL untuk menerima nama apa pun.
[in] aInstanceName
Nama instance layanan yang akan dicocokkan. Setel ke NULL untuk menerima nama apa pun.
Hasil
Pointer ke layanan yang cocok berikutnya atau NULL jika tidak ada layanan yang cocok.

otSrpServerHostGetAddress

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

Fungsi ini menampilkan alamat host yang diberikan.

Detail
Parameter
[in] aHost
Pointer ke host layanan SRP.
[out] aAddressesNum
Pointer tempat kita harus menghasilkan output jumlah alamat.
Hasil
Pointer ke array Alamat IPv6.

otSrpServerHostGetFullName

const char * otSrpServerHostGetFullName(
  const otSrpServerHost *aHost
)

Fungsi ini menampilkan nama lengkap host.

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

otSrpServerHostGetLeaseInfo

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

Fungsi ini menampilkan informasi LEASE dan KEY-LEASE dari host yang diberikan.

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

otSrpServerHostGetNextService

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

Fungsi ini menampilkan layanan berikutnya (tidak termasuk layanan subjenis) dari host tertentu.

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 lagi layanan.

otSrpServerHostIsDeleted

bool otSrpServerHostIsDeleted(
  const otSrpServerHost *aHost
)

Fungsi ini memberi tahu apakah host layanan SRP telah dihapus.

Host layanan SRP dapat dihapus, tetapi mempertahankan namanya untuk penggunaan di masa mendatang. Dalam hal ini, instance host tidak dihapus dari server/pendaftaran SRP.

Detail
Parameter
[in] aHost
Pointer ke host layanan SRP.
Hasil
TRUE jika host telah dihapus, FALSE jika tidak.

otSrpServerIsAutoEnableMode

bool otSrpServerIsAutoEnableMode(
  otInstance *aInstance
)

Fungsi ini menunjukkan apakah mode aktifkan otomatis diaktifkan atau dinonaktifkan.

Fungsi ini memerlukan fitur OPENTHREAD_CONFIG_BORDER_ROUTING_ENABLE.

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

otSrpServerServiceGetFullName

const char * otSrpServerServiceGetFullName(
  const otSrpServerService *aService
)

Fungsi ini menampilkan nama instance layanan lengkap dari layanan.

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

otSrpServerServiceGetHost

const otSrpServerHost * otSrpServerServiceGetHost(
  const otSrpServerService *aService
)

Fungsi ini menampilkan host tempat instance layanan berada.

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

otSrpServerServiceGetInstanceName

const char * otSrpServerServiceGetInstanceName(
  const otSrpServerService *aService
)

Fungsi ini menampilkan nama instance layanan lengkap dari layanan.

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

otSrpServerServiceGetLeaseInfo

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

Fungsi ini menampilkan informasi LEASE dan KEY-LEASE layanan tertentu.

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

otSrpServerServiceGetPort

uint16_t otSrpServerServiceGetPort(
  const otSrpServerService *aService
)

Fungsi ini menampilkan port instance layanan.

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

otSrpServerServiceGetPriority

uint16_t otSrpServerServiceGetPriority(
  const otSrpServerService *aService
)

Fungsi ini menampilkan prioritas instance layanan.

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

otSrpServerServiceGetServiceName

const char * otSrpServerServiceGetServiceName(
  const otSrpServerService *aService
)

Fungsi ini menampilkan nama layanan lengkap dari layanan.

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

otSrpServerServiceGetServiceSubTypeLabel

otError otSrpServerServiceGetServiceSubTypeLabel(
  const otSrpServerService *aService,
  char *aLabel,
  uint8_t aMaxSize
)

Fungsi ini mendapatkan label subjenis dari nama layanan.

Fungsi ini dimaksudkan untuk digunakan jika aService adalah subjenis, yaitu otSrpServerServiceIsSubType() untuk layanan menampilkan TRUE. Jika bukan sub-jenis, fungsi ini akan menampilkan OT_ERROR_INVALID_ARGS.

Nama layanan lengkap untuk layanan sub-jenis mengikuti "._sub...". Fungsi ini menyalin ke dalam buffer aLabel.

aLabel dipastikan untuk selalu diakhiri dengan null setelah ditampilkan meskipun terjadi kegagalan.

Detail
Parameter
[in] aService
Pointer ke layanan SRP.
[out] aLabel
Pointer ke buffer untuk menyalin nama label subjenis.
[in] aMaxSize
Ukuran maksimum buffer aLabel.
Nilai yang Ditampilkan
OT_ERROR_NONE
aLabel berhasil diperbarui.
OT_ERROR_NO_BUFS
Label subjenis tidak dapat dimuat dalam buffer aLabel (jumlah karakter dari label yang dapat dimuat disalin dalam aLabel yang memastikannya diakhiri dengan null).
OT_ERROR_INVALID_ARGS
Layanan SRP bukan sub-jenis.

otSrpServerServiceGetTtl

uint32_t otSrpServerServiceGetTtl(
  const otSrpServerService *aService
)

Fungsi ini menampilkan TTL dari instance layanan.

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

otSrpServerServiceGetTxtData

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

Fungsi ini menampilkan data data TXT instance layanan.

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

otSrpServerServiceGetWeight

uint16_t otSrpServerServiceGetWeight(
  const otSrpServerService *aService
)

Fungsi ini menampilkan bobot instance layanan.

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

otSrpServerServiceIsDeleted

bool otSrpServerServiceIsDeleted(
  const otSrpServerService *aService
)

Fungsi ini menunjukkan apakah layanan SRP telah dihapus atau belum.

Layanan SRP dapat dihapus tetapi mempertahankan namanya untuk penggunaan di masa mendatang. Dalam hal ini, instance layanan tidak dihapus dari server/pendaftaran SRP. Dijamin bahwa semua layanan dihapus jika host dihapus.

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

otSrpServerServiceIsSubType

bool otSrpServerServiceIsSubType(
  const otSrpServerService *aService
)

Fungsi ini menunjukkan apakah layanan SRP adalah sub-jenis atau tidak.

Detail
Parameter
[in] aService
Pointer ke layanan SRP.
Hasil
TRUE jika layanan merupakan subjenis, FALSE jika tidak.

otSrpServerSetAddressMode

otError otSrpServerSetAddressMode(
  otInstance *aInstance,
  otSrpServerAddressMode aMode
)

Fungsi ini 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 yang Ditampilkan
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
)

Fungsi ini 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 yang Ditampilkan
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
)

Fungsi ini mengaktifkan/menonaktifkan mode aktifkan otomatis pada server SRP.

Fungsi ini memerlukan fitur OPENTHREAD_CONFIG_BORDER_ROUTING_ENABLE.

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

Mode ini dapat dinonaktifkan oleh panggilan otSrpServerSetAutoEnableMode() dengan aEnabled yang ditetapkan 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 server SRP saat ini (misalnya, jika diaktifkan, API ini akan tetap diaktifkan).

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

otSrpServerSetDomain

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

Fungsi ini menetapkan domain di server SRP.

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

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
[in] aDomain
Domain yang akan ditetapkan. HARUS TIDAK NULL.
Nilai yang Ditampilkan
OT_ERROR_NONE
Berhasil menyetel domain ke aDomain.
OT_ERROR_INVALID_STATE
Server SRP sudah 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
)

Fungsi ini mengaktifkan/menonaktifkan server SRP.

Di Router Border, 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
)

Fungsi ini 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 yang Ditampilkan
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
)

Fungsi ini 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
)

Fungsi ini menetapkan konfigurasi TTL server SRP.

TTL yang diberikan akan selalu tidak lebih besar dari interval sewa 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 yang Ditampilkan
OT_ERROR_NONE
Berhasil menetapkan konfigurasi TTL.
OT_ERROR_INVALID_ARGS
Konfigurasi TTL tidak valid.

Materi

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