IPv6

המודול הזה כולל פונקציות ששולטות בתקשורת של IPv6.

סיכום

מספור

anonymous enum{
  OT_ADDRESS_ORIGIN_THREAD = 0,
  OT_ADDRESS_ORIGIN_SLAAC = 1,
  OT_ADDRESS_ORIGIN_DHCPV6 = 2,
  OT_ADDRESS_ORIGIN_MANUAL = 3
}
טיפוסים בני מנייה (enum)
מקורות של כתובת IPv6.
anonymous enum{
  OT_ECN_NOT_CAPABLE = 0x0,
  OT_ECN_CAPABLE_0 = 0x2,
  OT_ECN_CAPABLE_1 = 0x1,
  OT_ECN_MARKED = 0x3
}
טיפוסים בני מנייה (enum)
סטטוסים של 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
}
טיפוסים בני מנייה (enum)
מספרי פרוטוקול אינטרנט.

סוג Dedef

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
struct otMessageInfo
המבנה הזה מייצג את הכתובות של שקע ה-IPv6 המקומי והעמיתים.
otNetifAddress Typedef
המבנה הזה מייצג כתובת unicast של ממשק רשת 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 שנרשמת אליהן בממשק של Thread.
otIp6GetUnicastAddresses(otInstance *aInstance)
const otNetifAddress *
קבלת הרשימה של כתובות IPv6 שהוקצו לממשק Thread.
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
יש לבדוק אם מצב ריבוי שידורים חיים מופעל בממשק של Thread.
otIp6IsReceiveFilterEnabled(otInstance *aInstance)
bool
הפונקציה הזו מציינת אם תנועת הבקרה בשרשור מסוננת כשמעבירים גרם נתונים מסוג IPv6 דרך הקריאה החוזרת שצוינה ב-otIp6SetGetCallback() .
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)
פונקציה זו מתעדת פונקציות מסוג Multicast Listener לנתב משנה אחורי.
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
פונקציה זו רושמת קריאה חוזרת (callback) כדי להודיע על שינויים פנימיים בכתובת IPv6.
otIp6SetEnabled(otInstance *aInstance, bool aEnabled)
פונקציה זו מעלה/מורידה את ממשק IPv6.
otIp6SetMeshLocalIid(otInstance *aInstance, const otIp6InterfaceIdentifier *aIid)
פונקציה זו מגדירה את מזהה הרשת המקומית של רשת (למטרות בדיקה).
otIp6SetMulticastPromiscuousEnabled(otInstance *aInstance, bool aEnabled)
void
הפעלת 'מצב שידור מרובה שידורים' בממשק השרשור.
otIp6SetReceiveCallback(otInstance *aInstance, otIp6ReceiveCallback aCallback, void *aCallbackContext)
void
פונקציה זו רושמת קריאה חוזרת (callback) כדי לספק קלטי נתונים של IPv6.
otIp6SetReceiveFilterEnabled(otInstance *aInstance, bool aEnabled)
void
הפונקציה הזו קובעת אם תנועת בקרה של Thread מסוננת כשמעבירים grams של נתוני IPv6 דרך הקריאה החוזרת שצוינה ב-otIp6SetGetCallback() .
otIp6SetSlaacEnabled(otInstance *aInstance, bool aEnabled)
void
פונקציה זו מפעילה או משביתה את מודול ה-SLAAC.
otIp6SetSlaacPrefixFilter(otInstance *aInstance, otIp6SlaacPrefixFilter aFilter)
void
פונקציה זו מגדירה את ה-handler של המסנן של מודול SLAAC.
otIp6SockAddrToString(const otSockAddr *aSockAddr, char *aBuffer, uint16_t aSize)
void
פונקציה זו ממירה כתובת שקע IPv6 למחרוזת הקריאה לבני אדם.
otIp6SubscribeMulticastAddress(otInstance *aInstance, const otIp6Address *aAddress)
נרשמים את ממשק השרשור לכתובת מרובת שידורים של 'ממשק רשת'.
otIp6UnsubscribeMulticastAddress(otInstance *aInstance, const otIp6Address *aAddress)
ביטול ההרשמה של ממשק השרשור לכתובת מרובת שידורים של ממשק רשת.

מבנים

otIp6Address

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

otIp6AddressComponents

המבנה הזה מייצג את הרכיבים של כתובות IPv6.

otIp6AddressInfo

מבנה זה מייצג מידע על כתובות IPv6.

otIp6InterfaceIdentifier

מבנה זה מייצג את מזהה הממשק של כתובת IPv6.

otIp6NetworkPrefix

המבנה הזה מייצג את קידומת הרשת של כתובת IPv6 (המספר החשוב ביותר של 64 ביט בכתובת).

otIp6Prefix

המבנה הזה מייצג קידומת IPv6.

otMessageInfo

המבנה הזה מייצג את הכתובות של שקע ה-IPv6 המקומי והעמיתים.

otNetifAddress

המבנה הזה מייצג כתובת unicast של ממשק רשת IPv6.

otNetififcastAddress

מבנה זה מייצג כתובת שידור לקבוצה של ממשק IPv6.

otSockAddr

מבנה זה מייצג כתובת שקע IPv6.

איגודים

otIp6InterfaceIdentifier::OT_tools_PACKED_FIELD

מספור

Enum אנונימי

 anonymous enum

מקורות של כתובת IPv6.

מאפיינים
OT_ADDRESS_ORIGIN_DHCPV6

כתובת DHCPv6 הוקצתה.

OT_ADDRESS_ORIGIN_MANUAL

כתובת שהוקצתה באופן ידני.

OT_ADDRESS_ORIGIN_SLAAC

הכתובת שהוקצתה להסכם רמת השירות.

OT_ADDRESS_ORIGIN_THREAD

הכתובת הרשומה בשרשור (ALOC, RLOC, MLEID וכו')

Enum אנונימי

 anonymous enum

סטטוסים של ECN, מיוצגים כמו בכותרת ה-IP.

מאפיינים
OT_ECN_CAPABLE_0

ECT(0)

OT_ECN_CAPABLE_1

ECT(1)

OT_ECN_MARKED

נתקלנו בעומס (CE)

OT_ECN_NOT_CAPABLE

שאינו בפורמט ECT.

Enum אנונימי

 anonymous enum

מספרי פרוטוקול אינטרנט.

מאפיינים
OT_IP6_PROTO_DST_OPTS

אפשרויות יעד ל-IPv6.

OT_IP6_PROTO_FRAGMENT

מקטע 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

Datagram של המשתמש

סוג Dedef

otIp6Address

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.

otIp6GetCallback

void(* otIp6ReceiveCallback)(otMessage *aMessage, void *aContext)

מצביע הפונקציה הזה נקרא כאשר מתקבל מערך נתונים IPv6.

פרטים
פרמטרים
[in] aMessage
מצביע על מאגר הנתונים של ההודעות שמכיל את סכימת הנתונים של IPv6. פונקציה זו מעבירה את הבעלות על aMessage אל המקבל של השיחה החוזרת. יש לשחרר את ההודעה על ידי המקבל של הקריאה החוזרת לאחר עיבוד (ראו otMessageFree() ).
[in] aContext
מצביע על הקשר ספציפי לאפליקציה.

otIp6RegistrationMulticastListenersCallback

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_MINUTE כאשר לא התקבל ניתוח MLR.rsp, OT_ERROR_PARSE אם ניתוח הנתונים ב-MLR.rsp נכשל.
[in] aMlrStatus
סטטוס ההרשמה ל-Multicast listener כשaError הוא OT_ERROR_NONE.
[in] aFailedAddresses
מצביע על כתובות IPv6 שנכשלו כאשר aError הוא OT_ERROR_NONE.
[in] aFailedAddressNum
מספר כתובות ה-IPv6 שנכשלו כאשר aError הוא OT_ERROR_NONE.
לעיון גם:
otIp6RegistrationMulticastListeners

otIp6SlaacPrefixFilter

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

מצביע הפונקציה הזה מאפשר למשתמש לסנן קידומות ולא לאפשר הוספה של כתובת SLAAC על סמך קידומת.

אפשר להשתמש בפונקציה otIp6SetSlaacPrefixFilter() כדי להגדיר את ה-handler של המסנן. ה-handler של המסנן מופעל על ידי מודול SLAAC כשהוא עומד להוסיף כתובת SLAAC, לפי קידומת. ערך ההחזרה הבוליאני קובע אם הכתובת תסונן (לא תתווסף) או לא.

פרטים
פרמטרים
[in] aInstance
מצביע על מופע של OpenThread.
[in] aPrefix
ציון של קידומת שעבורה רוצים להוסיף כתובת של הסכם רמת שירות (SLAAC).
ערכי החזרה
TRUE
מציין שכתובת ה-SLAAC המבוססת על הקידומת צריכה להיות מסוננת ולא תתווסף.
FALSE
מציין שיש להוסיף את כתובת ה-SLAAC על סמך הקידומת.

otMessageInfo

struct otMessageInfo otMessageInfo

המבנה הזה מייצג את הכתובות של שקע ה-IPv6 המקומי והעמיתים.

otNetififAddress

struct otNetifAddress otNetifAddress

המבנה הזה מייצג כתובת unicast של ממשק רשת IPv6.

otNetififMultiAddress

struct otNetifMulticastAddress otNetifMulticastAddress

מבנה זה מייצג כתובת שידור לקבוצה של ממשק IPv6.

otSockAddr

struct otSockAddr otSockAddr

מבנה זה מייצג כתובת שקע IPv6.

משתנים

OT_tools_PACKED_END

OT_TOOL_PACKED_BEGIN struct otIp6InterfaceIdentifier OT_TOOL_PACKED_END

פונקציות

otIp6AddUnicastAddress

otError otIp6AddUnicastAddress(
  otInstance *aInstance,
  const otNetifAddress *aAddress
)

הוספת כתובת לממשק הרשת לממשק השרשור.

המכונה שהועברה aAddress הועתקה על ידי ממשק השרשור. ממשק השרשור תומך רק במספר קבוע של כתובות unicast שנוספו באופן חיצוני. ראה Openthread_CONFIG_IP6_MAX_EXT_UCAST_BOUNDS.

פרטים
פרמטרים
[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 (חייבת להיות NULL).
[out] aBuffer
מצביע למערך צ'אר לפלט המחרוזת (לא חייב להיות NULL).
[in] aSize
הגודל של aBuffer (בבייטים). מומלץ להשתמש בכרטיס OT_IP6_ADDRESS_STRING_SIZE.

otIp6arePrefixesEquals

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 שנרשמת אליהן בממשק של Thread.

פרטים
פרמטרים
[in] aInstance
מצביע על מופע של OpenThread.
החזרות
מצביע לכתובת הראשונה של Multicast בממשק הרשת.

otIp6GetUnicastכתובות

const otNetifAddress * otIp6GetUnicastAddresses(
  otInstance *aInstance
)

קבלת הרשימה של כתובות IPv6 שהוקצו לממשק Thread.

פרטים
פרמטרים
[in] aInstance
מצביע על מופע של OpenThread.
החזרות
מצביע לכתובת הראשונה של ממשק הרשת.

otIp6GetUnsecurePorts

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
)

יש לבדוק אם מצב ריבוי שידורים חיים מופעל בממשק של Thread.

פרטים
פרמטרים
[in] aInstance
מצביע על מופע של OpenThread.
ראו גם:
otIp6SetMulticastPromiscuousEnabled

otIp6IsGetFilterEnabled

bool otIp6IsReceiveFilterEnabled(
  otInstance *aInstance
)

הפונקציה הזו מציינת אם תנועת הבקרה בשרשור מסוננת כשמעבירים גרם נתונים מסוג IPv6 דרך הקריאה החוזרת שצוינה ב-otIp6SetGetCallback() .

פרטים
פרמטרים
[in] aInstance
מצביע על מופע של OpenThread.
החזרות
TRUE אם התנועה של בקרת שרשורים מסוננת, אחרת FALSE.
לעיון גם:
otIp6SetGetCallback
otIp6SetGetFilterEnabled

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
מצביע למערך צ'אר לפלט המחרוזת (לא חייב להיות NULL).
[in] aSize
הגודל של aBuffer (בבייטים). מומלץ להשתמש בכרטיס OT_IP6_PREFIX_STRING_SIZE.

otIp6ProtoToString

const char * otIp6ProtoToString(
  uint8_t aIpProto
)

פונקציה זו ממירה מספר פרוטוקול IP נתון למחרוזת הקריאה לבני אדם.

פרטים
פרמטרים
[in] aIpProto
מספר פרוטוקול IP (ספירה של OT_IP6_PROTO_*).
החזרות
מחרוזת המייצגת את aIpProto.

otIp6RegistrationMulticastListeners

otError otIp6RegisterMulticastListeners(
  otInstance *aInstance,
  const otIp6Address *aAddresses,
  uint8_t aAddressNum,
  const uint32_t *aTimeout,
  otIp6RegisterMulticastListenersCallback aCallback,
  void *aContext
)

פונקציה זו מתעדת פונקציות מסוג Multicast Listener לנתב משנה אחורי.

הערה: אפשרות זו זמינה רק כאשר ההגדרה 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 מסיר את מכשיר ההאזנה התואם מסוג Multicast Listener. אם NULL, ל-MLR.req לא יהיה ברירת מחדל של ערך 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
אם מאגר הנתונים הזמני של ההודעה לא מספיק.
לעיון גם:
otIp6RegistrationMulticastListenersCallback

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 ללא שינוי.

otIp6Send

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
לא ניתן היה להקצות את מאגרי הנתונים הנחוצים בעת עיבוד ה-datagram.
OT_ERROR_NO_ROUTE
אין נתיב למארח.
OT_ERROR_INVALID_SOURCE_ADDRESS
כתובת המקור לא חוקית, למשל כתובת Anycast או כתובת שידור לקבוצה.
OT_ERROR_PARSE
אירעה כותרת שגויה בעת עיבוד ההודעה.

otIp6SetAddressCallback

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

פונקציה זו רושמת קריאה חוזרת (callback) כדי להודיע על שינויים פנימיים בכתובת 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, FALSE אם לא.
ערכי החזרה
OT_ERROR_NONE
ממשק IPv6 העלה/ירד בהצלחה.
OT_ERROR_INVALID_STATE
ממשק IPv6 לא זמין כי המכשיר פועל במצב קישור גולמי (רלוונטי רק כשהתכונה OPENTHREAD_CONFIG_LINK_RAW_ENABLE מופעלת).

otIp6SetMeshLocalIid

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

פונקציה זו מגדירה את מזהה הרשת המקומית של רשת (למטרות בדיקה).

זמין רק כאשר OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE מופעל.

פרטים
פרמטרים
[in] aInstance
מצביע על מופע של OpenThread.
[in] aIid
מצביע אל מזהה הרשת המקומית של רשת.
ערכי החזרה
OT_ERROR_NONE
הגדרת רשת ה-IDI של הרשת המקומית הושלמה בהצלחה.
OT_ERROR_INVALID_STATE
הפרוטוקולים לשרשורים מופעלים.

otIp6SetMulticastPromiscuousEnabled

void otIp6SetMulticastPromiscuousEnabled(
  otInstance *aInstance,
  bool aEnabled
)

הפעלת 'מצב שידור מרובה שידורים' בממשק השרשור.

פרטים
פרמטרים
[in] aInstance
מצביע על מופע של OpenThread.
[in] aEnabled
TRUE כדי להפעיל את מצב Multicast Promituous, אם לא, FALSE.
ראו גם:
otIp6IsMulticastPromituousEnabled

otIp6SetGetCallback

void otIp6SetReceiveCallback(
  otInstance *aInstance,
  otIp6ReceiveCallback aCallback,
  void *aCallbackContext
)

פונקציה זו רושמת קריאה חוזרת (callback) כדי לספק קלטי נתונים של IPv6.

כברירת מחדל, הקריאה החוזרת (callback) הזו לא עוברת את התנועה של בקרת השרשורים. יש לעיין ב-otIp6SetGetFilterEnabled() כדי לשנות את ההגדרה של מסנן התנועה בשרשור.

פרטים
פרמטרים
[in] aInstance
מצביע על מופע של OpenThread.
[in] aCallback
מצביע לפונקציה בעלת קריאה, כש-Data6 התקבל ב-IPv6, או כ-NULL כדי להשבית את הקריאה החוזרת.
[in] aCallbackContext
מצביע על הקשר ספציפי לאפליקציה.
להצגת גם:
otIp6IsGetFilterEnabled
otIp6SetGetFilterEnabled

otIp6SetGetFilterEnabled

void otIp6SetReceiveFilterEnabled(
  otInstance *aInstance,
  bool aEnabled
)

הפונקציה הזו קובעת אם תנועת בקרה של Thread מסוננת כשמעבירים grams של נתוני IPv6 דרך הקריאה החוזרת שצוינה ב-otIp6SetGetCallback() .

פרטים
פרמטרים
[in] aInstance
מצביע על מופע של OpenThread.
[in] aEnabled
TRUE אם התנועה של בקרת שרשורים מסוננת, אחרת FALSE.
לעיון גם:
otIp6SetGetCallback
otIsGetIp6filterEnabled

otIp6SetSlaacEnabled

void otIp6SetSlaacEnabled(
  otInstance *aInstance,
  bool aEnabled
)

פונקציה זו מפעילה או משביתה את מודול ה-SLAAC.

כדי להפעיל את הפונקציה הזו צריך להפעיל את התכונה 'זמן יצירה' OPENTHREAD_CONFIG_IP6_SLAAC_ENABLE.

כשמודול SLAAC מופעל, מתווספים לממשק כתובות SLAAC (המבוססות על קידומות ברשת) בנתוני הרשת). כשמודול SLAAC מושבת, המערכת מסירה כתובת SLAAC שכבר נוספה.

פרטים
פרמטרים
[in] aInstance
מצביע על מופע של OpenThread.
[in] aEnabled
TRUE כדי להפעיל, FALSE כדי להשבית.

otIp6SetSlaacPrefixFilter

void otIp6SetSlaacPrefixFilter(
  otInstance *aInstance,
  otIp6SlaacPrefixFilter aFilter
)

פונקציה זו מגדירה את ה-handler של המסנן של מודול SLAAC.

כדי להפעיל את הפונקציה הזו צריך להפעיל את התכונה 'זמן יצירה' OPENTHREAD_CONFIG_IP6_SLAAC_ENABLE.

ה-handler של המסנן נקרא על ידי מודול SLAAC כשהוא עומד להוסיף כתובת SLAAC, בהתבסס על קידומת כדי להחליט אם להוסיף את הכתובת או לא.

handler של מסנן NULL משבית את הסינון ומאפשר להוסיף את כל הכתובות של הסכם רמת השירות (SLAAC).

אם הפונקציה הזו לא מופעלת, מסנן ברירת המחדל שבו נעשה שימוש במודול SLAAC יהיה NULL (הסינון מושבת).

פרטים
פרמטרים
[in] aInstance
מצביע על מופע של OpenThread.
[in] aFilter
מצביע ל-handler של מסנן קידומת 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 (חייבת להיות NULL).
[out] aBuffer
מצביע למערך צ'אר לפלט המחרוזת (לא חייב להיות NULL).
[in] aSize
הגודל של aBuffer (בבייטים). מומלץ להשתמש בכרטיס OT_IP6_SOCK_ADDR_STRING_SIZE.

otIp6SubscribeMulticastAddress

otError otIp6SubscribeMulticastAddress(
  otInstance *aInstance,
  const otIp6Address *aAddress
)

נרשמים את ממשק השרשור לכתובת מרובת שידורים של 'ממשק רשת'.

המופע שהועבר aAddress יועתק על ידי ממשק השרשור. ממשק השרשור תומך רק במספר קבוע של כתובות לריבוי שידורים שנוספו מחוץ לארגון. יש לעיין ב-openthread_CONFIG_IP6_MAX_EXT_MCAST_BOUNDS.

פרטים
פרמטרים
[in] aInstance
מצביע על מופע של OpenThread.
[in] aAddress
מצביע על כתובת IP.
ערכי החזרה
OT_ERROR_NONE
ההרשמה לכתובת מרובה השידור של הרשת אושרה.
OT_ERROR_ALREADY
הכתובת של השידור לקבוצה כבר רשומה.
OT_ERROR_INVALID_ARGS
כתובת ה-IP שצוינה על ידי aAddress היא כתובת שידור לא חוקית.
OT_ERROR_REJECTED
כתובת ה-IP שצוינה על ידי aAddress היא כתובת פנימית של שידורים מרובים.
OT_ERROR_NO_BUFS
ממשק הרשת כבר מאחסן את המספר המקסימלי המותר של כתובות חיצוניות לשידור לקבוצה.

otIp6unsubscribeMulticastAddress

otError otIp6UnsubscribeMulticastAddress(
  otInstance *aInstance,
  const otIp6Address *aAddress
)

ביטול ההרשמה של ממשק השרשור לכתובת מרובת שידורים של ממשק רשת.

פרטים
פרמטרים
[in] aInstance
מצביע על מופע של OpenThread.
[in] aAddress
מצביע על כתובת IP.
ערכי החזרה
OT_ERROR_NONE
הרישום לכתובת השידור מרובה הרשת בוטל בהצלחה.
OT_ERROR_REJECTED
כתובת ה-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_MAX_MLR_ADDRESSES

 OT_IP6_MAX_MLR_ADDRESSES 15

המספר המקסימלי של כתובות IPv6 שנתמכות על ידי הרשמה ל-Multicast Listener.

OT_IP6_FirstName_BITSIZE

 OT_IP6_PREFIX_BITSIZE (OT_IP6_PREFIX_SIZE * 8)

גודל של קידומת IPv6 (ביטים)

OT_IP6_FirstName_SIZE

 OT_IP6_PREFIX_SIZE 8

גודל של קידומת IPv6 (בייטים)

OT_IP6_FirstName_STRING_SIZE

 OT_IP6_PREFIX_STRING_SIZE 45

גודל מומלץ לייצוג מחרוזת של קידומת IPv6.

OT_IP6_SOCK_DoCoMo_STRING_SIZE

 OT_IP6_SOCK_ADDR_STRING_SIZE 48

גודל מומלץ לייצוג מחרוזת של כתובת שקע IPv6.

משאבים

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