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

nl :: Inet :: InterfaceIterator

#include <src/inet/InetInterface.h>

Iterador para a lista de interfaces de rede do sistema.

Resumo

Use objetos desta classe para iterar a lista de interfaces 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 outros threads que acessam o estado LwIP global, desde que os outros threads mantenham o bloqueio do núcleo LwIP enquanto modificam a lista de netifs, e os próprios objetos netif nunca são destruídos.

Em sistemas baseados em soquetes, a iteração é sempre estável em face de mudanças nas interfaces do sistema subjacente.

Em sistemas LwIP, a iteração é estável, exceto no caso em que a interface atualmente selecionada é removida da lista, caso em que a iteração termina imediatamente.

Construtores e Destruidores

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

Atributos protegidos

mCurIntf
size_t
mCurNetif
struct netif *
mIntfArray
struct if_nameindex *
mIntfFlags
short
mIntfFlagsCached
bool

Funções públicas

GetInterface (void)
InterfaceId
Apelido obsoleto para GetInterfaceId(void)
GetInterfaceId (void)
InterfaceId
Retorna o id da interface de rede na posição atual do iterador.
GetInterfaceName (char *nameBuf, size_t nameBufSize)
Obtenha o nome da interface de rede atual.
HasBroadcastAddress (void)
bool
Retorna se a interface de rede atual tem um endereço de broadcast.
HasCurrent (void)
bool
Teste se o iterador está posicionado em uma interface.
IsUp (void)
bool
Retorna se a interface de rede atual está ativa.
Next (void)
bool
Avance o iterador para a próxima interface de rede.
SupportsMulticast (void)
bool
Retorna se a interface de rede atual oferece suporte a multicast.

Funções protegidas

GetFlags (void)
short
Retorna o valor ifr_flags para a interface atual.

Atributos protegidos

mCurIntf

size_t mCurIntf

mCurNetif

struct netif * mCurNetif

mIntfArray

struct if_nameindex * mIntfArray

mIntfFlags

short mIntfFlags

mIntfFlagsCached

bool mIntfFlagsCached

Funções públicas

GetInterface

InterfaceId GetInterface(
  void
)

Apelido obsoleto para GetInterfaceId(void)

GetInterfaceId

InterfaceId GetInterfaceId(
  void
)

Retorna o id da interface de rede na posição atual do iterador.

Detalhes
Valores Retornados
INET_NULL_INTERFACEID
se for avançado além do final da lista.
id
o ID da interface de rede atual.

GetInterfaceName

INET_ERROR GetInterfaceName(
  char *nameBuf,
  size_t nameBufSize
)

Obtenha o nome da interface de rede 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_INCORRECT_STATE
o iterador está posicionado além do final da lista
INET_ERROR_NO_MEMORY
o nome é muito grande para ser escrito no buffer
other
outro sistema ou erro de plataforma

HasBroadcastAddress

bool HasBroadcastAddress(
  void
)

Retorna se a interface de rede atual possui um endereço de broadcast.

Detalhes
Devoluções
true se interface de rede atual tem um endereço de broadcast, false se não, ou se o iterador está posicionada para além do fim da lista.

HasCurrent

bool HasCurrent(
  void
)

Teste se o iterador está posicionado em uma interface.

Teste se o iterador está posicionado em um endereço de interface.

Detalhes
Devoluções
true se a iteração está posicionado sobre uma interface; false se posicionado para além do fim da lista de interface.
Devoluções
true se a iteração está posicionado sobre um endereço de interface; false se posicionado para além do fim da lista de endereços.

InterfaceIterator

 InterfaceIterator(
  void
)

Constrói um InterfaceIterator objecto.

Inicia o iterador na primeira interface de rede. Em algumas plataformas, esse construtor pode alocar recursos reciclados pelo destruidor.

É acima

bool IsUp(
  void
)

Retorna se a interface de rede atual está ativa.

Detalhes
Devoluções
true se a interface de rede atual é para cima, false se não ou se o iterador está posicionada para além do fim da lista.

Próximo

bool Next(
  void
)

Avance o iterador para a próxima interface de rede.

Advances the internal iterator to the next network interface or to a position
beyond the end of the interface list.

On multi-threaded LwIP systems, this method is thread-safe relative to other
threads accessing the global LwIP state provided that: 1) the other threads
hold the LwIP core lock while mutating the list of netifs; and 2) netif objects
themselves are never destroyed.

Iteration is stable in the face of changes to the underlying system's
interfaces, *except* in the case of LwIP systems when the currently selected
interface is removed from the list, which causes iteration to end immediately.

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 atual oferece suporte a multicast.

Detalhes
Devoluções
true se suportes de interface de rede atual multicast, false se não, ou se o iterador está posicionada para além do fim da lista.

~ InterfaceIterator

 ~InterfaceIterator(
  void
)

Destrói um InterfaceIterator objecto.

Recicla todos os recursos alocados pelo construtor.

Funções protegidas

GetFlags

short GetFlags(
  void
)

Retorna o valor ifr_flags para a interface atual.