Google berkomitmen untuk mendorong terwujudnya keadilan ras bagi komunitas Kulit Hitam. Lihat caranya.

SRP

Modul ini mencakup fungsi yang mengontrol perilaku klien SRP.

Ringkasan

Modul ini mencakup fungsi Protokol Pendaftaran Layanan.

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

Fungsi-fungsi dalam modul ini hanya tersedia jika fitur OPENTHREAD_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
Pencacahan ini menentukan status item klien SRP (layanan atau host info).
otSrpServerAddressMode {
OT_SRP_SREVER_ADDRESS_MODE_UNICAST = 0,
OT_SRP_SERVER_ADDRESS_MODE_ANYCAST = 1
}
enum
Pencacahan 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
Mewakili status server SRP.

Typedefs

otSrpClientAutoStartCallback )(const otSockAddr *aServerSockAddr, void *aContext) typedef
void(*
Jenis penunjuk fungsi ini mendefinisikan panggilan balik yang digunakan oleh klien SRP untuk memberi tahu pengguna saat dimulai atau dihentikan secara otomatis.
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 penunjuk fungsi ini mendefinisikan panggilan balik yang digunakan oleh klien SRP untuk memberi tahu pengguna tentang perubahan/peristiwa/kesalahan.
otSrpClientHostInfo typedef
Struktur ini mewakili info host klien SRP.
otSrpClientService typedef
Struktur ini mewakili layanan klien SRP.
otSrpServerAddressMode typedef
Pencacahan ini mewakili mode alamat yang digunakan oleh server SRP.
otSrpServerHost typedef
Jenis buram ini mewakili host layanan SRP.
otSrpServerLeaseConfig typedef
Struktur ini mencakup konfigurasi SRP server LEASE dan KEY-LEASE.
otSrpServerService typedef
Jenis buram ini mewakili layanan SRP.
otSrpServerServiceFlags typedef
uint8_t
Jenis bendera layanan untuk menunjukkan layanan mana yang akan disertakan atau dikecualikan saat mencari di (atau mengulangi) daftar layanan SRP.
otSrpServerServiceUpdateHandler )(otSrpServerServiceUpdateId aId, const otSrpServerHost *aHost, uint32_t aTimeout, void *aContext) typedef
void(*
Fungsi ini menangani pembaruan layanan SRP.
otSrpServerServiceUpdateId typedef
uint32_t
ID transaksi pembaruan layanan SRP di Server SRP.

Fungsi

otSrpClientAddService ( otInstance *aInstance, otSrpClientService *aService)
Fungsi ini menambahkan layanan untuk didaftarkan ke server.
otSrpClientBuffersAllocateService ( otInstance *aInstance)
Fungsi ini mengalokasikan entri layanan baru dari kumpulan.
otSrpClientBuffersFreeAllServices ( otInstance *aInstance)
void
Fungsi ini membebaskan semua entri layanan yang dialokasikan sebelumnya.
otSrpClientBuffersFreeService ( otInstance *aInstance, otSrpClientBuffersServiceEntry *aService)
void
Fungsi ini membebaskan entri layanan yang dialokasikan sebelumnya.
otSrpClientBuffersGetHostAddressesArray ( otInstance *aInstance, uint8_t *aArrayLength)
Fungsi ini mendapatkan larik entri alamat IPv6 untuk digunakan sebagai daftar alamat host klien SRP.
otSrpClientBuffersGetHostNameString ( otInstance *aInstance, uint16_t *aSize)
char *
Fungsi ini membuat buffer string digunakan untuk nama host klien SRP.
otSrpClientBuffersGetServiceEntryInstanceNameString ( otSrpClientBuffersServiceEntry *aEntry, uint16_t *aSize)
char *
Fungsi ini mendapatkan buffer string untuk nama instance layanan dari entri layanan.
otSrpClientBuffersGetServiceEntryServiceNameString ( otSrpClientBuffersServiceEntry *aEntry, uint16_t *aSize)
char *
Fungsi ini mendapatkan buffer string untuk nama layanan dari entri layanan.
otSrpClientBuffersGetServiceEntryTxtBuffer ( otSrpClientBuffersServiceEntry *aEntry, uint16_t *aSize)
uint8_t *
Fungsi ini mendapatkan buffer untuk data TXT dari entri layanan.
otSrpClientBuffersGetSubTypeLabelsArray ( otSrpClientBuffersServiceEntry *aEntry, uint16_t *aArrayLength)
const char **
Fungsi ini mendapatkan larik untuk label subtipe 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.
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 pembaruan 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 IPv6 dan nomor port) dari server SRP yang digunakan oleh klien SRP.
otSrpClientGetServices ( otInstance *aInstance)
Fungsi ini mendapatkan daftar layanan yang dikelola oleh klien.
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 catatan kunci layanan" diaktifkan atau dinonaktifkan.
otSrpClientItemStateToString ( otSrpClientItemState aItemState)
const char *
Fungsi ini mengubah otSrpClientItemState ke 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 tidak terdaftar dengan server.
otSrpClientSetCallback ( otInstance *aInstance, otSrpClientCallback aCallback, void *aContext)
void
Fungsi ini mengatur panggilan balik 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 mengatur/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 mengatur interval sewa yang digunakan dalam permintaan pembaruan SRP.
otSrpClientSetServiceKeyRecordEnabled ( otInstance *aInstance, bool aEnabled)
void
Fungsi ini mengaktifkan/menonaktifkan mode "penyertaan catatan kunci layanan".
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 mengembalikan mode alamat yang digunakan oleh server SRP.
otSrpServerGetAnycastModeSequenceNumber ( otInstance *aInstance)
uint8_t
Fungsi ini mengembalikan nomor urut yang digunakan dengan mode alamat anycast.
otSrpServerGetDomain ( otInstance *aInstance)
const char *
Fungsi ini mengembalikan domain yang diotorisasi ke server SRP.
otSrpServerGetLeaseConfig ( otInstance *aInstance, otSrpServerLeaseConfig *aLeaseConfig)
void
Fungsi ini mengembalikan konfigurasi SRP server LEASE dan KEY-LEASE.
otSrpServerGetNextHost ( otInstance *aInstance, const otSrpServerHost *aHost)
Fungsi ini mengembalikan host terdaftar berikutnya di server SRP.
otSrpServerGetState ( otInstance *aInstance)
Fungsi ini mengembalikan status server SRP.
otSrpServerHandleServiceUpdateResult ( otInstance *aInstance, otSrpServerServiceUpdateId aId, otError aError)
void
Fungsi ini melaporkan hasil pemrosesan pembaruan 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 mengembalikan alamat host yang diberikan.
otSrpServerHostGetFullName (const otSrpServerHost *aHost)
const char *
Fungsi ini mengembalikan nama lengkap host.
otSrpServerHostGetNextService (const otSrpServerHost *aHost, const otSrpServerService *aService)
Fungsi ini mengembalikan layanan berikutnya (tidak termasuk layanan sub-jenis) dari host yang diberikan.
otSrpServerHostIsDeleted (const otSrpServerHost *aHost)
bool
Fungsi ini memberi tahu jika host layanan SRP telah dihapus.
otSrpServerServiceGetFullName (const otSrpServerService *aService)
const char *
Fungsi ini mengembalikan nama instance layanan lengkap dari layanan.
otSrpServerServiceGetHost (const otSrpServerService *aService)
Fungsi ini mengembalikan host tempat instance layanan berada.
otSrpServerServiceGetInstanceName (const otSrpServerService *aService)
const char *
Fungsi ini mengembalikan nama instance layanan lengkap dari layanan.
otSrpServerServiceGetPort (const otSrpServerService *aService)
uint16_t
Fungsi ini mengembalikan port instance layanan.
otSrpServerServiceGetPriority (const otSrpServerService *aService)
uint16_t
Fungsi ini mengembalikan prioritas instance layanan.
otSrpServerServiceGetServiceName (const otSrpServerService *aService)
const char *
Fungsi ini mengembalikan nama layanan lengkap dari layanan tersebut.
otSrpServerServiceGetServiceSubTypeLabel (const otSrpServerService *aService, char *aLabel, uint8_t aMaxSize)
Fungsi ini mendapatkan label sub-tipe dari nama layanan.
otSrpServerServiceGetTxtData (const otSrpServerService *aService, uint16_t *aDataLength)
const uint8_t *
Fungsi ini mengembalikan data rekaman TXT dari instance layanan.
otSrpServerServiceGetWeight (const otSrpServerService *aService)
uint16_t
Fungsi ini mengembalikan bobot instance layanan.
otSrpServerServiceIsDeleted (const otSrpServerService *aService)
bool
Fungsi ini menunjukkan apakah layanan SRP telah dihapus atau tidak.
otSrpServerServiceIsSubType (const otSrpServerService *aService)
bool
Fungsi ini menunjukkan apakah layanan SRP adalah sub-tipe atau tidak.
otSrpServerSetAddressMode ( otInstance *aInstance, otSrpServerAddressMode aMode)
Fungsi ini mengatur mode alamat yang akan digunakan oleh server SRP.
otSrpServerSetAnycastModeSequenceNumber ( otInstance *aInstance, uint8_t aSequenceNumber)
Fungsi ini mengatur nomor urut yang digunakan dengan mode alamat anycast.
otSrpServerSetDomain ( otInstance *aInstance, const char *aDomain)
Fungsi ini mengatur domain pada server SRP.
otSrpServerSetEnabled ( otInstance *aInstance, bool aEnabled)
void
Fungsi ini mengaktifkan/menonaktifkan server SRP.
otSrpServerSetLeaseConfig ( otInstance *aInstance, const otSrpServerLeaseConfig *aLeaseConfig)
Fungsi ini mengatur konfigurasi SRP server LEASE dan KEY-LEASE.
otSrpServerSetServiceUpdateHandler ( otInstance *aInstance, otSrpServerServiceUpdateHandler aServiceHandler, void *aContext)
void
Fungsi ini mengatur penangan pembaruan layanan SRP di server SRP.

Struktur

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 SRP server LEASE dan KEY-LEASE.

Enumerasi

enum anonim

 anonymous enum
Properti
OT_SRP_SERVER_SERVICE_FLAG_ACTIVE

Sertakan layanan aktif (tidak dihapus).

OT_SRP_SERVER_SERVICE_FLAG_BASE_TYPE

Sertakan layanan dasar (bukan sub-jenis).

OT_SRP_SERVER_SERVICE_FLAG_DELETED

Sertakan layanan yang dihapus.

OT_SRP_SERVER_SERVICE_FLAG_SUB_TYPE

Sertakan layanan sub-jenis.

enum anonim

 anonymous enum
Properti
OT_SRP_SERVER_FLAGS_ANY_SERVICE

Konstan ini mendefinisikan otSrpServerServiceFlags kombinasi menerima layanan apapun (base / sub-tipe, / aktif dihapus).

OT_SRP_SERVER_FLAGS_ANY_TYPE_ACTIVE_SERVICE

Konstan ini mendefinisikan otSrpServerServiceFlags kombinasi menerima layanan aktif (tidak dihapus).

OT_SRP_SERVER_FLAGS_ANY_TYPE_DELETED_SERVICE

Konstan ini mendefinisikan otSrpServerServiceFlags kombinasi menerima layanan dihapus.

OT_SRP_SERVER_FLAGS_BASE_TYPE_SERVICE_ONLY

Konstan ini mendefinisikan otSrpServerServiceFlags kombinasi menerima layanan dasar saja.

OT_SRP_SERVER_FLAGS_SUB_TYPE_SERVICE_ONLY

Konstan ini mendefinisikan otSrpServerServiceFlags kombinasi menerima layanan sub-jenis saja.

otSrpClientItemState

 otSrpClientItemState

Pencacahan ini menentukan status item klien SRP (layanan atau host info).

Properti
OT_SRP_CLIENT_ITEM_STATE_ADDING

Item sedang ditambahkan/didaftarkan.

OT_SRP_CLIENT_ITEM_STATE_REFRESHING

Item sedang disegarkan.

OT_SRP_CLIENT_ITEM_STATE_REGISTERED

Item terdaftar dengan server.

OT_SRP_CLIENT_ITEM_STATE_REMOVED

Barang 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 yang akan di-refresh (daftar ulang untuk memperbaharui sewa).

OT_SRP_CLIENT_ITEM_STATE_TO_REMOVE

Barang yang akan dihapus.

otSrpServerAddressMode

 otSrpServerAddressMode

Pencacahan ini mewakili mode alamat yang digunakan oleh server SRP.

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

Properti
OT_SRP_SERVER_ADDRESS_MODE_ANYCAST

Modus alamat Anycast.

OT_SRP_SREVER_ADDRESS_MODE_UNICAST

Mode alamat unicast.

otSrpServerState

 otSrpServerState

Mewakili status server SRP.

Properti
OT_SRP_SERVER_STATE_DISABLED

Server SRP dinonaktifkan.

OT_SRP_SERVER_STATE_RUNNING

Server SRP sedang berjalan.

OT_SRP_SERVER_STATE_STOPPED

Server SRP dihentikan.

Typedefs

otSrpClientAutoStartCallback

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

Jenis penunjuk fungsi ini mendefinisikan panggilan balik yang digunakan oleh klien SRP untuk memberi tahu pengguna saat dimulai atau dihentikan secara otomatis.

Ini hanya digunakan ketika fitur auto-start OPENTHREAD_CONFIG_SRP_CLIENT_AUTO_START_API_ENABLE diaktifkan.

Panggilan balik ini dipanggil ketika mode mulai otomatis diaktifkan dan klien SRP dimulai atau dihentikan secara otomatis.

rincian
Parameter
[in] aServerSockAddress
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 (disediakan saat panggilan balik 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 penunjuk fungsi ini mendefinisikan panggilan balik yang digunakan oleh klien SRP untuk memberi tahu pengguna tentang perubahan/peristiwa/kesalahan.

Panggilan balik ini dipanggil pada pendaftaran pembaruan yang berhasil (yaitu, menambah/menghapus info host dan/atau beberapa layanan) dengan server SRP, atau jika ada kegagalan atau kesalahan (misalnya, server menolak pembaruan permintaan atau klien kehabisan waktu menunggu tanggapan, dll).

Dalam kasus reregistration sukses update, aError parameter akan OT_ERROR_NONE dan info host dan daftar lengkap dari layanan disediakan sebagai parameter masukan untuk callback. Perhatikan bahwa info dan layanan tuan rumah masing-masing melacak negara sendiri dalam yang sesuai mState variabel anggota dari struktur data terkait (negara yang menunjukkan apakah host-info / jasa terdaftar atau dihapus atau masih sedang ditambahkan / dihapus, dll).

Daftar layanan dihapus dilewatkan sebagai sendiri terkait daftar aRemovedServices di panggil balik. Perhatikan bahwa ketika callback ini dipanggil, SRP klien (OpenThread implementasi) dilakukan dengan contoh yang dihapus layanan yang tercantum dalam aRemovedServices dan tidak ada trek lagi / toko mereka (yaitu, jika dari callback kita sebut otSrpClientGetServices() layanan yang dihapus tidak akan ada dalam daftar yang dikembalikan). Memberikan daftar terpisah dari layanan yang dihapus dalam panggilan balik membantu menunjukkan kepada pengguna item mana yang sekarang dihapus dan memungkinkan pengguna untuk mengklaim kembali/menggunakan kembali instance.

Jika server menolak permintaan pembaruan SRP, kode respons DNS (RFC 2136) dipetakan ke galat berikut:

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

Kesalahan berikut juga mungkin terjadi:

  • OT_ERROR_RESPONSE_TIMEOUT : Waktu habis menunggu tanggapan dari server (klien akan terus mencoba lagi).
  • OT_ERROR_INVALID_ARGS: struktur pelayanan yang diberikan tidak valid (misalnya, buruk nama layanan atau otDnsTxtEntry ).
  • OT_ERROR_NO_BUFS : Buffer tidak cukup untuk menyiapkan atau mengirim pesan pembaruan.

Perhatikan bahwa jika terjadi kegagalan, klien melanjutkan operasinya, yaitu menyiapkan dan (kembali) mentransmisikan pesan pembaruan SRP ke server, setelah beberapa interval tunggu. Coba lagi yang menunggu dimulai interval dari nilai minimum dan meningkat dengan faktor pertumbuhan setiap kegagalan sampai nilai max (lihat konfigurasi parameter OPENTHREAD_CONFIG_SRP_CLIENT_MIN_RETRY_WAIT_INTERVAL dan yang terkait untuk lebih jelasnya).

rincian
Parameter
[in] aError
Kesalahan (lihat di atas).
[in] aHostInfo
Sebuah pointer ke info host.
[in] aService
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 (disediakan saat panggilan balik didaftarkan).

otSrpClientHostInfo

struct otSrpClientHostInfo otSrpClientHostInfo

Struktur ini mewakili info host klien SRP.

otSrpClientService

struct otSrpClientService otSrpClientService

Struktur ini mewakili layanan klien SRP.

Nilai-nilai dalam struktur ini, termasuk buffer string untuk nama dan entri data TXT, HARUS bertahan dan tinggal konstan setelah sebuah contoh dari struktur ini diteruskan ke OpenThread dari otSrpClientAddService() atau otSrpClientRemoveService() .

otSrpServerAddressMode

enum otSrpServerAddressMode otSrpServerAddressMode

Pencacahan ini mewakili mode alamat yang digunakan oleh server SRP.

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

otSrpServerHost

struct otSrpServerHost otSrpServerHost

Jenis buram ini mewakili host layanan SRP.

otSrpServerLeaseConfig

struct otSrpServerLeaseConfig otSrpServerLeaseConfig

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

otSrpServerService

struct otSrpServerService otSrpServerService

Jenis buram ini mewakili layanan SRP.

otSrpServerServiceFlags

uint8_t otSrpServerServiceFlags

Jenis bendera layanan untuk menunjukkan layanan mana yang akan disertakan atau dikecualikan saat mencari di (atau mengulangi) daftar layanan SRP.

Ini adalah kombinasi dari bit-flag. Bit-bendera tertentu didefinisikan dalam pencacahan OT_SRP_SERVER_FLAG_* .

otSrpServerServiceUpdateHandler

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

Fungsi ini menangani pembaruan layanan SRP.

Fungsi ini dipanggil oleh server SRP untuk memberi tahu bahwa host SRP dan kemungkinan layanan SRP sedang diperbarui. Adalah penting bahwa update SRP tidak berkomitmen sampai pawang mengembalikan hasilnya dengan menelepon otSrpServerHandleServiceUpdateResult atau kali keluar setelah aTimeout .

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

Handler yang lebih umum dapat melakukan validasi pada host/layanan SRP dan menolak pembaruan SRP jika ada validasi yang gagal. Misalnya, Proxy Periklanan harus mengiklankan (atau menghapus) host dan layanan pada tautan berkemampuan multicast dan mengembalikan kode kesalahan tertentu jika terjadi kegagalan.

rincian
Parameter
[in] aId
ID transaksi pembaruan layanan. ID ini harus dilalui kembali dengan otSrpServerHandleServiceUpdateResult .
[in] aHost
Pointer ke objek otSrpServerHost yang berisi pembaruan SRP. Handler harus memublikasikan/membatalkan publikasi host dan setiap layanan menunjuk ke host ini dengan aturan di bawah ini:
  1. Jika tuan rumah tidak dihapus (ditandai dengan otSrpServerHostIsDeleted ), maka harus dipublikasikan atau diperbarui dengan mDNS. Jika tidak, host harus tidak dipublikasikan (hapus AAAA RR).
  2. Untuk setiap titik layanan ke host ini, layanan tersebut harus dibatalkan publikasinya jika host ingin dibatalkan publikasinya. Jika tidak, pawang harus mempublikasikan atau memperbarui layanan jika tidak dihapus (ditunjukkan oleh otSrpServerServiceIsDeleted ) dan un-menerbitkannya saat dihapus.
[in] aTimeout
Waktu maksimum dalam milidetik bagi pawang 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.

Fungsi

otSrpClientAddService

otError otSrpClientAddService(
  otInstance *aInstance,
  otSrpClientService *aService
)

Fungsi ini menambahkan layanan untuk didaftarkan ke server.

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

The otSrpClientService contoh yang ditunjukkan oleh aService HARUS bertahan dan tetap tidak berubah setelah kembali dari fungsi ini (dengan OT_ERROR_NONE ). OpenThread akan menyimpan pointer ke instance layanan.

The otSrpClientService misalnya tidak lagi dilacak oleh OpenThread dan dapat direklamasi hanya bila

rincian
Parameter
[in] aInstance
Pointer ke instance OpenThread.
[in] aService
Sebuah pointer ke otSrpClientService contoh untuk menambahkan.
Mengembalikan Nilai
OT_ERROR_NONE
Penambahan layanan dimulai dengan sukses. The 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 pelayanan tidak valid (misalnya, buruk nama layanan atau otDnsTxtEntry ).

otSrpClientBuffersAllocateService

otSrpClientBuffersServiceEntry * otSrpClientBuffersAllocateService(
  otInstance *aInstance
)

Fungsi ini mengalokasikan entri layanan baru dari kumpulan.

Contoh entri layanan yang dikembalikan akan diinisialisasi sebagai berikut:

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

otSrpClientBuffersFreeAllServices

void otSrpClientBuffersFreeAllServices(
  otInstance *aInstance
)

Fungsi ini membebaskan semua entri layanan yang dialokasikan sebelumnya.

rincian
Parameter
[in] aInstance
Pointer ke instance OpenThread.

otSrpClientBuffersFreeService

void otSrpClientBuffersFreeService(
  otInstance *aInstance,
  otSrpClientBuffersServiceEntry *aService
)

Fungsi ini membebaskan entri layanan yang dialokasikan sebelumnya.

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

rincian
Parameter
[in] aInstance
Pointer ke instance OpenThread.
[in] aSevice
Sebuah pointer ke entri layanan gratis (HARUS TIDAK NULL).

otSrpClientBuffersGetHostAddressesArray

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

Fungsi ini mendapatkan larik entri alamat IPv6 untuk digunakan sebagai daftar alamat host klien SRP.

rincian
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).
Kembali
Sebuah pointer ke array dari otIp6Address entri (jumlah entri dikembalikan dalam aArrayLength ).

otSrpClientBuffersGetHostNameString

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

Fungsi ini membuat buffer string digunakan untuk nama host klien SRP.

rincian
Parameter
[in] aInstance
Pointer ke instance OpenThread.
[out] aSize
Pointer ke variabel untuk mengembalikan ukuran (jumlah byte) dari buffer string (HARUS TIDAK NULL).
Kembali
Pointer ke buffer char yang akan digunakan untuk nama host klien SRP.

otSrpClientBuffersGetServiceEntryInstanceNameString

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

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

rincian
Parameter
[in] aEntry
Pointer ke entri layanan yang dialokasikan sebelumnya (HARUS TIDAK NULL).
[out] aSize
Pointer ke variabel untuk mengembalikan ukuran (jumlah byte) buffer string (HARUS TIDAK NULL).
Kembali
Sebuah pointer ke buffer string.

otSrpClientBuffersGetServiceEntryServiceNameString

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

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

rincian
Parameter
[in] aEntry
Pointer ke entri layanan yang dialokasikan sebelumnya (HARUS TIDAK NULL).
[out] aSize
Pointer ke variabel untuk mengembalikan ukuran (jumlah byte) buffer string (HARUS TIDAK NULL).
Kembali
Sebuah pointer ke buffer string.

otSrpClientBuffersGetServiceEntryTxtBuffer

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

Fungsi ini mendapatkan buffer untuk data TXT dari entri layanan.

rincian
Parameter
[in] aEntry
Pointer ke entri layanan yang dialokasikan sebelumnya (HARUS TIDAK NULL).
[out] aSize
Pointer ke variabel untuk mengembalikan ukuran (jumlah byte) buffer (HARUS TIDAK NULL).
Kembali
Sebuah pointer ke buffer.

otSrpClientBuffersGetSubTypeLabelsArray

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

Fungsi ini mendapatkan larik untuk label subtipe layanan dari entri layanan.

rincian
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).
Kembali
Sebuah pointer ke array.

otSrpClientClearHostAndServices

void otSrpClientClearHostAndServices(
  otInstance *aInstance
)

Fungsi ini menghapus semua info host dan semua layanan.

Tidak seperti otSrpClientRemoveHostAndServices() yang mengirimkan pesan update ke server untuk menghapus semua info, fungsi ini membersihkan semua info segera tanpa interaksi dengan server.

rincian
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 mengirimkan pesan update ke server untuk menghapus layanan, fungsi ini membersihkan layanan dari daftar layanan klien tanpa interaksi dengan server. Pada panggilan sukses untuk fungsi ini, otSrpClientCallback TIDAK akan dipanggil dan aService entri dapat direklamasi dan digunakan kembali oleh pemanggil segera.

Fungsi ini dapat digunakan bersama dengan panggilan berikutnya ke otSrpClientAddService() (berpotensi menggunakan kembali sama aService entri dengan layanan dan contoh nama-nama yang sama) untuk memperbarui beberapa parameter dalam layanan yang ada.

rincian
Parameter
[in] aInstance
Pointer ke instance OpenThread.
[in] aService
Sebuah pointer ke otSrpClientService misalnya untuk menghapus.
Mengembalikan Nilai
OT_ERROR_NONE
The aService berhasil dihapus. Itu dapat direklamasi dan digunakan kembali 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 bila fitur auto-start 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 Utas untuk memverifikasi bahwa server SRP yang dipilih masih ada di dalamnya.

Perhatikan bahwa panggilan untuk otSrpClientStop() juga akan menonaktifkan mode auto-start.

rincian
Parameter
[in] aInstance
Pointer ke instance OpenThread.

otSrpClientEnableAutoStartMode

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

Fungsi ini mengaktifkan mode mulai otomatis.

Ini hanya tersedia bila fitur auto-start OPENTHREAD_CONFIG_SRP_CLIENT_AUTO_START_API_ENABLE diaktifkan.

Config pilihan OPENTHREAD_CONFIG_SRP_CLIENT_AUTO_START_DEFAULT_MODE Menentukan mode auto-start default (apakah itu diaktifkan atau dinonaktifkan pada awal PL stack).

Ketika mulai otomatis diaktifkan, klien SRP akan memantau Data Jaringan Utas untuk entri Layanan Server SRP dan secara otomatis memulai dan menghentikan klien ketika server SRP terdeteksi.

Jika beberapa server SRP ditemukan, yang acak akan dipilih. Jika server SRP yang dipilih tidak lagi terdeteksi (tidak lagi ada di Data Jaringan Thread), klien SRP akan dihentikan dan kemudian dapat beralih ke server SRP lain (jika tersedia).

Ketika klien SRP secara eksplisit dimulai melalui panggilan sukses untuk otSrpClientStart() , alamat SRP yang diberikan server dalam otSrpClientStart() akan terus digunakan terlepas dari keadaan mode auto-start dan apakah alamat SRP server yang sama ditemukan atau tidak di Data Jaringan Utas. Dalam hal ini, hanya eksplisit otSrpClientStop() panggilan akan berhenti klien.

rincian
Parameter
[in] aInstance
Pointer ke instance OpenThread.
[in] aCallback
Panggilan balik untuk memberi tahu saat klien dimulai/dihentikan secara otomatis. Bisa NULL jika tidak diperlukan.
[in] aContext
Sebuah konteks untuk dilewati saat menjalankan aCallback .

otSrpClientGetDomainName

const char * otSrpClientGetDomainName(
  otInstance *aInstance
)

Fungsi ini mendapatkan nama domain yang digunakan oleh klien SRP.

Fungsi ini membutuhkan OPENTHREAD_CONFIG_SRP_CLIENT_DOMAIN_NAME_API_ENABLE harus diaktifkan.

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

rincian
Parameter
[in] aInstance
Pointer ke instance OpenThread.
Kembali
String nama domain.

otSrpClientGetHostInfo

const otSrpClientHostInfo * otSrpClientGetHostInfo(
  otInstance *aInstance
)

Fungsi ini mendapatkan info host.

rincian
Parameter
[in] aInstance
Pointer ke instance OpenThread.
Kembali
Sebuah pointer ke struktur info host.

otSrpClientGetKeyLeaseInterval

uint32_t otSrpClientGetKeyLeaseInterval(
  otInstance *aInstance
)

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

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

rincian
Parameter
[in] aInstance
Pointer ke instance OpenThread.
Kembali
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 sewa yang berbeda.

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

otSrpClientGetServerAddress

const otSockAddr * otSrpClientGetServerAddress(
  otInstance *aInstance
)

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

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

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

otSrpClientGetServices

const otSrpClientService * otSrpClientGetServices(
  otInstance *aInstance
)

Fungsi ini mendapatkan daftar layanan yang dikelola oleh klien.

rincian
Parameter
[in] aInstance
Pointer ke instance OpenThread.
Kembali
Pointer ke kepala linked-list dari semua layanan atau NULL jika daftar kosong.

otSrpClientIsAutoStartModeEnabled

bool otSrpClientIsAutoStartModeEnabled(
  otInstance *aInstance
)

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

Ini hanya tersedia bila fitur auto-start OPENTHREAD_CONFIG_SRP_CLIENT_AUTO_START_API_ENABLE diaktifkan.

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

otSrpClientBerjalan

bool otSrpClientIsRunning(
  otInstance *aInstance
)

Fungsi ini menunjukkan apakah klien SRP sedang berjalan atau tidak.

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

otSrpClientIsServiceKeyRecordEnabled

bool otSrpClientIsServiceKeyRecordEnabled(
  otInstance *aInstance
)

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

Fungsi ini tersedia bila OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE konfigurasi diaktifkan.

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

otSrpClientItemStateToString

const char * otSrpClientItemStateToString(
  otSrpClientItemState aItemState
)

Fungsi ini mengubah otSrpClientItemState ke string.

rincian
Parameter
[in] aItemState
Status barang.
Kembali
Sebuah 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 menghapus dengan server yang SRP.

Jika info host akan dihapus secara permanen dari server, aRemoveKeyLease harus siap untuk true yang menghilangkan sewa kunci yang terkait dengan host pada server. Jika tidak, catatan sewa kunci disimpan seperti sebelumnya, yang memastikan bahwa server menyimpan nama host sebagai cadangan ketika klien sekali lagi dapat menyediakan dan mendaftarkan layanannya.

The aSendUnregToServer menentukan perilaku ketika info host belum terdaftar server. Jika aSendUnregToServer diatur ke false (yang merupakan default / nilai yang diharapkan) maka klien SRP akan segera menghapus info dan layanan tuan rumah tanpa mengirim pesan pembaruan ke server (tidak perlu memperbarui server jika ada yang belum terdaftar itu). Jika aSendUnregToServer diatur untuk true maka klien SRP akan mengirim pesan update ke server. Perhatikan bahwa jika info host terdaftar maka nilai aSendUnregToServer tidak peduli dan klien SRP akan selalu mengirim pesan update ke server meminta penghapusan semua info.

Salah satu situasi di mana aSendUnregToServer dapat berguna adalah pada perangkat ulang / reboot, penelepon mungkin ingin menghapus layanan sebelumnya terdaftar dengan server. Dalam hal ini, pemanggil dapat otSrpClientSetHostName() dan kemudian meminta otSrpClientRemoveHostAndServices() dengan aSendUnregToServer sebagai true .

rincian
Parameter
[in] aInstance
Pointer ke instance OpenThread.
[in] aRemoveKeyLease
Boolean yang menunjukkan apakah sewa kunci host juga harus dihapus atau tidak.
[in] aSendUnregToServer
Boolean yang menunjukkan apakah akan mengirim pembaruan ke server saat info host tidak terdaftar.
Mengembalikan Nilai
OT_ERROR_NONE
Penghapusan info dan layanan host berhasil dimulai. The otSrpClientCallback akan dipanggil untuk melaporkan status.
OT_ERROR_ALREADY
Info host sudah dihapus.

otSrpClientRemoveLayanan

otError otSrpClientRemoveService(
  otInstance *aInstance,
  otSrpClientService *aService
)

Fungsi ini meminta layanan untuk tidak terdaftar dengan server.

Setelah panggilan sukses untuk fungsi ini, otSrpClientCallback akan dipanggil untuk melaporkan status permintaan menghapus dengan server yang SRP.

The otSrpClientService contoh yang ditunjukkan oleh aService HARUS bertahan dan tetap tidak berubah setelah kembali dari fungsi ini (dengan OT_ERROR_NONE ). OpenThread akan menyimpan instance layanan selama proses penghapusan. Hanya setelah otSrpClientCallback disebut menunjukkan contoh layanan dihapus dari SRP klien daftar layanan dan dapat dibebaskan / digunakan kembali.

rincian
Parameter
[in] aInstance
Pointer ke instance OpenThread.
[in] aService
Sebuah pointer ke otSrpClientService contoh untuk menghapus.
Mengembalikan Nilai
OT_ERROR_NONE
Penghapusan layanan berhasil dimulai. The 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 mengatur panggilan balik untuk memberi tahu pemanggil tentang peristiwa/perubahan dari klien SRP.

Klien SRP memungkinkan satu panggilan balik untuk didaftarkan. Jadi panggilan berturut-turut ke fungsi ini akan menimpa fungsi panggilan balik yang ditetapkan sebelumnya.

rincian
Parameter
[in] aInstance
Pointer ke instance OpenThread.
[in] aCallback
Panggilan balik untuk memberitahukan peristiwa dan perubahan. Bisa NULL jika tidak diperlukan.
[in] aContext
Konteks sewenang-wenang digunakan dengan aCallback .

otSrpClientSetDomainName

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

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

Fungsi ini membutuhkan OPENTHREAD_CONFIG_SRP_CLIENT_DOMAIN_NAME_API_ENABLE harus diaktifkan.

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

Nama string penyangga ditunjukkan oleh aName harus bertahan dan tetap tidak berubah setelah kembali dari fungsi ini. OpenThread akan menyimpan pointer ke string.

Nama domain dapat diatur sebelum klien dimulai atau setelah awal tapi sebelum info host terdaftar dengan server yang (info host harus baik STATE_TO_ADD atau STATE_TO_REMOVE ).

rincian
Parameter
[in] aInstance
Pointer ke instance OpenThread.
[in] aName
Pointer ke string nama domain. Jika NULL set ke default "default.service.arpa".
Mengembalikan Nilai
OT_ERROR_NONE
Label nama domain berhasil disetel.
OT_ERROR_INVALID_STATE
Info host sudah terdaftar di server.

otSrpClientSetHostAddresses

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

Fungsi ini mengatur/memperbarui daftar alamat IPv6 host.

Alamat host IPv6 dapat diatur/diubah sebelum memulai atau selama pengoperasian klien SRP (misalnya untuk menambah/menghapus atau mengubah alamat host yang terdaftar sebelumnya), kecuali jika info host sedang dihapus (klien sibuk menangani permintaan penghapusan dari yang sebelumnya panggilan untuk otSrpClientRemoveHostAndServices() dan info tuan rumah masih berada di salah STATE_TO_REMOVE atau STATE_REMOVING negara).

Host IPv6 berbagai alamat yang ditunjuk oleh aAddresses HARUS bertahan dan tetap tidak berubah setelah kembali dari fungsi ini (dengan OT_ERROR_NONE ). OpenThread akan menyimpan pointer ke array.

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

rincian
Parameter
[in] aInstance
Pointer ke instance OpenThread.
[in] aAddresses
Sebuah pointer ke array yang berisi alamat host IPv6.
[in] aNumAddresses
Jumlah alamat di aAddresses larik.
Mengembalikan Nilai
OT_ERROR_NONE
Perubahan daftar alamat IPv6 host berhasil dimulai. The otSrpClientCallback akan dipanggil untuk melaporkan status mendaftar alamat dengan server yang.
OT_ERROR_INVALID_ARGS
Daftar alamat tidak valid (misalnya, harus berisi setidaknya satu alamat).
OT_ERROR_INVALID_STATE
Host sedang dihapus dan karena itu tidak dapat mengubah alamat host.

otSrpClientSetHostName

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

This function sets the host name label.

After a successful call to this function, otSrpClientCallback will be called to report the status of host info registration with SRP server.

The name string buffer pointed to by aName MUST persist and stay unchanged after returning from this function. OpenThread will keep the pointer to the string.

The host name can be set before client is started or after start but before host info is registered with server (host info should be in either STATE_TO_ADD or STATE_REMOVED ).

Details
Parameters
[in] aInstance
A pointer to the OpenThread instance.
[in] aName
A pointer to host name label string (MUST NOT be NULL). Pointer to the string buffer MUST persist and remain valid and constant after return from this function.
Return Values
OT_ERROR_NONE
The host name label was set successfully.
OT_ERROR_INVALID_ARGS
The aName is NULL.
OT_ERROR_INVALID_STATE
The host name is already set and registered with the server.

otSrpClientSetKeyLeaseInterval

void otSrpClientSetKeyLeaseInterval(
  otInstance *aInstance,
  uint32_t aInterval
)

This function sets the key lease interval used in SRP update requests.

Changing the lease interval does not impact the accepted lease interval of already registered services/host-info. It only affects any future SRP update messages (ie, adding new services and/or refreshes of existing services).

Details
Parameters
[in] aInstance
A pointer to the OpenThread instance.
[in] aInterval
The key lease interval (in seconds). If zero, the default value specified by OPENTHREAD_CONFIG_SRP_CLIENT_DEFAULT_KEY_LEASE would be used.

otSrpClientSetLeaseInterval

void otSrpClientSetLeaseInterval(
  otInstance *aInstance,
  uint32_t aInterval
)

This function sets the lease interval used in SRP update requests.

Changing the lease interval does not impact the accepted lease interval of already registered services/host-info. It only affects any future SRP update messages (ie, adding new services and/or refreshes of the existing services).

Details
Parameters
[in] aInstance
A pointer to the OpenThread instance.
[in] aInterval
The lease interval (in seconds). If zero, the default value specified by OPENTHREAD_CONFIG_SRP_CLIENT_DEFAULT_LEASE would be used.

otSrpClientSetServiceKeyRecordEnabled

void otSrpClientSetServiceKeyRecordEnabled(
  otInstance *aInstance,
  bool aEnabled
)

This function enables/disables "service key record inclusion" mode.

When enabled, SRP client will include KEY record in Service Description Instructions in the SRP update messages that it sends.

This function is available when OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE configuration is enabled.

Details
Parameters
[in] aInstance
A pointer to the OpenThread instance.
[in] aEnabled
TRUE to enable, FALSE to disable the "service key record inclusion" mode.

otSrpClientStart

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

This function starts the SRP client operation.

SRP client will prepare and send "SRP Update" message to the SRP server once all the following conditions are met:

It does not matter in which order these functions are called. When all conditions are met, the SRP client will wait for a short delay before preparing an "SRP Update" message and sending it to server. This delay allows for user to add multiple services and/or IPv6 addresses before the first SRP Update message is sent (ensuring a single SRP Update is sent containing all the info). The config OPENTHREAD_CONFIG_SRP_CLIENT_UPDATE_TX_DELAY specifies the delay interval.

Details
Parameters
[in] aInstance
A pointer to the OpenThread instance.
[in] aServerSockAddr
The socket address (IPv6 address and port number) of the SRP server.
Return Values
OT_ERROR_NONE
SRP client operation started successfully or it is already running with same server socket address and callback.
OT_ERROR_BUSY
SRP client is busy running with a different socket address.
OT_ERROR_FAILED
Failed to open/connect the client's UDP socket.

otSrpClientStop

void otSrpClientStop(
  otInstance *aInstance
)

This function stops the SRP client operation.

This function stops any further interactions with the SRP server. Note that it does not remove or clear host info and/or list of services. It marks all services to be added/removed again once the client is (re)started.

Details
Parameters
[in] aInstance
A pointer to the OpenThread instance.

otSrpServerGetAddressMode

otSrpServerAddressMode otSrpServerGetAddressMode(
  otInstance *aInstance
)

This function returns the address mode being used by the SRP server.

Details
Parameters
[in] aInstance
A pointer to an OpenThread instance.
Returns
The SRP server's address mode.

otSrpServerGetAnycastModeSequenceNumber

uint8_t otSrpServerGetAnycastModeSequenceNumber(
  otInstance *aInstance
)

This function returns the sequence number used with anycast address mode.

The sequence number is included in "DNS/SRP Service Anycast Address" entry published in the Network Data.

Details
Parameters
[in] aInstance
A pointer to an OpenThread instance.
Returns
The anycast sequence number.

otSrpServerGetDomain

const char * otSrpServerGetDomain(
  otInstance *aInstance
)

This function returns the domain authorized to the SRP server.

If the domain if not set by SetDomain, "default.service.arpa." will be returned. A trailing dot is always appended even if the domain is set without it.

Details
Parameters
[in] aInstance
A pointer to an OpenThread instance.
Returns
A pointer to the dot-joined domain string.

otSrpServerGetLeaseConfig

void otSrpServerGetLeaseConfig(
  otInstance *aInstance,
  otSrpServerLeaseConfig *aLeaseConfig
)

This function returns SRP server LEASE and KEY-LEASE configurations.

Details
Parameters
[in] aInstance
A pointer to an OpenThread instance.
[out] aLeaseConfig
A pointer to an otSrpServerLeaseConfig instance.

otSrpServerGetNextHost

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

This function returns the next registered host on the SRP server.

Details
Parameters
[in] aInstance
A pointer to an OpenThread instance.
[in] aHost
A pointer to current host; use NULL to get the first host.
Returns
A pointer to the registered host. NULL, if no more hosts can be found.

otSrpServerGetState

otSrpServerState otSrpServerGetState(
  otInstance *aInstance
)

This function returns the state of the SRP server.

Details
Parameters
[in] aInstance
A pointer to an OpenThread instance.
Returns
The current state of the SRP server.

otSrpServerHandleServiceUpdateResult

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

This function reports the result of processing a SRP update to the SRP server.

The Service Update Handler should call this function to return the result of its processing of a SRP update.

Details
Parameters
[in] aInstance
A pointer to an OpenThread instance.
[in] aId
The service update transaction ID. This should be the same ID provided via otSrpServerServiceUpdateHandler .
[in] aError
An error to be returned to the SRP server. Use OT_ERROR_DUPLICATED to represent DNS name conflicts.

otSrpServerHostFindNextService

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

This function finds the next matching service on the host.

The combination of flags and service and instance names enables iterating over the full list of services and/or a subset of them matching certain conditions, or finding a specific service.

To iterate over all services of a host: service = otSrpServerHostFindNextService(host, service, OT_SRP_SERVER_FLAGS_ANY_SERVICE, NULL, NULL);

To iterate over base services only (exclude sub-types): service = otSrpServerHostFindNextService(host, service, OT_SRP_SERVER_FLAGS_BASE_TYPE_SERVICE_ONLY, NULL, NULL);

To iterate over sub-types of a specific instance name instanceName : service = otSrpServerHostFindNextService(host, service, OT_SRP_SERVER_FLAGS_SUB_TYPE_SERVICE_ONLY, NULL, insatnceName);

To find a specific service with service name serviceName and service instance name instanceName : service = otSrpServerHostFindNextService(host, NULL, OT_SRP_SERVER_FLAGS_ANY_SERVICE, serviceName, instanceName);

To find the base type service with a given service instance name instanceName : service = otSrpServerHostFindNextService(host, NULL, OT_SRP_SERVER_FLAGS_BASE_TYPE_SERVICE_ONLY, NULL, instanceName);

Details
Parameters
[in] aHost
A pointer to the SRP service host (MUST NOT be NULL).
[in] aPrevService
A pointer to the previous service or NULL to start from the beginning of the list.
[in] aFlags
Flags indicating which services to include (base/sub-type, active/deleted).
[in] aServiceName
The service name to match. Set to NULL to accept any name.
[in] aInstanceName
The service instance name to match. Set to NULL to accept any name.
Returns
A pointer to the next matching service or NULL if no matching service could be found.

otSrpServerHostGetAddresses

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

This function returns the addresses of given host.

Details
Parameters
[in] aHost
A pointer to the SRP service host.
[out] aAddressesNum
A pointer to where we should output the number of the addresses to.
Returns
A pointer to the array of IPv6 Address.

otSrpServerHostGetFullName

const char * otSrpServerHostGetFullName(
  const otSrpServerHost *aHost
)

This function returns the full name of the host.

Details
Parameters
[in] aHost
A pointer to the SRP service host.
Returns
A pointer to the null-terminated host name string.

otSrpServerHostGetNextService

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

This function returns the next service (excluding any sub-type services) of given host.

Details
Parameters
[in] aHost
A pointer to the SRP service host.
[in] aService
A pointer to current SRP service instance; use NULL to get the first service.
Returns
A pointer to the next service or NULL if there is no more services.

otSrpServerHostIsDeleted

bool otSrpServerHostIsDeleted(
  const otSrpServerHost *aHost
)

This function tells if the SRP service host has been deleted.

A SRP service host can be deleted but retains its name for future uses. In this case, the host instance is not removed from the SRP server/registry.

Details
Parameters
[in] aHost
A pointer to the SRP service host.
Returns
TRUE if the host has been deleted, FALSE if not.

otSrpServerServiceGetFullName

const char * otSrpServerServiceGetFullName(
  const otSrpServerService *aService
)

This function returns the full service instance name of the service.

Details
Parameters
[in] aService
A pointer to the SRP service.
Returns
A pointer to the null-terminated service instance name string.

otSrpServerServiceGetHost

const otSrpServerHost * otSrpServerServiceGetHost(
  const otSrpServerService *aService
)

This function returns the host which the service instance reside on.

Details
Parameters
[in] aService
A pointer to the SRP service.
Returns
A pointer to the host instance.

otSrpServerServiceGetInstanceName

const char * otSrpServerServiceGetInstanceName(
  const otSrpServerService *aService
)

This function returns the full service instance name of the service.

Details
Parameters
[in] aService
A pointer to the SRP service.
Returns
A pointer to the null-terminated service instance name string.

otSrpServerServiceGetPort

uint16_t otSrpServerServiceGetPort(
  const otSrpServerService *aService
)

This function returns the port of the service instance.

Details
Parameters
[in] aService
A pointer to the SRP service.
Returns
The port of the service.

otSrpServerServiceGetPriority

uint16_t otSrpServerServiceGetPriority(
  const otSrpServerService *aService
)

This function returns the priority of the service instance.

Details
Parameters
[in] aService
A pointer to the SRP service.
Returns
The priority of the service.

otSrpServerServiceGetServiceName

const char * otSrpServerServiceGetServiceName(
  const otSrpServerService *aService
)

This function returns the full service name of the service.

Details
Parameters
[in] aService
A pointer to the SRP service.
Returns
A pointer to the null-terminated service name string.

otSrpServerServiceGetServiceSubTypeLabel

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

This function gets the sub-type label from service name.

This function is intended to be used when the aService is a sub-type, ie, otSrpServerServiceIsSubType() for the service returns TRUE. If it is not a sub-type this function returns OT_ERROR_INVALID_ARGS .

The full service name for a sub-type service follows " ._sub. . .". This function copies the into the aLabel buffer.

The aLabel is ensured to always be null-terminated after returning even in case of failure.

Details
Parameters
[in] aService
A pointer to the SRP service.
[out] aLabel
A pointer to a buffer to copy the sub-type label name into.
[in] aMaxSize
Maximum size of aLabel buffer.
Return Values
OT_ERROR_NONE
aLabel was updated successfully.
OT_ERROR_NO_BUFS
The sub-type label could not fit in aLabel buffer (number of chars from label that could fit are copied in aLabel ensuring it is null-terminated).
OT_ERROR_INVALID_ARGS
SRP service is not a sub-type.

otSrpServerServiceGetTxtData

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

This function returns the TXT record data of the service instance.

Details
Parameters
[in] aService
A pointer to the SRP service.
[out] aDataLength
A pointer to return the TXT record data length. MUST NOT be NULL.
Returns
A pointer to the buffer containing the TXT record data (the TXT data length is returned in aDataLength ).

otSrpServerServiceGetWeight

uint16_t otSrpServerServiceGetWeight(
  const otSrpServerService *aService
)

This function returns the weight of the service instance.

Details
Parameters
[in] aService
A pointer to the SRP service.
Returns
The weight of the service.

otSrpServerServiceIsDeleted

bool otSrpServerServiceIsDeleted(
  const otSrpServerService *aService
)

This function indicates whether or not the SRP service has been deleted.

A SRP service can be deleted but retains its name for future uses. In this case, the service instance is not removed from the SRP server/registry. It is guaranteed that all services are deleted if the host is deleted.

Details
Parameters
[in] aService
A pointer to the SRP service.
Returns
TRUE if the service has been deleted, FALSE if not.

otSrpServerServiceIsSubType

bool otSrpServerServiceIsSubType(
  const otSrpServerService *aService
)

This function indicates whether or not the SRP service is sub-type.

Details
Parameters
[in] aService
A pointer to the SRP service.
Returns
TRUE if the service is a sub-type, FALSE if not.

otSrpServerSetAddressMode

otError otSrpServerSetAddressMode(
  otInstance *aInstance,
  otSrpServerAddressMode aMode
)

This function sets the address mode to be used by the SRP server.

Details
Parameters
[in] aInstance
A pointer to an OpenThread instance.
[in] aMode
The address mode to use.
Return Values
OT_ERROR_NONE
Successfully set the address mode.
OT_ERROR_INVALID_STATE
The SRP server is enabled and the address mode cannot be changed.

otSrpServerSetAnycastModeSequenceNumber

otError otSrpServerSetAnycastModeSequenceNumber(
  otInstance *aInstance,
  uint8_t aSequenceNumber
)

This function sets the sequence number used with anycast address mode.

Details
Parameters
[in] aInstance
A pointer to an OpenThread instance.
[in] aSequenceNumber
The sequence number to use.
Return Values
OT_ERROR_NONE
Successfully set the address mode.
OT_ERROR_INVALID_STATE
The SRP server is enabled and the sequence number cannot be changed.

otSrpServerSetDomain

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

This function sets the domain on the SRP server.

A trailing dot will be appended to aDomain if it is not already there. This function should only be called before the SRP server is enabled.

Details
Parameters
[in] aInstance
A pointer to an OpenThread instance.
[in] aDomain
The domain to be set. MUST NOT be NULL.
Return Values
OT_ERROR_NONE
Successfully set the domain to aDomain .
OT_ERROR_INVALID_STATE
The SRP server is already enabled and the Domain cannot be changed.
OT_ERROR_INVALID_ARGS
The argument aDomain is not a valid DNS domain name.
OT_ERROR_NO_BUFS
There is no memory to store content of aDomain .

otSrpServerSetEnabled

void otSrpServerSetEnabled(
  otInstance *aInstance,
  bool aEnabled
)

This function enables/disables the SRP server.

Details
Parameters
[in] aInstance
A pointer to an OpenThread instance.
[in] aEnabled
A boolean to enable/disable the SRP server.

otSrpServerSetLeaseConfig

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

This function sets SRP server LEASE and KEY-LEASE configurations.

When a non-zero LEASE time is requested from a client, the granted value will be limited in range [aMinLease, aMaxLease]; and a non-zero KEY-LEASE will be granted in range [aMinKeyLease, aMaxKeyLease]. For zero LEASE or KEY-LEASE time, zero will be granted.

Details
Parameters
[in] aInstance
A pointer to an OpenThread instance.
[in] aLeaseConfig
A pointer to an otSrpServerLeaseConfig instance.
Return Values
OT_ERROR_NONE
Successfully set the LEASE and KEY-LEASE ranges.
OT_ERROR_INVALID_ARGS
The LEASE or KEY-LEASE range is not valid.

otSrpServerSetServiceUpdateHandler

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

This function sets the SRP service updates handler on SRP server.

Details
Parameters
[in] aInstance
A pointer to an OpenThread instance.
[in] aServiceHandler
A pointer to a service handler. Use NULL to remove the handler.
[in] aContext
A pointer to arbitrary context information. May be NULL if not used.