صفحة نتائج البحث
تتضمن هذه الوحدة وظائف تتحكم في سلوك عميل SRP.
ملخّص
تتضمن هذه الوحدة وظائف بروتوكول تسجيل الخدمة.
تتضمن هذه الوحدة دوال للمخازن الاحتياطية لعميل SRP وتجمع الخدمات.
لا تتوفر الدوال بهذه الوحدة إلا عند تمكين الميزة OPENthread_CONFIG_SRP_CLIENT_BUFFERS_ENABLE.
عمليات التعداد |
|
---|---|
otSrpClientItemState{
|
تعداد تحدِّد حالة عنصر عميل SRP (معلومات الخدمة أو المضيف). |
otSrpServerAddressMode{
|
تعداد يُمثل وضع العنوان الذي يستخدمه خادم SRP. |
otSrpServerState{
|
تعداد يُمثِّل حالة خادم SRP. |
تحديدات النوع |
|
---|---|
otSrpClientAutoStartCallback)(const otSockAddr *aServerSockAddr, void *aContext)
|
typedefvoid(*
يحدّد نوع المؤشر معاودة الاتصال التي يستخدمها عميل SRP لإعلام المستخدم عند بدئه أو إيقافه تلقائيًا. |
otSrpClientBuffersServiceEntry
|
typedef يمثل إدخالاً لمجموعة خدمات العميل SRP. |
otSrpClientCallback)(otError aError, const otSrpClientHostInfo *aHostInfo, const otSrpClientService *aServices, const otSrpClientService *aRemovedServices, void *aContext)
|
typedefvoid(*
يحدّد نوع المؤشر معاودة الاتصال التي يستخدمها عميل SRP لإشعار المستخدم بالتغييرات/الأحداث/الأخطاء. |
otSrpClientHostInfo
|
typedefstruct otSrpClientHostInfo
يُمثِّل معلومات مضيف عميل SRP. |
otSrpClientService
|
typedefstruct otSrpClientService
يُمثل خدمة عميل SRP. |
otSrpServerAddressMode
|
typedef يُمثل وضع العنوان الذي يستخدمه خادم SRP. |
otSrpServerHost
|
typedefstruct otSrpServerHost
ويمثل هذا النوع المبهم مضيف خدمة SRP. |
otSrpServerLeaseConfig
|
typedefstruct otSrpServerLeaseConfig
يتضمّن ذلك إعدادات LEASE وKEY-LEASE لخادم SRP. |
otSrpServerLeaseInfo
|
typedefstruct otSrpServerLeaseInfo
يتضمن معلومات تأجير خادم SRP لمضيف/خدمة. |
otSrpServerResponseCounters
|
typedefstruct otSrpServerResponseCounters
يتضمن إحصاءات ردود خادم SRP. |
otSrpServerService
|
typedefstruct otSrpServerService
يمثل هذا النوع الشفاف خدمة SRP. |
otSrpServerServiceUpdateHandler)(otSrpServerServiceUpdateId aId, const otSrpServerHost *aHost, uint32_t aTimeout, void *aContext)
|
typedefvoid(*
يعالج تحديثات خدمة SRP. |
otSrpServerServiceUpdateId
|
typedefuint32_t
رقم تعريف معاملة تحديث خدمة SRP على خادم SRP. |
otSrpServerTtlConfig
|
typedefstruct otSrpServerTtlConfig
يتضمن إعدادات مدة البقاء (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)
|
const otSrpClientHostInfo *
الحصول على معلومات المضيف
|
otSrpClientGetKeyLeaseInterval(otInstance *aInstance)
|
uint32_t
تتيح هذه السياسة الحصول على الفاصل الزمني التلقائي لإيجار المفتاح المستخدَم في طلبات تحديث SRP.
|
otSrpClientGetLeaseInterval(otInstance *aInstance)
|
uint32_t
للحصول على الفاصل الزمني التلقائي للإيجار المستخدَم في طلبات تحديث SRP.
|
otSrpClientGetServerAddress(otInstance *aInstance)
|
const otSockAddr *
الحصول على عنوان المقبس (عنوان IPv6 ورقم المنفذ) لخادم SRP الذي يستخدمه عميل SRP.
|
otSrpClientGetServices(otInstance *aInstance)
|
const otSrpClientService *
الحصول على قائمة الخدمات التي يديرها العميل
|
otSrpClientGetTtl(otInstance *aInstance)
|
uint32_t
للحصول على قيمة مدة البقاء في كل سجلّ مُضمّن في طلبات تحديث SRP.
|
otSrpClientIsAutoStartModeEnabled(otInstance *aInstance)
|
bool
يشير إلى الحالة الحالية لوضع التشغيل التلقائي (مفعّل أو غير مفعّل).
|
otSrpClientIsRunning(otInstance *aInstance)
|
bool
يشير إلى ما إذا كان عميل SRP قيد التشغيل أم لا.
|
otSrpClientIsServiceKeyRecordEnabled(otInstance *aInstance)
|
bool
يشير إلى ما إذا كان وضع "تضمين سجلّ مفتاح الخدمة" مفعَّلاً أو غير مفعَّل.
|
otSrpClientItemStateToString(otSrpClientItemState aItemState)
|
const char *
تحوِّل هذه الدالة
otSrpClientItemState إلى سلسلة. |
otSrpClientRemoveHostAndServices(otInstance *aInstance, bool aRemoveKeyLease, bool aSendUnregToServer)
|
تبدأ عملية إزالة معلومات المضيف وجميع الخدمات.
|
otSrpClientRemoveService(otInstance *aInstance, otSrpClientService *aService)
|
يطلب إلغاء تسجيل الخدمة في الخادم.
|
otSrpClientSetCallback(otInstance *aInstance, otSrpClientCallback aCallback, void *aContext)
|
void
لضبط معاودة الاتصال لإعلام المتصل بالأحداث/التغييرات من عميل SRP.
|
otSrpClientSetDomainName(otInstance *aInstance, const char *aName)
|
تحدد اسم النطاق ليتم استخدامه بواسطة عميل SRP.
|
otSrpClientSetHostAddresses(otInstance *aInstance, const otIp6Address *aIp6Addresses, uint8_t aNumAddresses)
|
يضبط/يحدِّث قائمة عنوان IPv6 المضيف.
|
otSrpClientSetHostName(otInstance *aInstance, const char *aName)
|
لضبط تصنيف اسم المضيف.
|
otSrpClientSetKeyLeaseInterval(otInstance *aInstance, uint32_t aInterval)
|
void
تحدِّد هذه السياسة الفاصل الزمني التلقائي لإيجار المفتاح المستخدَم في طلبات تحديث SRP.
|
otSrpClientSetLeaseInterval(otInstance *aInstance, uint32_t aInterval)
|
void
تحدِّد هذه السياسة الفاصل الزمني التلقائي للإيجار المستخدَم في طلبات تحديث SRP.
|
otSrpClientSetServiceKeyRecordEnabled(otInstance *aInstance, bool aEnabled)
|
void
يؤدي إلى تفعيل/إيقاف وضع "تضمين سجلّ مفتاح الخدمة".
|
otSrpClientSetTtl(otInstance *aInstance, uint32_t aTtl)
|
void
يضبط قيمة TTL في كل سجل متضمن في طلبات تحديث SRP.
|
otSrpClientStart(otInstance *aInstance, const otSockAddr *aServerSockAddr)
|
يبدأ عملية عميل SRP.
|
otSrpClientStop(otInstance *aInstance)
|
void
يوقف عملية عميل SRP.
|
otSrpServerGetAddressMode(otInstance *aInstance)
|
تعرض وضع العنوان الذي يستخدمه خادم SRP.
|
otSrpServerGetAnycastModeSequenceNumber(otInstance *aInstance)
|
uint8_t
يتم عرض رقم التسلسل المستخدم مع وضع عنوان البث العشوائي.
|
otSrpServerGetDomain(otInstance *aInstance)
|
const char *
لعرض النطاق المصرَّح به لخادم SRP.
|
otSrpServerGetLeaseConfig(otInstance *aInstance, otSrpServerLeaseConfig *aLeaseConfig)
|
void
تعرض إعدادات LEASE وKEY-LEASE لخادم SRP.
|
otSrpServerGetNextHost(otInstance *aInstance, const otSrpServerHost *aHost)
|
const otSrpServerHost *
لعرض المضيف التالي المسجّل على خادم SRP.
|
otSrpServerGetPort(otInstance *aInstance)
|
uint16_t
تعرض المنفذ الذي يستمع إليه خادم SRP.
|
otSrpServerGetResponseCounters(otInstance *aInstance)
|
const otSrpServerResponseCounters *
تعرض عدادات الاستجابة لخادم 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)
|
const otSrpServerService *
لعرض الخدمة التالية للمضيف المحدد.
|
otSrpServerHostIsDeleted(const otSrpServerHost *aHost)
|
bool
لإعلام ما إذا كان قد تم حذف مضيف خدمة SRP.
|
otSrpServerHostMatchesFullName(const otSrpServerHost *aHost, const char *aFullName)
|
bool
يشير هذا العمود إلى ما إذا كان المضيف يتطابق مع اسم مضيف معيّن.
|
otSrpServerIsAutoEnableMode(otInstance *aInstance)
|
bool
يشير إلى ما إذا كان وضع التفعيل التلقائي مفعَّلاً أو غير مفعَّل.
|
otSrpServerParseSubTypeServiceName(const char *aSubTypeServiceName, char *aLabel, uint8_t aLabelSize)
|
تحليل اسم الخدمة من النوع الفرعي (الاسم الكامل) واستخراج تصنيف النوع الفرعي.
|
otSrpServerServiceGetHost(const otSrpServerService *aService)
|
const otSrpServerHost *
لعرض المضيف الذي يتوفّر عليه مثيل الخدمة.
|
otSrpServerServiceGetInstanceLabel(const otSrpServerService *aService)
|
const char *
لعرض تصنيف مثيل الخدمة (التصنيف الأول في اسم المثيل) للخدمة.
|
otSrpServerServiceGetInstanceName(const otSrpServerService *aService)
|
const char *
لعرض الاسم الكامل لمثيل الخدمة.
|
otSrpServerServiceGetLeaseInfo(const otSrpServerService *aService, otSrpServerLeaseInfo *aLeaseInfo)
|
void
لعرض معلومات LEASE وKEY-LEASE لخدمة معينة.
|
otSrpServerServiceGetNumberOfSubTypes(const otSrpServerService *aService)
|
uint16_t
للحصول على عدد الأنواع الفرعية للخدمة.
|
otSrpServerServiceGetPort(const otSrpServerService *aService)
|
uint16_t
تعرض منفذ مثيل الخدمة.
|
otSrpServerServiceGetPriority(const otSrpServerService *aService)
|
uint16_t
لعرض أولوية مثيل الخدمة.
|
otSrpServerServiceGetServiceName(const otSrpServerService *aService)
|
const char *
تعرض اسم الخدمة الكامل.
|
otSrpServerServiceGetSubTypeServiceNameAt(const otSrpServerService *aService, uint16_t aIndex)
|
const char *
الحصول على اسم النوع الفرعي للخدمة (الاسم الكامل) للخدمة في فهرس معيّن
|
otSrpServerServiceGetTtl(const otSrpServerService *aService)
|
uint32_t
تعرض مدة البقاء (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)
|
لضبط رقم التسلسل المستخدم مع وضع عنوان البث العشوائي.
|
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 |
يتضمّن ذلك إعدادات LEASE وKEY-LEASE لخادم SRP. |
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.
أماكن إقامة | |
---|---|
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، ولكنه متوقف. |
تحديدات النوع
otSrpClientAutoStartCallback
void(* otSrpClientAutoStartCallback)(const otSockAddr *aServerSockAddr, void *aContext)
يحدّد نوع المؤشر معاودة الاتصال التي يستخدمها عميل SRP لإعلام المستخدم عند بدئه أو إيقافه تلقائيًا.
ولا يتم استخدام هذه الميزة إلا عند تفعيل ميزة التشغيل التلقائي "OPENTHREAD_CONFIG_SRP_CLIENT_AUTO_START_API_ENABLE
".
يتم استدعاء معاودة الاتصال هذه عند تفعيل وضع البدء التلقائي وعند بدء تشغيل برنامج SRP أو إيقافه تلقائيًا.
التفاصيل | |||||
---|---|---|---|---|---|
المَعلمات |
|
otSrpClientBuffersServiceEntry
struct otSrpClientBuffersServiceEntry otSrpClientBuffersServiceEntry
يمثل إدخالاً لمجموعة خدمات العميل SRP.
otSrpClientCallback
void(* otSrpClientCallback)(otError aError, const otSrpClientHostInfo *aHostInfo, const otSrpClientService *aServices, const otSrpClientService *aRemovedServices, void *aContext)
يحدّد نوع المؤشر معاودة الاتصال التي يستخدمها عميل SRP لإشعار المستخدم بالتغييرات/الأحداث/الأخطاء.
يتم استدعاء معاودة الاتصال هذه عند تسجيل ناجح لتحديث (أي، إضافة/إزالة معلومات المضيف و/أو بعض الخدمات) مع خادم SRP، أو في حال حدوث إخفاق أو خطأ (على سبيل المثال، رفض الخادم طلب تحديث أو انتهاء مهلة العميل لانتظار الاستجابة، وما إلى ذلك).
في حال إعادة تسجيل تحديث بنجاح، ستكون المَعلمة aError
هي OT_ERROR_NONE
، ويتم توفير معلومات المضيف وقائمة الخدمات الكاملة كمَعلمات إدخال في معاودة الاتصال. يُرجى العلم أنّ كل من معلومات وخدمات المضيف يتتبّع حالتها في متغيّر العضو mState
المقابل في بنية البيانات ذات الصلة (الحالة التي تشير إلى ما إذا كان قد تم تسجيل معلومات المضيف/الخدمة أو إزالتها أو لا تزال تتم إضافتها أو إزالتها، وما إلى ذلك).
يتم تمرير قائمة الخدمات التي تمت إزالتها على أنّها قائمتها المرتبطة aRemovedServices
في معاودة الاتصال. تجدر الإشارة إلى أنّه عند استدعاء معاودة الاتصال، يتم تنفيذ عميل SRP (تنفيذ OpenThread) مع مثيلات الخدمة التي تمت إزالتها والمدرجة في aRemovedServices
ولا يتم تتبُّعها/تخزينها بعد ذلك (أي إذا تم الاتصال بـ otSrpClientGetServices()
من معاودة الاتصال، لن تظهر الخدمات التي تمت إزالتها في القائمة المعروضة). إنّ تقديم قائمة منفصلة بالخدمات التي تمت إزالتها في معاودة الاتصال يساعد في توضيح العناصر التي تمت إزالتها الآن، كما يسمح للمستخدم بإعادة المطالبة بمثيلاتها أو إعادة استخدامها.
إذا رفض الخادم طلب تحديث SRP، يتم ربط رمز استجابة نظام أسماء النطاقات (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 بعض طلبات RRset التي يجب ألا توجد، موجودة -> OT_ERROR_DUPLICATED
- (8) NXRRSET بعض مجموعات RR التي يجب أن تكون موجودة، غير موجودة -> OT_ERROR_NOT_FOUND
- (9) خدمة NOTAUTH غير موثوقة للمنطقة -> OT_ERROR_Security
- (10) NOTZONE هناك اسم ليس في المنطقة -> OT_ERROR_PARSE
- (20) BADNAME اسم سيئ -> OT_ERROR_PARSE
- (21) BADALG خوارزمية غير صالحة -> OT_ERROR_ نقرات
- (22) BADTRUN اقتطاع غير صالح -> OT_ERROR_PARSE
- رموز الاستجابة الأخرى -> OT_ERROR_FAILED
يمكن أيضًا حدوث الأخطاء التالية:
- OT_ERROR_RESPONSE_من : انتهت مهلة انتظار الاستجابة من الخادم (سيستمر العميل في إعادة المحاولة).
- OT_ERROR_INVALID_ARGS : بنية الخدمة المقدمة غير صالحة (على سبيل المثال، اسم خدمة سيئ أو
otDnsTxtEntry
). - OT_ERROR_NO_BUFS : تخزين مؤقت غير كافٍ لإعداد رسالة التحديث أو إرسالها.
لاحظ أنه في حالة حدوث أي إخفاق، يواصل العميل العملية، أي أنه يجهز رسالة تحديث SRP و (يعيد) نقلها إلى الخادم، بعد فترة انتظار قليلة. وتبدأ فترة الانتظار لإعادة المحاولة من الحدّ الأدنى للقيمة ويزداد من خلال عامل النمو كل تعذُّر وصولاً إلى القيمة القصوى (يُرجى الاطّلاع على مَعلمة الإعداد OPENTHREAD_CONFIG_SRP_CLIENT_MIN_RETRY_WAIT_INTERVAL
والمَعلمات ذات الصلة لمعرفة مزيد من التفاصيل).
التفاصيل | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
المَعلمات |
|
otSrpClientService
struct otSrpClientService otSrpClientService
يُمثل خدمة عميل SRP.
يجب أن تظل القيم في هذه البنية، بما في ذلك السلاسل المؤقتة للأسماء وإدخالات سجلّ TXT، ثابتة وتظل ثابتة بعد تمرير مثيل من هذه البنية إلى OpenThread من otSrpClientAddService()
أو otSrpClientRemoveService()
.
يتم استخدام/إدارة الحقول mState
وmData
وmNext
من خلال OT Core فقط. ويتم تجاهل قيمتها عند تمرير مثيل otSrpClientService
في otSrpClientAddService()
أو otSrpClientRemoveService()
أو دوال أخرى. لا يحتاج المتصل إلى ضبط هذه الحقول.
يحدّد حقلا mLease
وmKeyLease
فواصل الإيجار المطلوبة والمفتاح لهذه الخدمة. تشير القيمة "صفر" إلى أنّ الفاصل الزمني غير محدّد، ثم يتم استخدام فواصل إيجار أو مفتاح إيجار تلقائية من otSrpClientGetLeaseInterval()
وotSrpClientGetKeyLeaseInterval()
لهذه الخدمة. إذا كانت فاصل إيجار المفتاح (سواء تم تحديده بشكل صريح أو محدّد من القيمة التلقائية) أقصر من الفاصل الزمني لإيجار الخدمة، سيعيد عميل SRP استخدام قيمة فاصل الإيجار للفاصل الزمني لإيجار المفتاح أيضًا. على سبيل المثال، إذا تم ضبط mLease
بشكل صريح على يومَين وتم ضبط mKeyLease
على صفر وضبط القيمة التلقائية لتأجير المفتاح على يوم واحد، يتم أيضًا ضبط مدة إيجار المفتاح المطلوبة لهذه الخدمة على يومَين عند تسجيل هذه الخدمة.
otSrpServerAddressMode
enum otSrpServerAddressMode otSrpServerAddressMode
يُمثل وضع العنوان الذي يستخدمه خادم SRP.
يحدِّد وضع العنوان الطريقة التي يُحدِّد بها خادم SRP العنوان ورقم المنفذ وكيفية نشر هذه المعلومات في بيانات شبكة Thread.
otSrpServerLeaseConfig
struct otSrpServerLeaseConfig otSrpServerLeaseConfig
يتضمّن ذلك إعدادات LEASE وKEY-LEASE لخادم SRP.
otSrpServerLeaseInfo
struct otSrpServerLeaseInfo otSrpServerLeaseInfo
يتضمن معلومات تأجير خادم SRP لمضيف/خدمة.
otSrpServerResponseCounters
struct otSrpServerResponseCounters otSrpServerResponseCounters
يتضمن إحصاءات ردود خادم 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 في حالة فشل أي عملية تحقق. على سبيل المثال، من المفترض أن يعلن وكيل الإعلانات عن (أو يزيل) المضيف والخدمات على رابط يدعم البث المتعدد ويعرض رمز خطأ معينًا في حال حدوث أي إخفاق.
التفاصيل | |||||||||
---|---|---|---|---|---|---|---|---|---|
المَعلمات |
|
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()
تزيل المضيف وجميع الخدمات ذات الصلة على الفور.
التفاصيل | |||||||
---|---|---|---|---|---|---|---|
المَعلمات |
|
||||||
قيم الإرجاع |
|
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
على صفر. - يتم محو جميع المخازن المؤقتة والصفائف للبيانات/السلاسل ذات الصلة إلى الصفر.
التفاصيل | |||
---|---|---|---|
المَعلمات |
|
||
المرتجعات |
مؤشر إلى إدخال الخدمة المخصّص حديثًا أو فارغ في حال عدم توفّر إدخال إضافي في مجموعة البيانات
|
otSrpClientBuffersFreeAllServices
void otSrpClientBuffersFreeAllServices( otInstance *aInstance )
يؤدي إلى تحرير جميع إدخالات الخدمة التي تم تخصيصها مسبقًا.
التفاصيل | |||
---|---|---|---|
المَعلمات |
|
otSrpClientBuffersFreeService
void otSrpClientBuffersFreeService( otInstance *aInstance, otSrpClientBuffersServiceEntry *aService )
يؤدي إلى تحرير إدخال خدمة تم تخصيصه مسبقًا.
يجب تخصيص aService
سابقًا باستخدام otSrpClientBuffersAllocateService()
ولم يتم تفريغها بعد. وبخلاف ذلك، يكون سلوك هذه الدالة غير معرَّف.
التفاصيل | |||||
---|---|---|---|---|---|
المَعلمات |
|
otSrpClientBuffersGetHostAddressesArray
otIp6Address * otSrpClientBuffersGetHostAddressesArray( otInstance *aInstance, uint8_t *aArrayLength )
توفّر هذه الطريقة مجموعة إدخالات عنوان IPv6 لاستخدامها كقائمة عناوين لمضيف عميل SRP.
التفاصيل | |||||
---|---|---|---|---|---|
المَعلمات |
|
||||
المرتجعات |
مؤشر إلى صفيف من
otIp6Address إدخال (يتم عرض عدد من الإدخالات في aArrayLength ). |
otSrpClientBuffersGetHostNameString
char * otSrpClientBuffersGetHostNameString( otInstance *aInstance, uint16_t *aSize )
يحصل على المخزن المؤقت للسلسلة لاستخدامه مع اسم مضيف عميل SRP.
التفاصيل | |||||
---|---|---|---|---|---|
المَعلمات |
|
||||
المرتجعات |
مؤشر للمخزن المؤقت للأحرف لاستخدامه مع اسم مضيف عميل SRP.
|
otSrpClientBuffersGetServiceEntryInstanceNameString
char * otSrpClientBuffersGetServiceEntryInstanceNameString( otSrpClientBuffersServiceEntry *aEntry, uint16_t *aSize )
للحصول على سلسلة المخزن المؤقت لاسم مثيل الخدمة من إدخال خدمة.
التفاصيل | |||||
---|---|---|---|---|---|
المَعلمات |
|
||||
المرتجعات |
يشير هذا المصطلح إلى مؤشر المخزن المؤقت للسلسلة.
|
otSrpClientBuffersGetServiceEntryServiceNameString
char * otSrpClientBuffersGetServiceEntryServiceNameString( otSrpClientBuffersServiceEntry *aEntry, uint16_t *aSize )
تحصل على سلسلة المخزن المؤقت لاسم الخدمة من إدخال خدمة.
التفاصيل | |||||
---|---|---|---|---|---|
المَعلمات |
|
||||
المرتجعات |
يشير هذا المصطلح إلى مؤشر المخزن المؤقت للسلسلة.
|
otSrpClientBuffersGetServiceEntryTxtBuffer
uint8_t * otSrpClientBuffersGetServiceEntryTxtBuffer( otSrpClientBuffersServiceEntry *aEntry, uint16_t *aSize )
للحصول على المخزن المؤقت لسجل TXT من إدخال خدمة.
التفاصيل | |||||
---|---|---|---|---|---|
المَعلمات |
|
||||
المرتجعات |
مؤشر إلى المورد الاحتياطي.
|
otSrpClientBuffersGetSubTypeLabelsArray
const char ** otSrpClientBuffersGetSubTypeLabelsArray( otSrpClientBuffersServiceEntry *aEntry, uint16_t *aArrayLength )
تحصل على المصفوفة الخاصة بتصنيفات النوع الفرعي للخدمة من إدخال الخدمة.
التفاصيل | |||||
---|---|---|---|---|---|
المَعلمات |
|
||||
المرتجعات |
مؤشر إلى الصفيفة
|
otSrpClientClearHostAndServices
void otSrpClientClearHostAndServices( otInstance *aInstance )
يؤدي هذا الإجراء إلى محو جميع معلومات المضيف وجميع الخدمات.
على عكس otSrpClientRemoveHostAndServices()
التي ترسل رسالة تحديث إلى الخادم لإزالة جميع المعلومات، تمحو هذه الدالة كل المعلومات على الفور بدون أي تفاعل مع الخادم.
التفاصيل | |||
---|---|---|---|
المَعلمات |
|
otSrpClientClearService
otError otSrpClientClearService( otInstance *aInstance, otSrpClientService *aService )
محو خدمة، وإزالتها فورًا من قائمة خدمات العملاء.
على عكس otSrpClientRemoveService()
التي ترسل رسالة تحديث إلى الخادم لإزالة الخدمة، تمحو هذه الدالة الخدمة من قائمة خدمات العميل بدون أي تفاعل مع الخادم. عند إجراء استدعاء ناجح لهذه الدالة، لن يتم استدعاء otSrpClientCallback
ويمكن للمتصل استرداد الإدخال aService
وإعادة استخدامه على الفور.
يمكن استخدامها مع استدعاء لاحق إلى otSrpClientAddService()
(من المحتمل إعادة استخدام إدخال aService
نفسه بأسماء الخدمة والمثيلات نفسها) لتعديل بعض المَعلمات في خدمة حالية.
التفاصيل | |||||
---|---|---|---|---|---|
المَعلمات |
|
||||
قيم الإرجاع |
|
otSrpClientDisableAutoStartMode
void otSrpClientDisableAutoStartMode( otInstance *aInstance )
لإيقاف وضع البدء التلقائي.
لا تتوفر هذه الميزة إلا عند تفعيل ميزة التشغيل التلقائي "OPENTHREAD_CONFIG_SRP_CLIENT_AUTO_START_API_ENABLE
".
لن يؤدي تعطيل وضع البدء التلقائي إلى إيقاف العميل إذا كان قيد التشغيل بالفعل ولكن يتوقف العميل عن مراقبة بيانات شبكة سلسلة المحادثات للتحقق من أن خادم SRP المحدد لا يزال موجودًا فيه.
يُرجى العِلم أنّ الاتصال برقم otSrpClientStop()
سيؤدي أيضًا إلى إيقاف وضع البدء التلقائي.
التفاصيل | |||
---|---|---|---|
المَعلمات |
|
otSrpClientEnableAutoHostAddress
otError otSrpClientEnableAutoHostAddress( otInstance *aInstance )
تفعِّل هذه السياسة وضع عنوان المضيف التلقائي.
عند التفعيل، يتم ضبط عناوين IPv6 المضيفة تلقائيًا عن طريق عميل SRP باستخدام جميع عناوين البث الأحادي المفضل على Thread netif باستثناء كل العناوين المحلية للروابط والمحلية المتداخلة. إذا لم يكن هناك عنوان مفضّل، تتم إضافة عنوان معرّف شريحة SIM المضمّنة (EID) المحلي لشبكة Mesh. سيقوم عميل SRP تلقائيًا بإعادة التسجيل عندما يتم تحديث العناوين على Thread netif (تتم إضافة عناوين جديدة أو إزالة عناوين حالية أو وضع علامة عليها كعناوين غير مفضَّلة).
يمكن تفعيل وضع عنوان المضيف التلقائي قبل بدء عميل SRP أو أثناء تشغيله ما لم تتم إزالة معلومات المضيف (العميل مشغول بمعالجة طلب إزالة من مكالمة إلى otSrpClientRemoveHostAndServices()
ولا تزال معلومات المضيف في الحالة STATE_TO_REMOVE
أو STATE_REMOVING
).
بعد تفعيل وضع عنوان المضيف التلقائي، يمكن إيقافه من خلال الاتصال بـ otSrpClientSetHostAddresses()
الذي سيحدّد بعد ذلك عناوين المضيف بشكلٍ صريح.
التفاصيل | |||||
---|---|---|---|---|---|
قيم الإرجاع |
|
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
" وضع البدء التلقائي التلقائي (سواء كان مفعّلاً في بداية حزم الوقت الإضافي).
عند تمكين البدء التلقائي، سيراقب عميل SRP بيانات شبكة سلسلة المحادثات لاكتشاف خوادم SRP واختيار الخادم المفضل وبدء تشغيل العميل وإيقافه تلقائيًا عند اكتشاف خادم SRP.
هناك ثلاث فئات من إدخالات بيانات الشبكة تشير إلى وجود عنصر SRP. ويفضَّل استخدامها بالترتيب التالي:
1) إدخالات البث الأحادي المفضلة التي يتم فيها تضمين عنوان الخادم في بيانات الخدمة. إذا كانت هناك خيارات متعددة، يُفضَّل استخدام الخيار الذي يتضمّن أقل عنوان IPv6.
2) إدخالات أي بث لها رقم تسلسلي يعتبر رقم التسلسل الأكبر بالمعنى المحدد بواسطة المنطق الحسابي للرقم التسلسلي في RFC-1982 أكثر حداثة وبالتالي يفضّله. يُفضل استخدام أكبر رقم تسلسلي باستخدام حساب الرقم التسلسلي إذا كان محددًا بشكل جيد (أي أن رقم التسلسل أكبر من جميع أرقام التسلسل الأخرى). إذا لم تكن محددة جيدًا، فيفضل رقم تسلسلي أكبر عدديًا.
3) إدخالات البث الأحادي التي يتم تضمين معلومات عنوان الخادم فيها في بيانات الخادم. إذا كانت هناك خيارات متعددة، يُفضَّل استخدام الخيار الذي يتضمّن أقل عنوان IPv6.
عندما يكون هناك تغيير في إدخالات بيانات الشبكة، سيتحقق العميل من أن الخادم المحدد حاليًا لا يزال موجودًا في بيانات الشبكة وما زال هو الخادم المفضَّل. وإلا سينتقل العميل إلى الخادم المفضل الجديد أو يتوقف في حالة عدم وجود أي خادم.
عندما يبدأ عميل SRP بشكل صريح من خلال اتصال ناجح إلى otSrpClientStart()
، سيستمر استخدام عنوان خادم SRP المحدد في otSrpClientStart()
بغض النظر عن حالة وضع البدء التلقائي وما إذا تم اكتشاف عنوان خادم SRP نفسه في بيانات شبكة Thread أم لا. في هذه الحالة، لن يتم إيقاف العميل إلا عن طريق استدعاء otSrpClientStop()
صريح.
التفاصيل | |||||||
---|---|---|---|---|---|---|---|
المَعلمات |
|
otSrpClientGetDomainName
const char * otSrpClientGetDomainName( otInstance *aInstance )
الحصول على اسم النطاق الذي يستخدمه عميل SRP.
يتطلب ذلك تفعيل OPENTHREAD_CONFIG_SRP_CLIENT_DOMAIN_NAME_API_ENABLE
.
إذا لم يتم ضبط اسم النطاق، سيتم استخدام "default.service.arpa".
التفاصيل | |||
---|---|---|---|
المَعلمات |
|
||
المرتجعات |
سلسلة اسم النطاق
|
otSrpClientGetHostInfo
const otSrpClientHostInfo * otSrpClientGetHostInfo( otInstance *aInstance )
الحصول على معلومات المضيف
التفاصيل | |||
---|---|---|---|
المَعلمات |
|
||
المرتجعات |
مؤشر لاستضافة بنية المعلومات.
|
otSrpClientGetKeyLeaseInterval
uint32_t otSrpClientGetKeyLeaseInterval( otInstance *aInstance )
تتيح هذه السياسة الحصول على الفاصل الزمني التلقائي لإيجار المفتاح المستخدَم في طلبات تحديث SRP.
يتم استخدام الفاصل الزمني التلقائي فقط في مثيلات otSrpClientService
مع ضبط mKeyLease
على صفر.
تجدر الإشارة إلى أن هذه هي مدة الإيجار التي يطلبها عميل SRP. قد يختار الخادم قبول فاصل إيجار مختلف.
التفاصيل | |||
---|---|---|---|
المَعلمات |
|
||
المرتجعات |
الفاصل الزمني لإيجار المفتاح (بالثواني)
|
otSrpClientGetLeaseInterval
uint32_t otSrpClientGetLeaseInterval( otInstance *aInstance )
للحصول على الفاصل الزمني التلقائي للإيجار المستخدَم في طلبات تحديث SRP.
يتم استخدام الفاصل الزمني التلقائي فقط في مثيلات otSrpClientService
مع ضبط mLease
على صفر.
تجدر الإشارة إلى أن هذه هي مدة الإيجار التي يطلبها عميل SRP. قد يختار الخادم قبول فاصل إيجار مختلف.
التفاصيل | |||
---|---|---|---|
المَعلمات |
|
||
المرتجعات |
فاصل الإيجار (بالثواني)
|
otSrpClientGetServerAddress
const otSockAddr * otSrpClientGetServerAddress( otInstance *aInstance )
الحصول على عنوان المقبس (عنوان IPv6 ورقم المنفذ) لخادم SRP الذي يستخدمه عميل SRP.
في حال كان العميل لا يعمل، يكون العنوان غير محدَّد (كله صفر) برقم منفذ صفري.
التفاصيل | |||
---|---|---|---|
المَعلمات |
|
||
المرتجعات |
يشير هذا المصطلح إلى مؤشر إلى عنوان المقبس الخاص بخادم SRP (يكون دائمًا غير NULL).
|
otSrpClientGetServices
const otSrpClientService * otSrpClientGetServices( otInstance *aInstance )
الحصول على قائمة الخدمات التي يديرها العميل
التفاصيل | |||
---|---|---|---|
المَعلمات |
|
||
المرتجعات |
مؤشر يشير إلى رأس القائمة المرتبطة لجميع الخدمات أو فارغ إذا كانت القائمة فارغة.
|
otSrpClientGetTtl
uint32_t otSrpClientGetTtl( otInstance *aInstance )
للحصول على قيمة مدة البقاء في كل سجلّ مُضمّن في طلبات تحديث SRP.
لاحظ أن هذا هو مدة البقاء (TTL) التي يطلبها عميل SRP. قد يختار الخادم قبول مدة بقاء مختلفة.
بشكل افتراضي، ستكون مدة البقاء (TTL) مساوية للفاصل الزمني للإيجار. في حال تمرير القيمة 0 أو قيمة أكبر من فاصل الإيجار عبر otSrpClientSetTtl()
، ستكون مدة البقاء (TTL) مساوية لفاصل الاستخدام.
التفاصيل | |||
---|---|---|---|
المَعلمات |
|
||
المرتجعات |
مدة البقاء (بالثواني)
|
otSrpClientIsAutoStartModeEnabled
bool otSrpClientIsAutoStartModeEnabled( otInstance *aInstance )
يشير إلى الحالة الحالية لوضع التشغيل التلقائي (مفعّل أو غير مفعّل).
لا تتوفر هذه الميزة إلا عند تفعيل ميزة التشغيل التلقائي "OPENTHREAD_CONFIG_SRP_CLIENT_AUTO_START_API_ENABLE
".
التفاصيل | |||
---|---|---|---|
المَعلمات |
|
||
المرتجعات |
TRUE في حالة تمكين وضع البدء التلقائي، وFALSE في الحالات الأخرى.
|
otSrpClientIsRunning
bool otSrpClientIsRunning( otInstance *aInstance )
يشير إلى ما إذا كان عميل SRP قيد التشغيل أم لا.
التفاصيل | |||
---|---|---|---|
المَعلمات |
|
||
المرتجعات |
TRUE إذا كان عميل SRP قيد التشغيل، وFALSE في الحالات الأخرى.
|
otSrpClientIsServiceKeyRecordEnabled
bool otSrpClientIsServiceKeyRecordEnabled( otInstance *aInstance )
يشير إلى ما إذا كان وضع "تضمين سجلّ مفتاح الخدمة" مفعَّلاً أو غير مفعَّل.
متاح عندما تكون إعدادات OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE
مفعَّلة.
التفاصيل | |||
---|---|---|---|
المَعلمات |
|
||
المرتجعات |
TRUE في حالة تمكين وضع "تضمين سجل مفتاح الخدمة"، وخطأ في الحالات الأخرى.
|
otSrpClientItemStateToString
const char * otSrpClientItemStateToString( otSrpClientItemState aItemState )
تحوِّل هذه الدالة otSrpClientItemState
إلى سلسلة.
التفاصيل | |||
---|---|---|---|
المَعلمات |
|
||
المرتجعات |
تمثيل سلسلة لـ
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
.
التفاصيل | |||||||
---|---|---|---|---|---|---|---|
المَعلمات |
|
||||||
قيم الإرجاع |
|
otSrpClientRemoveService
otError otSrpClientRemoveService( otInstance *aInstance, otSrpClientService *aService )
يطلب إلغاء تسجيل الخدمة في الخادم.
بعد نجاح استدعاء هذه الدالة، سيتم استدعاء otSrpClientCallback
للإبلاغ عن حالة طلب الإزالة من خلال خادم SRP.
يجب أن يستمر تشغيل مثيل otSrpClientService
الذي تتم الإشارة إليه من خلال aService
ويظل بدون تغيير بعد الرجوع من هذه الدالة (باستخدام OT_ERROR_NONE
). سيحتفظ OpenThread بمثيل الخدمة أثناء عملية الإزالة. لا يحدث ذلك إلا بعد طلب الرمز otSrpClientCallback
للإشارة إلى إزالة مثيل الخدمة من قائمة خدمات عميل SRP ويمكن إخلاء/إعادة استخدامه.
التفاصيل | |||||
---|---|---|---|---|---|
المَعلمات |
|
||||
قيم الإرجاع |
|
otSrpClientSetCallback
void otSrpClientSetCallback( otInstance *aInstance, otSrpClientCallback aCallback, void *aContext )
لضبط معاودة الاتصال لإعلام المتصل بالأحداث/التغييرات من عميل SRP.
يسمح عميل SRP بتسجيل معاودة اتصال واحدة. لذا، ستؤدي المكالمات المتتالية لهذه الدالة إلى استبدال أي وظائف استدعاء تم ضبطها في السابق.
التفاصيل | |||||||
---|---|---|---|---|---|---|---|
المَعلمات |
|
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
).
التفاصيل | |||||
---|---|---|---|---|---|
المَعلمات |
|
||||
قيم الإرجاع |
|
otSrpClientSetHostAddresses
otError otSrpClientSetHostAddresses( otInstance *aInstance, const otIp6Address *aIp6Addresses, uint8_t aNumAddresses )
يضبط/يحدِّث قائمة عنوان IPv6 المضيف.
يمكن ضبط/تغيير عناوين IPv6 للمضيف قبل بدء عميل SRP أو أثناء تشغيله (على سبيل المثال، إضافة/إزالة أو تغيير عنوان مضيف تم تسجيله سابقًا)، باستثناء عندما تتم إزالة معلومات المضيف (العميل مشغول بمعالجة طلب إزالة من مكالمة سابقة إلى otSrpClientRemoveHostAndServices()
ولا تزال معلومات المضيف إما في الحالة STATE_TO_REMOVE
أو STATE_REMOVING
).
يجب أن تظل مصفوفة عنوان IPv6 المضيفة المُشار إليها من خلال aIp6Addresses
بدون تغيير بعد الرجوع من هذه الدالة (باستخدام OT_ERROR_NONE
). سيحفظ OpenThread المؤشر في الصفيف.
بعد إجراء استدعاء ناجح لهذه الوظيفة، سيتم استدعاء otSrpClientCallback
للإبلاغ عن حالة تسجيل العنوان لدى خادم SRP.
يؤدي استدعاء هذه الدالة إلى إيقاف وضع عنوان المضيف التلقائي إذا كان قد سبق تفعيله من استدعاء ناجح إلى otSrpClientEnableAutoHostAddress()
.
التفاصيل | |||||||
---|---|---|---|---|---|---|---|
المَعلمات |
|
||||||
قيم الإرجاع |
|
otSrpClientSetHostName
otError otSrpClientSetHostName( otInstance *aInstance, const char *aName )
لضبط تصنيف اسم المضيف.
بعد إجراء استدعاء ناجح لهذه الوظيفة، سيتم استدعاء otSrpClientCallback
للإبلاغ عن حالة تسجيل معلومات المضيف لدى خادم SRP.
يجب أن يظل المخزن المؤقت لسلسلة الاسم المُشار إليه بـ aName
يبقى بدون تغيير بعد الرجوع من هذه الدالة. سيبقي OpenThread المؤشر على السلسلة.
يمكن ضبط اسم المضيف قبل بدء تشغيل البرنامج أو بعد البدء ولكن قبل تسجيل معلومات المضيف في الخادم (يجب أن تكون معلومات المضيف إما STATE_TO_ADD
أو STATE_REMOVED
).
التفاصيل | |||||||
---|---|---|---|---|---|---|---|
المَعلمات |
|
||||||
قيم الإرجاع |
|
otSrpClientSetKeyLeaseInterval
void otSrpClientSetKeyLeaseInterval( otInstance *aInstance, uint32_t aInterval )
تحدِّد هذه السياسة الفاصل الزمني التلقائي لإيجار المفتاح المستخدَم في طلبات تحديث SRP.
يتم استخدام الفاصل الزمني التلقائي فقط في مثيلات otSrpClientService
مع ضبط mKeyLease
على صفر.
لا يؤثر تغيير فترة التأجير على فترة الإيجار المقبولة للخدمات/معلومات المضيف المسجّلة مسبقًا، بل يؤثر فقط على أي رسائل مستقبلية لتحديث SRP (أي إضافة خدمات جديدة و/أو عمليات تحديث الخدمات الحالية).
التفاصيل | |||||
---|---|---|---|---|---|
المَعلمات |
|
otSrpClientSetLeaseInterval
void otSrpClientSetLeaseInterval( otInstance *aInstance, uint32_t aInterval )
تحدِّد هذه السياسة الفاصل الزمني التلقائي للإيجار المستخدَم في طلبات تحديث SRP.
يتم استخدام الفاصل الزمني التلقائي فقط في مثيلات otSrpClientService
مع ضبط mLease
على صفر.
لا يؤثر تغيير فترة التأجير على فترة الإيجار المقبولة للخدمات/معلومات المضيف المسجّلة مسبقًا، بل يؤثر فقط على أي رسائل مستقبلية لتحديث SRP (أي إضافة خدمات جديدة و/أو عمليات تحديث الخدمات الحالية).
التفاصيل | |||||
---|---|---|---|---|---|
المَعلمات |
|
otSrpClientSetServiceKeyRecordEnabled
void otSrpClientSetServiceKeyRecordEnabled( otInstance *aInstance, bool aEnabled )
يؤدي إلى تفعيل/إيقاف وضع "تضمين سجلّ مفتاح الخدمة".
عندما يكون هذا الخيار مفعَّلاً، سيتضمّن عميل SRP سجلاً رئيسيًا في تعليمات وصف الخدمة ضمن رسائل تحديث SRP التي يرسلها.
متاح عندما تكون إعدادات OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE
مفعَّلة.
التفاصيل | |||||
---|---|---|---|---|---|
المَعلمات |
|
otSrpClientSetTtl
void otSrpClientSetTtl( otInstance *aInstance, uint32_t aTtl )
يضبط قيمة TTL في كل سجل متضمن في طلبات تحديث SRP.
لا يؤثر تغيير مدة البقاء (TTL) في مدة البقاء (TTL) الخاصة بالخدمات/معلومات المضيف المسجَّلة، بل يؤثر فقط على رسائل تعديل SRP المستقبلية (أي إضافة خدمات جديدة و/أو عمليات إعادة تحميل الخدمات الحالية).
التفاصيل | |||||
---|---|---|---|---|---|
المَعلمات |
|
otSrpClientStart
otError otSrpClientStart( otInstance *aInstance, const otSockAddr *aServerSockAddr )
يبدأ عملية عميل SRP.
سيقوم عميل SRP بإعداد رسالة "تحديث SRP" وإرسالها إلى خادم SRP بمجرد استيفاء جميع الشروط التالية:
- تم بدء برنامج SRP - يتم الاتصال بـ
otSrpClientStart()
. - تم ضبط اسم المضيف - تمت تسمية
otSrpClientSetHostName()
. - تم ضبط عنوان IPv6 واحد للمضيف على الأقل، وتم استدعاء
otSrpClientSetHostName()
. - تمت إضافة خدمة واحدة على الأقل، وتم استدعاء "
otSrpClientAddService()
".
لا يهم ترتيب استدعاء هذه الدوال. عند استيفاء جميع الشروط، سينتظر عميل SRP الانتظار قليلاً قبل إعداد رسالة "تحديث SRP" وإرسالها إلى الخادم. ويسمح هذا التأخير للمستخدم بإضافة خدمات متعددة و/أو عناوين IPv6 قبل إرسال رسالة تحديث SRP الأولى (ضمان إرسال تحديث SRP واحد يحتوي على جميع المعلومات). تحدِّد إعدادات OPENTHREAD_CONFIG_SRP_CLIENT_UPDATE_TX_DELAY
الفاصل الزمني للتأخير.
التفاصيل | |||||||
---|---|---|---|---|---|---|---|
المَعلمات |
|
||||||
قيم الإرجاع |
|
otSrpClientStop
void otSrpClientStop( otInstance *aInstance )
يوقف عملية عميل SRP.
إيقاف أي تفاعلات أخرى مع خادم SRP. يُرجى العلم أنّ هذا الإجراء لا يؤدي إلى إزالة أو محو معلومات المضيف و/أو قائمة الخدمات. يضع علامة على جميع الخدمات لتتم إضافتها أو إزالتها مرة أخرى بعد إعادة بدء تشغيل العميل.
التفاصيل | |||
---|---|---|---|
المَعلمات |
|
otSrpServerGetAddressMode
otSrpServerAddressMode otSrpServerGetAddressMode( otInstance *aInstance )
تعرض وضع العنوان الذي يستخدمه خادم SRP.
التفاصيل | |||
---|---|---|---|
المَعلمات |
|
||
المرتجعات |
وضع عنوان خادم SRP.
|
otSrpServerGetAnycastModeSequenceNumber
uint8_t otSrpServerGetAnycastModeSequenceNumber( otInstance *aInstance )
يتم عرض رقم التسلسل المستخدم مع وضع عنوان البث العشوائي.
ويتم تضمين رقم التسلسل في إدخال "عنوان أي إرسال لخدمة نظام أسماء النطاقات/SRP" المنشور في "بيانات الشبكة".
التفاصيل | |||
---|---|---|---|
المَعلمات |
|
||
المرتجعات |
رقم تسلسل البث العشوائي.
|
otSrpServerGetDomain
const char * otSrpServerGetDomain( otInstance *aInstance )
لعرض النطاق المصرَّح به لخادم SRP.
إذا لم يتم ضبط النطاق من خلال SetDomain، سيتم عرض "default.service.arpa". يتم دائمًا إلحاق نقطة انتهاء حتى إذا تم تعيين النطاق بدونها.
التفاصيل | |||
---|---|---|---|
المَعلمات |
|
||
المرتجعات |
يشير هذا المصطلح إلى مؤشر لسلسلة النطاق المرتبط بنقطة.
|
otSrpServerGetLeaseConfig
void otSrpServerGetLeaseConfig( otInstance *aInstance, otSrpServerLeaseConfig *aLeaseConfig )
تعرض إعدادات LEASE وKEY-LEASE لخادم SRP.
التفاصيل | |||||
---|---|---|---|---|---|
المَعلمات |
|
otSrpServerGetNextHost
const otSrpServerHost * otSrpServerGetNextHost( otInstance *aInstance, const otSrpServerHost *aHost )
لعرض المضيف التالي المسجّل على خادم SRP.
التفاصيل | |||||
---|---|---|---|---|---|
المَعلمات |
|
||||
المرتجعات |
مؤشر يشير إلى المضيف المسجَّل. فارغ، إذا لم يتم العثور على مزيد من المضيفين.
|
otSrpServerGetPort
uint16_t otSrpServerGetPort( otInstance *aInstance )
تعرض المنفذ الذي يستمع إليه خادم SRP.
التفاصيل | |||
---|---|---|---|
المَعلمات |
|
||
المرتجعات |
منفذ خادم SRP. ويعرض 0 إذا كان الخادم لا يعمل.
|
otSrpServerGetResponseCounters
const otSrpServerResponseCounters * otSrpServerGetResponseCounters( otInstance *aInstance )
تعرض عدادات الاستجابة لخادم SRP.
التفاصيل | |||
---|---|---|---|
المَعلمات |
|
||
المرتجعات |
يشير هذا المصطلح إلى مؤشر لعدّات الاستجابة في خادم SRP.
|
otSrpServerGetState
otSrpServerState otSrpServerGetState( otInstance *aInstance )
تعرض حالة خادم SRP.
التفاصيل | |||
---|---|---|---|
المَعلمات |
|
||
المرتجعات |
الحالة الحالية لخادم SRP.
|
otSrpServerGetTtlConfig
void otSrpServerGetTtlConfig( otInstance *aInstance, otSrpServerTtlConfig *aTtlConfig )
لعرض إعداد مدة البقاء (TTL) لخادم SRP.
التفاصيل | |||||
---|---|---|---|---|---|
المَعلمات |
|
otSrpServerHandleServiceUpdateResult
void otSrpServerHandleServiceUpdateResult( otInstance *aInstance, otSrpServerServiceUpdateId aId, otError aError )
تبلغ نتيجة معالجة تحديث SRP إلى خادم SRP.
يجب أن يستدعي معالج تحديث الخدمة هذه الدالة لعرض نتيجة معالجتها لتحديث SRP.
التفاصيل | |||||||
---|---|---|---|---|---|---|---|
المَعلمات |
|
otSrpServerHostGetAddresses
const otIp6Address * otSrpServerHostGetAddresses( const otSrpServerHost *aHost, uint8_t *aAddressesNum )
لعرض عناوين المضيف المحدد.
التفاصيل | |||||
---|---|---|---|---|---|
المَعلمات |
|
||||
المرتجعات |
يشير هذا المصطلح إلى مؤشر إلى مجموعة عناوين IPv6.
|
otSrpServerHostGetFullName
const char * otSrpServerHostGetFullName( const otSrpServerHost *aHost )
تعرض الاسم الكامل للمضيف.
التفاصيل | |||
---|---|---|---|
المَعلمات |
|
||
المرتجعات |
مؤشر لسلسلة اسم المضيف التي تم إنهاؤها فارغة.
|
otSrpServerHostGetLeaseInfo
void otSrpServerHostGetLeaseInfo( const otSrpServerHost *aHost, otSrpServerLeaseInfo *aLeaseInfo )
لعرض معلومات LEASE وKEY-LEASE لمضيف معين.
التفاصيل | |||||
---|---|---|---|---|---|
المَعلمات |
|
otSrpServerHostGetNextService
const otSrpServerService * otSrpServerHostGetNextService( const otSrpServerHost *aHost, const otSrpServerService *aService )
لعرض الخدمة التالية للمضيف المحدد.
التفاصيل | |||||
---|---|---|---|---|---|
المَعلمات |
|
||||
المرتجعات |
مؤشر إلى الخدمة التالية أو فارغ في حال عدم وجود المزيد من الخدمات.
|
otSrpServerHostIsDeleted
bool otSrpServerHostIsDeleted( const otSrpServerHost *aHost )
لإعلام ما إذا كان قد تم حذف مضيف خدمة SRP.
يمكن حذف مضيف خدمة SRP، ولكن مع الاحتفاظ باسمه للاستخدامات المستقبلية. في هذه الحالة، لن تتم إزالة مثيل المضيف من خادم/قاعدة بيانات المسجّلين SRP.
التفاصيل | |||
---|---|---|---|
المَعلمات |
|
||
المرتجعات |
TRUE إذا تم حذف المضيف، وFALSE إذا لم يتم حذفه.
|
otSrpServerHostMatchesFullName
bool otSrpServerHostMatchesFullName( const otSrpServerHost *aHost, const char *aFullName )
يشير هذا العمود إلى ما إذا كان المضيف يتطابق مع اسم مضيف معيّن.
يتم تنفيذ تطابقات اسم نظام أسماء النطاقات باستخدام مقارنة سلسلة غير حساسة لحالة الأحرف (أي "Abc" و "aBc" يعتبران متطابقين).
التفاصيل | |||||
---|---|---|---|---|---|
المَعلمات |
|
||||
قيم الإرجاع |
|
otSrpServerIsAutoEnableMode
bool otSrpServerIsAutoEnableMode( otInstance *aInstance )
يشير إلى ما إذا كان وضع التفعيل التلقائي مفعَّلاً أو غير مفعَّل.
يجب توفّر ميزة OPENTHREAD_CONFIG_BORDER_ROUTING_ENABLE
.
التفاصيل | |||||
---|---|---|---|---|---|
المَعلمات |
|
||||
قيم الإرجاع |
|
otSrpServerParseSubTypeServiceName
otError otSrpServerParseSubTypeServiceName( const char *aSubTypeServiceName, char *aLabel, uint8_t aLabelSize )
تحليل اسم الخدمة من النوع الفرعي (الاسم الكامل) واستخراج تصنيف النوع الفرعي.
يتبع اسم الخدمة الكامل لأي خدمة من النوع الفرعي "
التفاصيل | |||||||
---|---|---|---|---|---|---|---|
المَعلمات |
|
||||||
قيم الإرجاع |
|
otSrpServerServiceGetHost
const otSrpServerHost * otSrpServerServiceGetHost( const otSrpServerService *aService )
لعرض المضيف الذي يتوفّر عليه مثيل الخدمة.
التفاصيل | |||
---|---|---|---|
المَعلمات |
|
||
المرتجعات |
مؤشر يشير إلى المثيل المضيف.
|
otSrpServerServiceGetInstanceLabel
const char * otSrpServerServiceGetInstanceLabel( const otSrpServerService *aService )
لعرض تصنيف مثيل الخدمة (التصنيف الأول في اسم المثيل) للخدمة.
التفاصيل | |||
---|---|---|---|
المَعلمات |
|
||
المرتجعات |
مؤشر لسلسلة تصنيف مثيل الخدمة التي تم إنهاؤها فارغة.
|
otSrpServerServiceGetInstanceName
const char * otSrpServerServiceGetInstanceName( const otSrpServerService *aService )
لعرض الاسم الكامل لمثيل الخدمة.
التفاصيل | |||
---|---|---|---|
المَعلمات |
|
||
المرتجعات |
مؤشر لسلسلة اسم مثيل الخدمة التي تم إنهاؤها بدون إدخال قيمة.
|
otSrpServerServiceGetLeaseInfo
void otSrpServerServiceGetLeaseInfo( const otSrpServerService *aService, otSrpServerLeaseInfo *aLeaseInfo )
لعرض معلومات LEASE وKEY-LEASE لخدمة معينة.
التفاصيل | |||||
---|---|---|---|---|---|
المَعلمات |
|
otSrpServerServiceGetNumberOfSubTypes
uint16_t otSrpServerServiceGetNumberOfSubTypes( const otSrpServerService *aService )
للحصول على عدد الأنواع الفرعية للخدمة.
التفاصيل | |||
---|---|---|---|
المَعلمات |
|
||
المرتجعات |
عدد الأنواع الفرعية من
aService . |
otSrpServerServiceGetPort
uint16_t otSrpServerServiceGetPort( const otSrpServerService *aService )
تعرض منفذ مثيل الخدمة.
التفاصيل | |||
---|---|---|---|
المَعلمات |
|
||
المرتجعات |
منفذ الخدمة.
|
otSrpServerServiceGetPriority
uint16_t otSrpServerServiceGetPriority( const otSrpServerService *aService )
لعرض أولوية مثيل الخدمة.
التفاصيل | |||
---|---|---|---|
المَعلمات |
|
||
المرتجعات |
أولوية الخدمة:
|
otSrpServerServiceGetServiceName
const char * otSrpServerServiceGetServiceName( const otSrpServerService *aService )
تعرض اسم الخدمة الكامل.
التفاصيل | |||
---|---|---|---|
المَعلمات |
|
||
المرتجعات |
مؤشر لسلسلة اسم الخدمة التي تم إنهاؤها فارغة.
|
otSrpServerServiceGetSubTypeServiceNameAt
const char * otSrpServerServiceGetSubTypeServiceNameAt( const otSrpServerService *aService, uint16_t aIndex )
الحصول على اسم النوع الفرعي للخدمة (الاسم الكامل) للخدمة في فهرس معيّن
يتبع اسم الخدمة الكامل لأي خدمة من النوع الفرعي "
التفاصيل | |||||
---|---|---|---|---|---|
المَعلمات |
|
||||
المرتجعات |
مؤشر لنوع فرعي من اسم الخدمة على
aIndex أو NULL إذا لم يكن هناك نوع فرعي في هذا الفهرس. |
otSrpServerServiceGetTtl
uint32_t otSrpServerServiceGetTtl( const otSrpServerService *aService )
تعرض مدة البقاء (TTL) لمثيل الخدمة.
التفاصيل | |||
---|---|---|---|
المَعلمات |
|
||
المرتجعات |
مدة البقاء (TTL) لمثيل الخدمة.
|
otSrpServerServiceGetTxtData
const uint8_t * otSrpServerServiceGetTxtData( const otSrpServerService *aService, uint16_t *aDataLength )
تعرض بيانات سجل TXT لمثيل الخدمة.
التفاصيل | |||||
---|---|---|---|---|---|
المَعلمات |
|
||||
المرتجعات |
مؤشر يشير إلى المخزن المؤقت الذي يحتوي على بيانات سجل TXT (يتم عرض طول بيانات TXT في
aDataLength ). |
otSrpServerServiceGetWeight
uint16_t otSrpServerServiceGetWeight( const otSrpServerService *aService )
لعرض وزن مثيل الخدمة.
التفاصيل | |||
---|---|---|---|
المَعلمات |
|
||
المرتجعات |
حجم الخدمة.
|
otSrpServerServiceHasSubTypeServiceName
bool otSrpServerServiceHasSubTypeServiceName( const otSrpServerService *aService, const char *aSubTypeServiceName )
يشير إلى ما إذا كانت الخدمة تتضمّن نوعًا فرعيًا معيّنًا أم لا.
يتم تنفيذ تطابقات اسم نظام أسماء النطاقات باستخدام مقارنة سلسلة غير حساسة لحالة الأحرف (أي "Abc" و "aBc" يعتبران متطابقين).
التفاصيل | |||||
---|---|---|---|---|---|
المَعلمات |
|
||||
قيم الإرجاع |
|
otSrpServerServiceIsDeleted
bool otSrpServerServiceIsDeleted( const otSrpServerService *aService )
يشير إلى ما إذا كان قد تم حذف خدمة SRP أم لا.
يمكن حذف خدمة SRP مع الاحتفاظ باسمها للاستخدامات المستقبلية. في هذه الحالة، لن تتم إزالة مثيل الخدمة من خادم/قاعدة بيانات المسجّلين SRP. ومن المضمون أن يتم حذف جميع الخدمات في حال حذف المضيف.
التفاصيل | |||
---|---|---|---|
المَعلمات |
|
||
المرتجعات |
TRUE إذا تم حذف الخدمة، وFALSE إذا لم يتم حذفها.
|
otSrpServerServiceMatchesInstanceName
bool otSrpServerServiceMatchesInstanceName( const otSrpServerService *aService, const char *aInstanceName )
يشير إلى ما إذا كانت هذه الخدمة تتطابق مع اسم مثيل خدمة معيّن.
يتم تنفيذ تطابقات اسم نظام أسماء النطاقات باستخدام مقارنة سلسلة غير حساسة لحالة الأحرف (أي "Abc" و "aBc" يعتبران متطابقين).
التفاصيل | |||||
---|---|---|---|---|---|
المَعلمات |
|
||||
قيم الإرجاع |
|
otSrpServerServiceMatchesServiceName
bool otSrpServerServiceMatchesServiceName( const otSrpServerService *aService, const char *aServiceName )
يشير العمود إلى ما إذا كانت هذه الخدمة تتطابق مع اسم خدمة معيّن.
يتم تنفيذ تطابقات اسم نظام أسماء النطاقات باستخدام مقارنة سلسلة غير حساسة لحالة الأحرف (أي "Abc" و "aBc" يعتبران متطابقين).
التفاصيل | |||||
---|---|---|---|---|---|
المَعلمات |
|
||||
قيم الإرجاع |
|
otSrpServerSetAddressMode
otError otSrpServerSetAddressMode( otInstance *aInstance, otSrpServerAddressMode aMode )
تحدِّد وضع العنوان الذي سيستخدمه خادم SRP.
التفاصيل | |||||
---|---|---|---|---|---|
المَعلمات |
|
||||
قيم الإرجاع |
|
otSrpServerSetAnycastModeSequenceNumber
otError otSrpServerSetAnycastModeSequenceNumber( otInstance *aInstance, uint8_t aSequenceNumber )
لضبط رقم التسلسل المستخدم مع وضع عنوان البث العشوائي.
التفاصيل | |||||
---|---|---|---|---|---|
المَعلمات |
|
||||
قيم الإرجاع |
|
otSrpServerSetAutoEnableMode
void otSrpServerSetAutoEnableMode( otInstance *aInstance, bool aEnabled )
لتفعيل/إيقاف وضع التفعيل التلقائي على خادم SRP.
يجب توفّر ميزة OPENTHREAD_CONFIG_BORDER_ROUTING_ENABLE
.
عندما يتم تفعيل هذا الوضع، يتحكم مدير التوجيه الحدودي في حال/متى يتم تفعيل خادم SRP أو إيقافه. يتم تفعيل مصدر SRP تلقائيًا في حال/عند بدء التوجيه الحدودي ويتم ذلك باستخدام إعدادات البادئة والمسار المبدئية (عند تحديد العمليات التشغيلية المتبادلة والبادئات على الرابط، والإعلان عنها في رسالة إعلان جهاز التوجيه الصادرة على جانب البنية الأساسية، ونشرها في بيانات شبكة Thread). يتم إيقاف خادم SRP تلقائيًا في حال/عند إيقاف BR (على سبيل المثال، في حال تعطُّل واجهة شبكة البنية الأساسية أو فصل BR).
يمكن إيقاف هذا الوضع من خلال استدعاء otSrpServerSetAutoEnableMode()
مع ضبط aEnabled
على false
أو إذا تم تفعيل خادم SRP أو إيقافه صراحةً من خلال استدعاء الدالة otSrpServerSetEnabled()
. لن يؤدي إيقاف وضع التفعيل التلقائي باستخدام otSrpServerSetAutoEnableMode(false)
إلى تغيير الحالة الحالية لخادم SRP (مثلاً، إذا كان مفعّلاً، سيظل مفعَّلاً).
التفاصيل | |||||
---|---|---|---|---|---|
المَعلمات |
|
otSrpServerSetDomain
otError otSrpServerSetDomain( otInstance *aInstance, const char *aDomain )
يضبط النطاق على خادم SRP.
سيتم إلحاق نقطة انتهاء بالحقل aDomain
إذا لم تكن هناك. ينبغي طلبها فقط قبل تمكين خادم SRP.
التفاصيل | |||||||||
---|---|---|---|---|---|---|---|---|---|
المَعلمات |
|
||||||||
قيم الإرجاع |
|
otSrpServerSetEnabled
void otSrpServerSetEnabled( otInstance *aInstance, bool aEnabled )
لتفعيل/إيقاف خادم SRP.
ننصح باستخدام otSrpServerSetAutoEnableMode()
بدلاً من ذلك على جهاز التوجيه الحدودي.
التفاصيل | |||||
---|---|---|---|---|---|
المَعلمات |
|
otSrpServerSetLeaseConfig
otError otSrpServerSetLeaseConfig( otInstance *aInstance, const otSrpServerLeaseConfig *aLeaseConfig )
لضبط إعدادات LEASE وKEY-LEASE لخادم SRP.
عندما يطلب أحد العملاء وقت LEASE غير صفري، ستكون القيمة الممنوحة محدودة في النطاق [aMinLease أو aMaxLease]، فيما سيتم منح KEY-LEASE غير صفري في النطاق [aMinKeyLease, aMaxKeyLease]. في حال عدم استخدام LEASE أو KEY-LEASE، سيتم منح صفر.
التفاصيل | |||||
---|---|---|---|---|---|
المَعلمات |
|
||||
قيم الإرجاع |
|
otSrpServerSetServiceUpdateHandler
void otSrpServerSetServiceUpdateHandler( otInstance *aInstance, otSrpServerServiceUpdateHandler aServiceHandler, void *aContext )
تحدِّد هذه السياسة معالج تحديثات خدمة SRP على خادم SRP.
التفاصيل | |||||||
---|---|---|---|---|---|---|---|
المَعلمات |
|
otSrpServerSetTtlConfig
otError otSrpServerSetTtlConfig( otInstance *aInstance, const otSrpServerTtlConfig *aTtlConfig )
تضبط هذه السياسة إعدادات مدة البقاء (TTL) لخادم SRP.
لن تكون مدة TTL الممنوحة أكبر من الحد الأقصى لفاصل الإيجار الذي تم إعداده من خلال otSrpServerSetLeaseConfig()
، وذلك بغض النظر عن الحد الأدنى والأقصى لإعدادات TTL.
التفاصيل | |||||
---|---|---|---|---|---|
المَعلمات |
|
||||
قيم الإرجاع |
|
المراجِع
تنشأ المواضيع المرجعية لواجهة برمجة تطبيقات OpenThread من رمز المصدر المتاح على GitHub. للحصول على مزيد من المعلومات أو للمساهمة في مستنداتنا، يمكنك الاطّلاع على المراجع.