nl:: Inet:: InterfaceAddressIterator
#include <src/inet/InetInterface.h>
Sistem ağ arayüzü IP adresleri listesi için yineleyici.
Ö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 tek bir örneğindeki yöntemler iş parçacığı açısından güvenli değildir. Ancak ayrı örnekler, aynı anda birden fazla iş parçacığı tarafından kullanılabilir.
Çok iş parçacıklı LwIP sistemlerinde örnekler, genel LwIP durumuna erişen diğer iş parçacıklarına göre iş parçacığı açısından güvenlidir: 1) Diğer iş parçacıkları netif listesini değiştirirken LwIP çekirdek kilidini tutar ve 2) netif nesnenin kendisi hiçbir zaman yok edilmez.
Yuva tabanlı sistemlerde yineleme, temeldeki sistemin arayüzlerinde ve/veya adreslerinde değişiklik yapılmasına karşın her zaman istikrarlıdır.
Mevcut adresle ilişkili arayüzün kaldırıldığı durumlar dışında LwIP sistemlerinde iterasyon sabittir, aksi takdirde iterasyon bitmeden bitebilir.
Oluşturucular ve Yıkıcılar |
|
---|---|
InterfaceAddressIterator(void)
InterfaceAddressIterator nesnesi oluşturur.
|
|
~InterfaceAddressIterator(void)
Bir InterfaceAddressIterator nesnesini kaldırır.
|
Kamu işlevleri |
|
---|---|
GetAddress(void)
|
Geçerli arayüz adresini al.
|
GetAddressWithPrefix(IPPrefix & addrWithPrefix)
|
void
Geçerli adresin adresini 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
Geçerli arayüz adresiyle ilişkilendirilen ağ arayüzü kimliğini döndürür.
|
GetInterfaceName(char *nameBuf, size_t nameBufSize)
|
Geçerli arayüz adresiyle ilişkili ağ arayüzünün adını öğrenin.
|
GetPrefixLength(void)
|
uint8_t
Geçerli arayüz adresiyle ilişkili ağ ön ekini alır.
|
HasBroadcastAddress(void)
|
bool
Mevcut arayüz adresiyle ilişkili ağ arayüzünün bir IPv4 yayın adresine sahip olup olmadığını döndürür.
|
HasCurrent(void)
|
bool
|
IsUp(void)
|
bool
Geçerli arayüz adresiyle ilişkilendirilen ağ arayüzünün çalışır durumda olup olmadığını döndürür.
|
Next(void)
|
bool
Yineleyiciyi 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.
|
Kamu işlevleri
GetAddress
IPAddress GetAddress( void )
Geçerli arayüz adresini al.
Ayrıntılar | |
---|---|
İadeler |
geçerli arayüz adresi veya yineleyici adres listesinin sonuna yerleştirilmişse
IPAddress::Any . |
GetAddressWithPrefix
void GetAddressWithPrefix( IPPrefix & addrWithPrefix )
Geçerli adresin adresini 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ı
GetInterface
InterfaceId GetInterface( void )
GetInterfaceId(void)
için takma ad kullanımdan kaldırıldı
GetInterfaceId
InterfaceId GetInterfaceId( void )
Geçerli arayüz adresiyle ilişkilendirilen ağ arayüzü kimliğini döndürür.
Ayrıntılar | |
---|---|
İadeler |
yineleyici adres listesinin sonuna yerleştirildiyse arayüz kimliği veya
INET_NULL_INTERFACEID . |
GetInterfaceName
INET_ERROR GetInterfaceName( char *nameBuf, size_t nameBufSize )
Geçerli arayüz adresiyle ilişkili ağ arayüzünün adını öğrenin.
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 )
Geçerli 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ğ öneki (bit cinsinden) veya yineleyici adres listesinin sonundan daha ilerisine yerleştirilmişse 0.
|
HasBroadcastAddress
bool HasBroadcastAddress( void )
Mevcut arayüz adresiyle ilişkili ağ arayüzünün bir IPv4 yayın adresine sahip olup olmadığını döndürür.
Ayrıntılar | |
---|---|
İadeler |
Arayüzün bir yayın adresi varsa
true , yoksa false veya yineleyici bir arayüz adresine yerleştirilmemişse. |
HasCurrent
bool HasCurrent( void )
InterfaceAddressIterator
InterfaceAddressIterator( void )
InterfaceAddressIterator nesnesi oluşturur.
Yineleyiciyi ilk ağ adresinde başlatır. Bazı platformlarda bu oluşturucu, yıkıcı tarafından geri dönüştürülmüş kaynakları tahsis edebilir.
IsUp
bool IsUp( void )
Geçerli arayüz adresiyle ilişkilendirilen ağ arayüzünün çalışır durumda olup olmadığını döndürür.
Ayrıntılar | |
---|---|
İadeler |
Geçerli ağ arayüzü çalışıyorsa
true , değilse false veya yineleyici bir arayüz adresinde konumlanmamışsa. |
Sonraki
bool Next( void )
Yineleyiciyi 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 |
Son aşamaya ulaşıldıysa
false , aksi takdirde true . |
SupportsMulticast
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 |
Çoklu yayın destekleniyorsa
true , desteklenmiyorsa veya yineleyici bir arayüz adresine yerleştirilmiş değilse false . |
~ArayüzAdresi iterasyonu
~InterfaceAddressIterator( void )
Bir InterfaceAddressIterator nesnesini kaldırır.
Oluşturucu tarafından tahsis edilen kaynakları geri dönüştürür.