ICMPv6

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

ملخّص

التعدادات

otIcmp6Code{
  OT_ICMP6_CODE_DST_UNREACH_NO_ROUTE = 0,
  OT_ICMP6_CODE_FRAGM_REAS_TIME_EX = 1
}
تعداد
رموز رسائل ICMPv6.
otIcmp6EchoMode{
  OT_ICMP6_ECHO_HANDLER_DISABLED = 0,
  OT_ICMP6_ECHO_HANDLER_UNICAST_ONLY = 1,
  OT_ICMP6_ECHO_HANDLER_MULTICAST_ONLY = 2,
  OT_ICMP6_ECHO_HANDLER_ALL = 3
}
تعداد
أوضاع رد صدى ECMPv6.
otIcmp6Type{
  OT_ICMP6_TYPE_DST_UNREACH = 1,
  OT_ICMP6_TYPE_PACKET_TO_BIG = 2,
  OT_ICMP6_TYPE_TIME_EXCEEDED = 3,
  OT_ICMP6_TYPE_PARAMETER_PROBLEM = 4,
  OT_ICMP6_TYPE_ECHO_REQUEST = 128,
  OT_ICMP6_TYPE_ECHO_REPLY = 129,
  OT_ICMP6_TYPE_ROUTER_SOLICIT = 133,
  OT_ICMP6_TYPE_ROUTER_ADVERT = 134,
  OT_ICMP6_TYPE_NEIGHBOR_SOLICIT = 135,
  OT_ICMP6_TYPE_NEIGHBOR_ADVERT = 136
}
تعداد
أنواع رسائل ICMPv6.

أنواع المحددات

otIcmp6Code typedef
رموز رسائل ICMPv6.
otIcmp6EchoMode typedef
أوضاع رد صدى ECMPv6.
otIcmp6Handler typedef
تنفيذ معالج رسائل ICMPv6
otIcmp6Header typedef
struct otIcmp6Header
يمثّل عنوان ICMPv6.
otIcmp6ReceiveCallback)(void *aContext, otMessage *aMessage, const otMessageInfo *aMessageInfo, const otIcmp6Header *aIcmpHeader) typedef
void(*
تسمح معاودة الاتصال هذه لسلسلة المحادثات بإبلاغ تطبيق رسالة ICMPv6 المُستلَمة.
otIcmp6Type typedef
أنواع رسائل ICMPv6.

المتغيّرات

OT_TOOL_PACKED_END

الدوال

otIcmp6GetEchoMode(otInstance *aInstance)
يشير هذا الإعداد إلى ما إذا كان تم تفعيل معالجة Echov6 Echo أم لا.
otIcmp6RegisterHandler(otInstance *aInstance, otIcmp6Handler *aHandler)
تسجِّل معالجًا لإرسال رسائل ICMPv6 المُستلَمة.
otIcmp6SendEchoRequest(otInstance *aInstance, otMessage *aMessage, const otMessageInfo *aMessageInfo, uint16_t aIdentifier)
تُرسَل طلب صدى ECMPv6 من خلال واجهة Thread.
otIcmp6SetEchoMode(otInstance *aInstance, otIcmp6EchoMode aMode)
void
وتحدد ما إذا تم تفعيل معالجة ECMPv6 Echo أم لا.

هياكل

otIcmp6Handler

تنفيذ معالج رسائل ICMPv6

otIcmp6Header

يمثّل عنوان ICMPv6.

الاتحادات

otIcmp6Header::OT_TOOL_PACKED_FIELD

التعدادات

otIcmp6Code

 otIcmp6Code

رموز رسائل ICMPv6.

أماكن إقامة
OT_ICMP6_CODE_DST_UNREACH_NO_ROUTE

لا يمكن الوصول إلى الوجهة بدون مسار.

OT_ICMP6_CODE_FRAGM_REAS_TIME_EX

تم تجاوز وقت إعادة تجميع الأجزاء.

otIcmp6EchoMode

 otIcmp6EchoMode

أوضاع رد صدى ECMPv6.

أماكن إقامة
OT_ICMP6_ECHO_HANDLER_ALL

تم تفعيل معالجة الصدى في منصّة إدارة الموافقة (CMP) لـ Ichov6 لطلبات البث المتعدد والبث المتعدد.

OT_ICMP6_ECHO_HANDLER_DISABLED

تم إيقاف معالجة Echov6 Echo.

OT_ICMP6_ECHO_HANDLER_MULTICAST_ONLY

تم تفعيل معالجة Echov6 Echo فقط لطلبات البث المتعدد فقط.

OT_ICMP6_ECHO_HANDLER_UNICAST_ONLY

تم تفعيل معالجة Echov6 Echo فقط لطلبات unicast فقط.

نوع otIcmp6

 otIcmp6Type

أنواع رسائل ICMPv6.

أماكن إقامة
OT_ICMP6_TYPE_DST_UNREACH

لا يمكن الوصول إلى الوجهة.

OT_ICMP6_TYPE_ECHO_REPLY

رد صدى.

OT_ICMP6_TYPE_ECHO_REQUEST

طلب صدى.

OT_ICMP6_TYPE_NEIGHBOR_ADVERT

إعلان الجيران

OT_ICMP6_TYPE_NEIGHBOR_SOLICIT

طلب الجيران

OT_ICMP6_TYPE_PACKET_TO_BIG

حزمة كبيرة

OT_ICMP6_TYPE_PARAMETER_PROBLEM

مشكلة بالمَعلمة

OT_ICMP6_TYPE_ROUTER_ADVERT

إعلانات أجهزة التوجيه

OT_ICMP6_TYPE_ROUTER_SOLICIT

طلب جهاز التوجيه

OT_ICMP6_TYPE_TIME_EXCEEDED

تم تجاوز الوقت.

أنواع المحددات

otIcmp6Code

enum otIcmp6Code otIcmp6Code

رموز رسائل ICMPv6.

otIcmp6EchoMode

enum otIcmp6EchoMode otIcmp6EchoMode

أوضاع رد صدى ECMPv6.

عتيق otIcmp6

struct otIcmp6Handler otIcmp6Handler

تنفيذ معالج رسائل ICMPv6

عنوان otIcmp6

struct otIcmp6Header otIcmp6Header

يمثّل عنوان ICMPv6.

otIcmp6تلقي المكالمات

void(* otIcmp6ReceiveCallback)(void *aContext, otMessage *aMessage, const otMessageInfo *aMessageInfo, const otIcmp6Header *aIcmpHeader)

تسمح معاودة الاتصال هذه لسلسلة المحادثات بإبلاغ تطبيق رسالة ICMPv6 المُستلَمة.

التفاصيل
المَعلمات
[in] aContext
مؤشر للمعلومات السياقية العشوائية.
[in] aMessage
مؤشر للرسالة المستلَمة.
[in] aMessageInfo
مؤشر إلى معلومات الرسالة المرتبطة بـ aMessage.
[in] aIcmpHeader
مؤشر إلى رأس ICMPv6 المُستلَم.

نوع otIcmp6

enum otIcmp6Type otIcmp6Type

أنواع رسائل ICMPv6.

المتغيّرات

OT_TOOL_PACKED_END

OT_TOOL_PACKED_BEGIN struct otIcmp6Header OT_TOOL_PACKED_END

الدوال

otIcmp6GetEchoMode

otIcmp6EchoMode otIcmp6GetEchoMode(
  otInstance *aInstance
)

يشير هذا الإعداد إلى ما إذا كان تم تفعيل معالجة Echov6 Echo أم لا.

التفاصيل
المَعلمات
[in] aInstance
مؤشر إلى مثيل OpenThread.
قيم الإرجاع
OT_ICMP6_ECHO_HANDLER_DISABLED
تم إيقاف معالجة Echov6 Echo.
OT_ICMP6_ECHO_HANDLER_UNICAST_ONLY
تم تفعيل معالجة Echov6 Echo لطلبات unicast فقط
OT_ICMP6_ECHO_HANDLER_MULTICAST_ONLY
تم تفعيل معالجة Echov6 Echo لطلبات البث المتعدد فقط
OT_ICMP6_ECHO_HANDLER_ALL
تم تفعيل معالجة الصدى ICMPv6 لطلبات يونيكود للبث المتعدد.

otIcmp6RecordHandler

otError otIcmp6RegisterHandler(
  otInstance *aInstance,
  otIcmp6Handler *aHandler
)

تسجِّل معالجًا لإرسال رسائل ICMPv6 المُستلَمة.

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

otIcmp6SendEchoRequest

otError otIcmp6SendEchoRequest(
  otInstance *aInstance,
  otMessage *aMessage,
  const otMessageInfo *aMessageInfo,
  uint16_t aIdentifier
)

تُرسَل طلب صدى ECMPv6 من خلال واجهة Thread.

التفاصيل
المَعلمات
[in] aInstance
مؤشر إلى مثيل OpenThread.
[in] aMessage
مؤشر إلى المخزن المؤقت للرسائل الذي يحتوي على حمولة ICMPv6
[in] aMessageInfo
مرجع لمعلومات الرسائل المرتبطة بـ aMessage.
[in] aIdentifier
معرّف للمساعدة في مطابقة ردود Echo المطابقة لطلب Echo هذا. قد تكون القيمة صفرًا.

otIcmp6SetEchoMode

void otIcmp6SetEchoMode(
  otInstance *aInstance,
  otIcmp6EchoMode aMode
)

وتحدد ما إذا تم تفعيل معالجة ECMPv6 Echo أم لا.

التفاصيل
المَعلمات
[in] aInstance
مؤشر إلى مثيل OpenThread.
[in] aMode
وضع معالجة Echov6 Echo

وحدات ماكرو

الـ OT_ICMP6_HEADER_DATA_SIZE

 OT_ICMP6_HEADER_DATA_SIZE 4

حجم البيانات الخاصة بالرسالة لرأس ICMPv6.

الموارد

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