SRP
Questo modulo include funzioni che controllano il comportamento del client SRP.
Riepilogo
Questo modulo include funzioni del protocollo di registrazione dei servizi.
Questo modulo include funzioni per i buffer client e il pool di servizi SRP.
Le funzioni in questo modulo sono disponibili solo quando la funzionalità OPENThread_CONFIG_SRP_CLIENT_BUFFERS_ENABLE è abilitata.
Enumerazioni |
|
---|---|
anonymous enum{
|
enum |
anonymous enum{
|
enum |
otSrpClientItemState{
|
enum Questa enumerazione specifica lo stato di un elemento client SRP (informazioni sul servizio o sull'host). |
otSrpServerAddressMode{
|
enum Questa enumerazione rappresenta la modalità dell'indirizzo utilizzata dal server SRP. |
otSrpServerState{
|
enum Questa enumerazione rappresenta lo stato del server SRP. |
Defin |
|
---|---|
otSrpClientAutoStartCallback)(const otSockAddr *aServerSockAddr, void *aContext)
|
Typedefvoid(*
Questo tipo di puntatore di funzione definisce il callback utilizzato dal client SRP per inviare una notifica all'utente quando viene avviato o arrestato automaticamente. |
otSrpClientBuffersServiceEntry
|
Typedef Questa struttura rappresenta una voce del pool di servizi del client SRP. |
otSrpClientCallback)(otError aError, const otSrpClientHostInfo *aHostInfo, const otSrpClientService *aServices, const otSrpClientService *aRemovedServices, void *aContext)
|
Typedefvoid(*
Questo tipo di puntatore della funzione definisce il callback utilizzato dal client SRP per avvisare l'utente di modifiche/eventi/errori. |
otSrpClientHostInfo
|
Typedefstruct otSrpClientHostInfo
Questa struttura rappresenta le informazioni di un host client SRP. |
otSrpClientService
|
Typedefstruct otSrpClientService
Questa struttura rappresenta un servizio client SRP. |
otSrpServerAddressMode
|
Typedef Questa enumerazione rappresenta la modalità dell'indirizzo utilizzata dal server SRP. |
otSrpServerHost
|
Typedefstruct otSrpServerHost
Questo tipo opaco rappresenta un host di servizio SRP. |
otSrpServerLeaseConfig
|
Typedefstruct otSrpServerLeaseConfig
Questa struttura include le configurazioni LEASE e server KEY-LEASE del server SRP. |
otSrpServerLeaseInfo
|
Typedefstruct otSrpServerLeaseInfo
Questa struttura include le informazioni di lease del server SRP di un host/servizio. |
otSrpServerResponseCounters
|
Typedefstruct otSrpServerResponseCounters
Questa struttura include le statistiche delle risposte del server SRP. |
otSrpServerService
|
Typedefstruct otSrpServerService
Questo tipo opaco rappresenta un servizio SRP. |
otSrpServerServiceFlags
|
Typedefuint8_t
Il tipo di flag di servizio che indica quali servizi includere o escludere durante la ricerca (o l'iterazione) nell'elenco dei servizi SRP. |
otSrpServerServiceUpdateHandler)(otSrpServerServiceUpdateId aId, const otSrpServerHost *aHost, uint32_t aTimeout, void *aContext)
|
Typedefvoid(*
Questa funzione gestisce gli aggiornamenti del servizio SRP. |
otSrpServerServiceUpdateId
|
Typedefuint32_t
L'ID di una transazione di aggiornamento del servizio SRP sul server SRP. |
otSrpServerTtlConfig
|
Typedefstruct otSrpServerTtlConfig
Questa struttura include le configurazioni TTL del server SRP. |
Functions |
|
---|---|
otSrpClientAddService(otInstance *aInstance, otSrpClientService *aService)
|
Questa funzione aggiunge un servizio da registrare nel server.
|
otSrpClientBuffersAllocateService(otInstance *aInstance)
|
Questa funzione alloca una nuova voce di servizio dal pool.
|
otSrpClientBuffersFreeAllServices(otInstance *aInstance)
|
void
Questa funzione libera tutte le voci di servizio assegnate in precedenza.
|
otSrpClientBuffersFreeService(otInstance *aInstance, otSrpClientBuffersServiceEntry *aService)
|
void
Questa funzione libera una voce di servizio allocata in precedenza.
|
otSrpClientBuffersGetHostAddressesArray(otInstance *aInstance, uint8_t *aArrayLength)
|
Questa funzione riceve l'array di voci IPv6 da utilizzare come elenco di indirizzi host client SRP.
|
otSrpClientBuffersGetHostNameString(otInstance *aInstance, uint16_t *aSize)
|
char *
Questa funzione recupera il buffer di stringa da utilizzare per il nome host del client SRP.
|
otSrpClientBuffersGetServiceEntryInstanceNameString(otSrpClientBuffersServiceEntry *aEntry, uint16_t *aSize)
|
char *
Questa funzione ottiene il buffer di stringa per il nome dell'istanza del servizio da una voce di servizio.
|
otSrpClientBuffersGetServiceEntryServiceNameString(otSrpClientBuffersServiceEntry *aEntry, uint16_t *aSize)
|
char *
Questa funzione recupera il buffer di stringa per il nome del servizio da una voce di servizio.
|
otSrpClientBuffersGetServiceEntryTxtBuffer(otSrpClientBuffersServiceEntry *aEntry, uint16_t *aSize)
|
uint8_t *
Questa funzione recupera il buffer per il record TXT da una voce di servizio.
|
otSrpClientBuffersGetSubTypeLabelsArray(otSrpClientBuffersServiceEntry *aEntry, uint16_t *aArrayLength)
|
const char **
Questa funzione recupera l'array per le etichette del sottotipo di servizio dalla voce del servizio.
|
otSrpClientClearHostAndServices(otInstance *aInstance)
|
void
Questa funzione cancella tutte le informazioni sull'host e tutti i servizi.
|
otSrpClientClearService(otInstance *aInstance, otSrpClientService *aService)
|
Questa funzione cancella un servizio, rimuovendolo immediatamente dall'elenco dei servizi client.
|
otSrpClientDisableAutoStartMode(otInstance *aInstance)
|
void
Questa funzione disattiva la modalità di avvio automatico.
|
otSrpClientEnableAutoHostAddress(otInstance *aInstance)
|
Questa funzione attiva la modalità indirizzo host automatico.
|
otSrpClientEnableAutoStartMode(otInstance *aInstance, otSrpClientAutoStartCallback aCallback, void *aContext)
|
void
Questa funzione attiva la modalità di avvio automatico.
|
otSrpClientGetDomainName(otInstance *aInstance)
|
const char *
Questa funzione ottiene il nome di dominio utilizzato dal client SRP.
|
otSrpClientGetHostInfo(otInstance *aInstance)
|
const otSrpClientHostInfo *
Questa funzione riceve le informazioni dell'host.
|
otSrpClientGetKeyLeaseInterval(otInstance *aInstance)
|
uint32_t
Questa funzione riceve l'intervallo di lease della chiave predefinito utilizzato nelle richieste di aggiornamento SRP.
|
otSrpClientGetLeaseInterval(otInstance *aInstance)
|
uint32_t
Questa funzione riceve l'intervallo di lease predefinito utilizzato nelle richieste di aggiornamento SRP.
|
otSrpClientGetServerAddress(otInstance *aInstance)
|
const otSockAddr *
Questa funzione recupera l'indirizzo socket (indirizzo IPv6 e numero di porta) del server SRP utilizzato dal client SRP.
|
otSrpClientGetServices(otInstance *aInstance)
|
const otSrpClientService *
Questa funzione ottiene l'elenco dei servizi gestiti dal client.
|
otSrpClientGetTtl(otInstance *aInstance)
|
uint32_t
Questa funzione riceve il valore TTL in ogni record incluso nelle richieste di aggiornamento SRP.
|
otSrpClientIsAutoStartModeEnabled(otInstance *aInstance)
|
bool
Questa funzione indica lo stato corrente della modalità di avvio automatico (attivata o disabilitata).
|
otSrpClientIsRunning(otInstance *aInstance)
|
bool
Questa funzione indica se il client SRP è in esecuzione o meno.
|
otSrpClientIsServiceKeyRecordEnabled(otInstance *aInstance)
|
bool
Questo metodo indica se la modalità "Inclusione dei record della chiave di servizio" è abilitata o disabilitata.
|
otSrpClientItemStateToString(otSrpClientItemState aItemState)
|
const char *
Questa funzione converte un
otSrpClientItemState in una stringa. |
otSrpClientRemoveHostAndServices(otInstance *aInstance, bool aRemoveKeyLease, bool aSendUnregToServer)
|
Questa funzione avvia il processo di rimozione delle informazioni host e di tutti i servizi.
|
otSrpClientRemoveService(otInstance *aInstance, otSrpClientService *aService)
|
Questa funzione richiede che un servizio venga annullato per la registrazione sul server.
|
otSrpClientSetCallback(otInstance *aInstance, otSrpClientCallback aCallback, void *aContext)
|
void
Questa funzione imposta il callback per inviare una notifica al chiamante per gli eventi o le modifiche dal client SRP.
|
otSrpClientSetDomainName(otInstance *aInstance, const char *aName)
|
Questa funzione imposta il nome di dominio che deve essere utilizzato dal client SRP.
|
otSrpClientSetHostAddresses(otInstance *aInstance, const otIp6Address *aIp6Addresses, uint8_t aNumAddresses)
|
Questa funzione imposta/aggiorna l'elenco degli indirizzi IPv6 dell'host.
|
otSrpClientSetHostName(otInstance *aInstance, const char *aName)
|
Questa funzione imposta l'etichetta del nome host.
|
otSrpClientSetKeyLeaseInterval(otInstance *aInstance, uint32_t aInterval)
|
void
Questa funzione imposta l'intervallo di lease della chiave predefinito utilizzato nelle richieste di aggiornamento SRP.
|
otSrpClientSetLeaseInterval(otInstance *aInstance, uint32_t aInterval)
|
void
Questa funzione imposta l'intervallo di lease predefinito utilizzato nelle richieste di aggiornamento SRP.
|
otSrpClientSetServiceKeyRecordEnabled(otInstance *aInstance, bool aEnabled)
|
void
Questa funzione abilita/disabilita "Modalità di inclusione del record dei tasti di servizio".
|
otSrpClientSetTtl(otInstance *aInstance, uint32_t aTtl)
|
void
Questa funzione imposta il valore TTL in ogni record incluso nelle richieste di aggiornamento SRP.
|
otSrpClientStart(otInstance *aInstance, const otSockAddr *aServerSockAddr)
|
Questa funzione avvia l'operazione client SRP.
|
otSrpClientStop(otInstance *aInstance)
|
void
Questa funzione interrompe l'operazione del client SRP.
|
otSrpServerGetAddressMode(otInstance *aInstance)
|
Questa funzione restituisce la modalità indirizzo utilizzata dal server SRP.
|
otSrpServerGetAnycastModeSequenceNumber(otInstance *aInstance)
|
uint8_t
Questa funzione restituisce il numero di sequenza utilizzato con la modalità indirizzo anycast.
|
otSrpServerGetDomain(otInstance *aInstance)
|
const char *
Questa funzione restituisce il dominio autorizzato al server SRP.
|
otSrpServerGetLeaseConfig(otInstance *aInstance, otSrpServerLeaseConfig *aLeaseConfig)
|
void
Questa funzione restituisce le configurazioni LEASE e KEY-LEASE del server SRP.
|
otSrpServerGetNextHost(otInstance *aInstance, const otSrpServerHost *aHost)
|
const otSrpServerHost *
Questa funzione restituisce l'host registrato successivo sul server SRP.
|
otSrpServerGetPort(otInstance *aInstance)
|
uint16_t
Questa funzione restituisce la porta che il server SRP sta ascoltando.
|
otSrpServerGetResponseCounters(otInstance *aInstance)
|
const otSrpServerResponseCounters *
Questa funzione restituisce i contatori della risposta del server SRP.
|
otSrpServerGetState(otInstance *aInstance)
|
Questa funzione restituisce lo stato del server SRP.
|
otSrpServerGetTtlConfig(otInstance *aInstance, otSrpServerTtlConfig *aTtlConfig)
|
void
Questa funzione restituisce la configurazione TTL del server SRP.
|
otSrpServerHandleServiceUpdateResult(otInstance *aInstance, otSrpServerServiceUpdateId aId, otError aError)
|
void
Questa funzione segnala il risultato dell'elaborazione di un aggiornamento SRP nel server SRP.
|
otSrpServerHostFindNextService(const otSrpServerHost *aHost, const otSrpServerService *aPrevService, otSrpServerServiceFlags aFlags, const char *aServiceName, const char *aInstanceName)
|
const otSrpServerService *
Questa funzione trova il servizio successivo corrispondente nell'host.
|
otSrpServerHostGetAddresses(const otSrpServerHost *aHost, uint8_t *aAddressesNum)
|
const otIp6Address *
Questa funzione restituisce gli indirizzi di un determinato host.
|
otSrpServerHostGetFullName(const otSrpServerHost *aHost)
|
const char *
Questa funzione restituisce il nome completo dell'host.
|
otSrpServerHostGetLeaseInfo(const otSrpServerHost *aHost, otSrpServerLeaseInfo *aLeaseInfo)
|
void
Questa funzione restituisce le informazioni LEASE e KEY-LEASE relative a un determinato host.
|
otSrpServerHostGetNextService(const otSrpServerHost *aHost, const otSrpServerService *aService)
|
const otSrpServerService *
Questa funzione restituisce il servizio successivo (esclusi i servizi di sottotipo) di un determinato host.
|
otSrpServerHostIsDeleted(const otSrpServerHost *aHost)
|
bool
Questa funzione indica se l'host del servizio SRP è stato eliminato.
|
otSrpServerIsAutoEnableMode(otInstance *aInstance)
|
bool
Questa funzione indica se la modalità di attivazione automatica è attivata o disattivata.
|
otSrpServerServiceGetFullName(const otSrpServerService *aService)
|
const char *
Questa funzione restituisce il nome completo dell'istanza del servizio.
|
otSrpServerServiceGetHost(const otSrpServerService *aService)
|
const otSrpServerHost *
Questa funzione restituisce l'host su cui si trova l'istanza di servizio.
|
otSrpServerServiceGetInstanceName(const otSrpServerService *aService)
|
const char *
Questa funzione restituisce il nome completo dell'istanza del servizio.
|
otSrpServerServiceGetLeaseInfo(const otSrpServerService *aService, otSrpServerLeaseInfo *aLeaseInfo)
|
void
Questa funzione restituisce le informazioni LEASE e KEY-LEASE relative a un determinato servizio.
|
otSrpServerServiceGetPort(const otSrpServerService *aService)
|
uint16_t
Questa funzione restituisce la porta dell'istanza di servizio.
|
otSrpServerServiceGetPriority(const otSrpServerService *aService)
|
uint16_t
Questa funzione restituisce la priorità dell'istanza di servizio.
|
otSrpServerServiceGetServiceName(const otSrpServerService *aService)
|
const char *
Questa funzione restituisce il nome completo del servizio.
|
otSrpServerServiceGetServiceSubTypeLabel(const otSrpServerService *aService, char *aLabel, uint8_t aMaxSize)
|
Questa funzione riceve l'etichetta di sottotipo dal nome del servizio.
|
otSrpServerServiceGetTtl(const otSrpServerService *aService)
|
uint32_t
Questa funzione restituisce il TTL dell'istanza di servizio.
|
otSrpServerServiceGetTxtData(const otSrpServerService *aService, uint16_t *aDataLength)
|
const uint8_t *
Questa funzione restituisce i dati del record TXT dell'istanza del servizio.
|
otSrpServerServiceGetWeight(const otSrpServerService *aService)
|
uint16_t
Questa funzione restituisce la ponderazione dell'istanza di servizio.
|
otSrpServerServiceIsDeleted(const otSrpServerService *aService)
|
bool
Questa funzione indica se il servizio SRP è stato eliminato o meno.
|
otSrpServerServiceIsSubType(const otSrpServerService *aService)
|
bool
Questa funzione indica se il servizio SRP è o meno di sottotipo.
|
otSrpServerSetAddressMode(otInstance *aInstance, otSrpServerAddressMode aMode)
|
Questa funzione imposta la modalità indirizzo che deve essere utilizzata dal server SRP.
|
otSrpServerSetAnycastModeSequenceNumber(otInstance *aInstance, uint8_t aSequenceNumber)
|
Questa funzione imposta il numero di sequenza utilizzato con la modalità indirizzo anycast.
|
otSrpServerSetAutoEnableMode(otInstance *aInstance, bool aEnabled)
|
void
Questa funzione abilita/disabilita la modalità di abilitazione automatica sul server SRP.
|
otSrpServerSetDomain(otInstance *aInstance, const char *aDomain)
|
Questa funzione imposta il dominio sul server SRP.
|
otSrpServerSetEnabled(otInstance *aInstance, bool aEnabled)
|
void
Questa funzione abilita/disabilita il server SRP.
|
otSrpServerSetLeaseConfig(otInstance *aInstance, const otSrpServerLeaseConfig *aLeaseConfig)
|
Questa funzione imposta le configurazioni LEASE e KEY-LEASE del server SRP.
|
otSrpServerSetServiceUpdateHandler(otInstance *aInstance, otSrpServerServiceUpdateHandler aServiceHandler, void *aContext)
|
void
Questa funzione imposta il gestore degli aggiornamenti del servizio SRP sul server SRP.
|
otSrpServerSetTtlConfig(otInstance *aInstance, const otSrpServerTtlConfig *aTtlConfig)
|
Questa funzione imposta la configurazione TTL del server SRP.
|
Struttura |
|
---|---|
otSrpClientBuffersServiceEntry |
Questa struttura rappresenta una voce del pool di servizi del client SRP. |
OtSrpClientHostInfo |
Questa struttura rappresenta le informazioni di un host client SRP. |
otSrpClientService |
Questa struttura rappresenta un servizio client SRP. |
OtSrpServerLeaseConfig |
Questa struttura include le configurazioni LEASE e server KEY-LEASE del server SRP. |
OtSrpServerLeaseInfo |
Questa struttura include le informazioni di lease del server SRP di un host/servizio. |
otSrpServerResponseCounters |
Questa struttura include le statistiche delle risposte del server SRP. |
otSrpServerTtlConfig |
Questa struttura include le configurazioni TTL del server SRP. |
Enumerazioni
enumerazione anonima
anonymous enum
Proprietà | |
---|---|
OT_SRP_SERVER_SERVICE_FLAG_ACTIVE
|
Includere i servizi attivi (non eliminati). |
OT_SRP_SERVER_SERVICE_FLAG_BASE_TYPE
|
Includere i servizi di base (non un sottotipo). |
OT_SRP_SERVER_SERVICE_FLAG_DELETED
|
Includere i servizi eliminati. |
OT_SRP_SERVER_SERVICE_FLAG_SUB_TYPE
|
Include servizi di sottotipo. |
enumerazione anonima
anonymous enum
Proprietà | |
---|---|
OT_SRP_SERVER_FLAGS_ANY_SERVICE
|
Questa costante definisce una combinazione |
OT_SRP_SERVER_FLAGS_ANY_TYPE_ACTIVE_SERVICE
|
Questa costante definisce una combinazione |
OT_SRP_SERVER_FLAGS_ANY_TYPE_DELETED_SERVICE
|
Questa costante definisce una combinazione |
OT_SRP_SERVER_FLAGS_BASE_TYPE_SERVICE_ONLY
|
Questa costante definisce una combinazione |
OT_SRP_SERVER_FLAGS_SUB_TYPE_SERVICE_ONLY
|
Questa costante definisce una combinazione |
otSrpClientItemState
otSrpClientItemState
Questa enumerazione specifica lo stato di un elemento client SRP (informazioni sul servizio o sull'host).
Proprietà | |
---|---|
OT_SRP_CLIENT_ITEM_STATE_ADDING
|
L'elemento è in fase di aggiunta/registrazione. |
OT_SRP_CLIENT_ITEM_STATE_REFRESHING
|
L'elemento è in fase di aggiornamento. |
OT_SRP_CLIENT_ITEM_STATE_REGISTERED
|
L'elemento è registrato con il server. |
OT_SRP_CLIENT_ITEM_STATE_REMOVED
|
Elemento rimosso. |
OT_SRP_CLIENT_ITEM_STATE_REMOVING
|
L'elemento è in fase di rimozione. |
OT_SRP_CLIENT_ITEM_STATE_TO_ADD
|
Elemento da aggiungere/registrare. |
OT_SRP_CLIENT_ITEM_STATE_TO_REFRESH
|
Elemento da aggiornare (nuova registrazione per il rinnovo dell'affitto). |
OT_SRP_CLIENT_ITEM_STATE_TO_REMOVE
|
Elemento da rimuovere. |
otSrpServerAddressMode
otSrpServerAddressMode
Questa enumerazione rappresenta la modalità dell'indirizzo utilizzata dal server SRP.
La modalità Indirizzo specifica il modo in cui l'indirizzo e il numero di porta vengono determinati dal server SRP e come queste informazioni vengono pubblicate nei dati di rete Thread.
Proprietà | |
---|---|
OT_SRP_SERVER_ADDRESS_MODE_ANYCAST
|
Modalità indirizzo anycast. |
OT_SRP_SERVER_ADDRESS_MODE_UNICAST
|
Modalità indirizzo unicast. |
OstSrpServerState
otSrpServerState
Questa enumerazione rappresenta lo stato del server SRP.
Proprietà | |
---|---|
OT_SRP_SERVER_STATE_DISABLED
|
Il server SRP è disabilitato. |
OT_SRP_SERVER_STATE_RUNNING
|
Il server SRP è abilitato e in esecuzione. |
OT_SRP_SERVER_STATE_STOPPED
|
Il server SRP è abilitato, ma arrestato. |
Defin
otSrpClientAutoStartCallback
void(* otSrpClientAutoStartCallback)(const otSockAddr *aServerSockAddr, void *aContext)
Questo tipo di puntatore di funzione definisce il callback utilizzato dal client SRP per inviare una notifica all'utente quando viene avviato o arrestato automaticamente.
Questa opzione viene usata soltanto se è attiva la funzionalità di avvio automatico OPENTHREAD_CONFIG_SRP_CLIENT_AUTO_START_API_ENABLE
.
Questo callback viene richiamato quando la modalità di avvio automatico è attivata e il client SRP viene avviato o arrestato automaticamente.
Dettagli | |||||
---|---|---|---|---|---|
Parametri |
|
otSrpClientBuffersServiceEntry
struct otSrpClientBuffersServiceEntry otSrpClientBuffersServiceEntry
Questa struttura rappresenta una voce del pool di servizi del client SRP.
OtSrpClientCallback
void(* otSrpClientCallback)(otError aError, const otSrpClientHostInfo *aHostInfo, const otSrpClientService *aServices, const otSrpClientService *aRemovedServices, void *aContext)
Questo tipo di puntatore della funzione definisce il callback utilizzato dal client SRP per avvisare l'utente di modifiche/eventi/errori.
Questo callback viene attivato dopo la registrazione di un aggiornamento riuscito (ad esempio, l'aggiunta o la rimozione di informazioni sull'host e/o alcuni servizi) con il server SRP oppure se si verifica un errore o un errore (ad esempio un server rifiuta una richiesta di aggiornamento o il client scade in attesa di risposta e così via).
In caso di nuova registrazione di un aggiornamento, il parametro aError
sarà OT_ERROR_NONE
e le informazioni dell'host e l'elenco completo dei servizi vengono forniti come parametri di input per il callback. Tieni presente che le informazioni e i servizi host monitorano ciascuno il proprio stato nella variabile membro mState
corrispondente della struttura dei dati correlati (lo stato che indica se le informazioni/il servizio host sono registrati o rimossi oppure sono ancora in fase di aggiunta/rimozione e così via).
L'elenco dei servizi rimossi viene passato come elenco privato collegato aRemovedServices
nel callback. Tieni presente che, quando viene richiamato il callback, il client SRP (implementazione OpenThread) viene eseguito con le istanze di servizio rimosse in aRemovedServices
e non le monitora più/le archivia (ad esempio, se dal callback chiamiamo otSrpClientGetServices()
i servizi rimossi non saranno presenti nell'elenco restituito). La fornitura di un elenco separato di servizi rimossi nel callback permette di indicare all'utente quali elementi sono stati rimossi e permette all'utente di rivendicare/riutilizzare le istanze.
Se il server rifiuta una richiesta di aggiornamento SRP, il codice di risposta DNS (RFC 2136) è mappato ai seguenti errori:
- (0) NOERROR Operazione riuscita (nessuna condizione relativa all'errore) -> OT_ERROR_NONE
- (1) Server FORMERR non interpretabile a causa di un errore di formato -> OT_ERROR_PARSE
- (2) Il server SERVFAIL ha riscontrato un errore interno -> OT_ERROR_FAILED
- (3) Il nome NXDOMAIN che dovrebbe esistere non esiste -> OT_ERROR_NOT_FOUND
- (4) Il server NOTIMP non supporta il tipo di query (OpCode) -> OT_ERROR_NOT_IMPLEMENTED
- (5) RIFIUTO Il server è stato rifiutato per motivi legati al criterio o alla sicurezza -> OT_ERROR_SAFE
- (6) YXDOMAIN Un 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) Il servizio NOTAUTH non è autorizzato per la zona -> OT_ERROR_SAFE
- (10) NOTZONE Un nome non è nella zona -> OT_ERROR_PARSE
- (20) BADNAME Nome non valido -> OT_ERROR_PARSE
- (21) Algoritmo BADALG non valido -> OT_ERROR_SAFE
- (22) BADTRUN Troncamento errato -> OT_ERROR_PARSE
- Altri codici di risposta -> OT_ERROR_FAILED
Sono possibili anche i seguenti errori:
- OT_ERROR_RESPONSE_TIMEOUT : Timeout in attesa della risposta dal server (il client continuerà a riprovare).
- OT_ERROR_INVALID_ARGS : la struttura del servizio fornita non è valida (ad es. nome del servizio non valido o
otDnsTxtEntry
). - OT_ERROR_NO_BUFS : buffer insufficiente per preparare o inviare il messaggio di aggiornamento.
Tieni presente che, in caso di errori, il client continua l'operazione, ovvero prepara e (ri)trasmette il messaggio di aggiornamento SRP al server, dopo un intervallo di attesa. L'intervallo di attesa per i tentativi parte dal valore minimo e viene aumentato del fattore di crescita ogni errore fino al valore massimo (vedi il parametro di configurazione OPENTHREAD_CONFIG_SRP_CLIENT_MIN_RETRY_WAIT_INTERVAL
e quelli correlati per ulteriori dettagli).
Dettagli | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parametri |
|
otSrpClientHostInfo
struct otSrpClientHostInfo otSrpClientHostInfo
Questa struttura rappresenta le informazioni di un host client SRP.
otSrpClientService
struct otSrpClientService otSrpClientService
Questa struttura rappresenta un servizio client SRP.
I valori in questa struttura, inclusi i buffer di stringa per i nomi e le voci dei record TXT, DEVONO rimanere e mantenere costanti dopo che un'istanza di questa struttura viene trasferita a OpenThread da otSrpClientAddService()
o otSrpClientRemoveService()
.
I campi mState
, mData
e mNext
sono utilizzati/gestiti solo dal core OT. Il loro valore viene ignorato quando un'istanza di otSrpClientService
viene passata in otSrpClientAddService()
o otSrpClientRemoveService()
o in altre funzioni. Il chiamante non deve impostare questi campi.
I campi mLease
e mKeyLease
specificano gli intervalli di leasing e di leasing delle chiavi per questo servizio. Il valore zero indica che l'intervallo non è specificato, quindi vengono usati gli intervalli di lease o di leasing predefiniti di otSrpClientGetLeaseInterval()
e otSrpClientGetKeyLeaseInterval()
per questo servizio. Se l'intervallo di lease della chiave (che sia impostato in modo esplicito o determinato da quello predefinito) è più breve dell'intervallo di leasing di un servizio, il client SRP riutilizza il valore dell'intervallo di lease per l'intervallo di leasing della chiave. Ad esempio, se nel servizio mLease
è esplicitamente impostato su 2 giorni e mKeyLease
è impostato su zero e il leasing della chiave predefinito è impostato su 1 giorno, quando si registra questo servizio, anche il leasing della chiave richiesto per questo servizio viene impostato su 2 giorni.
otSrpServerAddressMode
enum otSrpServerAddressMode otSrpServerAddressMode
Questa enumerazione rappresenta la modalità dell'indirizzo utilizzata dal server SRP.
La modalità Indirizzo specifica il modo in cui l'indirizzo e il numero di porta vengono determinati dal server SRP e come queste informazioni vengono pubblicate nei dati di rete Thread.
otSrpServerHost
struct otSrpServerHost otSrpServerHost
Questo tipo opaco rappresenta un host di servizio SRP.
otSrpServerLeaseConfig
struct otSrpServerLeaseConfig otSrpServerLeaseConfig
Questa struttura include le configurazioni LEASE e server KEY-LEASE del server SRP.
otSrpServerLeaseInfo
struct otSrpServerLeaseInfo otSrpServerLeaseInfo
Questa struttura include le informazioni di lease del server SRP di un host/servizio.
otSrpServerResponseCounters
struct otSrpServerResponseCounters otSrpServerResponseCounters
Questa struttura include le statistiche delle risposte del server SRP.
otSrpServerService
struct otSrpServerService otSrpServerService
Questo tipo opaco rappresenta un servizio SRP.
otSrpServerServiceFlag
uint8_t otSrpServerServiceFlags
Il tipo di flag di servizio che indica quali servizi includere o escludere durante la ricerca (o l'iterazione) nell'elenco dei servizi SRP.
Si tratta di una combinazione di flag. I flag di bit specifici sono definiti nell'enumerazione di OT_SRP_SERVER_FLAG_*
.
otSrpServerServiceUpdateHandler
void(* otSrpServerServiceUpdateHandler)(otSrpServerServiceUpdateId aId, const otSrpServerHost *aHost, uint32_t aTimeout, void *aContext)
Questa funzione gestisce gli aggiornamenti del servizio SRP.
Questa funzione viene chiamata dal server SRP per notificare l'aggiornamento di un host SRP e possibilmente dei servizi SRP. È importante eseguire il commit degli aggiornamenti SRP finché il gestore non restituisce il risultato chiamando otSrpServerHandleServiceUpdateResult oppure scade dopo aTimeout
.
Un osservatore di servizi SRP deve sempre chiamare otSrpServerHandleServiceUpdateResult con codice di errore OT_ERROR_NONE immediatamente dopo aver ricevuto gli eventi di aggiornamento.
Un gestore più generico può eseguire le convalide sull'host/servizi SRP e rifiutare gli aggiornamenti SRP se la convalida non va a buon fine. Ad esempio, un proxy pubblicitario dovrebbe pubblicizzare (o rimuovere) l'host e i servizi su un link compatibile con multicast e restituisce un codice di errore specifico se si verifica un errore.
Dettagli | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parametri |
|
otSrpServerSetServiceUpdateHandler
otSrpServerHandleServiceUpdateResult
otSrpServerServiceUpdateId
uint32_t otSrpServerServiceUpdateId
L'ID di una transazione di aggiornamento del servizio SRP sul server SRP.
otSrpServerTtlConfig
struct otSrpServerTtlConfig otSrpServerTtlConfig
Questa struttura include le configurazioni TTL del server SRP.
Functions
otSrpClientAddService
otError otSrpClientAddService( otInstance *aInstance, otSrpClientService *aService )
Questa funzione aggiunge un servizio da registrare nel server.
Una chiamata a questa funzione andata a buon fine, otSrpClientCallback
verrà chiamata per segnalare lo stato dell'aggiunta/registrazione del servizio con il server SRP.
L'istanza otSrpClientService
a cui fa riferimento aService
DEVE persistere e rimanere invariata dopo il ritorno da questa funzione (con OT_ERROR_NONE
). OpenThread salverà il puntatore sull'istanza di servizio.
L'istanza otSrpClientService
non è più monitorata da OpenThread e può essere recuperata solo quando
- Viene rimossa esplicitamente da una chiamata a
otSrpClientRemoveService()
oppure insieme ad altri servizi tramite una chiamata aotSrpClientRemoveHostAndServices() and only after the
otSrpClientCallback` per indicare che il servizio è stato rimosso. Oppure, - Una chiamata al numero
otSrpClientClearHostAndServices()
che rimuove immediatamente l'host e tutti i servizi correlati.
Dettagli | |||||||
---|---|---|---|---|---|---|---|
Parametri |
|
||||||
Valori restituiti |
|
otSrpClientBuffersAllocateService
otSrpClientBuffersServiceEntry * otSrpClientBuffersAllocateService( otInstance *aInstance )
Questa funzione alloca una nuova voce di servizio dal pool.
L'istanza di voce di servizio restituita verrà inizializzata come segue:
mService.mName
punta a un buffer di stringa allocato che può essere recuperato utilizzando la funzioneotSrpClientBuffersGetServiceEntryServiceNameString()
.mService.mInstanceName
punta a un buffer di stringa allocato che può essere recuperato utilizzando la funzioneotSrpClientBuffersGetServiceEntryInstanceNameString()
.mService.mSubTypeLabels
rimanda a un array restituito daotSrpClientBuffersGetSubTypeLabelsArray()
.mService.mTxtEntries
indirizzerà amTxtEntry
.mService.mNumTxtEntries
verrà impostato su 1.- Gli altri campi
mService
(porta, priorità, peso) sono impostati su zero. - Il valore
mTxtEntry.mKey
è impostato su NULL (il valore viene considerato come già codificato). mTxtEntry.mValue
punterà a un buffer allocato che può essere recuperato utilizzando la funzioneotSrpClientBuffersGetServiceEntryTxtBuffer()
.- Il valore di
mTxtEntry.mValueLength
è impostato su zero. - Tutti i buffer e gli array di dati/stringi correlati vengono cancellati da zero.
Dettagli | |||
---|---|---|---|
Parametri |
|
||
Restituisce |
Un puntatore alla voce del servizio appena allocata o a NULL se non sono disponibili altre voci nel pool.
|
otSrpClientBuffersFreeAllServices
void otSrpClientBuffersFreeAllServices( otInstance *aInstance )
Questa funzione libera tutte le voci di servizio assegnate in precedenza.
Dettagli | |||
---|---|---|---|
Parametri |
|
otSrpClientBuffersFreeService
void otSrpClientBuffersFreeService( otInstance *aInstance, otSrpClientBuffersServiceEntry *aService )
Questa funzione libera una voce di servizio allocata in precedenza.
L'offerta aService
DEVE essere stata assegnata in precedenza utilizzando otSrpClientBuffersAllocateService()
e non ancora liberata. In caso contrario, il comportamento di questa funzione non è definito.
Dettagli | |||||
---|---|---|---|---|---|
Parametri |
|
otSrpClientBuffersGetHostAddressesArray
otIp6Address * otSrpClientBuffersGetHostAddressesArray( otInstance *aInstance, uint8_t *aArrayLength )
Questa funzione riceve l'array di voci IPv6 da utilizzare come elenco di indirizzi host client SRP.
Dettagli | |||||
---|---|---|---|---|---|
Parametri |
|
||||
Restituisce |
Un puntatore a un array di
otIp6Address voci (il numero di voci viene restituito in aArrayLength ). |
otSrpClientBuffersGetHostNameString
char * otSrpClientBuffersGetHostNameString( otInstance *aInstance, uint16_t *aSize )
Questa funzione recupera il buffer di stringa da utilizzare per il nome host del client SRP.
Dettagli | |||||
---|---|---|---|---|---|
Parametri |
|
||||
Restituisce |
Un puntatore al buffer di caratteri da utilizzare per il nome host del client SRP.
|
otSrpClientBuffersGetServiceEntryInstanceNameString
char * otSrpClientBuffersGetServiceEntryInstanceNameString( otSrpClientBuffersServiceEntry *aEntry, uint16_t *aSize )
Questa funzione ottiene il buffer di stringa per il nome dell'istanza del servizio da una voce di servizio.
Dettagli | |||||
---|---|---|---|---|---|
Parametri |
|
||||
Restituisce |
Un puntatore al buffer di stringa.
|
otSrpClientBuffersGetServiceEntryServiceNameString
char * otSrpClientBuffersGetServiceEntryServiceNameString( otSrpClientBuffersServiceEntry *aEntry, uint16_t *aSize )
Questa funzione recupera il buffer di stringa per il nome del servizio da una voce di servizio.
Dettagli | |||||
---|---|---|---|---|---|
Parametri |
|
||||
Restituisce |
Un puntatore al buffer di stringa.
|
otSrpClientBuffersGetServiceEntryTxtBuffer
uint8_t * otSrpClientBuffersGetServiceEntryTxtBuffer( otSrpClientBuffersServiceEntry *aEntry, uint16_t *aSize )
Questa funzione recupera il buffer per il record TXT da una voce di servizio.
Dettagli | |||||
---|---|---|---|---|---|
Parametri |
|
||||
Restituisce |
Un puntatore al buffer.
|
otSrpClientBuffersGetSubTypeLabelsArray
const char ** otSrpClientBuffersGetSubTypeLabelsArray( otSrpClientBuffersServiceEntry *aEntry, uint16_t *aArrayLength )
Questa funzione recupera l'array per le etichette del sottotipo di servizio dalla voce del servizio.
Dettagli | |||||
---|---|---|---|---|---|
Parametri |
|
||||
Restituisce |
Un puntatore alla matrice.
|
otSrpClientClearHostAndServices
void otSrpClientClearHostAndServices( otInstance *aInstance )
Questa funzione cancella tutte le informazioni sull'host e tutti i servizi.
A differenza di otSrpClientRemoveHostAndServices()
, che invia un messaggio di aggiornamento al server per rimuovere tutte le informazioni, questa funzione cancella immediatamente tutte le informazioni senza alcuna interazione con il server.
Dettagli | |||
---|---|---|---|
Parametri |
|
otSrpClientClearService
otError otSrpClientClearService( otInstance *aInstance, otSrpClientService *aService )
Questa funzione cancella un servizio, rimuovendolo immediatamente dall'elenco dei servizi client.
A differenza di otSrpClientRemoveService()
, che invia un messaggio di aggiornamento al server per rimuovere il servizio, questa funzione cancella il servizio dall'elenco dei servizi del client senza alcuna interazione con il server. Se la chiamata a questa funzione ha esito positivo, otSrpClientCallback
NON verrà chiamato e la voce aService
potrà essere recuperata e riutilizzata immediatamente dal chiamante.
Questa funzione può essere utilizzata insieme a una chiamata successiva a otSrpClientAddService()
(riutilizzando potenzialmente la stessa voce aService
con lo stesso servizio e gli stessi nomi di istanza) per aggiornare alcuni parametri in un servizio esistente.
Dettagli | |||||
---|---|---|---|---|---|
Parametri |
|
||||
Valori restituiti |
|
otSrpClientDisabledAutoStartMode
void otSrpClientDisableAutoStartMode( otInstance *aInstance )
Questa funzione disattiva la modalità di avvio automatico.
Questa opzione è disponibile solo quando la funzionalità di avvio automatico OPENTHREAD_CONFIG_SRP_CLIENT_AUTO_START_API_ENABLE
è attiva.
La disabilitazione della modalità di avvio automatico non interromperà il client se è già in esecuzione, ma il client smette di monitorare i dati di rete dei thread per verificare che il server SRP selezionato sia ancora presente.
Tieni presente che una chiamata al numero otSrpClientStop()
disattiverà anche la modalità di avvio automatico.
Dettagli | |||
---|---|---|---|
Parametri |
|
otSrpClientEnableAutoHostAddress
otError otSrpClientEnableAutoHostAddress( otInstance *aInstance )
Questa funzione attiva la modalità indirizzo host automatico.
Quando questa opzione è abilitata, gli indirizzi IPv6 dell'host vengono impostati automaticamente dal client SRP utilizzando tutti gli indirizzi unicast su Thread netif, escludendo tutti gli indirizzi locale rispetto al collegamento e mesh-local. Se non esiste un indirizzo valido, viene aggiunto l'indirizzo EID mesh locale. Il client SRP viene registrato di nuovo automaticamente quando/se gli indirizzi sulla rete Thread vengono aggiornati (vengono aggiunti nuovi indirizzi o vengono rimossi gli indirizzi esistenti).
La modalità indirizzo host automatico può essere attivata prima dell'avvio o durante il funzionamento del client SRP, tranne quando le informazioni sull'host vengono rimosse (il client è occupato nella gestione di una richiesta di rimozione da una chiamata a otSrpClientRemoveHostAndServices()
e le informazioni sull'host sono ancora in stato STATE_TO_REMOVE
o STATE_REMOVING
).
Dopo aver attivato la modalità indirizzo host automatico, può essere disattivata da una chiamata al numero otSrpClientSetHostAddresses()
, che a sua volta imposta esplicitamente gli indirizzi host.
Dettagli | |||||
---|---|---|---|---|---|
Valori restituiti |
|
otSrpClientEnableAutoStartMode
void otSrpClientEnableAutoStartMode( otInstance *aInstance, otSrpClientAutoStartCallback aCallback, void *aContext )
Questa funzione attiva la modalità di avvio automatico.
Questa opzione è disponibile solo quando la funzionalità di avvio automatico OPENTHREAD_CONFIG_SRP_CLIENT_AUTO_START_API_ENABLE
è attiva.
L'opzione di configurazione OPENTHREAD_CONFIG_SRP_CLIENT_AUTO_START_DEFAULT_MODE
specifica la modalità di avvio automatico predefinito (se è abilitata o disabilitata all'inizio dello stack OT).
Quando l'avvio automatico è abilitato, il client SRP monitora i dati di rete Thread per rilevare i server SRP e seleziona il server preferito. Inoltre, il client viene avviato e arrestato automaticamente quando viene rilevato un server SRP.
Esistono tre categorie di voci di dati di rete che indicano la presenza di un server SRP. Sono preferiti nel seguente ordine:
1) Voci di notifica preferite in cui l'indirizzo del server è incluso nei dati di servizio. Se sono disponibili più opzioni, è preferibile avere un indirizzo IPv6 numericamente più basso.
2) Tutte le voci anycast che hanno un numero seq. Un numero di sequenza più grande nel senso specificato dalla logica aritmetica del numero di serie in RFC-1982 è considerato più recente e quindi preferito. È preferibile utilizzare il numero seq più grande che utilizza l'aritmetica del numero di serie, se è ben definito (ad esempio, il numero seq è maggiore di tutti gli altri numeri seq). Se il nome non è ben definito, è preferibile utilizzare il numero seq più grande dal punto di vista numerico.
3) Voci unicast in cui le informazioni sull'indirizzo del server sono incluse nei dati del server. Se sono disponibili più opzioni, è preferibile avere un indirizzo IPv6 numericamente più basso.
Quando si verifica un cambiamento nelle voci dei dati di rete, il client controlla che il server attualmente selezionato sia ancora presente nei dati di rete e che sia ancora quello preferito. In caso contrario, il client passerà al nuovo server preferito o verrà interrotto se non ce n'è uno.
Quando il client SRP viene avviato esplicitamente tramite una chiamata a otSrpClientStart()
, l'indirizzo del server SRP specificato in otSrpClientStart()
continuerà a essere utilizzato, indipendentemente dallo stato della modalità di avvio automatico e dal fatto che lo stesso indirizzo del server SRP venga rilevato o meno nei dati di rete Thread. In questo caso, la chiamata verrà interrotta solo da una chiamata otSrpClientStop()
esplicita.
Dettagli | |||||||
---|---|---|---|---|---|---|---|
Parametri |
|
otSrpClientGetDomainName
const char * otSrpClientGetDomainName( otInstance *aInstance )
Questa funzione ottiene il nome di dominio utilizzato dal client SRP.
Questa funzione richiede che sia abilitato OPENTHREAD_CONFIG_SRP_CLIENT_DOMAIN_NAME_API_ENABLE
.
Se il nome di dominio non è impostato, verrà utilizzato "default.service.arpa".
Dettagli | |||
---|---|---|---|
Parametri |
|
||
Restituisce |
La stringa del nome di dominio.
|
otSrpClientGetHostInfo
const otSrpClientHostInfo * otSrpClientGetHostInfo( otInstance *aInstance )
Questa funzione riceve le informazioni dell'host.
Dettagli | |||
---|---|---|---|
Parametri |
|
||
Restituisce |
Un puntatore che consente di ospitare la struttura delle informazioni.
|
otSrpClientGetKeyLeaseInterval
uint32_t otSrpClientGetKeyLeaseInterval( otInstance *aInstance )
Questa funzione riceve l'intervallo di lease della chiave predefinito utilizzato nelle richieste di aggiornamento SRP.
L'intervallo predefinito viene utilizzato solo per le istanze otSrpClientService
in cui mKeyLease
è impostato su zero.
Tieni presente che questa è la durata del lease richiesta dal client SRP. Il server potrebbe scegliere di accettare un intervallo di leasing diverso.
Dettagli | |||
---|---|---|---|
Parametri |
|
||
Restituisce |
L'intervallo di leasing della chiave (in secondi).
|
otSrpClientGetLeaseInterval
uint32_t otSrpClientGetLeaseInterval( otInstance *aInstance )
Questa funzione riceve l'intervallo di lease predefinito utilizzato nelle richieste di aggiornamento SRP.
L'intervallo predefinito viene utilizzato solo per le istanze otSrpClientService
in cui mLease
è impostato su zero.
Tieni presente che questa è la durata del lease richiesta dal client SRP. Il server potrebbe scegliere di accettare un intervallo di leasing diverso.
Dettagli | |||
---|---|---|---|
Parametri |
|
||
Restituisce |
L'intervallo di leasing (in secondi).
|
otSrpClientGetServerAddress
const otSockAddr * otSrpClientGetServerAddress( otInstance *aInstance )
Questa funzione recupera l'indirizzo socket (indirizzo IPv6 e numero di porta) del server SRP utilizzato dal client SRP.
Se il client non è in esecuzione, l'indirizzo non è specificato (tutti zero) con numero di porta pari a zero.
Dettagli | |||
---|---|---|---|
Parametri |
|
||
Restituisce |
Un puntatore all'indirizzo socket del server SRP (è sempre non NULL).
|
otSrpClientGetServices
const otSrpClientService * otSrpClientGetServices( otInstance *aInstance )
Questa funzione ottiene l'elenco dei servizi gestiti dal client.
Dettagli | |||
---|---|---|---|
Parametri |
|
||
Restituisce |
Un puntatore all'intestazione dell'elenco collegato di tutti i servizi o di NULL se l'elenco è vuoto.
|
otSrpClientGetTtl
uint32_t otSrpClientGetTtl( otInstance *aInstance )
Questa funzione riceve il valore TTL in ogni record incluso nelle richieste di aggiornamento SRP.
Tieni presente che questo è il TTL richiesto dal client SRP. Il server può scegliere di accettare un TTL diverso.
Per impostazione predefinita, il TTL sarà uguale all'intervallo di leasing. Se passi 0 o un valore superiore all'intervallo di leasing tramite otSrpClientSetTtl()
, il TTL corrisponderà all'intervallo di leasing.
Dettagli | |||
---|---|---|---|
Parametri |
|
||
Restituisce |
Il TTL (in secondi).
|
otSrpClientIsAutoStartModeEnabled
bool otSrpClientIsAutoStartModeEnabled( otInstance *aInstance )
Questa funzione indica lo stato corrente della modalità di avvio automatico (attivata o disabilitata).
Questa opzione è disponibile solo quando la funzionalità di avvio automatico OPENTHREAD_CONFIG_SRP_CLIENT_AUTO_START_API_ENABLE
è attiva.
Dettagli | |||
---|---|---|---|
Parametri |
|
||
Restituisce |
TRUE se la modalità di avvio automatico è abilitata, FALSE in caso contrario.
|
otSrpClientIsRunning
bool otSrpClientIsRunning( otInstance *aInstance )
Questa funzione indica se il client SRP è in esecuzione o meno.
Dettagli | |||
---|---|---|---|
Parametri |
|
||
Restituisce |
TRUE se il client SRP è in esecuzione, FALSE in caso contrario.
|
otSrpClientIsServiceKeyRecordEnabled
bool otSrpClientIsServiceKeyRecordEnabled( otInstance *aInstance )
Questo metodo indica se la modalità "Inclusione dei record della chiave di servizio" è abilitata o disabilitata.
Questa funzione è disponibile quando la configurazione OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE
è abilitata.
Dettagli | |||
---|---|---|---|
Parametri |
|
||
Restituisce |
TRUE se la modalità di inclusione del record della chiave di servizio è abilitata, altrimenti FALSE.
|
otSrpClientItemStateToString
const char * otSrpClientItemStateToString( otSrpClientItemState aItemState )
Questa funzione converte un otSrpClientItemState
in una stringa.
Dettagli | |||
---|---|---|---|
Parametri |
|
||
Restituisce |
Una rappresentazione stringa di
aItemState . |
otSrpClientRemoveHostAndServices
otError otSrpClientRemoveHostAndServices( otInstance *aInstance, bool aRemoveKeyLease, bool aSendUnregToServer )
Questa funzione avvia il processo di rimozione delle informazioni host e di tutti i servizi.
Dopo il ritorno da questa funzione, otSrpClientCallback
verrà chiamato per segnalare lo stato della richiesta di rimozione con il server SRP.
Se le informazioni sull'host devono essere rimosse definitivamente dal server, aRemoveKeyLease
deve essere impostato su true
, in modo da rimuovere l'affitto della chiave associato all'host sul server. In caso contrario, il record di leasing della chiave viene mantenuto come prima, assicurando così che il server mantenga il nome host in riserva per quando il client è nuovamente in grado di fornire e registrare il suo servizio o i suoi servizi.
aSendUnregToServer
determina il comportamento quando le informazioni dell'host non sono ancora registrate sul server. Se il aSendUnregToServer
è impostato su false
(valore predefinito/previsto), il client SRP rimuoverà immediatamente le informazioni e i servizi host senza inviare un messaggio di aggiornamento al server (non è necessario aggiornare il server se non è ancora registrato alcun elemento). Se aSendUnregToServer
è impostato su true
, il client SRP invierà un messaggio di aggiornamento al server. Tieni presente che se le informazioni dell'host sono registrate, il valore di aSendUnregToServer
non è rilevante e il client SRP invierà sempre un messaggio di aggiornamento al server che richiede la rimozione di tutte le informazioni.
Una situazione in cui aSendUnregToServer
può essere utile è il ripristino/riavvio del dispositivo, pertanto il chiamante potrebbe voler rimuovere i servizi registrati in precedenza con il server. In questo caso, il chiamante può otSrpClientSetHostName()
e quindi richiedere otSrpClientRemoveHostAndServices()
con aSendUnregToServer
come true
.
Dettagli | |||||||
---|---|---|---|---|---|---|---|
Parametri |
|
||||||
Valori restituiti |
|
otSrpClientRemoveService
otError otSrpClientRemoveService( otInstance *aInstance, otSrpClientService *aService )
Questa funzione richiede che un servizio venga annullato per la registrazione sul server.
Dopo una chiamata a questa funzione riuscita, otSrpClientCallback
verrà chiamato per segnalare lo stato della richiesta di rimozione con il server SRP.
L'istanza otSrpClientService
a cui fa riferimento aService
DEVE persistere e rimanere invariata dopo il ritorno da questa funzione (con OT_ERROR_NONE
). OpenThread manterrà l'istanza di servizio durante il processo di rimozione. Solo dopo che viene chiamato otSrpClientCallback
, l'istanza di servizio viene rimossa dall'elenco di servizi client SRP e può essere liberata/riutilizzata.
Dettagli | |||||
---|---|---|---|---|---|
Parametri |
|
||||
Valori restituiti |
|
otSrpClientSetCallback
void otSrpClientSetCallback( otInstance *aInstance, otSrpClientCallback aCallback, void *aContext )
Questa funzione imposta il callback per inviare una notifica al chiamante per gli eventi o le modifiche dal client SRP.
Il client SRP consente la registrazione di un singolo callback. Pertanto, le chiamate consecutive a questa funzione sovrascriveranno le funzioni di callback impostate in precedenza.
Dettagli | |||||||
---|---|---|---|---|---|---|---|
Parametri |
|
otSrpClientSetDomainName
otError otSrpClientSetDomainName( otInstance *aInstance, const char *aName )
Questa funzione imposta il nome di dominio che deve essere utilizzato dal client SRP.
Questa funzione richiede che sia abilitato OPENTHREAD_CONFIG_SRP_CLIENT_DOMAIN_NAME_API_ENABLE
.
Se non è impostato, verrà utilizzato "default.service.arpa".
Il buffer della stringa del nome indicato da aName
DEVE persistere e rimanere invariato dopo il ritorno da questa funzione. OpenThread manterrà il puntatore sulla stringa.
Il nome di dominio può essere impostato prima dell'avvio del client o dopo l'avvio, ma prima che le informazioni host siano registrate sul server (le informazioni host devono essere in STATE_TO_ADD
o STATE_TO_REMOVE
).
Dettagli | |||||
---|---|---|---|---|---|
Parametri |
|
||||
Valori restituiti |
|
otSrpClientSetHostAddresses
otError otSrpClientSetHostAddresses( otInstance *aInstance, const otIp6Address *aIp6Addresses, uint8_t aNumAddresses )
Questa funzione imposta/aggiorna l'elenco degli indirizzi IPv6 dell'host.
Gli indirizzi IPv6 dell'host possono essere impostati/modificati prima dell'avvio o durante il funzionamento del client SRP (ad es. per aggiungere/rimuovere o modificare un indirizzo host registrato in precedenza), tranne quando le informazioni sull'host vengono rimosse (il client è occupato nella gestione di una richiesta di rimozione da una chiamata precedente a otSrpClientRemoveHostAndServices()
e le informazioni sull'host sono ancora in stato STATE_TO_REMOVE
o STATE_REMOVING
).
L'array di indirizzi IPv6 dell'host indicato da aIp6Addresses
DEVE persistere e rimanere invariato dopo il ritorno da questa funzione (con OT_ERROR_NONE
). OpenThread salverà il puntatore sull'array.
Una chiamata a questa funzione riuscita, otSrpClientCallback
verrà chiamata per segnalare lo stato della registrazione dell'indirizzo al server SRP.
Una chiamata a questa funzione disattiva la modalità indirizzo host automatico se precedentemente era attivata da una chiamata riuscita a otSrpClientEnableAutoHostAddress()
.
Dettagli | |||||||
---|---|---|---|---|---|---|---|
Parametri |
|
||||||
Valori restituiti |
|
NomeOtSrpClientSetHostName
otError otSrpClientSetHostName( otInstance *aInstance, const char *aName )
Questa funzione imposta l'etichetta del nome host.
Dopo una corretta chiamata a questa funzione, otSrpClientCallback
verrà chiamato per segnalare lo stato della registrazione delle informazioni dell'host con il server SRP.
Il buffer della stringa del nome indicato da aName
DEVE persistere e rimanere invariato dopo il ritorno da questa funzione. OpenThread manterrà il puntatore sulla stringa.
Il nome host può essere impostato prima dell'avvio del client o dopo l'inizio, ma prima che le informazioni host siano registrate sul server (le informazioni dell'host devono essere in STATE_TO_ADD
o STATE_REMOVED
).
Dettagli | |||||||
---|---|---|---|---|---|---|---|
Parametri |
|
||||||
Valori restituiti |
|
otSrpClientSetKeyLeaseInterval
void otSrpClientSetKeyLeaseInterval( otInstance *aInstance, uint32_t aInterval )
Questa funzione imposta l'intervallo di lease della chiave predefinito utilizzato nelle richieste di aggiornamento SRP.
L'intervallo predefinito viene utilizzato solo per le istanze otSrpClientService
in cui mKeyLease
è impostato su zero.
La modifica dell'intervallo di leasing non influisce sull'intervallo di leasing accettato per i servizi/host host già registrati. Incide sugli eventuali messaggi di aggiornamento SRP futuri (ad esempio l'aggiunta di nuovi servizi e/o gli aggiornamenti dei servizi esistenti).
Dettagli | |||||
---|---|---|---|---|---|
Parametri |
|
otSrpClientSetLeaseInterval
void otSrpClientSetLeaseInterval( otInstance *aInstance, uint32_t aInterval )
Questa funzione imposta l'intervallo di lease predefinito utilizzato nelle richieste di aggiornamento SRP.
L'intervallo predefinito viene utilizzato solo per le istanze otSrpClientService
in cui mLease
è impostato su zero.
La modifica dell'intervallo di leasing non influisce sull'intervallo di leasing accettato per i servizi già registrati/le informazioni dell'host. Incide solo sui messaggi di aggiornamento SRP futuri (ad esempio sull'aggiunta di nuovi servizi e/o sugli aggiornamenti dei servizi esistenti).
Dettagli | |||||
---|---|---|---|---|---|
Parametri |
|
otSrpClientSetServiceKeyRecordEnabled
void otSrpClientSetServiceKeyRecordEnabled( otInstance *aInstance, bool aEnabled )
Questa funzione abilita/disabilita "Modalità di inclusione del record dei tasti di servizio".
Quando è attivato, il client SRP includerà il record KEY nelle istruzioni per la descrizione del servizio nei messaggi di aggiornamento SRP che invia.
Questa funzione è disponibile quando la configurazione OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE
è abilitata.
Dettagli | |||||
---|---|---|---|---|---|
Parametri |
|
otSrpClientSetTtl
void otSrpClientSetTtl( otInstance *aInstance, uint32_t aTtl )
Questa funzione imposta il valore TTL in ogni record incluso nelle richieste di aggiornamento SRP.
La modifica del TTL non influisce sul TTL dei servizi/host info già registrati. Incide solo sui messaggi di aggiornamento SRP futuri (ovvero sull'aggiunta di nuovi servizi e/o sugli aggiornamenti dei servizi esistenti).
Dettagli | |||||
---|---|---|---|---|---|
Parametri |
|
otSrpClientStart
otError otSrpClientStart( otInstance *aInstance, const otSockAddr *aServerSockAddr )
Questa funzione avvia l'operazione client SRP.
Il client SRP preparerà e invierà il messaggio "Aggiornamento SRP" al server SRP quando tutte le seguenti condizioni saranno soddisfatte:
- Il client SRP è stato avviato -
otSrpClientStart()
è stato chiamato. - Nome host impostato:
otSrpClientSetHostName()
è stato chiamato. - È impostato almeno un indirizzo IPv6 dell'host. Viene chiamato
otSrpClientSetHostName()
. - È stato aggiunto almeno un servizio. Viene chiamato
otSrpClientAddService()
.
Non importa in quale ordine vengono chiamate queste funzioni. Quando tutte le condizioni sono soddisfatte, il client SRP attende un breve ritardo prima di preparare un messaggio "Aggiornamento SRP" e inviarlo al server. Questo ritardo consente all'utente di aggiungere più servizi e/o indirizzi IPv6 prima dell'invio del primo messaggio di aggiornamento SRP (garantisce che venga inviato un singolo aggiornamento SRP contenente tutte le informazioni). Il parametro config OPENTHREAD_CONFIG_SRP_CLIENT_UPDATE_TX_DELAY
specifica l'intervallo di ritardo.
Dettagli | |||||||
---|---|---|---|---|---|---|---|
Parametri |
|
||||||
Valori restituiti |
|
otSrpClientStop
void otSrpClientStop( otInstance *aInstance )
Questa funzione interrompe l'operazione del client SRP.
Questa funzione interrompe qualsiasi interazione con il server SRP. Tieni presente che non rimuove o cancella le informazioni sull'host e/o l'elenco di servizi. Contrassegna tutti i servizi da aggiungere/rimuovere di nuovo una volta che il client è stato (ri)avviato.
Dettagli | |||
---|---|---|---|
Parametri |
|
otSrpServerGetAddressMode
otSrpServerAddressMode otSrpServerGetAddressMode( otInstance *aInstance )
Questa funzione restituisce la modalità indirizzo utilizzata dal server SRP.
Dettagli | |||
---|---|---|---|
Parametri |
|
||
Restituisce |
La modalità indirizzo del server SRP.
|
otSrpServerGetThatcastModeModeNumber
uint8_t otSrpServerGetAnycastModeSequenceNumber( otInstance *aInstance )
Questa funzione restituisce il numero di sequenza utilizzato con la modalità indirizzo anycast.
Il numero di sequenza è incluso nella voce "Indirizzo DNS/SRP relativo al servizio DNS/SRP" pubblicata nei dati di rete.
Dettagli | |||
---|---|---|---|
Parametri |
|
||
Restituisce |
Il numero di sequenza anycast.
|
otSrpServerGetDomain
const char * otSrpServerGetDomain( otInstance *aInstance )
Questa funzione restituisce il dominio autorizzato al server SRP.
Se il dominio non viene impostato da SetDomain, verrà restituito "default.service.arpa.". Il punto finale viene sempre aggiunto anche se il dominio non è impostato.
Dettagli | |||
---|---|---|---|
Parametri |
|
||
Restituisce |
Un puntatore alla stringa del dominio unita da punti.
|
otSrpServerGetLeaseConfig
void otSrpServerGetLeaseConfig( otInstance *aInstance, otSrpServerLeaseConfig *aLeaseConfig )
Questa funzione restituisce le configurazioni LEASE e KEY-LEASE del server SRP.
Dettagli | |||||
---|---|---|---|---|---|
Parametri |
|
otSrpServerGetNextHost
const otSrpServerHost * otSrpServerGetNextHost( otInstance *aInstance, const otSrpServerHost *aHost )
Questa funzione restituisce l'host registrato successivo sul server SRP.
Dettagli | |||||
---|---|---|---|---|---|
Parametri |
|
||||
Restituisce |
Un puntatore all'host registrato. NULL, se non è possibile trovare altri host.
|
otSrpServerGetPort
uint16_t otSrpServerGetPort( otInstance *aInstance )
Questa funzione restituisce la porta che il server SRP sta ascoltando.
Dettagli | |||
---|---|---|---|
Parametri |
|
||
Restituisce |
La porta del server SRP. Restituisce 0 se il server non è in esecuzione.
|
otSrpServerGetResponseCounters
const otSrpServerResponseCounters * otSrpServerGetResponseCounters( otInstance *aInstance )
Questa funzione restituisce i contatori della risposta del server SRP.
Dettagli | |||
---|---|---|---|
Parametri |
|
||
Restituisce |
Un puntatore ai contatori della risposta del server SRP.
|
otSrpServerGetState
otSrpServerState otSrpServerGetState( otInstance *aInstance )
Questa funzione restituisce lo stato del server SRP.
Dettagli | |||
---|---|---|---|
Parametri |
|
||
Restituisce |
Lo stato attuale del server SRP.
|
otSrpServerGetTtlConfig
void otSrpServerGetTtlConfig( otInstance *aInstance, otSrpServerTtlConfig *aTtlConfig )
Questa funzione restituisce la configurazione TTL del server SRP.
Dettagli | |||||
---|---|---|---|---|---|
Parametri |
|
otSrpServerHandleServiceUpdateResult
void otSrpServerHandleServiceUpdateResult( otInstance *aInstance, otSrpServerServiceUpdateId aId, otError aError )
Questa funzione segnala il risultato dell'elaborazione di un aggiornamento SRP nel server SRP.
Il gestore degli aggiornamenti di servizio deve chiamare questa funzione per restituire il risultato dell'elaborazione di un aggiornamento SRP.
Dettagli | |||||||
---|---|---|---|---|---|---|---|
Parametri |
|
otSrpServerHostFindNextService
const otSrpServerService * otSrpServerHostFindNextService( const otSrpServerHost *aHost, const otSrpServerService *aPrevService, otSrpServerServiceFlags aFlags, const char *aServiceName, const char *aInstanceName )
Questa funzione trova il servizio successivo corrispondente nell'host.
La combinazione di flag e nomi di servizi e istanze consente di eseguire l'iterazione sull'elenco completo dei servizi e/o un sottoinsieme di questi in base a determinate condizioni o di trovare un servizio specifico.
Per eseguire l'iterazione su tutti i servizi di un host: service = otSrpServerHostFindNextService(host, servizio, OT_SRP_SERVER_FLAGS_ANY_SERVICE, NULL, NULL);
Per eseguire l'iterazione solo sui servizi di base (esclusi i sottotipi): service = otSrpServerHostFindNextService(host, servizio, OT_SRP_SERVER_FLAGS_BASE_TYPE_SERVICE_ONLY, NULL, NULL);
Per eseguire l'iterazione su sottotipi di un nome di istanza specifico instanceName
: service = otSrpServerHostFindNextService(host, servizio, OT_SRP_SERVER_FLAGS_SUB_TYPE_SERVICE_ONLY, NULL, instanceName);
Per trovare un servizio specifico con il nome del servizio serviceName
e il nome dell'istanza del servizio instanceName
: service = otSrpServerHostFindNextService(host, NULL, OT_SRP_SERVER_FLAGS_ANY_SERVICE, serviceName, instanceName);
Per trovare il servizio di tipo base con un determinato nome di istanza di servizio instanceName
: service = otSrpServerHostFindNextService(host, NULL, OT_SRP_SERVER_FLAGS_BASE_TYPE_SERVICE_ONLY, NULL, instanceName);
Dettagli | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parametri |
|
||||||||||
Restituisce |
Un puntatore al servizio corrispondente successivo o NULL se non è stato trovato alcun servizio corrispondente.
|
otSrpServerHostGetAddresses
const otIp6Address * otSrpServerHostGetAddresses( const otSrpServerHost *aHost, uint8_t *aAddressesNum )
Questa funzione restituisce gli indirizzi di un determinato host.
Dettagli | |||||
---|---|---|---|---|---|
Parametri |
|
||||
Restituisce |
Un puntatore all'array di indirizzi IPv6.
|
otSrpServerHostGetFullName
const char * otSrpServerHostGetFullName( const otSrpServerHost *aHost )
Questa funzione restituisce il nome completo dell'host.
Dettagli | |||
---|---|---|---|
Parametri |
|
||
Restituisce |
Un puntatore alla stringa del nome host terminata con null.
|
otSrpServerHostGetLeaseInfo
void otSrpServerHostGetLeaseInfo( const otSrpServerHost *aHost, otSrpServerLeaseInfo *aLeaseInfo )
Questa funzione restituisce le informazioni LEASE e KEY-LEASE relative a un determinato host.
Dettagli | |||||
---|---|---|---|---|---|
Parametri |
|
otSrpServerHostGetNextService
const otSrpServerService * otSrpServerHostGetNextService( const otSrpServerHost *aHost, const otSrpServerService *aService )
Questa funzione restituisce il servizio successivo (esclusi i servizi di sottotipo) di un determinato host.
Dettagli | |||||
---|---|---|---|---|---|
Parametri |
|
||||
Restituisce |
Un puntatore al servizio successivo o NULL se non sono presenti altri servizi.
|
otSrpServerHostIsDelete
bool otSrpServerHostIsDeleted( const otSrpServerHost *aHost )
Questa funzione indica se l'host del servizio SRP è stato eliminato.
Un host di servizio SRP può essere eliminato, ma conserva il suo nome per utilizzi futuri. In questo caso, l'istanza host non viene rimossa dal server/registro SRP.
Dettagli | |||
---|---|---|---|
Parametri |
|
||
Restituisce |
TRUE se l'host è stato eliminato, FALSE in caso contrario.
|
otSrpServerIsAutoEnableMode
bool otSrpServerIsAutoEnableMode( otInstance *aInstance )
Questa funzione indica se la modalità di attivazione automatica è attivata o disattivata.
Questa funzione richiede la funzione OPENTHREAD_CONFIG_BORDER_ROUTING_ENABLE
.
Dettagli | |||||
---|---|---|---|---|---|
Parametri |
|
||||
Valori restituiti |
|
otSrpServerServiceGetFullName
const char * otSrpServerServiceGetFullName( const otSrpServerService *aService )
Questa funzione restituisce il nome completo dell'istanza del servizio.
Dettagli | |||
---|---|---|---|
Parametri |
|
||
Restituisce |
Un puntatore alla stringa del nome dell'istanza di servizio con terminazione null.
|
otSrpServerServiceGetHost
const otSrpServerHost * otSrpServerServiceGetHost( const otSrpServerService *aService )
Questa funzione restituisce l'host su cui si trova l'istanza di servizio.
Dettagli | |||
---|---|---|---|
Parametri |
|
||
Restituisce |
Un puntatore all'istanza host.
|
otSrpServerServiceGetInstanceName
const char * otSrpServerServiceGetInstanceName( const otSrpServerService *aService )
Questa funzione restituisce il nome completo dell'istanza del servizio.
Dettagli | |||
---|---|---|---|
Parametri |
|
||
Restituisce |
Un puntatore alla stringa del nome dell'istanza di servizio con terminazione null.
|
otSrpServerServiceGetLeaseInfo
void otSrpServerServiceGetLeaseInfo( const otSrpServerService *aService, otSrpServerLeaseInfo *aLeaseInfo )
Questa funzione restituisce le informazioni LEASE e KEY-LEASE relative a un determinato servizio.
Dettagli | |||||
---|---|---|---|---|---|
Parametri |
|
otSrpServerServiceGetPort
uint16_t otSrpServerServiceGetPort( const otSrpServerService *aService )
Questa funzione restituisce la porta dell'istanza di servizio.
Dettagli | |||
---|---|---|---|
Parametri |
|
||
Restituisce |
La porta del servizio.
|
otSrpServerServiceGetPriority
uint16_t otSrpServerServiceGetPriority( const otSrpServerService *aService )
Questa funzione restituisce la priorità dell'istanza di servizio.
Dettagli | |||
---|---|---|---|
Parametri |
|
||
Restituisce |
La priorità del servizio.
|
otSrpServerServiceGetServiceName
const char * otSrpServerServiceGetServiceName( const otSrpServerService *aService )
Questa funzione restituisce il nome completo del servizio.
Dettagli | |||
---|---|---|---|
Parametri |
|
||
Restituisce |
Un puntatore alla stringa del nome del servizio con terminazione null.
|
otSrpServerServiceGetServiceSubTypeLabel
otError otSrpServerServiceGetServiceSubTypeLabel( const otSrpServerService *aService, char *aLabel, uint8_t aMaxSize )
Questa funzione riceve l'etichetta di sottotipo dal nome del servizio.
Questa funzione è destinata a essere utilizzata quando aService
è un sottotipo, ovvero otSrpServerServiceIsSubType()
per il servizio restituisce TRUE. Se non si tratta di un sottotipo, questa funzione restituisce OT_ERROR_INVALID_ARGS
.
Il nome completo di un servizio di sottotipo segue "
nel buffer aLabel
.
Assicurati che la terminazione di aLabel
venga sempre terminata dopo il ritorno anche in caso di errore.
Dettagli | |||||||
---|---|---|---|---|---|---|---|
Parametri |
|
||||||
Valori restituiti |
|
otSrpServerServiceGetTtl
uint32_t otSrpServerServiceGetTtl( const otSrpServerService *aService )
Questa funzione restituisce il TTL dell'istanza di servizio.
Dettagli | |||
---|---|---|---|
Parametri |
|
||
Restituisce |
Il TTL dell'istanza di servizio.
|
otSrpServerServiceGetTxtData
const uint8_t * otSrpServerServiceGetTxtData( const otSrpServerService *aService, uint16_t *aDataLength )
Questa funzione restituisce i dati del record TXT dell'istanza del servizio.
Dettagli | |||||
---|---|---|---|---|---|
Parametri |
|
||||
Restituisce |
Un puntatore al buffer contenente i dati del record TXT (la lunghezza dei dati TXT viene restituita in
aDataLength ). |
otSrpServerServiceGetWeweight
uint16_t otSrpServerServiceGetWeight( const otSrpServerService *aService )
Questa funzione restituisce la ponderazione dell'istanza di servizio.
Dettagli | |||
---|---|---|---|
Parametri |
|
||
Restituisce |
Il peso del servizio.
|
otSrpServerServiceIsDelete
bool otSrpServerServiceIsDeleted( const otSrpServerService *aService )
Questa funzione indica se il servizio SRP è stato eliminato o meno.
Un servizio SRP può essere eliminato, ma conserva il suo nome per utilizzi futuri. In questo caso, l'istanza del servizio non viene rimossa dal server/registro SRP. Se viene eliminato l'host, è garantito che tutti i servizi vengano eliminati.
Dettagli | |||
---|---|---|---|
Parametri |
|
||
Restituisce |
TRUE se il servizio è stato eliminato, FALSE in caso contrario.
|
otSrpServerServiceIsSubType
bool otSrpServerServiceIsSubType( const otSrpServerService *aService )
Questa funzione indica se il servizio SRP è o meno di sottotipo.
Dettagli | |||
---|---|---|---|
Parametri |
|
||
Restituisce |
TRUE se il servizio è un sottotipo, FALSE in caso contrario.
|
otSrpServerSetAddressMode
otError otSrpServerSetAddressMode( otInstance *aInstance, otSrpServerAddressMode aMode )
Questa funzione imposta la modalità indirizzo che deve essere utilizzata dal server SRP.
Dettagli | |||||
---|---|---|---|---|---|
Parametri |
|
||||
Valori restituiti |
|
otSrpServerSetQualsiasicastModeModeNumber
otError otSrpServerSetAnycastModeSequenceNumber( otInstance *aInstance, uint8_t aSequenceNumber )
Questa funzione imposta il numero di sequenza utilizzato con la modalità indirizzo anycast.
Dettagli | |||||
---|---|---|---|---|---|
Parametri |
|
||||
Valori restituiti |
|
otSrpServerSetAutoEnableMode
void otSrpServerSetAutoEnableMode( otInstance *aInstance, bool aEnabled )
Questa funzione abilita/disabilita la modalità di abilitazione automatica sul server SRP.
Questa funzione richiede la funzione OPENTHREAD_CONFIG_BORDER_ROUTING_ENABLE
.
Quando questa modalità è abilitata, Border Routing Manager controlla se/quando attivare o disattivare il server SRP. Il server SRP è abilitato automaticamente se/quando il routing del confine è avviato e viene eseguito con le configurazioni di prefisso e route iniziali (quando vengono determinati i prefissi OMR e on-link, pubblicizzati nel messaggio di pubblicità del router emesso sul lato dell'infrastruttura e pubblicati nei dati di rete di Thread). Il server SRP viene disabilitato automaticamente se/quando BR viene interrotto (ad es. se l'interfaccia di rete dell'infrastruttura è interrotta o se BR si scollega).
Questa modalità può essere disattivata da una chiamata otSrpServerSetAutoEnableMode()
con aEnabled
impostato su false
o se il server SRP è esplicitamente abilitato o disabilitato da una chiamata alla funzione otSrpServerSetEnabled()
. La disattivazione della modalità di attivazione automatica utilizzando otSrpServerSetAutoEnableMode(false)
non cambierà lo stato attuale del server SRP (ad esempio, se è abilitato, rimane attivo).
Dettagli | |||||
---|---|---|---|---|---|
Parametri |
|
otSrpServerSetDomain
otError otSrpServerSetDomain( otInstance *aInstance, const char *aDomain )
Questa funzione imposta il dominio sul server SRP.
Se non è già presente, verrà aggiunto un punto finale a aDomain
. Questa funzione deve essere richiamata solo prima che il server SRP sia abilitato.
Dettagli | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parametri |
|
||||||||
Valori restituiti |
|
otSrpServerSetEnabled
void otSrpServerSetEnabled( otInstance *aInstance, bool aEnabled )
Questa funzione abilita/disabilita il server SRP.
Su un router di confine consigliamo invece di usare otSrpServerSetAutoEnableMode()
.
Dettagli | |||||
---|---|---|---|---|---|
Parametri |
|
otSrpServerSetLeaseConfig
otError otSrpServerSetLeaseConfig( otInstance *aInstance, const otSrpServerLeaseConfig *aLeaseConfig )
Questa funzione imposta le configurazioni LEASE e KEY-LEASE del server SRP.
Quando un client richiede un tempo LEASE diverso da zero, il valore concesso sarà limitato nell'intervallo [aMinLease, aMaxLease] e verrà concesso un valore KEY-LEASE diverso da zero compreso nell'intervallo [aMinKeyLease, aMaxKeyLease]. Per il tempo LEASE o KEY-LEASE zero, verrà concesso zero.
Dettagli | |||||
---|---|---|---|---|---|
Parametri |
|
||||
Valori restituiti |
|
otSrpServerSetServiceUpdateHandler
void otSrpServerSetServiceUpdateHandler( otInstance *aInstance, otSrpServerServiceUpdateHandler aServiceHandler, void *aContext )
Questa funzione imposta il gestore degli aggiornamenti del servizio SRP sul server SRP.
Dettagli | |||||||
---|---|---|---|---|---|---|---|
Parametri |
|
otSrpServerSetTtlConfig
otError otSrpServerSetTtlConfig( otInstance *aInstance, const otSrpServerTtlConfig *aTtlConfig )
Questa funzione imposta la configurazione TTL del server SRP.
Il TTL concesso non sarà mai superiore all'intervallo massimo di lease configurato tramite otSrpServerSetLeaseConfig()
, indipendentemente dalla configurazione TTL minima e massima.
Dettagli | |||||
---|---|---|---|---|---|
Parametri |
|
||||
Valori restituiti |
|
Risorse
Gli argomenti di riferimento dell'API OpenThread provengono dal codice sorgente, disponibile su GitHub. Per scoprire di più o per contribuire alla nostra documentazione, consulta le Risorse.