nl:: Inet:: InterfaceAddressIterator
#include <src/inet/InetInterface.h>
مكرّر لقائمة عناوين IP لواجهة شبكة النظام.
الملخّص
يمكنك استخدام عناصر من هذه الفئة وتكرار قائمة عناوين IP لواجهة واجهة شبكة النظام.
الطرق في مثيل فردي لهذا الصف غير آمنة لسلاسل المحادثات، ومع ذلك يمكن استخدام مثيلات منفصلة في سلاسل محادثات متعددة في آنٍ واحد.
في أنظمة LwIP متعددة السلاسل، تكون المثيلات آمنة لسلاسل المحادثات بالنسبة إلى سلاسل المحادثات الأخرى التي تصل إلى حالة LwIP العامة، شرط أن: 1) تحتفظ سلاسل المحادثات الأخرى بقفل LwIP الأساسي أثناء تغيير قائمة شبكات netif. و2) كائن netif نفسه لا يتم إتلافه مطلقًا.
في الأنظمة المستندة إلى المقابس، يكون التكرار ثابتًا دائمًا في مواجهة التغييرات في واجهات و/أو عناوين النظام الأساسية.
في أنظمة LwIP، يكون تكرار الإصدار ثابتًا إلا في حال إزالة الواجهة المرتبطة بالعنوان الحالي، وقد ينتهي تكرار هذا الطلب قبل أوانه.
الماكينات والبناء |
|
---|---|
InterfaceAddressIterator(void)
لإنشاء كائن InterfaceAddressIterator.
|
|
~InterfaceAddressIterator(void)
تدمير كائن InterfaceAddressIterator.
|
وظائف عامة |
|
---|---|
GetAddress(void)
|
احصل على عنوان الواجهة الحالي.
|
GetAddressWithPrefix(IPPrefix & addrWithPrefix)
|
void
تعرض IPبادئة تحتوي على العنوان وطول البادئة للعنوان الحالي.
|
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
تعرض ما إذا كانت واجهة الشبكة المرتبطة بعنوان الواجهة الحالية تتيح البث المتعدد.
|
وظائف عامة
الحصول على العنوان
IPAddress GetAddress( void )
احصل على عنوان الواجهة الحالي.
التفاصيل | |
---|---|
المرتجعات |
عنوان الواجهة الحالي أو
IPAddress::Any إذا كان المكرر موجودًا بعد نهاية قائمة العناوين. |
GetAddressWithPrefix
void GetAddressWithPrefix( IPPrefix & addrWithPrefix )
تعرض IPبادئة تحتوي على العنوان وطول البادئة للعنوان الحالي.
رقم تعريف واجهة برمجة التطبيقات
InterfaceId GetInterfaceId( void )
عرض رقم تعريف واجهة الشبكة المرتبط بعنوان الواجهة الحالية.
التفاصيل | |
---|---|
المرتجعات |
معرّف الواجهة أو
INET_NULL_INTERFACEID إذا تم وضع المكرر بعد نهاية قائمة العناوين. |
اسم GetInterface
INET_ERROR GetInterfaceName( char *nameBuf, size_t nameBufSize )
يمكنك الحصول على اسم واجهة الشبكة المرتبطة بعنوان الواجهة الحالية.
Writes the name of the network interface as \c NUL terminated text string at \c nameBuf.
التفاصيل | |||||||||
---|---|---|---|---|---|---|---|---|---|
المعلَمات |
|
||||||||
قيم الإرجاع |
|
طول البادئة
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 إذا تم وضع المكرر بعد نهاية قائمة العناوين.
|
تحتوي على عنوان بث مباشر
bool HasBroadcastAddress( void )
تعرض ما إذا كانت واجهة الشبكة المرتبطة بعنوان الواجهة الحالية لها عنوان بث IPv4.
التفاصيل | |
---|---|
المرتجعات |
true إذا كانت الواجهة تحتوي على عنوان بث، false إذا لم يكن الأمر كذلك، أو إذا لم يتم وضع المكرّر على عنوان واجهة. |
HasCurrent
bool HasCurrent( void )
واجهة العنوان المكرر
InterfaceAddressIterator( void )
لإنشاء كائن InterfaceAddressIterator.
لبدء المكرّر على عنوان الشبكة الأول في بعض الأنظمة الأساسية، يمكن أن تُصنِّع طريقة التصميم هذه الموارد التي أعادت الأداة التعليمية تدويرها.
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 . |
متوافق مع البث المتعدد
bool SupportsMulticast( void )
تعرض ما إذا كانت واجهة الشبكة المرتبطة بعنوان الواجهة الحالية تتيح البث المتعدد.
التفاصيل | |
---|---|
المرتجعات |
true إذا كان البث المتعدد متوافقًا، false إذا لم يكن معروضًا، أو إذا لم يتم وضع المكرر على عنوان واجهة. |
~InterfaceAddressIterator
~InterfaceAddressIterator( void )
تدمير كائن InterfaceAddressIterator.
إعادة تدوير أي موارد تم تخصيصها من قِبل المُنشئ.