nl:: Inet:: InterfaceAddressIterator
#include <src/inet/InetInterface.h>
איטרטור לרשימת כתובות ה-IP של ממשק הרשת של המערכת.
סיכום
להשתמש באובייקטים מהמחלקה הזו כדי לחזור על רשימת כתובות ה-IP של ממשק הרשת של המערכת.
שיטות במופע ספציפי במחלקה הזו לא בטוחות בשרשור; עם זאת, אפשר להשתמש במופעים נפרדים בו-זמנית במספר שרשורים.
במערכות LwIP מרובות שרשורים, המכונות בטוחות לשרשורים ביחס לשרשורים אחרים הניגשים למצב ה-LwIP הגלובלי, בתנאי ש-1) שרשורים אחרים מחזיקים את נעילת הליבה של LwIP תוך שינוי רשימת הרשתות; וגם 2) אובייקטי netif עצמם אף פעם לא מושמדים.
במערכות שמבוססות על שקעים, האיטרציה תמיד יציבה בפני שינויים בממשקים ו/או בכתובות של המערכת הבסיסית.
במערכות LwIP, האיטרציה יציבה למעט במקרה שבו הממשק המשויך לכתובת הנוכחית הוסר, ובמקרה כזה האיטרציה עשויה להסתיים מוקדם מדי.
בנייה |
|
---|---|
InterfaceAddressIterator(void)
יוצרת אובייקט InterfaceAddressIterator.
|
|
~InterfaceAddressIterator(void)
השמדת אובייקט InterfaceAddressIterator.
|
פונקציות ציבוריות |
|
---|---|
GetAddress(void)
|
לראות את הכתובת הנוכחית של הממשק.
|
GetAddressWithPrefix(IPPrefix & addrWithPrefix)
|
void
הפונקציה מחזירה IPPrefix שמכיל את הכתובת ואת אורך הקידומת של הכתובת הנוכחית.
|
GetIPv6PrefixLength(void)
|
uint8_t
כינוי שהוצא משימוש עבור
GetPrefixLength(void) |
GetInterface(void)
|
InterfaceId
כינוי שהוצא משימוש עבור
GetInterfaceId(void) |
GetInterfaceId(void)
|
InterfaceId
הפונקציה מחזירה את מזהה ממשק הרשת שמשויך לכתובת הממשק הנוכחית.
|
GetInterfaceName(char *nameBuf, size_t nameBufSize)
|
קבלת השם של ממשק הרשת שמשויך לכתובת הממשק הנוכחית.
|
GetPrefixLength(void)
|
uint8_t
הפונקציה מקבלת את קידומת הרשת המשויכת לכתובת הממשק הנוכחית.
|
HasBroadcastAddress(void)
|
bool
הפונקציה מחזירה אם לממשק הרשת המשויך לכתובת הממשק הנוכחית יש כתובת שידור IPv4.
|
HasCurrent(void)
|
bool
|
IsUp(void)
|
bool
הפונקציה מחזירה אם ממשק הרשת המשויך לכתובת הממשק הנוכחית פעיל.
|
Next(void)
|
bool
המשך באיטרטור לכתובת הממשק הבאה.
|
SupportsMulticast(void)
|
bool
הפונקציה מחזירה אם ממשק הרשת המשויך לכתובת הממשק הנוכחית תומך בריבוי שידורים.
|
פונקציות ציבוריות
GetAddress
IPAddress GetAddress( void )
לראות את הכתובת הנוכחית של הממשק.
פרטים | |
---|---|
החזרות |
כתובת הממשק הנוכחית או
IPAddress::Any אם האיטרטור ממוקם מעבר לסוף רשימת הכתובות. |
GetAddressWithPrefix
void GetAddressWithPrefix( IPPrefix & addrWithPrefix )
הפונקציה מחזירה IPPrefix שמכיל את הכתובת ואת אורך הקידומת של הכתובת הנוכחית.
GetIPv6PrefixLength
uint8_t GetIPv6PrefixLength( void )
כינוי שהוצא משימוש עבור GetPrefixLength(void)
GetInterfaceId
InterfaceId GetInterfaceId( void )
הפונקציה מחזירה את מזהה ממשק הרשת שמשויך לכתובת הממשק הנוכחית.
פרטים | |
---|---|
החזרות |
מזהה הממשק או
INET_NULL_INTERFACEID אם האיטרטור ממוקם מעבר לסוף של רשימת הכתובות. |
GetInterfaceName
INET_ERROR GetInterfaceName( char *nameBuf, size_t nameBufSize )
קבלת השם של ממשק הרשת שמשויך לכתובת הממשק הנוכחית.
Writes the name of the network interface as \c NUL terminated text string at \c nameBuf.
פרטים | |||||||||
---|---|---|---|---|---|---|---|---|---|
פרמטרים |
|
||||||||
מוחזר ערכים |
|
GetPrefixLength
uint8_t GetPrefixLength( void )
הפונקציה מקבלת את קידומת הרשת המשויכת לכתובת הממשק הנוכחית.
On LwIP, this method simply returns the hard-coded constant 64. Note Well: the standard subnet prefix on all links other than PPP links is 64 bits. On PPP links and some non-broadcast multipoint access links, the convention is either 127 bits or 128 bits, but it might be something else. On most platforms, the system's interface address structure can represent arbitrary prefix lengths between 0 and 128.
פרטים | |
---|---|
החזרות |
קידומת הרשת (בביטים) או 0 אם האיטרטור ממוקם מעבר לסוף רשימת הכתובות.
|
HasBroadcastAddress
bool HasBroadcastAddress( void )
הפונקציה מחזירה אם לממשק הרשת המשויך לכתובת הממשק הנוכחית יש כתובת שידור IPv4.
פרטים | |
---|---|
החזרות |
true אם לממשק יש כתובת שידור, false אם לא, או אם האיטרטור לא ממוקם על כתובת ממשק. |
HasCurrent
bool HasCurrent( void )
InterfaceAddressIterator
InterfaceAddressIterator( void )
יוצרת אובייקט InterfaceAddressIterator.
התחלת האיטרטור בכתובת הרשת הראשונה. בחלק מהפלטפורמות, ה-constructor הזה עשוי להקצות משאבים שממוחזרים על ידי כלי ההרכבה.
IsUp
bool IsUp( void )
הפונקציה מחזירה אם ממשק הרשת המשויך לכתובת הממשק הנוכחית פעיל.
פרטים | |
---|---|
החזרות |
true אם ממשק הרשת הנוכחי במצב פעיל, false אם לא, או אם האיטרטור לא ממוקם על כתובת ממשק. |
הבא
bool Next( void )
המשך באיטרטור לכתובת הממשק הבאה.
Advances the iterator to the next interface address or to a position beyond the end of the address list. On LwIP, this method is thread-safe provided that: 1) other threads hold the LwIP core lock while mutating the netif list; and 2) netif objects themselves are never destroyed. Additionally, iteration on LwIP systems will terminate early if the current interface is removed from the list.
פרטים | |
---|---|
החזרות |
false אם הוא מתקדם אחרי הסוף, אחרת true . |
SupportsMulticast
bool SupportsMulticast( void )
הפונקציה מחזירה אם ממשק הרשת המשויך לכתובת הממשק הנוכחית תומך בריבוי שידורים.
פרטים | |
---|---|
החזרות |
true אם יש תמיכה בריבוי שידורים, false אם לא, או אם האיטרטור לא ממוקם על כתובת ממשק. |
~InterfaceAddressIterator
~InterfaceAddressIterator( void )
השמדת אובייקט InterfaceAddressIterator.
מיחזור המשאבים שהוקצו על ידי ה-constructor.