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
}
شمارش
حالت های پاسخ اکو 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
}
شمارش
انواع پیام 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 برای درخواست‌های 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_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 برای درخواست‌های 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 Echo.

ماکروها

OT_ICMP6_HEADER_DATA_SIZE

 OT_ICMP6_HEADER_DATA_SIZE 4

اندازه یک داده خاص پیام ICMPv6 Header.

منابع

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