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 LwIP-Rohprotokoll-Kontrollblöcken, wenn 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 unbearbeiteten Endpunkt an eine IPv6-Link-Local-Bereichsadresse im 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 seinen Arbeitsspeicher wieder.
|
GetBoundInterface(void)
|
InterfaceId
Ruft die gebundene Schnittstelle an 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)
|
Sendet eine ICMP-Nachricht an die angegebene Zieladresse.
|
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, es ist jedoch eine Invariante der Klasse, dass es nicht geändert werden kann.
IPVer
IPVersion IPVer
Version des Internetprotokolls.
Dieses Feld ist zwar eine änderbare Klassenvariable, es ist jedoch eine Invariante der Klasse, dass es nicht geändert werden kann.
Ö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 |
|
Unter LwIP darf diese Methode nicht mit der bereits erworbenen LwIP-Stacksperre aufgerufen werden.
BindIPv6LinkLocal
INET_ERROR BindIPv6LinkLocal( InterfaceId intf, IPAddress addr )
Binden Sie den unbearbeiteten Endpunkt an eine IPv6-Link-Local-Bereichsadresse im angegebenen Schnittstellenindex.
Außerdem werden verschiedene IPv6-Socket-Optionen festgelegt, die für die Übertragung von Paketen an und von On-Link-Zielen geeignet sind.
Bindet den Endpunkt an die Link-Local-IPv6-Adresse addr
auf 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, wird INET_ERROR_INCORRECT_STATE zurückgegeben. Binden Sie den Endpunkt an eine Link-Local-Schnittstellenadresse mit IPv6-Schnittstelle.
|
Unter LwIP darf diese Methode nicht mit der bereits erworbenen LwIP-Stacksperre 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 |
|
Unter LwIP darf diese Methode nicht mit der bereits erworbenen LwIP-Stacksperre 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 geeignet sind.
Auf LwIP-Systemen darf diese Methode nicht mit der bereits erworbenen LwIP-Stacksperre aufgerufen werden.
Kostenlos
void Free( void )
Schließen Sie den Endpunkt und verwenden Sie seinen Arbeitsspeicher wieder.
Ruft die Methode Close
und dann die Methode InetLayerBasis::Release
auf, um das Objekt an seinen Arbeitsspeicherpool zurückzugeben.
Auf LwIP-Systemen darf diese Methode nicht mit der bereits erworbenen LwIP-Stacksperre aufgerufen werden.
GetBoundInterface
InterfaceId GetBoundInterface( void )
Ruft die gebundene Schnittstelle an diesem Endpunkt ab.
Details | |
---|---|
Rückgabe |
InterfaceId Die ID der gebundenen Schnittstelle.
|
Zuhö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 wird entsprechend der Semantik der Plattform auf den Empfang von ICMPv6-Nachrichten vorbereitet.
Details | |||
---|---|---|---|
Rückgabewerte |
|
Unter LwIP darf diese Methode nicht mit der bereits abgerufenen LwIP-Stacksperre 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 )
Sendet eine ICMP-Nachricht an die angegebene Zieladresse.
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 Systemnetzwerkstack an.
Details | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||||
Rückgabewerte |
|