nl:: Inet:: InterfaceAddressIterator
#include <src/inet/InetInterface.h>
Sistem ağ arayüzü IP adresleri listesinin iterasyonu.
Özet
Sistem ağ arayüzü arayüzü IP adreslerinin 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ığı için güvenli değildir; Ancak ayrı örnekler birden çok iş parçacığı tarafından aynı anda kullanılabilir.
Çok iş parçacıklı LwIP sistemlerinde, örnekler şu koşullarla 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 nesnelerin kendisi hiçbir zaman yok edilmez.
Yuva tabanlı sistemlerde, iterasyon temel sistemin arayüzlerinde ve/veya adreslerinde yapılan değişiklikler karşısında her zaman sabit kalır.
LwIP sistemlerinde, geçerli adresle ilişkili arayüzün kaldırıldığı durumlar dışında iterasyon sabittir. Bu durumda yineleme erken sona erebilir.
Oluşturucular ve Yıkıcılar |
|
---|---|
InterfaceAddressIterator(void)
InterfaceAddressIterator nesnesi oluşturur.
|
|
~InterfaceAddressIterator(void)
Bir InterfaceAddressIterator nesnesini kaldırır.
|
Herkese açık işlevler |
|
---|---|
GetAddress(void)
|
Geçerli arayüz adresini alın.
|
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 desteği sonlandırıldı |
GetInterface(void)
|
InterfaceId
GetInterfaceId(void) için desteği sonlandırıldı |
GetInterfaceId(void)
|
InterfaceId
Geçerli arayüz adresiyle ilişkilendirilmiş ağ arayüzü kimliğini döndürür.
|
GetInterfaceName(char *nameBuf, size_t nameBufSize)
|
Mevcut arayüz adresiyle ilişkilendirilmiş ağ arayüzünün adını alın.
|
GetPrefixLength(void)
|
uint8_t
Geçerli arayüz adresiyle ilişkilendirilmiş ağ ön ekini alır.
|
HasBroadcastAddress(void)
|
bool
Geçerli 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şkilendirilmiş ağ arayüzünün çalışıp çalışmadığını döndürür.
|
Next(void)
|
bool
Yinelemeyi bir sonraki arayüz adresine ilerletin.
|
SupportsMulticast(void)
|
bool
Geçerli arayüz adresiyle ilişkilendirilmiş ağ arayüzünün çoklu yayını destekleyip desteklemediğini döndürür.
|
Herkese açık işlevler
GetAddress
IPAddress GetAddress( void )
Geçerli arayüz adresini alın.
Ayrıntılar | |
---|---|
İadeler |
mevcut arayüz adresi veya yineleme, adres listesinin sonundan öteye konumlandırıldıysa
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 desteği sonlandırıldı
GetInterfaceId
InterfaceId GetInterfaceId( void )
Geçerli arayüz adresiyle ilişkilendirilmiş ağ arayüzü kimliğini döndürür.
Ayrıntılar | |
---|---|
İadeler |
arayüz kimliği veya yineleme, adres listesinin sonundan sonra konumlandırıldıysa
INET_NULL_INTERFACEID . |
GetInterfaceName
INET_ERROR GetInterfaceName( char *nameBuf, size_t nameBufSize )
Mevcut arayüz adresiyle ilişkilendirilmiş 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 |
|
||||||||
Değerleri Döndür |
|
GetPrefixLength
uint8_t GetPrefixLength( void )
Geçerli arayüz adresiyle ilişkilendirilmiş 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 iteratör adres listesinin sonundan sonra konumlandırıldıysa 0 değerini alır.
|
HasBroadcastAddress
bool HasBroadcastAddress( void )
Geçerli 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üzde yayın adresi varsa
true . Yayın adresi yoksa iteratör, arayüz adresinde konumlandırılmadıysa true .false |
HasCurrent
bool HasCurrent( void )
InterfaceAddressIterator
InterfaceAddressIterator( void )
InterfaceAddressIterator nesnesi oluşturur.
Yineleyiciyi ilk ağ adresinde başlatır. Bazı platformlarda bu kurucu, yıkıcı tarafından geri dönüştürülmüş kaynakları tahsis edebilir.
IsUp
bool IsUp( void )
Geçerli arayüz adresiyle ilişkilendirilmiş ağ arayüzünün çalışıp çalışmadığını döndürür.
Ayrıntılar | |
---|---|
İadeler |
true geçerli ağ arayüzü açıksa false ya da yineleme bir arayüz adresinde konumlandırılmamışsa. |
Sonraki
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 |
Sondan sonra ileri düzeydeyse
false , aksi takdirde true . |
SupportsMulticast
bool SupportsMulticast( void )
Geçerli arayüz adresiyle ilişkilendirilmiş 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 yineleme bir arayüz adresinde konumlandırılmadıysa. |
~InterfaceAddressIterator
~InterfaceAddressIterator( void )
Bir InterfaceAddressIterator nesnesini kaldırır.
Oluşturucu tarafından ayrılan kaynakları geri dönüştürür.