nl :: Inet :: RawEndPoint
#include <src/inet/RawEndPoint.h>
Os objetos desta classe representam pontos finais de rede IP brutos.
Resumo
A camada Nest Inet encapsula métodos para interagir com endpoints de rede IP (soquetes SOCK_RAW em sistemas Linux e derivados de BSD) ou blocos de controle de protocolo bruto LwIP, conforme o sistema é configurado de acordo.
Herança
Herda: nl :: Inet :: IPEndPointBasisAtributos públicos | |
---|---|
IPProto | IPProtocol versão do Internet Control Message Protocol (ICMP) |
IPVer | IPVersion Versão do protocolo da Internet. |
Funções públicas | |
---|---|
Bind (IPAddressType addrType, IPAddress addr, InterfaceId intfId) | Vincule o ponto de extremidade a um endereço IP de interface. |
BindIPv6LinkLocal (InterfaceId intf, IPAddress addr) | Vincule o ponto de extremidade bruto a um endereço de escopo local com link IPv6 no índice de interface especificado. |
BindInterface (IPAddressType addrType, InterfaceId intf) | Vincule o ponto de extremidade a uma interface de rede. |
Close (void) | void Feche o terminal. |
Free (void) | void Feche o ponto de extremidade e recicle sua memória. |
GetBoundInterface (void) | InterfaceId Obtenha a interface vinculada neste terminal. |
Listen (void) | Prepare o endpoint para receber mensagens ICMP. |
SendMsg (const IPPacketInfo *pktInfo, Weave::System::PacketBuffer *msg, uint16_t sendFlags) | Envie 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) | Envie uma mensagem ICMP para o 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 Internet Control Message Protocol (ICMP)
Embora este campo seja uma variável de classe mutável, é uma invariante da classe que não pode ser modificado.
IPVer
IPVersion IPVer
Versão do protocolo da Internet.
Embora este campo seja uma variável de classe mutável, é uma invariante da classe que não pode ser modificado.
Funções públicas
Ligar
INET_ERROR Bind( IPAddressType addrType, IPAddress addr, InterfaceId intfId )
Vincule o ponto de extremidade a um endereço IP de interface.
Vincula o ponto de extremidade ao endereço IP da interface de rede especificado.
Detalhes | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parâmetros |
| ||||||||||||||
Valores Retornados |
|
No LwIP, este método não deve ser chamado com o bloqueio de pilha LwIP já adquirido.
BindIPv6LinkLocal
INET_ERROR BindIPv6LinkLocal( InterfaceId intf, IPAddress addr )
Vincule o ponto de extremidade bruto a um endereço de escopo local com link IPv6 no índice de interface especificado.
Também define várias opções de soquete IPv6 apropriadas para a transmissão de pacotes de e para destinos no link.
Vinculado o ponto final para o link-local endereço IPv6 addr
na interface de rede indicada por intf
.
Detalhes | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parâmetros |
| ||||||||||||
Parâmetros |
| ||||||||||||
Valores Retornados |
| ||||||||||||
Devoluções | INET_NO_ERROR em caso de sucesso ou um erro de sistema operacional mapeado em caso de falha. Uma lista de parâmetros inválida pode resultar em INET_ERROR_WRONG_ADDRESS_TYPE. Se o ponto de extremidade bruto já estiver ligado ou escutando, retorna INET_ERROR_INCORRECT_STATE. Vincule o ponto de extremidade a um endereço local de link IPv6 da interface. |
No LwIP, este método não deve ser chamado com o bloqueio de pilha LwIP já adquirido.
BindInterface
INET_ERROR BindInterface( IPAddressType addrType, InterfaceId intf )
Vincule o ponto de extremidade a uma interface de rede.
Vincula o ponto de extremidade ao endereço IP da interface de rede especificado.
Detalhes | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parâmetros |
| ||||||||||
Valores Retornados |
|
No LwIP, este método não deve ser chamado com o bloqueio de pilha LwIP já adquirido.
Perto
void Close( void )
Feche o terminal.
Se mState != kState_Closed
, em seguida, fecha o ponto final, removendo-o do conjunto de endpoints elegíveis para eventos de comunicação.
Em sistemas LwIP, este método não deve ser chamado com o bloqueio de pilha LwIP já adquirido.
Livre
void Free( void )
Feche o ponto de extremidade e recicle sua memória.
Chama o Close
método, em seguida, chama o InetLayerBasis::Release
método para retornar o objeto à sua pool de memória.
Em sistemas LwIP, este método não deve ser chamado com o bloqueio de pilha LwIP já adquirido.
GetBoundInterface
InterfaceId GetBoundInterface( void )
Obtenha a interface vinculada neste terminal.
Detalhes | |
---|---|
Devoluções | InterfaceId O ID da interface vinculada. |
Ouço
INET_ERROR Listen( void )
Prepare o endpoint para receber mensagens ICMP.
Se mState
já está kState_Listening
, em seguida, nenhuma operação é realizada, caso contrário, o mState
é definido como kState_Listening
e o ponto final é preparado a mensagens ICMPv6 recebidas, de acordo com a semântica da plataforma.
Detalhes | |||
---|---|---|---|
Valores Retornados |
|
No LwIP, este método não deve ser chamado com o bloqueio de pilha LwIP já adquirido
SendMsg
INET_ERROR SendMsg( const IPPacketInfo *pktInfo, Weave::System::PacketBuffer *msg, uint16_t sendFlags )
Envie 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 Retornados |
|
Enviar para
INET_ERROR SendTo( IPAddress addr, Weave::System::PacketBuffer *msg, uint16_t sendFlags )
Um sinónimo para SendTo(addr, INET_NULL_INTERFACEID, msg, sendFlags)
.
Enviar para
INET_ERROR SendTo( IPAddress addr, InterfaceId intfId, Weave::System::PacketBuffer *msg, uint16_t sendFlags )
Envie 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 Retornados |
|
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 para os códigos em aICMPTypes
ao ponto de extremidade subjacente na pilha de rede do sistema.
Detalhes | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parâmetros |
| ||||||||||
Valores Retornados |
|