nl:: Inet:: RawEndPoint
#include <src/inet/RawEndPoint.h>
Objekte dieser Klasse stellen unformatierte IP-Netzwerkendpunkte dar.
Zusammenfassung
Nest Inet Layer kapselt Methoden für die Interaktion mit IP-Netzwerkendpunkten (SOCK_RAW-Sockets auf Linux- und BSD-abgeleiteten Systemen) oder unformatierten LwIP-Protokollkontrollblöcken, je nachdem, wie das System entsprechend konfiguriert ist.
Übernahme
Übernimmt von: nl::Inet::IPEndPointBasis
Öffentliche Attribute |
|
---|---|
IPProto
|
IPProtocol
Version des Internet Control Message Protocol (ICMP)
|
IPVer
|
IPVersion
Version des Internetprotokolls.
|
Öffentliche Funktionen |
|
---|---|
Bind(IPAddressType addrType, IPAddress addr, InterfaceId intfId)
|
Binden Sie den Endpunkt an eine Schnittstellen-IP-Adresse.
|
BindIPv6LinkLocal(InterfaceId intf, IPAddress addr)
|
Binden Sie den Rohendpunkt an eine IPv6-Link-Local-Bereichsadresse am angegebenen Schnittstellenindex.
|
BindInterface(IPAddressType addrType, InterfaceId intf)
|
Binden Sie den Endpunkt an eine Netzwerkschnittstelle.
|
Close(void)
|
void
Schließen Sie den Endpunkt.
|
Free(void)
|
void
Schließen Sie den Endpunkt und verwenden Sie den Arbeitsspeicher wieder.
|
GetBoundInterface(void)
|
InterfaceId
Ruft die gebundene Schnittstelle auf diesem Endpunkt ab.
|
Listen(void)
|
Bereiten Sie den Endpunkt für den Empfang von ICMP-Nachrichten vor.
|
SendMsg(const IPPacketInfo *pktInfo, Weave::System::PacketBuffer *msg, uint16_t sendFlags)
|
Sendet eine ICMP-Nachricht an das angegebene Ziel.
|
SendTo(IPAddress addr, Weave::System::PacketBuffer *msg, uint16_t sendFlags)
|
Ein Synonym für
SendTo(addr, INET_NULL_INTERFACEID, msg, sendFlags) . |
SendTo(IPAddress addr, InterfaceId intfId, Weave::System::PacketBuffer *msg, uint16_t sendFlags)
|
Eine ICMP-Nachricht an die angegebene Zieladresse senden.
|
SetICMPFilter(uint8_t numICMPTypes, const uint8_t *aICMPTypes)
|
Legen Sie die ICMP6-Filterparameter im Netzwerkstack fest.
|
Öffentliche Attribute
IPProto
IPProtocol IPProto
Version des Internet Control Message Protocol (ICMP)
Dieses Feld ist zwar eine änderbare Klassenvariable, aber eine Invariante der Klasse, sodass es nicht geändert werden darf.
IPVer
IPVersion IPVer
Version des Internetprotokolls.
Dieses Feld ist zwar eine änderbare Klassenvariable, aber eine Invariante der Klasse, sodass es nicht geändert werden darf.
Öffentliche Funktionen
Binden
INET_ERROR Bind( IPAddressType addrType, IPAddress addr, InterfaceId intfId )
Binden Sie den Endpunkt an eine Schnittstellen-IP-Adresse.
Bindet den Endpunkt an die angegebene IP-Adresse der Netzwerkschnittstelle.
Details | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||||||||
Rückgabewerte |
|
Bei LwIP darf diese Methode nicht mit der bereits erhaltenen LwIP-Stack-Sperre aufgerufen werden.
BindIPv6LinkLocal
INET_ERROR BindIPv6LinkLocal( InterfaceId intf, IPAddress addr )
Binden Sie den Rohendpunkt an eine IPv6-Link-Local-Bereichsadresse am angegebenen Schnittstellenindex.
Legt außerdem verschiedene IPv6-Socket-Optionen fest, die zur Übertragung von Paketen zu und von On-Link-Zielen geeignet sind.
Bindet den Endpunkt an die IPv6-Link-Local-Adresse addr
an der durch intf
angegebenen Netzwerkschnittstelle.
Details | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||||||
Parameter |
|
||||||||||||
Rückgabewerte |
|
||||||||||||
Rückgabe |
INET_NO_ERROR bei Erfolg oder ein zugeordneter Betriebssystemfehler bei einem Fehler. Eine ungültige Parameterliste kann zu INET_ERROR_WRONG_ADDRESS_TYPE führen. Wenn der Rohendpunkt bereits gebunden ist oder überwacht, wird INET_ERROR_INCORRECT_STATE zurückgegeben. Binden Sie den Endpunkt an eine IPv6-Link-Local-Schnittstelle.
|
Bei LwIP darf diese Methode nicht mit der bereits erhaltenen LwIP-Stack-Sperre aufgerufen werden.
BindInterface
INET_ERROR BindInterface( IPAddressType addrType, InterfaceId intf )
Binden Sie den Endpunkt an eine Netzwerkschnittstelle.
Bindet den Endpunkt an die angegebene IP-Adresse der Netzwerkschnittstelle.
Details | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||||
Rückgabewerte |
|
Bei LwIP darf diese Methode nicht mit der bereits erhaltenen LwIP-Stack-Sperre aufgerufen werden.
Schließen
void Close( void )
Schließen Sie den Endpunkt.
Bei mState != kState_Closed
wird der Endpunkt geschlossen und aus der Gruppe von Endpunkten entfernt, die für Kommunikationsereignisse infrage kommen.
Bei LwIP-Systemen darf diese Methode nicht mit der bereits erhaltenen LwIP-Stack-Sperre aufgerufen werden.
Kostenlos
void Free( void )
Schließen Sie den Endpunkt und verwenden Sie den Arbeitsspeicher wieder.
Ruft die Methode Close
und dann die Methode InetLayerBasis::Release
auf, um das Objekt an seinen Arbeitsspeicherpool zurückzugeben
Bei LwIP-Systemen darf diese Methode nicht mit der bereits erhaltenen LwIP-Stack-Sperre aufgerufen werden.
GetBoundInterface
InterfaceId GetBoundInterface( void )
Ruft die gebundene Schnittstelle auf diesem Endpunkt ab.
Details | |
---|---|
Rückgabe |
InterfaceId Die ID der gebundenen Schnittstelle.
|
Anhören
INET_ERROR Listen( void )
Bereiten Sie den Endpunkt für den Empfang von ICMP-Nachrichten vor.
Wenn mState
bereits kState_Listening
ist, wird kein Vorgang ausgeführt. Andernfalls wird mState
auf kState_Listening
gesetzt und der Endpunkt kann gemäß der Semantik der Plattform ICMPv6-Nachrichten empfangen.
Details | |||
---|---|---|---|
Rückgabewerte |
|
Bei LwIP darf diese Methode nicht mit der bereits erhaltenen LwIP-Stack-Sperre aufgerufen werden
SendMsg
INET_ERROR SendMsg( const IPPacketInfo *pktInfo, Weave::System::PacketBuffer *msg, uint16_t sendFlags )
Sendet eine ICMP-Nachricht an das angegebene Ziel.
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.
Details | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||||||
Rückgabewerte |
|
SendTo
INET_ERROR SendTo( IPAddress addr, Weave::System::PacketBuffer *msg, uint16_t sendFlags )
Ein Synonym für SendTo(addr, INET_NULL_INTERFACEID, msg, sendFlags)
.
SendTo
INET_ERROR SendTo( IPAddress addr, InterfaceId intfId, Weave::System::PacketBuffer *msg, uint16_t sendFlags )
Eine ICMP-Nachricht an die angegebene Zieladresse senden.
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.
Details | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||||||
Rückgabewerte |
|
SetICMPFilter
INET_ERROR SetICMPFilter( uint8_t numICMPTypes, const uint8_t *aICMPTypes )
Legen Sie die ICMP6-Filterparameter im Netzwerkstack fest.
Wenden Sie die ICMPv6-Filterparameter für die Codes in aICMPTypes
auf den zugrunde liegenden Endpunkt im Systemnetzwerkstapel an.
Details | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||||
Rückgabewerte |
|