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
}
enum
وضعیت مورد مشتری SRP (اطلاعات سرویس یا میزبان) را مشخص می کند.
otSrpServerAddressMode {
OT_SRP_SERVER_ADDRESS_MODE_UNICAST = 0,
OT_SRP_SERVER_ADDRESS_MODE_ANYCAST = 1
}
enum
حالت آدرس مورد استفاده توسط سرور SRP را نشان می دهد.
otSrpServerState {
OT_SRP_SERVER_STATE_DISABLED = 0,
OT_SRP_SERVER_STATE_RUNNING = 1,
OT_SRP_SERVER_STATE_STOPPED = 2
}
enum
وضعیت سرور 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 سرور اجاره و تنظیمات 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.
otSrpServerTtlConfig typedef
شامل تنظیمات TTL سرور 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 *
آدرس سوکت (آدرس IPv6 و شماره پورت) سرور SRP را که توسط کلاینت SRP استفاده می شود، دریافت می کند.
otSrpClientGetServices ( otInstance *aInstance)
لیست خدماتی را که توسط مشتری مدیریت می شود دریافت می کند.
otSrpClientGetTtl ( otInstance *aInstance)
uint32_t
مقدار TTL را در هر رکورد موجود در درخواست‌های به‌روزرسانی 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
مقدار TTL را در هر رکورد موجود در درخواست‌های به‌روزرسانی SRP تنظیم می‌کند.
otSrpClientStart ( otInstance *aInstance, const otSockAddr *aServerSockAddr)
عملیات کلاینت SRP را شروع می کند.
otSrpClientStop ( otInstance *aInstance)
void
عملیات کلاینت SRP را متوقف می کند.
otSrpServerGetAddressMode ( otInstance *aInstance)
حالت آدرس مورد استفاده توسط سرور SRP را برمی گرداند.
otSrpServerGetAnycastModeSequenceNumber ( otInstance *aInstance)
uint8_t
شماره توالی مورد استفاده در حالت آدرس anycast را برمی‌گرداند.
otSrpServerGetDomain ( otInstance *aInstance)
const char *
دامنه مجاز را به سرور SRP برمی گرداند.
otSrpServerGetLeaseConfig ( otInstance *aInstance, otSrpServerLeaseConfig *aLeaseConfig)
void
تنظیمات LEASE و KEY-LEASE سرور SRP را برمی‌گرداند.
otSrpServerGetNextHost ( otInstance *aInstance, const otSrpServerHost *aHost)
میزبان بعدی ثبت شده را در سرور SRP برمی گرداند.
otSrpServerGetPort ( otInstance *aInstance)
uint16_t
پورتی را که سرور SRP به آن گوش می دهد برمی گرداند.
otSrpServerGetResponseCounters ( otInstance *aInstance)
شمارنده های پاسخ سرور SRP را برمی گرداند.
otSrpServerGetState ( otInstance *aInstance)
وضعیت سرور SRP را برمی گرداند.
otSrpServerGetTtlConfig ( otInstance *aInstance, otSrpServerTtlConfig *aTtlConfig)
void
پیکربندی TTL سرور 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)
میزبانی را که نمونه سرویس در آن قرار دارد برمی‌گرداند.
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
TTL نمونه سرویس را برمی گرداند.
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)
شماره ترتیب مورد استفاده در حالت آدرس anycast را تنظیم می کند.
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)
تنظیمات LEASE و KEY-LEASE سرور SRP را تنظیم می کند.
otSrpServerSetServiceUpdateHandler ( otInstance *aInstance, otSrpServerServiceUpdateHandler aServiceHandler, void *aContext)
void
کنترل کننده به روز رسانی سرویس SRP را روی سرور SRP تنظیم می کند.
otSrpServerSetTtlConfig ( otInstance *aInstance, const otSrpServerTtlConfig *aTtlConfig)
پیکربندی TTL سرور SRP را تنظیم می کند.

سازه ها

otSrpClientBuffersServiceEntry

نمایانگر ورودی مجموعه خدمات مشتری SRP است.

otSrpClientHostInfo

اطلاعات میزبان سرویس گیرنده SRP را نشان می دهد.

otSrpClientService

نشان دهنده یک سرویس مشتری SRP است.

otSrpServerLeaseConfig

شامل SRP سرور اجاره و تنظیمات KEY-LEASE.

otSrpServerLeaseInfo

شامل اطلاعات اجاره سرور SRP یک میزبان/سرویس است.

otSrpServerResponseCounters

شامل آمار پاسخ های سرور SRP است.

otSrpServerTtlConfig

شامل تنظیمات TTL سرور 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 Network Data را مشخص می کند.

خواص
OT_SRP_SERVER_ADDRESS_MODE_ANYCAST

حالت آدرس 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 فعال است اما متوقف شده است.

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 مربوطه ساختار داده مربوطه دنبال می‌کنند (وضعی که نشان می‌دهد اطلاعات/سرویس میزبان ثبت شده یا حذف شده است یا همچنان اضافه/حذف می‌شود و غیره).

فهرست سرویس‌های حذف شده به‌عنوان فهرست پیوندی خود یعنی aRemovedServices در پاسخ تماس ارسال می‌شود. توجه داشته باشید که هنگام فراخوانی تماس، کلاینت SRP (پیاده سازی OpenThread) با نمونه های سرویس حذف شده لیست شده در aRemovedServices انجام می شود و دیگر آنها را ردیابی/ذخیره نمی کند (به عنوان مثال، اگر از طریق callback ما 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) REFUSED سرور به دلایل سیاست/امنیتی رد شد -> OT_ERROR_SECURITY
  • (6) YXDOMAIN نامی که نباید وجود داشته باشد وجود دارد -> OT_ERROR_DUPLICATED
  • (7) YXRRSET برخی از مجموعه‌های RR که نباید وجود داشته باشند، وجود دارند -> 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
سر فهرست پیوندی حاوی تمام خدمات (به استثنای موارد حذف شده). اگر لیست خالی باشد NULL.
[in] aRemovedServices
سر فهرست پیوندی حاوی تمام خدمات حذف شده. اگر لیست خالی باشد NULL.
[in] aContext
اشاره گر به یک زمینه دلخواه (ارائه شده در هنگام ثبت تماس برگشتی).

otSrpClientHostInfo

struct otSrpClientHostInfo otSrpClientHostInfo

اطلاعات میزبان سرویس گیرنده SRP را نشان می دهد.

otSrpClientService

struct otSrpClientService otSrpClientService

نشان دهنده یک سرویس مشتری SRP است.

مقادیر موجود در این ساختار، از جمله بافرهای رشته برای نام‌ها و ورودی‌های رکورد TXT، پس از ارسال نمونه‌ای از این ساختار به OpenThread از otSrpClientAddService() یا otSrpClientRemoveService() باید باقی بمانند و ثابت بمانند.

فیلدهای mState ، mData ، mNext فقط توسط هسته OT استفاده/مدیریت می شوند. هنگامی که نمونه ای از otSrpClientService در otSrpClientAddService() یا otSrpClientRemoveService() یا سایر توابع ارسال می شود، مقدار آنها نادیده گرفته می شود. تماس گیرنده نیازی به تنظیم این فیلدها ندارد.

فیلدهای mLease و mKeyLease فواصل اجاره و اجاره کلید مورد نظر را برای این سرویس مشخص می کنند. مقدار صفر نشان می دهد که بازه مشخص نشده است و سپس فواصل اجاره یا اجاره کلیدی از otSrpClientGetLeaseInterval() و otSrpClientGetKeyLeaseInterval() برای این سرویس استفاده می شود. اگر فاصله اجاره کلید (چه به طور صریح تنظیم شده باشد یا از حالت پیش فرض تعیین شده باشد) از فاصله اجاره برای یک سرویس کوتاه تر باشد، مشتری SRP از مقدار فاصله اجاره برای فاصله اجاره کلید نیز استفاده می کند. به عنوان مثال اگر در سرویس mLease صراحتاً 2 روز و mKeyLease صفر و اجاره کلید پیش فرض روی 1 روز تنظیم شده باشد، در هنگام ثبت این سرویس، اجاره کلید درخواستی برای این سرویس نیز 2 روز تعیین می شود.

otSrpServerAddressMode

enum otSrpServerAddressMode otSrpServerAddressMode

نشان دهنده حالت آدرس مورد استفاده توسط سرور SRP است.

حالت آدرس نحوه تعیین آدرس و شماره پورت توسط سرور SRP و نحوه انتشار این اطلاعات در Thread Network Data را مشخص می کند.

otSrpServerHost

struct otSrpServerHost otSrpServerHost

این نوع مات نشان دهنده یک میزبان سرویس SRP است.

otSrpServerLeaseConfig

struct otSrpServerLeaseConfig otSrpServerLeaseConfig

شامل SRP سرور اجاره و تنظیمات 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 در حال به روز رسانی هستند. مهم است که به‌روزرسانی‌های SRP تا زمانی که کنترل‌کننده نتیجه را با فراخوانی otSrpServerHandleServiceUpdateResult یا زمان‌های پایانی پس از aTimeout برگرداند، متعهد نشوند.

یک ناظر سرویس SRP باید بلافاصله پس از دریافت رویدادهای به روز رسانی، همیشه با otSrpServerHandleServiceUpdateResult با کد خطا OT_ERROR_NONE تماس بگیرد.

یک کنترل کننده عمومی تر ممکن است اعتبارسنجی ها را روی میزبان/سرویس های SRP انجام دهد و در صورت عدم موفقیت هر گونه اعتبار سنجی، به روز رسانی های SRP را رد کند. به عنوان مثال، یک پروکسی تبلیغاتی باید میزبان و سرویس‌ها را روی پیوندی با قابلیت چندپخشی تبلیغ کند (یا حذف کند) و در صورت بروز هر گونه خرابی، کد خطای خاصی را برمی‌گرداند.

جزئیات
مولفه های
[in] aId
شناسه تراکنش به‌روزرسانی سرویس. این شناسه باید با otSrpServerHandleServiceUpdateResult بازگردانده شود.
[in] aHost
اشاره گر به شی otSrpServerHost که حاوی به روز رسانی های SRP است. کنترل کننده باید هاست را منتشر/لغو انتشار کند و هر سرویس با قوانین زیر به این میزبان اشاره می کند:
  1. اگر هاست حذف نشده باشد (که با otSrpServerHostIsDeleted مشخص شده است)، باید با mDNS منتشر یا به روز شود. در غیر این صورت، میزبان باید منتشر نشود (RRs AAAA را حذف کنید).
  2. برای هر امتیاز سرویس به این میزبان، اگر قرار است هاست منتشر نشود، باید منتشر شود. در غیر این صورت، کنترل کننده باید سرویس را هنگامی که حذف نشده است منتشر یا به روز کند (که با otSrpServerServiceIsDeleted مشخص شده است) و در صورت حذف آن را لغو انتشار کند.
[in] aTimeout
حداکثر زمان بر حسب میلی ثانیه برای پردازشگر رویداد سرویس.
[in] aContext
اشاره‌ای به زمینه خاص برنامه.
همچنین ببینید:
otSrpServerSetServiceUpdateHandler
otSrpServerHandleServiceUpdateResult

otSrpServerServiceUpdateId

uint32_t otSrpServerServiceUpdateId

شناسه تراکنش به روز رسانی سرویس SRP در سرور SRP.

otSrpServerTtlConfig

struct otSrpServerTtlConfig otSrpServerTtlConfig

شامل تنظیمات TTL سرور SRP است.

کارکرد

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 روی یک تنظیم می شود.
  • سایر فیلدهای 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
)

آرایه ای از ورودی های آدرس IPv6 را برای استفاده به عنوان لیست آدرس میزبان سرویس گیرنده SRP دریافت می کند.

جزئیات
مولفه های
[in] aInstance
اشاره گر به نمونه OpenThread.
[out] aArrayLength
اشاره گر به یک متغیر برای برگرداندن طول آرایه یعنی تعداد ورودی های آدرس IPv6 در آرایه (نباید NULL باشد).
برمی گرداند
اشاره گر به آرایه ای از ورودی های otIp6Address (تعداد ورودی ها در aArrayLength برگردانده می شود).

otSrpClientBuffersGetHostNameString

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

بافر رشته ای را برای استفاده از نام میزبان سرویس گیرنده SRP دریافت می کند.

جزئیات
مولفه های
[in] aInstance
اشاره گر به نمونه OpenThread.
[out] aSize
اشاره گر به یک متغیر برای برگرداندن اندازه (تعداد بایت) بافر رشته (باید NULL نباشد).
برمی گرداند
یک اشاره گر به بافر char برای استفاده برای نام میزبان سرویس گیرنده SRP.

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 فعال باشد.

غیرفعال کردن حالت شروع خودکار، کلاینت را در صورتی که قبلاً در حال اجرا باشد متوقف نمی‌کند، اما کلاینت نظارت بر داده‌های شبکه Thread را متوقف می‌کند تا تأیید کند که سرور SRP انتخابی هنوز در آن وجود دارد.

توجه داشته باشید که تماس با otSrpClientStop() حالت شروع خودکار را نیز غیرفعال می کند.

جزئیات
مولفه های
[in] aInstance
اشاره گر به نمونه OpenThread.

otSrpClientEnableAutoHostAddress

otError otSrpClientEnableAutoHostAddress(
  otInstance *aInstance
)

حالت خودکار آدرس میزبان را فعال می کند.

وقتی آدرس‌های میزبان IPv6 فعال است، به‌طور خودکار توسط کلاینت SRP با استفاده از تمام آدرس‌های unicast ترجیحی در Thread netif به استثنای همه آدرس‌های محلی پیوند و شبکه محلی تنظیم می‌شوند. اگر آدرس ترجیحی وجود نداشته باشد، آدرس EID محلی Mesh اضافه می شود. سرویس گیرنده SRP زمانی که/اگر آدرس‌های Thread netif به‌روزرسانی شوند (آدرس‌های جدید اضافه شوند یا آدرس‌های موجود حذف شوند یا به‌عنوان غیر ترجیحی علامت‌گذاری شوند) به‌طور خودکار دوباره ثبت‌نام می‌کند.

حالت آدرس میزبان خودکار را می توان قبل از شروع یا در حین کار کلاینت SRP فعال کرد، به جز زمانی که اطلاعات میزبان در حال حذف شدن است (سرویس گیرنده مشغول رسیدگی به درخواست حذف از تماس با otSrpClientRemoveHostAndServices() است و اطلاعات میزبان همچنان در حالت STATE_TO_REMOVE یا STATE_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 داده‌های شبکه موضوعی را برای کشف سرورهای SRP و انتخاب سرور ترجیحی نظارت می‌کند و به‌طور خودکار هنگام شناسایی سرور SRP، کلاینت را شروع و متوقف می‌کند.

سه دسته از ورودی های داده شبکه وجود دارد که نشان دهنده وجود سرور SRP است. آنها به ترتیب زیر ترجیح داده می شوند:

1) ورودی های unicast ترجیحی که آدرس سرور در داده های سرویس گنجانده شده است. اگر چندین گزینه وجود داشته باشد، گزینه ای با کمترین آدرس IPv6 از نظر عددی ترجیح داده می شود.

2) ورودی های Anycast که هر کدام یک شماره دنباله دارند. یک عدد دنباله بزرگتر به معنای مشخص شده توسط منطق حسابی شماره سریال در RFC-1982 جدیدتر در نظر گرفته می شود و بنابراین ترجیح داده می شود. اگر به خوبی تعریف شده باشد (یعنی عدد دنباله بزرگتر از همه اعداد دنباله دیگر باشد) بزرگترین عدد دنباله با استفاده از محاسبات شماره سریال ترجیح داده می شود. اگر به خوبی تعریف نشده باشد، از نظر عددی بزرگترین عدد دنباله ترجیح داده می شود.

3) ورودی های Unicast که در آن اطلاعات آدرس سرور در داده های سرور گنجانده شده است. اگر چندین گزینه وجود داشته باشد، گزینه ای با کمترین آدرس IPv6 از نظر عددی ترجیح داده می شود.

هنگامی که در ورودی های داده های شبکه تغییری ایجاد می شود، کلاینت بررسی می کند که سرور انتخاب شده در حال حاضر همچنان در داده های شبکه وجود دارد و همچنان ترجیح داده می شود. در غیر این صورت کلاینت به سرور ترجیحی جدید سوئیچ می کند یا اگر وجود نداشته باشد متوقف می شود.

هنگامی که کلاینت SRP به صراحت از طریق یک فراخوانی موفقیت آمیز به otSrpClientStart() شروع می شود، آدرس سرور SRP داده شده در otSrpClientStart() صرف نظر از وضعیت حالت شروع خودکار و اینکه آیا همان آدرس سرور SRP کشف شده است یا نه، همچنان استفاده می شود. در Thread Network Data. در این مورد، فقط یک فراخوانی واضح 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 را دریافت می‌کند.

فاصله پیش‌فرض فقط برای نمونه‌های otSrpClientService با mKeyLease روی صفر استفاده می‌شود.

توجه داشته باشید که این مدت اجاره درخواست شده توسط مشتری SRP است. سرور ممکن است انتخاب کند که فاصله اجاره متفاوتی را بپذیرد.

جزئیات
مولفه های
[in] aInstance
اشاره گر به نمونه OpenThread.
برمی گرداند
فاصله اجاره کلید (بر حسب ثانیه).

otSrpClientGetLeaseInterval

uint32_t otSrpClientGetLeaseInterval(
  otInstance *aInstance
)

فاصله اجاره پیش‌فرض مورد استفاده در درخواست‌های به‌روزرسانی SRP را دریافت می‌کند.

فاصله پیش‌فرض فقط برای نمونه‌های otSrpClientService با mLease روی صفر استفاده می‌شود.

توجه داشته باشید که این مدت اجاره درخواست شده توسط مشتری SRP است. سرور ممکن است انتخاب کند که فاصله اجاره متفاوتی را بپذیرد.

جزئیات
مولفه های
[in] aInstance
اشاره گر به نمونه OpenThread.
برمی گرداند
فاصله اجاره (بر حسب ثانیه).

otSrpClientGetServerAddress

const otSockAddr * otSrpClientGetServerAddress(
  otInstance *aInstance
)

آدرس سوکت (آدرس IPv6 و شماره پورت) سرور SRP را که توسط کلاینت SRP استفاده می شود، دریافت می کند.

اگر کلاینت در حال اجرا نباشد، آدرس نامشخص (همه صفر) با شماره پورت صفر است.

جزئیات
مولفه های
[in] aInstance
اشاره گر به نمونه OpenThread.
برمی گرداند
اشاره گر به آدرس سوکت سرور SRP (همیشه غیر NULL است).

otSrpClientGetServices

const otSrpClientService * otSrpClientGetServices(
  otInstance *aInstance
)

لیست خدماتی را که توسط مشتری مدیریت می شود دریافت می کند.

جزئیات
مولفه های
[in] aInstance
اشاره گر به نمونه OpenThread.
برمی گرداند
اشاره گر به سر فهرست پیوندی همه سرویس ها یا NULL اگر لیست خالی باشد.

otSrpClientGetTtl

uint32_t otSrpClientGetTtl(
  otInstance *aInstance
)

مقدار TTL را در هر رکورد موجود در درخواست‌های به‌روزرسانی SRP دریافت می‌کند.

توجه داشته باشید که این TTL درخواستی مشتری SRP است. سرور ممکن است انتخاب کند که TTL متفاوتی را بپذیرد.

به طور پیش فرض، TTL برابر با فاصله اجاره خواهد بود. عبور 0 یا مقداری بزرگتر از فاصله اجاره از طریق otSrpClientSetTtl() نیز باعث می شود که TTL با فاصله اجاره برابری کند.

جزئیات
مولفه های
[in] aInstance
اشاره گر به نمونه OpenThread.
برمی گرداند
TTL (در چند ثانیه).

otSrpClientIsAutoStartModeEnabled

bool otSrpClientIsAutoStartModeEnabled(
  otInstance *aInstance
)

وضعیت فعلی حالت شروع خودکار (فعال یا غیرفعال) را نشان می دهد.

این تنها زمانی در دسترس است که ویژگی شروع خودکار OPENTHREAD_CONFIG_SRP_CLIENT_AUTO_START_API_ENABLE فعال باشد.

جزئیات
مولفه های
[in] aInstance
اشاره گر به نمونه OpenThread.
برمی گرداند
اگر حالت شروع خودکار فعال باشد درست است، در غیر این صورت نادرست است.

otSrpClientIsRunning

bool otSrpClientIsRunning(
  otInstance *aInstance
)

نشان می دهد که آیا کلاینت SRP در حال اجرا است یا خیر.

جزئیات
مولفه های
[in] aInstance
اشاره گر به نمونه OpenThread.
برمی گرداند
اگر کلاینت SRP در حال اجرا باشد درست است، در غیر این صورت نادرست است.

otSrpClientIsServiceKeyRecordEnabled

bool otSrpClientIsServiceKeyRecordEnabled(
  otInstance *aInstance
)

نشان می دهد که آیا حالت "شامل رکورد کلید سرویس" فعال یا غیرفعال است.

زمانی در دسترس است که پیکربندی OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE فعال باشد.

جزئیات
مولفه های
[in] aInstance
اشاره گر به نمونه OpenThread.
برمی گرداند
اگر حالت «شامل رکورد کلید سرویس» فعال باشد درست است، در غیر این صورت نادرست است.

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 Client (به عنوان مثال اضافه کردن/حذف یا تغییر آدرس میزبان قبلاً ثبت شده) تنظیم و تغییر داد ، به جز زمانی که اطلاعات میزبان حذف می شود (مشتری مشغول انجام درخواست حذف از قبل است با otSrpClientRemoveHostAndServices() تماس بگیرید و اطلاعات میزبان هنوز هم در حالت های STATE_TO_REMOVE یا STATE_REMOVING وجود دارد).

آرایه آدرس IPv6 میزبان که توسط aIp6Addresses به آن اشاره شده است ، باید پس از بازگشت از این عملکرد (با 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_ADD یا STATE_REMOVED باشد).

جزئیات
مولفه های
[in] aInstance
یک اشاره گر به نمونه Openthread.
[in] aName
یک اشاره گر به رشته برچسب نام میزبان (نباید تهی باشد). اشاره گر به بافر رشته باید بعد از بازگشت از این عملکرد معتبر و ثابت بماند.
ارزش های بازگشتی
OT_ERROR_NONE
برچسب نام میزبان با موفقیت تنظیم شد.
OT_ERROR_INVALID_ARGS
aName تهی است.
OT_ERROR_INVALID_STATE
نام میزبان در حال حاضر تنظیم و ثبت شده است.

OTSRPClientsetKeyLeaseVal

void otSrpClientSetKeyLeaseInterval(
  otInstance *aInstance,
  uint32_t aInterval
)

فاصله اجاره کلید پیش فرض مورد استفاده در درخواست های بروزرسانی SRP را تنظیم می کند.

فاصله پیش فرض فقط برای موارد otSrpClientService با mKeyLease روی صفر استفاده می شود.

تغییر بازه اجاره بر بازه اجاره نامه پذیرفته شده خدمات/میزبان-Info که قبلاً ثبت شده اند تأثیر نمی گذارد. این فقط پیام های به روزرسانی SRP آینده را تحت تأثیر قرار می دهد (یعنی اضافه کردن خدمات جدید و/یا تازه کردن خدمات موجود).

جزئیات
مولفه های
[in] aInstance
یک اشاره گر به نمونه Openthread.
[in] aInterval
فاصله اجاره کلید (در ثانیه). در صورت صفر ، از مقدار پیش فرض مشخص شده توسط OPENTHREAD_CONFIG_SRP_CLIENT_DEFAULT_KEY_LEASE استفاده می شود.

OTSRPClientsetLeaseInterval

void otSrpClientSetLeaseInterval(
  otInstance *aInstance,
  uint32_t aInterval
)

فاصله اجاره پیش فرض مورد استفاده در درخواست های بروزرسانی SRP را تنظیم می کند.

فاصله پیش فرض فقط برای نمونه های otSrpClientService با mLease تنظیم شده به صفر استفاده می شود.

تغییر بازه اجاره بر بازه اجاره نامه پذیرفته شده خدمات/میزبان-Info که قبلاً ثبت شده اند تأثیر نمی گذارد. این فقط بر پیام های بروزرسانی SRP در آینده تأثیر می گذارد (یعنی اضافه کردن خدمات جدید و/یا تازه کردن خدمات موجود).

جزئیات
مولفه های
[in] aInstance
یک اشاره گر به نمونه Openthread.
[in] aInterval
فاصله اجاره (در ثانیه). در صورت صفر ، از مقدار پیش فرض مشخص شده توسط OPENTHREAD_CONFIG_SRP_CLIENT_DEFAULT_LEASE استفاده می شود.

OTSRPClientsEtServiceKeyRecordenabled

void otSrpClientSetServiceKeyRecordEnabled(
  otInstance *aInstance,
  bool aEnabled
)

حالت "سرویس ورود به سیستم کلید" را فعال و غیرفعال می کند.

در صورت فعال بودن ، SRP Client شامل ضبط کلیدی در دستورالعمل های توضیحات خدمات در پیام های به روزرسانی SRP است که ارسال می کند.

در صورت فعال شدن OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE در دسترس است.

جزئیات
مولفه های
[in] aInstance
یک اشاره گر به نمونه Openthread.
[in] aEnabled
درست برای فعال کردن ، FALSE برای غیرفعال کردن حالت "Service Key Record Encusion".

otsrpclientsetttl

void otSrpClientSetTtl(
  otInstance *aInstance,
  uint32_t aTtl
)

مقدار TTL را در هر رکورد موجود در درخواست های بروزرسانی SRP تنظیم می کند.

تغییر TTL بر TTL سرویس های ثبت شده/Host-Info تأثیر نمی گذارد. این فقط بر پیام های بروزرسانی SRP آینده تأثیر می گذارد (یعنی اضافه کردن خدمات جدید و/یا تازه کردن خدمات موجود).

جزئیات
مولفه های
[in] aInstance
یک اشاره گر به نمونه Openthread.
[in] aTtl
TTL (در ثانیه). اگر مقدار صفر یا بیشتر از فاصله اجاره باشد ، TTL روی فاصله اجاره تنظیم می شود.

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
آدرس سوکت (آدرس IPv6 و شماره پورت) سرور SRP.
ارزش های بازگشتی
OT_ERROR_NONE
عملکرد مشتری SRP با موفقیت آغاز شد یا در حال حاضر با همان آدرس سوکت سرور و پاسخ به تماس در حال اجرا است.
OT_ERROR_BUSY
SRP Client مشغول دویدن با یک آدرس سوکت متفاوت است.
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
)

شماره توالی مورد استفاده را با حالت آدرس Anycast برمی گرداند.

شماره دنباله در "DNS/SRP Service 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 و تنظیمات اجاره کلید را برمی گرداند.

جزئیات
مولفه های
[in] aInstance
اشاره گر به یک نمونه OpenThread.
[out] aLeaseConfig
یک اشاره گر به یک نمونه otSrpServerLeaseConfig .

otsrpservergetNexThost

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

میزبان ثبت شده بعدی را در سرور SRP برمی گرداند.

جزئیات
مولفه های
[in] aInstance
اشاره گر به یک نمونه OpenThread.
[in] aHost
یک اشاره گر به میزبان فعلی ؛ برای به دست آوردن میزبان اول از NULL استفاده کنید.
برمی گرداند
یک اشاره گر به میزبان ثبت شده. NULL ، اگر میزبان بیشتری پیدا نشود.

otsrpservergetport

uint16_t otSrpServerGetPort(
  otInstance *aInstance
)

پورت را که سرور SRP در حال گوش دادن است ، برمی گرداند.

جزئیات
مولفه های
[in] aInstance
اشاره گر به یک نمونه OpenThread.
برمی گرداند
درگاه سرور SRP. اگر سرور در حال اجرا نباشد ، 0 را برمی گرداند.

OTSRPSERVERGETRESPONSECONTERS

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
)

پیکربندی TTL سرور SRP را برمی گرداند.

جزئیات
مولفه های
[in] aInstance
اشاره گر به یک نمونه OpenThread.
[out] aTtlConfig
یک اشاره گر به یک نمونه otSrpServerTtlConfig .

otsrpserverhandleserviceupdateresult

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

نتیجه پردازش به روزرسانی SRP را به سرور SRP گزارش می دهد.

سرویس دهنده به روزرسانی سرویس باید با این عملکرد تماس بگیرد تا نتیجه پردازش آن از بروزرسانی SRP را برگرداند.

جزئیات
مولفه های
[in] aInstance
اشاره گر به یک نمونه OpenThread.
[in] aId
شناسه معامله به روزرسانی سرویس. این باید همان شناسه ای باشد که از طریق otSrpServerServiceUpdateHandler ارائه شده است.
[in] aError
خطایی که به سرور SRP برگردانده می شود. برای نشان دادن تعارضات نام DNS از OT_ERROR_DUPLICATE استفاده کنید.

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
)

اطلاعات اجاره نامه و کلیدی یک میزبان معین را برمی گرداند.

جزئیات
مولفه های
[in] aHost
یک اشاره گر به میزبان سرور SRP.
[out] aLeaseInfo
یک اشاره گر به جایی که می توان اطلاعات اجاره نامه و اجاره کلید را خروجی کرد.

OTSRPSERVERHOSTGETNEXTService

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

سرویس بعدی میزبان داده شده را برمی گرداند.

جزئیات
مولفه های
[in] aHost
یک اشاره گر به میزبان سرویس SRP.
[in] aService
یک اشاره گر به نمونه خدمات فعلی SRP ؛ برای دریافت اولین سرویس از NULL استفاده کنید.
برمی گرداند
اگر خدمات دیگری وجود نداشته باشد ، اشاره گر به سرویس بعدی یا تهی است.

otsrpserverhostiseleted

bool otSrpServerHostIsDeleted(
  const otSrpServerHost *aHost
)

می گوید آیا میزبان سرویس SRP حذف شده است یا خیر.

یک میزبان سرویس SRP می تواند حذف شود اما نام خود را برای مصارف آینده حفظ می کند. در این حالت ، نمونه میزبان از سرور/رجیستری SRP حذف نمی شود.

جزئیات
مولفه های
[in] aHost
یک اشاره گر به میزبان سرویس SRP.
برمی گرداند
درست است اگر میزبان حذف شده باشد ، اگر نه.

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
حالت ENABLE AUTO غیرفعال است.

otsrpserverparsesesubtypeservicename

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

یک نام سرویس زیر (نام کامل) را تجزیه می کند و برچسب زیر نوع را استخراج می کند.

نام کامل سرویس برای یک سرویس زیر از نوع زیر است " ._زیر. . ".

جزئیات
مولفه های
[in] aSubTypeServiceName
نام سرویس زیر (نام کامل).
[out] aLabel
یک اشاره گر به یک بافر برای کپی کردن برچسب زیر از نوع استخراج شده.
[in] aLabelSize
حداکثر اندازه بافر aLabel .
ارزش های بازگشتی
OT_ERROR_NONE
نام با موفقیت تجزیه شد و aLabel به روز شد.
OT_ERROR_NO_BUFS
برچسب زیر از نوع نمی تواند در aLabel Buffer جای بگیرد (تعداد کاراکتر از برچسب که می تواند متناسب باشد در 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
)

اطلاعات اجاره و کلیدی یک سرویس معین را برمی گرداند.

جزئیات
مولفه های
[in] aService
یک اشاره گر به سرویس سرور SRP.
[out] aLeaseInfo
یک اشاره گر به جایی که می توان اطلاعات اجاره نامه و اجاره کلید را خروجی کرد.

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
)

نام سرویس زیر (نام کامل) سرویس را در یک فهرست معین دریافت می کند.

نام کامل سرویس برای یک سرویس زیر از نوع زیر است " ._زیر. . ".

جزئیات
مولفه های
[in] aService
یک اشاره گر به سرویس SRP.
[in] aIndex
شاخص برای بدست آوردن
برمی گرداند
یک نشانگر به نام خدمات زیر از نوع در aIndex ، یا NULL در صورت عدم نوع زیر در این فهرست.

OTSRPSERVERSERVICEGETTTL

uint32_t otSrpServerServiceGetTtl(
  const otSrpServerService *aService
)

TTL نمونه خدمات را برمی گرداند.

جزئیات
مولفه های
[in] aService
یک اشاره گر به سرویس SRP.
برمی گرداند
TTL نمونه خدمات ..

otsrpserverservicegettxtdata

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

داده های ضبط TXT نمونه سرویس را برمی گرداند.

جزئیات
مولفه های
[in] aService
یک اشاره گر به سرویس SRP.
[out] aDataLength
یک اشاره گر برای بازگشت طول داده ضبط txt. نباید خالی باشد.
برمی گرداند
یک اشاره گر به بافر حاوی داده های ضبط TXT (طول داده TXT در aDataLength بازگردانده می شود).

OTSRPSERVERSERVICEGETE

uint16_t otSrpServerServiceGetWeight(
  const otSrpServerService *aService
)

وزن نمونه خدمات را برمی گرداند.

جزئیات
مولفه های
[in] aService
یک اشاره گر به سرویس SRP.
برمی گرداند
وزن خدمات.

نام تجاری

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

نشان می دهد که آیا این سرویس دارای یک نوع زیر است یا خیر.

مسابقات نام DNS با استفاده از یک مقایسه رشته ای حساس انجام می شود (یعنی "ABC" و "ABC" یکسان در نظر گرفته می شوند).

جزئیات
مولفه های
[in] aService
یک اشاره گر به سرویس SRP.
[in] aSubTypeServiceName
نام سرویس زیر (نام کامل) برای بررسی.
ارزش های بازگشتی
TRUE
سرویس حاوی نوع زیر aSubTypeServiceName است.
FALSE
سرویس حاوی نام زیر aSubTypeServiceName نیست.

OTSRPSerVerserviceSeleted

bool otSrpServerServiceIsDeleted(
  const otSrpServerService *aService
)

نشان می دهد که آیا سرویس SRP حذف شده است یا خیر.

یک سرویس SRP قابل حذف است اما نام خود را برای مصارف آینده حفظ می کند. در این حالت ، نمونه خدمات از سرور/رجیستری SRP حذف نمی شود. تضمین شده است که در صورت حذف میزبان ، کلیه خدمات حذف می شوند.

جزئیات
مولفه های
[in] aService
یک اشاره گر به سرویس SRP.
برمی گرداند
درست است اگر سرویس حذف شده باشد ، اگر نه.

نام تجاری

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

نشان می دهد که آیا این سرویس با یک نام نمونه خدمات مشخص مطابقت دارد یا خیر.

مسابقات نام DNS با استفاده از یک مقایسه رشته ای حساس انجام می شود (یعنی "ABC" و "ABC" یکسان در نظر گرفته می شوند).

جزئیات
مولفه های
[in] aService
یک اشاره گر به سرویس SRP.
[in] aInstanceName
نام نمونه خدمات.
ارزش های بازگشتی
TRUE
اگر سرویس با نام نمونه خدمات مطابقت داشته باشد.
FALSE
اگر سرویس با نام نمونه خدمات مطابقت نداشته باشد.

نام تجاری

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
)

شماره توالی مورد استفاده را با حالت آدرس Anycast تنظیم می کند.

جزئیات
مولفه های
[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 SEVER در صورت شروع مسیریابی مرزی به صورت خودکار فعال می شود و با پیشوند اولیه و تنظیمات مسیر انجام می شود (هنگامی که پیشوندهای OMR و لینک مشخص می شوند ، در پیام تبلیغات روتر منتشر شده در سمت زیرساخت ها تبلیغ می شوند و در موضوع منتشر می شوند داده های شبکه). سرور SRP در صورت متوقف شدن/هنگامی که BR متوقف شود ، به صورت خودکار در معرض خطر قرار می گیرد (به عنوان مثال ، اگر رابط شبکه زیرساخت پایین بیاید یا اگر BR جدا شود).

این حالت را می توان با یک تماس otSrpServerSetAutoEnableMode() با aEnabled تنظیم شده روی false یا اگر سرور SRP صریحاً با یک تماس به otSrpServerSetEnabled() فعال یا غیرفعال شده است ، غیرفعال کرد. غیرفعال کردن حالت فعال خودکار با استفاده از otSrpServerSetAutoEnableMode(false) وضعیت فعلی SRP Sever را تغییر نمی دهد (به عنوان مثال ، در صورت فعال بودن آن فعال می شود).

جزئیات
مولفه های
[in] aInstance
اشاره گر به یک نمونه OpenThread.
[in] aEnabled
یک بولی برای فعال کردن/غیرفعال کردن حالت ENABLE AUTO.

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 و تنظیمات اجاره کلید را تنظیم می کند.

هنگامی که زمان اجاره غیر صفر از مشتری درخواست می شود ، مقدار اعطا شده در محدوده محدود خواهد شد [Aminlease ، Amaxlease]. و یک اجاره کلید غیر صفر در محدوده [Aminkeylease ، Amaxkeylease] اعطا می شود. برای اجاره صفر یا زمان اجاره کلید ، صفر اعطا می شود.

جزئیات
مولفه های
[in] aInstance
اشاره گر به یک نمونه OpenThread.
[in] aLeaseConfig
یک اشاره گر به یک نمونه otSrpServerLeaseConfig .
ارزش های بازگشتی
OT_ERROR_NONE
محدوده اجاره و اجاره کلید را با موفقیت تنظیم کنید.
OT_ERROR_INVALID_ARGS
محدوده اجاره نامه یا اجاره کلید معتبر نیست.

OTSRPSERVERSESESSERVICEUPDateHandler

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 TTL را تنظیم می کند.

TTL اعطا شده همیشه از حداکثر بازه اجاره پیکربندی شده از طریق otSrpServerSetLeaseConfig() ، صرف نظر از حداقل و حداکثر پیکربندی TTL نخواهد بود.

جزئیات
مولفه های
[in] aInstance
اشاره گر به یک نمونه OpenThread.
[in] aTtlConfig
یک اشاره گر به یک نمونه otSrpServerTtlConfig .
ارزش های بازگشتی
OT_ERROR_NONE
پیکربندی TTL را با موفقیت تنظیم کنید.
OT_ERROR_INVALID_ARGS
پیکربندی TTL معتبر نیست.

منابع

موضوعات مرجع OpenThread API از کد منبع موجود در GitHub سرچشمه می گیرند. برای اطلاعات بیشتر، یا مشارکت در اسناد ما، به منابع مراجعه کنید.