En Google, luchamos por la equidad racial de la comunidad negra. Más información

nl :: Inet

Resumen

Enumeraciones

@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)
}
enumeración
Las definiciones de tipo de evento de la capa Inet.
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
}
enumeración
Opciones que controlan cómo se realiza la resolución de direcciones IP.
IPAddressType {
kIPAddressType_Unknown = 0,
kIPAddressType_IPv4 = 1,
kIPAddressType_IPv6 = 2,
kIPAddressType_Any = 3
}
enumeración
Familia de direcciones de protocolo de Internet.
IPProtocol {
kIPProtocol_ICMPv6 = 58,
kIPProtocol_ICMPv4 = 1
}
enumeración
Los números de algunos de los protocolos de la familia IP.
IPV6MulticastGroup {
kIPV6MulticastGroup_AllRouters = 2
}
enumeración
Identificadores de grupo de multidifusión de protocolo de Internet.
IPVersion {
kIPVersion_6 = 6,
kIPVersion_4 = 4
}
enumeración
La versión del protocolo IP que se está utilizando.
IPv6MulticastFlag {
kIPv6MulticastFlag_Transient = 0x01,
kIPv6MulticastFlag_Prefix = 0x02
}
enumeración
Indicadores de multidifusión del protocolo de Internet v6.
IPv6MulticastScope {
kIPv6MulticastScope_Interface = 1,
kIPv6MulticastScope_Link = 2,
kIPv6MulticastScope_IPv4 = 3,
kIPv6MulticastScope_Admin = 4,
kIPv6MulticastScope_Site = 5,
kIPv6MulticastScope_Organization = 8,
kIPv6MulticastScope_Global = 14
}
enumeración
Alcance de la dirección de multidifusión del protocolo de Internet.

Typedefs

InterfaceId typedef
struct netif *
Indicador de interfaces de red del sistema.

Variables

sIOCTLSocket = -1
int

Funciones

CheckMulticastGroupArgs (InterfaceId aInterfaceId, const IPAddress & aAddress)
CloseIOCTLSocket (void)
void
Cierre la conexión global creado por GetIOCTLSocket .
FormatInetLayerError (char *buf, uint16_t bufSize, int32_t err)
bool
Dado un error de capa Inet, devuelve una cadena C terminada en NULL legible por humanos que describe el error.
GetIOCTLSocket (void)
int
Devuelve un socket de propósito general global útil para invocar ciertos IOCTL de red.
GetInterfaceName (InterfaceId intfId, char *nameBuf, size_t nameBufSize)
NL_DLL_EXPORT INET_ERROR
Obtenga el nombre de una interfaz de red.
INET_IsInetEvent (Weave::System::EventType aType)
bool
Compruebe si System :: EventType es un tipo de evento de capa Inet válido.
InterfaceNameToId (const char *intfName, InterfaceId & intfId)
NL_DLL_EXPORT INET_ERROR
Busque en la lista de interfaces de red el nombre indicado.
LwIPBindInterface (struct raw_pcb *aRaw, InterfaceId intfId)
LwIPBindInterface (struct udp_pcb *aUDP, InterfaceId intfId)
NetmaskToPrefixLength (const uint8_t *netmask, uint16_t netmaskLen)
uint8_t
Calcule la longitud de un prefijo a partir de una máscara de red de longitud variable.
ParseHostAndPort (const char *aString, uint16_t aStringLen, const char *& aHost, uint16_t & aHostLen, uint16_t & aPort)
Analice una cadena legible por humanos que contenga un host o una dirección IP y un número de puerto opcional (separados por un ':'), que admita los siguientes formatos:
ParseHostPortAndInterface (const char *aString, uint16_t aStringLen, const char *& aHost, uint16_t & aHostLen, uint16_t & aPort, const char *& aInterface, uint16_t & aInterfaceLen)
Analice una cadena legible por humanos que contiene un host o una dirección IP, un número de puerto opcional (separado por un ':') y un nombre de interfaz opcional (separado por un ''), que admita los siguientes formatos:
RegisterInetLayerErrorFormatter (void)
void
Registre un formateador de errores de texto para errores de capa Inet.
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)

Clases

nl :: :: Inet AsyncDNSResolverSockets

Esta es una clase interna para InetLayer que proporciona APIs de ayuda para la resolución asíncrono Domain Name System (DNS) en InetLayer .

nl :: :: Inet DNSResolver

Esta es una clase interna para InetLayer que proporciona la abstracción de la resolución de nombres de dominio (DNS) en InetLayer .

nl :: :: Inet EndPointBasis

Base de las clases de punto final de transporte de Internet.

nl :: :: Inet DirecciónIP

Dirección del protocolo de Internet.

nl :: :: Inet IPEndPointBasis

Los objetos de esta clase representan puntos finales de protocolo IP de los que no se pueden crear instancias.

nl :: :: Inet IPPacketInfo

Información sobre un mensaje / conexión entrante / saliente.

nl :: :: Inet IPPrefix

Prefijo de dirección de protocolo de Internet.

nl :: :: Inet InetLayer

Esto proporciona acceso a servicios de Internet, incluidos temporizadores, resolución del sistema de nombres de dominio (DNS), transporte de red TCP, transporte de red UDP y transporte de red sin procesar, para un solo subproceso.

nl :: :: Inet InetLayerBasis

Esta es la clase base de objetos de referencia-contado gestionadas por un InetLayer objeto.

nl :: :: Inet InterfaceAddressIterator

Iterador para la lista de direcciones IP de la interfaz de red del sistema.

nl :: :: Inet InterfaceIterator

Iterador para la lista de interfaces de red del sistema.

nl :: :: Inet RawEndPoint

Los objetos de esta clase representan puntos finales de red IP sin procesar.

nl :: :: Inet SocketEvents

Representa un conjunto de eventos de E / S solicitados / pendientes en un socket.

nl :: :: Inet TCPEndPoint

Los objetos de esta clase representan puntos finales de transporte TCP.

nl :: :: Inet TunEndPoint

Los objetos de esta clase representan interfaces de túnel.

nl :: :: Inet UDPEndPoint

Los objetos de esta clase representan puntos finales de transporte UDP.

Sindicatos

nl :: :: Inet PeerSockAddr

Espacios de nombres

nl :: :: Plataforma Inet

Enumeraciones

@ 7

 @7

Las definiciones de tipo de evento de la capa Inet.

Propiedades
kInetEvent_DNSResolveComplete

El evento para la finalización de la resolución de nombres DNS.

kInetEvent_RawDataReceived

El evento de recepción de datos a través de una InetLayer punto final en bruto.

kInetEvent_TCPConnectComplete

El evento para la finalización de la conexión TCP.

kInetEvent_TCPConnectionReceived

El evento para la recepción de la conexión TCP.

kInetEvent_TCPDataReceived

El evento para la recepción de datos a través de una conexión TCP.

kInetEvent_TCPDataSent

El evento para la transmisión de datos a través de una conexión TCP.

kInetEvent_TCPError

El evento de un error en una conexión TCP.

kInetEvent_TunDataReceived

El evento para la recepción de datos a través de un túnel Weave.

kInetEvent_UDPDataReceived

El evento para la recepción de datos a través de UDP.

DNSOptions

 DNSOptions

Opciones que controlan cómo se realiza la resolución de direcciones IP.

Propiedades
kDNSOption_AddrFamily_Any

Devuelve las direcciones IPv4 y / o IPv6 en el orden devuelto por el servidor de nombres.

kDNSOption_AddrFamily_IPv4Only

Devuelve solo direcciones IPv4.

kDNSOption_AddrFamily_IPv4Preferred

Devuelva las direcciones IPv4 y / o IPv6, con las direcciones IPv4 en primer lugar.

kDNSOption_AddrFamily_IPv6Only

Devuelve solo direcciones IPv6.

kDNSOption_AddrFamily_IPv6Preferred

Devuelve las direcciones IPv4 y / o IPv6, con las direcciones IPv6 en primer lugar.

kDNSOption_AddrFamily_Mask

Bits dentro de un valor entero DNSOptions que representa la familia de direcciones deseada.

kDNSOption_Flags_Mask

Bits dentro de un valor entero DNSOptions reservado para indicadores.

kDNSOption_ValidFlags

Conjunto de todos los indicadores válidos de DNSOption.

IPAddressType

 IPAddressType

Familia de direcciones de protocolo de Internet.

Los valores de la IPAddressType tipo son devueltos por el IPAddress::Type() método. Indican la dirección familiar que conlleva el uso de la dirección.

Propiedades
kIPAddressType_Any

La dirección de Internet no especificada (independientemente de la versión del protocolo)

kIPAddressType_IPv4

Protocolo de Internet versión 4.

kIPAddressType_IPv6

Protocolo de Internet versión 6.

kIPAddressType_Unknown

No utilizado.

Protocolo de IP

 IPProtocol

Los números de algunos de los protocolos de la familia IP.

Propiedades
kIPProtocol_ICMPv4

ICMPv4.

kIPProtocol_ICMPv6

ICMPv6.

IPV6MulticastGroup

 IPV6MulticastGroup

Identificadores de grupo de multidifusión de protocolo de Internet.

Valores de la IPV6MulticastGroup tipo se utilizan para llamar a la IPAddress::MakeIPv6Multicast() método. Indican identificadores de grupo distinguidos registrados por IETF con IANA.

Propiedades
kIPV6MulticastGroup_AllRouters

RFC 4291.

IPVersion

 IPVersion

La versión del protocolo IP que se está utilizando.

Propiedades
kIPVersion_4

IPv4.

kIPVersion_6

IPv6.

IPv6MulticastFlag

 IPv6MulticastFlag

Indicadores de multidifusión del protocolo de Internet v6.

Valores de la IPv6MulticastFlag tipo se utilizan para llamar a los IPAddress::MakeIPv6Multicast() métodos. Indican el tipo de dirección de multidifusión IPv6 a crear. Estos números están registrados por IETF con IANA.

Propiedades
kIPv6MulticastFlag_Prefix

La dirección de multidifusión es (1) basada en un prefijo de red.

kIPv6MulticastFlag_Transient

La dirección de multidifusión es (1) transitoria (es decir, asignada dinámicamente) en lugar de (0) bien conocida (es decir, asignada por IANA).

IPv6MulticastScope

 IPv6MulticastScope

Alcance de la dirección de multidifusión del protocolo de Internet.

Valores de la IPv6MulticastScope tipo se utilizan para llamar a la IPAddress::MakeIPv6Multicast() método. Indican el alcance enrutable del grupo de multidifusión designado por el resultado. Estos números están registrados por IETF con IANA.

Propiedades
kIPv6MulticastScope_Admin

Alcance local del reino.

kIPv6MulticastScope_Global

Alcance global.

kIPv6MulticastScope_IPv4

Alcance Realm-local ("IPv4").

kIPv6MulticastScope_Interface

Alcance local de la interfaz.

kIPv6MulticastScope_Link

Ámbito de enlace local.

kIPv6MulticastScope_Organization

Ámbito organizacional-local.

kIPv6MulticastScope_Site

Alcance local del reino.

Typedefs

InterfaceId

struct netif * InterfaceId

Indicador de interfaces de red del sistema.

La portabilidad depende de no presenciar nunca este alias. Puede ser reemplazado por una clase opaca concreta en el futuro.

Nota Bueno: el término "identificador de interfaz" también se refiere convencionalmente a los 64 bits inferiores de una dirección IPv6 en todos los documentos de estándares IETF relevantes, donde la abreviatura "IID" se usa a menudo. En este texto, el término "indicador de interfaz" se refiere a valores de este tipo de alias.

Variables

sIOCTLSocket

int sIOCTLSocket = -1

Funciones

CheckMulticastGroupArgs

INET_ERROR CheckMulticastGroupArgs(
  InterfaceId aInterfaceId,
  const IPAddress & aAddress
)

CerrarIOCTLSocket

void CloseIOCTLSocket(
  void
)

Cierre la conexión global creado por GetIOCTLSocket .

Esta función se proporciona para los casos en los que dejar el socket IOCTL global abierto se registraría como una fuga.

Nota: Esta función no está seguro para subprocesos con respecto al GetIOCTLSocket .

FormatInetLayerError

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

Dado un error de capa Inet, devuelve una cadena C terminada en NULL legible por humanos que describe el error.

Detalles
Parámetros
[in] buf
Búfer en el que se colocará la cadena de error.
[in] bufSize
Tamaño del búfer suministrado en bytes.
[in] err
El error que se describirá.
Devoluciones
true Si se escribió una cadena de descripción en el búfer proporcionado.
Devoluciones
falso Si el error proporcionado no fue un error de capa Inet.

GetIOCTLSocket

int GetIOCTLSocket(
  void
)

Devuelve un socket de propósito general global útil para invocar ciertos IOCTL de red.

Esta función es segura para subprocesos en todas las plataformas.

GetInterfaceName

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

Obtenga el nombre de una interfaz de red.

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.

Detalles
Parámetros
[in] intfId
una interfaz de red
[in] nameBuf
región de memoria para escribir el nombre de la interfaz
[in] nameBufSize
tamaño de la región denotada por nameBuf
Valores devueltos
INET_NO_ERROR
resultado exitoso, nombre de la interfaz escrito
INET_ERROR_NO_MEMORY
el nombre es demasiado grande para escribirlo en el búfer
other
otro error de sistema o plataforma

INET_IsInetEvent

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

Compruebe si System :: EventType es un tipo de evento de capa Inet válido.

Detalles
Parámetros
[in] aType
Un tipo de evento de capa de sistema de tejido.
Devoluciones
verdadero si cae dentro del rango enumerado; de lo contrario, falso.

InterfaceNameToId

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

Busque en la lista de interfaces de red el nombre indicado.

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.

Detalles
Parámetros
[in] intfName
nombre de la interfaz de red para encontrar
[out] intfId
indicador de la interfaz de red para asignar
Valores devueltos
INET_NO_ERROR
éxito, interfaz de red indicada
INET_ERROR_UNKNOWN_INTERFACE
no se encontró ninguna interfaz de red
other
otro error de sistema o plataforma

LwIPBindInterface

INET_ERROR LwIPBindInterface(
  struct raw_pcb *aRaw,
  InterfaceId intfId
)

LwIPBindInterface

INET_ERROR LwIPBindInterface(
  struct udp_pcb *aUDP,
  InterfaceId intfId
)

NetmaskToPrefixLength

uint8_t NetmaskToPrefixLength(
  const uint8_t *netmask,
  uint16_t netmaskLen
)

Calcule la longitud de un prefijo a partir de una máscara de red de longitud variable.

ParseHostAndPort

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

Analice una cadena legible por humanos que contenga un host o una dirección IP y un número de puerto opcional (separados por un ':'), que admita los siguientes formatos:

  • :
  • :
  • [ ]:

Detalles
Parámetros
[in] aString
La cadena de lectura humana para analizar.
[in] aStringLen
La longitud, en caracteres, de aString.
[out] aHost
Un puntero a la parte del nombre de host de la cadena analizada.
[out] aHostLen
La longitud, en caracteres, de un Host.
[out] aPort
El número de puerto, si está presente y se analizó correctamente; de lo contrario, 0.
Devoluciones
INET_ERROR_INVALID_HOST_NAME Si la entrada a ser analizada es de longitud cero o un formato incorrecto lo contrario.
Devoluciones
INET_ERROR_HOST_NAME_TOO_LONG Si el nombre de host supera los 253 caracteres.
Devoluciones
INET_NO_ERROR éxito On.

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
)

Analice una cadena legible por humanos que contiene un host o una dirección IP, un número de puerto opcional (separado por un ':') y un nombre de interfaz opcional (separado por un ''), que admita los siguientes formatos:

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

Detalles
Parámetros
[in] aString
La cadena de lectura humana para analizar.
[in] aStringLen
La longitud, en caracteres, de aString.
[out] aHost
Un puntero a la parte del nombre de host de la cadena analizada.
[out] aHostLen
La longitud, en caracteres, de un Anfitrión.
[out] aPort
El número de puerto, si está presente y se analizó correctamente; de lo contrario, 0.
[out] aInterface
Un puntero a la parte de la interfaz de la cadena analizada.
[out] aInterfaceLen
La longitud, en caracteres, de una interfaz.
Devoluciones
INET_ERROR_INVALID_HOST_NAME Si la entrada a ser analizada es de longitud cero o un formato incorrecto lo contrario.
Devoluciones
INET_ERROR_HOST_NAME_TOO_LONG Si el nombre de host supera los 253 caracteres.
Devoluciones
INET_NO_ERROR éxito On.

RegisterInetLayerErrorFormatter

void RegisterInetLayerErrorFormatter(
  void
)

Registre un formateador de errores de texto para errores de capa Inet.

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
)