nl:: Inet:: InterfaceAddressIterator
#include <src/inet/InetInterface.h>
مكرّر لقائمة عناوين IP لواجهة الشبكة في النظام
ملخّص
استخدِم كائنات من هذه الفئة لتكرار قائمة عناوين IP لواجهة شبكة النظام.
علمًا بأن الطرق المستخدمة في مثيل فردي من هذه الفئة ليست آمنة لسلاسل المحادثات، ولكن يمكن استخدام مثيلات منفصلة في آنٍ واحد بواسطة سلاسل محادثات متعددة.
في أنظمة LwIP المتعددة السلاسل، تكون المثيلات خالية من سلاسل المحادثات مقارنةً بسلاسل المحادثات الأخرى التي تصل إلى حالة LwIP العامة بشرط: 1) احتفاظ سلاسل المحادثات الأخرى بقفل LwIP الأساسي مع تغيير قائمة netifs. و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.
لبدء تشغيل المكرر في عنوان الشبكة الأول. في بعض الأنظمة الأساسية، قد تقوم الدالة الإنشائية هذه بتخصيص موارد تمت إعادة تدويرها بواسطة الدالة الإنشائية.
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
لإعادة تدوير أي موارد مخصصة بواسطة الدالة الإنشائية.