Mit Sammlungen den Überblick behalten Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.

nl:: Inet

Zusammenfassung

Aufzählungen

@7 {
kInetEvent_TCPConnectComplete = _INET_CONFIG_EVENT(0),
kInetEvent_TCPConnectionReceived = _INET_CONFIG_EVENT(1),
kInetEvent_TCPDataReceived = _INET_CONFIG_EVENT(2),
kInetEvent_TCPDataSent = _INET_CONFIG_EVENT(3),
kInetEvent_TCPError = _INET_CONFIG_EVENT(4),
kInetEvent_UDPDataReceived = _INET_CONFIG_EVENT(5),
kInetEvent_DNSResolveComplete = _INET_CONFIG_EVENT(6),
kInetEvent_TunDataReceived = _INET_CONFIG_EVENT(7),
kInetEvent_RawDataReceived = _INET_CONFIG_EVENT(8)
}
aufzählen
Die Ereignistypdefinitionen der Inet-Schicht.
DNSOptions {
kDNSOption_AddrFamily_Mask = 0x07,
kDNSOption_Flags_Mask = 0xF8,
kDNSOption_AddrFamily_Any = 0x00,
kDNSOption_AddrFamily_IPv4Only = 0x01,
kDNSOption_AddrFamily_IPv4Preferred = 0x02,
kDNSOption_AddrFamily_IPv6Only = 0x03,
kDNSOption_AddrFamily_IPv6Preferred = 0x04,
kDNSOption_ValidFlags = 0
}
aufzählen
Optionen, die steuern, wie die IP-Adressauflösung ausgeführt wird.
IPAddressType {
kIPAddressType_Unknown = 0,
kIPAddressType_IPv4 = 1,
kIPAddressType_IPv6 = 2,
kIPAddressType_Any = 3
}
aufzählen
Adressfamilie des Internetprotokolls.
IPProtocol {
kIPProtocol_ICMPv6 = 58,
kIPProtocol_ICMPv4 = 1
}
aufzählen
Die Nummern einiger Protokolle der IP-Familie.
IPV6MulticastGroup {
kIPV6MulticastGroup_AllRouters = 2
}
aufzählen
Multicast-Gruppenkennungen des Internetprotokolls.
IPVersion {
kIPVersion_6 = 6,
kIPVersion_4 = 4
}
aufzählen
Die Version des verwendeten IP-Protokolls.
IPv6MulticastFlag {
kIPv6MulticastFlag_Transient = 0x01,
kIPv6MulticastFlag_Prefix = 0x02
}
aufzählen
Multicast-Flags für Internetprotokoll v6.
IPv6MulticastScope {
kIPv6MulticastScope_Interface = 1,
kIPv6MulticastScope_Link = 2,
kIPv6MulticastScope_IPv4 = 3,
kIPv6MulticastScope_Admin = 4,
kIPv6MulticastScope_Site = 5,
kIPv6MulticastScope_Organization = 8,
kIPv6MulticastScope_Global = 14
}
aufzählen
Internetprotokoll-Multicast-Adressbereich.

Typdefinitionen

InterfaceId Typdef
struct netif *
Anzeige für Systemnetzwerkschnittstellen.

Variablen

sIOCTLSocket = -1
int

Funktionen

CheckMulticastGroupArgs (InterfaceId aInterfaceId, const IPAddress & aAddress)
CloseIOCTLSocket (void)
void
Schließen Sie den globalen Socket erstellt GetIOCTLSocket .
FormatInetLayerError (char *buf, uint16_t bufSize, int32_t err)
bool
Gibt bei einem Inet-Layer-Fehler eine für Menschen lesbare NULL-terminierte C-Zeichenfolge zurück, die den Fehler beschreibt.
GetIOCTLSocket (void)
int
Gibt einen globalen Allzweck-Socket zurück, der zum Aufrufen bestimmter Netzwerk-IOCTLs nützlich ist.
GetInterfaceName (InterfaceId intfId, char *nameBuf, size_t nameBufSize)
NL_DLL_EXPORT INET_ERROR
Rufen Sie den Namen einer Netzwerkschnittstelle ab.
INET_IsInetEvent (Weave::System::EventType aType)
bool
Überprüfen Sie, ob ein System::EventType ein gültiger Ereignistyp der Inet-Schicht ist.
InterfaceNameToId (const char *intfName, InterfaceId & intfId)
NL_DLL_EXPORT INET_ERROR
Durchsuchen Sie die Liste der Netzwerkschnittstellen nach dem angegebenen Namen.
LwIPBindInterface (struct raw_pcb *aRaw, InterfaceId intfId)
LwIPBindInterface (struct udp_pcb *aUDP, InterfaceId intfId)
NetmaskToPrefixLength (const uint8_t *netmask, uint16_t netmaskLen)
uint8_t
Berechnen einer Präfixlänge aus einer Netzmaske variabler Länge.
ParseHostAndPort (const char *aString, uint16_t aStringLen, const char *& aHost, uint16_t & aHostLen, uint16_t & aPort)
Analysieren Sie eine für Menschen lesbare Zeichenfolge, die eine Host- oder IP-Adresse und eine optionale Portnummer (getrennt durch ein ':') enthält und die folgenden Formate unterstützt:
ParseHostPortAndInterface (const char *aString, uint16_t aStringLen, const char *& aHost, uint16_t & aHostLen, uint16_t & aPort, const char *& aInterface, uint16_t & aInterfaceLen)
Analysieren Sie eine für Menschen lesbare Zeichenfolge, die eine Host- oder IP-Adresse, eine optionale Portnummer (getrennt durch ein ':') und einen optionalen Schnittstellennamen (getrennt durch ein '') enthält und die folgenden Formate unterstützt:
RegisterInetLayerErrorFormatter (void)
void
Registrieren Sie einen Textfehlerformatierer für Inet-Layer-Fehler.
SocketsIPv4JoinLeaveMulticastGroup (int aSocket, InterfaceId aInterfaceId, const IPAddress & aAddress, int aCommand)
SocketsIPv6JoinLeaveMulticastGroup (int aSocket, InterfaceId aInterfaceId, const IPAddress & aAddress, int aCommand)
SocketsSetMulticastLoopback (int aSocket, bool aLoopback, int aProtocol, int aOption)
SocketsSetMulticastLoopback (int aSocket, IPVersion aIPVersion, bool aLoopback)

Klassen

nl :: Inet :: AsyncDNSResolverSockets

Dies ist eine interne Klasse InetLayer , die Helfer - APIs für Asynchronous Domain Name System (DNS) Auflösung in bietet InetLayer .

nl :: Inet :: DNSResolver

Dies ist eine interne Klasse InetLayer , die die Abstraktion des Domain Name System (DNS) Auflösung in bietet InetLayer .

nl :: Inet :: EndPointBasis

Basis der Endpunktklassen für den Internettransport.

nl :: Inet :: IPAddress

Internetprotokolladresse.

nl :: Inet :: IPEndPointBasis

Objekte dieser Klasse repräsentieren nicht instanziierbare IP-Protokoll-Endpunkte.

nl :: Inet :: IPPacketInfo

Informationen über eine eingehende/ausgehende Nachricht/Verbindung.

nl :: Inet :: IPPrefix

Internetprotokoll-Adresspräfix.

nl :: Inet :: InetLayer

Dies bietet Zugriff auf Internetdienste, einschließlich Zeitgeber, DNS-Auflösung (Domain Name System), TCP-Netzwerktransport, UDP-Netzwerktransport und unformatierter Netzwerktransport für einen einzelnen Thread.

nl :: Inet :: InetLayerBasis

Dies ist die Basisklasse von Referenzzählung Objekten von einem verwalteten InetLayer Objekt.

nl :: Inet :: InterfaceAddressIterator

Iterator für die Liste der IP-Adressen der Systemnetzwerkschnittstellen.

nl :: Inet :: InterfaceIterator

Iterator für die Liste der Systemnetzwerkschnittstellen.

nl :: Inet :: RawEndPoint

Objekte dieser Klasse repräsentieren rohe IP-Netzwerkendpunkte.

nl :: Inet :: SocketEvents

Stellt eine Reihe von E/A-Ereignissen dar, die für einen Socket angefordert/anstehend sind.

nl :: Inet :: TCPEndPoint

Objekte dieser Klasse repräsentieren TCP-Transportendpunkte.

nl :: Inet :: TunEndPoint

Objekte dieser Klasse repräsentieren Tunnelschnittstellen.

nl :: Inet :: UDPEndPoint

Objekte dieser Klasse repräsentieren UDP-Transportendpunkte.

Gewerkschaften

nl :: Inet :: PeerSockAddr

Namensräume

nl :: Inet :: Platform

Aufzählungen

@7

 @7

Die Ereignistypdefinitionen der Inet-Schicht.

Eigenschaften
kInetEvent_DNSResolveComplete

Das Ereignis für den Abschluss der DNS-Namensauflösung.

kInetEvent_RawDataReceived

Die Veranstaltung für den Datenempfang über einen InetLayer rohen Endpunkt.

kInetEvent_TCPConnectComplete

Das Ereignis für den Abschluss der TCP-Verbindung.

kInetEvent_TCPConnectionReceived

Das Ereignis für den TCP-Verbindungsempfang.

kInetEvent_TCPDataReceived

Das Ereignis für den Datenempfang über eine TCP-Verbindung.

kInetEvent_TCPDataSent

Das Ereignis für die Datenübertragung über eine TCP-Verbindung.

kInetEvent_TCPError

Das Ereignis für einen Fehler bei einer TCP-Verbindung.

kInetEvent_TunDataReceived

Das Event zum Datenempfang über einen Weave-Tunnel.

kInetEvent_UDPDataReceived

Das Ereignis für den Datenempfang über UDP.

DNSOptionen

 DNSOptions

Optionen, die steuern, wie die IP-Adressauflösung ausgeführt wird.

Eigenschaften
kDNSOption_AddrFamily_Any

Geben Sie IPv4- und/oder IPv6-Adressen in der vom Nameserver zurückgegebenen Reihenfolge zurück.

kDNSOption_AddrFamily_IPv4Only

Gibt nur IPv4-Adressen zurück.

kDNSOption_AddrFamily_IPv4Preferred

Geben Sie IPv4- und/oder IPv6-Adressen zurück, wobei IPv4-Adressen zuerst aufgeführt werden.

kDNSOption_AddrFamily_IPv6Only

Gibt nur IPv6-Adressen zurück.

kDNSOption_AddrFamily_IPv6Preferred

Geben Sie IPv4- und/oder IPv6-Adressen zurück, wobei IPv6-Adressen zuerst aufgeführt werden.

kDNSOption_AddrFamily_Mask

Bits innerhalb eines ganzzahligen DNSOptions-Werts, die die gewünschte Adressfamilie darstellen.

kDNSOption_Flags_Mask

Bits innerhalb eines ganzzahligen DNSOptions-Werts, die für Flags reserviert sind.

kDNSOption_ValidFlags

Satz aller gültigen DNSOption-Flags.

IPAddressType

 IPAddressType

Adressfamilie des Internetprotokolls.

Werte des IPAddressType Typs werden von der zurück IPAddress::Type() Methode. Sie geben die Adressfamilie an, die sich aus der Verwendung der Adresse ergibt.

Eigenschaften
kIPAddressType_Any

Die nicht angegebene Internetadresse (unabhängig von der Protokollversion)

kIPAddressType_IPv4

Internetprotokollversion 4.

kIPAddressType_IPv6

Internetprotokollversion 6.

kIPAddressType_Unknown

Nicht benutzt.

IPProtokoll

 IPProtocol

Die Nummern einiger Protokolle der IP-Familie.

Eigenschaften
kIPProtocol_ICMPv4

ICMPv4.

kIPProtocol_ICMPv6

ICMPv6.

IPv6MulticastGroup

 IPV6MulticastGroup

Bezeichner für Internetprotokoll-Multicast-Gruppen.

Werte des IPV6MulticastGroup Typs werden verwendet , um die rufen IPAddress::MakeIPv6Multicast() Methode. Sie geben von der IETF bei der IANA registrierte Distinguished Group Identifier an.

Eigenschaften
kIPV6MulticastGroup_AllRouters

RFC 4291.

IP-Version

 IPVersion

Die Version des verwendeten IP-Protokolls.

Eigenschaften
kIPVersion_4

IPv4.

kIPVersion_6

IPv6.

IPv6MulticastFlag

 IPv6MulticastFlag

Multicast-Flags für Internetprotokoll v6.

Werte des IPv6MulticastFlag Typs werden verwendet , um die rufen IPAddress::MakeIPv6Multicast() Methoden. Sie geben den Typ der zu erstellenden IPv6-Multicast-Adresse an. Diese Nummern werden von der IETF bei der IANA registriert.

Eigenschaften
kIPv6MulticastFlag_Prefix

Die Multicast-Adresse basiert (1) auf einem Netzwerkpräfix.

kIPv6MulticastFlag_Transient

Die Multicast-Adresse ist (1) vorübergehend (dh dynamisch zugewiesen) und nicht (0) wohlbekannt (dh IANA-zugewiesen).

IPv6MulticastScope

 IPv6MulticastScope

Internetprotokoll-Multicast-Adressbereich.

Werte des IPv6MulticastScope Typs werden verwendet , um die rufen IPAddress::MakeIPv6Multicast() Methode. Sie geben den routingfähigen Bereich der durch das Ergebnis bezeichneten Multicast-Gruppe an. Diese Nummern werden von der IETF bei der IANA registriert.

Eigenschaften
kIPv6MulticastScope_Admin

Realm-lokaler Geltungsbereich.

kIPv6MulticastScope_Global

Globaler Geltungsbereich.

kIPv6MulticastScope_IPv4

Bereichslokaler ("IPv4") Bereich.

kIPv6MulticastScope_Interface

Schnittstelle-lokaler Geltungsbereich.

kIPv6MulticastScope_Link

Linklokaler Geltungsbereich.

kIPv6MulticastScope_Organization

Organisations-lokaler Geltungsbereich.

kIPv6MulticastScope_Site

Realm-lokaler Geltungsbereich.

Typdefinitionen

Schnittstellen-ID

struct netif * InterfaceId

Anzeige für Systemnetzwerkschnittstellen.

Die Portabilität hängt davon ab, diesen Alias ​​nie zu sehen. Sie kann in Zukunft durch eine konkrete undurchsichtige Klasse ersetzt werden.

Hinweis Nun: Der Begriff "Interface Identifier" bezieht sich in allen relevanten IETF-Standarddokumenten auch konventionell auf die unteren 64 Bit einer IPv6-Adresse, wo häufig die Abkürzung "IID" verwendet wird. In diesem Text bezieht sich der Begriff "Schnittstellenindikator" auf Werte dieses Alias-Typs.

Variablen

sIOCTLSocket

int sIOCTLSocket = -1

Funktionen

CheckMulticastGroupArgs

INET_ERROR CheckMulticastGroupArgs(
  InterfaceId aInterfaceId,
  const IPAddress & aAddress
)

SchließenIOCTLSocket

void CloseIOCTLSocket(
  void
)

Schließen Sie den globalen Socket erstellt GetIOCTLSocket .

Diese Funktion wird für Fälle bereitgestellt, in denen das Öffnen des globalen IOCTL-Sockets als Leck registriert würde.

Wichtiger Hinweis: Diese Funktion ist nicht in Bezug auf Thread-sicher GetIOCTLSocket .

FormatInetLayerError

bool FormatInetLayerError(
  char *buf,
  uint16_t bufSize,
  int32_t err
)

Gibt bei einem Inet Layer-Fehler eine für Menschen lesbare NULL-terminierte C-Zeichenfolge zurück, die den Fehler beschreibt.

Einzelheiten
Parameter
[in] buf
Puffer, in den die Fehlerzeichenfolge eingefügt wird.
[in] bufSize
Größe des bereitgestellten Puffers in Byte.
[in] err
Der zu beschreibende Fehler.
Kehrt zurück
true Wenn ein Beschreibungsstring in den bereitgestellten Puffer geschrieben wurde.
Kehrt zurück
false Wenn der angegebene Fehler kein Inet-Layer-Fehler war.

GetIOCTLSocket

int GetIOCTLSocket(
  void
)

Gibt einen globalen Allzweck-Socket zurück, der zum Aufrufen bestimmter Netzwerk-IOCTLs nützlich ist.

Diese Funktion ist auf allen Plattformen threadsicher.

GetInterfaceName

NL_DLL_EXPORT INET_ERROR GetInterfaceName(
  InterfaceId intfId,
  char *nameBuf,
  size_t nameBufSize
)

Rufen Sie den Namen einer Netzwerkschnittstelle ab.

Writes the name of the network interface as \c NUL terminated text string
at \c nameBuf. The name of the unspecified network interface is the empty
string.

Einzelheiten
Parameter
[in] intfId
eine Netzwerkschnittstelle
[in] nameBuf
Speicherbereich, um den Schnittstellennamen zu schreiben
[in] nameBufSize
Größe der durch bezeichnete Region nameBuf
Rückgabewerte
INET_NO_ERROR
erfolgreiches Ergebnis, Schnittstellenname geschrieben
INET_ERROR_NO_MEMORY
Name ist zu groß, um in den Puffer geschrieben zu werden
other
ein anderer System- oder Plattformfehler

INET_IsInetEvent

bool INET_IsInetEvent(
  Weave::System::EventType aType
)

Überprüfen Sie, ob ein System::EventType ein gültiger Ereignistyp der Inet-Schicht ist.

Einzelheiten
Parameter
[in] aType
Ein Weave System Layer-Ereignistyp.
Kehrt zurück
true, wenn es in den aufgezählten Bereich fällt; ansonsten falsch.

InterfaceNameToId

NL_DLL_EXPORT INET_ERROR InterfaceNameToId(
  const char *intfName,
  InterfaceId & intfId
)

Durchsuchen Sie die Liste der Netzwerkschnittstellen nach dem angegebenen Namen.

On LwIP, this function must be called with the LwIP stack lock acquired.

The \c intfId parameter is not updated unless the value returned is
\c INET_NO_ERROR. It should be initialized with \c INET_NULL_INTERFACEID
before calling this function.

Einzelheiten
Parameter
[in] intfName
Name der zu suchenden Netzwerkschnittstelle
[out] intfId
Anzeige der zuzuweisenden Netzwerkschnittstelle
Rückgabewerte
INET_NO_ERROR
Erfolg, Netzwerkschnittstelle angegeben
INET_ERROR_UNKNOWN_INTERFACE
keine Netzwerkschnittstelle gefunden
other
ein anderer System- oder Plattformfehler

LwIPBindSchnittstelle

INET_ERROR LwIPBindInterface(
  struct raw_pcb *aRaw,
  InterfaceId intfId
)

LwIPBindSchnittstelle

INET_ERROR LwIPBindInterface(
  struct udp_pcb *aUDP,
  InterfaceId intfId
)

NetmaskToPrefixLength

uint8_t NetmaskToPrefixLength(
  const uint8_t *netmask,
  uint16_t netmaskLen
)

Berechnen einer Präfixlänge aus einer Netzmaske variabler Länge.

ParseHostAndPort

INET_ERROR ParseHostAndPort(
  const char *aString,
  uint16_t aStringLen,
  const char *& aHost,
  uint16_t & aHostLen,
  uint16_t & aPort
)

Analysieren Sie eine für Menschen lesbare Zeichenfolge, die eine Host- oder IP-Adresse und eine optionale Portnummer (getrennt durch ein ':') enthält und die folgenden Formate unterstützt:

  • :
  • :
  • [ ]:

Einzelheiten
Parameter
[in] aString
Die von Menschen lesbare Zeichenfolge, die analysiert werden soll.
[in] aStringLen
Die Länge von aString in Zeichen.
[out] aHost
Ein Zeiger auf den Hostnamenteil der geparsten Zeichenfolge.
[out] aHostLen
Die Länge von aHost in Zeichen.
[out] aPort
Die Portnummer, falls vorhanden und erfolgreich geparst; ansonsten 0.
Kehrt zurück
INET_ERROR_INVALID_HOST_NAME Wenn die Eingabe analysiert werden soll , von der Länge Null oder anderweitig fehlerhaft.
Kehrt zurück
INET_ERROR_HOST_NAME_TOO_LONG Wenn der Hostname 253 Zeichen überschreitet.
Kehrt zurück
INET_NO_ERROR auf Erfolg.

ParseHostPortAndInterface

INET_ERROR ParseHostPortAndInterface(
  const char *aString,
  uint16_t aStringLen,
  const char *& aHost,
  uint16_t & aHostLen,
  uint16_t & aPort,
  const char *& aInterface,
  uint16_t & aInterfaceLen
)

Analysieren Sie eine für Menschen lesbare Zeichenfolge, die eine Host- oder IP-Adresse, eine optionale Portnummer (getrennt durch ein ':') und einen optionalen Schnittstellennamen (getrennt durch ein '') enthält und die folgenden Formate unterstützt:

  • %
  • :
  • : %
  • %
  • :
  • : %
  • %
  • [ ]:
  • [ ]: %

Einzelheiten
Parameter
[in] aString
Die von Menschen lesbare Zeichenfolge, die analysiert werden soll.
[in] aStringLen
Die Länge von aString in Zeichen.
[out] aHost
Ein Zeiger auf den Hostnamenteil der geparsten Zeichenfolge.
[out] aHostLen
Die Länge von aHost in Zeichen.
[out] aPort
Die Portnummer, falls vorhanden und erfolgreich geparst; ansonsten 0.
[out] aInterface
Ein Zeiger auf den Schnittstellenteil der analysierten Zeichenfolge.
[out] aInterfaceLen
Die Länge von aInterface in Zeichen.
Kehrt zurück
INET_ERROR_INVALID_HOST_NAME Wenn die Eingabe analysiert werden soll , von der Länge Null oder anderweitig fehlerhaft.
Kehrt zurück
INET_ERROR_HOST_NAME_TOO_LONG Wenn der Hostname 253 Zeichen überschreitet.
Kehrt zurück
INET_NO_ERROR auf Erfolg.

RegisterInetLayerErrorFormatter

void RegisterInetLayerErrorFormatter(
  void
)

Registrieren Sie einen Textfehlerformatierer für Inet-Layer-Fehler.

SocketsIPv4JoinLeaveMulticastGroup

INET_ERROR SocketsIPv4JoinLeaveMulticastGroup(
  int aSocket,
  InterfaceId aInterfaceId,
  const IPAddress & aAddress,
  int aCommand
)

SocketsIPv6JoinLeaveMulticastGroup

INET_ERROR SocketsIPv6JoinLeaveMulticastGroup(
  int aSocket,
  InterfaceId aInterfaceId,
  const IPAddress & aAddress,
  int aCommand
)

SocketsSetMulticastLoopback

INET_ERROR SocketsSetMulticastLoopback(
  int aSocket,
  bool aLoopback,
  int aProtocol,
  int aOption
)

SocketsSetMulticastLoopback

INET_ERROR SocketsSetMulticastLoopback(
  int aSocket,
  IPVersion aIPVersion,
  bool aLoopback
)