nl:: Inet:: InterfaceAddressIterator
#include <src/inet/InetInterface.h>
Zähler für die Liste der IP-Adressen der Systemnetzwerkschnittstellen.
Zusammenfassung
Verwenden Sie Objekte dieser Klasse, um die Liste der IP-Adressen der Systemnetzwerkschnittstellen zu iterieren.
Methoden für eine einzelne Instanz dieser Klasse sind nicht threadsicher. Es können jedoch separate Instanzen gleichzeitig von mehreren Threads verwendet werden.
In Multithread-LwIP-Systemen sind Instanzen threadsicher im Vergleich zu anderen Threads, die auf den globalen LwIP-Status zugreifen, vorausgesetzt, dass: 1) andere Threads die LwIP-Kernsperre beibehalten und die Liste der Netifs mutieren. und 2) Netif-Objekte selbst niemals zerstört werden.
Bei Socket-basierten Systemen ist die Iteration bei Änderungen an den Schnittstellen und/oder Adressen des zugrunde liegenden Systems immer stabil.
In LwIP-Systemen ist die Iteration stabil, außer wenn die mit der aktuellen Adresse verknüpfte Schnittstelle entfernt wird. In diesem Fall kann die Iteration vorzeitig beendet werden.
Konstruktoren und Zerstörer |
|
---|---|
InterfaceAddressIterator(void)
Konstruiert ein InterfaceAddressIterator-Objekt.
|
|
~InterfaceAddressIterator(void)
Zerstört ein Objekt InterfaceAddressIterator.
|
Öffentliche Funktionen |
|
---|---|
GetAddress(void)
|
Rufen Sie die aktuelle Schnittstellenadresse ab.
|
GetAddressWithPrefix(IPPrefix & addrWithPrefix)
|
void
Gibt ein IPPrefix zurück, das die Adresse und Präfixlänge der aktuellen Adresse enthält.
|
GetIPv6PrefixLength(void)
|
uint8_t
Eingestellter Alias für
GetPrefixLength(void) |
GetInterface(void)
|
InterfaceId
Eingestellter Alias für
GetInterfaceId(void) |
GetInterfaceId(void)
|
InterfaceId
Gibt die Netzwerkschnittstellen-ID zurück, die der aktuellen Schnittstellenadresse zugeordnet ist.
|
GetInterfaceName(char *nameBuf, size_t nameBufSize)
|
Ruft den Namen der Netzwerkschnittstelle ab, die der aktuellen Schnittstellenadresse zugeordnet ist.
|
GetPrefixLength(void)
|
uint8_t
Ruft das Netzwerkpräfix ab, das der aktuellen Schnittstellenadresse zugeordnet ist.
|
HasBroadcastAddress(void)
|
bool
Gibt zurück, ob die mit der aktuellen Schnittstellenadresse verknüpfte Netzwerkschnittstelle eine IPv4-Broadcast-Adresse hat.
|
HasCurrent(void)
|
bool
|
IsUp(void)
|
bool
Gibt an, ob die mit der aktuellen Schnittstellenadresse verknüpfte Netzwerkschnittstelle aktiv ist.
|
Next(void)
|
bool
Mit dem Iterator wird die nächste Schnittstellenadresse erreicht.
|
SupportsMulticast(void)
|
bool
Gibt an, ob die Netzwerkschnittstelle, die der aktuellen Schnittstellenadresse zugeordnet ist, Multicast unterstützt.
|
Öffentliche Funktionen
GetAddress
IPAddress GetAddress( void )
Rufen Sie die aktuelle Schnittstellenadresse ab.
Details | |
---|---|
Rückgabe |
Die aktuelle Schnittstellenadresse oder
IPAddress::Any , wenn sich der Iterator jenseits des Endes der Adressliste befindet. |
GetAddressWithPrefix
void GetAddressWithPrefix( IPPrefix & addrWithPrefix )
Gibt ein IPPrefix zurück, das die Adresse und Präfixlänge der aktuellen Adresse enthält.
GetIPv6PrefixLength
uint8_t GetIPv6PrefixLength( void )
Eingestellter Alias für GetPrefixLength(void)
GetInterfaceId
InterfaceId GetInterfaceId( void )
Gibt die Netzwerkschnittstellen-ID zurück, die der aktuellen Schnittstellenadresse zugeordnet ist.
Details | |
---|---|
Rückgabe |
Die Schnittstellen-ID oder
INET_NULL_INTERFACEID , wenn sich der Iterator jenseits des Endes der Adressliste befindet. |
GetInterfaceName
INET_ERROR GetInterfaceName( char *nameBuf, size_t nameBufSize )
Ruft den Namen der Netzwerkschnittstelle ab, die der aktuellen Schnittstellenadresse zugeordnet ist.
Writes the name of the network interface as \c NUL terminated text string at \c nameBuf.
Details | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||
Rückgabewerte |
|
GetPrefixLength
uint8_t GetPrefixLength( void )
Ruft das Netzwerkpräfix ab, das der aktuellen Schnittstellenadresse zugeordnet ist.
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.
Details | |
---|---|
Rückgabe |
das Netzwerkpräfix (in Bit) oder 0, wenn sich der Iterator jenseits des Endes der Adressenliste befindet.
|
HasBroadcastAddress
bool HasBroadcastAddress( void )
Gibt zurück, ob die mit der aktuellen Schnittstellenadresse verknüpfte Netzwerkschnittstelle eine IPv4-Broadcast-Adresse hat.
Details | |
---|---|
Rückgabe |
true , wenn die Schnittstelle eine Übertragungsadresse hat, andernfalls false oder wenn sich der Iterator nicht an einer Schnittstellenadresse befindet. |
HasCurrent
bool HasCurrent( void )
InterfaceAddressIterator
InterfaceAddressIterator( void )
Konstruiert ein InterfaceAddressIterator-Objekt.
Startet den Iterator an der ersten Netzwerkadresse. Auf einigen Plattformen kann dieser Konstruktor Ressourcen zuweisen, die vom Destruktor recycelt wurden.
IsUp
bool IsUp( void )
Gibt an, ob die mit der aktuellen Schnittstellenadresse verknüpfte Netzwerkschnittstelle aktiv ist.
Details | |
---|---|
Rückgabe |
true , wenn die aktuelle Netzwerkschnittstelle aktiv ist, false , wenn nicht, oder wenn sich der Iterator nicht an einer Schnittstellenadresse befindet. |
Weiter
bool Next( void )
Mit dem Iterator wird die nächste Schnittstellenadresse erreicht.
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.
Details | |
---|---|
Rückgabe |
false bei erweitertem Zugriff über das Ende hinaus, andernfalls true . |
SupportsMulticast
bool SupportsMulticast( void )
Gibt an, ob die Netzwerkschnittstelle, die der aktuellen Schnittstellenadresse zugeordnet ist, Multicast unterstützt.
Details | |
---|---|
Rückgabe |
true , wenn Multicast unterstützt wird, false , wenn nicht, oder wenn sich der Iterator nicht an einer Schnittstellenadresse befindet. |
~InterfaceAddressIterator
~InterfaceAddressIterator( void )
Zerstört ein Objekt InterfaceAddressIterator.
Recycelt alle vom Konstruktor zugewiesenen Ressourcen.