nl:: Inet:: InterfaceAddressIterator
#include <src/inet/InetInterface.h>
Sistem ağ arayüzü IP adreslerinin listesi için iterasyon.
Özet
Sistem ağ arayüzü arayüzü IP adresleri listesini yinelemek için bu sınıfın nesnelerini kullanın.
Bu sınıfın ayrı bir örneğindeki yöntemler ileti dizisi için güvenli değildir; ancak birden fazla ileti dizisi tarafından ayrı örnekler kullanılabilir.
Birden çok ileti dizisine sahip LwIP sistemlerinde, örnekler şu koşullarda küresel LwIP durumuna erişen diğer ileti dizilerine göre ileti dizisi açısından güvenlidir: 1) diğer ileti dizileri, netifs listesini yoksayırken LwIP çekirdek kilidini tutar ve 2) netif nesnesi kendi kendine yok edilmez.
Yuva tabanlı sistemlerde yineleme, alttaki sistemin arayüzlerinde ve/veya adreslerinde yapılan değişiklikler karşısında her zaman sabit olur.
LwIP sistemlerinde, mevcut adresle ilişkili arayüzün kaldırılması haricinde yineleme değişmez. Böyle bir durumda yineleme erken sona erer.
İnşaat Ustaları ve Yıkıcılar |
|
---|---|
InterfaceAddressIterator(void)
Bir InterfaceAddressIterator nesnesi oluşturur.
|
|
~InterfaceAddressIterator(void)
Bir InterfaceAddressIterator nesnesini kaldırır.
|
Herkese açık işlevler |
|
---|---|
GetAddress(void)
|
Mevcut arayüz adresini alın.
|
GetAddressWithPrefix(IPPrefix & addrWithPrefix)
|
void
Mevcut adres için adres ve ön ek uzunluğunu içeren bir IPPrefix döndürür.
|
GetIPv6PrefixLength(void)
|
uint8_t
GetPrefixLength(void) için takma ad kullanımdan kaldırıldı |
GetInterface(void)
|
InterfaceId
GetInterfaceId(void) için takma ad kullanımdan kaldırıldı |
GetInterfaceId(void)
|
InterfaceId
Mevcut arayüz adresiyle ilişkili ağ arayüz kimliğini döndürür.
|
GetInterfaceName(char *nameBuf, size_t nameBufSize)
|
Mevcut arayüz adresiyle ilişkili ağ arayüzünün adını alın.
|
GetPrefixLength(void)
|
uint8_t
Mevcut arayüz adresiyle ilişkili ağ ön ekini alır.
|
HasBroadcastAddress(void)
|
bool
Mevcut arayüz adresiyle ilişkili ağ arayüzünün IPv4 yayın adresi olup olmadığını döndürür.
|
HasCurrent(void)
|
bool
|
IsUp(void)
|
bool
Mevcut arayüz adresiyle ilişkili ağ arayüzünün açık olup olmadığını döndürür.
|
Next(void)
|
bool
Yinelemeyi bir sonraki arayüz adresine ilerletin.
|
SupportsMulticast(void)
|
bool
Mevcut arayüz adresiyle ilişkili ağ arayüzünün çoklu yayını destekleyip desteklemediğini döndürür.
|
Herkese açık işlevler
Adres Adresi
IPAddress GetAddress( void )
Mevcut arayüz adresini alın.
Ayrıntılar | |
---|---|
İadeler |
geçerli arayüz adresi veya
IPAddress::Any Yineleyici, adres listesinin sonunda bulunuyorsa. |
GetAddressWithprefix
void GetAddressWithPrefix( IPPrefix & addrWithPrefix )
Mevcut adres için adres ve ön ek uzunluğunu içeren bir IPPrefix döndürür.
GetIPv6PrefixLength
uint8_t GetIPv6PrefixLength( void )
GetPrefixLength(void)
için takma ad kullanımdan kaldırıldı
GetInterfaceId
InterfaceId GetInterfaceId( void )
Mevcut arayüz adresiyle ilişkili ağ arayüz kimliğini döndürür.
Ayrıntılar | |
---|---|
İadeler |
Arayüz, adres listesinin sonundan başka bir yere yerleştirilmişse arayüz kimliği veya
INET_NULL_INTERFACEID . |
GetInterfaceName
INET_ERROR GetInterfaceName( char *nameBuf, size_t nameBufSize )
Mevcut arayüz adresiyle ilişkili ağ arayüzünün adını alın.
Writes the name of the network interface as \c NUL terminated text string at \c nameBuf.
Ayrıntılar | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parametreler |
|
||||||||
Döndürülen Değerler |
|
GetPrefixLength
uint8_t GetPrefixLength( void )
Mevcut arayüz adresiyle ilişkili ağ ön ekini alır.
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.
Ayrıntılar | |
---|---|
İadeler |
ağ ön eki (bit cinsinden) veya iteratör, adres listesinin sonundaki konumlandırılmışsa 0.
|
HasBroadcastAddress
bool HasBroadcastAddress( void )
Mevcut arayüz adresiyle ilişkili ağ arayüzünün IPv4 yayın adresi olup olmadığını döndürür.
Ayrıntılar | |
---|---|
İadeler |
Arayüz bir yayın adresi içeriyorsa
true , sahip değilse false veya iteratör bir arayüz adresine yerleştirilmezse. |
Mevcut Mevcut
bool HasCurrent( void )
ArabirimAdresİIteratör
InterfaceAddressIterator( void )
Bir InterfaceAddressIterator nesnesi oluşturur.
Yinelemeyi ilk ağ adresinde başlatır. Bu oluşturucu, bazı platformlarda içerik üretici tarafından geri dönüştürülmüş kaynakları dağıtabilir.
IsUp
bool IsUp( void )
Mevcut arayüz adresiyle ilişkili ağ arayüzünün açık olup olmadığını döndürür.
Ayrıntılar | |
---|---|
İadeler |
Mevcut ağ arayüzü açıksa
true , açıksa false veya iteratör bir arayüz adresine yerleştirilmemişse. |
İleri
bool Next( void )
Yinelemeyi bir sonraki arayüz adresine ilerletin.
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.
Ayrıntılar | |
---|---|
İadeler |
false sonun dışındaysa true . |
DesteklerÇokluYayını
bool SupportsMulticast( void )
Mevcut arayüz adresiyle ilişkili ağ arayüzünün çoklu yayını destekleyip desteklemediğini döndürür.
Ayrıntılar | |
---|---|
İadeler |
true Çoklu yayın destekleniyorsa, false desteklenmiyorsa veya iteratör bir arayüz adresine yerleştirilmemişse. |
~InterfaceAddressIterator
~InterfaceAddressIterator( void )
Bir InterfaceAddressIterator nesnesini kaldırır.
Oluşturan tarafından ayrılan tüm kaynakları geri dönüştürür.