IPv6

تتضمن هذه الوحدة وظائف تتحكم في اتصال IPv6.

ملخّص

عمليات التعداد

anonymous enum{
  OT_IP6_PROTO_HOP_OPTS = 0,
  OT_IP6_PROTO_TCP = 6,
  OT_IP6_PROTO_UDP = 17,
  OT_IP6_PROTO_IP6 = 41,
  OT_IP6_PROTO_ROUTING = 43,
  OT_IP6_PROTO_FRAGMENT = 44,
  OT_IP6_PROTO_ICMP6 = 58,
  OT_IP6_PROTO_NONE = 59,
  OT_IP6_PROTO_DST_OPTS = 60
}
تعداد
أرقام بروتوكول الإنترنت.
anonymous enum{
  OT_ADDRESS_ORIGIN_THREAD = 0,
  OT_ADDRESS_ORIGIN_SLAAC = 1,
  OT_ADDRESS_ORIGIN_DHCPV6 = 2,
  OT_ADDRESS_ORIGIN_MANUAL = 3
}
تعداد
أصول عنوان IPv6.
anonymous enum{
  OT_ECN_NOT_CAPABLE = 0x0,
  OT_ECN_CAPABLE_0 = 0x2,
  OT_ECN_CAPABLE_1 = 0x1,
  OT_ECN_MARKED = 0x3
}
تعداد
حالات ECN، ممثلة في عنوان IP.

تحديدات النوع

otBorderRoutingCounters typedef
يمثل عدادات الحزم المعاد توجيهها عبر التوجيه الحدودي.
otIp6Address typedef
struct otIp6Address
يُمثِّل عنوان IPv6.
otIp6AddressCallback)(const otIp6AddressInfo *aAddressInfo, bool aIsAdded, void *aContext) typedef
void(*
يتم استدعاء المؤشر عند إضافة عنوان IPv6 داخلي أو إزالته.
otIp6AddressComponents typedef
يُمثِّل مكونات عنوان IPv6.
otIp6AddressInfo typedef
يمثل معلومات عنوان IPv6.
otIp6InterfaceIdentifier typedef
يُمثِّل ذلك معرِّف الواجهة لعنوان IPv6.
otIp6NetworkPrefix typedef
يُمثِّل بادئة الشبكة لعنوان IPv6 (أهم 64 بت من العنوان).
otIp6Prefix typedef
struct otIp6Prefix
يُمثِّل بادئة IPv6.
otIp6ReceiveCallback)(otMessage *aMessage, void *aContext) typedef
void(*
يتم استدعاء المؤشر عند استلام مخطط بيانات IPv6.
otIp6RegisterMulticastListenersCallback)(void *aContext, otError aError, uint8_t aMlrStatus, const otIp6Address *aFailedAddresses, uint8_t aFailedAddressNum) typedef
void(*
تم استدعاء المؤشر لعرض نتائج otIp6RegisterMulticastListeners.
otIp6SlaacPrefixFilter)(otInstance *aInstance, const otIp6Prefix *aPrefix) typedef
bool(*
يتيح المؤشر للمستخدم فلترة البادئات ولا يسمح بإضافة عنوان SLAAC استنادًا إلى بادئة.
otMessageInfo typedef
struct otMessageInfo
يُمثِّل عناوين مقبس بروتوكول IPv6 المحلية والنظيرة.
otNetifAddress typedef
يمثّل عنوان البث الأحادي لواجهة شبكة IPv6.
otNetifMulticastAddress typedef
يمثّل عنوان البث المتعدد لواجهة شبكة IPv6.
otPacketsAndBytes typedef
تمثل عدادات الحزم ووحدات البايت.
otSockAddr typedef
struct otSockAddr
يُمثِّل عنوان مقبس IPv6.

المتغيرات

OT_TOOL_PACKED_END

الدوال

otIp6AddUnicastAddress(otInstance *aInstance, const otNetifAddress *aAddress)
إضافة عنوان واجهة الشبكة إلى واجهة سلسلة المحادثات.
otIp6AddUnsecurePort(otInstance *aInstance, uint16_t aPort)
إضافة منفذ إلى قائمة المنافذ غير الآمنة المسموح بها
otIp6AddressFromString(const char *aString, otIp6Address *aAddress)
تحوِّل سلسلة عناوين IPv6 التي يمكن لشخص عادي قراءتها إلى تمثيل ثنائي.
otIp6AddressToString(const otIp6Address *aAddress, char *aBuffer, uint16_t aSize)
void
تحوِّل عنوان IPv6 معيّنًا إلى سلسلة يمكن لشخص عادي قراءتها.
otIp6ArePrefixesEqual(const otIp6Prefix *aFirst, const otIp6Prefix *aSecond)
bool
اختبِر ما إذا كانت بادئتا IPv6 متطابقتَين.
otIp6GetBorderRoutingCounters(otInstance *aInstance)
الحصول على عدادات التوجيه الحدودي.
otIp6GetMulticastAddresses(otInstance *aInstance)
للحصول على قائمة بعناوين البث المتعدد IPv6 المشتركة في واجهة سلسلة المحادثات.
otIp6GetPrefix(const otIp6Address *aAddress, uint8_t aLength, otIp6Prefix *aPrefix)
void
الحصول على بادئة بـ aLength من aAddress
otIp6GetUnicastAddresses(otInstance *aInstance)
const otNetifAddress *
للحصول على قائمة بعناوين IPv6 المخصَّصة لواجهة Thread.
otIp6GetUnsecurePorts(otInstance *aInstance, uint8_t *aNumEntries)
const uint16_t *
لعرض مؤشر إلى قائمة المنافذ غير الآمنة
otIp6HasUnicastAddress(otInstance *aInstance, const otIp6Address *aAddress)
bool
يشير إلى ما إذا كان عنوان IPv6 الأحادي قد تم تعيينه لواجهة Thread أم لا.
otIp6IsAddressEqual(const otIp6Address *aFirst, const otIp6Address *aSecond)
bool
اختبر ما إذا كان عنوانا IPv6 متطابقين.
otIp6IsAddressUnspecified(const otIp6Address *aAddress)
bool
يشير إلى ما إذا كان عنوان IPv6 المحدد هو العنوان غير المحدد أم لا.
otIp6IsEnabled(otInstance *aInstance)
bool
يشير إلى ما إذا كانت واجهة IPv6 جاهزة أم لا.
otIp6IsMulticastPromiscuousEnabled(otInstance *aInstance)
bool
تتحقّق مما إذا كان الوضع المختلط للإرسال المتعدد مفعَّلاً على واجهة سلسلة المحادثات.
otIp6IsReceiveFilterEnabled(otInstance *aInstance)
bool
يشير إلى ما إذا كانت زيارات عنصر التحكُّم في سلسلة المحادثات تتم فلترتها عند تسليم مخططات بيانات IPv6 من خلال معاودة الاتصال المحددة في otIp6SetReceiveCallback().
otIp6IsSlaacEnabled(otInstance *aInstance)
bool
يشير إلى ما إذا كانت وحدة SLAAC مفعّلة أم لا.
otIp6NewMessage(otInstance *aInstance, const otMessageSettings *aSettings)
تخصيص مورد احتياطي جديد للرسائل لإرسال رسالة IPv6.
otIp6NewMessageFromBuffer(otInstance *aInstance, const uint8_t *aData, uint16_t aDataLength, const otMessageSettings *aSettings)
خصص موردًا احتياطيًا جديدًا للرسائل واكتب مخطط بيانات IPv6 إلى المخزن المؤقت للرسائل لإرسال رسالة IPv6.
otIp6PrefixFromString(const char *aString, otIp6Prefix *aPrefix)
تحوِّل سلسلة بادئة IPv6 التي يمكن لشخص عادي قراءتها إلى تمثيل ثنائي.
otIp6PrefixMatch(const otIp6Address *aFirst, const otIp6Address *aSecond)
uint8_t
لعرض طول تطابق البادئة (بت) لعنواني IPv6.
otIp6PrefixToString(const otIp6Prefix *aPrefix, char *aBuffer, uint16_t aSize)
void
تحوِّل بادئة IPv6 المحدَّدة إلى سلسلة يمكن لشخص عادي قراءتها.
otIp6ProtoToString(uint8_t aIpProto)
const char *
لتحويل رقم بروتوكول IP معيّن إلى سلسلة يمكن لشخص عادي قراءتها.
otIp6RegisterMulticastListeners(otInstance *aInstance, const otIp6Address *aAddresses, uint8_t aAddressNum, const uint32_t *aTimeout, otIp6RegisterMulticastListenersCallback aCallback, void *aContext)
لتسجيل أجهزة استماع البث المتعدد على جهاز التوجيه الأساسي الرئيسي.
otIp6RemoveAllUnsecurePorts(otInstance *aInstance)
void
إزالة جميع المنافذ من قائمة المنافذ غير الآمنة المسموح بها
otIp6RemoveUnicastAddress(otInstance *aInstance, const otIp6Address *aAddress)
إزالة عنوان واجهة الشبكة من واجهة سلسلة المحادثات
otIp6RemoveUnsecurePort(otInstance *aInstance, uint16_t aPort)
إزالة منفذ من قائمة المنافذ غير الآمنة المسموح بها
otIp6ResetBorderRoutingCounters(otInstance *aInstance)
void
إعادة تعيين عدادات التوجيه الحدودي.
otIp6SelectSourceAddress(otInstance *aInstance, otMessageInfo *aMessageInfo)
تحديد عنوان مصدر OpenThread
otIp6Send(otInstance *aInstance, otMessage *aMessage)
يتم إرسال مخطط بيانات IPv6 من خلال واجهة Thread.
otIp6SetAddressCallback(otInstance *aInstance, otIp6AddressCallback aCallback, void *aCallbackContext)
void
يعمل على تسجيل معاودة الاتصال للإبلاغ عن التغييرات الداخلية في عنوان IPv6.
otIp6SetEnabled(otInstance *aInstance, bool aEnabled)
يؤدي إلى عرض واجهة IPv6 لأعلى أو لأسفل.
otIp6SetMeshLocalIid(otInstance *aInstance, const otIp6InterfaceIdentifier *aIid)
تضبط هذه السياسة معرّف IID المحلي المتداخل (لأغراض الاختبار).
otIp6SetMulticastPromiscuousEnabled(otInstance *aInstance, bool aEnabled)
void
تؤدي هذه السياسة إلى تفعيل الوضع المختلط للإرسال المتعدد أو إيقافه على واجهة سلسلة المحادثات.
otIp6SetReceiveCallback(otInstance *aInstance, otIp6ReceiveCallback aCallback, void *aCallbackContext)
void
تسجل معاودة الاتصال لتقديم مخططات بيانات IPv6 المستلمة.
otIp6SetReceiveFilterEnabled(otInstance *aInstance, bool aEnabled)
void
تحدِّد ما إذا كانت تتم فلترة عدد زيارات التحكُّم في سلسلة المحادثات عند تسليم مخططات بيانات IPv6 من خلال معاودة الاتصال المحدَّدة في otIp6SetReceiveCallback().
otIp6SetSlaacEnabled(otInstance *aInstance, bool aEnabled)
void
تعمل على تفعيل/إيقاف وحدة SLAAC.
otIp6SetSlaacPrefixFilter(otInstance *aInstance, otIp6SlaacPrefixFilter aFilter)
void
تضبط معالِج فلتر وحدة SLAAC.
otIp6SockAddrToString(const otSockAddr *aSockAddr, char *aBuffer, uint16_t aSize)
void
تحوِّل عنوان مقبس IPv6 معيّن إلى سلسلة يمكن لشخص عادي قراءتها.
otIp6SubscribeMulticastAddress(otInstance *aInstance, const otIp6Address *aAddress)
اشتراك واجهة سلسلة المحادثات بعنوان البث المتعدد لواجهة الشبكة
otIp6UnsubscribeMulticastAddress(otInstance *aInstance, const otIp6Address *aAddress)
إلغاء اشتراك واجهة سلسلة المحادثات بعنوان البث المتعدد لواجهة الشبكة

الهياكل

otBorderRoutingCounters

يمثل عدادات الحزم المعاد توجيهها عبر التوجيه الحدودي.

otIp6Address

يُمثِّل عنوان IPv6.

otIp6AddressComponents

يُمثِّل مكونات عنوان IPv6.

otIp6AddressInfo

يمثل معلومات عنوان IPv6.

otIp6InterfaceIdentifier

يُمثِّل ذلك معرِّف الواجهة لعنوان IPv6.

otIp6NetworkPrefix

يُمثِّل بادئة الشبكة لعنوان IPv6 (أهم 64 بت من العنوان).

otIp6Prefix

يُمثِّل بادئة IPv6.

otMessageInfo

يُمثِّل عناوين مقبس بروتوكول IPv6 المحلية والنظيرة.

otNetifAddress

يمثّل عنوان البث الأحادي لواجهة شبكة IPv6.

otNetifMulticastAddress

يمثّل عنوان البث المتعدد لواجهة شبكة IPv6.

otPacketsAndBytes

تمثل عدادات الحزم ووحدات البايت.

otSockAddr

يُمثِّل عنوان مقبس IPv6.

الاتحادات

otIp6InterfaceIdentifier::OT_TOOL_PACKED_FIELD

عمليات التعداد

تعداد مجهول

 anonymous enum

أرقام بروتوكول الإنترنت.

أماكن إقامة
OT_IP6_PROTO_DST_OPTS

خيارات الوجهة للبروتوكول IPv6

OT_IP6_PROTO_FRAGMENT

عنوان الجزء 6 من بروتوكول الإنترنت (IPv6).

OT_IP6_PROTO_HOP_OPTS

خيار هوب بي هوب للإصدار 6 من بروتوكول الإنترنت.

OT_IP6_PROTO_ICMP6

بروتوكول ICMP للبروتوكول IPv6.

OT_IP6_PROTO_IP6

تغليف IPv6.

OT_IP6_PROTO_NONE

ليس هناك رأس تالٍ للبروتوكول IPv6.

OT_IP6_PROTO_ROUTING

عنوان التوجيه للبروتوكول IPv6

OT_IP6_PROTO_TCP

بروتوكول التحكم في الإرسال.

OT_IP6_PROTO_UDP

مخطط بيانات المستخدم.

تعداد مجهول

 anonymous enum

أصول عنوان IPv6.

أماكن إقامة
OT_ADDRESS_ORIGIN_DHCPV6

عنوان DHCPv6 الذي تم تعيينه.

OT_ADDRESS_ORIGIN_MANUAL

العنوان الذي تم تعيينه يدويًا

OT_ADDRESS_ORIGIN_SLAAC

تم تخصيص عنوان SLAAC.

OT_ADDRESS_ORIGIN_THREAD

العنوان الذي تم تعيينه لسلسلة المحادثات (ALOC وRLOC وMLEID وغير ذلك)

تعداد مجهول

 anonymous enum

حالات ECN، ممثلة في عنوان IP.

أماكن إقامة
OT_ECN_CAPABLE_0

ect(0)

OT_ECN_CAPABLE_1

ECT(1)

OT_ECN_MARKED

واجه ازدحامًا (CE)

OT_ECN_NOT_CAPABLE

ولا تتبع الإكوادور

تحديدات النوع

otBorderRoutingCounters

struct otBorderRoutingCounters otBorderRoutingCounters

يمثل عدادات الحزم المعاد توجيهها عبر التوجيه الحدودي.

otIp6Address

struct otIp6Address otIp6Address

يُمثِّل عنوان IPv6.

otIp6AddressCallback

void(* otIp6AddressCallback)(const otIp6AddressInfo *aAddressInfo, bool aIsAdded, void *aContext)

يتم استدعاء المؤشر عند إضافة عنوان IPv6 داخلي أو إزالته.

التفاصيل
المَعلمات
[in] aAddressInfo
مؤشر يشير إلى معلومات عنوان IPv6.
[in] aIsAdded
TRUE إذا تمت إضافة aAddress، وFALSE إذا تمت إزالة aAddress.
[in] aContext
مؤشر إلى السياق الخاص بالتطبيق.

otIp6AddressComponents

struct otIp6AddressComponents otIp6AddressComponents

يُمثِّل مكونات عنوان IPv6.

otIp6AddressInfo

struct otIp6AddressInfo otIp6AddressInfo

يمثل معلومات عنوان IPv6.

otIp6InterfaceIdentifier

struct otIp6InterfaceIdentifier otIp6InterfaceIdentifier

يُمثِّل ذلك معرِّف الواجهة لعنوان IPv6.

otIp6NetworkPrefix

struct otIp6NetworkPrefix otIp6NetworkPrefix

يُمثِّل بادئة الشبكة لعنوان IPv6 (أهم 64 بت من العنوان).

otIp6Prefix

struct otIp6Prefix otIp6Prefix

يُمثِّل بادئة IPv6.

otIp6ReceiveCallback

void(* otIp6ReceiveCallback)(otMessage *aMessage, void *aContext)

يتم استدعاء المؤشر عند استلام مخطط بيانات IPv6.

التفاصيل
المَعلمات
[in] aMessage
يشير إلى المخزن المؤقت للرسائل الذي يحتوي على مخطط بيانات IPv6 الذي تم استلامه. تنقل هذه الدالة ملكية aMessage إلى متلقي معاودة الاتصال. ويجب أن يحرر متلقي معاودة الاتصال الرسالة بعد معالجتها (يمكنك الاطّلاع على otMessageFree()).
[in] aContext
مؤشر إلى السياق الخاص بالتطبيق.

otIp6RegisterMulticastListenersCallback

void(* otIp6RegisterMulticastListenersCallback)(void *aContext, otError aError, uint8_t aMlrStatus, const otIp6Address *aFailedAddresses, uint8_t aFailedAddressNum)

تم استدعاء المؤشر لعرض نتائج otIp6RegisterMulticastListeners.

التفاصيل
المَعلمات
[in] aContext
مؤشر لسياق المستخدم.
[in] aError
OT_ERROR_NONE عند إرسال MLR.req بنجاح وتلقي MLR.rsp، OT_ERROR_RESPONSE_QUANTITY عند تعذّر استلام MLR.rsp، OT_ERROR_PARSE عند تعذّر تحليل MLR.rsp.
[in] aMlrStatus
حالة تسجيل مستمع البث المتعدد عندما تكون قيمة aError OT_ERROR_NONE.
[in] aFailedAddresses
مؤشر إلى عناوين IPv6 التي تعذّر تنفيذها عندما تكون aError OT_ERROR_NONE.
[in] aFailedAddressNum
عدد عناوين IPv6 التي تعذّر تنفيذها عندما تكون قيمة aError OT_ERROR_NONE.
راجِع أيضًا:
otIp6RegisterMulticastListeners

otIp6SlaacPrefixFilter

bool(* otIp6SlaacPrefixFilter)(otInstance *aInstance, const otIp6Prefix *aPrefix)

يتيح المؤشر للمستخدم فلترة البادئات ولا يسمح بإضافة عنوان SLAAC استنادًا إلى بادئة.

يمكن استخدام otIp6SetSlaacPrefixFilter() لضبط معالج الفلتر. يتم استدعاء معالج الفلتر من خلال وحدة SLAAC عندما تكون على وشك إضافة عنوان SLAAC بناءً على بادئة. وتحدد القيمة المعروضة المنطقية ما إذا كان العنوان تمت فلترته (لم تتم إضافته) أم لا.

التفاصيل
المَعلمات
[in] aInstance
يشير هذا المصطلح إلى مؤشر لمثيل OpenThread.
[in] aPrefix
يشير هذا المصطلح إلى مؤشر لبادئة قبل إضافة عنوان SLAAC لها.
قيم الإرجاع
TRUE
يشير إلى أن عنوان SLAAC الذي يستند إلى البادئة يجب أن تتم فلترته وألا تتم إضافته.
FALSE
يشير إلى أنه يجب إضافة عنوان SLAAC بناءً على البادئة.

otMessageInfo

struct otMessageInfo otMessageInfo

يُمثِّل عناوين مقبس بروتوكول IPv6 المحلية والنظيرة.

otNetifAddress

struct otNetifAddress otNetifAddress

يمثّل عنوان البث الأحادي لواجهة شبكة IPv6.

otNetifMulticastAddress

struct otNetifMulticastAddress otNetifMulticastAddress

يمثّل عنوان البث المتعدد لواجهة شبكة IPv6.

otPacketsAndBytes

struct otPacketsAndBytes otPacketsAndBytes

تمثل عدادات الحزم ووحدات البايت.

otSockAddr

struct otSockAddr otSockAddr

يُمثِّل عنوان مقبس IPv6.

المتغيرات

OT_TOOL_PACKED_END

OT_TOOL_PACKED_BEGIN struct otIp6InterfaceIdentifier OT_TOOL_PACKED_END

الدوال

otIp6AddUnicastAddress

otError otIp6AddUnicastAddress(
  otInstance *aInstance,
  const otNetifAddress *aAddress
)

إضافة عنوان واجهة الشبكة إلى واجهة سلسلة المحادثات.

يتم نسخ المثيل الذي تم تمريره aAddress من خلال واجهة سلسلة المحادثات. لا تتوافق واجهة سلسلة المحادثات إلا مع عدد ثابت من العناوين الأحادية التي تتم إضافتها خارجيًا. يمكنك الاطّلاع على OPENTHREAD_CONFIG_IP6_MAX_EXT_UCAST_ADDRS.

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

otIp6AddUnsecurePort

otError otIp6AddUnsecurePort(
  otInstance *aInstance,
  uint16_t aPort
)

إضافة منفذ إلى قائمة المنافذ غير الآمنة المسموح بها

التفاصيل
المَعلمات
[in] aInstance
يشير هذا المصطلح إلى مؤشر لمثيل OpenThread.
[in] aPort
قيمة المنفذ.
قيم الإرجاع
OT_ERROR_NONE
تمت إضافة المنفذ بنجاح إلى قائمة المنافذ غير الآمنة المسموح بها.
OT_ERROR_INVALID_ARGS
المنفذ غير صالح (القيمة 0 محجوزة للاستخدام الداخلي).
OT_ERROR_NO_BUFS
قائمة المنافذ غير الآمنة ممتلئة.

otIp6AddressFromString

otError otIp6AddressFromString(
  const char *aString,
  otIp6Address *aAddress
)

تحوِّل سلسلة عناوين IPv6 التي يمكن لشخص عادي قراءتها إلى تمثيل ثنائي.

التفاصيل
المَعلمات
[in] aString
مؤشر إلى سلسلة تم إنهاؤها فارغة (NULL).
[out] aAddress
مؤشر إلى عنوان IPv6.
قيم الإرجاع
OT_ERROR_NONE
تم تحليل aString وتعديل aAddress بنجاح.
OT_ERROR_PARSE
تعذَّر تحليل aString كعنوان IPv6.

otIp6AddressToString

void otIp6AddressToString(
  const otIp6Address *aAddress,
  char *aBuffer,
  uint16_t aSize
)

تحوِّل عنوان IPv6 معيّنًا إلى سلسلة يمكن لشخص عادي قراءتها.

يتم تنسيق سلسلة عنوان IPv6 على شكل 16 قيمة سداسية عشرية مفصولة بـ ":" (أي "%x:%x:%x:...:%x").

إذا كانت السلسلة الناتجة لا تتوافق مع aBuffer (ضمن أحرف aSize)، سيتم اقتطاع السلسلة، ولكن يتم دائمًا إبقاء قيمة السلسلة فارغة.

التفاصيل
المَعلمات
[in] aAddress
يشير هذا المصطلح إلى مؤشر إلى عنوان IPv6 (يجب ألا يكون فارغًا).
[out] aBuffer
مؤشر إلى صفيف أحرف لإخراج السلسلة (يجب ألا تكون فارغة).
[in] aSize
حجم aBuffer (بالبايت). يُنصح باستخدام "OT_IP6_ADDRESS_STRING_SIZE".

otIp6ArePrefixesEqual

bool otIp6ArePrefixesEqual(
  const otIp6Prefix *aFirst,
  const otIp6Prefix *aSecond
)

اختبِر ما إذا كانت بادئتا IPv6 متطابقتَين.

التفاصيل
المَعلمات
[in] aFirst
يشير هذا المصطلح إلى مؤشر إلى بادئة IPv6 الأولى لمقارنتها.
[in] aSecond
يشير هذا المصطلح إلى مؤشر لبادئة IPv6 الثانية لمقارنتها.
قيم الإرجاع
TRUE
بادئتا IPv6 متماثلتان.
FALSE
بادئتا IPv6 غير متطابقتين.

otIp6GetBorderRoutingCounters

const otBorderRoutingCounters * otIp6GetBorderRoutingCounters(
  otInstance *aInstance
)

الحصول على عدادات التوجيه الحدودي.

يجب تفعيل ميزة OPENTHREAD_CONFIG_IP6_BR_COUNTERS_ENABLE الخاصة بوقت الإصدار.

التفاصيل
المَعلمات
[in] aInstance
يشير هذا المصطلح إلى مؤشر لمثيل OpenThread.
المرتجعات
مؤشر إلى عدادات "التوجيه الحدودي".

otIp6GetMulticastAddresses

const otNetifMulticastAddress * otIp6GetMulticastAddresses(
  otInstance *aInstance
)

للحصول على قائمة بعناوين البث المتعدد IPv6 المشتركة في واجهة سلسلة المحادثات.

التفاصيل
المَعلمات
[in] aInstance
يشير هذا المصطلح إلى مؤشر لمثيل OpenThread.
المرتجعات
مؤشر إلى أول عنوان بث متعدّد لواجهة الشبكة الإعلانية.

otIp6GetPrefix

void otIp6GetPrefix(
  const otIp6Address *aAddress,
  uint8_t aLength,
  otIp6Prefix *aPrefix
)

الحصول على بادئة بـ aLength من aAddress

التفاصيل
المَعلمات
[in] aAddress
مؤشر إلى عنوان IPv6.
[in] aLength
طول البادئة بالبت.
[out] aPrefix
مؤشر لإخراج بادئة IPv6.

otIp6GetUnicastAddresses

const otNetifAddress * otIp6GetUnicastAddresses(
  otInstance *aInstance
)

للحصول على قائمة بعناوين IPv6 المخصَّصة لواجهة Thread.

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

otIp6GetUnsecurePorts

const uint16_t * otIp6GetUnsecurePorts(
  otInstance *aInstance,
  uint8_t *aNumEntries
)

لعرض مؤشر إلى قائمة المنافذ غير الآمنة

التفاصيل
المَعلمات
[in] aInstance
يشير هذا المصطلح إلى مؤشر لمثيل OpenThread.
[out] aNumEntries
عدد الإدخالات في القائمة.
المرتجعات
مؤشر يشير إلى قائمة المنافذ غير الآمنة

otIp6HasUnicastAddress

bool otIp6HasUnicastAddress(
  otInstance *aInstance,
  const otIp6Address *aAddress
)

يشير إلى ما إذا كان عنوان IPv6 الأحادي قد تم تعيينه لواجهة Thread أم لا.

التفاصيل
المَعلمات
[in] aInstance
يشير هذا المصطلح إلى مؤشر لمثيل OpenThread.
[in] aAddress
مؤشر يشير إلى العنوان الأحادي.
قيم الإرجاع
TRUE
في حال تخصيص aAddress لواجهة سلسلة المحادثات
FALSE
إذا لم يتم تخصيص aAddress لواجهة سلسلة المحادثات

otIp6IsAddressEqual

bool otIp6IsAddressEqual(
  const otIp6Address *aFirst,
  const otIp6Address *aSecond
)

اختبر ما إذا كان عنوانا IPv6 متطابقين.

التفاصيل
المَعلمات
[in] aFirst
مؤشر إلى أول عنوان IPv6 لمقارنته.
[in] aSecond
مؤشر إلى عنوان IPv6 الثاني للمقارنة.
قيم الإرجاع
TRUE
عنوانا IPv6 متطابقان.
FALSE
عنوانا IPv6 مختلفان.

otIp6IsAddressUnspecified

bool otIp6IsAddressUnspecified(
  const otIp6Address *aAddress
)

يشير إلى ما إذا كان عنوان IPv6 المحدد هو العنوان غير المحدد أم لا.

التفاصيل
المَعلمات
[in] aAddress
مؤشر إلى عنوان IPv6.
قيم الإرجاع
TRUE
إذا كان عنوان IPv6 هو العنوان غير المحدد.
FALSE
إذا لم يكن عنوان IPv6 هو العنوان غير المحدد.

otIp6IsEnabled

bool otIp6IsEnabled(
  otInstance *aInstance
)

يشير إلى ما إذا كانت واجهة IPv6 جاهزة أم لا.

التفاصيل
المَعلمات
[in] aInstance
يشير هذا المصطلح إلى مؤشر لمثيل OpenThread.
قيم الإرجاع
TRUE
واجهة IPv6 مُفعَّلة.
FALSE
واجهة IPv6 غير مفعّلة.

otIp6IsMulticastPromiscuousEnabled

bool otIp6IsMulticastPromiscuousEnabled(
  otInstance *aInstance
)

تتحقّق مما إذا كان الوضع المختلط للإرسال المتعدد مفعَّلاً على واجهة سلسلة المحادثات.

التفاصيل
المَعلمات
[in] aInstance
يشير هذا المصطلح إلى مؤشر لمثيل OpenThread.
راجِع أيضًا:
otIp6SetMulticastPromiscuousEnabled

otIp6IsReceiveFilterEnabled

bool otIp6IsReceiveFilterEnabled(
  otInstance *aInstance
)

يشير إلى ما إذا كانت زيارات عنصر التحكُّم في سلسلة المحادثات تتم فلترتها عند تسليم مخططات بيانات IPv6 من خلال معاودة الاتصال المحددة في otIp6SetReceiveCallback().

التفاصيل
المَعلمات
[in] aInstance
يشير هذا المصطلح إلى مؤشر لمثيل OpenThread.
المرتجعات
TRUE في حالة تصفية حركة مرور التحكم في سلسلة التعليمات، أو FALSE في الحالات الأخرى.
يُرجى الاطّلاع أيضًا على:
otIp6SetReceiveCallback
otIp6SetReceiveFilterEnabled

otIp6IsSlaacEnabled

bool otIp6IsSlaacEnabled(
  otInstance *aInstance
)

يشير إلى ما إذا كانت وحدة SLAAC مفعّلة أم لا.

يجب تفعيل ميزة OPENTHREAD_CONFIG_IP6_SLAAC_ENABLE الخاصة بوقت الإصدار.

التفاصيل
قيم الإرجاع
TRUE
تم تفعيل وحدة SLAAC.
FALSE
تم إيقاف وحدة SLAAC.

otIp6NewMessage

otMessage * otIp6NewMessage(
  otInstance *aInstance,
  const otMessageSettings *aSettings
)

تخصيص مورد احتياطي جديد للرسائل لإرسال رسالة IPv6.

التفاصيل
المَعلمات
[in] aInstance
يشير هذا المصطلح إلى مؤشر لمثيل OpenThread.
[in] aSettings
مؤشر إلى إعدادات الرسالة أو فارغ لضبط الإعدادات التلقائية.
المرتجعات
يشير هذا المصطلح إلى مؤشر المخزن المؤقت للرسائل أو NULL في حال عدم توفّر أي مخازن مؤقتة للرسائل أو كانت المَعلمات غير صالحة.
يمكنك الاطّلاع أيضًا على:
otMessageFree

otIp6NewMessageFromBuffer

otMessage * otIp6NewMessageFromBuffer(
  otInstance *aInstance,
  const uint8_t *aData,
  uint16_t aDataLength,
  const otMessageSettings *aSettings
)

خصص موردًا احتياطيًا جديدًا للرسائل واكتب مخطط بيانات IPv6 إلى المخزن المؤقت للرسائل لإرسال رسالة IPv6.

التفاصيل
المَعلمات
[in] aInstance
يشير هذا المصطلح إلى مؤشر لمثيل OpenThread.
[in] aData
يشير هذا المصطلح إلى مؤشر المخزن المؤقت لمخطط بيانات IPv6.
[in] aDataLength
حجم المخزن المؤقت لمخطط بيانات IPv6 المشار إليه بواسطة aData.
[in] aSettings
مؤشر إلى إعدادات الرسالة أو فارغ لضبط الإعدادات التلقائية.
المرتجعات
مؤشر يشير إلى الرسالة أو فارغ في حال عدم كتابة رأس IPv6 أو توفُّر مخازن مؤقتة للرسائل.
يمكنك الاطّلاع أيضًا على:
otMessageFree

otIp6PrefixFromString

otError otIp6PrefixFromString(
  const char *aString,
  otIp6Prefix *aPrefix
)

تحوِّل سلسلة بادئة IPv6 التي يمكن لشخص عادي قراءتها إلى تمثيل ثنائي.

يجب أن تكون المَعلمة aString عبارة عن سلسلة بالتنسيق "

/"، حيث يتم عرض
هو عنوان IPv6 و هو طول البادئة.

التفاصيل
المَعلمات
[in] aString
مؤشر إلى سلسلة تم إنهاؤها فارغة (NULL).
[out] aPrefix
يشير هذا المصطلح إلى مؤشر لبادئة IPv6.
قيم الإرجاع
OT_ERROR_NONE
تم بنجاح تحليل السلسلة باعتبارها بادئة IPv6 وتعديل aPrefix.
OT_ERROR_PARSE
تعذَّر تحليل aString كبادئة IPv6.

otIp6PrefixMatch

uint8_t otIp6PrefixMatch(
  const otIp6Address *aFirst,
  const otIp6Address *aSecond
)

لعرض طول تطابق البادئة (بت) لعنواني IPv6.

التفاصيل
المَعلمات
[in] aFirst
يشير هذا المصطلح إلى أول عنوان من عناوين IPv6.
[in] aSecond
مؤشر إلى عنوان IPv6 الثاني.
المرتجعات
تتطابق البادئة مع الطول بوحدات البت.

otIp6PrefixToString

void otIp6PrefixToString(
  const otIp6Prefix *aPrefix,
  char *aBuffer,
  uint16_t aSize
)

تحوِّل بادئة IPv6 المحدَّدة إلى سلسلة يمكن لشخص عادي قراءتها.

يتم تنسيق سلسلة عنوان IPv6 على النحو التالي: "%x:%x:%x:...[::]/plen".

إذا كانت السلسلة الناتجة لا تتوافق مع aBuffer (ضمن أحرف aSize)، سيتم اقتطاع السلسلة، ولكن يتم دائمًا إبقاء قيمة السلسلة فارغة.

التفاصيل
المَعلمات
[in] aPrefix
يشير هذا المصطلح إلى مؤشر لبادئة IPv6 (يجب ألا تكون فارغة).
[out] aBuffer
مؤشر إلى صفيف أحرف لإخراج السلسلة (يجب ألا تكون فارغة).
[in] aSize
حجم aBuffer (بالبايت). يُنصح باستخدام "OT_IP6_PREFIX_STRING_SIZE".

otIp6ProtoToString

const char * otIp6ProtoToString(
  uint8_t aIpProto
)

لتحويل رقم بروتوكول IP معيّن إلى سلسلة يمكن لشخص عادي قراءتها.

التفاصيل
المَعلمات
[in] aIpProto
رقم بروتوكول IP (التعداد OT_IP6_PROTO_*).
المرتجعات
سلسلة تمثل aIpProto.

otIp6RegisterMulticastListeners

otError otIp6RegisterMulticastListeners(
  otInstance *aInstance,
  const otIp6Address *aAddresses,
  uint8_t aAddressNum,
  const uint32_t *aTimeout,
  otIp6RegisterMulticastListenersCallback aCallback,
  void *aContext
)

لتسجيل أجهزة استماع البث المتعدد على جهاز التوجيه الأساسي الرئيسي.

يجب تفعيل كل من OPENTHREAD_CONFIG_TMF_PROXY_MLR_ENABLE وOPENTHREAD_CONFIG_COMMISSIONER_ENABLE.

التفاصيل
المَعلمات
[in] aInstance
يشير هذا المصطلح إلى مؤشر لمثيل OpenThread.
[in] aAddresses
مصفوفة عناوين البث المتعدد للتسجيل.
[in] aAddressNum
عدد عنوان البث المتعدد المطلوب تسجيله (0 إذا كانت قيمة aAddresses فارغة)
[in] aTimeout
مؤشر يشير إلى قيمة المهلة (بالثواني) المراد تضمينها في MLR.req. تؤدي قيمة المهلة 0 إلى إزالة أداة معالجة البث المتعدد المقابلة. وإذا كانت قيمة فارغة، فلن يحتوي MLR.req على مهلة Tlv تلقائيًا.
[in] aCallback
مؤشر لدالة رد الاتصال.
[in] aContext
مؤشر لسياق المستخدم.
قيم الإرجاع
OT_ERROR_NONE
تم إرسال MLR.req بنجاح. سيتم استدعاء aCallback إذا كانت هذه الطريقة تعرض OT_ERROR_NONE.
OT_ERROR_BUSY
في حال كان التسجيل السابق مستمرًا
OT_ERROR_INVALID_ARGS
إذا كانت وسيطة واحدة أو أكثر غير صالحة.
OT_ERROR_INVALID_STATE
إذا لم يكن الجهاز في الحالة الصالحة لإرسال MLR.req (على سبيل المثال، لم يتم تشغيل المفوِّض، لم يتم العثور على جهاز التوجيه الأساسي الأساسي).
OT_ERROR_NO_BUFS
في حال توفُّر مخازن مؤقتة للرسائل.
راجِع أيضًا:
otIp6RegisterMulticastListenersCallback

otIp6RemoveAllUnsecurePorts

void otIp6RemoveAllUnsecurePorts(
  otInstance *aInstance
)

إزالة جميع المنافذ من قائمة المنافذ غير الآمنة المسموح بها

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

otIp6RemoveUnicastAddress

otError otIp6RemoveUnicastAddress(
  otInstance *aInstance,
  const otIp6Address *aAddress
)

إزالة عنوان واجهة الشبكة من واجهة سلسلة المحادثات

التفاصيل
المَعلمات
[in] aInstance
يشير هذا المصطلح إلى مؤشر لمثيل OpenThread.
[in] aAddress
مؤشر إلى عنوان IP.
قيم الإرجاع
OT_ERROR_NONE
تمت إزالة عنوان واجهة الشبكة بنجاح.
OT_ERROR_INVALID_ARGS
إنّ عنوان IP المُشار إليه في aAddress هو عنوان داخلي.
OT_ERROR_NOT_FOUND
لم يتم العثور على عنوان IP المشار إليه من خلال aAddress.

otIp6RemoveUnsecurePort

otError otIp6RemoveUnsecurePort(
  otInstance *aInstance,
  uint16_t aPort
)

إزالة منفذ من قائمة المنافذ غير الآمنة المسموح بها

التفاصيل
المَعلمات
[in] aInstance
يشير هذا المصطلح إلى مؤشر لمثيل OpenThread.
[in] aPort
قيمة المنفذ.
قيم الإرجاع
OT_ERROR_NONE
تمت إزالة المنفذ بنجاح من قائمة المنافذ غير الآمنة المسموح بها.
OT_ERROR_INVALID_ARGS
المنفذ غير صالح (القيمة 0 محجوزة للاستخدام الداخلي).
OT_ERROR_NOT_FOUND
لم يتم العثور على المنفذ في قائمة المنافذ غير الآمنة.

otIp6ResetBorderRoutingCounters

void otIp6ResetBorderRoutingCounters(
  otInstance *aInstance
)

إعادة تعيين عدادات التوجيه الحدودي.

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

otIp6SelectSourceAddress

otError otIp6SelectSourceAddress(
  otInstance *aInstance,
  otMessageInfo *aMessageInfo
)

تحديد عنوان مصدر OpenThread

التفاصيل
المَعلمات
[in] aInstance
يشير هذا المصطلح إلى مؤشر لمثيل OpenThread.
[in,out] aMessageInfo
مؤشر يؤدي إلى معلومات الرسالة
قيم الإرجاع
OT_ERROR_NONE
تم العثور على عنوان مصدر وتم ملؤه في mSockAddr لـ aMessageInfo.
OT_ERROR_NOT_FOUND
لم يتم العثور على عنوان مصدر ولم يتم تغيير aMessageInfo.

otIp6Send

otError otIp6Send(
  otInstance *aInstance,
  otMessage *aMessage
)

يتم إرسال مخطط بيانات IPv6 من خلال واجهة Thread.

ينقل المتصل ملكية aMessage عند إجراء هذه المكالمة. سيعمل OpenThread على تفريغ aMessage عند اكتمال المعالجة، بما في ذلك عند عرض قيمة بخلاف OT_ERROR_NONE.

التفاصيل
المَعلمات
[in] aInstance
يشير هذا المصطلح إلى مؤشر لمثيل OpenThread.
[in] aMessage
يشير هذا المصطلح إلى مؤشر للمخزن المؤقت للرسائل يحتوي على مخطط بيانات IPv6.
قيم الإرجاع
OT_ERROR_NONE
تمت معالجة الرسالة بنجاح.
OT_ERROR_DROP
تمت صياغة الرسالة بشكل جيد، ولكن لم تتم معالجتها بالكامل بسبب قواعد معالجة الحِزم.
OT_ERROR_NO_BUFS
تعذَّر تخصيص الموارد الاحتياطية اللازمة للرسائل عند معالجة مخطط البيانات.
OT_ERROR_NO_ROUTE
لا يتوفّر مسار للمضيف.
OT_ERROR_INVALID_SOURCE_ADDRESS
عنوان المصدر غير صالح، على سبيل المثال، عنوان البث المتعدد أو عنوان البث المتعدد.
OT_ERROR_PARSE
تمت مصادفة رأس مكتوب بشكلٍ غير صحيح عند معالجة الرسالة.
OT_ERROR_INVALID_ARGS
البيانات الوصفية للرسالة غير صالحة، على سبيل المثال تستخدم الرسالة OT_MESSAGE_ORIGIN_THREAD_NETIF كمصدرها.

otIp6SetAddressCallback

void otIp6SetAddressCallback(
  otInstance *aInstance,
  otIp6AddressCallback aCallback,
  void *aCallbackContext
)

يعمل على تسجيل معاودة الاتصال للإبلاغ عن التغييرات الداخلية في عنوان IPv6.

التفاصيل
المَعلمات
[in] aInstance
يشير هذا المصطلح إلى مؤشر لمثيل OpenThread.
[in] aCallback
يشير هذا المصطلح إلى دالة يتم استدعاؤها عند إضافة أو إزالة عنوان IPv6 داخلي. فارغة لإيقاف معاودة الاتصال.
[in] aCallbackContext
مؤشر إلى السياق الخاص بالتطبيق.

otIp6SetEnabled

otError otIp6SetEnabled(
  otInstance *aInstance,
  bool aEnabled
)

يؤدي إلى عرض واجهة IPv6 لأعلى أو لأسفل.

استدعِ هذا لتفعيل اتصال IPv6 أو إيقافه.

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

otIp6SetMeshLocalIid

otError otIp6SetMeshLocalIid(
  otInstance *aInstance,
  const otIp6InterfaceIdentifier *aIid
)

تضبط هذه السياسة معرّف IID المحلي المتداخل (لأغراض الاختبار).

يجب توفّر OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE.

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

otIp6SetMulticastPromiscuousEnabled

void otIp6SetMulticastPromiscuousEnabled(
  otInstance *aInstance,
  bool aEnabled
)

تؤدي هذه السياسة إلى تفعيل الوضع المختلط للإرسال المتعدد أو إيقافه على واجهة سلسلة المحادثات.

التفاصيل
المَعلمات
[in] aInstance
يشير هذا المصطلح إلى مؤشر لمثيل OpenThread.
[in] aEnabled
صحيح لتمكين الوضع المختلط للإرسال المتعدد وFALSE في الحالات الأخرى.
راجِع أيضًا:
otIp6IsMulticastPromiscuousEnabled

otIp6SetReceiveCallback

void otIp6SetReceiveCallback(
  otInstance *aInstance,
  otIp6ReceiveCallback aCallback,
  void *aCallbackContext
)

تسجل معاودة الاتصال لتقديم مخططات بيانات IPv6 المستلمة.

حسب الإعدادات التلقائية، لا تجتاز معاودة الاتصال هذه عدد زيارات عنصر التحكّم في سلسلة المحادثات. راجِع otIp6SetReceiveFilterEnabled() لتغيير إعداد فلتر عدد زيارات التحكُّم في سلسلة المحادثات.

التفاصيل
المَعلمات
[in] aInstance
يشير هذا المصطلح إلى مؤشر لمثيل OpenThread.
[in] aCallback
يشير هذا المصطلح إلى مؤشر يشير إلى دالة يتم استدعاؤها عند تلقّي مخطط بيانات IPv6 أو قيمة فارغة (NULL) لإيقاف الردّ.
[in] aCallbackContext
مؤشر إلى السياق الخاص بالتطبيق.
راجِع أيضًا:
otIp6IsReceiveFilterEnabled
otIp6SetReceiveFilterEnabled

otIp6SetReceiveFilterEnabled

void otIp6SetReceiveFilterEnabled(
  otInstance *aInstance,
  bool aEnabled
)

تحدِّد ما إذا كانت تتم فلترة عدد زيارات التحكُّم في سلسلة المحادثات عند تسليم مخططات بيانات IPv6 من خلال معاودة الاتصال المحدَّدة في otIp6SetReceiveCallback().

التفاصيل
المَعلمات
[in] aInstance
يشير هذا المصطلح إلى مؤشر لمثيل OpenThread.
[in] aEnabled
TRUE في حالة تصفية حركة مرور التحكم في سلسلة التعليمات، أو FALSE في الحالات الأخرى.
راجِع أيضًا:
otIp6SetReceiveCallback
otIsReceivedIp6FilterEnabled

otIp6SetSlaacEnabled

void otIp6SetSlaacEnabled(
  otInstance *aInstance,
  bool aEnabled
)

تعمل على تفعيل/إيقاف وحدة SLAAC.

يجب تفعيل ميزة OPENTHREAD_CONFIG_IP6_SLAAC_ENABLE الخاصة بوقت الإصدار.

عند تفعيل وحدة SLAAC، تتم إضافة عناوين SLAAC (بناءً على بادئات الشبكة المتداخلة في بيانات الشبكة) إلى الواجهة. عند إيقاف وحدة SLAAC، تتم إزالة أي عنوان SLAAC تمت إضافته سابقًا.

التفاصيل
المَعلمات
[in] aInstance
يشير هذا المصطلح إلى مؤشر لمثيل OpenThread.
[in] aEnabled
TRUE للتمكين، FALSE للتعطيل.

otIp6SetSlaacPrefixFilter

void otIp6SetSlaacPrefixFilter(
  otInstance *aInstance,
  otIp6SlaacPrefixFilter aFilter
)

تضبط معالِج فلتر وحدة SLAAC.

يجب تفعيل ميزة OPENTHREAD_CONFIG_IP6_SLAAC_ENABLE الخاصة بوقت الإصدار.

يتم استدعاء معالج عوامل التصفية بواسطة وحدة SLAAC عندما تكون على وشك إضافة عنوان SLAAC استنادًا إلى بادئة لتحديد ما إذا كان يجب إضافة العنوان أم لا.

يعمل معالج الفلتر "فارغ" على إيقاف الفلترة والسماح بإضافة جميع عناوين SLAAC.

إذا لم يتم استدعاء هذه الدالة، فسيكون الفلتر الافتراضي المستخدم في وحدة SLAAC هو "فارغ" (يتم إيقاف التصفية).

التفاصيل
المَعلمات
[in] aInstance
يشير هذا المصطلح إلى مؤشر لمثيل OpenThread.
[in] aFilter
مؤشر يشير إلى معالِج فلتر بادئة SLAAC أو "NULL" (فارغ) لإيقاف الفلترة.

otIp6SockAddrToString

void otIp6SockAddrToString(
  const otSockAddr *aSockAddr,
  char *aBuffer,
  uint16_t aSize
)

تحوِّل عنوان مقبس IPv6 معيّن إلى سلسلة يمكن لشخص عادي قراءتها.

تنسيق سلسلة عنوان مقبس IPv6 هو [address]:port حيث يتم عرض address على شكل 16 قيمة ست عشرية مفصولة بواسطة : وport هو رقم المنفذ بالتنسيق العشري، على سبيل المثال "[%x:%x:...:%x]:%u".

إذا كانت السلسلة الناتجة لا تتوافق مع aBuffer (ضمن أحرف aSize)، سيتم اقتطاع السلسلة، ولكن يتم دائمًا إبقاء قيمة السلسلة فارغة.

التفاصيل
المَعلمات
[in] aSockAddr
يشير هذا المصطلح إلى مؤشر إلى عنوان مقبس IPv6 (يجب ألا يكون فارغًا).
[out] aBuffer
مؤشر إلى صفيف أحرف لإخراج السلسلة (يجب ألا تكون فارغة).
[in] aSize
حجم aBuffer (بالبايت). يُنصح باستخدام "OT_IP6_SOCK_ADDR_STRING_SIZE".

otIp6SubscribeMulticastAddress

otError otIp6SubscribeMulticastAddress(
  otInstance *aInstance,
  const otIp6Address *aAddress
)

اشتراك واجهة سلسلة المحادثات بعنوان البث المتعدد لواجهة الشبكة

سيتم نسخ المثيل aAddress الذي تم تمريره من خلال واجهة سلسلة المحادثات. لا تتوافق واجهة سلسلة المحادثات إلا مع عدد ثابت من عناوين البث المتعدد التي تتم إضافتها خارجيًا. يمكنك الاطّلاع على OPENTHREAD_CONFIG_IP6_MAX_EXT_MCAST_ADDRS.

التفاصيل
المَعلمات
[in] aInstance
يشير هذا المصطلح إلى مؤشر لمثيل OpenThread.
[in] aAddress
مؤشر إلى عنوان IP.
قيم الإرجاع
OT_ERROR_NONE
تم الاشتراك بنجاح في عنوان البث المتعدد لواجهة الشبكة.
OT_ERROR_ALREADY
عنوان البث المتعدد مشترِك من قبل.
OT_ERROR_INVALID_ARGS
عنوان IP المُشار إليه في aAddress هو عنوان بث متعدّد غير صالح.
OT_ERROR_REJECTED
إنّ عنوان IP المُشار إليه من خلال aAddress هو عنوان داخلي للبث المتعدد.
OT_ERROR_NO_BUFS
تخزِّن واجهة الشبكة حاليًا الحد الأقصى المسموح به لعناوين البث المتعدد.

otIp6UnsubscribeMulticastAddress

otError otIp6UnsubscribeMulticastAddress(
  otInstance *aInstance,
  const otIp6Address *aAddress
)

إلغاء اشتراك واجهة سلسلة المحادثات بعنوان البث المتعدد لواجهة الشبكة

التفاصيل
المَعلمات
[in] aInstance
يشير هذا المصطلح إلى مؤشر لمثيل OpenThread.
[in] aAddress
مؤشر إلى عنوان IP.
قيم الإرجاع
OT_ERROR_NONE
تم إلغاء اشتراكك بنجاح في عنوان البث المتعدد لواجهة الشبكة.
OT_ERROR_REJECTED
إنّ عنوان IP المُشار إليه في aAddress هو عنوان داخلي.
OT_ERROR_NOT_FOUND
لم يتم العثور على عنوان IP المشار إليه من خلال aAddress.

وحدات ماكرو

OT_IP6_ADDRESS_SIZE

 OT_IP6_ADDRESS_SIZE 16

حجم عنوان IPv6 (بالبايت)

OT_IP6_ADDRESS_STRING_SIZE

 OT_IP6_ADDRESS_STRING_SIZE 40

الحجم المُقترَح لتمثيل السلسلة لعنوان IPv6

OT_IP6_HEADER_PROTO_OFFSET

 OT_IP6_HEADER_PROTO_OFFSET 6

إزاحة حقل proto في رأس IPv6 (بالبايت)

OT_IP6_HEADER_SIZE

 OT_IP6_HEADER_SIZE 40

حجم رأس IPv6 (بالبايت)

OT_IP6_IID_SIZE

 OT_IP6_IID_SIZE 8

حجم معرّف واجهة IPv6 (بالبايت)

OT_IP6_MAX_MLR_ADDRESSES

 OT_IP6_MAX_MLR_ADDRESSES 15

الحد الأقصى لعدد عناوين IPv6 المتوافقة مع "تسجيل المستمعين المتعددين"

OT_IP6_PREFIX_BITSIZE

 OT_IP6_PREFIX_BITSIZE (OT_IP6_PREFIX_SIZE * 8)

حجم بادئة IPv6 (بت)

OT_IP6_PREFIX_SIZE

 OT_IP6_PREFIX_SIZE 8

حجم بادئة IPv6 (بالبايت)

OT_IP6_PREFIX_STRING_SIZE

 OT_IP6_PREFIX_STRING_SIZE 45

الحجم المُقترَح لتمثيل السلسلة لبادئة IPv6.

OT_IP6_SOCK_ADDR_STRING_SIZE

 OT_IP6_SOCK_ADDR_STRING_SIZE 48

الحجم المُقترَح لتمثيل السلسلة لعنوان مقبس IPv6.

المراجِع

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