nl :: إنت :: الواجهة

#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
)

إرجاع معرف واجهة الشبكة في موضع المكرر الحالي.

تفاصيل
إرجاع القيم
INET_NULL_INTERFACEID
إذا تم التقدم إلى ما بعد نهاية القائمة.
id
معرف واجهة الشبكة الحالية.

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.

تفاصيل
المعلمات
[in] nameBuf
منطقة الذاكرة لكتابة اسم الواجهة
[in] nameBufSize
حجم المنطقة التي تدل nameBuf
إرجاع القيم
INET_NO_ERROR
نتيجة ناجحة ، اسم الواجهة مكتوب
INET_ERROR_INCORRECT_STATE
يتم وضع المكرر بعد نهاية القائمة
INET_ERROR_NO_MEMORY
الاسم كبير جدًا بحيث لا يمكن كتابته في المخزن المؤقت
other
خطأ آخر في النظام أو النظام الأساسي

HasBroadcastAddress

bool HasBroadcastAddress(
  void
)

تُرجع ما إذا كانت واجهة الشبكة الحالية لها عنوان بث.

تفاصيل
عائدات
true إذا اجهة الشبكة الحالية لديها عنوان البث، false إن لم يكن، أو إذا تم وضع مكرر بعد نهاية القائمة.

HasCurrent

bool HasCurrent(
  void
)

اختبر ما إذا كان المكرر موضوعًا على واجهة.

اختبر ما إذا كان المكرر موضوعًا على عنوان الواجهة.

تفاصيل
عائدات
true إذا تم وضع مكرر على واجهة. false إذا وضعه بعد نهاية من واجهة القائمة.
عائدات
true إذا تم وضع مكرر على عنوان واجهة. false إذا وضعه بعد نهاية قائمة العناوين.

الواجهة

 InterfaceIterator(
  void
)

يبني InterfaceIterator الكائن.

يبدأ المكرر عند أول واجهة للشبكة. في بعض الأنظمة الأساسية ، قد يخصص المُنشئ الموارد المعاد تدويرها بواسطة المدمر.

اعلى

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 .

يدعم

bool SupportsMulticast(
  void
)

تُرجع ما إذا كانت واجهة الشبكة الحالية تدعم الإرسال المتعدد.

تفاصيل
عائدات
true إذا اجهة الشبكة الحالية الدعم المتعدد، false إن لم يكن، أو إذا كان يتم وضع مكرر بعد نهاية القائمة.

~ InterfaceIterator

 ~InterfaceIterator(
  void
)

يدمر و InterfaceIterator الكائن.

يعيد تدوير أي موارد خصصها المنشئ.

وظائف محمية

GetFlags

short GetFlags(
  void
)

تُرجع قيمة ifr_flags للواجهة الحالية.