DNSv6
Questo modulo include funzioni che controllano la comunicazione DNS.
Sommario
Le funzioni in questo modulo sono disponibili solo se la funzione OPENTHREAD_CONFIG_DNS_CLIENT_ENABLE
è abilitata.
Enumerazioni | |
---|---|
otDnsRecursionFlag { | enum Questo tipo di enumerazione rappresenta il flag "Recursion Desired" (RD) in un otDnsQueryConfig . |
Typedef | |
---|---|
otDnsAddressCallback )(otError aError, const otDnsAddressResponse *aResponse, void *aContext) | typedefvoid(* Questo puntatore a funzione viene chiamato quando viene ricevuta una risposta DNS per una query di risoluzione degli indirizzi. |
otDnsAddressResponse | typedefstruct otDnsAddressResponse Questo tipo è una rappresentazione opaca di una risposta a una query DNS di risoluzione degli indirizzi. |
otDnsBrowseCallback )(otError aError, const otDnsBrowseResponse *aResponse, void *aContext) | typedefvoid(* Questo puntatore a funzione viene chiamato quando viene ricevuta una risposta DNS per una query di esplorazione (enumerazione dell'istanza di servizio). |
otDnsBrowseResponse | typedefstruct otDnsBrowseResponse Questo tipo è una rappresentazione opaca di una risposta a una query DNS di esplorazione (enumerazione dell'istanza di servizio). |
otDnsQueryConfig | typedefstruct otDnsQueryConfig Questa struttura rappresenta una configurazione della query DNS. |
otDnsServiceCallback )(otError aError, const otDnsServiceResponse *aResponse, void *aContext) | typedefvoid(* Questo puntatore a funzione viene chiamato quando viene ricevuta una risposta DNS per una query di risoluzione dell'istanza di servizio. |
otDnsServiceInfo | typedefstruct otDnsServiceInfo Questa struttura fornisce informazioni per un'istanza del servizio DNS. |
otDnsServiceResponse | typedefstruct otDnsServiceResponse Questo tipo è una rappresentazione opaca di una risposta a una query DNS di risoluzione dell'istanza del servizio. |
Funzioni | |
---|---|
otDnsAddressResponseGetAddress (const otDnsAddressResponse *aResponse, uint16_t aIndex, otIp6Address *aAddress, uint32_t *aTtl) | Questa funzione ottiene un indirizzo IPv6 associato a una risposta DNS di risoluzione dell'indirizzo. |
otDnsAddressResponseGetHostName (const otDnsAddressResponse *aResponse, char *aNameBuffer, uint16_t aNameBufferSize) | Questa funzione ottiene il nome host completo associato a una risposta DNS di risoluzione dell'indirizzo. |
otDnsBrowseResponseGetHostAddress (const otDnsBrowseResponse *aResponse, const char *aHostName, uint16_t aIndex, otIp6Address *aAddress, uint32_t *aTtl) | Questa funzione ottiene l'indirizzo IPv6 dell'host da una risposta di esplorazione DNS (enumerazione dell'istanza di servizio). |
otDnsBrowseResponseGetServiceInfo (const otDnsBrowseResponse *aResponse, const char *aInstanceLabel, otDnsServiceInfo *aServiceInfo) | Questa funzione ottiene informazioni per un'istanza di servizio da una risposta di esplorazione DNS (enumerazione dell'istanza di servizio). |
otDnsBrowseResponseGetServiceInstance (const otDnsBrowseResponse *aResponse, uint16_t aIndex, char *aLabelBuffer, uint8_t aLabelBufferSize) | Questa funzione ottiene un'istanza di servizio associata a una risposta di esplorazione DNS (enumerazione dell'istanza di servizio). |
otDnsBrowseResponseGetServiceName (const otDnsBrowseResponse *aResponse, char *aNameBuffer, uint16_t aNameBufferSize) | Questa funzione ottiene il nome del servizio associato a una risposta di esplorazione DNS (enumerazione dell'istanza di servizio). |
otDnsClientBrowse ( otInstance *aInstance, const char *aServiceName, otDnsBrowseCallback aCallback, void *aContext, const otDnsQueryConfig *aConfig) | Questa funzione invia una query di esplorazione DNS (enumerazione dell'istanza di servizio) per un determinato nome di servizio. |
otDnsClientGetDefaultConfig ( otInstance *aInstance) | const otDnsQueryConfig * Questa funzione ottiene la configurazione della query predefinita corrente utilizzata dal client DNS. |
otDnsClientResolveAddress ( otInstance *aInstance, const char *aHostName, otDnsAddressCallback aCallback, void *aContext, const otDnsQueryConfig *aConfig) | Questa funzione invia una query DNS di risoluzione degli indirizzi per i record AAAA (IPv6) per un determinato nome host. |
otDnsClientResolveService ( otInstance *aInstance, const char *aInstanceLabel, const char *aServiceName, otDnsServiceCallback aCallback, void *aContext, const otDnsQueryConfig *aConfig) | Questa funzione invia una query di risoluzione dell'istanza del servizio DNS per una determinata istanza del servizio. |
otDnsClientSetDefaultConfig ( otInstance *aInstance, const otDnsQueryConfig *aConfig) | void Questa funzione imposta la configurazione della query predefinita sul client DNS. |
otDnsServiceResponseGetHostAddress (const otDnsServiceResponse *aResponse, const char *aHostName, uint16_t aIndex, otIp6Address *aAddress, uint32_t *aTtl) | Questa funzione ottiene l'indirizzo IPv6 dell'host da una risposta di risoluzione dell'istanza del servizio DNS. |
otDnsServiceResponseGetServiceInfo (const otDnsServiceResponse *aResponse, otDnsServiceInfo *aServiceInfo) | Questa funzione ottiene informazioni per un'istanza di servizio da una risposta di risoluzione dell'istanza di servizio DNS. |
otDnsServiceResponseGetServiceName (const otDnsServiceResponse *aResponse, char *aLabelBuffer, uint8_t aLabelBufferSize, char *aNameBuffer, uint16_t aNameBufferSize) | Questa funzione ottiene il nome dell'istanza del servizio associato a una risposta di risoluzione dell'istanza del servizio DNS. |
Structs | |
---|---|
otDnsQueryConfig | Questa struttura rappresenta una configurazione della query DNS. |
otDnsServiceInfo | Questa struttura fornisce informazioni per un'istanza del servizio DNS. |
Enumerazioni
otDnsRecursionFlag
otDnsRecursionFlag
Questo tipo di enumerazione rappresenta il flag "Recursion Desired" (RD) in un otDnsQueryConfig
.
Typedef
otDnsAddressCallback
void(* otDnsAddressCallback)(otError aError, const otDnsAddressResponse *aResponse, void *aContext)
Questo puntatore a funzione viene chiamato quando viene ricevuta una risposta DNS per una query di risoluzione degli indirizzi.
All'interno di questo callback l'utente può utilizzare le otDnsAddressResponseGet{Item}()
insieme al puntatore aResponse
per ottenere maggiori informazioni sulla risposta.
Il puntatore aResponse
può essere utilizzato solo all'interno di questo callback e dopo il ritorno da questa funzione non rimarrà valido, quindi l'utente NON DEVE conservare il puntatore aResponse
per un uso successivo.
aError
può avere quanto segue:
Dettagli | |||||||
---|---|---|---|---|---|---|---|
Parametri |
|
- OT_ERROR_NONE È stata ricevuta una risposta con successo.
- OT_ERROR_ABORT Una transazione DNS è stata interrotta dallo stack.
- OT_ERROR_RESPONSE_TIMEOUT Nessuna risposta DNS è stata ricevuta entro il timeout.
Se il server rifiuta la richiesta di risoluzione dell'indirizzo, il codice di errore dal server viene mappato come segue:
- (0) NOERROR Success (nessuna condizione di errore) -> OT_ERROR_NONE
- (1) FORMERR Server non in grado di interpretare a causa di un errore di formato -> OT_ERROR_PARSE
- (2) SERVFAIL Il server ha riscontrato un errore interno -> OT_ERROR_FAILED
- (3) NXDOMAIN Nome che dovrebbe esistere, non esiste -> OT_ERROR_NOT_FOUND
- (4) NOTIMP Server non supporta il tipo di query (OpCode) -> OT_ERROR_NOT_IMPLEMENTED
- (5) RIFIUTATO Server rifiutato per motivi di politica / sicurezza -> OT_ERROR_SECURITY
- (6) YXDOMAIN Qualche nome che non dovrebbe esistere, esiste -> OT_ERROR_DUPLICATED
- (7) YXRRSET Alcuni RRset che non dovrebbero esistere, esistono -> OT_ERROR_DUPLICATED
- (8) NXRRSET Alcuni RRset che dovrebbero esistere, non esistono -> OT_ERROR_NOT_FOUND
- (9) NOTAUTH Il servizio non è autorevole per zona -> OT_ERROR_SECURITY
- (10) NOTZONE Un nome non è nella zona -> OT_ERROR_PARSE
- (20) BADNAME Bad name -> OT_ERROR_PARSE
- (21) BADALG Algoritmo errato -> OT_ERROR_SECURITY
- (22) BADTRUN Troncamento errato -> OT_ERROR_PARSE
- Altri codici di risposta -> OT_ERROR_FAILED
otDnsAddressResponse
struct otDnsAddressResponse otDnsAddressResponse
Questo tipo è una rappresentazione opaca di una risposta a una query DNS di risoluzione degli indirizzi.
I puntatori all'istanza di questo tipo vengono forniti dal callback otDnsAddressCallback
.
otDnsBrowseCallback
void(* otDnsBrowseCallback)(otError aError, const otDnsBrowseResponse *aResponse, void *aContext)
Questo puntatore a funzione viene chiamato quando viene ricevuta una risposta DNS per una query di esplorazione (enumerazione dell'istanza di servizio).
All'interno di questo callback l'utente può utilizzare le otDnsBrowseResponseGet{Item}()
insieme al puntatore aResponse
per ottenere maggiori informazioni sulla risposta.
Il puntatore aResponse
può essere utilizzato solo all'interno di questo callback e dopo essere tornato da questa funzione non rimarrà valido, quindi l'utente NON DEVE conservare il puntatore aResponse
per un uso successivo.
Per l'elenco completo dei possibili valori per aError
, vedere otDnsAddressCallback()
.
Dettagli | |||||||
---|---|---|---|---|---|---|---|
Parametri |
|
otDnsBrowseResponse
struct otDnsBrowseResponse otDnsBrowseResponse
Questo tipo è una rappresentazione opaca di una risposta a una query DNS di esplorazione (enumerazione dell'istanza di servizio).
I puntatori all'istanza di questo tipo vengono forniti dalla richiamata otDnsBrowseCallback
.
otDnsQueryConfig
struct otDnsQueryConfig otDnsQueryConfig
Questa struttura rappresenta una configurazione della query DNS.
Qualsiasi campo in questa struttura può essere impostato su zero per indicare che non è specificato. Il modo in cui vengono trattati i campi non specificati è determinato dalla funzione che utilizza l'istanza di otDnsQueryConfig
.
otDnsServiceCallback
void(* otDnsServiceCallback)(otError aError, const otDnsServiceResponse *aResponse, void *aContext)
Questo puntatore a funzione viene chiamato quando viene ricevuta una risposta DNS per una query di risoluzione dell'istanza di servizio.
All'interno di questo callback l'utente può utilizzare le otDnsServiceResponseGet{Item}()
insieme al puntatore aResponse
per ottenere maggiori informazioni sulla risposta.
Il puntatore aResponse
può essere utilizzato solo all'interno di questo callback e dopo essere tornato da questa funzione non rimarrà valido, quindi l'utente NON DEVE conservare il puntatore aResponse
per un uso successivo.
Per l'elenco completo dei possibili valori per aError
, vedere otDnsAddressCallback()
.
Dettagli | |||||||
---|---|---|---|---|---|---|---|
Parametri |
|
otDnsServiceInfo
struct otDnsServiceInfo otDnsServiceInfo
Questa struttura fornisce informazioni per un'istanza del servizio DNS.
otDnsServiceResponse
struct otDnsServiceResponse otDnsServiceResponse
Questo tipo è una rappresentazione opaca di una risposta a una query DNS di risoluzione dell'istanza del servizio.
I puntatori all'istanza di questo tipo vengono forniti dal callback otDnsAddressCallback
.
Funzioni
otDnsAddressResponseGetAddress
otError otDnsAddressResponseGetAddress( const otDnsAddressResponse *aResponse, uint16_t aIndex, otIp6Address *aAddress, uint32_t *aTtl )
Questa funzione ottiene un indirizzo IPv6 associato a una risposta DNS di risoluzione dell'indirizzo.
Questa funzione DEVE essere utilizzata solo da otDnsAddressCallback
.
La risposta può includere più record di indirizzi IPv6. aIndex
può essere utilizzato per scorrere l'elenco di indirizzi. L'indice zero ottiene il primo indirizzo e così via. Quando raggiungiamo la fine dell'elenco, viene restituito OT_ERROR_NOT_FOUND
.
Dettagli | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parametri |
| ||||||||
Valori restituiti |
|
otDnsAddressResponseGetHostName
otError otDnsAddressResponseGetHostName( const otDnsAddressResponse *aResponse, char *aNameBuffer, uint16_t aNameBufferSize )
Questa funzione ottiene il nome host completo associato a una risposta DNS di risoluzione dell'indirizzo.
Questa funzione DEVE essere utilizzata solo da otDnsAddressCallback
.
Dettagli | |||||||
---|---|---|---|---|---|---|---|
Parametri |
| ||||||
Valori restituiti |
|
otDnsBrowseResponseGetHostAddress
otError otDnsBrowseResponseGetHostAddress( const otDnsBrowseResponse *aResponse, const char *aHostName, uint16_t aIndex, otIp6Address *aAddress, uint32_t *aTtl )
Questa funzione ottiene l'indirizzo IPv6 dell'host da una risposta di esplorazione DNS (enumerazione dell'istanza di servizio).
Questa funzione DEVE essere utilizzata solo da otDnsBrowseCallback
.
La risposta può includere zero o più record di indirizzi IPv6. aIndex
può essere utilizzato per scorrere l'elenco di indirizzi. L'indice zero ottiene il primo indirizzo e così via. Quando raggiungiamo la fine dell'elenco, viene restituito OT_ERROR_NOT_FOUND
.
Dettagli | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parametri |
| ||||||||||
Valori restituiti |
|
otDnsBrowseResponseGetServiceInfo
otError otDnsBrowseResponseGetServiceInfo( const otDnsBrowseResponse *aResponse, const char *aInstanceLabel, otDnsServiceInfo *aServiceInfo )
Questa funzione ottiene informazioni per un'istanza di servizio da una risposta di esplorazione DNS (enumerazione dell'istanza di servizio).
Questa funzione DEVE essere utilizzata solo da otDnsBrowseCallback
.
Una risposta DNS di esplorazione dovrebbe includere i record SRV, TXT e AAAA per le istanze di servizio che sono enumerate (si noti che è un requisito DOVREBBE e non DEBOLE). Questa funzione tenta di recuperare queste informazioni per una determinata istanza di servizio quando disponibile.
- Se in
aResponse
viene trovato alcun record SRV corrispondente, viene restituitoOT_ERROR_NOT_FOUND
. - Se un record SRV corrispondente viene trovato in
aResponse
,aServiceInfo
viene aggiornato e viene restituitoOT_ERROR_NONE
. - Se in
aResponse
viene trovato alcun record TXT corrispondente,mTxtDataSize
inaServiceInfo
viene impostato su zero. - Se in
aResponse
viene trovato alcun record AAAA corrispondente,mHostAddress is set to all zero or unspecified address.
-
If there are multiple AAAA records for the host name in @p aResponse,
mHostAddressis set to the first one. The other addresses can be retrieved using
otDnsBrowseResponseGetHostAddress () `.
Dettagli | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parametri |
| ||||||||
Valori restituiti |
|
otDnsBrowseResponseGetServiceInstance
otError otDnsBrowseResponseGetServiceInstance( const otDnsBrowseResponse *aResponse, uint16_t aIndex, char *aLabelBuffer, uint8_t aLabelBufferSize )
Questa funzione ottiene un'istanza di servizio associata a una risposta di esplorazione DNS (enumerazione dell'istanza di servizio).
Questa funzione DEVE essere utilizzata solo da otDnsBrowseCallback
.
La risposta può includere più record di istanze di servizio. aIndex
può essere utilizzato per scorrere l'elenco. L'indice zero fornisce il primo record. Quando raggiungiamo la fine dell'elenco, viene restituito OT_ERROR_NOT_FOUND
.
Si noti che questa funzione ottiene l'etichetta dell'istanza del servizio e non il nome completo dell'istanza del servizio che è nel formato. .
. .
Dettagli | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parametri |
| ||||||||
Valori restituiti |
|
otDnsBrowseResponseGetServiceName
otError otDnsBrowseResponseGetServiceName( const otDnsBrowseResponse *aResponse, char *aNameBuffer, uint16_t aNameBufferSize )
Questa funzione ottiene il nome del servizio associato a una risposta di esplorazione DNS (enumerazione dell'istanza di servizio).
Questa funzione DEVE essere utilizzata solo da otDnsBrowseCallback
.
Dettagli | |||||||
---|---|---|---|---|---|---|---|
Parametri |
| ||||||
Valori restituiti |
|
otDnsClientBrowse
otError otDnsClientBrowse( otInstance *aInstance, const char *aServiceName, otDnsBrowseCallback aCallback, void *aContext, const otDnsQueryConfig *aConfig )
Questa funzione invia una query di esplorazione DNS (enumerazione dell'istanza di servizio) per un determinato nome di servizio.
Questa funzione è disponibile quando OPENTHREAD_CONFIG_DNS_CLIENT_SERVICE_DISCOVERY_ENABLE
è abilitato.
aConfig
può essere NULL. In questo caso, la configurazione predefinita (da otDnsClientGetDefaultConfig()
) verrà utilizzata come configurazione per questa query. In un aConfig
diverso da NULL, alcuni campi possono essere lasciati non specificati (valore zero). I campi non specificati vengono quindi sostituiti dai valori della configurazione predefinita.
Dettagli | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parametri |
| ||||||||||
Valori restituiti |
|
otDnsClientGetDefaultConfig
const otDnsQueryConfig * otDnsClientGetDefaultConfig( otInstance *aInstance )
Questa funzione ottiene la configurazione della query predefinita corrente utilizzata dal client DNS.
All'avvio dello stack OpenThread, la configurazione della query DNS predefinita viene determinata da un insieme di opzioni di configurazione OT come OPENTHREAD_CONFIG_DNS_CLIENT_DEFAULT_SERVER_IP6_ADDRESS
, _DEFAULT_SERVER_PORT
, _DEFAULT_RESPONSE_TIMEOUT
, ecc. (Vedere le opzioni di configurazione relative a config/dns_clinet.h
).
Dettagli | |||
---|---|---|---|
Parametri |
| ||
ritorna | Un puntatore alla configurazione predefinita corrente utilizzata dal client DNS. |
otDnsClientResolveAddress
otError otDnsClientResolveAddress( otInstance *aInstance, const char *aHostName, otDnsAddressCallback aCallback, void *aContext, const otDnsQueryConfig *aConfig )
Questa funzione invia una query DNS di risoluzione degli indirizzi per i record AAAA (IPv6) per un determinato nome host.
aConfig
può essere NULL. In questo caso, la configurazione predefinita (da otDnsClientGetDefaultConfig()
) verrà utilizzata come configurazione per questa query. In un aConfig
diverso da NULL, alcuni campi possono essere lasciati non specificati (valore zero). I campi non specificati vengono quindi sostituiti dai valori della configurazione predefinita.
Dettagli | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parametri |
| ||||||||||
Valori restituiti |
|
otDnsClientResolveService
otError otDnsClientResolveService( otInstance *aInstance, const char *aInstanceLabel, const char *aServiceName, otDnsServiceCallback aCallback, void *aContext, const otDnsQueryConfig *aConfig )
Questa funzione invia una query di risoluzione dell'istanza del servizio DNS per una determinata istanza del servizio.
Questa funzione è disponibile quando OPENTHREAD_CONFIG_DNS_CLIENT_SERVICE_DISCOVERY_ENABLE
è abilitato.
aConfig
può essere NULL. In questo caso, la configurazione predefinita (da otDnsClientGetDefaultConfig()
) verrà utilizzata come configurazione per questa query. In un aConfig
diverso da NULL, alcuni campi possono essere lasciati non specificati (valore zero). I campi non specificati vengono quindi sostituiti dai valori della configurazione predefinita.
Dettagli | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parametri |
| ||||||||||||
Valori restituiti |
|
otDnsClientSetDefaultConfig
void otDnsClientSetDefaultConfig( otInstance *aInstance, const otDnsQueryConfig *aConfig )
Questa funzione imposta la configurazione della query predefinita sul client DNS.
Nota: qualsiasi query in corso continuerà a utilizzare la configurazione da quando è stata avviata. La nuova configurazione predefinita verrà utilizzata per qualsiasi futura query DNS. aConfig
può essere NULL. In questo caso, la configurazione predefinita verrà impostata sui valori predefiniti dalle opzioni di configurazione OT OPENTHREAD_CONFIG_DNS_CLIENT_DEFAULT_{}
. Ciò reimposta la configurazione della query predefinita alla configurazione all'avvio dello stack OpenThread.
In un aConfig
non NULL, il chiamante può scegliere di lasciare alcuni dei campi nell'istanza otDnsQueryConfig
non specificati (valore zero). I campi non specificati vengono sostituiti dalle definizioni delle opzioni di configurazione OT corrispondenti OPENTHREAD_CONFIG_DNS_CLIENT_DEFAULT_{}
per formare la configurazione della query predefinita.
Dettagli | |||||
---|---|---|---|---|---|
Parametri |
|
otDnsServiceResponseGetHostAddress
otError otDnsServiceResponseGetHostAddress( const otDnsServiceResponse *aResponse, const char *aHostName, uint16_t aIndex, otIp6Address *aAddress, uint32_t *aTtl )
Questa funzione ottiene l'indirizzo IPv6 dell'host da una risposta di risoluzione dell'istanza del servizio DNS.
Questa funzione DEVE essere utilizzata solo da otDnsServiceCallback
.
La risposta può includere zero o più record di indirizzi IPv6. aIndex
può essere utilizzato per scorrere l'elenco di indirizzi. L'indice zero ottiene il primo indirizzo e così via. Quando raggiungiamo la fine dell'elenco, viene restituito OT_ERROR_NOT_FOUND
.
Dettagli | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parametri |
| ||||||||||
Valori restituiti |
|
otDnsServiceResponseGetServiceInfo
otError otDnsServiceResponseGetServiceInfo( const otDnsServiceResponse *aResponse, otDnsServiceInfo *aServiceInfo )
Questa funzione ottiene informazioni per un'istanza di servizio da una risposta di risoluzione dell'istanza di servizio DNS.
Questa funzione DEVE essere utilizzata solo da otDnsServiceCallback
.
- Se in
aResponse
viene trovato alcun record SRV corrispondente, viene restituitoOT_ERROR_NOT_FOUND
. - Se un record SRV corrispondente viene trovato in
aResponse
,aServiceInfo
viene aggiornato e viene restituitoOT_ERROR_NONE
. - Se in
aResponse
viene trovato alcun record TXT corrispondente,mTxtDataSize
inaServiceInfo
viene impostato su zero. - Se in
aResponse
viene trovato alcun record AAAA corrispondente,mHostAddress is set to all zero or unspecified address.
-
If there are multiple AAAA records for the host name in @p aResponse,
mHostAddressis set to the first one. The other addresses can be retrieved using
otDnsServiceResponseGetHostAddress () `.
Dettagli | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parametri |
| ||||||||
Valori restituiti |
|
otDnsServiceResponseGetServiceName
otError otDnsServiceResponseGetServiceName( const otDnsServiceResponse *aResponse, char *aLabelBuffer, uint8_t aLabelBufferSize, char *aNameBuffer, uint16_t aNameBufferSize )
Questa funzione ottiene il nome dell'istanza del servizio associato a una risposta di risoluzione dell'istanza del servizio DNS.
Questa funzione DEVE essere utilizzata solo da otDnsServiceCallback
.
Dettagli | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parametri |
| ||||||||||
Valori restituiti |
|