nl:: Inet
Riepilogo
Typedef |
|
---|---|
InterfaceId
|
typedefstruct netif *
Indicatore delle interfacce di rete del sistema. |
Variabili |
|
---|---|
sIOCTLSocket = -1
|
int
|
Funzioni |
|
---|---|
CheckMulticastGroupArgs(InterfaceId aInterfaceId, const IPAddress & aAddress)
|
|
CloseIOCTLSocket(void)
|
void
Chiudi il socket globale creato da
GetIOCTLSocket . |
FormatInetLayerError(char *buf, uint16_t bufSize, int32_t err)
|
bool
Dato un errore di livello Inet, restituisce una stringa C con terminazione NULL leggibile che descrive l'errore.
|
GetIOCTLSocket(void)
|
int
Restituisce un socket globale per uso generico utile per richiamare determinati IOCTL di rete.
|
GetInterfaceName(InterfaceId intfId, char *nameBuf, size_t nameBufSize)
|
NL_DLL_EXPORT INET_ERROR
Ottieni il nome di un'interfaccia di rete.
|
INET_IsInetEvent(Weave::System::EventType aType)
|
bool
Controlla se System::EventType è un tipo di evento di livello Inet valido.
|
InterfaceNameToId(const char *intfName, InterfaceId & intfId)
|
NL_DLL_EXPORT INET_ERROR
Cerca nell'elenco di interfacce di rete il nome indicato.
|
LwIPBindInterface(struct raw_pcb *aRaw, InterfaceId intfId)
|
|
LwIPBindInterface(struct udp_pcb *aUDP, InterfaceId intfId)
|
|
NetmaskToPrefixLength(const uint8_t *netmask, uint16_t netmaskLen)
|
uint8_t
Calcola la lunghezza di un prefisso utilizzando una netmask a lunghezza variabile.
|
ParseHostAndPort(const char *aString, uint16_t aStringLen, const char *& aHost, uint16_t & aHostLen, uint16_t & aPort)
|
Analizza una stringa leggibile contenente un indirizzo host o IP e un numero di porta facoltativo (separato da ":"), in modo da supportare i seguenti formati:
|
ParseHostPortAndInterface(const char *aString, uint16_t aStringLen, const char *& aHost, uint16_t & aHostLen, uint16_t & aPort, const char *& aInterface, uint16_t & aInterfaceLen)
|
Analizza una stringa leggibile contenente un host o un indirizzo IP, un numero di porta facoltativo (separato da un ":") e un nome di interfaccia facoltativo (separato da un "'") in grado di supportare i seguenti formati:
|
RegisterInetLayerErrorFormatter(void)
|
void
Registra un formattatore degli errori di testo per errori del livello 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)
|
Corsi |
|
---|---|
nl:: |
Si tratta di una classe interna a InetLayer che fornisce API helper per la risoluzione DNS (Async Domain Name System) in InetLayer. |
nl:: |
Si tratta di una classe interna a InetLayer che fornisce l'astrazione della risoluzione DNS (Domain Name System) in InetLayer. |
nl:: |
Base per le classi di endpoint di trasporto internet. |
nl:: |
Indirizzo IP. |
nl:: |
Gli oggetti di questa classe rappresentano endpoint del protocollo IP non instabili. |
nl:: |
Informazioni su un messaggio/connessione in entrata/uscita. |
nl:: |
Prefisso dell'indirizzo del protocollo internet. |
nl:: |
Ciò consente di accedere ai servizi internet, inclusi timer, risoluzione DNS (Domain Name System), trasporto di rete TCP, trasporto di rete UDP e trasporto di rete non elaborato, per un singolo thread. |
nl:: |
Si tratta della classe base degli oggetti conteggiati nei riferimenti gestiti da un oggetto InetLayer. |
nl:: |
Iteratore per l'elenco degli indirizzi IP delle interfacce di rete del sistema. |
nl:: |
Iteratore per l'elenco delle interfacce di rete del sistema. |
nl:: |
Gli oggetti di questa classe rappresentano endpoint di rete IP non elaborati. |
nl:: |
Rappresentano un insieme di eventi di I/O richiesti/in attesa su un socket. |
nl:: |
Gli oggetti di questa classe rappresentano gli endpoint di trasporto TCP. |
nl:: |
Gli oggetti di questa classe rappresentano le interfacce dei tunnel. |
nl:: |
Gli oggetti di questa classe rappresentano gli endpoint di trasporto UDP. |
Unione |
|
---|---|
nl:: |
Spazi dei nomi |
|
---|---|
nl:: |
Enumerazioni
@7
@7
Definizioni dei tipi di evento del livello Inet.
Proprietà | |
---|---|
kInetEvent_DNSResolveComplete
|
L'evento per il completamento della risoluzione dei nomi DNS. |
kInetEvent_RawDataReceived
|
L'evento per la ricezione dei dati su un endpoint non elaborato InetLayer. |
kInetEvent_TCPConnectComplete
|
L'evento per il completamento della connessione TCP. |
kInetEvent_TCPConnectionReceived
|
L'evento per la ricezione della connessione TCP. |
kInetEvent_TCPDataReceived
|
L'evento per la ricezione dei dati su una connessione TCP. |
kInetEvent_TCPDataSent
|
L'evento per la trasmissione di dati su una connessione TCP. |
kInetEvent_TCPError
|
Evento per un errore su una connessione TCP. |
kInetEvent_TunDataReceived
|
L'evento per la ricezione dei dati su un tunnel Weave. |
kInetEvent_UDPDataReceived
|
L'evento per la ricezione dei dati su UDP. |
DNSOptions
DNSOptions
Opzioni che controllano il modo in cui viene eseguita la risoluzione dell'indirizzo IP.
Proprietà | |
---|---|
kDNSOption_AddrFamily_Any
|
Restituisci gli indirizzi IPv4 e/o IPv6 nell'ordine restituito dal server dei nomi. |
kDNSOption_AddrFamily_IPv4Only
|
Restituisci solo indirizzi IPv4. |
kDNSOption_AddrFamily_IPv4Preferred
|
Restituisci gli indirizzi IPv4 e/o IPv6, con gli indirizzi IPv4 elencati per primi. |
kDNSOption_AddrFamily_IPv6Only
|
Restituisci solo indirizzi IPv6. |
kDNSOption_AddrFamily_IPv6Preferred
|
Restituisci gli indirizzi IPv4 e/o IPv6, con gli indirizzi IPv6 elencati per primi. |
kDNSOption_AddrFamily_Mask
|
Bit all'interno di un valore intero DNSOptions che rappresenta la famiglia di indirizzi desiderata. |
kDNSOption_Flags_Mask
|
Bit all'interno di un valore intero DNSOptions riservato per i flag. |
kDNSOption_ValidFlags
|
Set di tutti i flag DNSOption validi. |
IPAddressType
IPAddressType
Famiglia di indirizzi IP.
I valori del tipo IPAddressType
vengono restituiti dal metodo IPAddress::Type()
. Indicano la famiglia di indirizzi prevista dall'utilizzo dell'indirizzo.
Proprietà | |
---|---|
kIPAddressType_Any
|
Indirizzo internet non specificato (indipendentemente dalla versione del protocollo) |
kIPAddressType_IPv4
|
Protocollo internet versione 4. |
kIPAddressType_IPv6
|
Protocollo internet versione 6. |
kIPAddressType_Unknown
|
Non utilizzato. |
IPProtocol
IPProtocol
I numeri di alcuni protocolli della famiglia IP.
Proprietà | |
---|---|
kIPProtocol_ICMPv4
|
ICMPv4. |
kIPProtocol_ICMPv6
|
ICMPv6. |
IPV6MulticastGroup
IPV6MulticastGroup
Identificatori di gruppi multicast con protocollo internet.
I valori del tipo IPV6MulticastGroup
vengono utilizzati per chiamare il metodo IPAddress::MakeIPv6Multicast()
. Indicano identificatori di gruppi distinti registrati da IETF con IANA.
Proprietà | |
---|---|
kIPV6MulticastGroup_AllRouters
|
RFC 4291. |
IPVersion
IPVersion
La versione del protocollo IP in uso.
Proprietà | |
---|---|
kIPVersion_4
|
IPv4. |
kIPVersion_6
|
IPv6. |
IPv6MulticastFlag
IPv6MulticastFlag
Flag multicast del protocollo internet v6.
I valori del tipo IPv6MulticastFlag
vengono utilizzati per chiamare i metodi IPAddress::MakeIPv6Multicast()
. Indicano il tipo di indirizzo multicast IPv6 da creare. Questi numeri sono registrati dalla IETF con IANA.
Proprietà | |
---|---|
kIPv6MulticastFlag_Prefix
|
L'indirizzo multicast è (1) e si basa su un prefisso di rete. |
kIPv6MulticastFlag_Transient
|
L'indirizzo multicast è (1) temporaneo (assegnato dinamicamente) anziché (0) noto (assegnato da IANA). |
IPv6MulticastScope
IPv6MulticastScope
Ambito dell'indirizzo multicast del protocollo internet.
I valori del tipo IPv6MulticastScope
vengono utilizzati per chiamare il metodo IPAddress::MakeIPv6Multicast()
. Indicano l'ambito instradabile del gruppo multicast indicato dal risultato. Questi numeri sono registrati dalla IETF con IANA.
Proprietà | |
---|---|
kIPv6MulticastScope_Admin
|
Ambito locale dell'area di autenticazione. |
kIPv6MulticastScope_Global
|
Ambito globale. |
kIPv6MulticastScope_IPv4
|
Ambito Realm-local ("IPv4"). |
kIPv6MulticastScope_Interface
|
Ambito locale dell'interfaccia. |
kIPv6MulticastScope_Link
|
Ambito locale rispetto al collegamento. |
kIPv6MulticastScope_Organization
|
Ambito locale dell'organizzazione. |
kIPv6MulticastScope_Site
|
Ambito locale dell'area di autenticazione. |
Typedef
InterfaceId
struct netif * InterfaceId
Indicatore delle interfacce di rete del sistema.
La portabilità dipende dalla possibilità di non rilevare mai questo alias. In futuro potrebbe essere sostituita da una classe opaca concreta.
Nota bene: Il termine "identificatore di interfaccia" si riferisce anche convenzionalmente ai 64 bit inferiori di un indirizzo IPv6 in tutti i documenti relativi agli standard IETF, dove l'abbreviazione "IID" è spesso utilizzata. In questo testo, il termine "indicatore di interfaccia" si riferisce ai valori di questo tipo di alias.
Variabili
sIOCTLSocket
int sIOCTLSocket = -1
Funzioni
CheckMulticastGroupArgs
INET_ERROR CheckMulticastGroupArgs( InterfaceId aInterfaceId, const IPAddress & aAddress )
CloseIOCTLSocket
void CloseIOCTLSocket( void )
Chiudi il socket globale creato da GetIOCTLSocket
.
Questa funzione viene fornita per i casi in cui, lasciando aperto il socket IOCTL globale, verrebbero registrati come perdite.
Nota: questa funzione NON è thread-safe in relazione a GetIOCTLSocket
.
FormatInetLayerError
bool FormatInetLayerError( char *buf, uint16_t bufSize, int32_t err )
Dato un errore di livello Inet, restituisce una stringa C con terminazione NULL leggibile che descrive l'errore.
Dettagli | |||||||
---|---|---|---|---|---|---|---|
Parametri |
|
||||||
Restituisce |
true Se nel buffer fornito è stata scritta una stringa di descrizione.
|
||||||
Restituisce |
false Se l'errore fornito non è un errore di livello Inet.
|
GetIOCTLSocket
int GetIOCTLSocket( void )
Restituisce un socket globale per uso generico utile per richiamare determinati IOCTL di rete.
Questa funzione è a prova di thread su tutte le piattaforme.
GetInterfaceName
NL_DLL_EXPORT INET_ERROR GetInterfaceName( InterfaceId intfId, char *nameBuf, size_t nameBufSize )
Ottieni il nome di un'interfaccia di rete.
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.
Dettagli | |||||||
---|---|---|---|---|---|---|---|
Parametri |
|
||||||
Valori restituiti |
|
INET_IsInetEvent
bool INET_IsInetEvent( Weave::System::EventType aType )
Controlla se System::EventType è un tipo di evento di livello Inet valido.
Dettagli | |||
---|---|---|---|
Parametri |
|
||
Restituisce |
true se rientra nell'intervallo enumerato; in caso contrario, false.
|
InterfaceNameToId
NL_DLL_EXPORT INET_ERROR InterfaceNameToId( const char *intfName, InterfaceId & intfId )
Cerca nell'elenco di interfacce di rete il nome indicato.
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.
Dettagli | |||||||
---|---|---|---|---|---|---|---|
Parametri |
|
||||||
Valori restituiti |
|
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 )
Calcola la lunghezza di un prefisso utilizzando una netmask a lunghezza variabile.
ParseHostAndPort
INET_ERROR ParseHostAndPort( const char *aString, uint16_t aStringLen, const char *& aHost, uint16_t & aHostLen, uint16_t & aPort )
Analizza una stringa leggibile contenente un indirizzo host o IP e un numero di porta facoltativo (separato da ":"), in modo da supportare i seguenti formati:
: : - [
]:
Dettagli | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parametri |
|
||||||||||
Restituisce |
INET_ERROR_INVALID_HOST_NAME Se l'input da analizzare ha una lunghezza pari a zero o non è valido in altro modo.
|
||||||||||
Restituisce |
INET_ERROR_HOST_NAME_TOO_LONG Se il nome host supera i 253 caratteri.
|
||||||||||
Restituisce |
INET_NO_ERROR Se l'operazione va a buon fine.
|
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 )
Analizza una stringa leggibile contenente un host o un indirizzo IP, un numero di porta facoltativo (separato da un ":") e un nome di interfaccia facoltativo (separato da un "'") in grado di supportare i seguenti formati:
% : : % % : : % % - [
]: - [
]: %
Dettagli | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parametri |
|
||||||||||||||
Restituisce |
INET_ERROR_INVALID_HOST_NAME Se l'input da analizzare ha una lunghezza pari a zero o non è valido in altro modo.
|
||||||||||||||
Restituisce |
INET_ERROR_HOST_NAME_TOO_LONG Se il nome host supera i 253 caratteri.
|
||||||||||||||
Restituisce |
INET_NO_ERROR Se l'operazione va a buon fine.
|
RegisterInetLayerErrorFormatter
void RegisterInetLayerErrorFormatter( void )
Registra un formattatore degli errori di testo per errori del livello 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 )