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 של הממשק.

מחייבת את נקודת הקצה (endpoint) עם כתובת ה-IP של ממשק הרשת שצוינה.

פרטים
פרמטרים
[in] addrType
גרסת הפרוטוקול של כתובת ה-IP
[in] addr
כתובת ה-IP (חייבת להיות כתובת הממשק)
[in] intfId
אינדיקטור אופציונלי לממשק רשת
ערכים מוחזרים
INET_NO_ERROR
הצלחה: נקודת קצה (endpoint) קשורה לכתובת
INET_ERROR_INCORRECT_STATE
נקודת הקצה (endpoint) נחשפה בעבר
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 המתאימות לשידור חבילות אל יעדים בקישור ואליהם.

הפונקציה מחברת את נקודת הקצה (endpoint) לכתובת הקישור המקומית מסוג IPv6 addr בממשק הרשת שצוין על ידי intf.

פרטים
פרמטרים
[in] intf
מזהה ממשק (API) לזיהוי היקף הכתובת.
[in] addr
אובייקט IPAddress של קישור מקומי מסוג קישור IPv6.
פרמטרים
[in] intf
מחוון ממשק הרשת
[in] addr
כתובת ה-IP (חייבת להיות כתובת הממשק)
ערכים מוחזרים
INET_NO_ERROR
הצלחה: נקודת קצה (endpoint) קשורה לכתובת
INET_ERROR_INCORRECT_STATE
נקודת הקצה (endpoint) נחשפה בעבר
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
)

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

מחייבת את נקודת הקצה (endpoint) עם כתובת ה-IP של ממשק הרשת שצוינה.

פרטים
פרמטרים
[in] addrType
את גרסת הפרוטוקול של כתובת ה-IP.
[in] intf
אינדיקטור של ממשק הרשת.
ערכים מוחזרים
INET_NO_ERROR
הצלחה: נקודת קצה (endpoint) קשורה לכתובת
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
)

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

מפעילה את השיטה Close ואז מפעילה את השיטה 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
נקודת קצה (endpoint) לא מסוג IPv6
INET_ERROR_WRONG_PROTOCOL_TYPE
נקודת הקצה לא מסוג ICMP6
other
שגיאת מערכת או שגיאה אחרת