nl:: Inet:: RawEndPoint
#include <src/inet/RawEndPoint.h>
Os objetos desta classe representam endpoints de rede IP brutos.
Resumo
A camada Nest Inet encapsula métodos para interagir com endpoints de rede IP (soquetes SOCK_RAW em sistemas derivados Linux e BSD) ou blocos de controle de protocolo bruto do LwIP, conforme a configuração do sistema.
Herança
Herda de: nl::Inet::IPEndPointBasis
Atributos públicos |
|
---|---|
IPProto
|
IPProtocol
versão do Protocolo de mensagem de controle da Internet (ICMP, na sigla em inglês)
|
IPVer
|
IPVersion
Versão do protocolo de Internet.
|
Funções públicas |
|
---|---|
Bind(IPAddressType addrType, IPAddress addr, InterfaceId intfId)
|
Vincular o endpoint a um endereço IP de 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 dele.
|
GetBoundInterface(void)
|
InterfaceId
Receba 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 para
SendTo(addr, INET_NULL_INTERFACEID, msg, sendFlags) . |
SendTo(IPAddress addr, InterfaceId intfId, Weave::System::PacketBuffer *msg, uint16_t sendFlags)
|
Envia uma mensagem ICMP ao endereço de destino especificado.
|
SetICMPFilter(uint8_t numICMPTypes, const uint8_t *aICMPTypes)
|
Defina os parâmetros de filtro ICMP6 na pilha de rede.
|
Atributos públicos
IPProto
IPProtocol IPProto
versão do Protocolo de mensagem de controle da Internet (ICMP, na sigla em inglês)
Embora esse campo seja uma variável de classe mutável, é uma invariante da classe que não pode ser modificada.
IPVer
IPVersion IPVer
Versão do protocolo de Internet.
Embora esse campo seja uma variável de classe mutável, é uma invariante da classe que não pode ser modificada.
Funções públicas
Vincular
INET_ERROR Bind( IPAddressType addrType, IPAddress addr, InterfaceId intfId )
Vincular o endpoint a um endereço IP de 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 apropriadas para transmitir 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 |
|
||||||||||||
Retornos |
INET_NO_ERROR em caso de sucesso ou um erro de SO mapeado em caso de falha. Uma lista de parâmetros inválida pode resultar em INET_ERROR_WRONG_ADDRESS_TYPE. Se o endpoint bruto já estiver vinculado ou estiver detectando, retorna INET_ERROR_INCORRECT_STATE. Vincular 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 for mState != kState_Closed
, fecha o endpoint, removendo-o do conjunto de endpoints qualificados 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 dele.
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 )
Receba a interface vinculada neste endpoint.
Detalhes | |
---|---|
Retornos |
InterfaceId O ID da interface vinculada.
|
Ouvir
INET_ERROR Listen( void )
Prepare o endpoint para receber mensagens ICMP.
Se o mState
já for kState_Listening
, nenhuma operação será realizada. Caso contrário, o mState
será definido como kState_Listening
e o endpoint estará 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
SendMsg
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 |
|
SendTo
INET_ERROR SendTo( IPAddress addr, Weave::System::PacketBuffer *msg, uint16_t sendFlags )
Um sinônimo para SendTo(addr, INET_NULL_INTERFACEID, msg, sendFlags)
.
SendTo
INET_ERROR SendTo( IPAddress addr, InterfaceId intfId, Weave::System::PacketBuffer *msg, uint16_t sendFlags )
Envia uma mensagem ICMP ao 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
INET_ERROR SetICMPFilter( uint8_t numICMPTypes, const uint8_t *aICMPTypes )
Defina os parâmetros de filtro ICMP6 na pilha de rede.
Aplique os parâmetros de filtragem ICMPv6 aos códigos em aICMPTypes
ao endpoint na pilha de rede do sistema.
Detalhes | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parâmetros |
|
||||||||||
Valores de retorno |
|