nl:: Inet:: InterfaceIterator
#include <src/inet/InetInterface.h>
مكرّر لقائمة واجهات شبكة النظام.
ملخّص
استخدِم كائنات من هذه الفئة لتكرار قائمة واجهات شبكة النظام.
علمًا بأن الطرق المستخدمة في مثيل فردي من هذه الفئة ليست آمنة لسلاسل المحادثات، ولكن يمكن استخدام مثيلات منفصلة في آنٍ واحد بواسطة سلاسل محادثات متعددة.
في أنظمة LwIP المتعددة السلاسل، تكون المثيلات متوافقة مع سلاسل المحادثات الأخرى التي تصل إلى حالة LwIP العامة بشرط أن تحتفظ سلاسل المحادثات الأخرى بقفل LwIP الأساسي أثناء تبديل قائمة netifs، وأن كائن netif نفسه لا يتم إتلافه أبدًا.
في الأنظمة القائمة على المقابس، يكون التكرار مستقرًا دائمًا في مواجهة التغييرات التي تطرأ على واجهات النظام الأساسي.
في أنظمة LwIP، يكون التكرار ثابتًا إلا إذا تمت إزالة الواجهة المحددة حاليًا من القائمة، وفي هذه الحالة ينتهي التكرار فورًا.
الشركات المصنّعة والمُصنّعة |
|
---|---|
InterfaceIterator(void)
تنشئ كائن InterfaceIterator.
|
|
~InterfaceIterator(void)
إتلاف كائن InterfaceIterator.
|
السمات المحمية |
|
---|---|
mCurIntf
|
size_t
|
mCurNetif
|
struct netif *
|
mIntfArray
|
struct if_nameindex *
|
mIntfFlags
|
short
|
mIntfFlagsCached
|
bool
|
وظائف عامة |
|
---|---|
GetInterface(void)
|
InterfaceId
اسم مستعار تم إيقاف العمل به لـ
GetInterfaceId(void) |
GetInterfaceId(void)
|
InterfaceId
تعرض معرف واجهة الشبكة في موضع المكرر الحالي.
|
GetInterfaceName(char *nameBuf, size_t nameBufSize)
|
احصل على اسم واجهة الشبكة الحالية.
|
HasBroadcastAddress(void)
|
bool
يعرض ما إذا كان لواجهة الشبكة الحالية عنوان بث.
|
HasCurrent(void)
|
bool
اختبار ما إذا كان قد تم وضع المكرّر على واجهة.
|
IsUp(void)
|
bool
يعرض ما إذا كانت واجهة الشبكة الحالية تعمل.
|
Next(void)
|
bool
تقدم المكرر إلى واجهة الشبكة التالية.
|
SupportsMulticast(void)
|
bool
تعرض ما إذا كانت واجهة الشبكة الحالية تتوافق مع البث المتعدد.
|
الدوال المحمية |
|
---|---|
GetFlags(void)
|
short
تعرض قيمة ifr_flags للواجهة الحالية.
|
السمات المحمية
mCurIntf
size_t mCurIntf
mCurNetif
struct netif * mCurNetif
mIntfArray
struct if_nameindex * mIntfArray
mIntfFlags
short mIntfFlags
mIntfFlagsCached
bool mIntfFlagsCached
وظائف عامة
GetInterfaceId
InterfaceId GetInterfaceId( void )
تعرض معرف واجهة الشبكة في موضع المكرر الحالي.
التفاصيل | |||||
---|---|---|---|---|---|
قيم الإرجاع |
|
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.
التفاصيل | |||||||||
---|---|---|---|---|---|---|---|---|---|
المعلمات |
|
||||||||
قيم الإرجاع |
|
HasBroadcastAddress
bool HasBroadcastAddress( void )
يعرض ما إذا كان لواجهة الشبكة الحالية عنوان بث.
التفاصيل | |
---|---|
المرتجعات |
true إذا كانت واجهة الشبكة الحالية تحتوي على عنوان بث، أو false إذا لم يكن كذلك، أو إذا كان وضع التكرار يقع بعد نهاية القائمة |
HasCurrent
bool HasCurrent( void )
اختبار ما إذا كان قد تم وضع المكرّر على واجهة.
اختبر ما إذا كان قد تم وضع المكرر على عنوان واجهة.
التفاصيل | |
---|---|
المرتجعات |
true إذا تم وضع المكرّر على واجهة معيّنة false إذا تم وضعها بعد نهاية قائمة الواجهة. |
المرتجعات |
true إذا تم وضع المكرّر على عنوان واجهة: false في حال وضعه في نهاية قائمة العناوين. |
InterfaceIterator
InterfaceIterator( void )
تنشئ كائن InterfaceIterator.
لبدء تشغيل المكرر في الواجهة الأولى للشبكة. في بعض الأنظمة الأساسية، قد تقوم الدالة الإنشائية هذه بتخصيص موارد تمت إعادة تدويرها بواسطة الدالة الإنشائية.
IsUp
bool IsUp( void )
يعرض ما إذا كانت واجهة الشبكة الحالية تعمل.
التفاصيل | |
---|---|
المرتجعات |
true إذا كانت واجهة الشبكة الحالية تعمل، وfalse إذا لم تكن كذلك، أو إذا تم وضع المكرّر في نهاية القائمة. |
التالي
bool Next( void )
تقدم المكرر إلى واجهة الشبكة التالية.
Advances the internal iterator to the next network interface or to a position beyond the end of the interface list. On multi-threaded LwIP systems, this method is thread-safe relative to other threads accessing the global LwIP state provided that: 1) the other threads hold the LwIP core lock while mutating the list of netifs; and 2) netif objects themselves are never destroyed. Iteration is stable in the face of changes to the underlying system's interfaces, *except* in the case of LwIP systems when the currently selected interface is removed from the list, which causes iteration to end immediately.
التفاصيل | |
---|---|
المرتجعات |
false في حالة تقدم بعد النهاية، وإلا true . |
SupportsMulticast
bool SupportsMulticast( void )
تعرض ما إذا كانت واجهة الشبكة الحالية تتوافق مع البث المتعدد.
التفاصيل | |
---|---|
المرتجعات |
true إذا كانت واجهة الشبكة الحالية تتيح البث المتعدد، أو false في حال عدم توافقها، أو إذا كان المكرّر يقع بعد نهاية القائمة. |
~InterfaceIterator
~InterfaceIterator( void )
إتلاف كائن InterfaceIterator.
لإعادة تدوير أي موارد مخصصة بواسطة الدالة الإنشائية.
الدوال المحمية
GetFlags
short GetFlags( void )
تعرض قيمة ifr_flags للواجهة الحالية.