SRP:搜尋結果網頁

這個模組內含可控制 SRP 用戶端行為的函式。

摘要

這個模組含有服務註冊通訊協定的功能。

這個模組含有適用於 SRP 用戶端緩衝區和服務集區的函式。

只有在啟用 OPENTHREAD_CONFIG_SRP_CLIENT_BUFFERS_ENABLE 功能時,才能使用這個模組中的函式。

列舉

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
}
列舉
指定 SRP 用戶端項目 (服務或主機資訊) 狀態。
otSrpServerAddressMode{
  OT_SRP_SERVER_ADDRESS_MODE_UNICAST = 0,
  OT_SRP_SERVER_ADDRESS_MODE_ANYCAST = 1
}
列舉
代表 SRP 伺服器使用的位址模式。
otSrpServerState{
  OT_SRP_SERVER_STATE_DISABLED = 0,
  OT_SRP_SERVER_STATE_RUNNING = 1,
  OT_SRP_SERVER_STATE_STOPPED = 2
}
列舉
代表 SRP 伺服器的狀態。

Typedefs

otSrpClientAutoStartCallback)(const otSockAddr *aServerSockAddr, void *aContext) typedef
void(*
指標類型定義 SRP 用戶端在自動啟動或停止時通知使用者的回呼。
otSrpClientBuffersServiceEntry typedef
代表 SRP 客戶服務集區項目。
otSrpClientCallback)(otError aError, const otSrpClientHostInfo *aHostInfo, const otSrpClientService *aServices, const otSrpClientService *aRemovedServices, void *aContext) typedef
void(*
指標類型定義 SRP 用戶端用來通知使用者變更/事件/錯誤的回呼。
otSrpClientHostInfo typedef
代表 SRP 用戶端主機資訊。
otSrpClientService typedef
代表 SRP 客戶服務。
otSrpServerAddressMode typedef
代表 SRP 伺服器使用的位址模式。
otSrpServerHost typedef
這個不透明類型代表 SRP 服務主機。
otSrpServerLeaseConfig typedef
包含 SRP 伺服器 LEASE 和 KEY-LEASE 設定。
otSrpServerLeaseInfo typedef
包含主機/服務的 SRP 伺服器租約資訊。
otSrpServerResponseCounters typedef
包含 SRP 伺服器回應的統計資料。
otSrpServerService typedef
這個不透明類型代表 SRP 服務。
otSrpServerServiceUpdateHandler)(otSrpServerServiceUpdateId aId, const otSrpServerHost *aHost, uint32_t aTimeout, void *aContext) typedef
void(*
處理 SRP 服務更新。
otSrpServerServiceUpdateId typedef
uint32_t
在 SRP 伺服器上進行 SRP 服務更新交易的 ID。
otSrpServerTtlConfig typedef
包含 SRP 伺服器存留時間設定。

函式

otSrpClientAddService(otInstance *aInstance, otSrpClientService *aService)
新增要透過伺服器註冊的服務。
otSrpClientBuffersAllocateService(otInstance *aInstance)
分配集區中的新服務項目。
otSrpClientBuffersFreeAllServices(otInstance *aInstance)
void
釋放先前分配的所有服務項目。
otSrpClientBuffersFreeService(otInstance *aInstance, otSrpClientBuffersServiceEntry *aService)
void
釋放先前分配的服務項目。
otSrpClientBuffersGetHostAddressesArray(otInstance *aInstance, uint8_t *aArrayLength)
取得 IPv6 位址項目的陣列,做為 SRP 用戶端主機位址清單使用。
otSrpClientBuffersGetHostNameString(otInstance *aInstance, uint16_t *aSize)
char *
取得要用於 SRP 用戶端主機名稱的字串緩衝區。
otSrpClientBuffersGetServiceEntryInstanceNameString(otSrpClientBuffersServiceEntry *aEntry, uint16_t *aSize)
char *
從服務項目取得服務執行個體名稱的字串緩衝區。
otSrpClientBuffersGetServiceEntryServiceNameString(otSrpClientBuffersServiceEntry *aEntry, uint16_t *aSize)
char *
從服務項目取得服務名稱的字串緩衝區。
otSrpClientBuffersGetServiceEntryTxtBuffer(otSrpClientBuffersServiceEntry *aEntry, uint16_t *aSize)
uint8_t *
從服務項目取得 TXT 記錄的緩衝區。
otSrpClientBuffersGetSubTypeLabelsArray(otSrpClientBuffersServiceEntry *aEntry, uint16_t *aArrayLength)
const char **
從服務項目取得服務子類型標籤的陣列。
otSrpClientClearHostAndServices(otInstance *aInstance)
void
清除所有主機資訊和所有服務。
otSrpClientClearService(otInstance *aInstance, otSrpClientService *aService)
清除服務,並立即從用戶端服務清單中移除該服務。
otSrpClientDisableAutoStartMode(otInstance *aInstance)
void
停用自動開始模式。
otSrpClientEnableAutoHostAddress(otInstance *aInstance)
啟用自動主機位址模式。
otSrpClientEnableAutoStartMode(otInstance *aInstance, otSrpClientAutoStartCallback aCallback, void *aContext)
void
啟用自動開始模式。
otSrpClientGetDomainName(otInstance *aInstance)
const char *
取得 SRP 用戶端使用的網域名稱。
otSrpClientGetHostInfo(otInstance *aInstance)
取得主機資訊。
otSrpClientGetKeyLeaseInterval(otInstance *aInstance)
uint32_t
取得 SRP 更新要求中使用的預設鍵租約間隔。
otSrpClientGetLeaseInterval(otInstance *aInstance)
uint32_t
取得 SRP 更新要求所用的預設租賃間隔。
otSrpClientGetServerAddress(otInstance *aInstance)
const otSockAddr *
取得 SRP 用戶端使用的 SRP 伺服器通訊端位址 (IPv6 位址和通訊埠號碼)。
otSrpClientGetServices(otInstance *aInstance)
取得用戶端管理的服務清單。
otSrpClientGetTtl(otInstance *aInstance)
uint32_t
取得 SRP 更新要求中每筆記錄的存留時間值。
otSrpClientIsAutoStartModeEnabled(otInstance *aInstance)
bool
指出自動開始模式的目前狀態 (已啟用或停用)。
otSrpClientIsRunning(otInstance *aInstance)
bool
指出 SRP 用戶端是否正在執行。
otSrpClientIsServiceKeyRecordEnabled(otInstance *aInstance)
bool
指出「服務金鑰記錄納入項目」模式是啟用或停用。
otSrpClientItemStateToString(otSrpClientItemState aItemState)
const char *
otSrpClientItemState 轉換為字串。
otSrpClientRemoveHostAndServices(otInstance *aInstance, bool aRemoveKeyLease, bool aSendUnregToServer)
開始移除主機資訊和所有服務的程序。
otSrpClientRemoveService(otInstance *aInstance, otSrpClientService *aService)
要求在伺服器中取消註冊服務。
otSrpClientSetCallback(otInstance *aInstance, otSrpClientCallback aCallback, void *aContext)
void
設定回呼,在 SRP 用戶端發出事件/變更通知呼叫端。
otSrpClientSetDomainName(otInstance *aInstance, const char *aName)
設定 SRP 用戶端要使用的網域名稱。
otSrpClientSetHostAddresses(otInstance *aInstance, const otIp6Address *aIp6Addresses, uint8_t aNumAddresses)
設定/更新主機 IPv6 位址清單。
otSrpClientSetHostName(otInstance *aInstance, const char *aName)
設定主機名稱標籤。
otSrpClientSetKeyLeaseInterval(otInstance *aInstance, uint32_t aInterval)
void
設定 SRP 更新要求所使用的預設金鑰租約間隔。
otSrpClientSetLeaseInterval(otInstance *aInstance, uint32_t aInterval)
void
設定 SRP 更新要求所用的預設租賃間隔。
otSrpClientSetServiceKeyRecordEnabled(otInstance *aInstance, bool aEnabled)
void
啟用/停用「服務金鑰記錄納入」模式。
otSrpClientSetTtl(otInstance *aInstance, uint32_t aTtl)
void
為 SRP 更新要求中包含的每筆記錄設定存留時間值。
otSrpClientStart(otInstance *aInstance, const otSockAddr *aServerSockAddr)
啟動 SRP 用戶端作業。
otSrpClientStop(otInstance *aInstance)
void
停止 SRP 用戶端作業。
otSrpServerGetAddressMode(otInstance *aInstance)
傳回 SRP 伺服器目前使用的位址模式。
otSrpServerGetAnycastModeSequenceNumber(otInstance *aInstance)
uint8_t
傳回與任一傳播地址模式搭配使用的序號。
otSrpServerGetDomain(otInstance *aInstance)
const char *
傳回授權給 SRP 伺服器的網域。
otSrpServerGetLeaseConfig(otInstance *aInstance, otSrpServerLeaseConfig *aLeaseConfig)
void
傳回 SRP 伺服器 LEASE 和 KEY-LEASE 設定。
otSrpServerGetNextHost(otInstance *aInstance, const otSrpServerHost *aHost)
const otSrpServerHost *
傳回 SRP 伺服器上的下一個註冊主機。
otSrpServerGetPort(otInstance *aInstance)
uint16_t
傳回 SRP 伺服器正在監聽的通訊埠。
otSrpServerGetResponseCounters(otInstance *aInstance)
傳回 SRP 伺服器的回應計數器。
otSrpServerGetState(otInstance *aInstance)
傳回 SRP 伺服器的狀態。
otSrpServerGetTtlConfig(otInstance *aInstance, otSrpServerTtlConfig *aTtlConfig)
void
傳回 SRP 伺服器存留時間設定。
otSrpServerHandleServiceUpdateResult(otInstance *aInstance, otSrpServerServiceUpdateId aId, otError aError)
void
回報 SRP 伺服器更新 SRP 後的結果。
otSrpServerHostGetAddresses(const otSrpServerHost *aHost, uint8_t *aAddressesNum)
const otIp6Address *
傳回指定主機的地址。
otSrpServerHostGetFullName(const otSrpServerHost *aHost)
const char *
傳回主機的全名。
otSrpServerHostGetLeaseInfo(const otSrpServerHost *aHost, otSrpServerLeaseInfo *aLeaseInfo)
void
傳回指定主機的 LEASE 和 KEY-LEASE 資訊。
otSrpServerHostGetNextService(const otSrpServerHost *aHost, const otSrpServerService *aService)
傳回指定主機的下一個服務。
otSrpServerHostIsDeleted(const otSrpServerHost *aHost)
bool
指出 SRP 服務主機是否已遭刪除。
otSrpServerHostMatchesFullName(const otSrpServerHost *aHost, const char *aFullName)
bool
指出主機是否與指定的主機名稱相符。
otSrpServerIsAutoEnableMode(otInstance *aInstance)
bool
指出自動啟用模式是啟用或停用。
otSrpServerParseSubTypeServiceName(const char *aSubTypeServiceName, char *aLabel, uint8_t aLabelSize)
剖析子類型服務名稱 (全名) 並擷取子類型標籤。
otSrpServerServiceGetHost(const otSrpServerService *aService)
const otSrpServerHost *
傳回服務執行個體所在的主機。
otSrpServerServiceGetInstanceLabel(const otSrpServerService *aService)
const char *
傳回服務的服務執行個體標籤 (執行個體名稱中的第一個標籤)。
otSrpServerServiceGetInstanceName(const otSrpServerService *aService)
const char *
傳回服務的完整服務執行個體名稱。
otSrpServerServiceGetLeaseInfo(const otSrpServerService *aService, otSrpServerLeaseInfo *aLeaseInfo)
void
傳回指定服務的 LEASE 和 KEY-LEASE 資訊。
otSrpServerServiceGetNumberOfSubTypes(const otSrpServerService *aService)
uint16_t
取得服務的子類型數量。
otSrpServerServiceGetPort(const otSrpServerService *aService)
uint16_t
傳回服務執行個體的通訊埠。
otSrpServerServiceGetPriority(const otSrpServerService *aService)
uint16_t
傳回服務執行個體的優先順序。
otSrpServerServiceGetServiceName(const otSrpServerService *aService)
const char *
傳回服務的完整服務名稱。
otSrpServerServiceGetSubTypeServiceNameAt(const otSrpServerService *aService, uint16_t aIndex)
const char *
取得特定索引的服務子類型服務名稱 (全名)。
otSrpServerServiceGetTtl(const otSrpServerService *aService)
uint32_t
傳回服務執行個體的存留時間。
otSrpServerServiceGetTxtData(const otSrpServerService *aService, uint16_t *aDataLength)
const uint8_t *
傳回服務執行個體的 TXT 記錄資料。
otSrpServerServiceGetWeight(const otSrpServerService *aService)
uint16_t
傳回服務執行個體的權重。
otSrpServerServiceHasSubTypeServiceName(const otSrpServerService *aService, const char *aSubTypeServiceName)
bool
表示服務是否具有指定的子類型。
otSrpServerServiceIsDeleted(const otSrpServerService *aService)
bool
指出 SRP 服務是否已刪除。
otSrpServerServiceMatchesInstanceName(const otSrpServerService *aService, const char *aInstanceName)
bool
表示這項服務是否與特定服務執行個體名稱相符。
otSrpServerServiceMatchesServiceName(const otSrpServerService *aService, const char *aServiceName)
bool
表示服務是否與特定服務名稱相符。
otSrpServerSetAddressMode(otInstance *aInstance, otSrpServerAddressMode aMode)
設定 SRP 伺服器要使用的位址模式。
otSrpServerSetAnycastModeSequenceNumber(otInstance *aInstance, uint8_t aSequenceNumber)
設定與任一傳播地址模式搭配使用的序號。
otSrpServerSetAutoEnableMode(otInstance *aInstance, bool aEnabled)
void
啟用/停用 SRP 伺服器上的自動啟用模式。
otSrpServerSetDomain(otInstance *aInstance, const char *aDomain)
在 SRP 伺服器上設定網域。
otSrpServerSetEnabled(otInstance *aInstance, bool aEnabled)
void
啟用/停用 SRP 伺服器。
otSrpServerSetLeaseConfig(otInstance *aInstance, const otSrpServerLeaseConfig *aLeaseConfig)
設定 SRP 伺服器 LEASE 和 KEY-LEASE 設定。
otSrpServerSetServiceUpdateHandler(otInstance *aInstance, otSrpServerServiceUpdateHandler aServiceHandler, void *aContext)
void
設定 SRP 伺服器上的 SRP 服務更新處理常式。
otSrpServerSetTtlConfig(otInstance *aInstance, const otSrpServerTtlConfig *aTtlConfig)
設定 SRP 伺服器存留時間設定。

結構

otSrpClientBuffersServiceEntry

代表 SRP 客戶服務集區項目。

otSrpClientHostInfo

代表 SRP 用戶端主機資訊。

otSrpClientService

代表 SRP 客戶服務。

otSrpServerLeaseConfig

包含 SRP 伺服器 LEASE 和 KEY-LEASE 設定。

otSrpServerLeaseInfo

包含主機/服務的 SRP 伺服器租約資訊。

otSrpServerResponseCounters

包含 SRP 伺服器回應的統計資料。

otSrpServerTtlConfig

包含 SRP 伺服器存留時間設定。

列舉

otSrpClientItemState

 otSrpClientItemState

指定 SRP 用戶端項目 (服務或主機資訊) 狀態。

屬性
OT_SRP_CLIENT_ITEM_STATE_ADDING

正在新增/註冊項目。

OT_SRP_CLIENT_ITEM_STATE_REFRESHING

正在重新整理項目。

OT_SRP_CLIENT_ITEM_STATE_REGISTERED

項目已向伺服器註冊。

OT_SRP_CLIENT_ITEM_STATE_REMOVED

已移除項目。

OT_SRP_CLIENT_ITEM_STATE_REMOVING

正在移除項目。

OT_SRP_CLIENT_ITEM_STATE_TO_ADD

要新增/註冊的項目,

OT_SRP_CLIENT_ITEM_STATE_TO_REFRESH

要重新整理的項目 (重新註冊即可續訂)。

OT_SRP_CLIENT_ITEM_STATE_TO_REMOVE

要移除的項目。

otSrpServerAddressMode

 otSrpServerAddressMode

代表 SRP 伺服器使用的位址模式。

地址模式會指定 SRP 伺服器如何判定位址和通訊埠號碼,以及這項資訊在 Thread 網路資料中的發布方式。

屬性
OT_SRP_SERVER_ADDRESS_MODE_ANYCAST

「Anycast 地址」模式。

OT_SRP_SERVER_ADDRESS_MODE_UNICAST

Unicast 位址模式。

otSrpServerState

 otSrpServerState

代表 SRP 伺服器的狀態。

屬性
OT_SRP_SERVER_STATE_DISABLED

SRP 伺服器已停用。

OT_SRP_SERVER_STATE_RUNNING

SRP 伺服器已啟用且正在執行。

OT_SRP_SERVER_STATE_STOPPED

SRP 伺服器已啟用,但已停止。

Typedefs

otSrpClientAutoStartCallback

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

指標類型定義 SRP 用戶端在自動啟動或停止時通知使用者的回呼。

只有在啟用自動啟動功能 OPENTHREAD_CONFIG_SRP_CLIENT_AUTO_START_API_ENABLE 時,才能使用此功能。

啟用自動啟動模式且 SRP 用戶端已自動啟動或停止時,系統會叫用這個回呼。

詳細說明
參數
[in] aServerSockAddr
非 NULL 指標表示 SRP 伺服器已啟動,且指標會提供所選伺服器通訊端位址。NULL 指標表示 SRP 伺服器已停止。
[in] aContext
任意內容 (在註冊回呼時提供) 的指標。

otSrpClientBuffersServiceEntry

struct otSrpClientBuffersServiceEntry otSrpClientBuffersServiceEntry

代表 SRP 客戶服務集區項目。

otSrpClientCallback

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

指標類型定義 SRP 用戶端用來通知使用者變更/事件/錯誤的回呼。

使用者成功註冊更新 (亦即新增/移除主機資訊和/或 SRP 伺服器的部分服務),或發生失敗或錯誤時 (例如伺服器拒絕更新要求或用戶端等待回應逾時等),系統就會叫用這個回呼。

如果成功重新註冊更新,aError 參數會是 OT_ERROR_NONE,主機資訊則會提供完整服務清單做為回呼的輸入參數。請注意,每個主機資訊與服務在相關資料結構的對應 mState 成員變數中會追蹤各自的狀態 (這個狀態會指出 Host-info/服務 是否已註冊、移除,或仍在新增/移除等)。

已移除服務的清單會在回呼中,做為其專屬的連結清單 aRemovedServices 傳遞。請注意,叫用回呼時,系統會針對 aRemovedServices 中所列的已移除服務執行個體完成 SRP 用戶端 (OpenThread 實作),且不會再追蹤/儲存這些執行個體 (也就是說,從回呼 otSrpClientGetServices() 呼叫 otSrpClientGetServices() 時,已移除的服務不會顯示在傳回清單中)。在回呼中提供另一份已移除服務清單,有助於使用者瞭解現在移除的項目,並允許使用者重新取得/重複使用執行個體。

如果伺服器拒絕 SRP 更新要求,DNS 回應代碼 (RFC 2136) 會對應至以下錯誤:

  • (0) 無錯誤 (沒有錯誤狀況) -> OT_ERROR_NONE
  • (1) 因格式錯誤導致 FORMERR 伺服器無法解讀 -> OT_ERROR_PARSE
  • (2) SERVFAIL 伺服器內部發生錯誤 -> OT_ERROR_FAILED
  • (3) 要求存在的 NXDOMAIN 名稱不存在 -> OT_ERROR_NOT_FOUND
  • (4) NOTIMP 伺服器不支援查詢類型 (OpCode) -> OT_ERROR_NOT_IMPLEMENTED
  • (5) REFUSED 伺服器因政策/安全性原因遭拒 -> OT_ERROR_SECURITY
  • (6) YXDOMAIN 部分名稱不存在,但存在 -> OT_ERROR_DUPLICATED
  • (7) YXRRSET 某些 RRset 不存在,但存在 -> OT_ERROR_DUPLICATED
  • (8) NXRRSET 某些要求存在、不存在的 RRset -> OT_ERROR_NOT_FOUND
  • (9) NOTAUTH 服務不是區域的權威 -> OT_ERROR_SECURITY
  • (10) NOTZONE 名稱不在可用區 -> OT_ERROR_PARSE
  • (20) BADNAME 名稱錯誤 -> OT_ERROR_PARSE
  • (21) BADALG 不良演算法 -> OT_ERROR_SECURITY
  • (22) BADTRUN 裁剪不當 -> OT_ERROR_PARSE
  • 其他回應代碼 -> OT_ERROR_FAILED

以下是可能出現的錯誤:

  • OT_ERROR_RESPONSE_TIMEOUT:等待伺服器的回應逾時 (用戶端會繼續重試)。
  • OT_ERROR_INVALID_ARGS:提供的服務結構無效 (例如服務名稱或 otDnsTxtEntry 錯誤)。
  • OT_ERROR_NO_BUFS :緩衝區不足,無法準備或傳送更新訊息。

請注意,如果發生任何失敗,用戶端會繼續執行作業,也就是在經過一些等待間隔之後,準備並將 SRP 更新訊息重新傳送至伺服器。重試等待間隔會從最小值開始,且每次失敗時,都會依據成長因子提高至最大值 (詳情請參閱設定參數 OPENTHREAD_CONFIG_SRP_CLIENT_MIN_RETRY_WAIT_INTERVAL 和相關參數)。

詳細說明
參數
[in] aError
錯誤 (請參閱上方說明)。
[in] aHostInfo
主機資訊的指標。
[in] aServices
已連結清單的標頭,其中包含所有服務 (已移除的服務除外)。如果清單空白,則為空值。
[in] aRemovedServices
連結清單的標頭 (包含所有已移除的服務)。如果清單空白,則為空值。
[in] aContext
任意內容 (在註冊回呼時提供) 的指標。

otSrpClientHostInfo

struct otSrpClientHostInfo otSrpClientHostInfo

代表 SRP 用戶端主機資訊。

otSrpClientService

struct otSrpClientService otSrpClientService

代表 SRP 客戶服務。

這個結構中的值 (包括名稱和 TXT 記錄項目的字串緩衝區) 從 otSrpClientAddService()otSrpClientRemoveService() 傳遞至 OpenThread 後,「必須」保留並保持不變。

mStatemDatamNext 欄位僅限 OT 核心使用/管理。如果在 otSrpClientAddService()otSrpClientRemoveService() 或其他函式中傳遞 otSrpClientService 的例項,系統就會忽略其值。呼叫端不需要設定這些欄位。

mLeasemKeyLease 欄位會指定這項服務的所需租約和金鑰租約間隔時間。零值表示未指定間隔,且這項服務會使用 otSrpClientGetLeaseInterval()otSrpClientGetKeyLeaseInterval() 的預設租約或金鑰租約間隔。如果金鑰租約間隔 (無論是已明確設定,還是由預設值決定) 短於服務的租約間隔,SRP 用戶端也會重複使用金鑰租約間隔的租賃間隔值。舉例來說,如果服務 mLease 已明確設為 2 天,且 mKeyLease 設為 0,並將金鑰租約預設為 1 天,那麼在註冊這項服務時,這項服務要求的金鑰租約也會設為 2 天。

otSrpServerAddressMode

enum otSrpServerAddressMode otSrpServerAddressMode

代表 SRP 伺服器使用的位址模式。

地址模式會指定 SRP 伺服器如何判定位址和通訊埠號碼,以及這項資訊在 Thread 網路資料中的發布方式。

otSrpServerHost

struct otSrpServerHost otSrpServerHost

這個不透明類型代表 SRP 服務主機。

otSrpServerLeaseConfig

struct otSrpServerLeaseConfig otSrpServerLeaseConfig

包含 SRP 伺服器 LEASE 和 KEY-LEASE 設定。

otSrpServerLeaseInfo

struct otSrpServerLeaseInfo otSrpServerLeaseInfo

包含主機/服務的 SRP 伺服器租約資訊。

otSrpServerResponseCounters

struct otSrpServerResponseCounters otSrpServerResponseCounters

包含 SRP 伺服器回應的統計資料。

otSrpServerService

struct otSrpServerService otSrpServerService

這個不透明類型代表 SRP 服務。

otSrpServerServiceUpdateHandler

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

處理 SRP 服務更新。

SRP 伺服器會呼叫此方法,通知 SRP 主機和可能的 SRP 服務正在更新。請注意,除非處理常式透過呼叫 otSrpServerHandleServiceUpdateResult,或在 aTimeout 後逾時,否則不會修訂 SRP 更新結果。

SRP 服務觀察器應在收到更新事件後,立即呼叫 otSrpServerHandleServiceUpdateResult,錯誤代碼 OT_ERROR_NONE。

通用的處理常式可能會對 SRP 主機/服務執行驗證,並在任何驗證失敗時拒絕 SRP 更新。例如,廣告 Proxy 應透過支援多點傳送的連結來宣傳 (或移除) 主機和服務,如果發生任何失敗,則傳回特定的錯誤代碼。

詳細說明
參數
[in] aId
服務更新的交易 ID。這個 ID 必須透過 otSrpServerHandleServiceUpdateResult 傳回。
[in] aHost
指向包含 SRP 更新的 otSrpServerHost 物件指標。處理常式應發布/取消發布主機,且每個服務都會按照下列規則指向這個主機:
  1. 如果主機未遭刪除 (以 otSrpServerHostIsDeleted 表示),則應透過 mDNS 發布或更新主機。否則,主機必須取消發布 (移除 AAAA RR)。
  2. 如果主機是取消發布,您必須取消發布每項服務指向這個主機。否則,處理常式應在未刪除 (以 otSrpServerServiceIsDeleted 表示) 時發布或更新服務,並在刪除時取消發布服務。
[in] aTimeout
處理常式處理服務事件的時間上限 (以毫秒為單位)。
[in] aContext
指向應用程式特定背景資訊的指標。
另請參閱:
otSrpServerSetServiceUpdateHandler
otSrpServerHandleServiceUpdateResult

otSrpServerServiceUpdateId

uint32_t otSrpServerServiceUpdateId

在 SRP 伺服器上進行 SRP 服務更新交易的 ID。

otSrpServerTtlConfig

struct otSrpServerTtlConfig otSrpServerTtlConfig

包含 SRP 伺服器存留時間設定。

函式

otSrpClientAddService

otError otSrpClientAddService(
  otInstance *aInstance,
  otSrpClientService *aService
)

新增要透過伺服器註冊的服務。

成功呼叫這個函式後,系統會呼叫 otSrpClientCallback,透過 SRP 伺服器回報新增/註冊服務的狀態。

aService 指向的 otSrpClientService 執行個體「必須」保留,且在從此函式傳回後 (使用 OT_ERROR_NONE) 後將維持不變。OpenThread 會將指標儲存至服務執行個體。

OpenThread 未追蹤 otSrpClientService 執行個體,且只能在以下情況下收回

詳細說明
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
[in] aService
指向要新增的 otSrpClientService 例項的指標。
傳回值
OT_ERROR_NONE
已成功啟動新增服務。系統會呼叫 otSrpClientCallback 來回報狀態。
OT_ERROR_ALREADY
清單中已有具備相同服務和執行個體名稱的服務。
OT_ERROR_INVALID_ARGS
服務結構無效 (例如服務名稱或 otDnsTxtEntry 無效)。

otSrpClientBuffersAllocateService

otSrpClientBuffersServiceEntry * otSrpClientBuffersAllocateService(
  otInstance *aInstance
)

分配集區中的新服務項目。

傳回的服務項目執行個體會以下列方式初始化:

詳細說明
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
傳回
指向新分配的服務項目指標。如果集區中沒有其他項目,則指向 NULL。

otSrpClientBuffersFreeAllServices

void otSrpClientBuffersFreeAllServices(
  otInstance *aInstance
)

釋放先前分配的所有服務項目。

詳細說明
參數
[in] aInstance
指向 OpenThread 執行個體的指標。

otSrpClientBuffersFreeService

void otSrpClientBuffersFreeService(
  otInstance *aInstance,
  otSrpClientBuffersServiceEntry *aService
)

釋放先前分配的服務項目。

aService 必須事先使用 otSrpClientBuffersAllocateService() 分配,且尚未釋放。否則此函式的行為未定義。

詳細說明
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
[in] aService
指向免費服務項目的指標 (不得為空值)。

otSrpClientBuffersGetHostAddressesArray

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

取得 IPv6 位址項目的陣列,做為 SRP 用戶端主機位址清單使用。

詳細說明
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
[out] aArrayLength
用來傳回陣列長度的變數指標,也就是陣列中的 IPv6 位址項目數量 (不得為空值)。
傳回
指向 otIp6Address 項目陣列的指標 (在 aArrayLength 中傳回項目數量)。

otSrpClientBuffersGetHostNameString

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

取得要用於 SRP 用戶端主機名稱的字串緩衝區。

詳細說明
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
[out] aSize
變數指標,用於傳回字串緩衝區的大小 (位元組數量) (不得為 NULL)。
傳回
用於 SRP 用戶端主機名稱的字元緩衝區指標。

otSrpClientBuffersGetServiceEntryInstanceNameString

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

從服務項目取得服務執行個體名稱的字串緩衝區。

詳細說明
參數
[in] aEntry
指向先前分配服務項目的指標 (不得為空值)。
[out] aSize
指向變數的指標,可傳回字串緩衝區的大小 (位元組數) (不得為 NULL)。
傳回
字串緩衝區的指標。

otSrpClientBuffersGetServiceEntryServiceNameString

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

從服務項目取得服務名稱的字串緩衝區。

詳細說明
參數
[in] aEntry
指向先前分配服務項目的指標 (不得為空值)。
[out] aSize
指向變數的指標,可傳回字串緩衝區的大小 (位元組數) (不得為 NULL)。
傳回
字串緩衝區的指標。

otSrpClientBuffersGetServiceEntryTxtBuffer

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

從服務項目取得 TXT 記錄的緩衝區。

詳細說明
參數
[in] aEntry
指向先前分配服務項目的指標 (不得為空值)。
[out] aSize
指向變數的指標,以傳回緩衝區的大小 (位元組數) (不得為 NULL)。
傳回
緩衝區的指標。

otSrpClientBuffersGetSubTypeLabelsArray

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

從服務項目取得服務子類型標籤的陣列。

詳細說明
參數
[in] aEntry
指向先前分配服務項目的指標 (不得為空值)。
[out] aArrayLength
用來傳回陣列長度的變數指標 (不得為空值)。
傳回
陣列的指標。

otSrpClientClearHostAndServices

void otSrpClientClearHostAndServices(
  otInstance *aInstance
)

清除所有主機資訊和所有服務。

otSrpClientRemoveHostAndServices() 不同的是,傳送更新訊息到伺服器來移除所有資訊,而這個函式會立即清除所有資訊,且不會與伺服器進行任何互動。

詳細說明
參數
[in] aInstance
指向 OpenThread 執行個體的指標。

otSrpClientClearService

otError otSrpClientClearService(
  otInstance *aInstance,
  otSrpClientService *aService
)

清除服務,並立即從用戶端服務清單中移除該服務。

它會傳送更新訊息至伺服器以移除服務的 otSrpClientRemoveService(),但此函式會在用戶端的服務清單中清除服務,且不會與伺服器進行任何互動。成功呼叫這個函式時,不會呼叫 otSrpClientCallback,呼叫端可立即收回和重複使用 aService 項目。

可與 otSrpClientAddService() 的後續呼叫搭配使用 (可能會重複使用相同的服務和執行個體名稱相同的 aService 項目),以更新現有服務中的部分參數。

詳細說明
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
[in] aService
指向要刪除的 otSrpClientService 例項的指標。
傳回值
OT_ERROR_NONE
已成功刪除「aService」。並可立即收回並重複使用。
OT_ERROR_NOT_FOUND
在清單中找不到服務。

otSrpClientDisableAutoStartMode

void otSrpClientDisableAutoStartMode(
  otInstance *aInstance
)

停用自動開始模式。

只有在啟用自動啟動功能 OPENTHREAD_CONFIG_SRP_CLIENT_AUTO_START_API_ENABLE 時,才能使用這個選項。

如果用戶端已在執行,即使停用自動開始模式,用戶端仍會停止監控 Thread 網路資料,藉此驗證所選的 SRP 伺服器是否仍存在。

請注意,呼叫 otSrpClientStop() 也會停用自動開始模式。

詳細說明
參數
[in] aInstance
指向 OpenThread 執行個體的指標。

otSrpClientEnableAutoHostAddress

otError otSrpClientEnableAutoHostAddress(
  otInstance *aInstance
)

啟用自動主機位址模式。

主機 IPv6 位址啟用之後,SRP 用戶端會使用 Thread Netif 上偏好的所有單點傳播位址 (不包括所有連結本機和網狀本機位址) 自動設定主機 IPv6 位址。如果沒有偏好的位址,系統會新增網格本機 EID 位址。當 Thread netif 中的地址更新時,SRP 用戶端將自動重新註冊 (新增地址,或是移除或標示為非偏好地址)。

可以在開始或執行 SRP 用戶端前啟用自動主機位址模式,除非在移除主機資訊時亦然 (用戶端正在處理對 otSrpClientRemoveHostAndServices() 呼叫的移除要求,且主機資訊仍處於 STATE_TO_REMOVESTATE_REMOVING 狀態)。

啟用自動主機位址模式後,可以呼叫 otSrpClientSetHostAddresses() 來停用該模式,然後明確設定主機位址。

詳細說明
傳回值
OT_ERROR_NONE
已成功啟用自動主機位址模式。
OT_ERROR_INVALID_STATE
主機即將移除,因此無法啟用自動主機位址模式。

otSrpClientEnableAutoStartMode

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

啟用自動開始模式。

只有在啟用自動啟動功能 OPENTHREAD_CONFIG_SRP_CLIENT_AUTO_START_API_ENABLE 時,才能使用這個選項。

設定選項 OPENTHREAD_CONFIG_SRP_CLIENT_AUTO_START_DEFAULT_MODE 可指定預設的自動開始模式 (無論是在 OT 堆疊開始時啟用或停用)。

啟用自動開始功能後,SRP 用戶端會監控 Thread 網路資料,找出 SRP 伺服器並選擇偏好的伺服器,並在偵測到 SRP 伺服器時,自動啟動及停止用戶端。

網路資料項目分為三個類別,指出是否有 SRP。建議您採用以下順序:

1) 偏好的單點傳播項目,服務資料會包含伺服器位址。如果有多個選項,建議使用 IPv6 位址數量最低的數字。

2) Anycast 項目各有序號。在 RFC-1982 的序號雜湊邏輯中指定時,越近期的序號越大,越近期越好。如為定義明確的序列,建議採用使用序號算術的最大序號 (即序號大於其餘序號)。如未明確定義,建議使用數值最大的 Seq 數字。

3) 包含伺服器位址資訊的 Unicast 項目。如果有多個選項,建議使用 IPv6 位址數量最低的數字。

當「網路資料」項目發生變更時,用戶端會檢查目前選取的伺服器是否仍出現在網路資料中,而且仍是偏好的伺服器。否則,用戶端會切換到新的偏好伺服器;如果沒有伺服器,則停止運作。

成功透過成功呼叫 otSrpClientStart() 並明確啟動 SRP 用戶端時,無論自動開始模式的狀態為何,以及 Thread 網路資料中是否發現相同的 SRP 伺服器位址,都會繼續使用 otSrpClientStart() 中指定的 SRP 伺服器位址。在這種情況下,只有明確的 otSrpClientStop() 呼叫會停止用戶端。

詳細說明
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
[in] aCallback
要在用戶端自動啟動/停止時通知的回呼。如有需要,可為空值。
[in] aContext
叫用 aCallback 時要傳遞的結構定義。

otSrpClientGetDomainName

const char * otSrpClientGetDomainName(
  otInstance *aInstance
)

取得 SRP 用戶端使用的網域名稱。

必須啟用 OPENTHREAD_CONFIG_SRP_CLIENT_DOMAIN_NAME_API_ENABLE

如未設定網域名稱,系統會使用「default.service.arpa」。

詳細說明
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
傳回
網域名稱字串。

otSrpClientGetHostInfo

const otSrpClientHostInfo * otSrpClientGetHostInfo(
  otInstance *aInstance
)

取得主機資訊。

詳細說明
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
傳回
代管資訊結構的指標。

otSrpClientGetKeyLeaseInterval

uint32_t otSrpClientGetKeyLeaseInterval(
  otInstance *aInstance
)

取得 SRP 更新要求中使用的預設鍵租約間隔。

預設間隔僅適用於 mKeyLease 設為零的 otSrpClientService 執行個體。

請注意,此為 SRP 用戶端要求的保留時間長度。伺服器可能會選擇接受不同的租約間隔。

詳細說明
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
傳回
金鑰租約間隔 (以秒為單位)。

otSrpClientGetLeaseInterval

uint32_t otSrpClientGetLeaseInterval(
  otInstance *aInstance
)

取得 SRP 更新要求所用的預設租賃間隔。

預設間隔僅適用於 mLease 設為零的 otSrpClientService 執行個體。

請注意,此為 SRP 用戶端要求的保留時間長度。伺服器可能會選擇接受不同的租約間隔。

詳細說明
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
傳回
租用間隔 (以秒為單位)。

otSrpClientGetServerAddress

const otSockAddr * otSrpClientGetServerAddress(
  otInstance *aInstance
)

取得 SRP 用戶端使用的 SRP 伺服器通訊端位址 (IPv6 位址和通訊埠號碼)。

如果用戶端未執行,則未指定位址 (全部為零),且通訊埠號碼為零。

詳細說明
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
傳回
指向 SRP 伺服器的通訊端位址 (一律為非空值)。

otSrpClientGetServices

const otSrpClientService * otSrpClientGetServices(
  otInstance *aInstance
)

取得用戶端管理的服務清單。

詳細說明
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
傳回
指向所有服務的已連結清單標題,如果清單為空白,則指向 NULL。

otSrpClientGetTtl

uint32_t otSrpClientGetTtl(
  otInstance *aInstance
)

取得 SRP 更新要求中每筆記錄的存留時間值。

請注意,此為 SRP 用戶端要求的存留時間。伺服器可能會選擇接受不同的存留時間。

根據預設,存留時間會等於租用間隔。如果透過 otSrpClientSetTtl() 傳送 0 或大於保留間隔的值,也會導致存留時間等於租用間隔。

詳細說明
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
傳回
存留時間 (以秒為單位)。

otSrpClientIsAutoStartModeEnabled

bool otSrpClientIsAutoStartModeEnabled(
  otInstance *aInstance
)

指出自動開始模式的目前狀態 (已啟用或停用)。

只有在啟用自動啟動功能 OPENTHREAD_CONFIG_SRP_CLIENT_AUTO_START_API_ENABLE 時,才能使用這個選項。

詳細說明
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
傳回
如果已啟用自動開始模式,則為 TRUE,否則傳回 FALSE。

otSrpClientIsRunning

bool otSrpClientIsRunning(
  otInstance *aInstance
)

指出 SRP 用戶端是否正在執行。

詳細說明
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
傳回
如果 SRP 用戶端正在執行,則為 TRUE;否則傳回 FALSE。

otSrpClientIsServiceKeyRecordEnabled

bool otSrpClientIsServiceKeyRecordEnabled(
  otInstance *aInstance
)

指出「服務金鑰記錄納入項目」模式是啟用或停用。

啟用 OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE 設定後即可使用。

詳細說明
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
傳回
如果已啟用「服務金鑰記錄納入」模式,則為 TRUE,否則為 FALSE。

otSrpClientItemStateToString

const char * otSrpClientItemStateToString(
  otSrpClientItemState aItemState
)

otSrpClientItemState 轉換為字串。

詳細說明
參數
[in] aItemState
項目狀態。
傳回
aItemState 的字串表示。

otSrpClientRemoveHostAndServices

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

開始移除主機資訊和所有服務的程序。

從這個函式傳回後,系統會呼叫 otSrpClientCallback,回報要求移除 SRP 伺服器的狀態。

如要從伺服器中永久移除主機資訊,請將 aRemoveKeyLease 設為 true,藉此移除與伺服器上主機相關聯的金鑰釋出。否則,金鑰保留記錄會如往常保留,以確保伺服器保留主機名稱,以供用戶端再次提供及註冊其服務。

aSendUnregToServer 會決定系統在主機資訊尚未向伺服器註冊時的行為。如果將 aSendUnregToServer 設為 false (此為預設/預期值),SRP 用戶端會立即移除主機資訊和服務,而不會傳送更新訊息到伺服器 (如果尚未註冊伺服器,則無需更新伺服器)。如果將 aSendUnregToServer 設為 true,SRP 用戶端就會向伺服器傳送更新訊息。請注意,如果已註冊主機資訊,aSendUnregToServer 的值無關緊要,且 SRP 用戶端一律會傳送更新訊息給伺服器,要求移除所有資訊。

在重設/重新啟動裝置時,aSendUnregToServer 相當實用,呼叫端可能會想移除先前透過伺服器註冊的所有服務。在此情況下,來電者可以otSrpClientSetHostName()接著使用 otSrpClientRemoveHostAndServices() 來要求 aSendUnregToServertrue

詳細說明
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
[in] aRemoveKeyLease
布林值,表示是否應一併移除主機金鑰租約。
[in] aSendUnregToServer
布林值,指出是否在未註冊主機資訊的情況下傳送更新到伺服器。
傳回值
OT_ERROR_NONE
已成功開始移除主機資訊和服務。系統會呼叫 otSrpClientCallback 來回報狀態。
OT_ERROR_ALREADY
主機資訊已遭移除。

otSrpClientRemoveService

otError otSrpClientRemoveService(
  otInstance *aInstance,
  otSrpClientService *aService
)

要求在伺服器中取消註冊服務。

成功呼叫這個函式後,系統會呼叫 otSrpClientCallback,透過 SRP 伺服器回報移除要求的狀態。

aService 指向的 otSrpClientService 執行個體「必須」保留,並在從此函式傳回後 (使用 OT_ERROR_NONE) 後保持不變。在移除過程中,OpenThread 會保留服務例項。只有在呼叫 otSrpClientCallback 後,才會表示服務執行個體已從 SRP 客戶服務清單移除,並且可以釋放/重複使用。

詳細說明
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
[in] aService
指向要移除的 otSrpClientService 例項的指標。
傳回值
OT_ERROR_NONE
已成功開始移除服務。系統會呼叫 otSrpClientCallback 來回報狀態。
OT_ERROR_NOT_FOUND
在清單中找不到服務。

otSrpClientSetCallback

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

設定回呼,在 SRP 用戶端發出事件/變更通知呼叫端。

SRP 用戶端允許註冊單一回呼。因此,連續呼叫這個函式將覆寫先前設定的任何回呼函式。

詳細說明
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
[in] aCallback
用於通知事件和變更的回呼。如有需要,可為空值。
[in] aContext
搭配 aCallback 使用的任意結構定義。

otSrpClientSetDomainName

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

設定 SRP 用戶端要使用的網域名稱。

必須啟用 OPENTHREAD_CONFIG_SRP_CLIENT_DOMAIN_NAME_API_ENABLE

如未設定,系統會使用「default.service.arpa」。

aName 指向的名稱字串緩衝區從這個函式傳回後「必須」保留並保持不變。OpenThread 會保留指標指向字串。

網域名稱可在用戶端啟動前或開始後,但在主機資訊註冊前和伺服器註冊前進行設定 (主機資訊應位於 STATE_TO_ADDSTATE_TO_REMOVE 中)。

詳細說明
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
[in] aName
指向網域名稱字串的指標。如果 NULL 設為預設值「default.service.arpa」。
傳回值
OT_ERROR_NONE
已成功設定網域名稱標籤。
OT_ERROR_INVALID_STATE
主機資訊已向伺服器註冊。

otSrpClientSetHostAddresses

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

設定/更新主機 IPv6 位址清單。

在 SRP 用戶端啟動或運作期間 (例如新增/移除或變更先前註冊的主機位址),主機 IPv6 位址仍可設定/變更,但主機資訊正移除時除外 (用戶端正忙於處理先前呼叫 otSrpClientRemoveHostAndServices() 的移除要求,以及主機資訊仍處於 STATE_TO_REMOVESTATE_REMOVING 狀態)。

aIp6Addresses 指向的主機 IPv6 位址陣列「必須」保留,且自此函式傳回 OT_ERROR_NONE 後將維持不變。OpenThread 會將指標儲存至陣列。

成功呼叫這個函式後,系統會呼叫 otSrpClientCallback,以回報向 SRP 伺服器註冊位址的狀態。

如果之前已從成功呼叫 otSrpClientEnableAutoHostAddress() 中啟用自動主機位址模式,則呼叫此函式會停用自動主機位址模式。

詳細說明
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
[in] aIp6Addresses
指向包含主機 IPv6 位址的陣列的指標。
[in] aNumAddresses
aIp6Addresses 陣列中的地址數量。
傳回值
OT_ERROR_NONE
已成功開始變更主機 IPv6 位址清單。系統會呼叫 otSrpClientCallback,回報向伺服器註冊位址的狀態。
OT_ERROR_INVALID_ARGS
地址清單無效 (例如至少必須包含一個地址)。
OT_ERROR_INVALID_STATE
正在移除主機,因此無法變更主機位址。

otSrpClientSetHostName

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

設定主機名稱標籤。

成功呼叫這個函式後,系統會呼叫 otSrpClientCallback,回報向 SRP 伺服器的主機資訊註冊狀態。

aName 指向的名稱字串緩衝區從這個函式傳回後「必須」保留並保持不變。OpenThread 會保留指標指向字串。

主機名稱在用戶端啟動之前或開始之後,但在主機資訊註冊到伺服器前皆可設定 (主機資訊應位於 STATE_TO_ADDSTATE_REMOVED 中)。

詳細說明
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
[in] aName
主機名稱標籤字串的指標 (不得為空值)。字串緩衝區的指標「必須」持續存在,並在從這個函式傳回後維持有效和常數。
傳回值
OT_ERROR_NONE
已成功設定主機名稱標籤。
OT_ERROR_INVALID_ARGS
aName 為空值。
OT_ERROR_INVALID_STATE
已為伺服器設定主機名稱並註冊。

otSrpClientSetKeyLeaseInterval

void otSrpClientSetKeyLeaseInterval(
  otInstance *aInstance,
  uint32_t aInterval
)

設定 SRP 更新要求所使用的預設金鑰租約間隔。

預設間隔僅適用於 mKeyLease 設為零的 otSrpClientService 執行個體。

變更租賃間隔不會影響已註冊服務/host-info 的可接受的租約間隔。這只會影響日後的任何 SRP 更新訊息 (例如新增服務及/或更新現有服務)。

詳細說明
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
[in] aInterval
金鑰租約間隔 (以秒為單位)。如果值為 0,則會使用 OPENTHREAD_CONFIG_SRP_CLIENT_DEFAULT_KEY_LEASE 指定的預設值。

otSrpClientSetLeaseInterval

void otSrpClientSetLeaseInterval(
  otInstance *aInstance,
  uint32_t aInterval
)

設定 SRP 更新要求所用的預設租賃間隔。

預設間隔僅適用於 mLease 設為零的 otSrpClientService 執行個體。

變更租賃間隔不會影響已註冊服務/host-info 的可接受的租約間隔。這只會影響日後的任何 SRP 更新訊息 (例如新增服務及/或更新現有服務)。

詳細說明
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
[in] aInterval
租用間隔 (以秒為單位)。如果值為 0,則會使用 OPENTHREAD_CONFIG_SRP_CLIENT_DEFAULT_LEASE 指定的預設值。

otSrpClientSetServiceKeyRecordEnabled

void otSrpClientSetServiceKeyRecordEnabled(
  otInstance *aInstance,
  bool aEnabled
)

啟用/停用「服務金鑰記錄納入」模式。

啟用後,SRP 用戶端就會在其傳送的 SRP 更新訊息中,在「服務說明操作說明」中加入 KEY 記錄。

啟用 OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE 設定後即可使用。

詳細說明
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
[in] aEnabled
TRUE 可啟用,設為 FALSE 可停用「服務金鑰記錄納入」模式。

otSrpClientSetTtl

void otSrpClientSetTtl(
  otInstance *aInstance,
  uint32_t aTtl
)

為 SRP 更新要求中包含的每筆記錄設定存留時間值。

變更存留時間不會影響已註冊服務/host-info 的存留時間,只會影響未來的 SRP 更新訊息 (例如新增服務和/或現有服務的重新整理作業)。

詳細說明
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
[in] aTtl
存留時間 (以秒為單位)。如果值為 0 或大於租用間隔,存留時間會設為租約間隔。

otSrpClientStart

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

啟動 SRP 用戶端作業。

符合以下所有條件後,SRP 用戶端就會準備「SRP 更新」訊息並傳送至 SRP 伺服器:

這些函式的呼叫順序無關緊要。符合所有條件後,SRP 用戶端會等候一小段時間,才能準備「SRP 更新」訊息並傳送至伺服器。這段延遲可讓使用者在第 SRP 更新訊息傳送前,新增多項服務和/或 IPv6 位址 (確保傳送含有所有資訊的 SRP 更新)。OPENTHREAD_CONFIG_SRP_CLIENT_UPDATE_TX_DELAY 設定會指定延遲間隔。

詳細說明
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
[in] aServerSockAddr
SRP 伺服器的通訊端位址 (IPv6 位址和通訊埠號碼)。
傳回值
OT_ERROR_NONE
SRP 用戶端作業已成功啟動,或是已使用相同的伺服器通訊端位址和回呼執行。
OT_ERROR_BUSY
SRP 用戶端為了使用其他通訊端位址而忙碌中。
OT_ERROR_FAILED
無法開啟/連線用戶端的 UDP 通訊端。

otSrpClientStop

void otSrpClientStop(
  otInstance *aInstance
)

停止 SRP 用戶端作業。

停止與 SRP 伺服器進行任何後續互動。請注意,系統不會移除或清除主機資訊和/或服務清單。它會標示在用戶端啟動 (重新啟動) 後,會再次新增/移除的所有服務。

詳細說明
參數
[in] aInstance
指向 OpenThread 執行個體的指標。

otSrpServerGetAddressMode

otSrpServerAddressMode otSrpServerGetAddressMode(
  otInstance *aInstance
)

傳回 SRP 伺服器目前使用的位址模式。

詳細說明
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
傳回
SRP 伺服器的位址模式。

otSrpServerGetAnycastModeSequenceNumber

uint8_t otSrpServerGetAnycastModeSequenceNumber(
  otInstance *aInstance
)

傳回與任一傳播地址模式搭配使用的序號。

序號包含在網路資料發布的「DNS/SRP 服務 Anycast Address」項目中。

詳細說明
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
傳回
Anycast 序號。

otSrpServerGetDomain

const char * otSrpServerGetDomain(
  otInstance *aInstance
)

傳回授權給 SRP 伺服器的網域。

如果網域未設定由 SetDomain 設定,則會傳回「default.service.arpa.」。即使設定網域時未設定結尾點,系統一律會附加結尾點。

詳細說明
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
傳回
指向以點號彙整的網域字串的指標。

otSrpServerGetLeaseConfig

void otSrpServerGetLeaseConfig(
  otInstance *aInstance,
  otSrpServerLeaseConfig *aLeaseConfig
)

傳回 SRP 伺服器 LEASE 和 KEY-LEASE 設定。

詳細說明
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
[out] aLeaseConfig
otSrpServerLeaseConfig 執行個體的指標。

otSrpServerGetNextHost

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

傳回 SRP 伺服器上的下一個註冊主機。

詳細說明
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
[in] aHost
指向目前主機的指標,使用 NULL 取得第一個主機。
傳回
指向註冊主機的指標。空值 (如果找不到主機)。

otSrpServerGetPort

uint16_t otSrpServerGetPort(
  otInstance *aInstance
)

傳回 SRP 伺服器正在監聽的通訊埠。

詳細說明
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
傳回
SRP 伺服器的通訊埠。如果伺服器不執行,則會傳回 0。

otSrpServerGetResponseCounters

const otSrpServerResponseCounters * otSrpServerGetResponseCounters(
  otInstance *aInstance
)

傳回 SRP 伺服器的回應計數器。

詳細說明
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
傳回
指向 SRP 伺服器回應計數器的指標。

otSrpServerGetState

otSrpServerState otSrpServerGetState(
  otInstance *aInstance
)

傳回 SRP 伺服器的狀態。

詳細說明
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
傳回
SRP 伺服器的目前狀態。

otSrpServerGetTtlConfig

void otSrpServerGetTtlConfig(
  otInstance *aInstance,
  otSrpServerTtlConfig *aTtlConfig
)

傳回 SRP 伺服器存留時間設定。

詳細說明
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
[out] aTtlConfig
otSrpServerTtlConfig 執行個體的指標。

otSrpServerHandleServiceUpdateResult

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

回報 SRP 伺服器更新 SRP 後的結果。

Service Update Handler 應呼叫此函式,以傳回處理 SRP 更新的結果。

詳細說明
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
[in] aId
服務更新的交易 ID。這個 ID 應與透過 otSrpServerServiceUpdateHandler 提供的 ID 相同。
[in] aError
傳回 SRP 伺服器的錯誤。使用 OT_ERROR_DUPLICATED 表示 DNS 名稱衝突。

otSrpServerHostGetAddresses

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

傳回指定主機的地址。

詳細說明
參數
[in] aHost
指向 SRP 服務主機的指標。
[out] aAddressesNum
指向應輸出地址數目的指標。
傳回
指向 IPv6 位址陣列的指標。

otSrpServerHostGetFullName

const char * otSrpServerHostGetFullName(
  const otSrpServerHost *aHost
)

傳回主機的全名。

詳細說明
參數
[in] aHost
指向 SRP 服務主機的指標。
傳回
指向空值結束主機名稱字串的指標。

otSrpServerHostGetLeaseInfo

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

傳回指定主機的 LEASE 和 KEY-LEASE 資訊。

詳細說明
參數
[in] aHost
指向 SRP 伺服器主機的指標。
[out] aLeaseInfo
指向輸出 LEASE 和 KEY-LEASE 資訊的位置。

otSrpServerHostGetNextService

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

傳回指定主機的下一個服務。

詳細說明
參數
[in] aHost
指向 SRP 服務主機的指標。
[in] aService
指向目前 SRP 服務執行個體的指標,使用 NULL 取得第一個服務。
傳回
指向下一個服務的指標;如果已經沒有其他服務,則為 NULL。

otSrpServerHostIsDeleted

bool otSrpServerHostIsDeleted(
  const otSrpServerHost *aHost
)

指出 SRP 服務主機是否已遭刪除。

您可以刪除 SRP 服務主機,但保留名稱供日後使用。在這種情況下,系統不會將主機執行個體從 SRP 伺服器/登錄檔中移除。

詳細說明
參數
[in] aHost
指向 SRP 服務主機的指標。
傳回
如果主機已遭刪除,則為 TRUE。如未刪除,則為 FALSE。

otSrpServerHostMatchesFullName

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

指出主機是否與指定的主機名稱相符。

DNS 名稱比對是以不區分大小寫的字串比較 (例如「Abc」和「aBc」會視為相同)。

詳細說明
參數
[in] aHost
指向 SRP 服務主機的指標。
[in] aFullName
完整的主機名稱。
傳回值
TRUE
如果主機與主機名稱相符。
FALSE
如果主機與主機名稱不符。

otSrpServerIsAutoEnableMode

bool otSrpServerIsAutoEnableMode(
  otInstance *aInstance
)

指出自動啟用模式是啟用或停用。

需要 OPENTHREAD_CONFIG_BORDER_ROUTING_ENABLE 功能。

詳細說明
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
傳回值
TRUE
自動啟用模式已啟用。
FALSE
自動啟用模式已停用。

otSrpServerParseSubTypeServiceName

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

剖析子類型服務名稱 (全名) 並擷取子類型標籤。

子類型服務的完整服務名稱會顯示在「._sub...」後方。

詳細說明
參數
[in] aSubTypeServiceName
子類型服務名稱 (全名)。
[out] aLabel
指向緩衝區的指標,用於複製擷取的子類型標籤。
[in] aLabelSize
aLabel緩衝區的大小上限。
傳回值
OT_ERROR_NONE
已成功剖析名稱並更新「aLabel」。
OT_ERROR_NO_BUFS
子類型標籤無法納入 aLabel 緩衝區 (系統會在 aLabel 中複製標籤中可能適用的字元數,確保該標籤為空值)。
OT_ERROR_INVALID_ARGS
aSubTypeServiceName」不是有效的子類型格式。

otSrpServerServiceGetHost

const otSrpServerHost * otSrpServerServiceGetHost(
  const otSrpServerService *aService
)

傳回服務執行個體所在的主機。

詳細說明
參數
[in] aService
指向 SRP 服務的指標。
傳回
指向主機執行個體的指標。

otSrpServerServiceGetInstanceLabel

const char * otSrpServerServiceGetInstanceLabel(
  const otSrpServerService *aService
)

傳回服務的服務執行個體標籤 (執行個體名稱中的第一個標籤)。

詳細說明
參數
[in] aService
指向 SRP 服務的指標。
傳回
指向空值服務執行個體標籤字串的指標。

otSrpServerServiceGetInstanceName

const char * otSrpServerServiceGetInstanceName(
  const otSrpServerService *aService
)

傳回服務的完整服務執行個體名稱。

詳細說明
參數
[in] aService
指向 SRP 服務的指標。
傳回
指向空值服務執行個體名稱字串的指標。

otSrpServerServiceGetLeaseInfo

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

傳回指定服務的 LEASE 和 KEY-LEASE 資訊。

詳細說明
參數
[in] aService
指向 SRP 伺服器服務的指標。
[out] aLeaseInfo
指向輸出 LEASE 和 KEY-LEASE 資訊的位置。

otSrpServerServiceGetNumberOfSubTypes

uint16_t otSrpServerServiceGetNumberOfSubTypes(
  const otSrpServerService *aService
)

取得服務的子類型數量。

詳細說明
參數
[in] aService
指向 SRP 服務的指標。
傳回
aService 的子類型數量。

otSrpServerServiceGetPort

uint16_t otSrpServerServiceGetPort(
  const otSrpServerService *aService
)

傳回服務執行個體的通訊埠。

詳細說明
參數
[in] aService
指向 SRP 服務的指標。
傳回
服務的通訊埠。

otSrpServerServiceGetPriority

uint16_t otSrpServerServiceGetPriority(
  const otSrpServerService *aService
)

傳回服務執行個體的優先順序。

詳細說明
參數
[in] aService
指向 SRP 服務的指標。
傳回
服務的優先順序。

otSrpServerServiceGetServiceName

const char * otSrpServerServiceGetServiceName(
  const otSrpServerService *aService
)

傳回服務的完整服務名稱。

詳細說明
參數
[in] aService
指向 SRP 服務的指標。
傳回
指向空值服務名稱字串的指標。

otSrpServerServiceGetSubTypeServiceNameAt

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

取得特定索引的服務子類型服務名稱 (全名)。

子類型服務的完整服務名稱會顯示在「._sub...」後方。

詳細說明
參數
[in] aService
指向 SRP 服務的指標。
[in] aIndex
要取得的索引。
傳回
指向 aIndex 的子類型服務名稱指標,如果這個索引沒有子類型,則為 NULL

otSrpServerServiceGetTtl

uint32_t otSrpServerServiceGetTtl(
  const otSrpServerService *aService
)

傳回服務執行個體的存留時間。

詳細說明
參數
[in] aService
指向 SRP 服務的指標。
傳回
服務執行個體的存留時間。

otSrpServerServiceGetTxtData

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

傳回服務執行個體的 TXT 記錄資料。

詳細說明
參數
[in] aService
指向 SRP 服務的指標。
[out] aDataLength
傳回 TXT 記錄資料長度的指標。不得為空值。
傳回
指向包含 TXT 記錄資料的緩衝區指標 (在 aDataLength 中會傳回 TXT 資料長度)。

otSrpServerServiceGetWeight

uint16_t otSrpServerServiceGetWeight(
  const otSrpServerService *aService
)

傳回服務執行個體的權重。

詳細說明
參數
[in] aService
指向 SRP 服務的指標。
傳回
服務的權重。

otSrpServerServiceHasSubTypeServiceName

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

表示服務是否具有指定的子類型。

DNS 名稱比對是以不區分大小寫的字串比較 (例如「Abc」和「aBc」會視為相同)。

詳細說明
參數
[in] aService
指向 SRP 服務的指標。
[in] aSubTypeServiceName
要檢查的子類型服務名稱 (全名)。
傳回值
TRUE
Service 包含子類型 aSubTypeServiceName
FALSE
服務不含子類型 aSubTypeServiceName

otSrpServerServiceIsDeleted

bool otSrpServerServiceIsDeleted(
  const otSrpServerService *aService
)

指出 SRP 服務是否已刪除。

您可以將 SRP 服務刪除,但保留名稱供日後使用。在這種情況下,系統不會將服務執行個體從 SRP 伺服器/登錄檔中移除。如果刪除主機,我們一定會一併刪除所有服務。

詳細說明
參數
[in] aService
指向 SRP 服務的指標。
傳回
如果服務已刪除,則為 TRUE;如果不是,則為 FALSE。

otSrpServerServiceMatchesInstanceName

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

表示這項服務是否與特定服務執行個體名稱相符。

DNS 名稱比對是以不區分大小寫的字串比較 (例如「Abc」和「aBc」會視為相同)。

詳細說明
參數
[in] aService
指向 SRP 服務的指標。
[in] aInstanceName
服務執行個體名稱。
傳回值
TRUE
如果 Service 與服務執行個體名稱相符。
FALSE
如果服務與服務執行個體名稱不符,

otSrpServerServiceMatchesServiceName

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

表示服務是否與特定服務名稱相符。

DNS 名稱比對是以不區分大小寫的字串比較 (例如「Abc」和「aBc」會視為相同)。

詳細說明
參數
[in] aService
指向 SRP 服務的指標。
[in] aServiceName
服務名稱。
傳回值
TRUE
如果服務名稱與服務名稱相符,
FALSE
如果服務名稱與服務名稱不符,

otSrpServerSetAddressMode

otError otSrpServerSetAddressMode(
  otInstance *aInstance,
  otSrpServerAddressMode aMode
)

設定 SRP 伺服器要使用的位址模式。

詳細說明
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
[in] aMode
要使用的地址模式。
傳回值
OT_ERROR_NONE
已成功設定地址模式。
OT_ERROR_INVALID_STATE
SRP 伺服器已啟用,因此無法變更位址模式。

otSrpServerSetAnycastModeSequenceNumber

otError otSrpServerSetAnycastModeSequenceNumber(
  otInstance *aInstance,
  uint8_t aSequenceNumber
)

設定與任一傳播地址模式搭配使用的序號。

詳細說明
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
[in] aSequenceNumber
要使用的序號。
傳回值
OT_ERROR_NONE
已成功設定地址模式。
OT_ERROR_INVALID_STATE
SRP 伺服器已啟用,因此無法變更序號。

otSrpServerSetAutoEnableMode

void otSrpServerSetAutoEnableMode(
  otInstance *aInstance,
  bool aEnabled
)

啟用/停用 SRP 伺服器上的自動啟用模式。

需要 OPENTHREAD_CONFIG_BORDER_ROUTING_ENABLE 功能。

啟用此模式後,邊界轉送管理工具可控制要/何時啟用或停用 SRP 伺服器。如已啟用邊界轉送,且在啟動邊界轉送,且使用初始前置字元和路徑設定完成,就會自動啟用 SRP 伺服器;一旦確定 OMR 和連結上前置字元時,基礎架構端就會發出發出的路由器廣告訊息,並發布於 Thread 網路資料中。當 BR 停止時 (例如基礎設施網路介面服務中斷或 BR 卸離),SRP 伺服器會自動停用。

您可以透過 otSrpServerSetAutoEnableMode() 呼叫將 aEnabled 設為 false,或是呼叫 otSrpServerSetEnabled() 函式來明確啟用或停用 SRP 伺服器,藉此停用這個模式。使用 otSrpServerSetAutoEnableMode(false) 停用自動啟用模式時,SRP 的目前狀態不會改變 (例如啟用自動啟用模式的話)。

詳細說明
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
[in] aEnabled
用於啟用/停用自動啟用模式的布林值。

otSrpServerSetDomain

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

在 SRP 伺服器上設定網域。

如果 aDomain 中沒有結尾的點,系統會為其附加一個結尾點。只有在啟用 SRP 伺服器前才能呼叫。

詳細說明
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
[in] aDomain
要設定的網域。不得為空值。
傳回值
OT_ERROR_NONE
已成功將網域設為 aDomain
OT_ERROR_INVALID_STATE
SRP 伺服器已啟用,因此無法變更網域。
OT_ERROR_INVALID_ARGS
引數 aDomain 不是有效的 DNS 網域名稱。
OT_ERROR_NO_BUFS
沒有記憶體可儲存 aDomain 的內容。

otSrpServerSetEnabled

void otSrpServerSetEnabled(
  otInstance *aInstance,
  bool aEnabled
)

啟用/停用 SRP 伺服器。

在邊界路由器上,建議您改用 otSrpServerSetAutoEnableMode()

詳細說明
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
[in] aEnabled
用於啟用/停用 SRP 伺服器的布林值。

otSrpServerSetLeaseConfig

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

設定 SRP 伺服器 LEASE 和 KEY-LEASE 設定。

如果用戶端要求非零的 LEASE 時間,授予的值會在 [aMinLease, aMaxLease] 範圍內限制;此外,[aMinKeyLease, aMaxKeyLease] 中會授予非零的 KEY-LEASE。如果是 LEASE 或 KEY-LEASE 時間,系統不會授予 0。

詳細說明
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
[in] aLeaseConfig
otSrpServerLeaseConfig 執行個體的指標。
傳回值
OT_ERROR_NONE
已成功設定 LEASE 和 KEY-LEASE 範圍。
OT_ERROR_INVALID_ARGS
LEASE 或 KEY-LEASE 範圍無效。

otSrpServerSetServiceUpdateHandler

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

設定 SRP 伺服器上的 SRP 服務更新處理常式。

詳細說明
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
[in] aServiceHandler
指向服務處理常式的指標。使用 NULL 移除處理常式。
[in] aContext
指向任意背景資訊的指標。如未使用,則為空值。

otSrpServerSetTtlConfig

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

設定 SRP 伺服器存留時間設定。

無論存留時間下限或上限設定為何,授予的存留時間都絕不會大於透過 otSrpServerSetLeaseConfig() 設定的保留間隔上限。

詳細說明
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
[in] aTtlConfig
otSrpServerTtlConfig 執行個體的指標。
傳回值
OT_ERROR_NONE
已成功設定存留時間設定。
OT_ERROR_INVALID_ARGS
存留時間設定無效。

資源

OpenThread API 參考資料主題源自原始碼,請前往 GitHub 取得。如要瞭解詳情或對說明文件做出貢獻,請參閱資源