ICMPv6

این ماژول شامل توابعی است که ارتباطات ICMPv6 را کنترل می کند.

خلاصه

شمارش ها

otIcmp6Code {
OT_ICMP6_CODE_DST_UNREACH_NO_ROUTE = 0,
OT_ICMP6_CODE_FRAGM_REAS_TIME_EX = 1
}
enum
کدهای پیام 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
}
enum
حالت های پاسخ اکو ICMPv6.
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
}
enum
انواع پیام ICMPv6

Typedefs

otIcmp6Code typedef
کدهای پیام ICMPv6.
otIcmp6EchoMode typedef
حالت های پاسخ اکو ICMPv6.
otIcmp6Handler typedef
کنترل کننده پیام ICMPv6 را پیاده سازی می کند.
otIcmp6Header typedef
نشان دهنده هدر ICMPv6 است.
otIcmp6ReceiveCallback )(void *aContext, otMessage *aMessage, const otMessageInfo *aMessageInfo, const otIcmp6Header *aIcmpHeader) typedef
void(*
این فراخوانی به OpenThread اجازه می دهد تا برنامه را از پیام دریافتی ICMPv6 مطلع کند.
otIcmp6Type typedef
انواع پیام ICMPv6

متغیرها

OT_TOOL_PACKED_END

کارکرد

otIcmp6GetEchoMode ( otInstance *aInstance)
نشان می دهد که آیا پردازش اکو ICMPv6 فعال است یا خیر.
otIcmp6RegisterHandler ( otInstance *aInstance, otIcmp6Handler *aHandler)
یک کنترل کننده را برای ارائه پیام های دریافتی ICMPv6 ثبت می کند.
otIcmp6SendEchoRequest ( otInstance *aInstance, otMessage *aMessage, const otMessageInfo *aMessageInfo, uint16_t aIdentifier)
یک درخواست اکو ICMPv6 از طریق رابط Thread ارسال می کند.
otIcmp6SetEchoMode ( otInstance *aInstance, otIcmp6EchoMode aMode)
void
تنظیم می کند که پردازش ICMPv6 Echo فعال باشد یا خیر.

سازه ها

otIcmp6 Handler

کنترل کننده پیام 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

حالت های پاسخ اکو ICMPv6.

خواص
OT_ICMP6_ECHO_HANDLER_ALL

پردازش ICMPv6 Echo برای درخواست‌های unicast و multicast فعال است.

OT_ICMP6_ECHO_HANDLER_DISABLED

پردازش اکو ICMPv6 غیرفعال است.

OT_ICMP6_ECHO_HANDLER_MULTICAST_ONLY

پردازش اکو ICMPv6 فقط برای درخواست‌های چندپخشی فعال است.

OT_ICMP6_ECHO_HANDLER_UNICAST_ONLY

پردازش اکو ICMPv6 فقط برای درخواست‌های unicast فعال است.

otIcmp6Type

 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

زمان تجاوز کرد.

Typedefs

otIcmp6Code

enum otIcmp6Code otIcmp6Code

کدهای پیام ICMPv6.

otIcmp6EchoMode

enum otIcmp6EchoMode otIcmp6EchoMode

حالت های پاسخ اکو ICMPv6.

otIcmp6 Handler

struct otIcmp6Handler otIcmp6Handler

کنترل کننده پیام ICMPv6 را پیاده سازی می کند.

otIcmp6Header

struct otIcmp6Header otIcmp6Header

نشان دهنده هدر ICMPv6 است.

otIcmp6ReceiveCallback

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

این فراخوانی به OpenThread اجازه می دهد تا برنامه را از پیام دریافتی ICMPv6 مطلع کند.

جزئیات
مولفه های
[in] aContext
اشاره گر به اطلاعات زمینه دلخواه.
[in] aMessage
اشاره گر به پیام دریافتی
[in] aMessageInfo
یک اشاره گر به اطلاعات پیام مرتبط با aMessage .
[in] aIcmpHeader
اشاره گر به هدر ICMPv6 دریافتی.

otIcmp6Type

enum otIcmp6Type otIcmp6Type

انواع پیام ICMPv6

متغیرها

OT_TOOL_PACKED_END

OT_TOOL_PACKED_BEGIN struct otIcmp6Header OT_TOOL_PACKED_END

کارکرد

otIcmp6GetEchoMode

otIcmp6EchoMode otIcmp6GetEchoMode(
  otInstance *aInstance
)

نشان می دهد که آیا پردازش اکو ICMPv6 فعال است یا خیر.

جزئیات
مولفه های
[in] aInstance
اشاره گر به یک نمونه OpenThread.
ارزش های بازگشتی
OT_ICMP6_ECHO_HANDLER_DISABLED
پردازش اکو ICMPv6 غیرفعال است.
OT_ICMP6_ECHO_HANDLER_UNICAST_ONLY
پردازش اکو ICMPv6 فقط برای درخواست‌های unicast فعال است
OT_ICMP6_ECHO_HANDLER_MULTICAST_ONLY
پردازش اکو ICMPv6 فقط برای درخواست‌های چندپخشی فعال است
OT_ICMP6_ECHO_HANDLER_ALL
پردازش ICMPv6 Echo برای درخواست‌های unicast و multicast فعال است

otIcmp6RegisterHandler

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
)

یک درخواست اکو ICMPv6 از طریق رابط Thread ارسال می کند.

جزئیات
مولفه های
[in] aInstance
اشاره گر به یک نمونه OpenThread.
[in] aMessage
یک اشاره گر به بافر پیام حاوی بار ICMPv6.
[in] aMessageInfo
ارجاع به اطلاعات پیام مرتبط با aMessage .
[in] aIdentifier
شناسه ای برای کمک به تطبیق پاسخ های اکو با این درخواست اکو. ممکن است صفر باشد.

otIcmp6SetEchoMode

void otIcmp6SetEchoMode(
  otInstance *aInstance,
  otIcmp6EchoMode aMode
)

تنظیم می کند که پردازش ICMPv6 Echo فعال باشد یا خیر.

جزئیات
مولفه های
[in] aInstance
اشاره گر به یک نمونه OpenThread.
[in] aMode
حالت پردازش اکو ICMPv6.

ماکروها

OT_ICMP6_HEADER_DATA_SIZE

 OT_ICMP6_HEADER_DATA_SIZE 4

اندازه سربرگ ICMPv6.

OT_ICMP6_ROUTER_ADVERT_MIN_SIZE

 OT_ICMP6_ROUTER_ADVERT_MIN_SIZE 16

اندازه پیام تبلیغاتی روتر بدون هیچ گزینه ای.

منابع

موضوعات مرجع OpenThread API از کد منبع موجود در GitHub سرچشمه می گیرند. برای اطلاعات بیشتر، یا مشارکت در اسناد ما، به منابع مراجعه کنید.