O Google tem o compromisso de promover a igualdade racial para as comunidades negras. Saiba como.

nl :: Inet :: InterfaceAddressIterator

#include <src/inet/InetInterface.h>

Iterador para a lista de endereços IP da interface de rede do sistema.

Resumo

Use objetos desta classe para iterar a lista de endereços IP da interface de rede do sistema.

Métodos em uma instância individual desta classe não são thread-safe; no entanto, instâncias separadas podem ser usadas simultaneamente por vários threads.

Em sistemas LwIP multi-threaded, as instâncias são thread-safe em relação a outras threads que acessam o estado LwIP global, desde que: 1) outras threads mantenham o bloqueio do núcleo LwIP enquanto modificam a lista de netifs; e 2) os próprios objetos netif nunca são destruídos.

Em sistemas baseados em soquetes, a iteração é sempre estável em face de alterações nas interfaces e / ou endereços do sistema subjacente.

Em sistemas LwIP, a iteração é estável, exceto no caso em que a interface associada ao endereço atual é removida, caso em que a iteração pode terminar prematuramente.

Construtores e Destruidores

InterfaceAddressIterator (void)
Constrói um InterfaceAddressIterator objecto.
~InterfaceAddressIterator (void)
Destrói um InterfaceAddressIterator objecto.

Funções públicas

GetAddress (void)
Obtenha o endereço da interface atual.
GetAddressWithPrefix ( IPPrefix & addrWithPrefix)
void
Devolve uma IPPrefix que contém o endereço e o comprimento do prefixo do endereço corrente.
GetIPv6PrefixLength (void)
uint8_t
Apelido obsoleto para GetPrefixLength(void)
GetInterface (void)
InterfaceId
Apelido obsoleto para GetInterfaceId(void)
GetInterfaceId (void)
InterfaceId
Retorna a ID da interface de rede associada ao endereço da interface atual.
GetInterfaceName (char *nameBuf, size_t nameBufSize)
Obtenha o nome da interface de rede associada ao endereço da interface atual.
GetPrefixLength (void)
uint8_t
Obtém o prefixo de rede associado ao endereço da interface atual.
HasBroadcastAddress (void)
bool
Retorna se a interface de rede associada ao endereço de interface atual possui um endereço de transmissão IPv4.
HasCurrent (void)
bool
IsUp (void)
bool
Retorna se a interface de rede associada ao endereço da interface atual está ativa.
Next (void)
bool
Avance o iterador para o próximo endereço de interface.
SupportsMulticast (void)
bool
Retorna se a interface de rede associada ao endereço da interface atual oferece suporte a multicast.

Funções públicas

GetAddress

IPAddress GetAddress(
  void
)

Obtenha o endereço da interface atual.

Detalhes
Devoluções
o endereço da interface atual ou IPAddress::Any se o iterador está posicionada para além do fim da lista de endereços.

GetAddressWithPrefix

void GetAddressWithPrefix(
  IPPrefix & addrWithPrefix
)

Devolve uma IPPrefix que contém o endereço e o comprimento do prefixo do endereço corrente.

GetIPv6PrefixLength

uint8_t GetIPv6PrefixLength(
  void
)

Apelido obsoleto para GetPrefixLength(void)

GetInterface

InterfaceId GetInterface(
  void
)

Apelido obsoleto para GetInterfaceId(void)

GetInterfaceId

InterfaceId GetInterfaceId(
  void
)

Retorna a ID da interface de rede associada ao endereço da interface atual.

Detalhes
Devoluções
o ID de interface ou INET_NULL_INTERFACEID se o iterador está posicionada para além do fim da lista de endereços.

GetInterfaceName

INET_ERROR GetInterfaceName(
  char *nameBuf,
  size_t nameBufSize
)

Obtenha o nome da interface de rede associada ao endereço da interface atual.

Writes the name of the network interface as \c NUL terminated text string
at \c nameBuf.

Detalhes
Parâmetros
[in] nameBuf
região da memória para escrever o nome da interface
[in] nameBufSize
tamanho da região indicada por nameBuf
Valores Retornados
INET_NO_ERROR
resultado bem-sucedido, nome da interface escrito
INET_ERROR_NO_MEMORY
o nome é muito grande para ser escrito no buffer
INET_ERROR_INCORRECT_STATE
o iterador não está posicionado atualmente em um endereço de interface
other
outro sistema ou erro de plataforma

GetPrefixLength

uint8_t GetPrefixLength(
  void
)

Obtém o prefixo de rede associado ao endereço da interface atual.

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.

Detalhes
Devoluções
o prefixo de rede (em bits) ou 0 se o iterador estiver posicionado além do final da lista de endereços.

HasBroadcastAddress

bool HasBroadcastAddress(
  void
)

Retorna se a interface de rede associada ao endereço de interface atual possui um endereço de transmissão IPv4.

Detalhes
Devoluções
true se a interface tem um endereço de broadcast, false se não, ou se o iterador não é posicionado sobre um endereço de interface.

HasCurrent

bool HasCurrent(
  void
)

InterfaceAddressIterator

 InterfaceAddressIterator(
  void
)

Constrói um InterfaceAddressIterator objecto.

Inicia o iterador no primeiro endereço de rede. Em algumas plataformas, esse construtor pode alocar recursos reciclados pelo destruidor.

É acima

bool IsUp(
  void
)

Retorna se a interface de rede associada ao endereço da interface atual está ativa.

Detalhes
Devoluções
true se a interface de rede atual é para cima, false se não, ou se o iterador não está posicionado em um endereço de interface.

Próximo

bool Next(
  void
)

Avance o iterador para o próximo endereço de interface.

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.

Detalhes
Devoluções
false se avançado para além do fim, outra coisa true .

Suporta Multicast

bool SupportsMulticast(
  void
)

Retorna se a interface de rede associada ao endereço da interface atual oferece suporte a multicast.

Detalhes
Devoluções
true se multicast é suportado, false se não, ou se o iterador não está posicionado em um endereço de interface.

~ InterfaceAddressIterator

 ~InterfaceAddressIterator(
  void
)

Destrói um InterfaceAddressIterator objecto.

Recicla todos os recursos alocados pelo construtor.