SRP のみ
このモジュールには、SRP クライアントの動作を制御する関数が含まれています。
概要
このモジュールには、Service Registration Protocol の関数が含まれています。
このモジュールには、SRP クライアント バッファとサービスプール用の関数が含まれています。
このモジュールの関数は、OPENTHREAD_CONFIG_SRP_CLIENT_BUFFERS_ENABLE 機能が有効になっている場合にのみ使用できます。
Typedef |
|
---|---|
otSrpClientAutoStartCallback)(const otSockAddr *aServerSockAddr, void *aContext)
|
typedefvoid(*
この関数ポインタの型は、自動開始または停止されたときに SRP クライアントがユーザーに通知するコールバックを定義します。 |
otSrpClientBuffersServiceEntry
|
typedef この構造体は、SRP クライアント サービスプールのエントリを表します。 |
otSrpClientCallback)(otError aError, const otSrpClientHostInfo *aHostInfo, const otSrpClientService *aServices, const otSrpClientService *aRemovedServices, void *aContext)
|
typedefvoid(*
この関数ポインタの型は、変更、イベント、エラーについてユーザーに通知するために SRP クライアントが使用するコールバックを定義します。 |
otSrpClientHostInfo
|
typedefstruct otSrpClientHostInfo
この構造は、SRP クライアントのホスト情報を表します。 |
otSrpClientService
|
typedefstruct otSrpClientService
この構造は SRP クライアント サービスを表します。 |
otSrpServerAddressMode
|
typedef この列挙型は、SRP サーバーによって使用されるアドレスモードを表します。 |
otSrpServerHost
|
typedefstruct otSrpServerHost
この不透明なタイプは、SRP サービスホストを表します。 |
otSrpServerLeaseConfig
|
typedefstruct otSrpServerLeaseConfig
この構造には、SRP サーバーの LEASE の構成と KEY-LEASE の構成が含まれます。 |
otSrpServerService
|
typedefstruct otSrpServerService
この不透明なタイプは、SRP サービスを表します。 |
otSrpServerServiceFlags
|
typedefuint8_t
SRP サービスのリストを検索(または反復)する際に追加または除外するサービスを示すサービスフラグ タイプ。 |
otSrpServerServiceUpdateHandler)(otSrpServerServiceUpdateId aId, const otSrpServerHost *aHost, uint32_t aTimeout, void *aContext)
|
typedefvoid(*
この関数は、SRP サービスの更新を処理します。 |
otSrpServerServiceUpdateId
|
typedefuint32_t
SRP サーバーでの SRP サービス更新トランザクションの ID。 |
関数 |
|
---|---|
otSrpClientAddService(otInstance *aInstance, otSrpClientService *aService)
|
この関数は、サーバーに登録するサービスを追加します。
|
otSrpClientBuffersAllocateService(otInstance *aInstance)
|
この関数は、プールから新しいサービス エントリを割り当てます。
|
otSrpClientBuffersFreeAllServices(otInstance *aInstance)
|
void
この関数は、以前に割り当てられたサービス エントリをすべて解放します。
|
otSrpClientBuffersFreeService(otInstance *aInstance, otSrpClientBuffersServiceEntry *aService)
|
void
この関数は、以前に割り当てられたサービス エントリを解放します。
|
otSrpClientBuffersGetHostAddressesArray(otInstance *aInstance, uint8_t *aArrayLength)
|
この関数は、SRP クライアントのホストアドレス リストとして使用する IPv6 アドレス エントリの配列を取得します。
|
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
この関数は、自動スタート モードを無効にします。
|
otSrpClientEnableAutoStartMode(otInstance *aInstance, otSrpClientAutoStartCallback aCallback, void *aContext)
|
void
この関数は、自動スタート モードを有効にします。
|
otSrpClientGetDomainName(otInstance *aInstance)
|
const char *
この関数は、SRP クライアントが使用しているドメイン名を取得します。
|
otSrpClientGetHostInfo(otInstance *aInstance)
|
const otSrpClientHostInfo *
この関数はホスト情報を取得します。
|
otSrpClientGetKeyLeaseInterval(otInstance *aInstance)
|
uint32_t
この関数は、SRP 更新リクエストで使用される鍵のリース間隔を取得します。
|
otSrpClientGetLeaseInterval(otInstance *aInstance)
|
uint32_t
この関数は、SRP 更新リクエストで使用されるリースの間隔を取得します。
|
otSrpClientGetServerAddress(otInstance *aInstance)
|
const otSockAddr *
この関数は、SRP クライアントが使用している SRP サーバーのソケット アドレス(IPv6 アドレスとポート番号)を取得します。
|
otSrpClientGetServices(otInstance *aInstance)
|
const otSrpClientService *
この関数は、クライアントによって管理されているサービスのリストを取得します。
|
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
この関数は、「サービスキー レコードの追加」モードを有効または無効にします。
|
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 サーバーに次に登録されたホストを返します。
|
otSrpServerGetState(otInstance *aInstance)
|
この関数は、SRP サーバーの状態を返します。
|
otSrpServerHandleServiceUpdateResult(otInstance *aInstance, otSrpServerServiceUpdateId aId, otError aError)
|
void
この関数は、SRP の更新を SRP サーバーに処理した結果をレポートします。
|
otSrpServerHostFindNextService(const otSrpServerHost *aHost, const otSrpServerService *aPrevService, otSrpServerServiceFlags aFlags, const char *aServiceName, const char *aInstanceName)
|
const otSrpServerService *
この関数は、ホスト上で次に一致するサービスを検索します。
|
otSrpServerHostGetAddresses(const otSrpServerHost *aHost, uint8_t *aAddressesNum)
|
const otIp6Address *
この関数は、指定されたホストのアドレスを返します。
|
otSrpServerHostGetFullName(const otSrpServerHost *aHost)
|
const char *
この関数はホストの完全な名前を返します。
|
otSrpServerHostGetNextService(const otSrpServerHost *aHost, const otSrpServerService *aService)
|
const otSrpServerService *
この関数は、指定されたホストの次のサービス(サブタイプ サービスを除く)を返します。
|
otSrpServerHostIsDeleted(const otSrpServerHost *aHost)
|
bool
この関数は、SRP サービスホストが削除されたかどうかを示します。
|
otSrpServerServiceGetFullName(const otSrpServerService *aService)
|
const char *
この関数は、サービスの完全なサービス インスタンス名を返します。
|
otSrpServerServiceGetHost(const otSrpServerService *aService)
|
const otSrpServerHost *
この関数は、サービス インスタンスが存在するホストを返します。
|
otSrpServerServiceGetInstanceName(const otSrpServerService *aService)
|
const char *
この関数は、サービスの完全なサービス インスタンス名を返します。
|
otSrpServerServiceGetPort(const otSrpServerService *aService)
|
uint16_t
この関数は、サービス インスタンスのポートを返します。
|
otSrpServerServiceGetPriority(const otSrpServerService *aService)
|
uint16_t
この関数は、サービス インスタンスの優先度を返します。
|
otSrpServerServiceGetServiceName(const otSrpServerService *aService)
|
const char *
この関数は、サービスの完全なサービス名を返します。
|
otSrpServerServiceGetServiceSubTypeLabel(const otSrpServerService *aService, char *aLabel, uint8_t aMaxSize)
|
この関数は、サービス名からサブタイプ ラベルを取得します。
|
otSrpServerServiceGetTxtData(const otSrpServerService *aService, uint16_t *aDataLength)
|
const uint8_t *
この関数は、サービス インスタンスの TXT レコードデータを返します。
|
otSrpServerServiceGetWeight(const otSrpServerService *aService)
|
uint16_t
この関数は、サービス インスタンスの重みを返します。
|
otSrpServerServiceIsDeleted(const otSrpServerService *aService)
|
bool
この関数は、SRP サービスが削除されたかどうかを示します。
|
otSrpServerServiceIsSubType(const otSrpServerService *aService)
|
bool
この関数は、SRP サービスがサブタイプかどうかを示します。
|
otSrpServerSetAddressMode(otInstance *aInstance, otSrpServerAddressMode aMode)
|
この関数は、SRP サーバーが使用するアドレスモードを設定します。
|
otSrpServerSetAnycastModeSequenceNumber(otInstance *aInstance, uint8_t aSequenceNumber)
|
この関数は、エニーキャスト アドレス モードで使用されるシーケンス番号を設定します。
|
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 サービス更新ハンドラを設定します。
|
構造体 |
|
---|---|
otSrpClientBuffersServiceEntry |
この構造体は、SRP クライアント サービスプールのエントリを表します。 |
otSrpClientHostInfo |
この構造は、SRP クライアントのホスト情報を表します。 |
otSrpClientService |
この構造は SRP クライアント サービスを表します。 |
otSrpServerLeaseConfig |
この構造には、SRP サーバーの LEASE の構成と KEY-LEASE の構成が含まれます。 |
列挙型
匿名列挙型
anonymous enum
プロパティ | |
---|---|
OT_SRP_SERVER_SERVICE_FLAG_ACTIVE
|
アクティブな(削除されていない)サービスを含めます。 |
OT_SRP_SERVER_SERVICE_FLAG_BASE_TYPE
|
基本サービスを含めます(サブタイプではありません)。 |
OT_SRP_SERVER_SERVICE_FLAG_DELETED
|
削除されたサービスを含める。 |
OT_SRP_SERVER_SERVICE_FLAG_SUB_TYPE
|
サブタイプのサービスを含めます。 |
匿名列挙型
anonymous enum
プロパティ | |
---|---|
OT_SRP_SERVER_FLAGS_ANY_SERVICE
|
この定数は、あらゆるサービス(ベース/サブタイプ、アクティブ/削除済み)を受け入れる |
OT_SRP_SERVER_FLAGS_ANY_TYPE_ACTIVE_SERVICE
|
この定数は、アクティブな(削除されていない)サービスを受け入れる |
OT_SRP_SERVER_FLAGS_ANY_TYPE_DELETED_SERVICE
|
この定数は、削除されたサービスを受け入れる |
OT_SRP_SERVER_FLAGS_BASE_TYPE_SERVICE_ONLY
|
この定数は、基本サービスのみを受け入れる |
OT_SRP_SERVER_FLAGS_SUB_TYPE_SERVICE_ONLY
|
この定数は、サブタイプのサービスのみを受け入れる |
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
|
エニーキャスト アドレス モード。 |
OT_SRP_SERVER_ADDRESS_MODE_UNICAST
|
ユニキャスト アドレス モード。 |
otSrpServerState
otSrpServerState
SRP サーバーの状態を表します。
プロパティ | |
---|---|
OT_SRP_SERVER_STATE_DISABLED
|
SRP サーバーが無効になっています。 |
OT_SRP_SERVER_STATE_RUNNING
|
SRP サーバーが実行されている。 |
OT_SRP_SERVER_STATE_STOPPED
|
SRP サーバーが停止している。 |
Typedef
otSrpClientAutoStartCallback
void(* otSrpClientAutoStartCallback)(const otSockAddr *aServerSockAddr, void *aContext)
この関数ポインタの型は、自動開始または停止されたときに SRP クライアントがユーザーに通知するコールバックを定義します。
これは、自動スタート機能 OPENTHREAD_CONFIG_SRP_CLIENT_AUTO_START_API_ENABLE
が有効になっている場合にのみ使用されます。
このコールバックは、自動スタート モードが有効で、SRP クライアントが自動的に開始または停止したときに呼び出されます。
詳細 | |||||
---|---|---|---|---|---|
パラメータ |
|
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/service が登録済みか削除済みか、まだ追加/削除されているかを示す状態など)。
削除されたサービスのリストは、コールバックで独自のリンクリスト aRemovedServices
として渡されます。コールバックが呼び出されると、SRP クライアント(OpenThread 実装)は、aRemovedServices
にリストされた削除されたサービス インスタンスを使用して実行され、それらのインスタンスを追跡、保存しなくなります(つまり、コールバックから otSrpClientGetServices()
を呼び出した場合、削除されたインスタンスを削除します)。返されるリストにサービスは含まれません)。コールバックで削除されたサービスのリストを別個に提供することで、現在はどのアイテムが削除されているかをユーザーに示し、ユーザーがインスタンスを再利用または再利用できるようになります。
サーバーが SRP 更新リクエストを拒否した場合、DNS レスポンス コード(RFC 2136)は次のエラーにマッピングされます。
- (0)NOERROR 成功(エラー状態なし)-> OT_ERROR_NONE
- (1)フォーマット エラー -> OT_ERROR_PARSE により、FORMERR サーバーが解釈できません
- (2)SERVFAIL サーバーで内部エラーが発生した -> OT_ERROR_FAILED
- (3)存在しないはずの NXDOMAIN の名前 -> OT_ERROR_NOT_FOUND
- (4)NOTIMP Server は、Query Type(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
と関連パラメータをご覧ください)。
詳細 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
パラメータ |
|
otSrpClientService
struct otSrpClientService otSrpClientService
この構造は SRP クライアント サービスを表します。
この構造体の値(名前や TXT レコードのエントリの文字列バッファを含む)は、この構造体のインスタンスが otSrpClientAddService()
または otSrpClientRemoveService()
から OpenThread に渡された後も保持され、一定に保たれなければなりません。
otSrpServerAddressMode
enum otSrpServerAddressMode otSrpServerAddressMode
この列挙型は、SRP サーバーによって使用されるアドレスモードを表します。
アドレスモードでは、SRP サーバーによるアドレスとポート番号の決定方法と、この情報が Thread ネットワーク データで公開される方法を指定します。
otSrpServerLeaseConfig
struct otSrpServerLeaseConfig otSrpServerLeaseConfig
この構造には、SRP サーバーの LEASE の構成と KEY-LEASE の構成が含まれます。
otSrpServerServiceFlags
uint8_t otSrpServerServiceFlags
SRP サービスのリストを検索(または反復)する際に追加または除外するサービスを示すサービスフラグ タイプ。
これはビットフラグの組み合わせです。特定のビットフラグは列挙型の OT_SRP_SERVER_FLAG_*
で定義されます。
otSrpServerServiceUpdateHandler を使用する
void(* otSrpServerServiceUpdateHandler)(otSrpServerServiceUpdateId aId, const otSrpServerHost *aHost, uint32_t aTimeout, void *aContext)
この関数は、SRP サービスの更新を処理します。
この関数は、SRP サーバーが SRP ホストと(場合によっては)SRP サービスが更新されていることを通知するために、SRP サーバーによって呼び出されます。ハンドラが otSrpServerHandleServiceUpdateResult を呼び出して結果を返すか、aTimeout
の後にタイムアウトするまで、SRP の更新が commit されていないことが重要です。
SRP サービス オブザーバーは、アップデート イベントを受け取った直後に、必ず OTSrpServerHandleServiceUpdateResult をエラーコード OT_ERROR_NONE で呼び出します。
より汎用的なハンドラは、SRP のホストやサービスに対して検証を実行し、検証が失敗した場合に SRP の更新を拒否することがあります。たとえば、アドバタイジング プロキシは、マルチキャスト対応リンクでホストとサービスをアドバタイズ(または削除)し、なんらかのエラーが発生した場合に特定のエラーコードを返します。
詳細 | |||||||||
---|---|---|---|---|---|---|---|---|---|
パラメータ |
|
otSrpServerSetServiceUpdateHandler
otSrpServerHandleServiceUpdateResult
otSrpServerServiceUpdateId を使用する
uint32_t otSrpServerServiceUpdateId
SRP サーバーでの SRP サービス更新トランザクションの ID。
関数
otSrpClientAddService の使用
otError otSrpClientAddService( otInstance *aInstance, otSrpClientService *aService )
この関数は、サーバーに登録するサービスを追加します。
この関数の呼び出しが成功すると、otSrpClientCallback
が呼び出され、SRP サーバーへのサービスの追加または登録のステータスを報告します。
aService
が指している otSrpClientService
インスタンスは、この関数から戻った後も(OT_ERROR_NONE
で)保持され、変更されないままにする必要があります。 OpenThread はサービス インスタンスへのポインタを保存します。
otSrpClientService
インスタンスは OpenThread によるトラッキングの対象外となったため、以下の場合にのみ再利用できます。
otSrpClientRemoveService()
の呼び出しによって明示的に削除されるか、otSrpClientRemoveHostAndServices() and only after the
otSrpClientCallback の呼び出しによって他のサービスとともに削除される(サービスが削除されたことを表します) または、- ホストとすべての関連サービスをすぐに削除する
otSrpClientClearHostAndServices()
の呼び出し。
詳細 | |||||||
---|---|---|---|---|---|---|---|
パラメータ |
|
||||||
戻り値 |
|
otSrpClientBuffersAllocateService
otSrpClientBuffersServiceEntry * otSrpClientBuffersAllocateService( otInstance *aInstance )
この関数は、プールから新しいサービス エントリを割り当てます。
返されるサービス エントリ インスタンスは次のように初期化されます。
mService.mName
は、otSrpClientBuffersGetServiceEntryServiceNameString()
関数を使用して取得できる、割り当てられた文字列バッファをポイントします。mService.mInstanceName
は、otSrpClientBuffersGetServiceEntryInstanceNameString()
関数を使用して取得できる、割り当てられた文字列バッファをポイントします。mService.mSubTypeLabels
は、otSrpClientBuffersGetSubTypeLabelsArray()
から返される配列を指します。mService.mTxtEntries
はmTxtEntry
をポイントします。mService.mNumTxtEntries
は 1 に設定されます。- その他の
mService
フィールド(ポート、優先度、ウェイト)はゼロに設定されます。 mTxtEntry.mKey
が NULL に設定されている(値はエンコード済みとして処理されます)。mTxtEntry.mValue
は、otSrpClientBuffersGetServiceEntryTxtBuffer()
関数を使用して取得できる、割り当てられたバッファをポイントします。mTxtEntry.mValueLength
はゼロに設定されます。- 関連するすべてのデータ/文字列のバッファと配列はすべてゼロにクリアされます。
詳細 | |||
---|---|---|---|
パラメータ |
|
||
戻り値 |
新しく割り当てられたサービス エントリへのポインタ。プール内で使用可能なエントリがない場合は NULL。
|
otSrpClientBuffersFreeAllServices
void otSrpClientBuffersFreeAllServices( otInstance *aInstance )
この関数は、以前に割り当てられたサービス エントリをすべて解放します。
詳細 | |||
---|---|---|---|
パラメータ |
|
otSrpClientBuffersFreeService
void otSrpClientBuffersFreeService( otInstance *aInstance, otSrpClientBuffersServiceEntry *aService )
この関数は、以前に割り当てられたサービス エントリを解放します。
aService
は、以前に otSrpClientBuffersAllocateService()
を使用して割り当て、未解放ではない。それ以外の場合、この関数の動作は定義されていません。
詳細 | |||||
---|---|---|---|---|---|
パラメータ |
|
otSrpClientBuffersGetHostAddressesArray
otIp6Address * otSrpClientBuffersGetHostAddressesArray( otInstance *aInstance, uint8_t *aArrayLength )
この関数は、SRP クライアントのホストアドレス リストとして使用する IPv6 アドレス エントリの配列を取得します。
詳細 | |||||
---|---|---|---|---|---|
パラメータ |
|
||||
戻り値 |
otIp6Address エントリの配列へのポインタ(エントリの数は aArrayLength に返されます)。 |
otSrpClientBuffersGetHostNameString(文字列)
char * otSrpClientBuffersGetHostNameString( otInstance *aInstance, uint16_t *aSize )
この関数は、SRP クライアントのホスト名に使用する文字列バッファを取得します。
詳細 | |||||
---|---|---|---|---|---|
パラメータ |
|
||||
戻り値 |
SRP クライアントのホスト名に使用する文字バッファへのポインタ。
|
otSrpClientBuffersGetServiceEntryInstanceNameString
char * otSrpClientBuffersGetServiceEntryInstanceNameString( otSrpClientBuffersServiceEntry *aEntry, uint16_t *aSize )
この関数は、サービス エントリからサービス インスタンス名の文字列バッファを取得します。
詳細 | |||||
---|---|---|---|---|---|
パラメータ |
|
||||
戻り値 |
文字列バッファへのポインタ。
|
otSrpClientBuffersGetServiceEntryServiceNameString(文字列)
char * otSrpClientBuffersGetServiceEntryServiceNameString( otSrpClientBuffersServiceEntry *aEntry, uint16_t *aSize )
この関数は、サービス エントリからサービス名の文字列バッファを取得します。
詳細 | |||||
---|---|---|---|---|---|
パラメータ |
|
||||
戻り値 |
文字列バッファへのポインタ。
|
otSrpClientBuffersGetServiceEntryTxtBuffer
uint8_t * otSrpClientBuffersGetServiceEntryTxtBuffer( otSrpClientBuffersServiceEntry *aEntry, uint16_t *aSize )
この関数は、TXT レコードのバッファをサービス エントリから取得します。
詳細 | |||||
---|---|---|---|---|---|
パラメータ |
|
||||
戻り値 |
バッファへのポインタ。
|
otSrpClientBuffersGetSubTypeLabelsArray
const char ** otSrpClientBuffersGetSubTypeLabelsArray( otSrpClientBuffersServiceEntry *aEntry, uint16_t *aArrayLength )
この関数は、サービス エントリからサービス サブタイプ ラベルの配列を取得します。
詳細 | |||||
---|---|---|---|---|---|
パラメータ |
|
||||
戻り値 |
配列へのポインタ。
|
otSrpClientClearHostAndServices
void otSrpClientClearHostAndServices( otInstance *aInstance )
この関数は、すべてのホスト情報とすべてのサービスをクリアします。
すべての情報を削除するためにサーバーに更新メッセージを送信する otSrpClientRemoveHostAndServices()
とは異なり、この関数はサーバーとやり取りすることなく、すべての情報をすぐにクリアします。
詳細 | |||
---|---|---|---|
パラメータ |
|
OTSrpClientClearService の使用
otError otSrpClientClearService( otInstance *aInstance, otSrpClientService *aService )
この関数はサービスを消去し、直ちにクライアント サービスリストから削除します。
サービスを削除するために更新メッセージをサーバーに送信する otSrpClientRemoveService()
とは異なり、この関数はサーバーの操作を行わずにクライアントのサービスリストからサービスを消去します。この関数の呼び出しが成功すると、otSrpClientCallback
は呼び出されず、aService
エントリは呼び出し元によってすぐに再利用できます。
この関数は、その後の otSrpClientAddService()
の呼び出しと併用できます(同じサービスとインスタンス名で同じ aService
エントリを再利用する可能性があります)。これにより、既存のサービスのパラメータの一部が更新されます。
詳細 | |||||
---|---|---|---|---|---|
パラメータ |
|
||||
戻り値 |
|
otSrpClientDisableAutoStartMode
void otSrpClientDisableAutoStartMode( otInstance *aInstance )
この関数は、自動スタート モードを無効にします。
これは、自動スタート機能 OPENTHREAD_CONFIG_SRP_CLIENT_AUTO_START_API_ENABLE
が有効になっている場合にのみ使用できます。
自動起動モードを無効にしても、すでに実行中のクライアントは停止されませんが、クライアントはスレッド ネットワーク データのモニタリングを停止して、選択した SRP サーバーがまだ存在することを確認します。
otSrpClientStop()
を呼び出すと、自動スタート モードも無効になります。
詳細 | |||
---|---|---|---|
パラメータ |
|
otSrpClientEnableAutoStartMode(OTS の有効化)
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 クライアントは、スレッド ネットワーク データに含まれる SRP サーバー サービス エントリを監視し、SRP サーバーが検出されると自動的にクライアントを起動および停止します。
複数の SRP サーバーが見つかった場合は、ランダムに選択されます。選択された SRP サーバーが検出されなくなった(Thread ネットワーク データに存在しなくなった)場合、SRP クライアントは停止し、別の SRP サーバー(使用可能な場合)に切り替わることがあります。
otSrpClientStart()
の呼び出しが正常に終了して SRP クライアントが明示的に起動された場合、otSrpClientStart()
の指定された SRP サーバー アドレスは、自動起動モードの状態と同じ SRP サーバー アドレスが検出されているかどうかにかかわらず、引き続き使用されます。この場合、明示的な otSrpClientStop()
呼び出しだけがクライアントを停止します。
詳細 | |||||||
---|---|---|---|---|---|---|---|
パラメータ |
|
otSrpClientGetAppEngine
const char * otSrpClientGetDomainName( otInstance *aInstance )
この関数は、SRP クライアントが使用しているドメイン名を取得します。
この関数を使用するには OPENTHREAD_CONFIG_SRP_CLIENT_DOMAIN_NAME_API_ENABLE
を有効にする必要があります。
ドメイン名が設定されていない場合は「default.service.arpa」が使用されます。
詳細 | |||
---|---|---|---|
パラメータ |
|
||
戻り値 |
ドメイン名の文字列。
|
otSrpClientGetHostInfo
const otSrpClientHostInfo * otSrpClientGetHostInfo( otInstance *aInstance )
この関数はホスト情報を取得します。
詳細 | |||
---|---|---|---|
パラメータ |
|
||
戻り値 |
ホスト情報構造へのポインタ。
|
otSrpClientGetKeyLeaseInterval
uint32_t otSrpClientGetKeyLeaseInterval( otInstance *aInstance )
この関数は、SRP 更新リクエストで使用される鍵のリース間隔を取得します。
これは、SRP クライアントがリクエストするリース期間です。サーバーは異なるリース期間を受け入れることもできます。
詳細 | |||
---|---|---|---|
パラメータ |
|
||
戻り値 |
鍵のリース間隔(秒単位)
|
otSrpClientGetLeaseInterval
uint32_t otSrpClientGetLeaseInterval( otInstance *aInstance )
この関数は、SRP 更新リクエストで使用されるリースの間隔を取得します。
これは、SRP クライアントがリクエストするリース期間です。サーバーは異なるリース期間を受け入れることもできます。
詳細 | |||
---|---|---|---|
パラメータ |
|
||
戻り値 |
リースの間隔(秒単位)。
|
otSrpClientGetServerAddress
const otSockAddr * otSrpClientGetServerAddress( otInstance *aInstance )
この関数は、SRP クライアントが使用している SRP サーバーのソケット アドレス(IPv6 アドレスとポート番号)を取得します。
クライアントが実行されていない場合、アドレスは指定されず(すべてゼロ)、ポート番号はゼロになります。
詳細 | |||
---|---|---|---|
パラメータ |
|
||
戻り値 |
SRP サーバーのソケット アドレスへのポインタ(常に NULL ではありません)。
|
otSrpClientGetServices
const otSrpClientService * otSrpClientGetServices( otInstance *aInstance )
この関数は、クライアントによって管理されているサービスのリストを取得します。
詳細 | |||
---|---|---|---|
パラメータ |
|
||
戻り値 |
すべてのサービスのリンクリストの先頭へのポインタ。リストが空の場合は NULL。
|
otSrpClientIsAutoStartModeEnabled(以上)
bool otSrpClientIsAutoStartModeEnabled( otInstance *aInstance )
この関数は、自動スタート モードの現在の状態(有効または無効)を示します。
これは、自動スタート機能 OPENTHREAD_CONFIG_SRP_CLIENT_AUTO_START_API_ENABLE
が有効になっている場合にのみ使用できます。
詳細 | |||
---|---|---|---|
パラメータ |
|
||
戻り値 |
自動スタート モードが有効な場合は TRUE、それ以外の場合は FALSE。
|
otSrpClientIsRunning
bool otSrpClientIsRunning( otInstance *aInstance )
この関数は、SRP クライアントが実行中かどうかを示します。
詳細 | |||
---|---|---|---|
パラメータ |
|
||
戻り値 |
SRP クライアントが実行中の場合は TRUE、それ以外の場合は FALSE。
|
otSrpClientIsServiceKeyRecordEnabled(認証クライアント クライアントの ServiceKeyRecordEnabled)
bool otSrpClientIsServiceKeyRecordEnabled( otInstance *aInstance )
このメソッドは、「サービスキー レコードの追加」モードが有効か無効かを示します。
この関数は、OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE
構成が有効な場合に利用できます。
詳細 | |||
---|---|---|---|
パラメータ |
|
||
戻り値 |
「サービスキー レコードのインクルード」モードが有効になっている場合は TRUE、それ以外の場合は FALSE。
|
otSrpClientItemStateToString(文字列)
const char * otSrpClientItemStateToString( otSrpClientItemState aItemState )
この関数は、otSrpClientItemState
を文字列に変換します。
詳細 | |||
---|---|---|---|
パラメータ |
|
||
戻り値 |
aItemState の文字列表現。 |
otSrpClientRemoveHostAndServices
otError otSrpClientRemoveHostAndServices( otInstance *aInstance, bool aRemoveKeyLease, bool aSendUnregToServer )
この関数は、ホスト情報とすべてのサービスの削除プロセスを開始します。
この関数から戻ると、SRP サーバーで削除リクエストのステータスを報告するために、otSrpClientCallback
が呼び出されます。
ホスト情報をサーバーから完全に削除する場合は、aRemoveKeyLease
を true
に設定し、サーバー上のホストに関連付けられているキーリースを削除します。それ以外の場合は、鍵リースのレコードは以前と同じように保持されます。これにより、サーバーは再びホスト名を提供し、クライアントがサービスを提供、登録できるようになります。
aSendUnregToServer
は、ホスト情報がサーバーにまだ登録されていない場合の動作を指定します。aSendUnregToServer
が false
(デフォルト値/予想される値)に設定されている場合、SRP クライアントは更新情報をサーバーに送らず直ちにホスト情報およびサービスを削除します(メッセージ サーバーがない場合は、サーバーを更新する必要はありません)。登録済みである必要があります)。aSendUnregToServer
が true
に設定されている場合、SRP クライアントは更新メッセージをサーバーに送信します。ホスト情報が登録されている場合は、aSendUnregToServer
の値が重要でないため、SRP クライアントがすべての情報の削除をリクエストする更新メッセージをサーバーに常に送信します。
aSendUnregToServer
が役立つ可能性がある状況の 1 つとして、デバイスのリセット/リブートが挙げられます。呼び出し元は、サーバーに登録された以前のサービスを削除することもできます。この場合、呼び出し元は otSrpClientSetHostName()
してから、aSendUnregToServer
を true
として、otSrpClientRemoveHostAndServices()
をリクエストできます。
詳細 | |||||||
---|---|---|---|---|---|---|---|
パラメータ |
|
||||||
戻り値 |
|
otSrpClientRemoveService
otError otSrpClientRemoveService( otInstance *aInstance, otSrpClientService *aService )
この関数は、サービスの登録解除をサーバーにリクエストします。
この関数の呼び出しが成功すると、otSrpClientCallback
が呼び出され、SRP サーバーで削除リクエストのステータスを報告します。
aService
が指している otSrpClientService
インスタンスは、この関数から戻った後も(OT_ERROR_NONE
で)保持され、変更されないままにする必要があります。 OpenThread は削除プロセスの間サービス インスタンスを保持します。otSrpClientCallback
が呼び出された時点でのみ、サービス インスタンスが SRP クライアント サービスリストから削除され、解放または再利用できるようになります。
詳細 | |||||
---|---|---|---|---|---|
パラメータ |
|
||||
戻り値 |
|
otSrpClientSetCallback(コールバック)
void otSrpClientSetCallback( otInstance *aInstance, otSrpClientCallback aCallback, void *aContext )
この関数は、SRP クライアントからのイベントや変更を呼び出し元に通知するコールバックを設定します。
SRP クライアントでは、コールバックを 1 つ登録できます。そのため、この関数を連続して呼び出すと、以前に設定したコールバック関数が上書きされます。
詳細 | |||||||
---|---|---|---|---|---|---|---|
パラメータ |
|
otSrpClientSetAppEngine
otError otSrpClientSetDomainName( otInstance *aInstance, const char *aName )
この関数は、SRP クライアントが使用するドメイン名を設定します。
この関数を使用するには OPENTHREAD_CONFIG_SRP_CLIENT_DOMAIN_NAME_API_ENABLE
を有効にする必要があります。
設定しない場合、「default.service.arpa」が使用されます。
aName
が指す名前文字列バッファは、この関数から返された後も保持され、変更されないままでなければなりません。OpenThread は文字列へのポインタを保持します。
ドメイン名は、クライアントの起動前または開始後、ホスト情報をサーバーに登録する前に設定できます(ホスト情報は STATE_TO_ADD
または STATE_TO_REMOVE
のいずれか)。
詳細 | |||||
---|---|---|---|---|---|
パラメータ |
|
||||
戻り値 |
|
otSrpClientSetHostAddresses
otError otSrpClientSetHostAddresses( otInstance *aInstance, const otIp6Address *aIp6Addresses, uint8_t aNumAddresses )
この関数は、ホスト IPv6 アドレスのリストを設定または更新します。
ホスト IPv6 アドレスは、SRP クライアントの起動前または操作中(以前に登録されたホストアドレスを追加 / 削除 / 変更する場合など)に設定 / 変更できます。ただし、ホスト情報が削除されている場合(クライアントが以前の削除リクエストの処理にビジー状態である場合を除く) otSrpClientRemoveHostAndServices()
を呼び出し、ホスト情報がまだ STATE_TO_REMOVE
または STATE_REMOVING
の状態にある場合。
aIp6Addresses
が参照するホスト IPv6 アドレス配列は、この関数から戻った後も(OT_ERROR_NONE
を使用して)維持され、変更されないままでなければなりません。 OpenThread は、配列へのポインタを保存します。
この関数の呼び出しが成功すると、otSrpClientCallback
が呼び出されて、SRP サーバーへのアドレス登録のステータスを報告します。
詳細 | |||||||
---|---|---|---|---|---|---|---|
パラメータ |
|
||||||
戻り値 |
|
otSrpClientSetHostName
otError otSrpClientSetHostName( otInstance *aInstance, const char *aName )
この関数は、ホスト名のラベルを設定します。
この関数への呼び出しが成功すると、otSrpClientCallback
が呼び出され、SRP サーバーへのホスト情報の登録ステータスが報告されます。
aName
が指す名前文字列バッファは、この関数から返された後も保持され、変更されないままでなければなりません。OpenThread は文字列へのポインタを保持します。
ホスト名は、クライアントの起動前または開始後に、ホスト情報をサーバーに登録する前に設定できます(ホスト情報は STATE_TO_ADD
または STATE_REMOVED
のいずれか)。
詳細 | |||||||
---|---|---|---|---|---|---|---|
パラメータ |
|
||||||
戻り値 |
|
otSrpClientSetKeyLeaseInterval
void otSrpClientSetKeyLeaseInterval( otInstance *aInstance, uint32_t aInterval )
この関数は、SRP 更新リクエストで使用される鍵のリース間隔を設定します。
リース期間を変更しても、登録済みのサービス / ホスト情報に対して受け入れられているリース間隔には影響しません。影響を受けるのは、以降の SRP アップデート メッセージ(新しいサービスの追加や既存サービスの更新)のみです。
詳細 | |||||
---|---|---|---|---|---|
パラメータ |
|
otSrpClientSetLeaseInterval
void otSrpClientSetLeaseInterval( otInstance *aInstance, uint32_t aInterval )
この関数は、SRP 更新リクエストで使用されるリースの間隔を設定します。
リース期間を変更しても、登録済みのサービス / ホスト情報に対して受け入れられているリース間隔には影響しません。影響を受けるのは、以降の SRP アップデート メッセージ(新しいサービスの追加や既存サービスの更新)のみです。
詳細 | |||||
---|---|---|---|---|---|
パラメータ |
|
otSrpClientSetServiceKeyRecordEnabled(認証クライアント クライアントの ServiceKeyRecordEnabled の有効化)
void otSrpClientSetServiceKeyRecordEnabled( otInstance *aInstance, bool aEnabled )
この関数は、「サービスキー レコードの追加」モードを有効または無効にします。
有効にすると、SRP クライアントが送信する SRP 更新メッセージの [サービスの説明の指示] に KEY レコードが追加されます。
この関数は、OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE
構成が有効な場合に利用できます。
詳細 | |||||
---|---|---|---|---|---|
パラメータ |
|
otSrpClientStart
otError otSrpClientStart( otInstance *aInstance, const otSockAddr *aServerSockAddr )
この関数は、SRP クライアントのオペレーションを開始します。
次のすべての条件が満たされると、SRP クライアントは「SRP 更新」メッセージを準備して SRP サーバーに送信します。
- SRP クライアントが開始されます -
otSrpClientStart()
が呼び出されます。 - ホスト名が設定されています -
otSrpClientSetHostName()
が呼び出されました。 - 少なくとも 1 つのホスト IPv6 アドレスが設定されます。
otSrpClientSetHostName()
が呼び出されます。 - 少なくとも 1 つのサービスが追加されました -
otSrpClientAddService()
が呼び出されます。
これらの関数が呼び出される順序は関係ありません。すべての条件が満たされると、SRP クライアントはしばらく待ってから「SRP 更新」メッセージを作成してサーバーに送信します。この遅延によって、ユーザーは最初の SRP アップデート メッセージが送信される前に複数のサービスや IPv6 アドレスを追加できます(すべての情報を含む単一の SRP アップデートが送信されるようにします)。構成 OPENTHREAD_CONFIG_SRP_CLIENT_UPDATE_TX_DELAY
では遅延間隔を指定します。
詳細 | |||||||
---|---|---|---|---|---|---|---|
パラメータ |
|
||||||
戻り値 |
|
otSrpClientStop を使用する
void otSrpClientStop( otInstance *aInstance )
この関数は、SRP クライアントのオペレーションを停止します。
この関数は、SRP サーバーとの通信を停止します。ホスト情報やサービスのリストが削除されたり、削除されたりすることはありません。クライアントが再起動されると、すべてのサービスが再び追加または削除されます。
詳細 | |||
---|---|---|---|
パラメータ |
|
otSrpServerGetAddressMode(ん)
otSrpServerAddressMode otSrpServerGetAddressMode( otInstance *aInstance )
この関数は、SRP サーバーで使用されているアドレスモードを返します。
詳細 | |||
---|---|---|---|
パラメータ |
|
||
戻り値 |
SRP サーバーのアドレスモード。
|
otSrpServerGetAnycastModeSequenceNumber
uint8_t otSrpServerGetAnycastModeSequenceNumber( otInstance *aInstance )
この関数は、エニーキャスト アドレス モードで使用されるシーケンス番号を返します。
シーケンス番号は、ネットワーク データで公開されている「DNS/SRP サービス エニーキャスト アドレス」の項目に含まれます。
詳細 | |||
---|---|---|---|
パラメータ |
|
||
戻り値 |
エニーキャスト シーケンス番号。
|
otSrpServerGetDomain
const char * otSrpServerGetDomain( otInstance *aInstance )
この関数は、SRP サーバーに承認されたドメインを返します。
SetDomain で設定していない場合は「default.service.arpa」、が返されます。ドメインが設定されていない場合は、末尾にドットが付加されます。
詳細 | |||
---|---|---|---|
パラメータ |
|
||
戻り値 |
ドット結合のドメイン文字列へのポインタ。
|
otSrpServerGetLeaseConfig
void otSrpServerGetLeaseConfig( otInstance *aInstance, otSrpServerLeaseConfig *aLeaseConfig )
この関数は、SRP サーバーの LEASE 設定と KEY-LEASE 設定を返します。
詳細 | |||||
---|---|---|---|---|---|
パラメータ |
|
otSrpServerGetNextHost
const otSrpServerHost * otSrpServerGetNextHost( otInstance *aInstance, const otSrpServerHost *aHost )
この関数は、SRP サーバーに次に登録されたホストを返します。
詳細 | |||||
---|---|---|---|---|---|
パラメータ |
|
||||
戻り値 |
登録済みホストへのポインタ。NULL: 他のホストが見つからなかった場合。
|
otSrpServerGetState
otSrpServerState otSrpServerGetState( otInstance *aInstance )
この関数は、SRP サーバーの状態を返します。
詳細 | |||
---|---|---|---|
パラメータ |
|
||
戻り値 |
SRP サーバーの現在の状態。
|
otSrpServerHandleServiceUpdateResult
void otSrpServerHandleServiceUpdateResult( otInstance *aInstance, otSrpServerServiceUpdateId aId, otError aError )
この関数は、SRP の更新を SRP サーバーに処理した結果をレポートします。
サービス更新ハンドラは、この関数を呼び出して SRP 更新処理の結果を返す必要があります。
詳細 | |||||||
---|---|---|---|---|---|---|---|
パラメータ |
|
otSrpServerHostFindNextService
const otSrpServerService * otSrpServerHostFindNextService( const otSrpServerHost *aHost, const otSrpServerService *aPrevService, otSrpServerServiceFlags aFlags, const char *aServiceName, const char *aInstanceName )
この関数は、ホスト上で次に一致するサービスを検索します。
フラグ、サービス名、インスタンス名を組み合わせると、特定の条件に合致するサービスのリストやそのサブセット、あるいは特定のサービスを見つけるための反復処理を行えます。
ホストのすべてのサービスを反復処理する場合。service = otSrpServerHostFindNextService(host, service, OT_SRP_SERVER_FLAGS_ANY_SERVICE, NULL, NULL);
基本サービスのみを反復処理するには(サブタイプを除く)、service = otSrpServerHostFindNextService(host, service, OT_SRP_SERVER_FLAGS_BASE_TYPE_SERVICE_ONLY, NULL, NULL)。
特定のインスタンス名 instanceName
のサブタイプを反復処理する場合: service = otSrpServerHostFindNextService(host, service, OT_SRP_SERVER_FLAGS_SUB_TYPE_SERVICE_ONLY, NULL, instanceName);
サービス名 serviceName
とサービス インスタンス名 instanceName
の特定のサービスを検索するには: service = otSrpServerHostFindNextService(host, NULL, OT_SRP_SERVER_FLAGS_ANY_SERVICE, serviceName, instanceName);
指定したサービス インスタンス名が instanceName
のベースタイプのサービスを検索するには、service = otSrpServerHostFindNextService(host, NULL, OT_SRP_SERVER_FLAGS_BASE_TYPE_SERVICE_ONLY, NULL, instanceName)。
詳細 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
パラメータ |
|
||||||||||
戻り値 |
次のマッチング サービスへのポインタ。一致するサービスが見つからない場合は NULL。
|
otSrpServerHostGetAddresses
const otIp6Address * otSrpServerHostGetAddresses( const otSrpServerHost *aHost, uint8_t *aAddressesNum )
この関数は、指定されたホストのアドレスを返します。
詳細 | |||||
---|---|---|---|---|---|
パラメータ |
|
||||
戻り値 |
IPv6 アドレスの配列へのポインタ。
|
otSrpServerHostGetFullName
const char * otSrpServerHostGetFullName( const otSrpServerHost *aHost )
この関数はホストの完全な名前を返します。
詳細 | |||
---|---|---|---|
パラメータ |
|
||
戻り値 |
null で終わるホスト名文字列へのポインタ。
|
otSrpServerHostGetNextService
const otSrpServerService * otSrpServerHostGetNextService( const otSrpServerHost *aHost, const otSrpServerService *aService )
この関数は、指定されたホストの次のサービス(サブタイプ サービスを除く)を返します。
詳細 | |||||
---|---|---|---|---|---|
パラメータ |
|
||||
戻り値 |
次のサービスへのポインタ。それ以上のサービスがない場合は NULL。
|
otSrpServerHostIsDeleted(削除)
bool otSrpServerHostIsDeleted( const otSrpServerHost *aHost )
この関数は、SRP サービスホストが削除されたかどうかを示します。
SRP サービスホストは削除できますが、後で使用するために名前を保持します。この場合、ホスト インスタンスは SRP のサーバー/レジストリから削除されません。
詳細 | |||
---|---|---|---|
パラメータ |
|
||
戻り値 |
ホストがすでに削除されている場合は TRUE、削除されていない場合は FALSE。
|
otSrpServerServiceGetFullName
const char * otSrpServerServiceGetFullName( const otSrpServerService *aService )
この関数は、サービスの完全なサービス インスタンス名を返します。
詳細 | |||
---|---|---|---|
パラメータ |
|
||
戻り値 |
null で終わるサービス インスタンス名の文字列へのポインタ。
|
otSrpServerServiceGetHost、
const otSrpServerHost * otSrpServerServiceGetHost( const otSrpServerService *aService )
この関数は、サービス インスタンスが存在するホストを返します。
詳細 | |||
---|---|---|---|
パラメータ |
|
||
戻り値 |
ホスト インスタンスへのポインタ。
|
otSrpServerServiceGetInstanceName(英語)
const char * otSrpServerServiceGetInstanceName( const otSrpServerService *aService )
この関数は、サービスの完全なサービス インスタンス名を返します。
詳細 | |||
---|---|---|---|
パラメータ |
|
||
戻り値 |
null で終わるサービス インスタンス名の文字列へのポインタ。
|
otSrpServerServiceGetPort
uint16_t otSrpServerServiceGetPort( const otSrpServerService *aService )
この関数は、サービス インスタンスのポートを返します。
詳細 | |||
---|---|---|---|
パラメータ |
|
||
戻り値 |
サービスのポート。
|
otSrpServerServiceGetPriority
uint16_t otSrpServerServiceGetPriority( const otSrpServerService *aService )
この関数は、サービス インスタンスの優先度を返します。
詳細 | |||
---|---|---|---|
パラメータ |
|
||
戻り値 |
サービスの優先度。
|
otSrpServerServiceGetServiceName
const char * otSrpServerServiceGetServiceName( const otSrpServerService *aService )
この関数は、サービスの完全なサービス名を返します。
詳細 | |||
---|---|---|---|
パラメータ |
|
||
戻り値 |
null で終わるサービス名文字列へのポインタ。
|
otSrpServerServiceGetServiceSubTypeLabel
otError otSrpServerServiceGetServiceSubTypeLabel( const otSrpServerService *aService, char *aLabel, uint8_t aMaxSize )
この関数は、サービス名からサブタイプ ラベルを取得します。
この関数は、aService
がサブタイプの場合に使用されます。つまり、 サービスの otSrpServerServiceIsSubType()
が TRUE を返します。サブタイプでない場合、この関数は OT_ERROR_INVALID_ARGS
を返します。
サブタイプ サービスの完全なサービス名は「
を aLabel
バッファにコピーします。
aLabel
は、失敗時であっても、返される後は常に null で終了することが保証されています。
詳細 | |||||||
---|---|---|---|---|---|---|---|
パラメータ |
|
||||||
戻り値 |
|
otSrpServerServiceGetTxtData
const uint8_t * otSrpServerServiceGetTxtData( const otSrpServerService *aService, uint16_t *aDataLength )
この関数は、サービス インスタンスの TXT レコードデータを返します。
詳細 | |||||
---|---|---|---|---|---|
パラメータ |
|
||||
戻り値 |
TXT レコード データを含むバッファへのポインタ(TXT データの長さは
aDataLength で返されます)。 |
otSrpServerServiceGetWeight
uint16_t otSrpServerServiceGetWeight( const otSrpServerService *aService )
この関数は、サービス インスタンスの重みを返します。
詳細 | |||
---|---|---|---|
パラメータ |
|
||
戻り値 |
サービスのウェイト。
|
otSrpServerServiceIs 削除済み
bool otSrpServerServiceIsDeleted( const otSrpServerService *aService )
この関数は、SRP サービスが削除されたかどうかを示します。
SRP サービスは削除できますが、将来の使用に備えて名前が保持されます。この場合、サービス インスタンスは SRP のサーバー/レジストリから削除されません。ホストが削除されると、すべてのサービスが削除されることが保証されます。
詳細 | |||
---|---|---|---|
パラメータ |
|
||
戻り値 |
サービスが削除された場合は TRUE、削除されていない場合は FALSE。
|
otSrpServerServiceIsSubType
bool otSrpServerServiceIsSubType( const otSrpServerService *aService )
この関数は、SRP サービスがサブタイプかどうかを示します。
詳細 | |||
---|---|---|---|
パラメータ |
|
||
戻り値 |
サービスがサブタイプの場合は TRUE、そうでない場合は FALSE。
|
otSrpServerSetAddressMode(otSrpServerSetAddressMode)
otError otSrpServerSetAddressMode( otInstance *aInstance, otSrpServerAddressMode aMode )
この関数は、SRP サーバーが使用するアドレスモードを設定します。
詳細 | |||||
---|---|---|---|---|---|
パラメータ |
|
||||
戻り値 |
|
otSrpServerSetAnycastModeSequenceNumber
otError otSrpServerSetAnycastModeSequenceNumber( otInstance *aInstance, uint8_t aSequenceNumber )
この関数は、エニーキャスト アドレス モードで使用されるシーケンス番号を設定します。
詳細 | |||||
---|---|---|---|---|---|
パラメータ |
|
||||
戻り値 |
|
otSrpServerSetDomain
otError otSrpServerSetDomain( otInstance *aInstance, const char *aDomain )
この関数は、SRP サーバーにドメインを設定します。
末尾のドットが aDomain
にない場合は、末尾に付加されます。この関数は、SRP サーバーが有効化される前にのみ呼び出す必要があります。
詳細 | |||||||||
---|---|---|---|---|---|---|---|---|---|
パラメータ |
|
||||||||
戻り値 |
|
otSrpServerSetEnabled(OTSrpServerSetEnabled)
void otSrpServerSetEnabled( otInstance *aInstance, bool aEnabled )
この関数は、SRP サーバーを有効または無効にします。
詳細 | |||||
---|---|---|---|---|---|
パラメータ |
|
otSrpServerSetLeaseConfig
otError otSrpServerSetLeaseConfig( otInstance *aInstance, const otSrpServerLeaseConfig *aLeaseConfig )
この関数は、SRP サーバーの LEASE と KEY-LEASE の設定を設定します。
ゼロ以外の LEASE 時間がクライアントからリクエストされると、付与される値は [aMinLease, aMaxLease] の範囲に制限されます。また、ゼロ以外の KEY-LEASE は [aMinKeyLease, aMaxKeyLease] の範囲で付与されます。LEASE または KEY-LEASE の時間がゼロの場合、ゼロが付与されます。
詳細 | |||||
---|---|---|---|---|---|
パラメータ |
|
||||
戻り値 |
|
otSrpServerSetServiceUpdateHandler(OTSrpServerSetServiceUpdateHandler)
void otSrpServerSetServiceUpdateHandler( otInstance *aInstance, otSrpServerServiceUpdateHandler aServiceHandler, void *aContext )
この関数は、SRP サーバーで SRP サービス更新ハンドラを設定します。
詳細 | |||||||
---|---|---|---|---|---|---|---|
パラメータ |
|
リソース
OpenThread API リファレンスのトピックは、GitHub で入手可能なソースコードに基づいています。 詳細またはドキュメントへの投稿については、リソースをご覧ください。