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 Echo.
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
}
טיפוסים בני מנייה (enum)
סוגי הודעות ICMPv6.

סוג מגן

otIcmp6Code typedef
קודי הודעה מסוג ICMPv6.
otIcmp6EchoMode typedef
מצבי תשובה ב-ICMPv6 Echo.
otIcmp6Handler typedef
המבנה הזה מיישם את מטפל בהודעות ICMPv6.
otIcmp6Header typedef
struct otIcmp6Header
סוג זה מייצג כותרת 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)
הפונקציה הזו מציינת אם עיבוד ה-Ichov6 Echo מופעל או לא.
otIcmp6RegisterHandler(otInstance *aInstance, otIcmp6Handler *aHandler)
הפונקציה הזו רושמת handler כדי לספק הודעות ICMPv6 שהתקבלו.
otIcmp6SendEchoRequest(otInstance *aInstance, otMessage *aMessage, const otMessageInfo *aMessageInfo, uint16_t aIdentifier)
הפונקציה הזו שולחת בקשת הד של ICMPv6 באמצעות הממשק של Thread.
otIcmp6SetEchoMode(otInstance *aInstance, otIcmp6EchoMode aMode)
void
הפונקציה הזו קובעת אם העיבוד של Echov6 Echo מופעל או לא.

שטרטס

otIcmp6Handler

המבנה הזה מיישם את מטפל בהודעות ICMPv6.

otIcmp6Header

המבנה הזה מייצג כותרת ICMPv6.

התאגדויות

otIcmp6Header::OT_TOOL_PACKED_FIELD

הדמיות

קוד otIcmp6

 otIcmp6Code

קודי הודעה מסוג ICMPv6.

מאפיינים
OT_ICMP6_CODE_DST_UNREACH_NO_ROUTE

אין גישה ליעד.

OT_ICMP6_CODE_FRAGM_REAS_TIME_EX

חרגת מפרק זמן של מקטע.

otIcmp6EchoMode

 otIcmp6EchoMode

מצבי תשובה ב-ICMPv6 Echo.

מאפיינים
OT_ICMP6_ECHO_HANDLER_ALL

עיבוד הד של ICMPv6 הופעל עבור בקשות חד-פעמיות וריבוי שידורים.

OT_ICMP6_ECHO_HANDLER_DISABLED

עיבוד ההד של ICMPv6 הושבת.

OT_ICMP6_ECHO_HANDLER_MULTICAST_ONLY

עיבוד הד של ICMPv6 הופעל עבור בקשות שידור לקבוצה בלבד.

OT_ICMP6_ECHO_HANDLER_UNICAST_ONLY

עיבוד הד של ICMPv6 הופעל רק עבור בקשות חד-פעמיות.

סוג otIcmp6

 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

הזמן חלף.

סוג מגן

קוד otIcmp6

enum otIcmp6Code otIcmp6Code

קודי הודעה מסוג ICMPv6.

otIcmp6EchoMode

enum otIcmp6EchoMode otIcmp6EchoMode

מצבי תשובה ב-ICMPv6 Echo.

otIcmp6Handler

struct otIcmp6Handler otIcmp6Handler

המבנה הזה מיישם את מטפל בהודעות ICMPv6.

כותרת otIcmp6

struct otIcmp6Header otIcmp6Header

סוג זה מייצג כותרת ICMPv6.

otIcmp6קבלת התקשרות חזרה

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

הקריאה החוזרת הזו מאפשרת ל-OpenThread ליידע את האפליקציה של הודעת 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
)

הפונקציה הזו מציינת אם עיבוד ה-Ichov6 Echo מופעל או לא.

פרטים
פרמטרים
[in] aInstance
מצביע למופע OpenThread.
ערכי החזרה
OT_ICMP6_ECHO_HANDLER_DISABLED
עיבוד ההד של ICMPv6 מושבת.
OT_ICMP6_ECHO_HANDLER_UNICAST_ONLY
עיבוד הד של ICMPv6 הופעל עבור בקשות icast בלבד
OT_ICMP6_ECHO_HANDLER_MULTICAST_ONLY
עיבוד הד של ICMPv6 מופעל עבור בקשות שידור מרובות בלבד
OT_ICMP6_ECHO_HANDLER_ALL
עיבוד הד של ICMPv6 הופעל עבור בקשות חד-פעמיות וריבוי שידורים

otIcmp6RegistrationHandler

otError otIcmp6RegisterHandler(
  otInstance *aInstance,
  otIcmp6Handler *aHandler
)

הפונקציה הזו רושמת handler כדי לספק הודעות ICMPv6 שהתקבלו.

פרטים
פרמטרים
[in] aInstance
מצביע למופע OpenThread.
[in] aHandler
מצביע למטפל המכיל קריאה חוזרת (callback) שמופעלת כשמתקבלת הודעת ICMPv6.

otIcmp6SendEchoRequest

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

הפונקציה הזו שולחת בקשת הד של ICMPv6 באמצעות הממשק של Thread.

פרטים
פרמטרים
[in] aInstance
מצביע למופע OpenThread.
[in] aMessage
מצביע למאגר ההודעות הזמני הכולל את המטען הייעודי (payload) של ה-ICMPv6.
[in] aMessageInfo
הפניה לפרטי ההודעה המשויכים אל aMessage.
[in] aIdentifier
מזהה לסיוע במענה ל-Echo Response לבקשה זו של Echo. יכול להיות אפס.

otIcmp6SetEchoMode

void otIcmp6SetEchoMode(
  otInstance *aInstance,
  otIcmp6EchoMode aMode
)

הפונקציה הזו קובעת אם העיבוד של Echov6 Echo מופעל או לא.

פרטים
פרמטרים
[in] aInstance
מצביע למופע OpenThread.
[in] aMode
מצב העיבוד הדדי ICMPv6.

פקודות מאקרו

OT_ICMP6_ADDRESS_DATA_SIZE

 OT_ICMP6_HEADER_DATA_SIZE 4

גודל נתונים ספציפיים להודעה של כותרת ICMPv6.

מקורות מידע

מקור העזר של OpenThread ב-API הוא מקוד המקור, והוא זמין ב-GitHub. למידע נוסף או כדי לתרום לתיעוד שלנו, יש לעיין בקטע משאבים.