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
الدوال العامة
GetInterface
InterfaceId GetInterface( void )
اسم بديل متوقّف نهائيًا للوحدة التنظيمية "GetInterfaceId(void)
"
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 للواجهة الحالية.