Google は、黒人コミュニティのための人種的公平の促進に取り組んでいます。詳細をご覧ください。

SRP

このモジュールには、SRPクライアントの動作を制御する関数が含まれています。

概要

このモジュールには、サービス登録プロトコルの機能が含まれています。

このモジュールには、SRPクライアントバッファとサービスプールの機能が含まれています。

このモジュールの機能は、機能OPENTHREAD_CONFIG_SRP_CLIENT_BUFFERS_ENABLEが有効になっている場合にのみ使用できます。

列挙

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
}
列挙型
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)
}
列挙型
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サーバーの状態を表します。

Typedef

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
この不透明(OPAQUE)型は、SRPサービスホストを表します。
otSrpServerLeaseConfig typedef
この構造には、SRPサーバーのLEASEおよびKEY-LEASE構成が含まれます。
otSrpServerService typedef
この不透明(OPAQUE)型は、SRPサービスを表します。
otSrpServerServiceFlags typedef
uint8_t
SRPサービスのリストを検索(または反復)するときに含めるまたは除外するサービスを示すサービスフラグタイプ。
otSrpServerServiceUpdateHandler )(otSrpServerServiceUpdateId aId, const otSrpServerHost *aHost, uint32_t aTimeout, void *aContext) typedef
void(*
この関数は、SRPサービスの更新を処理します。
otSrpServerServiceUpdateId typedef
uint32_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)
この関数はホスト情報を取得します。
otSrpClientGetKeyLeaseInterval ( otInstance *aInstance)
uint32_t
この関数は、SRP更新要求で使用されるキーリース間隔を取得します。
otSrpClientGetLeaseInterval ( otInstance *aInstance)
uint32_t
この関数は、SRP更新要求で使用されるリース間隔を取得します。
otSrpClientGetServerAddress ( otInstance *aInstance)
const otSockAddr *
この関数は、SRPクライアントによって使用されているSRPサーバーのソケットアドレス(IPv6アドレスとポート番号)を取得します。
otSrpClientGetServices ( otInstance *aInstance)
この関数は、クライアントによって管理されているサービスのリストを取得します。
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)
この関数は、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)
この関数は、ホスト上で次に一致するサービスを検索します。
otSrpServerHostGetAddresses (const otSrpServerHost *aHost, uint8_t *aAddressesNum)
const otIp6Address *
この関数は、指定されたホストのアドレスを返します。
otSrpServerHostGetFullName (const otSrpServerHost *aHost)
const char *
この関数は、ホストのフルネームを返します。
otSrpServerHostGetNextService (const otSrpServerHost *aHost, const otSrpServerService *aService)
この関数は、指定されたホストの次のサービス(サブタイプサービスを除く)を返します。
otSrpServerHostIsDeleted (const otSrpServerHost *aHost)
bool
この関数は、SRPサービスホストが削除されたかどうかを通知します。
otSrpServerServiceGetFullName (const otSrpServerService *aService)
const char *
この関数は、サービスの完全なサービスインスタンス名を返します。
otSrpServerServiceGetHost (const otSrpServerService *aService)
この関数は、サービスインスタンスが存在するホストを返します。
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

この定数は、定義otSrpServerServiceFlags任意のサービス受付組合せ(ベース/サブタイプを、アクティブ/は削除しました)。

OT_SRP_SERVER_FLAGS_ANY_TYPE_ACTIVE_SERVICE

この定数は、定義otSrpServerServiceFlagsアクティブなサービスを受け入れ組み合わせ(削除しません)。

OT_SRP_SERVER_FLAGS_ANY_TYPE_DELETED_SERVICE

この定数を定義otSrpServerServiceFlags任意の削除されたサービスを受け入れる組み合わせを。

OT_SRP_SERVER_FLAGS_BASE_TYPE_SERVICE_ONLY

この定数は、定義otSrpServerServiceFlagsのみベースサービスを受け入れ組み合わせ。

OT_SRP_SERVER_FLAGS_SUB_TYPE_SERVICE_ONLY

この定数は、定義otSrpServerServiceFlags唯一のサブタイプのサービスを受け入れる組み合わせ。

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サーバーによってどのように決定されるか、およびこの情報がスレッドネットワークデータでどのように公開されるかを指定します。

プロパティ
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クライアントが自動的に開始または停止されたときに呼び出されます。

詳細
パラメーター
[in] aServerSockAddress
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関連データ構造のメンバ変数(状態ホスト情報/サービスの登録や削除、またはまだ追加され/除去されたか否かを示す、など)。

削除されたサービスのリストは、独自のリンクリストとして渡されaRemovedServicesコールバックインチコールバックが呼び出されたときに、SRPクライアント(OpenThreadの実装が)に記載されて削除されたサービスインスタンスで行われることに注意してくださいaRemovedServicesと、もはやトラック/格納し(すなわち、コールバックから我々は呼び出す場合otSrpClientGetServices()取り外したサービスができなくなります返されたリストに存在します)。コールバックで削除されたサービスの個別のリストを提供すると、現在削除されているアイテムをユーザーに示し、ユーザーがインスタンスを再利用/再利用できるようにするのに役立ちます。

サーバーがSRP更新要求を拒否した場合、DNS応答コード(RFC 2136)は次のエラーにマップされます。

  • (0)NOERROR成功(エラー状態なし)-> 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)拒否されたサーバーはポリシー/セキュリティ上の理由で拒否されました-> 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] aService
すべてのサービス(削除されたサービスを除く)を含むリンクリストの先頭。リストが空の場合はNULL。
[in] aRemovedServices
削除されたすべてのサービスを含むリンクリストの先頭。リストが空の場合はNULL。
[in] aContext
任意のコンテキストへのポインタ(コールバックが登録されたときに提供されます)。

otSrpClientHostInfo

struct otSrpClientHostInfo otSrpClientHostInfo

この構造は、SRPクライアントのホスト情報を表します。

otSrpClientService

struct otSrpClientService otSrpClientService

この構造は、SRPクライアントサービスを表します。

名前の文字列バッファとTXTレコードエントリを含むこのような構造の値、この構造のインスタンスがからOpenThreadに渡された後に持続し、滞在しなければならない一定otSrpClientAddService()またはotSrpClientRemoveService()

otSrpServerAddressMode

enum otSrpServerAddressMode otSrpServerAddressMode

この列挙は、SRPサーバーによって使用されるアドレスモードを表します。

アドレスモードは、アドレスとポート番号がSRPサーバーによってどのように決定されるか、およびこの情報がスレッドネットワークデータでどのように公開されるかを指定します。

otSrpServerHost

struct otSrpServerHost otSrpServerHost

この不透明(OPAQUE)型は、SRPサービスホストを表します。

otSrpServerLeaseConfig

struct otSrpServerLeaseConfig otSrpServerLeaseConfig

この構造には、SRPサーバーのLEASEおよびKEY-LEASE構成が含まれます。

otSrpServerService

struct otSrpServerService otSrpServerService

この不透明(OPAQUE)型は、SRPサービスを表します。

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サービスが更新されていることを通知します。ハンドラは後からotSrpServerHandleServiceUpdateResultまたは回を呼び出して結果を返すまで、SRPの更新がコミットされていないことが重要であるaTimeout

SRPサービスオブザーバーは、更新イベントを受信した直後に、常にエラーコードOT_ERROR_NONEを指定してotSrpServerHandleServiceUpdateResultを呼び出す必要があります。

より一般的なハンドラーは、SRPホスト/サービスで検証を実行し、検証が失敗した場合にSRP更新を拒否する場合があります。たとえば、Advertising 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。

関数

otSrpClientAddService

otError otSrpClientAddService(
  otInstance *aInstance,
  otSrpClientService *aService
)

この関数は、サーバーに登録するサービスを追加します。

この関数の呼び出しに成功した後、 otSrpClientCallbackサービス追加/ SRPサーバへの登録の状況を報告するために呼び出されます。

otSrpClientServiceインスタンスによって指されているaService持続し(この関数から戻った後に変化しないままでなければなりませんOT_ERROR_NONE )。 OpenThreadは、サービスインスタンスへのポインタを保存します。

otSrpClientServiceインスタンスは、長いOpenThreadによって追跡されていない場合にのみ再利用することができます

  • それはへの呼び出しによって明示的に削除されotSrpClientRemoveService()またはの呼び出しによって、他のサービスと一緒に削除さotSrpClientRemoveHostAndServices() and only after the otSrpClientCallback`は、サービスが削除されたことを示すと呼ばれています。または、
  • 呼び出しotSrpClientClearHostAndServices()すぐにホストを削除し、すべての関連サービスを提供しています。

詳細
パラメーター
[in] aInstance
OpenThreadインスタンスへのポインタ。
[in] aService
ポインタotSrpClientServiceインスタンスを追加します。
戻り値
OT_ERROR_NONE
サービスの追加が正常に開始されました。 otSrpClientCallback状況を報告するために呼び出されます。
OT_ERROR_ALREADY
同じサービス名とインスタンス名を持つサービスはすでにリストにあります。
OT_ERROR_INVALID_ARGS
サービスの構造は(例えば、悪いサービス名または無効であるotDnsTxtEntry )。

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ゼロに設定されています。
  • 関連するすべてのデータ/文字列バッファと配列はすべてゼロにクリアされます。

詳細
パラメーター
[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
解放するサービスエントリへのポインタ(NULLであってはなりません)。

otSrpClientBuffersGetHostAddressesArray

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

この関数は、SRPクライアントホストアドレスリストとして使用するIPv6アドレスエントリの配列を取得します。

詳細
パラメーター
[in] aInstance
OpenThreadインスタンスへのポインタ。
[out] aArrayLength
配列の長さ、つまり配列内のIPv6アドレスエントリの数を返す変数へのポインタ(NULLであってはなりません)。
戻り値
配列へのポインタotIp6Addressエントリ(エントリの数で返されaArrayLength )。

otSrpClientBuffersGetHostNameString

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

この関数は、SRPクライアントのホスト名に使用する文字列バッファを取得します。

詳細
パラメーター
[in] aInstance
OpenThreadインスタンスへのポインタ。
[out] aSize
文字列バッファのサイズ(バイト数)を返す変数へのポインタ(NULLであってはなりません)。
戻り値
SRPクライアントのホスト名に使用するcharバッファーへのポインター。

otSrpClientBuffersGetServiceEntryInstanceNameString

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

この関数は、サービスエントリからサービスインスタンス名の文字列バッファを取得します。

詳細
パラメーター
[in] aEntry
以前に割り当てられたサービスエントリへのポインタ(NULLであってはなりません)。
[out] aSize
文字列バッファのサイズ(バイト数)を返す変数へのポインタ(NULLであってはなりません)。
戻り値
文字列バッファへのポインタ。

otSrpClientBuffersGetServiceEntryServiceNameString

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

この関数は、サービスエントリからサービス名の文字列バッファを取得します。

詳細
パラメーター
[in] aEntry
以前に割り当てられたサービスエントリへのポインタ(NULLであってはなりません)。
[out] aSize
文字列バッファのサイズ(バイト数)を返す変数へのポインタ(NULLであってはなりません)。
戻り値
文字列バッファへのポインタ。

otSrpClientBuffersGetServiceEntryTxtBuffer

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

この関数は、サービスエントリからTXTレコードのバッファを取得します。

詳細
パラメーター
[in] aEntry
以前に割り当てられたサービスエントリへのポインタ(NULLであってはなりません)。
[out] aSize
バッファのサイズ(バイト数)を返す変数へのポインタ(NULLであってはなりません)。
戻り値
バッファへのポインタ。

otSrpClientBuffersGetSubTypeLabelsArray

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

この関数は、サービスエントリからサービスサブタイプラベルの配列を取得します。

詳細
パラメーター
[in] aEntry
以前に割り当てられたサービスエントリへのポインタ(NULLであってはなりません)。
[out] aArrayLength
配列の長さを返す変数へのポインター(NULLであってはなりません)。
戻り値
配列へのポインタ。

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有効になっています。

自動開始モードを無効にしても、クライアントがすでに実行されている場合は停止しませんが、クライアントはスレッドネットワークデータの監視を停止して、選択したSRPサーバーがまだ存在することを確認します。

呼び出しことを注意otSrpClientStop()も自動起動モードを無効にします。

詳細
パラメーター
[in] aInstance
OpenThreadインスタンスへのポインタ。

otSrpClientEnableAutoStartMode

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

この機能は、自動起動モードを有効にします。

オートスタート機能の場合にのみ使用可能ですOPENTHREAD_CONFIG_SRP_CLIENT_AUTO_START_API_ENABLE有効になっています。

ConfigオプションのOPENTHREAD_CONFIG_SRP_CLIENT_AUTO_START_DEFAULT_MODEデフォルトの自動起動モードを(それがOTスタックの開始時に有効または無効になっているかどうか)を指定します。

自動起動が有効になっている場合、SRPクライアントはSRPサーバーサービスエントリのスレッドネットワークデータを監視し、SRPサーバーが検出されるとクライアントを自動的に起動および停止します。

複数のSRPサーバーが見つかった場合、ランダムなサーバーが選択されます。選択したSRPサーバーが検出されなくなった場合(スレッドネットワークデータに存在しなくなった場合)、SRPクライアントは停止し、別のSRPサーバー(使用可能な場合)に切り替わる場合があります。

SRPクライアントが明示的に成功したコールを介して開始された場合otSrpClientStart()内の指定されたSRPサーバアドレスotSrpClientStart()自動起動モードの状態に関係なく使用され続けると同じSRPサーバーアドレスが発見されているかどうかスレッドネットワークデータ内。この場合、明示的なotSrpClientStop()の呼び出しは、クライアントを停止します。

詳細
パラメーター
[in] aInstance
OpenThreadインスタンスへのポインタ。
[in] aCallback
クライアントが自動起動/停止したときに通知するコールバック。不要な場合はNULLにすることができます。
[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更新要求で使用されるキーリース間隔を取得します。

これは、SRPクライアントによって要求されたリース期間であることに注意してください。サーバーは、異なるリース間隔を受け入れることを選択できます。

詳細
パラメーター
[in] aInstance
OpenThreadインスタンスへのポインタ。
戻り値
キーリース間隔(秒単位)。

otSrpClientGetLeaseInterval

uint32_t otSrpClientGetLeaseInterval(
  otInstance *aInstance
)

この関数は、SRP更新要求で使用されるリース間隔を取得します。

これは、SRPクライアントによって要求されたリース期間であることに注意してください。サーバーは、異なるリース間隔を受け入れることを選択できます。

詳細
パラメーター
[in] aInstance
OpenThreadインスタンスへのポインタ。
戻り値
リース間隔(秒単位)。

otSrpClientGetServerAddress

const otSockAddr * otSrpClientGetServerAddress(
  otInstance *aInstance
)

この関数は、SRPクライアントによって使用されているSRPサーバーのソケットアドレス(IPv6アドレスとポート番号)を取得します。

クライアントが実行されていない場合、アドレスは指定されておらず(すべてゼロ)、ポート番号はゼロです。

詳細
パラメーター
[in] aInstance
OpenThreadインスタンスへのポインタ。
戻り値
SRPサーバーのソケットアドレスへのポインター(常にNULL以外)。

otSrpClientGetServices

const otSrpClientService * otSrpClientGetServices(
  otInstance *aInstance
)

この関数は、クライアントによって管理されているサービスのリストを取得します。

詳細
パラメーター
[in] aInstance
OpenThreadインスタンスへのポインタ。
戻り値
すべてのサービスのリンクリストの先頭へのポインタ。リストが空の場合はNULL。

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()aSendUnregToServerようにtrue

詳細
パラメーター
[in] aInstance
OpenThreadインスタンスへのポインタ。
[in] aRemoveKeyLease
ホストキーリースも削除する必要があるかどうかを示すブール値。
[in] aSendUnregToServer
ホスト情報が登録されていないときにサーバーに更新を送信するかどうかを示すブール値。
戻り値
OT_ERROR_NONE
ホスト情報とサービスの削除が正常に開始されました。 otSrpClientCallback状況を報告するために呼び出されます。
OT_ERROR_ALREADY
ホスト情報はすでに削除されています。

otSrpClientRemoveService

otError otSrpClientRemoveService(
  otInstance *aInstance,
  otSrpClientService *aService
)

この関数は、サービスをサーバーから登録解除するように要求します。

この関数の呼び出しに成功した後、 otSrpClientCallback SRPサーバーで削除要求の状況を報告するために呼び出されます。

otSrpClientServiceインスタンスによって指されているaService持続し(この関数から戻った後に変化しないままでなければなりません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
イベントと変更を通知するためのコールバック。不要な場合はNULLにすることができます。
[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_ADDまたはSTATE_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アドレスのリストを設定/更新します。

ホストIPv6アドレスは、ホスト情報が削除されている場合(クライアントが以前の削除要求の処理でビジー状態の場合を除く)、SRPクライアントの開始前または操作中に(たとえば、以前に登録されたホストアドレスを追加/削除または変更するために)設定/変更できます。呼び出しotSrpClientRemoveHostAndServices()およびホスト情報はまだのいずれかであることSTATE_TO_REMOVEまたはSTATE_REMOVING状態)。

ホストのIPv6アドレスアレイによって指さaAddresses持続し(この関数から戻った後に変化しないままでなければなりませんOT_ERROR_NONE )。 OpenThreadは、配列へのポインタを保存します。

この関数の呼び出しに成功した後、 otSrpClientCallback SRPサーバーとのアドレス登録の状況を報告するために呼び出されます。

詳細
パラメーター
[in] aInstance
OpenThreadインスタンスへのポインタ。
[in] aAddresses
ホストIPv6アドレスを含む配列へのポインター。
[in] aNumAddresses
内のアドレスの数aAddresses配列。
戻り値
OT_ERROR_NONE
ホストIPv6アドレスリストの変更が正常に開始されました。 otSrpClientCallbackサーバにアドレスを登録の状況を報告するために呼び出されます。
OT_ERROR_INVALID_ARGS
アドレスリストが無効です(たとえば、少なくとも1つのアドレスが含まれている必要があります)。
OT_ERROR_INVALID_STATE
ホストが削除されているため、ホストアドレスを変更できません。

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, instanceName);

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.