nl:: Inet: Ponto final
#include <src/inet/RawEndPoint.h>
Os objetos dessa classe representam endpoints da rede IP brutos.
Resumo
A camada do Nest Inet encapsula métodos para interagir com endpoints da rede IP (soquetes SOCK_RAW em sistemas Linux e derivados BSD) ou blocos de controle de protocolo bruto LwIP, conforme o sistema é configurado de acordo.
Herança
Herda de: nl::Inet::IPEndPointBasis
Atributos públicos |
|
---|---|
IPProto
|
IPProtocol
versão do Internet Control Message Protocol (ICMP)
|
IPVer
|
IPVersion
Versão do protocolo de Internet.
|
Funções públicas |
|
---|---|
Bind(IPAddressType addrType, IPAddress addr, InterfaceId intfId)
|
Vincule o endpoint a um endereço IP da interface.
|
BindIPv6LinkLocal(InterfaceId intf, IPAddress addr)
|
Vincule o endpoint bruto a um endereço de escopo link-local IPv6 no índice de interface especificado.
|
BindInterface(IPAddressType addrType, InterfaceId intf)
|
Vincular o endpoint a uma interface de rede.
|
Close(void)
|
void
Feche o endpoint.
|
Free(void)
|
void
Feche o endpoint e recicle a memória.
|
GetBoundInterface(void)
|
InterfaceId
Consiga a interface vinculada neste endpoint.
|
Listen(void)
|
Prepare o endpoint para receber mensagens ICMP.
|
SendMsg(const IPPacketInfo *pktInfo, Weave::System::PacketBuffer *msg, uint16_t sendFlags)
|
Envia uma mensagem ICMP para o destino especificado.
|
SendTo(IPAddress addr, Weave::System::PacketBuffer *msg, uint16_t sendFlags)
|
Um sinônimo de
SendTo(addr, INET_NULL_INTERFACEID, msg, sendFlags) |
SendTo(IPAddress addr, InterfaceId intfId, Weave::System::PacketBuffer *msg, uint16_t sendFlags)
|
Envia uma mensagem ICMP para o endereço de destino especificado.
|
SetICMPFilter(uint8_t numICMPTypes, const uint8_t *aICMPTypes)
|
Defina os parâmetros do filtro ICMP6 na pilha de rede.
|
Atributos públicos
IPProto
IPProtocol IPProto
versão do Internet Control Message Protocol (ICMP)
Embora esse campo seja uma variável de classe mutável, ele é uma variante da classe que não pode ser modificada.
Ver IP
IPVersion IPVer
Versão do protocolo de Internet.
Embora esse campo seja uma variável de classe mutável, ele é uma variante da classe que não pode ser modificada.
Funções públicas
Vincular
INET_ERROR Bind( IPAddressType addrType, IPAddress addr, InterfaceId intfId )
Vincule o endpoint a um endereço IP da interface.
Vincula o endpoint ao endereço IP da interface de rede especificado.
Detalhes | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parâmetros |
|
||||||||||||||
Valores de retorno |
|
No LwIP, esse método não pode ser chamado com o bloqueio de pilha do LwIP já adquirido.
BindIPv6LinkLocal
INET_ERROR BindIPv6LinkLocal( InterfaceId intf, IPAddress addr )
Vincule o endpoint bruto a um endereço de escopo link-local IPv6 no índice de interface especificado.
Também define várias opções de soquete IPv6 adequadas para a transmissão de pacotes de e para destinos no link.
vincula o endpoint ao endereço link-local IPv6 addr
na interface de rede indicada por intf
;
Detalhes | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parâmetros |
|
||||||||||||
Parâmetros |
|
||||||||||||
Valores de retorno |
|
||||||||||||
Retorna |
INET_NO_ERROR em caso de sucesso ou um erro de SO mapeado em caso de falha. Uma lista inválida de parâmetros pode resultar em INET_ERROR_WRONG_ADDRESS_TYPE. Se o endpoint bruto já estiver vinculado ou estiver em detecção, ele retornará INET_ERROR_INCORRECT_STATE. Vincule o endpoint a um endereço link-local IPv6 da interface.
|
No LwIP, esse método não pode ser chamado com o bloqueio de pilha do LwIP já adquirido.
BindInterface.
INET_ERROR BindInterface( IPAddressType addrType, InterfaceId intf )
Vincular o endpoint a uma interface de rede.
Vincula o endpoint ao endereço IP da interface de rede especificado.
Detalhes | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parâmetros |
|
||||||||||
Valores de retorno |
|
No LwIP, esse método não pode ser chamado com o bloqueio de pilha do LwIP já adquirido.
Fechar
void Close( void )
Feche o endpoint.
Se o mState != kState_Closed
for definido, o endpoint será fechado e removido do conjunto de endpoints qualificado para eventos de comunicação.
Em sistemas LwIP, esse método não pode ser chamado com o bloqueio de pilha LwIP já adquirido.
Gratuito
void Free( void )
Feche o endpoint e recicle a memória.
Invoca o método Close
e, em seguida, invoca o método InetLayerBasis::Release
para retornar o objeto ao pool de memória.
Em sistemas LwIP, esse método não pode ser chamado com o bloqueio de pilha LwIP já adquirido.
GetBoundInterface.
InterfaceId GetBoundInterface( void )
Consiga a interface vinculada neste endpoint.
Detalhes | |
---|---|
Retorna |
InterfaceId: o ID da interface vinculada.
|
Detectar
INET_ERROR Listen( void )
Prepare o endpoint para receber mensagens ICMP.
Se mState
já for kState_Listening
, nenhuma operação será realizada. Caso contrário, o mState
será definido como kState_Listening
, e o endpoint será preparado para receber mensagens ICMPv6, de acordo com a semântica da plataforma.
Detalhes | |||
---|---|---|---|
Valores de retorno |
|
No LwIP, esse método não pode ser chamado com o bloqueio de pilha do LwIP já adquirido.
Enviar mensagem
INET_ERROR SendMsg( const IPPacketInfo *pktInfo, Weave::System::PacketBuffer *msg, uint16_t sendFlags )
Envia uma mensagem ICMP para o destino especificado.
Send the ICMP message \c msg using the destination information given in \c addr. Where (sendFlags & kSendFlag_RetainBuffer) != 0, calls Weave::System::PacketBuffer::Free on behalf of the caller, otherwise this method deep-copies \c msg into a fresh object, and queues that for transmission, leaving the original \c msg available after return.
Detalhes | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parâmetros |
|
||||||||||||
Valores de retorno |
|
Enviar para
INET_ERROR SendTo( IPAddress addr, Weave::System::PacketBuffer *msg, uint16_t sendFlags )
Um sinônimo de SendTo(addr, INET_NULL_INTERFACEID, msg, sendFlags)
Enviar para
INET_ERROR SendTo( IPAddress addr, InterfaceId intfId, Weave::System::PacketBuffer *msg, uint16_t sendFlags )
Envia uma mensagem ICMP para o endereço de destino especificado.
Send the ICMP message in \c msg to the destination given in \c addr. Where (sendFlags & kSendFlag_RetainBuffer) != 0, calls Weave::System::PacketBuffer::Free on behalf of the caller, otherwise this method deep-copies \c msg into a fresh object, and queues that for transmission, leaving the original \c msg available after return.
Detalhes | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parâmetros |
|
||||||||||||
Valores de retorno |
|
SetICMPFilter (Filtro de ICMP)
INET_ERROR SetICMPFilter( uint8_t numICMPTypes, const uint8_t *aICMPTypes )
Defina os parâmetros do filtro ICMP6 na pilha de rede.
Aplique os parâmetros de filtragem ICMPv6 para os códigos em aICMPTypes
ao endpoint subjacente na pilha de rede do sistema.
Detalhes | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parâmetros |
|
||||||||||
Valores de retorno |
|