نسبة الظهور في الوقت الفعلي (SRP)

تتضمن هذه الوحدة وظائف تتحكم في سلوك عميل SRP.

الملخّص

تشمل هذه الوحدة وظائف بروتوكول تسجيل الخدمة.

تشمل هذه الوحدة وظائف مخازن SRP العميل وتجميع الخدمة.

لا تتوفر الدوال في هذه الوحدة إلا في حالة تفعيل الميزة PHONEWORD_CONFIG_SRP_CLIENT_BUFFERS_ENABLE.

التعدادات

anonymous enum{
  OT_SRP_SERVER_SERVICE_FLAG_BASE_TYPE = 1 << 0,
  OT_SRP_SERVER_SERVICE_FLAG_SUB_TYPE = 1 << 1,
  OT_SRP_SERVER_SERVICE_FLAG_ACTIVE = 1 << 2,
  OT_SRP_SERVER_SERVICE_FLAG_DELETED = 1 << 3
}
تعداد
anonymous enum{
  OT_SRP_SERVER_FLAGS_ANY_SERVICE = (OT_SRP_SERVER_SERVICE_FLAG_BASE_TYPE | OT_SRP_SERVER_SERVICE_FLAG_SUB_TYPE | OT_SRP_SERVER_SERVICE_FLAG_ACTIVE | OT_SRP_SERVER_SERVICE_FLAG_DELETED),
  OT_SRP_SERVER_FLAGS_BASE_TYPE_SERVICE_ONLY = (OT_SRP_SERVER_SERVICE_FLAG_BASE_TYPE | OT_SRP_SERVER_SERVICE_FLAG_ACTIVE | OT_SRP_SERVER_SERVICE_FLAG_DELETED),
  OT_SRP_SERVER_FLAGS_SUB_TYPE_SERVICE_ONLY = (OT_SRP_SERVER_SERVICE_FLAG_SUB_TYPE | OT_SRP_SERVER_SERVICE_FLAG_ACTIVE | OT_SRP_SERVER_SERVICE_FLAG_DELETED),
  OT_SRP_SERVER_FLAGS_ANY_TYPE_ACTIVE_SERVICE = (OT_SRP_SERVER_SERVICE_FLAG_BASE_TYPE | OT_SRP_SERVER_SERVICE_FLAG_SUB_TYPE | OT_SRP_SERVER_SERVICE_FLAG_ACTIVE),
  OT_SRP_SERVER_FLAGS_ANY_TYPE_DELETED_SERVICE = (OT_SRP_SERVER_SERVICE_FLAG_BASE_TYPE | OT_SRP_SERVER_SERVICE_FLAG_SUB_TYPE | OT_SRP_SERVER_SERVICE_FLAG_ACTIVE)
}
تعداد
otSrpClientItemState{
  OT_SRP_CLIENT_ITEM_STATE_TO_ADD,
  OT_SRP_CLIENT_ITEM_STATE_ADDING,
  OT_SRP_CLIENT_ITEM_STATE_TO_REFRESH,
  OT_SRP_CLIENT_ITEM_STATE_REFRESHING,
  OT_SRP_CLIENT_ITEM_STATE_TO_REMOVE,
  OT_SRP_CLIENT_ITEM_STATE_REMOVING,
  OT_SRP_CLIENT_ITEM_STATE_REGISTERED,
  OT_SRP_CLIENT_ITEM_STATE_REMOVED
}
تعداد
تحدِّد هذه القائمة حالة عنصر عميل SRP (معلومات الخدمة أو المضيف).
otSrpServerAddressMode{
  OT_SRP_SERVER_ADDRESS_MODE_UNICAST = 0,
  OT_SRP_SERVER_ADDRESS_MODE_ANYCAST = 1
}
تعداد
يمثل هذا العدد وضع الوضع الذي يستخدمه خادم SRP.
otSrpServerState{
  OT_SRP_SERVER_STATE_DISABLED = 0,
  OT_SRP_SERVER_STATE_RUNNING = 1,
  OT_SRP_SERVER_STATE_STOPPED = 2
}
تعداد
يمثل حالة خادم SRP.

مواقد الخط

otSrpClientAutoStartCallback)(const otSockAddr *aServerSockAddr, void *aContext) مَعلمة typetype
void(*
يحدّد نوع مؤشر الدالة هذا معاودة الاتصال التي يستخدمها برنامج SRP لإعلام المستخدم عند بدء تشغيله تلقائيًا أو إيقافه.
otSrpClientBuffersServiceEntry مَعلمة typetype
تمثل هذه البنية إدخالاً لمجموعة خدمة عملاء SRP.
otSrpClientCallback)(otError aError, const otSrpClientHostInfo *aHostInfo, const otSrpClientService *aServices, const otSrpClientService *aRemovedServices, void *aContext) مَعلمة typetype
void(*
يحدّد نوع مؤشر الوظائف هذا معاودة الاتصال التي يستخدمها برنامج SRP لإعلام المستخدم بالتغييرات/الأحداث/الأخطاء.
otSrpClientHostInfo مَعلمة typetype
تمثل هذه البنية معلومات مضيف عميل SRP.
otSrpClientService مَعلمة typetype
تمثل هذه البنية خدمة عميل SRP.
otSrpServerAddressMode مَعلمة typetype
يمثل هذا العدد وضع الوضع الذي يستخدمه خادم SRP.
otSrpServerHost مَعلمة typetype
ويمثّل هذا النوع غير الشفاف مضيف خدمة SRP.
otSrpServerLeaseConfig مَعلمة typetype
تتضمن هذه البنية عمليات ضبط خادم SRP LEASE وKEY-LEASE.
otSrpServerService مَعلمة typetype
يمثل هذا النوع معتم خدمة SRP.
otSrpServerServiceFlags مَعلمة typetype
uint8_t
نوع علامة الخدمة للإشارة إلى الخدمات المطلوب تضمينها أو استبعادها عند البحث في قائمة خدمات SRP أو (تكرارها)
otSrpServerServiceUpdateHandler)(otSrpServerServiceUpdateId aId, const otSrpServerHost *aHost, uint32_t aTimeout, void *aContext) مَعلمة typetype
void(*
تتعامل هذه الدالة مع تحديثات خدمة SRP.
otSrpServerServiceUpdateId مَعلمة typetype
uint32_t
الرقم التعريفي لمعاملة تحديث خدمة SRP على خادم 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
وتؤدي هذه الوظيفة إلى إيقاف وضع التشغيل التلقائي.
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)
تحصل هذه الدالة على قائمة الخدمات التي يديرها العميل.
otSrpClientIsAutoStartModeEnabled(otInstance *aInstance)
bool
تشير هذه الدالة إلى الحالة الحالية لوضع التشغيل التلقائي (مفعّلة أو غير مفعّلة).
otSrpClientIsRunning(otInstance *aInstance)
bool
تشير هذه الدالة إلى ما إذا كان عميل SRP قيد التشغيل أم لا.
otSrpClientIsServiceKeyRecordEnabled(otInstance *aInstance)
bool
تشير هذه الطريقة إلى ما إذا كان وضع "تضمين سجلّ الخدمة" مفعّلاً أو موقوفًا.
otSrpClientItemStateToString(otSrpClientItemState aItemState)
const char *
تحوِّل هذه الدالة otSrpClientItemState إلى سلسلة.
otSrpClientRemoveHostAndServices(otInstance *aInstance, bool aRemoveKeyLease, bool aSendUnregToServer)
تبدأ هذه الوظيفة عملية إزالة معلومات المضيف وجميع الخدمات.
otSrpClientRemoveService(otInstance *aInstance, otSrpClientService *aService)
تطلب هذه الدالة إلغاء تسجيل خدمة مع الخادم.
otSrpClientSetCallback(otInstance *aInstance, otSrpClientCallback aCallback, void *aContext)
void
تضبط هذه الدالة رد الاتصال لإشعار المتصل بالأحداث/التغييرات من برنامج SRP.
otSrpClientSetDomainName(otInstance *aInstance, const char *aName)
تحدد هذه الدالة اسم النطاق لاستخدامه في برنامج SRP.
otSrpClientSetHostAddresses(otInstance *aInstance, const otIp6Address *aIp6Addresses, uint8_t aNumAddresses)
تعمل هذه الدالة على إعداد/تعديل قائمة عناوين IPv6 للمضيف.
otSrpClientSetHostName(otInstance *aInstance, const char *aName)
تحدد هذه الدالة تصنيف اسم المضيف.
otSrpClientSetKeyLeaseInterval(otInstance *aInstance, uint32_t aInterval)
void
تحدد هذه الدالة الفاصل الزمني لتأجير المفاتيح المستخدم في طلبات تحديث SRP.
otSrpClientSetLeaseInterval(otInstance *aInstance, uint32_t aInterval)
void
تحدد هذه الدالة الفاصل الزمني للتأجير المستخدم في طلبات تحديث SRP.
otSrpClientSetServiceKeyRecordEnabled(otInstance *aInstance, bool aEnabled)
void
تتيح هذه الوظيفة تفعيل/إيقاف وضع "تضمين سجلّ الخدمة".
otSrpClientStart(otInstance *aInstance, const otSockAddr *aServerSockAddr)
تبدأ هذه الدالة عملية عميل SRP.
otSrpClientStop(otInstance *aInstance)
void
توقف هذه الدالة تشغيل عملية عميل SRP.
otSrpServerGetAddressMode(otInstance *aInstance)
تعرض هذه الدالة وضع العنوان الذي يستخدمه خادم SRP.
otSrpServerGetAnycastModeSequenceNumber(otInstance *aInstance)
uint8_t
تعرض هذه الدالة رقم التسلسل المستخدم مع وضع عنوان الإرسال.
otSrpServerGetDomain(otInstance *aInstance)
const char *
تعرض هذه الدالة النطاق المُصرّح به لخادم SRP.
otSrpServerGetLeaseConfig(otInstance *aInstance, otSrpServerLeaseConfig *aLeaseConfig)
void
تعرض هذه الدالة عمليات إعداد SRP LEASE وKEY-LEASE.
otSrpServerGetNextHost(otInstance *aInstance, const otSrpServerHost *aHost)
const otSrpServerHost *
تعرض هذه الدالة المضيف المُسجِّل التالي على خادم SRP.
otSrpServerGetState(otInstance *aInstance)
تعرض هذه الدالة حالة خادم SRP.
otSrpServerHandleServiceUpdateResult(otInstance *aInstance, otSrpServerServiceUpdateId aId, otError aError)
void
تشير هذه الدالة إلى نتيجة معالجة تحديث SRP لخادم SRP.
otSrpServerHostFindNextService(const otSrpServerHost *aHost, const otSrpServerService *aPrevService, otSrpServerServiceFlags aFlags, const char *aServiceName, const char *aInstanceName)
تبحث هذه الدالة عن خدمة المطابقة التالية على المضيف.
otSrpServerHostGetAddresses(const otSrpServerHost *aHost, uint8_t *aAddressesNum)
const otIp6Address *
تعرض هذه الدالة عناوين المضيف المحدّد.
otSrpServerHostGetFullName(const otSrpServerHost *aHost)
const char *
تعرض هذه الدالة الاسم الكامل للمضيف.
otSrpServerHostGetNextService(const otSrpServerHost *aHost, const otSrpServerService *aService)
تعرض هذه الدالة الخدمة التالية (باستثناء أي خدمات من نوع فرعي) للمضيف المحدد.
otSrpServerHostIsDeleted(const otSrpServerHost *aHost)
bool
تخبرك هذه الدالة ما إذا تم حذف مضيف خدمة SRP.
otSrpServerServiceGetFullName(const otSrpServerService *aService)
const char *
تعرض هذه الدالة اسم النسخة الكاملة للخدمة من الخدمة.
otSrpServerServiceGetHost(const otSrpServerService *aService)
const otSrpServerHost *
تعرض هذه الدالة المضيف الذي يتوفّر به مثيل الخدمة.
otSrpServerServiceGetInstanceName(const otSrpServerService *aService)
const char *
تعرض هذه الدالة اسم النسخة الكاملة للخدمة من الخدمة.
otSrpServerServiceGetPort(const otSrpServerService *aService)
uint16_t
تعرض هذه الدالة منفذ نسخة الخدمة.
otSrpServerServiceGetPriority(const otSrpServerService *aService)
uint16_t
تعرض هذه الدالة أولوية مثال الخدمة.
otSrpServerServiceGetServiceName(const otSrpServerService *aService)
const char *
تعرض هذه الدالة اسم الخدمة الكامل للخدمة.
otSrpServerServiceGetServiceSubTypeLabel(const otSrpServerService *aService, char *aLabel, uint8_t aMaxSize)
تحصل هذه الدالة على تصنيف النوع الفرعي من اسم الخدمة.
otSrpServerServiceGetTxtData(const otSrpServerService *aService, uint16_t *aDataLength)
const uint8_t *
تعرض هذه الدالة بيانات سجلّ TXT لمثيل الخدمة.
otSrpServerServiceGetWeight(const otSrpServerService *aService)
uint16_t
تعرض هذه الدالة وزن مثيل الخدمة.
otSrpServerServiceIsDeleted(const otSrpServerService *aService)
bool
تشير هذه الدالة إلى ما إذا تم حذف خدمة SRP أم لا.
otSrpServerServiceIsSubType(const otSrpServerService *aService)
bool
تشير هذه الدالة إلى ما إذا كانت خدمة SRP من النوع الفرعي أم لا.
otSrpServerSetAddressMode(otInstance *aInstance, otSrpServerAddressMode aMode)
تحدد هذه الدالة وضع العنوان لكي يستخدمه خادم SRP.
otSrpServerSetAnycastModeSequenceNumber(otInstance *aInstance, uint8_t aSequenceNumber)
تحدّد هذه الدالة رقم التسلسل المستخدَم في وضع عنوان الإرسال.
otSrpServerSetDomain(otInstance *aInstance, const char *aDomain)
تحدد هذه الدالة النطاق على خادم SRP.
otSrpServerSetEnabled(otInstance *aInstance, bool aEnabled)
void
تعمل هذه الدالة على تفعيل/إيقاف خادم SRP.
otSrpServerSetLeaseConfig(otInstance *aInstance, const otSrpServerLeaseConfig *aLeaseConfig)
توجِّه هذه الدالة عمليات ضبط خادم SRP LEASE وKEY-LEASE.
otSrpServerSetServiceUpdateHandler(otInstance *aInstance, otSrpServerServiceUpdateHandler aServiceHandler, void *aContext)
void
توجِّه هذه الدالة معالج تحديثات خدمة SRP على خادم SRP.

التشريعات

otSrpClientBuffersServiceEntry

تمثل هذه البنية إدخالاً لمجموعة خدمة عملاء SRP.

otSrpClientHostInfo

تمثل هذه البنية معلومات مضيف عميل SRP.

otSrpClientService

تمثل هذه البنية خدمة عميل SRP.

otSrpServerLeaseConfig

تتضمن هذه البنية عمليات ضبط خادم SRP LEASE وKEY-LEASE.

التعدادات

عدد مجهول

 anonymous enum
المنشآت الفندقية
OT_SRP_SERVER_SERVICE_FLAG_ACTIVE

تتضمن خدمات نشطة (غير محذوفة).

OT_SRP_SERVER_SERVICE_FLAG_BASE_TYPE

تضمين الخدمات الأساسية (ليس نوعًا فرعيًا).

OT_SRP_SERVER_SERVICE_FLAG_DELETED

تتضمن الخدمات المحذوفة.

OT_SRP_SERVER_SERVICE_FLAG_SUB_TYPE

ضمِّن خدمات من النوع الفرعي.

عدد مجهول

 anonymous enum
المنشآت الفندقية
OT_SRP_SERVER_FLAGS_ANY_SERVICE

يعرّف هذا الثابت مجموعة otSrpServerServiceFlags التي تقبل أي خدمة (القاعدة/النوع الفرعي، نشطة/محذوفة).

OT_SRP_SERVER_FLAGS_ANY_TYPE_ACTIVE_SERVICE

يُعرّف هذا الثابت مجموعة otSrpServerServiceFlags التي تقبل أي خدمة نشطة (غير محذوفة).

OT_SRP_SERVER_FLAGS_ANY_TYPE_DELETED_SERVICE

يُعرّف هذا الثابت تركيبة otSrpServerServiceFlags تقبل أي خدمة محذوفة.

OT_SRP_SERVER_FLAGS_BASE_TYPE_SERVICE_ONLY

يُعرِّف هذا الثابت مجموعة otSrpServerServiceFlags التي تقبل الخدمة الأساسية فقط.

OT_SRP_SERVER_FLAGS_SUB_TYPE_SERVICE_ONLY

يعرّف هذا الثابت مجموعة otSrpServerServiceFlags التي تقبل خدمة الأنواع الفرعية فقط.

otSrpClientItemState

 otSrpClientItemState

تحدِّد هذه القائمة حالة عنصر عميل SRP (معلومات الخدمة أو المضيف).

المنشآت الفندقية
OT_SRP_CLIENT_ITEM_STATE_ADDING

تتم إضافة/تسجيل العنصر.

OT_SRP_CLIENT_ITEM_STATE_REFRESHING

تتم إعادة تحميل العنصر.

OT_SRP_CLIENT_ITEM_STATE_REGISTERED

تم تسجيل العنصر في الخادم.

OT_SRP_CLIENT_ITEM_STATE_REMOVED

تمت إزالة السلعة.

OT_SRP_CLIENT_ITEM_STATE_REMOVING

جارٍ إزالة العنصر.

OT_SRP_CLIENT_ITEM_STATE_TO_ADD

العنصر الذي ستتم إضافته/تسجيله

OT_SRP_CLIENT_ITEM_STATE_TO_REFRESH

ستتم إعادة تحميل العنصر (عليك إعادة التسجيل لتجديد العقد).

OT_SRP_CLIENT_ITEM_STATE_TO_REMOVE

العنصر الذي ستتم إزالته.

otSrpServerAddressMode

 otSrpServerAddressMode

يمثل هذا العدد وضع الوضع الذي يستخدمه خادم SRP.

يحدّد "وضع العنوان" كيفية تحديد العنوان ورقم المنفذ بواسطة خادم SRP وكيفية نشر هذه المعلومات في بيانات شبكة سلاسل المحادثات.

المنشآت الفندقية
OT_SRP_SERVER_ADDRESS_MODE_ANYCAST

وضع عنوان أي بث.

OT_SRP_SERVER_ADDRESS_MODE_UNICAST

وضع عنوان 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 إما قيد التشغيل أو الإيقاف تلقائيًا.

التفاصيل
المعلَمات
[in] aServerSockAddr
يشير المؤشر "غير فارغ" إلى أنه تم بدء خادم SRP وسيعطي المؤشر عنوان مقبس الخادم المحدد. يشير المؤشر "خالٍ" إلى توقف خادم SRP.
[in] aContext
مؤشر إلى سياق عشوائي (يتم تقديمه عند تسجيل رد الاتصال).

otSrpClientBuffersServiceEntry

struct otSrpClientBuffersServiceEntry otSrpClientBuffersServiceEntry

تمثل هذه البنية إدخالاً لمجموعة خدمة عملاء SRP.

otSrpClientCallback

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

يحدّد نوع مؤشر الوظائف هذا معاودة الاتصال التي يستخدمها برنامج SRP لإعلام المستخدم بالتغييرات/الأحداث/الأخطاء.

يتم استدعاء معاودة الاتصال هذه عند تسجيل تحديث ناجح (أي إضافة/إزالة معلومات المضيف و/أو بعض الخدمات) باستخدام خادم SRP، أو في حال حدوث خطأ أو خطأ (على سبيل المثال، رفض الخادم تحديثًا). تنتهي مهلة الطلب أو العميل في انتظار الرد وغير ذلك).

وفي حال إعادة تسجيل تحديث بنجاح، سيتم معلمة aError OT_ERROR_NONE وتكون معلومات المضيف وقائمة الخدمات الكاملة هي معلَمات إدخال لمعاودة الاتصال. يُرجى العِلم بأنّ كل من معلومات وخدمات المضيف تتتبّع حالتها الخاصة في متغيّر عضو mState المقابل لبنية البيانات ذات الصلة (الولاية التي تشير إلى ما إذا كان المضيف/معلومات/الخدمة مسجّلة أو تمت إزالتها أو لا تزال تتم إضافتها/إزالتها، وما إلى ذلك).

يتم تمرير قائمة الخدمات المُزالة كقائمة مرتبطة خاصة بها aRemovedServices في معاودة الاتصال. تجدر الإشارة إلى أنه عند استدعاء معاودة الاتصال، يتم تنفيذ برنامج SRP (تنفيذ Openthread) مع مثيلات الخدمة المُدرجة فيaRemovedServices ولم يعد يتتبّع/يخزنها (أي إذا طلبنا من معاودة الاتصالotSrpClientGetServices() الخدمات التي تمت إزالتها لن تكون موجودة في القائمة التي يتم إرجاعها). يساعد تقديم قائمة منفصلة من الخدمات التي تمت إزالتها في معاودة الاتصال على الإشارة إلى العناصر التي تمت إزالتها الآن والسماح للمستخدم بإعادة المطالبة/إعادة استخدام الحالات.

إذا رفض الخادم طلب تحديث SRP، يتم ربط رمز استجابة نظام أسماء النطاقات (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 بعض RRset التي كان يجب أن تكون موجودة، غير موجودة -> OT_ERROR_NOT_FOUND
  • (9) خدمة NOTAUTH غير موثوقة للمنطقة -> OT_ERROR_ Security
  • (10) NOTZONE A اسم غير موجود في المنطقة -> OT_ERROR_PARSE
  • (20) اسم غير صالح لـ BADNAME -> OT_ERROR_PARSE
  • (21) خوارزمية BADALG غير صالحة -> OT_ERROR_Security
  • (22) BADTRUN Bad اقتطاع -> OT_ERROR_PARSE
  • رموز الاستجابة الأخرى -> OT_ERROR_FAILED

قد تحدث الأخطاء التالية أيضًا:

  • OT_ERROR_RESPONSE_TIMEOUT : انتهت مهلة انتظار الرد من الخادم (سيواصل العميل إعادة المحاولة).
  • OT_ERROR_INVALID_ARGS : بنية الخدمة المقدمة غير صالحة (مثل اسم الخدمة غير الصحيح أو otDnsTxtEntry).
  • OT_ERROR_NO_BUFS : المخزن المؤقت غير كافٍ لإعداد رسالة التحديث أو إرسالها.

تجدر الإشارة إلى أنه في حالة حدوث أي فشل، يواصل العميل العملية، أي يستعد و (يعيد) إرسال رسالة تحديث SRP إلى الخادم، بعد بعض الفاصل الزمني للانتظار. يبدأ الفاصل الزمني لإعادة المحاولة من الحد الأدنى للقيمة، وتتم زيادته من خلال عامل النمو مع كل إخفاق حتى الحد الأقصى للقيمة (يُرجى الاطّلاع على معلمة الإعداد OPENTHREAD_CONFIG_SRP_CLIENT_MIN_RETRY_WAIT_INTERVAL والمعلمات ذات الصلة للحصول على المزيد من التفاصيل).

التفاصيل
المعلَمات
[in] aError
الخطأ (انظر أعلاه).
[in] aHostInfo
مؤشر لاستضافة المعلومات
[in] aServices
عنوان القائمة المرتبطة التي تحتوي على جميع الخدمات (باستثناء الخدمات التي تمت إزالتها). فارغ إذا كانت القائمة فارغة.
[in] aRemovedServices
عنوان القائمة المرتبطة التي تحتوي على جميع الخدمات التي تمت إزالتها. فارغ إذا كانت القائمة فارغة.
[in] aContext
مؤشر إلى سياق عشوائي (يتم تقديمه عند تسجيل رد الاتصال).

otSrpClientHostInfo

struct otSrpClientHostInfo otSrpClientHostInfo

تمثل هذه البنية معلومات مضيف عميل SRP.

otSrpClientService

struct otSrpClientService otSrpClientService

تمثل هذه البنية خدمة عميل SRP.

يجب أن تظل القيم في هذه البنية، بما في ذلك مخازن السلسلة للأسماء وإدخالات سجل TXT، ثابتة وثابتة بعد تمرير مثيل هذه البنية إلى Openthread من otSrpClientAddService() أو otSrpClientRemoveService().

otSrpServerAddressMode

enum otSrpServerAddressMode otSrpServerAddressMode

يمثل هذا العدد وضع الوضع الذي يستخدمه خادم SRP.

يحدّد "وضع العنوان" كيفية تحديد العنوان ورقم المنفذ بواسطة خادم SRP وكيفية نشر هذه المعلومات في بيانات شبكة سلاسل المحادثات.

otSrpServerHost

struct otSrpServerHost otSrpServerHost

ويمثّل هذا النوع غير الشفاف مضيف خدمة SRP.

otSrpServerLeaseConfig

struct otSrpServerLeaseConfig otSrpServerLeaseConfig

تتضمن هذه البنية عمليات ضبط خادم SRP LEASE وKEY-LEASE.

otSrpServerService

struct otSrpServerService otSrpServerService

يمثل هذا النوع معتم خدمة SRP.

otSrpServerServiceFlags

uint8_t otSrpServerServiceFlags

نوع علامة الخدمة للإشارة إلى الخدمات المطلوب تضمينها أو استبعادها عند البحث في قائمة خدمات SRP أو (تكرارها)

هذه مجموعة من علامات البت. يتم تعريف علامات البت الخاصة في التعداد العددي OT_SRP_SERVER_FLAG_*.

otSrpServerServiceUpdateHandler

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

تتعامل هذه الدالة مع تحديثات خدمة SRP.

يُطلق على هذه الوظيفة اسم خادم SRP لإعلام أنه يتم تحديث مضيف SRP وربما خدمات SRP. من المهم ألا يتم الالتزام بتحديثات 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.

الدوال

otSrpClientAddService

otError otSrpClientAddService(
  otInstance *aInstance,
  otSrpClientService *aService
)

تضيف هذه الوظيفة خدمةً ليتم تسجيلها مع الخادم.

بعد إجراء استدعاء ناجح لهذه الدالة، سيتم استدعاء otSrpClientCallback للإبلاغ عن حالة إضافة/تسجيل الخدمة باستخدام خادم SRP.

يجب أن يظل المثال otSrpClientService الذي يتم الإشارة إليه من قِبل aService ساريًا بدون تغيير، بعد الرجوع من هذه الدالة (باستخدام OT_ERROR_NONE). ستحفظ Openthread المؤشر على مثيل الخدمة.

لم يعد يتم تتبّع مثيل otSrpClientService من خلال Openthread ولا يمكن استرداده إلا عند

  • وتتم إزالته بشكل صريح من خلال استدعاء إلى otSrpClientRemoveService() أو تتم إزالته إلى جانب خدمات أخرى من خلال استدعاء otSrpClientRemoveHostAndServices() and only after theotSrpClientCallback` يشير إلى أنه تمت إزالة الخدمة. أو
  • استدعاء إلى 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 على "فارغ" (يتم التعامل مع القيمة على أنها مُشفَّرة من قبل).
  • سيشير mTxtEntry.mValue إلى مخزن مؤقت مخصص يمكن استرداده باستخدام الدالة otSrpClientBuffersGetServiceEntryTxtBuffer().
  • تم ضبط mTxtEntry.mValueLength على صفر.
  • يتم محو جميع البيانات المخزّنة مؤقتًا والمصفوفات ذات الصلة إلى كل الصفر.

التفاصيل
المعلَمات
[in] aInstance
مؤشر إلى مثيل OpenThread.
طلبات الإرجاع
مؤشر لإدخال الخدمة المخصص حديثًا أو فارغ إذا لم يتوفر إدخال آخر في المجموعة.

otSrpClientBuffersFreeAllServices

void otSrpClientBuffersFreeAllServices(
  otInstance *aInstance
)

توفّر هذه الدالة جميع إدخالات الخدمات التي تم تخصيصها سابقًا.

التفاصيل
المعلَمات
[in] aInstance
مؤشر إلى مثيل OpenThread.

otSrpClientBuffersFreeService

void otSrpClientBuffersFreeService(
  otInstance *aInstance,
  otSrpClientBuffersServiceEntry *aService
)

توفّر هذه الدالة إدخال خدمة مخصَّصًا سابقًا.

يجب أن يكون قد تم تخصيص aService في السابق باستخدام otSrpClientBuffersAllocateService() ولم يتم إخلاؤه بعد. ويكون سلوك هذه الدالة غير محدد.

التفاصيل
المعلَمات
[in] aInstance
مؤشر إلى مثيل OpenThread.
[in] aService
مؤشر إلى إدخال الخدمة مجانًا (يجب ألا يكون فارغًا).

otSrpClientBuffersGetHostAddressesArray

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

تحصل هذه الدالة على مصفوفة من إدخالات عنوان IPv6 لاستخدامها كقائمة عناوين مضيف عميل SRP.

التفاصيل
المعلَمات
[in] aInstance
مؤشر إلى مثيل OpenThread.
[out] aArrayLength
أشِر إلى متغيّر لعرض طول المصفوفة، أي عدد إدخالات عنوان IPv6 في المصفوفة (يجب ألا يكون فارغًا).
طلبات الإرجاع
مؤشر إلى مصفوفة من إدخالات otIp6Address (يتم عرض عدد الإدخالات في aArrayLength).

otSrpClientBuffersGetHostNameString

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

تحصل هذه الدالة على سلسلة المخزن المؤقت لاستخدامها لاسم مضيف عميل SRP.

التفاصيل
المعلَمات
[in] aInstance
مؤشر إلى مثيل OpenThread.
[out] aSize
أشِر إلى متغيّر لعرض حجم (عدد وحدات البايت) من المخزن المؤقت للسلسلة (يجب ألا يكون فارغًا).
طلبات الإرجاع
إشارة إلى الحرف المخزن مؤقتًا لاستخدامها في اسم مضيف عميل SRP.

otSrpClientBuffersGetServiceEntryInstanceNameString

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

تحصل هذه الدالة على سلسلة المخزن المؤقت لاسم مثيل الخدمة من إدخال خدمة.

التفاصيل
المعلَمات
[in] aEntry
مؤشر إلى إدخال الخدمة المخصص سابقًا (يجب ألا يكون فارغًا).
[out] aSize
مؤشر للمتغيّر لعرض حجم (عدد وحدات البايت) من المخزن المؤقت للسلسلة (يجب ألا يكون فارغًا).
طلبات الإرجاع
مؤشر إلى سلسلة التخزين المؤقت.

otSrpClientBuffersGetServiceEntryServiceNameString

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

تحصل هذه الدالة على السلسلة المؤقتة لاسم الخدمة من إدخال الخدمة.

التفاصيل
المعلَمات
[in] aEntry
مؤشر إلى إدخال الخدمة المخصص سابقًا (يجب ألا يكون فارغًا).
[out] aSize
مؤشر للمتغيّر لعرض حجم (عدد وحدات البايت) من المخزن المؤقت للسلسلة (يجب ألا يكون فارغًا).
طلبات الإرجاع
مؤشر إلى سلسلة التخزين المؤقت.

otSrpClientBuffersGetServiceEntryTxtBuffer

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

تحصل هذه الدالة على المخزن المؤقت لسجلّ TXT من إدخال خدمة.

التفاصيل
المعلَمات
[in] aEntry
مؤشر إلى إدخال الخدمة المخصص سابقًا (يجب ألا يكون فارغًا).
[out] aSize
مؤشر للمتغيّر لعرض حجم المخزن المؤقت (عدد وحدات البايت) (يجب ألا يكون فارغًا).
طلبات الإرجاع
مؤشر إلى المخزن المؤقت.

otSrpClientBuffersGetSubTypeLabelsArray

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

تحصل هذه الدالة على المصفوفة لتصنيفات الأنواع الفرعية من إدخال الخدمة.

التفاصيل
المعلَمات
[in] aEntry
مؤشر إلى إدخال الخدمة المخصص سابقًا (يجب ألا يكون فارغًا).
[out] aArrayLength
مؤشر للمتغيّر لعرض طول المصفوفة (يجب ألا يكون فارغًا).
طلبات الإرجاع
مؤشر إلى المصفوفة

otSrpClientClearHostAndServices

void otSrpClientClearHostAndServices(
  otInstance *aInstance
)

والهدف من هذه الدالة هو محو جميع معلومات المضيف وجميع الخدمات.

وبخلاف otSrpClientRemoveHostAndServices() التي ترسل رسالة تحديث إلى الخادم لإزالة جميع المعلومات، تعمل هذه الوظيفة على محو جميع المعلومات فورًا بدون أي تفاعل مع الخادم.

التفاصيل
المعلَمات
[in] aInstance
مؤشر إلى مثيل OpenThread.

otSrpClientClearService

otError otSrpClientClearService(
  otInstance *aInstance,
  otSrpClientService *aService
)

تعمل هذه الدالة على محو الخدمة، ما يؤدي إلى إزالتها على الفور من قائمة خدمات العملاء.

وبخلاف otSrpClientRemoveService() التي ترسل رسالة تحديث إلى الخادم لإزالة الخدمة، ستمحو هذه الدالة الخدمة من قائمة خدمات العميل بدون أي تفاعل مع الخادم. عند استدعاء ناجح لهذه الدالة، لن يتم استدعاء otSrpClientCallback ويمكن استرداد إدخال aService وإعادة استخدامه من قِبل المتصل فورًا.

يمكن استخدام هذه الدالة مع استدعاء لاحق إلى otSrpClientAddService() (يُحتمل أن تتم إعادة استخدام إدخال aService نفسه مع اسم الخدمة نفسه ومثيلات منها) لتعديل بعض المعلمات في خدمة حالية.

التفاصيل
المعلَمات
[in] aInstance
مؤشر إلى مثيل OpenThread.
[in] aService
مؤشر إلى مثيل otSrpClientService لحذفه.
قيم الإرجاع
OT_ERROR_NONE
تم حذف aService بنجاح. ويمكن استردادها وإعادة استخدامها على الفور.
OT_ERROR_NOT_FOUND
تعذَّر العثور على الخدمة ضمن القائمة.

otSrpClientDisableAutoStartMode

void otSrpClientDisableAutoStartMode(
  otInstance *aInstance
)

وتؤدي هذه الوظيفة إلى إيقاف وضع التشغيل التلقائي.

ولا يتوفر هذا إلا عند تفعيل ميزة التشغيل التلقائي OPENTHREAD_CONFIG_SRP_CLIENT_AUTO_START_API_ENABLE.

لن يؤدي إيقاف وضع البدء التلقائي إلى إيقاف العميل إذا كان قيد التشغيل فعلاً، ولكن توقف العميل عن مراقبة بيانات شبكة سلاسل المحادثات للتحقق من أن خادم SRP المحدّد لا يزال موجودًا فيه.

ملاحظة: سيؤدي الاتصال برقم otSrpClientStop() إلى إيقاف وضع التشغيل التلقائي أيضًا.

التفاصيل
المعلَمات
[in] aInstance
مؤشر إلى مثيل OpenThread.

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 Stack).

عندما يتم تفعيل التشغيل التلقائي، يراقب عميل SRP بيانات سلسلة محادثات الشبكة لإدخالات خادم خادم SRP ويشغّل العميل ويوقفه تلقائيًا عندما يتم اكتشاف خادم SRP.

إذا تم العثور على عدة خوادم SRP، سيتم اختيار خادم عشوائي. إذا لم يعد يتم اكتشاف خادم SRP المحدّد (لم يعد موجودًا في بيانات شبكة سلاسل المحادثات)، سيتم إيقاف برنامج SRP ثم يمكن أن ينتقل إلى خادم SRP آخر (إن وجد).

عندما يبدأ عميل SRP بشكل صريح من خلال استدعاء ناجح إلى otSrpClientStart()، سيستمر استخدام عنوان خادم SRP في otSrpClientStart() بغض النظر عن حالة وضع التشغيل التلقائي وما إذا تم اكتشاف عنوان خادم SRP نفسه. أم لا في بيانات شبكة سلاسل المحادثات. في هذه الحالة، سيؤدي طلب otSrpClientStop() صريح فقط إلى إيقاف البرنامج.

التفاصيل
المعلَمات
[in] aInstance
مؤشر إلى مثيل OpenThread.
[in] aCallback
رد اتصال لإشعار العميل عند تشغيله/إيقافه تلقائيًا. يمكن أن يكون فارغًا إذا لم يكن هناك حاجة إليه.
[in] aContext
يتم تمرير السياق عند استدعاء aCallback.

otSrpClientGetIDENTIFIER

const char * otSrpClientGetDomainName(
  otInstance *aInstance
)

تحصل هذه الدالة على اسم النطاق الذي يستخدمه برنامج SRP.

تتطلب هذه الدالة تفعيل OPENTHREAD_CONFIG_SRP_CLIENT_DOMAIN_NAME_API_ENABLE.

إذا لم يتم ضبط اسم النطاق، فسيتم استخدام "default.service.arpa".

التفاصيل
المعلَمات
[in] aInstance
مؤشر إلى مثيل OpenThread.
طلبات الإرجاع
سلسلة اسم النطاق.

otSrpClientGetHostInfo

const otSrpClientHostInfo * otSrpClientGetHostInfo(
  otInstance *aInstance
)

تحصل هذه الدالة على معلومات المضيف.

التفاصيل
المعلَمات
[in] aInstance
مؤشر إلى مثيل OpenThread.
طلبات الإرجاع
مؤشر لاستضافة بنية المعلومات.

otSrpClientGetKeyLeaseInterval

uint32_t otSrpClientGetKeyLeaseInterval(
  otInstance *aInstance
)

تحصل هذه الدالة على الفاصل الزمني لتأجير المفاتيح المستخدم في طلبات تحديث SRP.

يُرجى العلم بأنّ هذه هي مدة الاستخدام التي طلبها عميل SRP. قد يختار الخادم قبول فاصل زمني مختلف للتأجير.

التفاصيل
المعلَمات
[in] aInstance
مؤشر إلى مثيل OpenThread.
طلبات الإرجاع
الفاصل الزمني لتأجير المفاتيح (بالثواني).

otSrpClientGetLeaseInterval

uint32_t otSrpClientGetLeaseInterval(
  otInstance *aInstance
)

تحصل هذه الدالة على الفاصل الزمني للتأجير المستخدم في طلبات تحديث SRP.

يُرجى العلم بأنّ هذه هي مدة الاستخدام التي طلبها عميل SRP. قد يختار الخادم قبول فترة تأجير مختلفة.

التفاصيل
المعلَمات
[in] aInstance
مؤشر إلى مثيل OpenThread.
طلبات الإرجاع
الفاصل الزمني للتأجير (بالثواني).

otSrpClientGetServerAddress

const otSockAddr * otSrpClientGetServerAddress(
  otInstance *aInstance
)

تحصل هذه الدالة على عنوان المقبس (عنوان IPv6 ورقم المنفذ) لخادم SRP الذي يستخدمه عميل SRP.

في حال عدم تشغيل العميل، يكون العنوان غير مُحدَّد (كل الصفر) بدون رقم منفذ.

التفاصيل
المعلَمات
[in] aInstance
مؤشر إلى مثيل OpenThread.
طلبات الإرجاع
مؤشر إلى عنوان مقبس خادم SRP (يكون دائمًا غير فارغ).

otSrpClientGetServices

const otSrpClientService * otSrpClientGetServices(
  otInstance *aInstance
)

تحصل هذه الدالة على قائمة الخدمات التي يديرها العميل.

التفاصيل
المعلَمات
[in] aInstance
مؤشر إلى مثيل OpenThread.
طلبات الإرجاع
مؤشر إلى رأس القائمة المرتبطة لجميع الخدمات أو فارغ إذا كانت القائمة فارغة.

otSrpClientIsAutoStartModeEnabled

bool otSrpClientIsAutoStartModeEnabled(
  otInstance *aInstance
)

تشير هذه الدالة إلى الحالة الحالية لوضع التشغيل التلقائي (مفعّلة أو غير مفعّلة).

ولا يتوفر هذا إلا عند تفعيل ميزة التشغيل التلقائي OPENTHREAD_CONFIG_SRP_CLIENT_AUTO_START_API_ENABLE.

التفاصيل
المعلَمات
[in] aInstance
مؤشر إلى مثيل OpenThread.
طلبات الإرجاع
صواب إذا كان وضع التشغيل التلقائي مفعّلاً، أو خطأ بخلاف ذلك.

otSrpClientisقيد التشغيل

bool otSrpClientIsRunning(
  otInstance *aInstance
)

تشير هذه الدالة إلى ما إذا كان عميل SRP قيد التشغيل أم لا.

التفاصيل
المعلَمات
[in] aInstance
مؤشر إلى مثيل OpenThread.
طلبات الإرجاع
صواب إذا كان برنامج SRP قيد التشغيل، أو خطأ، في الحالات الأخرى.

otSrpClientIsServiceKeyRecordEnabled

bool otSrpClientIsServiceKeyRecordEnabled(
  otInstance *aInstance
)

تشير هذه الطريقة إلى ما إذا كان وضع "تضمين سجلّ الخدمة" مفعّلاً أو موقوفًا.

تتوفّر هذه الدالة عند تفعيل إعداد OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE.

التفاصيل
المعلَمات
[in] aInstance
مؤشر إلى مثيل OpenThread.
طلبات الإرجاع
صواب إذا كان وضع "تضمين سجلّ الخدمة" مفعّلاً، على FALSE.

otSrpClientItemStateToString

const char * otSrpClientItemStateToString(
  otSrpClientItemState aItemState
)

تحوِّل هذه الدالة otSrpClientItemState إلى سلسلة.

التفاصيل
المعلَمات
[in] aItemState
حالة السلعة
طلبات الإرجاع
تمثّل هذه السمة سلسلة aItemState.

otSrpClientRemoveHostAndServices

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

تبدأ هذه الوظيفة عملية إزالة معلومات المضيف وجميع الخدمات.

بعد الرجوع من هذه الدالة، سيتم استدعاء otSrpClientCallback للإبلاغ عن حالة طلب الإزالة باستخدام خادم SRP.

إذا كانت معلومات المضيف ستتم إزالتها نهائيًا من الخادم، يجب ضبط aRemoveKeyLease على true، ما يؤدي إلى إزالة مفتاح التأجير المرتبط بالمضيف على الخادم. وبخلاف ذلك، يتم الاحتفاظ بسجلّ تأجير المفاتيح كما في السابق، ما يضمن أنّ الخادم يحتفظ باسم المضيف المحجوز في الوقت الذي يتمكَّن فيه العميل مرة أخرى من تقديم خدماته وتسجيلها.

يحدّد aSendUnregToServer السلوك عندما لا تكون معلومات المضيف مسجّلة حتى الآن مع الخادم. في حال ضبط aSendUnregToServer على false (القيمة التلقائية/المتوقعة)، سيزيل عميل SRP فورًا معلومات وخدمات المضيف بدون إرسال رسالة تحديث إلى الخادم (لن تكون هناك حاجة إلى تحديث الخادم إذا لم يكن هناك أي شيء). مسجّلة فيه). إذا تم ضبط aSendUnregToServer على true، سيرسل برنامج SRP رسالة تحديث إلى الخادم. تجدر الإشارة إلى أنه إذا تم تسجيل معلومات المضيف، لا يهم قيمة aSendUnregToServer وسيرسل برنامج SRP دائمًا رسالة تحديث إلى الخادم يطلب إزالة جميع المعلومات.

عندما يكون aSendUnregToServer مفيدًا في إعادة ضبط الجهاز أو إعادة تشغيله، قد يحتاج المتصل إلى إزالة أي خدمات مسجّلة من قبل من الخادم. في هذه الحالة، يمكن للمتصل otSrpClientSetHostName()، ثم طلب otSrpClientRemoveHostAndServices() من خلال aSendUnregToServer كـ true.

التفاصيل
المعلَمات
[in] aInstance
مؤشر إلى مثيل OpenThread.
[in] aRemoveKeyLease
يجب أيضًا معرفة ما إذا كان يجب إزالة تأجير مفتاح المضيف أو لا.
[in] aSendUnregToServer
منطقي يشير إلى ما إذا كان سيتم إرسال التحديث إلى الخادم عند عدم تسجيل معلومات المضيف أم لا.
قيم الإرجاع
OT_ERROR_NONE
بدأت عملية إزالة معلومات وخدمات المضيف بنجاح. سيتم طلب otSrpClientCallback للإبلاغ عن الحالة.
OT_ERROR_ALREADY
سبق أن تمت إزالة معلومات المضيف.

otSrpClientRemoveService

otError otSrpClientRemoveService(
  otInstance *aInstance,
  otSrpClientService *aService
)

تطلب هذه الدالة إلغاء تسجيل خدمة مع الخادم.

بعد إجراء استدعاء ناجح لهذه الدالة، سيتم استدعاء otSrpClientCallback للإبلاغ عن حالة طلب الإزالة باستخدام خادم SRP.

يجب أن يظل المثال otSrpClientService الذي يتم الإشارة إليه من قِبل aService ساريًا بدون تغيير، بعد الرجوع من هذه الدالة (باستخدام OT_ERROR_NONE). ستحتفظ OpenString بمثيل الخدمة أثناء عملية الإزالة. فقط بعد استدعاء otSrpClientCallback، ما يشير إلى أنه تمت إزالة مثيل الخدمة من قائمة خدمات عملاء SRP ويمكن إعادة استخدامه/إعادة استخدامه.

التفاصيل
المعلَمات
[in] aInstance
مؤشر إلى مثيل OpenThread.
[in] aService
مؤشر إلى مثيل otSrpClientService لإزالته.
قيم الإرجاع
OT_ERROR_NONE
بدأت عملية إزالة الخدمة بنجاح. سيتم طلب otSrpClientCallback للإبلاغ عن الحالة.
OT_ERROR_NOT_FOUND
تعذَّر العثور على الخدمة ضمن القائمة.

otSrpClientSetCallback

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

تضبط هذه الدالة رد الاتصال لإشعار المتصل بالأحداث/التغييرات من برنامج SRP.

يسمح عميل SRP بتسجيل استدعاء واحد. لذا، ستحل الاستدعاءات المتتالية لهذه الدالة محل أي من وظائف معاودة الاتصال التي تم إعدادها سابقًا.

التفاصيل
المعلَمات
[in] aInstance
مؤشر إلى مثيل OpenThread.
[in] aCallback
معاودة الاتصال لإشعار الأحداث والتغييرات. يمكن أن يكون فارغًا إذا لم يكن هناك حاجة إليه.
[in] aContext
سياق عشوائي يُستخدم مع aCallback

otSrpClientSetEnterprise

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

تحدد هذه الدالة اسم النطاق لاستخدامه في برنامج SRP.

تتطلب هذه الدالة تفعيل OPENTHREAD_CONFIG_SRP_CLIENT_DOMAIN_NAME_API_ENABLE.

إذا لم يتم ضبط القيمة "default.service.arpa"، سيتم استخدامها.

"يجب" أن يستمر التخزين المؤقت لسلسلة الاسم الذي يشير إليه aName بدون أي تغيير وأن يظل بدون تغيير بعد الرجوع من هذه الدالة. ستحتفظ Openسلسلة المؤشر بسلسلة البيانات.

يمكن إعداد اسم النطاق قبل بدء البرنامج أو بعد بدئه ولكن قبل تسجيل معلومات المضيف في الخادم (يجب أن تكون معلومات المضيف إما في STATE_TO_ADD أو STATE_TO_REMOVE).

التفاصيل
المعلَمات
[in] aInstance
مؤشر إلى مثيل OpenThread.
[in] aName
مؤشر إلى سلسلة اسم النطاق في حال ضبط السياسة "خالٍ" على "default.service.arpa".
قيم الإرجاع
OT_ERROR_NONE
تم ضبط تصنيف اسم النطاق بنجاح.
OT_ERROR_INVALID_STATE
سبق وتم تسجيل معلومات المضيف في الخادم.

otSrpClientSetHostAddresses

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

تعمل هذه الدالة على إعداد/تعديل قائمة عناوين IPv6 للمضيف.

يمكن ضبط/تغيير عناوين IPv6 المضيفة قبل بدء برنامج SRP أو أثناء تشغيله (مثل إضافة/إزالة عنوان مضيف مسجّل سابقًا أو تغييره)، إلا إذا كانت معلومات المضيف قيد الإزالة (يتعامل العميل مع طلب إزالة من طلب سابق الاتصال بـ otSrpClientRemoveHostAndServices() واستضافة المعلومات التي لا تزال في حالة STATE_TO_REMOVE أو STATE_REMOVING.

يجب أن يظل مصفوفة عنوان IPv6 المُشار إليها من قِبل aIp6Addresses مستمرة بدون تغيير بعد الرجوع من هذه الدالة (باستخدام OT_ERROR_NONE). ستحفظ OpenThread المؤشر إلى الصفيف.

بعد إجراء استدعاء ناجح لهذه الدالة، سيتم استدعاء otSrpClientCallback للإبلاغ عن حالة تسجيل العنوان في خادم SRP.

التفاصيل
المعلَمات
[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 بدون أي تغيير وأن يظل بدون تغيير بعد الرجوع من هذه الدالة. ستحتفظ Openسلسلة المؤشر بسلسلة البيانات.

يمكن ضبط اسم المضيف قبل بدء العميل أو بعد بدئه ولكن قبل تسجيل معلومات المضيف في الخادم (يجب أن تكون معلومات المضيف إما في STATE_TO_ADD أو STATE_REMOVED).

التفاصيل
المعلَمات
[in] aInstance
مؤشر إلى مثيل OpenThread.
[in] aName
مؤشر إلى سلسلة تصنيف اسم المضيف (يجب ألا يكون فارغًا). يجب أن يشير المؤشر إلى سلسلة المخزن المؤقت وأن يظل صالحًا وثابتًا بعد الرجوع من هذه الدالة.
قيم الإرجاع
OT_ERROR_NONE
تم ضبط تصنيف اسم المضيف بنجاح.
OT_ERROR_INVALID_ARGS
الملف aName فارغ.
OT_ERROR_INVALID_STATE
تم ضبط اسم المضيف وتسجيله من قبل بالخادم.

otSrpClientSetKeyLeaseInterval

void otSrpClientSetKeyLeaseInterval(
  otInstance *aInstance,
  uint32_t aInterval
)

تحدد هذه الدالة الفاصل الزمني لتأجير المفاتيح المستخدم في طلبات تحديث SRP.

لا يؤثّر تغيير الفاصل الزمني للتأجير في الفاصل الزمني للتأجير المقبول للخدمات/المضيف المسجَّل من قبل. ويؤثر ذلك فقط في أي رسائل مستقبلية لتحديث SRP (مثل إضافة خدمات جديدة و/أو إعادة تحميل الخدمات الحالية).

التفاصيل
المعلَمات
[in] aInstance
مؤشر إلى مثيل OpenThread.
[in] aInterval
الفاصل الزمني لتأجير المفاتيح (بالثواني). إذا كان الصفر، سيتم استخدام القيمة التلقائية المحدّدة من خلال OPENTHREAD_CONFIG_SRP_CLIENT_DEFAULT_KEY_LEASE.

otSrpClientSetLeaseInterval

void otSrpClientSetLeaseInterval(
  otInstance *aInstance,
  uint32_t aInterval
)

تحدد هذه الدالة الفاصل الزمني للتأجير المستخدم في طلبات تحديث SRP.

لا يؤثر تغيير الفاصل الزمني للتأجير في الفاصل الزمني المقبول للتأجير للخدمات/المضيف/المعلومات المسجّلة من قبل. ويؤثر ذلك فقط في أي رسائل خاصة بتحديث SRP في المستقبل (أي إضافة خدمات جديدة و/أو إعادة تحميل الخدمات الحالية).

التفاصيل
المعلَمات
[in] aInstance
مؤشر إلى مثيل OpenThread.
[in] aInterval
الفاصل الزمني للتأجير (بالثواني). إذا كان الصفر، سيتم استخدام القيمة التلقائية المحدّدة من خلال OPENTHREAD_CONFIG_SRP_CLIENT_DEFAULT_LEASE.

otSrpClientSetServiceKeyRecordEnabled

void otSrpClientSetServiceKeyRecordEnabled(
  otInstance *aInstance,
  bool aEnabled
)

تتيح هذه الوظيفة تفعيل/إيقاف وضع "تضمين سجلّ الخدمة".

عند التفعيل، سيضم برنامج SRP سجل KEY في إرشادات وصف الخدمة في رسائل تحديث SRP التي يرسلها.

تتوفّر هذه الدالة عند تفعيل إعداد OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE.

التفاصيل
المعلَمات
[in] aInstance
مؤشر إلى مثيل OpenThread.
[in] aEnabled
TRUE للتفعيل، وFALSE لإيقاف وضع "تضمين سجلّ الخدمة".

otSrpClientStart

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

تبدأ هذه الدالة عملية عميل SRP.

سيعدّ عميل SRP رسالة "تحديث SRP" ويرسلها إلى خادم SRP بعد استيفاء جميع الشروط التالية:

ولا يهم الترتيب الذي تسمى به هذه الدوال. عند استيفاء جميع الشروط، سينتظر برنامج SRP وقتًا قصيرًا قبل إعداد رسالة "تحديث SRP" وإرساله إلى الخادم. يتيح هذا التأخير للمستخدم إمكانية إضافة خدمات و/أو عناوين IPv6 متعددة قبل إرسال أول رسالة تحديث SRP (التأكد من إرسال تحديث SRP واحد يحتوي على جميع المعلومات). يحدد الإعداد OPENTHREAD_CONFIG_SRP_CLIENT_UPDATE_TX_DELAY الفاصل الزمني للتأخير.

التفاصيل
المعلَمات
[in] aInstance
مؤشر إلى مثيل OpenThread.
[in] aServerSockAddr
عنوان المقابس (عنوان IPv6 ورقم المنفذ) لخادم SRP.
قيم الإرجاع
OT_ERROR_NONE
بدأ تشغيل برنامج عميل SRP بنجاح أو أنه قيد التشغيل فعلاً باستخدام عنوان مقبس الخادم رد الاتصال نفسه.
OT_ERROR_BUSY
عميل SRP مشغول باستخدام عنوان مقبس مختلف.
OT_ERROR_FAILED
تعذّر فتح/ربط مقبس UDP للعميل.

otSrpClientStop

void otSrpClientStop(
  otInstance *aInstance
)

توقف هذه الدالة تشغيل عملية عميل SRP.

توقف هذه الدالة أي تفاعلات إضافية مع خادم SRP. وتجدر الإشارة إلى أن ذلك لا يؤدي إلى إزالة معلومات المضيف و/أو قائمة الخدمات أو محوها. ويضع علامة على جميع الخدمات لإضافتها/إزالتها مرة أخرى بمجرد بدء العميل (إعادة التشغيل).

التفاصيل
المعلَمات
[in] aInstance
مؤشر إلى مثيل OpenThread.

otSrpServerGetAddressMode

otSrpServerAddressMode otSrpServerGetAddressMode(
  otInstance *aInstance
)

تعرض هذه الدالة وضع العنوان الذي يستخدمه خادم SRP.

التفاصيل
المعلَمات
[in] aInstance
مؤشر إلى مثيل OpenThread.
طلبات الإرجاع
وضع عنوان خادم SRP.

otSrpServerGetGetcastModeStringNumber

uint8_t otSrpServerGetAnycastModeSequenceNumber(
  otInstance *aInstance
)

تعرض هذه الدالة رقم التسلسل المستخدم مع وضع عنوان الإرسال.

يتم تضمين الرقم التسلسلي في الإدخال "DNS/SRP Service Anycast" (عنوان نظام أسماء النطاقات/خدمة SRP) الذي تم نشره في بيانات الشبكة.

التفاصيل
المعلَمات
[in] aInstance
مؤشر إلى مثيل OpenThread.
طلبات الإرجاع
رقم تسلسل ancast

otSrpServerGetDomain

const char * otSrpServerGetDomain(
  otInstance *aInstance
)

تعرض هذه الدالة النطاق المُصرّح به لخادم SRP.

إذا لم يتم ضبط النطاق من قِبل SetDomain، "default.service.arpa." سيتم إرجاعه. يتم دائمًا إلحاق نقطة لاحقة حتى إذا تم ضبط النطاق بدونها.

التفاصيل
المعلَمات
[in] aInstance
مؤشر إلى مثيل OpenThread.
طلبات الإرجاع
مؤشر إلى سلسلة النطاق المرتبطة بالنقطة.

otSrpServerGetLeaseConfig

void otSrpServerGetLeaseConfig(
  otInstance *aInstance,
  otSrpServerLeaseConfig *aLeaseConfig
)

تعرض هذه الدالة عمليات إعداد خادم SRP LEASE وKEY-LEASE.

التفاصيل
المعلَمات
[in] aInstance
مؤشر إلى مثيل OpenThread.
[out] aLeaseConfig
مؤشر إلى مثيل otSrpServerLeaseConfig

otSrpServerGetNextHost

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

تعرض هذه الدالة المضيف المُسجِّل التالي على خادم SRP.

التفاصيل
المعلَمات
[in] aInstance
مؤشر إلى مثيل OpenThread.
[in] aHost
مؤشر للمضيف الحالي استخدام "خالٍ" للحصول على المضيف الأول.
طلبات الإرجاع
يشير إلى المضيف المسجل. فارغ، إذا تعذّر العثور على أي مضيف آخر.

otSrpServerGetState

otSrpServerState otSrpServerGetState(
  otInstance *aInstance
)

تعرض هذه الدالة حالة خادم SRP.

التفاصيل
المعلَمات
[in] aInstance
مؤشر إلى مثيل OpenThread.
طلبات الإرجاع
الحالة الحالية لخادم SRP.

otSrpServerHandleServiceUpdateالنتيجة

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

تشير هذه الدالة إلى نتيجة معالجة تحديث SRP لخادم SRP.

يجب أن يستدعي معالج تحديث الخدمة هذه الدالة لإرجاع نتيجة معالجة تحديث SRP.

التفاصيل
المعلَمات
[in] aInstance
مؤشر إلى مثيل OpenThread.
[in] aId
معرِّف معاملة تحديث الخدمة. يجب أن يكون هذا الرقم هو نفسه المعرّف المقدّم من خلال otSrpServerServiceUpdateHandler.
[in] aError
حدث خطأ مطلوب إرجاعه إلى خادم SRP. استخدم OT_ERROR_DuplicateD لتمثيل تعارضات اسم نظام أسماء النطاقات.

otSrpServerHostNextService

const otSrpServerService * otSrpServerHostFindNextService(
  const otSrpServerHost *aHost,
  const otSrpServerService *aPrevService,
  otSrpServerServiceFlags aFlags,
  const char *aServiceName,
  const char *aInstanceName
)

تبحث هذه الدالة عن خدمة المطابقة التالية على المضيف.

يتيح الجمع بين العلامات وأسماء الخدمة والمثيلات تكرار القائمة الكاملة للخدمات و/أو مجموعة فرعية منها تتوافق مع شروط معينة، أو العثور على خدمة محددة.

لإدخال تعديلات على جميع خدمات المضيف: service = otSrpServerHostNextService(host, service, OT_SRP_SERVER_FLAGS_ANY_SERVICE, null, null);

للإعلان عبر الخدمات الأساسية فقط (استبعاد الأنواع الفرعية): service = otSrpServerHostNextService(host, service, OT_SRP_SERVER_FLAGS_BASE_TYPE_SERVICE_ONLY, null, null);

وتكرار أنواع فرعية من اسم مثال معيّن instanceName: service = otSrpServerHostFindNextService(host, service, OT_SRP_SERVER_FLAGS_SUB_TYPE_SERVICE_ONLY, null, instanceName);

للعثور على خدمة معينة باسم الخدمة serviceName واسم مثيل الخدمة instanceName: service = otSrpServerHostNextService(host, null, OT_SRP_SERVER_FLAGS_ANY_SERVICE, serviceName, instanceName)

للعثور على خدمة النوع الأساسي باسم مثيل خدمة معيّن instanceName: الخدمة = otSrpServerHostNextService(host, null, OT_SRP_SERVER_FLAGS_BASE_TYPE_SERVICE_ONLY, null, instanceName);

التفاصيل
المعلَمات
[in] aHost
مؤشر إلى مضيف خدمة SRP (يجب ألا يكون فارغًا).
[in] aPrevService
مؤشر إلى الخدمة السابقة أو فارغ لبدء من القائمة.
[in] aFlags
العلامات التي تشير إلى الخدمات المطلوب تضمينها (القاعدة/النوع الفرعي، نشطة/محذوفة).
[in] aServiceName
اسم الخدمة المطلوب مطابقتها. اضبط القيمة على "فارغ" لقبول أي اسم.
[in] aInstanceName
اسم مثيل الخدمة المطلوب مطابقته. اضبط القيمة على "فارغ" لقبول أي اسم.
طلبات الإرجاع
مؤشر إلى الخدمة المطابقة التالية أو فارغ إذا لم يتم العثور على خدمة متطابقة.

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.
طلبات الإرجاع
مؤشّر يشير إلى سلسلة اسم المضيف التي لم يتمّ إنهاؤها.

otSrpServerHostGetService

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

تعرض هذه الدالة الخدمة التالية (باستثناء أي خدمات من نوع فرعي) للمضيف المحدد.

التفاصيل
المعلَمات
[in] aHost
إشارة إلى مضيف خدمة SRP.
[in] aService
مؤشر لمثيل خدمة SRP الحالي؛ استخدام "خالٍ" للحصول على الخدمة الأولى.
طلبات الإرجاع
مؤشر للخدمة التالية أو فارغ إذا لم تكن هناك خدمات أخرى.

otSrpServerHostIsDeleted

bool otSrpServerHostIsDeleted(
  const otSrpServerHost *aHost
)

تخبرك هذه الدالة ما إذا تم حذف مضيف خدمة SRP.

يمكن حذف مضيف خدمة SRP ولكن يحتفظ باسمه للاستخدامات المستقبلية. في هذه الحالة، لن تتم إزالة مثيل المضيف من سجلّات SRP/قاعدة بيانات المسجّلين.

التفاصيل
المعلَمات
[in] aHost
إشارة إلى مضيف خدمة SRP.
طلبات الإرجاع
TRUE إذا تم حذف المضيف، أو FALSE إذا لم يتم حذفها.

otSrpServerServiceGetFullName

const char * otSrpServerServiceGetFullName(
  const otSrpServerService *aService
)

تعرض هذه الدالة اسم النسخة الكاملة للخدمة من الخدمة.

التفاصيل
المعلَمات
[in] aService
مؤشر لخدمة SRP.
طلبات الإرجاع
مؤشر إلى سلسلة اسم النسخة الافتراضية للخدمة التي تم إنهاؤها.

otSrpServerServiceGetHost

const otSrpServerHost * otSrpServerServiceGetHost(
  const otSrpServerService *aService
)

تعرض هذه الدالة المضيف الذي يتوفّر به مثيل الخدمة.

التفاصيل
المعلَمات
[in] aService
مؤشر لخدمة SRP.
طلبات الإرجاع
يشير إلى مثيل المضيف.

otSrpServerServiceGetInstanceName

const char * otSrpServerServiceGetInstanceName(
  const otSrpServerService *aService
)

تعرض هذه الدالة اسم النسخة الكاملة للخدمة من الخدمة.

التفاصيل
المعلَمات
[in] aService
مؤشر لخدمة SRP.
طلبات الإرجاع
مؤشر إلى سلسلة اسم النسخة الافتراضية للخدمة التي تم إنهاؤها.

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.
طلبات الإرجاع
مؤشّر يؤدي إلى سلسلة اسم الخدمة التي تم إنهاؤها.

otSrpServerServiceGetServiceSubTypeLabel

otError otSrpServerServiceGetServiceSubTypeLabel(
  const otSrpServerService *aService,
  char *aLabel,
  uint8_t aMaxSize
)

تحصل هذه الدالة على تصنيف النوع الفرعي من اسم الخدمة.

وتُستخدَم هذه الدالة عندما تكون السمة aService نوعًا فرعيًا، أي otSrpServerServiceIsSubType() للخدمة تعرض TRUE. إذا لم تكن نوعًا فرعيًا، تعرض هذه الدالة OT_ERROR_INVALID_ARGS.

يتبع اسم الخدمة الكامل للخدمة الفرعية نوع "._sub..". تنسخ هذه الدالة إلى المخزن المؤقت aLabel.

من المضمون أن يتمّ إنهاء الحقل aLabel دائمًا بعد إرجاع السلع حتى في حال تعذّر إتمام العملية.

التفاصيل
المعلَمات
[in] aService
مؤشر لخدمة SRP.
[out] aLabel
مؤشر إلى المخزن المؤقت لنسخ اسم التصنيف الفرعي به.
[in] aMaxSize
الحد الأقصى لحجم المخزن المؤقت هو aLabel.
قيم الإرجاع
OT_ERROR_NONE
تم تحديث aLabel بنجاح.
OT_ERROR_NO_BUFS
لا يمكن احتواء التصنيف الفرعي في aLabel في المخزن المؤقت (عدد الأحرف من التصنيف الذي يمكن ملاءمته في aLabel هو أنه تم إنهاؤه فارغًا).
OT_ERROR_INVALID_ARGS
خدمة SRP ليست نوعًا فرعيًا.

otSrpServerServiceGetTxtData

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

تعرض هذه الدالة بيانات سجلّ TXT لمثيل الخدمة.

التفاصيل
المعلَمات
[in] aService
مؤشر لخدمة SRP.
[out] aDataLength
مؤشر لعرض طول بيانات سجل TXT. يجب ألا يكون فارغًا.
طلبات الإرجاع
مؤشر إلى المخزن المؤقت يحتوي على بيانات سجلّ TXT (يتم عرض طول بيانات TXT باللغة aDataLength).

otSrpServerServiceGetweight

uint16_t otSrpServerServiceGetWeight(
  const otSrpServerService *aService
)

تعرض هذه الدالة وزن مثيل الخدمة.

التفاصيل
المعلَمات
[in] aService
مؤشر لخدمة SRP.
طلبات الإرجاع
وزن الخدمة.

otSrpServerServiceIsDeleted

bool otSrpServerServiceIsDeleted(
  const otSrpServerService *aService
)

تشير هذه الدالة إلى ما إذا تم حذف خدمة SRP أم لا.

يمكن حذف خدمة SRP ولكن تحتفظ باسمها للاستخدامات المستقبلية. في هذه الحالة، لن تتم إزالة مثيل الخدمة من سجلّ خادم SRP. ومن المضمون أن يتم حذف جميع الخدمات في حال حذف المضيف.

التفاصيل
المعلَمات
[in] aService
مؤشر لخدمة SRP.
طلبات الإرجاع
صواب إذا تم حذف الخدمة، أو خطأ إذا لم يتم حذفها.

otSrpServerServiceIsSubType

bool otSrpServerServiceIsSubType(
  const otSrpServerService *aService
)

تشير هذه الدالة إلى ما إذا كانت خدمة SRP من النوع الفرعي أم لا.

التفاصيل
المعلَمات
[in] aService
مؤشر لخدمة SRP.
طلبات الإرجاع
True إذا كانت الخدمة من نوع فرعي، أو FALSE إذا لم تكن كذلك.

otSrpServerSetAddressMode

otError otSrpServerSetAddressMode(
  otInstance *aInstance,
  otSrpServerAddressMode aMode
)

تحدد هذه الدالة وضع العنوان لكي يستخدمه خادم SRP.

التفاصيل
المعلَمات
[in] aInstance
مؤشر إلى مثيل OpenThread.
[in] aMode
وضع العنوان المطلوب استخدامه.
قيم الإرجاع
OT_ERROR_NONE
تم ضبط وضع العنوان بنجاح.
OT_ERROR_INVALID_STATE
تم تفعيل خادم SRP ولا يمكن تغيير وضع العنوان.

otSrpServerSetAnycastModeStringNumber

otError otSrpServerSetAnycastModeSequenceNumber(
  otInstance *aInstance,
  uint8_t aSequenceNumber
)

تحدّد هذه الدالة رقم التسلسل المستخدَم في وضع عنوان الإرسال.

التفاصيل
المعلَمات
[in] aInstance
مؤشر إلى مثيل OpenThread.
[in] aSequenceNumber
الرقم التسلسلي المطلوب استخدامه.
قيم الإرجاع
OT_ERROR_NONE
تم ضبط وضع العنوان بنجاح.
OT_ERROR_INVALID_STATE
تم تفعيل خادم SRP ولا يمكن تغيير رقم التسلسل.

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 ليست اسم نطاق نظام أسماء نطاقات صالحًا.
OT_ERROR_NO_BUFS
ليست هناك ذاكرة لتخزين محتوى aDomain.

otSrpServerSetEnabledEnabled

void otSrpServerSetEnabled(
  otInstance *aInstance,
  bool aEnabled
)

تعمل هذه الدالة على تفعيل/إيقاف خادم SRP.

التفاصيل
المعلَمات
[in] aInstance
مؤشر إلى مثيل OpenThread.
[in] aEnabled
قيمة منطقية لتفعيل/إيقاف خادم SRP.

otSrpServerSetLeaseConfig

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

توجِّه هذه الدالة عمليات ضبط خادم SRP LEASE وKEY-LEASE.

عند طلب وقت من غير الصفر من عميل، سيتم تحديد القيمة الممنوحة في النطاق [aMinLease, MaxMaxEase]; وسيتم منح مفتاح KEY-LEASE غير صفر في النطاق [aMinKeyLease, AMaxKeyLease]. بقيمة صفرية أو لـ KEY-LEASE، سيتم منح الصفر.

التفاصيل
المعلَمات
[in] aInstance
مؤشر إلى مثيل OpenThread.
[in] aLeaseConfig
مؤشر إلى مثيل otSrpServerLeaseConfig
قيم الإرجاع
OT_ERROR_NONE
تم ضبط النطاقين "LEASE" و"KEY-LEASE" بنجاح.
OT_ERROR_INVALID_ARGS
نطاق LEASE أو KEY-LEASE غير صالح.

otSrpServerSetServiceUpdateHandler

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

توجِّه هذه الدالة معالج تحديثات خدمة SRP على خادم SRP.

التفاصيل
المعلَمات
[in] aInstance
مؤشر إلى مثيل OpenThread.
[in] aServiceHandler
مؤشر لمعالج الخدمة. استخدم فارغ لإزالة المعالج.
[in] aContext
مؤشر لمعلومات السياق العشوائية. يمكن أن يكون فارغًا إذا لم يتم استخدامه.

المراجع

تنشأ مواضيع واجهة برمجة التطبيقات المرجعية لـ OpenThread من رمز المصدر، المتوفر على GitHub. للاطّلاع على مزيد من المعلومات أو للمساهمة في مستنداتنا، يُرجى الرجوع إلى المراجع.