Google is committed to advancing racial equity for Black communities. See how.

IPv6

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

ملخص

التعداد

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.
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
}
تعداد
أرقام بروتوكول الإنترنت.

النوع

otIp6Address typedef
struct otIp6Address
تمثل هذه البنية عنوان IPv6.
otIp6AddressCallback )(const otIp6AddressInfo *aAddressInfo, bool aIsAdded, void *aContext) typedef
void(*
يتم استدعاء مؤشر الوظيفة هذا عند إضافة عنوان IPv6 داخلي أو إزالته.
otIp6AddressComponents typedef
تمثل هذه البنية مكونات عنوان IPv6.
otIp6AddressInfo typedef
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
تمثل هذه البنية عناوين مقبس IPv6 المحلي والنظير.
otNetifAddress typedef
تمثل هذه البنية عنوان الإرسال الأحادي لواجهة شبكة IPv6.
otNetifMulticastAddress typedef
تمثل هذه البنية عنوان البث المتعدد لواجهة شبكة IPv6.
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 متطابقتين.
otIp6GetMulticastAddresses ( otInstance *aInstance)
احصل على قائمة بعناوين البث المتعدد IPv6 المشتركة في واجهة الموضوع.
otIp6GetUnicastAddresses ( otInstance *aInstance)
احصل على قائمة عناوين IPv6 المعينة لواجهة الموضوع.
otIp6GetUnsecurePorts ( otInstance *aInstance, uint8_t *aNumEntries)
const uint16_t *
تقوم هذه الوظيفة بإرجاع مؤشر إلى قائمة المنافذ غير الآمنة.
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.
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)
تقوم هذه الوظيفة بإزالة منفذ من قائمة المنافذ غير الآمنة المسموح بها.
otIp6SelectSourceAddress ( otInstance *aInstance, otMessageInfo *aMessageInfo)
تقوم هذه الوظيفة بتحديد عنوان مصدر OpenThread.
otIp6Send ( otInstance *aInstance, otMessage *aMessage)
ترسل هذه الوظيفة مخطط بيانات IPv6 عبر واجهة مؤشر الترابط.
otIp6SetAddressCallback ( otInstance *aInstance, otIp6AddressCallback aCallback, void *aCallbackContext)
void
تقوم هذه الوظيفة بتسجيل رد اتصال لإخطار تغييرات عنوان IPv6 الداخلية.
otIp6SetEnabled ( otInstance *aInstance, bool aEnabled)
تقوم هذه الوظيفة بإحضار واجهة IPv6 لأعلى / لأسفل.
otIp6SetMeshLocalIid ( otInstance *aInstance, const otIp6InterfaceIdentifier *aIid)
تحدد هذه الوظيفة Mesh Local 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)
قم بإلغاء الاشتراك في واجهة مؤشر الترابط في عنوان الإرسال المتعدد لواجهة الشبكة.

الهياكل

العنوان

تمثل هذه البنية عنوان IPv6.

otIp6AddressComponents

تمثل هذه البنية مكونات عنوان IPv6.

otIp6AddressInfo

يمثل هذا الهيكل معلومات عنوان IPv6.

otIp6InterfaceIdentifier

تمثل هذه البنية معرف الواجهة لعنوان IPv6.

otIp6NetworkPrefix

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

otIp6Prefix

تمثل هذه البنية بادئة IPv6.

otMessageInfo

يمثل هذا الهيكل عناوين مقبس IPv6 المحلي والنظير.

otNetifAddress

تمثل هذه البنية عنوان الإرسال الأحادي لواجهة شبكة IPv6.

otNetifMulticastAddress

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

otSockAddr

تمثل هذه البنية عنوان مأخذ توصيل IPv6.

النقابات

otIp6InterfaceIdentifier :: OT_TOOL_PACKED_FIELD

التعداد

تعداد مجهول

 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

العلاج بالصدمات الكهربائية (0)

OT_ECN_CAPABLE_1

العلاج بالصدمات الكهربائية (1)

OT_ECN_MARKED

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

OT_ECN_NOT_CAPABLE

غير العلاج بالصدمات الكهربائية.

تعداد مجهول

 anonymous enum

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

الخصائص
OT_IP6_PROTO_DST_OPTS

خيارات الوجهة لـ IPv6.

OT_IP6_PROTO_FRAGMENT

رأس جزء لـ IPv6.

OT_IP6_PROTO_HOP_OPTS

خيار قفزة من قفزة في IPv6.

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

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

النوع

العنوان

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

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
مؤشر إلى سياق خاص بالتطبيق.

otIp6 تسجيل

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_TIMEOUT عندما فشل في تلقي 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.
أنظر أيضا:
otIp6 تسجيل المستمعين المتعدد

مرشح otIp6SlaacPrefix

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

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

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

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

otMessageInfo

struct otMessageInfo otMessageInfo

يمثل هذا الهيكل عناوين مقبس IPv6 المحلي والنظير.

otNetifAddress

struct otNetifAddress otNetifAddress

تمثل هذه البنية عنوان الإرسال الأحادي لواجهة شبكة IPv6.

otNetifMulticastAddress

struct otNetifMulticastAddress otNetifMulticastAddress

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

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
تم تحليل السلسلة بنجاح.
OT_ERROR_INVALID_ARGS
فشل تحليل السلسلة.

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 .

otIp6ArePrefixes

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

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

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

otIp6GetMulticastAddresses

const otNetifMulticastAddress * otIp6GetMulticastAddresses(
  otInstance *aInstance
)

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

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

otIp6GetUnicastAddresses

const otNetifAddress * otIp6GetUnicastAddresses(
  otInstance *aInstance
)

احصل على قائمة عناوين IPv6 المعينة لواجهة الموضوع.

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

otIp6 احصل على منافذ غير آمنة

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

تقوم هذه الوظيفة بإرجاع مؤشر إلى قائمة المنافذ غير الآمنة.

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

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 في حالة تصفية حركة مرور التحكم في مؤشر الترابط ، وخطأ في الحالات الأخرى.
أنظر أيضا:
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 لضبط الإعدادات الافتراضية.
عائدات
مؤشر إلى المخزن المؤقت للرسالة أو 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
مؤشر إلى إعدادات الرسالة أو NULL لضبط الإعدادات الافتراضية.
عائدات
مؤشر للرسالة أو NULL إذا كان رأس IPv6 مشوه أو مخازن رسائل غير كافية متوفرة.
أنظر أيضا:
otMessageFree

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 (يجب ألا يكون NULL).
[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 .

otIp6 تسجيل المستمعين المتعدد

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 غير NULL).
[in] aTimeout
مؤشر لقيمة المهلة (بالثواني) ليتم تضمينها في MLR.req. تؤدي قيمة المهلة 0 إلى إزالة مستمع الإرسال المتعدد المقابل. إذا كانت القيمة NULL ، فلن يكون لدى MLR.req Timeout 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
في حالة عدم كفاية المخازن المؤقتة للرسائل المتاحة.
أنظر أيضا:
otIp6 تسجيل

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
لم يتم العثور على المنفذ في قائمة المنافذ غير الآمنة.

otIp6SelectSourceAddress

otError otIp6SelectSourceAddress(
  otInstance *aInstance,
  otMessageInfo *aMessageInfo
)

تقوم هذه الوظيفة بتحديد عنوان مصدر OpenThread.

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

otIp6 إرسال

otError otIp6Send(
  otInstance *aInstance,
  otMessage *aMessage
)

ترسل هذه الوظيفة مخطط بيانات IPv6 عبر واجهة مؤشر الترابط.

نقل ملكية المتصل 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
عنوان المصدر غير صالح ، مثل عنوان anycast أو عنوان الإرسال المتعدد.
OT_ERROR_PARSE
تمت مصادفة رأس مشوه عند معالجة الرسالة.

otIp6SetAddressCallback

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

تقوم هذه الوظيفة بتسجيل رد اتصال لإخطار تغييرات عنوان IPv6 الداخلية.

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

otIp6SetEnabled

otError otIp6SetEnabled(
  otInstance *aInstance,
  bool aEnabled
)

تقوم هذه الوظيفة بإحضار واجهة IPv6 لأعلى / لأسفل.

اتصل بهذه الوظيفة لتمكين / تعطيل اتصال IPv6.

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

otIp6SetMeshLocalIid

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

تحدد هذه الوظيفة Mesh Local IID (لغرض الاختبار).

متاح فقط عندما OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE تمكين.

تفاصيل
العوامل
[in] aInstance
مؤشر إلى مثيل OpenThread.
[in] aIid
مؤشر إلى Mesh Local IID لضبطه.
إرجاع القيم
OT_ERROR_NONE
تم بنجاح تعيين Mesh Local IID.
OT_ERROR_INVALID_STATE
تم تمكين بروتوكولات الموضوع.

otIp6SetMulticastPromiscuousEnabled

void otIp6SetMulticastPromiscuousEnabled(
  otInstance *aInstance,
  bool aEnabled
)

قم بتمكين الوضع المختلط للبث المتعدد على واجهة مؤشر الترابط.

تفاصيل
العوامل
[in] aInstance
مؤشر إلى مثيل OpenThread.
[in] aEnabled
TRUE لتمكين وضع الإرسال المتعدد المشوش ، وإلا فالخطأ.
أنظر أيضا:
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 في حالة تصفية حركة مرور التحكم في مؤشر الترابط ، وخطأ في الحالات الأخرى.
أنظر أيضا:
otIp6SetReceiveCallback
otIsReceiveIp6FilterEnabled

otIp6SetSlaacEnabled

void otIp6SetSlaacEnabled(
  otInstance *aInstance,
  bool aEnabled
)

تعمل هذه الوظيفة على تمكين / تعطيل وحدة SLAAC.

تتطلب هذه الوظيفة لمرة وبناء ميزة OPENTHREAD_CONFIG_IP6_SLAAC_ENABLE إلى تمكين.

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

تفاصيل
العوامل
[in] aInstance
مؤشر إلى مثيل OpenThread.
[in] aEnabled
صحيح للتمكين ، خطأ للتعطيل.

مرشح otIp6SetSlaacPrefix

void otIp6SetSlaacPrefixFilter(
  otInstance *aInstance,
  otIp6SlaacPrefixFilter aFilter
)

تحدد هذه الوظيفة معالج مرشح وحدة SLAAC.

تتطلب هذه الوظيفة لمرة وبناء ميزة OPENTHREAD_CONFIG_IP6_SLAAC_ENABLE إلى تمكين.

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

يقوم معالج عامل التصفية NULL بتعطيل التصفية ويسمح بإضافة كافة عناوين SLAAC.

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

تفاصيل
العوامل
[in] aInstance
مؤشر إلى مثيل OpenThread.
[in] aFilter
مؤشر لمعالج مرشح بادئة SLAAC أو NULL لتعطيل التصفية.

otIp6SockAddrToString

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

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

تم تنسيق سلسلة عنوان مأخذ توصيل IPv6 بالشكل "[

]: "أين"
يتم عرض 16 قيمة سداسية عشرية مفصولة بـ ":" و هو رقم المنفذ بالتنسيق العشري (على سبيل المثال ، "[٪ x:٪ x: ...:٪ x]:٪ u")

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

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

otIp6 الاشتراك

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_INVALID_STATE
واجهة الشبكة ليست لأعلى.
OT_ERROR_NO_BUFS
تقوم واجهة الشبكة بالفعل بتخزين الحد الأقصى المسموح به من عناوين البث المتعدد الخارجية.

otIp6 إلغاء الاشتراك

otError otIp6UnsubscribeMulticastAddress(
  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 لم يتم العثور على.

وحدات الماكرو

OT_IP6_ADDRESS_SIZE

 OT_IP6_ADDRESS_SIZE 16

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

OT_IP6_ADDRESS_STRING_SIZE

 OT_IP6_ADDRESS_STRING_SIZE 40

الحجم الموصى به لتمثيل سلسلة عنوان IPv6.

OT_IP6_IID_SIZE

 OT_IP6_IID_SIZE 8

حجم معرف واجهة 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.