nl::Inet::RawEndPoint

#include <src/inet/RawEndPoint.h>

אובייקטים מהמחלקה הזו מייצגים נקודות קצה גולמיות של רשת IP.

סיכום

Nest Inet Layer כוללת שיטות לאינטראקציה עם נקודות קצה של רשת IP (שקעי SOCK_RAW במערכות Linux ו-BSD) או בלוקים של בקרת פרוטוקול גולמיים מסוג LwIP, כי המערכת מוגדרת בהתאם.

ירושה

עובר בירושה מ: nl::Inet::IPEndPointBasis

מאפיינים ציבוריים

IPProto
IPProtocol
גרסה של פרוטוקול הודעת הבקרה באינטרנט (ICMP)
IPVer
IPVersion
גרסה של פרוטוקול האינטרנט.

פונקציות ציבוריות

Bind(IPAddressType addrType, IPAddress addr, InterfaceId intfId)
קישור של נקודת הקצה לכתובת IP של הממשק.
BindIPv6LinkLocal(InterfaceId intf, IPAddress addr)
קישור של נקודת הקצה הגולמית לכתובת היקף מקומי של קישור IPv6 באינדקס הממשק שצוין.
BindInterface(IPAddressType addrType, InterfaceId intf)
קישור של נקודת הקצה לממשק רשת.
Close(void)
void
סוגרים את נקודת הקצה.
Free(void)
void
סוגרים את נקודת הקצה ומחזרים את הזיכרון שלה.
GetBoundInterface(void)
InterfaceId
מוצאים את הממשק המקושר בנקודת הקצה הזו.
Listen(void)
צריך להכין את נקודת הקצה לקבלת הודעות ICMP.
SendMsg(const IPPacketInfo *pktInfo, Weave::System::PacketBuffer *msg, uint16_t sendFlags)
שולחים הודעת ICMP ליעד שצוין.
SendTo(IPAddress addr, Weave::System::PacketBuffer *msg, uint16_t sendFlags)
מילה נרדפת של SendTo(addr, INET_NULL_INTERFACEID, msg, sendFlags).
SendTo(IPAddress addr, InterfaceId intfId, Weave::System::PacketBuffer *msg, uint16_t sendFlags)
שולחים הודעת ICMP לכתובת היעד שצוינה.
SetICMPFilter(uint8_t numICMPTypes, const uint8_t *aICMPTypes)
מגדירים את הפרמטרים של המסנן ICMP6 במקבץ הרשת.

מאפיינים ציבוריים

IPProto

IPProtocol IPProto

גרסה של פרוטוקול הודעת הבקרה באינטרנט (ICMP)

השדה הזה הוא משתנה מחלקה שניתן לשנות, אבל הוא משתנה של המחלקה שלא ניתן לשנות.

IPVer

IPVersion IPVer

גרסה של פרוטוקול האינטרנט.

השדה הזה הוא משתנה מחלקה שניתן לשנות, אבל הוא משתנה של המחלקה שלא ניתן לשנות.

פונקציות ציבוריות

כריכה

INET_ERROR Bind(
  IPAddressType addrType,
  IPAddress addr,
  InterfaceId intfId
)

קישור של נקודת הקצה לכתובת IP של הממשק.

מקשרת את נקודת הקצה לכתובת ה-IP של ממשק הרשת שצוינה.

פרטים
פרמטרים
[in] addrType
גרסת הפרוטוקול של כתובת ה-IP
[in] addr
כתובת ה-IP (חייבת להיות כתובת ממשק)
[in] intfId
אינדיקטור אופציונלי של ממשק רשת
מוחזר ערכים
INET_NO_ERROR
הצלחה: נקודת קצה קשורה לכתובת
INET_ERROR_INCORRECT_STATE
נקודת הקצה קשורה בעבר
INET_NO_MEMORY
אין מספיק זיכרון לנקודת הקצה
INET_ERROR_UNKNOWN_INTERFACE
בפלטפורמות מסוימות, הממשק שצוין (אופציונלי) לא קיים.
INET_ERROR_WRONG_PROTOCOL_TYPE
addrType אינו תואם ל-IPVer.
INET_ERROR_WRONG_ADDRESS_TYPE
addrType הוא kIPAddressType_Any, או הסוג של addr לא שווה ל-addrType.
other
שגיאת מערכת או פלטפורמה אחרת

ב-LwIP, אסור לקרוא לשיטה הזו כשנעילת הערימה של LwIP כבר נרכשה.

BindIPv6LinkLocal

INET_ERROR BindIPv6LinkLocal(
  InterfaceId intf,
  IPAddress addr
)

קישור של נקודת הקצה הגולמית לכתובת היקף מקומי של קישור IPv6 באינדקס הממשק שצוין.

מגדירה גם אפשרויות שונות של שקעי IPv6 שמתאימים להעברת חבילות אל יעדים מקושרים ומהם.

הפונקציה מקשרת את נקודת הקצה לכתובת המקומית של קישור מסוג IPv6 addr בממשק הרשת שמצוין ב-intf.

פרטים
פרמטרים
[in] intf
InterfaceId לזיהוי היקף הכתובת.
[in] addr
אובייקט IPAddress של היקף הקישור המקומי של IPv6.
פרמטרים
[in] intf
האינדיקטור של ממשק הרשת
[in] addr
כתובת ה-IP (חייבת להיות כתובת ממשק)
מוחזר ערכים
INET_NO_ERROR
הצלחה: נקודת קצה קשורה לכתובת
INET_ERROR_INCORRECT_STATE
נקודת הקצה קשורה בעבר
INET_NO_MEMORY
אין מספיק זיכרון לנקודת הקצה
INET_ERROR_WRONG_PROTOCOL_TYPE
addrType אינו תואם ל-IPVer.
INET_ERROR_WRONG_ADDRESS_TYPE
addr היא לא כתובת קישור מקומית של IPv6 או intf היא INET_NULL_INTERFACEID.
other
שגיאת מערכת או פלטפורמה אחרת
החזרות
INET_NO_ERRORבהצלחה, או שגיאת מערכת הפעלה ממופה במקרה של כשל. רשימת פרמטרים לא חוקית עלולה לגרום לשגיאה INET_ERROR_WRONG_ADDRESS_TYPE. אם נקודת הקצה הגולמית כבר משויכת או נמצאת בהאזנה, הפונקציה מחזירה את הערך INET_ERROR_INCORRECT_STATE. קישור של נקודת הקצה לכתובת קישור מקומית של IPv6 של ממשק.

ב-LwIP, אסור לקרוא לשיטה הזו כשנעילת הערימה של LwIP כבר נרכשה.

BindInterface

INET_ERROR BindInterface(
  IPAddressType addrType,
  InterfaceId intf
)

קישור של נקודת הקצה לממשק רשת.

מקשרת את נקודת הקצה לכתובת ה-IP של ממשק הרשת שצוינה.

פרטים
פרמטרים
[in] addrType
גרסת הפרוטוקול של כתובת ה-IP.
[in] intf
אינדיקטור של ממשק הרשת.
מוחזר ערכים
INET_NO_ERROR
הצלחה: נקודת קצה קשורה לכתובת
INET_NO_MEMORY
אין מספיק זיכרון לנקודת הקצה
INET_ERROR_NOT_IMPLEMENTED
הטמעת המערכת לא הושלמה.
INET_ERROR_UNKNOWN_INTERFACE
בפלטפורמות מסוימות הממשק לא קיים.
other
שגיאת מערכת או פלטפורמה אחרת

ב-LwIP, אסור לקרוא לשיטה הזו כשנעילת הערימה של LwIP כבר נרכשה.

סגירה

void Close(
  void
)

סוגרים את נקודת הקצה.

אם הערך mState != kState_Closed הוא נקודת הקצה, נקודת הקצה נסגרת ומסירים אותה מקבוצת נקודות הקצה שעומדות בדרישות לאירועי תקשורת.

במערכות LwIP, אסור לקרוא לשיטה הזו כשנעילת הערימה של LwIP כבר נרכשה.

בחינם

void Free(
  void
)

סוגרים את נקודת הקצה ומחזרים את הזיכרון שלה.

הפעלה של ה-method Close, ואז הפעלת ה-method InetLayerBasis::Release כדי להחזיר את האובייקט למאגר הזיכרון שלו.

במערכות LwIP, אסור לקרוא לשיטה הזו כשנעילת הערימה של LwIP כבר נרכשה.

GetBoundInterface

InterfaceId GetBoundInterface(
  void
)

מוצאים את הממשק המקושר בנקודת הקצה הזו.

פרטים
החזרות
InterfaceId מזהה הממשק המקושר.

האזנה

INET_ERROR Listen(
  void
)

צריך להכין את נקודת הקצה לקבלת הודעות ICMP.

אם הערך של mState כבר kState_Listening, לא תבוצע פעולה, אחרת הערך של mState יוגדר להיות kState_Listening ונקודת הקצה מוכנה לקבלת הודעות ICMPv6, בהתאם לסמנטיקה של הפלטפורמה.

פרטים
מוחזר ערכים
INET_NO_ERROR
תמיד מוחזרות.

ב-LwIP, אסור לקרוא לשיטה הזו כשנעילת הערימה של LwIP כבר נרכשה

SendMsg

INET_ERROR SendMsg(
  const IPPacketInfo *pktInfo,
  Weave::System::PacketBuffer *msg,
  uint16_t sendFlags
)

שולחים הודעת ICMP ליעד שצוין.

 Send the ICMP message \c msg using the destination information given in \c addr.

 Where (sendFlags & kSendFlag_RetainBuffer) != 0, calls
 Weave::System::PacketBuffer::Free on behalf of the caller, otherwise this
 method deep-copies \c msg into a fresh object, and queues that for
 transmission, leaving the original \c msg available after return.

פרטים
פרמטרים
[in] pktInfo
הפרטים של היעד של ההודעה
[in] msg
מאגר המנות שמכיל את הודעת ה-UDP
[in] sendFlags
דגלים אופציונליים של אפשרויות שידור
מוחזר ערכים
INET_NO_ERROR
הצלחה: msg בתור לשידור.
INET_ERROR_NOT_SUPPORTED
המערכת לא תומכת בפעולה המבוקשת.
INET_ERROR_WRONG_ADDRESS_TYPE
לכתובת היעד ולכתובת הממשק המקושרת אין גרסאות פרוטוקול תואמות או סוג כתובת תואם.
INET_ERROR_MESSAGE_TOO_LONG
msg לא מכיל את כל הודעת ה-ICMP.
INET_ERROR_OUTBOUND_MESSAGE_TRUNCATED
בפלטפורמות מסוימות, רק חלק קטוע של msg נוסף לתור לשידור.
other
שגיאת מערכת או פלטפורמה אחרת

SendTo

INET_ERROR SendTo(
  IPAddress addr,
  Weave::System::PacketBuffer *msg,
  uint16_t sendFlags
)

מילה נרדפת של SendTo(addr, INET_NULL_INTERFACEID, msg, sendFlags).

SendTo

INET_ERROR SendTo(
  IPAddress addr,
  InterfaceId intfId,
  Weave::System::PacketBuffer *msg,
  uint16_t sendFlags
)

שולחים הודעת ICMP לכתובת היעד שצוינה.

 Send the ICMP message in \c msg to the destination given in \c addr.

 Where (sendFlags & kSendFlag_RetainBuffer) != 0, calls
 Weave::System::PacketBuffer::Free on behalf of the caller, otherwise this
 method deep-copies \c msg into a fresh object, and queues that for
 transmission, leaving the original \c msg available after return.

פרטים
פרמטרים
[in] addr
כתובת ה-IP של היעד
[in] intfId
אינדיקטור אופציונלי של ממשק רשת
[in] msg
מאגר המנות שמכיל את הודעת ה-UDP
[in] sendFlags
דגלים אופציונליים של אפשרויות שידור
מוחזר ערכים
INET_NO_ERROR
הצלחה: msg בתור לשידור.
INET_ERROR_NOT_SUPPORTED
המערכת לא תומכת בפעולה המבוקשת.
INET_ERROR_WRONG_ADDRESS_TYPE
לכתובת היעד ולכתובת הממשק המקושרת אין גרסאות פרוטוקול תואמות או סוג כתובת תואם.
INET_ERROR_MESSAGE_TOO_LONG
msg לא מכיל את כל הודעת ה-ICMP.
INET_ERROR_OUTBOUND_MESSAGE_TRUNCATED
בפלטפורמות מסוימות, רק חלק קטוע של msg נוסף לתור לשידור.
other
שגיאת מערכת או פלטפורמה אחרת

SetICMPFilter

INET_ERROR SetICMPFilter(
  uint8_t numICMPTypes,
  const uint8_t *aICMPTypes
)

מגדירים את הפרמטרים של המסנן ICMP6 במקבץ הרשת.

מחילים את הפרמטרים לסינון ICMPv6 עבור הקודים ב-aICMPTypes על נקודת הקצה הבסיסית בסטאק הרשת של המערכת.

פרטים
פרמטרים
[in] numICMPTypes
אורך המערך ב-aICMPTypes
[in] aICMPTypes
קבוצת הקודים מסוג ICMPv6 לסינון.
מוחזר ערכים
INET_NO_ERROR
הצלחה: הפרמטרים לסינון הוגדרו
INET_ERROR_NOT_IMPLEMENTED
לא מיישם
INET_ERROR_WRONG_ADDRESS_TYPE
נקודת הקצה היא לא סוג IPv6
INET_ERROR_WRONG_PROTOCOL_TYPE
נקודת הקצה היא לא סוג ICMP6
other
שגיאת מערכת או פלטפורמה אחרת