nl:: اینت:: InterfaceAddressIterator
#include <src/inet/InetInterface.h>
Iterator برای لیست آدرس های 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 نشان می دهد که آیا رابط شبکه مرتبط با آدرس رابط فعلی از چندپخشی پشتیبانی می کند یا خیر. |
توابع عمومی
دریافت آدرس
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 . |
پشتیبانی از Multicast
bool SupportsMulticast( void )
نشان می دهد که آیا رابط شبکه مرتبط با آدرس رابط فعلی از چندپخشی پشتیبانی می کند یا خیر.
جزئیات | |
---|---|
برمی گرداند | true اگر چندپخشی پشتیبانی شود، false اگر نه، یا اگر تکرارکننده در یک آدرس واسط قرار نداشته باشد. |
~InterfaceAddressIterator
~InterfaceAddressIterator( void )
یک شی InterfaceAddressIterator را از بین می برد.
هر منبع تخصیص یافته توسط سازنده را بازیافت می کند.
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates. The OPENTHREAD and related marks are trademarks of the Thread Group and are used under license.
تاریخ آخرین بهروزرسانی 2024-11-13 بهوقت ساعت هماهنگ جهانی.