nl:: Inet:: RawEndPoint
#include <src/inet/RawEndPoint.h>
Los objetos de esta clase representan extremos de red de IP sin procesar.
Resumen
La capa de Inet de Nest encapsula métodos para interactuar con extremos de red IP (sockets SOCK_RAW en Linux y sistemas derivados de BSD) o bloques de control de protocolo sin procesar de LwIP, ya que el sistema se configura de manera correspondiente.
Herencia
Se hereda de: nl::Inet::IPEndPointBasis
Atributos públicos |
|
---|---|
IPProto
|
IPProtocol
del Protocolo de mensajes de control de Internet (ICMP)
|
IPVer
|
IPVersion
Es la versión del protocolo de Internet.
|
Funciones públicas |
|
---|---|
Bind(IPAddressType addrType, IPAddress addr, InterfaceId intfId)
|
Vincular el extremo a una dirección IP de interfaz
|
BindIPv6LinkLocal(InterfaceId intf, IPAddress addr)
|
Vincular el extremo sin procesar a una dirección de alcance local de vínculo IPv6 en el índice de la interfaz especificado.
|
BindInterface(IPAddressType addrType, InterfaceId intf)
|
Vincular el extremo a una interfaz de red
|
Close(void)
|
void
Cierra el extremo.
|
Free(void)
|
void
Cierra el extremo y recicla su memoria.
|
GetBoundInterface(void)
|
InterfaceId
Obtén la interfaz vinculada en este extremo.
|
Listen(void)
|
Prepara el extremo para recibir mensajes de ICMP.
|
SendMsg(const IPPacketInfo *pktInfo, Weave::System::PacketBuffer *msg, uint16_t sendFlags)
|
Envía un mensaje ICMP al destino especificado.
|
SendTo(IPAddress addr, Weave::System::PacketBuffer *msg, uint16_t sendFlags)
|
Un sinónimo de
SendTo(addr, INET_NULL_INTERFACEID, msg, sendFlags) . |
SendTo(IPAddress addr, InterfaceId intfId, Weave::System::PacketBuffer *msg, uint16_t sendFlags)
|
Envía un mensaje de ICMP a la dirección de destino especificada.
|
SetICMPFilter(uint8_t numICMPTypes, const uint8_t *aICMPTypes)
|
Establece los parámetros de filtro ICMP6 en la pila de red.
|
Atributos públicos
IPProto
IPProtocol IPProto
del Protocolo de mensajes de control de Internet (ICMP)
Si bien este campo es una variable de clase mutable, es una invariante de la clase que no se puede modificar.
IPVer
IPVersion IPVer
Es la versión del protocolo de Internet.
Si bien este campo es una variable de clase mutable, es una invariante de la clase que no se puede modificar.
Funciones públicas
Vincular
INET_ERROR Bind( IPAddressType addrType, IPAddress addr, InterfaceId intfId )
Vincular el extremo a una dirección IP de interfaz
Vincula el extremo a la dirección IP de la interfaz de red especificada.
Detalles | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parámetros |
|
||||||||||||||
Valores de retorno |
|
En LwIP, este método no se debe llamar con el bloqueo de pila de LwIP ya adquirido.
BindIPv6LinkLocal
INET_ERROR BindIPv6LinkLocal( InterfaceId intf, IPAddress addr )
Vincular el extremo sin procesar a una dirección de alcance local de vínculo IPv6 en el índice de la interfaz especificado.
También establece varias opciones de socket IPv6 apropiadas para transmitir paquetes hacia y desde destinos en enlace.
Vincula el extremo a la dirección de vínculo local IPv6 addr
en la interfaz de red indicada por intf
.
Detalles | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parámetros |
|
||||||||||||
Parámetros |
|
||||||||||||
Valores de retorno |
|
||||||||||||
Resultado que se muestra |
INET_NO_ERROR si la operación es correcta o un error de SO asignado si la falla. Una lista de parámetros no válida puede generar INET_ERROR_WRONG_ADDRESS_TYPE. Si el extremo sin procesar ya está vinculado o lo está escuchando, muestra INET_ERROR_INCORRECT_STATE. Vincular el extremo a una dirección IPv6 de vínculo local de interfaz.
|
En LwIP, este método no se debe llamar con el bloqueo de pila de LwIP ya adquirido.
BindInterface
INET_ERROR BindInterface( IPAddressType addrType, InterfaceId intf )
Vincular el extremo a una interfaz de red
Vincula el extremo a la dirección IP de la interfaz de red especificada.
Detalles | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parámetros |
|
||||||||||
Valores de retorno |
|
En LwIP, este método no se debe llamar con el bloqueo de pila de LwIP ya adquirido.
Cerrar
void Close( void )
Cierra el extremo.
Si es mState != kState_Closed
, cierra el extremo y lo quita del conjunto de extremos aptos para eventos de comunicación.
En los sistemas LwIP, este método no se debe llamar con el bloqueo de pila de LwIP ya adquirido.
Gratis
void Free( void )
Cierra el extremo y recicla su memoria.
Invoca el método Close
y, luego, el método InetLayerBasis::Release
para devolver el objeto a su grupo de memoria.
En los sistemas LwIP, este método no se debe llamar con el bloqueo de pila de LwIP ya adquirido.
GetBoundInterface
InterfaceId GetBoundInterface( void )
Obtén la interfaz vinculada en este extremo.
Detalles | |
---|---|
Resultado que se muestra |
InterfaceId: Es el ID de la interfaz vinculada.
|
Escuchar
INET_ERROR Listen( void )
Prepara el extremo para recibir mensajes de ICMP.
Si mState
ya es kState_Listening
, no se realiza ninguna operación; de lo contrario, mState
se establece en kState_Listening
y el extremo está preparado para recibir mensajes ICMPv6, según la semántica de la plataforma.
Detalles | |||
---|---|---|---|
Valores de retorno |
|
En LwIP, este método no se debe llamar con el bloqueo de pila de LwIP ya adquirido.
SendMsg
INET_ERROR SendMsg( const IPPacketInfo *pktInfo, Weave::System::PacketBuffer *msg, uint16_t sendFlags )
Envía un mensaje ICMP al 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.
Detalles | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parámetros |
|
||||||||||||
Valores de retorno |
|
SendTo
INET_ERROR SendTo( IPAddress addr, Weave::System::PacketBuffer *msg, uint16_t sendFlags )
Un sinónimo de SendTo(addr, INET_NULL_INTERFACEID, msg, sendFlags)
.
SendTo
INET_ERROR SendTo( IPAddress addr, InterfaceId intfId, Weave::System::PacketBuffer *msg, uint16_t sendFlags )
Envía un mensaje de ICMP a la dirección de destino especificada.
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.
Detalles | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parámetros |
|
||||||||||||
Valores de retorno |
|
SetICMPFilter
INET_ERROR SetICMPFilter( uint8_t numICMPTypes, const uint8_t *aICMPTypes )
Establece los parámetros de filtro ICMP6 en la pila de red.
Aplica los parámetros de filtrado ICMPv6 para los códigos de aICMPTypes
al extremo subyacente en la pila de herramientas de redes del sistema.
Detalles | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parámetros |
|
||||||||||
Valores de retorno |
|