nl:: Inet:: RawEndPoint
#include <src/inet/RawEndPoint.h>
Gli oggetti di questa classe rappresentano endpoint di rete IP non elaborati.
Riepilogo
Il livello Nest Inet include metodi per interagire con gli endpoint di rete IP (socket SOCK_RAW su sistemi Linux e derivati da BSD) o con i blocchi di controllo di protocollo non elaborato LwIP, in quanto il sistema è configurato di conseguenza.
Eredità
Eredita da: nl::Inet::IPEndPointBasis
Attributi pubblici |
|
---|---|
IPProto
|
IPProtocol
Versione dell'Internet Control Message Protocol (ICMP)
|
IPVer
|
IPVersion
Versione del protocollo Internet.
|
Funzioni pubbliche |
|
---|---|
Bind(IPAddressType addrType, IPAddress addr, InterfaceId intfId)
|
Associa l'endpoint a un indirizzo IP dell'interfaccia.
|
BindIPv6LinkLocal(InterfaceId intf, IPAddress addr)
|
Associa l'endpoint non elaborato a un indirizzo di ambito link locale IPv6 all'indice dell'interfaccia specificato.
|
BindInterface(IPAddressType addrType, InterfaceId intf)
|
Associa l'endpoint a un'interfaccia di rete.
|
Close(void)
|
void
Chiudi l'endpoint.
|
Free(void)
|
void
Chiudi l'endpoint e ricicla la sua memoria.
|
GetBoundInterface(void)
|
InterfaceId
Ottieni l'interfaccia associata a questo endpoint.
|
Listen(void)
|
Prepara l'endpoint per ricevere i messaggi ICMP.
|
SendMsg(const IPPacketInfo *pktInfo, Weave::System::PacketBuffer *msg, uint16_t sendFlags)
|
Invia un messaggio ICMP alla destinazione specificata.
|
SendTo(IPAddress addr, Weave::System::PacketBuffer *msg, uint16_t sendFlags)
|
Un sinonimo di
SendTo(addr, INET_NULL_INTERFACEID, msg, sendFlags) . |
SendTo(IPAddress addr, InterfaceId intfId, Weave::System::PacketBuffer *msg, uint16_t sendFlags)
|
Invia un messaggio ICMP all'indirizzo di destinazione specificato.
|
SetICMPFilter(uint8_t numICMPTypes, const uint8_t *aICMPTypes)
|
Imposta i parametri del filtro ICMP6 nello stack di rete.
|
Attributi pubblici
IPProto
IPProtocol IPProto
Versione dell'Internet Control Message Protocol (ICMP)
Sebbene questo campo sia una variabile modificabile della classe, è una invariante della classe che non può essere modificata.
Controllo IP
IPVersion IPVer
Versione del protocollo Internet.
Sebbene questo campo sia una variabile modificabile della classe, è una invariante della classe che non può essere modificata.
Funzioni pubbliche
Associa
INET_ERROR Bind( IPAddressType addrType, IPAddress addr, InterfaceId intfId )
Associa l'endpoint a un indirizzo IP dell'interfaccia.
associare l'endpoint all'indirizzo IP dell'interfaccia di rete specificato.
Dettagli | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parametri |
|
||||||||||||||
Valori di ritorno |
|
Su LwIP, questo metodo non deve essere chiamato con il blocco stack LwIP già acquisito.
BindIPv6LinkLocal
INET_ERROR BindIPv6LinkLocal( InterfaceId intf, IPAddress addr )
Associa l'endpoint non elaborato a un indirizzo di ambito link locale IPv6 all'indice dell'interfaccia specificato.
Imposta inoltre varie opzioni di socket IPv6 appropriate per la trasmissione di pacchetti da e verso destinazioni link.
associare l'endpoint all'indirizzo IPv6 del link locale addr
sull'interfaccia di rete indicata da intf
.
Dettagli | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parametri |
|
||||||||||||
Parametri |
|
||||||||||||
Valori di ritorno |
|
||||||||||||
Restituisce |
INET_NO_ERROR in caso di esito positivo o errore del sistema operativo mappato in caso di errore. Un elenco di parametri non valido può generare INET_ERROR_WRONG_ADDRESS_TYPE. Se l'endpoint non elaborato è già associato o è in ascolto, restituisce INET_ERROR_INCORRECT_STATE. Associa l'endpoint a un indirizzo locale del link IPv6 dell'interfaccia.
|
Su LwIP, questo metodo non deve essere chiamato con il blocco stack LwIP già acquisito.
BindInterface
INET_ERROR BindInterface( IPAddressType addrType, InterfaceId intf )
Associa l'endpoint a un'interfaccia di rete.
associare l'endpoint all'indirizzo IP dell'interfaccia di rete specificato.
Dettagli | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parametri |
|
||||||||||
Valori di ritorno |
|
Su LwIP, questo metodo non deve essere chiamato con il blocco stack LwIP già acquisito.
Chiudi
void Close( void )
Chiudi l'endpoint.
Se mState != kState_Closed
, chiude l'endpoint, lo rimuove dal set di endpoint idonei per gli eventi di comunicazione.
Sui sistemi LwIP, questo metodo non deve essere chiamato con il blocco stack LwIP già acquisito.
Nessun costo
void Free( void )
Chiudi l'endpoint e ricicla la sua memoria.
Richiama il metodo Close
, quindi richiama il metodo InetLayerBasis::Release
per restituire l'oggetto al suo pool di memoria.
Sui sistemi LwIP, questo metodo non deve essere chiamato con il blocco stack LwIP già acquisito.
GetBoundInterface
InterfaceId GetBoundInterface( void )
Ottieni l'interfaccia associata a questo endpoint.
Dettagli | |
---|---|
Restituisce |
InterfaceId: l'ID interfaccia associato.
|
Ascolta
INET_ERROR Listen( void )
Prepara l'endpoint per ricevere i messaggi ICMP.
Se mState
è già kState_Listening
, non viene eseguita alcuna operazione, altrimenti mState
è impostato su kState_Listening
e l'endpoint è pronto a ricevere messaggi ICMPv6, in base alla semantica della piattaforma.
Dettagli | |||
---|---|---|---|
Valori di ritorno |
|
Su LwIP, questo metodo non deve essere chiamato con il blocco dello stack LwIP già acquisito
Invia messaggio
INET_ERROR SendMsg( const IPPacketInfo *pktInfo, Weave::System::PacketBuffer *msg, uint16_t sendFlags )
Invia un messaggio ICMP alla destinazione specificata.
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.
Dettagli | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parametri |
|
||||||||||||
Valori di ritorno |
|
Invia a
INET_ERROR SendTo( IPAddress addr, Weave::System::PacketBuffer *msg, uint16_t sendFlags )
Un sinonimo di SendTo(addr, INET_NULL_INTERFACEID, msg, sendFlags)
.
Invia a
INET_ERROR SendTo( IPAddress addr, InterfaceId intfId, Weave::System::PacketBuffer *msg, uint16_t sendFlags )
Invia un messaggio ICMP all'indirizzo di destinazione specificato.
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.
Dettagli | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parametri |
|
||||||||||||
Valori di ritorno |
|
FiltroSetICMP
INET_ERROR SetICMPFilter( uint8_t numICMPTypes, const uint8_t *aICMPTypes )
Imposta i parametri del filtro ICMP6 nello stack di rete.
Applica i parametri di filtro ICMPv6 per i codici in aICMPTypes
all'endpoint sottostante nello stack di networking del sistema.
Dettagli | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parametri |
|
||||||||||
Valori di ritorno |
|