Suchergebnisseite
Dieses Modul enthält Funktionen, die das Verhalten des SRP-Clients steuern.
Zusammenfassung
Dieses Modul enthält Funktionen des Service Registration Protocol.
Dieses Modul enthält Funktionen für SRP-Clientzwischenspeicher und Dienstpool.
Die Funktionen in diesem Modul sind nur verfügbar, wenn die Funktion OPENTHREAD_CONFIG_SRP_CLIENT_BUFFERS_ENABLE aktiviert ist.
Aufzählungen |
|
---|---|
otSrpClientItemState{
|
enum Gibt den Status eines SRP-Clients (Dienst- oder Hostinformationen) an. |
otSrpServerAddressMode{
|
enum Stellt den vom SRP-Server verwendeten Adressmodus dar. |
otSrpServerState{
|
enum Stellt den Status des SRP-Servers dar. |
Typedefs |
|
---|---|
otSrpClientAutoStartCallback)(const otSockAddr *aServerSockAddr, void *aContext)
|
typedefvoid(*
Der Zeigertyp definiert den Callback, der vom SRP-Client verwendet wird, um den Nutzer zu benachrichtigen, wenn er automatisch gestartet oder beendet wird. |
otSrpClientBuffersServiceEntry
|
typedef Stellt einen Eintrag für einen SRP-Clientdienstpool-Eintrag dar. |
otSrpClientCallback)(otError aError, const otSrpClientHostInfo *aHostInfo, const otSrpClientService *aServices, const otSrpClientService *aRemovedServices, void *aContext)
|
typedefvoid(*
Der Zeigertyp definiert den Callback, der vom SRP-Client verwendet wird, um den Nutzer über Änderungen/Ereignisse/Fehler zu informieren. |
otSrpClientHostInfo
|
typedefstruct otSrpClientHostInfo
Stellt Informationen zum SRP-Clienthost dar. |
otSrpClientService
|
typedefstruct otSrpClientService
Stellt einen SRP-Clientdienst dar. |
otSrpServerAddressMode
|
typedef Stellt den vom SRP-Server verwendeten Adressmodus dar. |
otSrpServerHost
|
typedefstruct otSrpServerHost
Dieser intransparente Typ steht für einen SRP-Diensthost. |
otSrpServerLeaseConfig
|
typedefstruct otSrpServerLeaseConfig
Umfasst SRP-Server-LEASE- und KEY-LEASE-Konfigurationen. |
otSrpServerLeaseInfo
|
typedefstruct otSrpServerLeaseInfo
Enthält SRP-Server-Lease-Informationen eines Hosts/Dienstes. |
otSrpServerResponseCounters
|
typedefstruct otSrpServerResponseCounters
Enthält die Statistiken der SRP-Serverantworten. |
otSrpServerService
|
typedefstruct otSrpServerService
Dieser intransparente Typ steht für einen SRP-Dienst. |
otSrpServerServiceUpdateHandler)(otSrpServerServiceUpdateId aId, const otSrpServerHost *aHost, uint32_t aTimeout, void *aContext)
|
typedefvoid(*
Verarbeitet SRP-Dienstaktualisierungen. |
otSrpServerServiceUpdateId
|
typedefuint32_t
Die ID einer Transaktion für die Aktualisierung des SRP-Dienstes auf dem SRP-Server. |
otSrpServerTtlConfig
|
typedefstruct otSrpServerTtlConfig
Umfasst SRP-Server-TTL-Konfigurationen. |
Funktionen |
|
---|---|
otSrpClientAddService(otInstance *aInstance, otSrpClientService *aService)
|
Fügt einen Dienst hinzu, der beim Server registriert werden soll.
|
otSrpClientBuffersAllocateService(otInstance *aInstance)
|
Ordnet einen neuen Diensteintrag aus dem Pool zu.
|
otSrpClientBuffersFreeAllServices(otInstance *aInstance)
|
void
Gibt alle zuvor zugewiesenen Diensteinträge frei.
|
otSrpClientBuffersFreeService(otInstance *aInstance, otSrpClientBuffersServiceEntry *aService)
|
void
Gibt einen zuvor zugewiesenen Diensteintrag frei.
|
otSrpClientBuffersGetHostAddressesArray(otInstance *aInstance, uint8_t *aArrayLength)
|
Ruft das Array der IPv6-Adresseinträge ab, die als Liste der SRP-Client-Hostadressen verwendet werden sollen.
|
otSrpClientBuffersGetHostNameString(otInstance *aInstance, uint16_t *aSize)
|
char *
Ruft den Stringpuffer ab, der für den Hostnamen des SRP-Clients verwendet werden soll.
|
otSrpClientBuffersGetServiceEntryInstanceNameString(otSrpClientBuffersServiceEntry *aEntry, uint16_t *aSize)
|
char *
Ruft den Stringpuffer für den Dienstinstanznamen aus einem Diensteintrag ab.
|
otSrpClientBuffersGetServiceEntryServiceNameString(otSrpClientBuffersServiceEntry *aEntry, uint16_t *aSize)
|
char *
Ruft den Stringpuffer für den Dienstnamen aus einem Diensteintrag ab.
|
otSrpClientBuffersGetServiceEntryTxtBuffer(otSrpClientBuffersServiceEntry *aEntry, uint16_t *aSize)
|
uint8_t *
Ruft den Puffer für den TXT-Eintrag aus einem Diensteintrag ab.
|
otSrpClientBuffersGetSubTypeLabelsArray(otSrpClientBuffersServiceEntry *aEntry, uint16_t *aArrayLength)
|
const char **
Ruft das Array für Dienstuntertyplabels aus dem Diensteintrag ab.
|
otSrpClientClearHostAndServices(otInstance *aInstance)
|
void
Löscht alle Hostinformationen und alle Dienste.
|
otSrpClientClearService(otInstance *aInstance, otSrpClientService *aService)
|
Löscht einen Dienst und entfernt ihn sofort aus der Liste der Dienstanbieter.
|
otSrpClientDisableAutoStartMode(otInstance *aInstance)
|
void
Deaktiviert den Autostart-Modus.
|
otSrpClientEnableAutoHostAddress(otInstance *aInstance)
|
Aktiviert den Modus für die automatische Hostadresse.
|
otSrpClientEnableAutoStartMode(otInstance *aInstance, otSrpClientAutoStartCallback aCallback, void *aContext)
|
void
Aktiviert den Autostartmodus.
|
otSrpClientGetDomainName(otInstance *aInstance)
|
const char *
Ruft den vom SRP-Client verwendeten Domainnamen ab.
|
otSrpClientGetHostInfo(otInstance *aInstance)
|
const otSrpClientHostInfo *
Ruft die Hostinformationen ab.
|
otSrpClientGetKeyLeaseInterval(otInstance *aInstance)
|
uint32_t
Ruft das Standardintervall für die Schlüsselfreigabe ab, das in SRP-Aktualisierungsanfragen verwendet wird.
|
otSrpClientGetLeaseInterval(otInstance *aInstance)
|
uint32_t
Ruft das standardmäßige Freigabeintervall ab, das in SRP-Aktualisierungsanfragen verwendet wird.
|
otSrpClientGetServerAddress(otInstance *aInstance)
|
const otSockAddr *
Ruft die Socket-Adresse (IPv6-Adresse und Portnummer) des SRP-Servers ab, der vom SRP-Client verwendet wird.
|
otSrpClientGetServices(otInstance *aInstance)
|
const otSrpClientService *
Ruft die Liste der Dienste ab, die vom Client verwaltet werden.
|
otSrpClientGetTtl(otInstance *aInstance)
|
uint32_t
Ruft den TTL-Wert aus jedem Datensatz ab, der in SRP-Aktualisierungsanfragen enthalten ist.
|
otSrpClientIsAutoStartModeEnabled(otInstance *aInstance)
|
bool
Zeigt den aktuellen Status des Autostartmodus an (aktiviert oder deaktiviert).
|
otSrpClientIsRunning(otInstance *aInstance)
|
bool
Gibt an, ob der SRP-Client ausgeführt wird oder nicht.
|
otSrpClientIsServiceKeyRecordEnabled(otInstance *aInstance)
|
bool
Gibt an, ob der Modus zum Einbinden des Dienstschlüssels aktiviert oder deaktiviert ist.
|
otSrpClientItemStateToString(otSrpClientItemState aItemState)
|
const char *
Wandelt einen
otSrpClientItemState in einen String um. |
otSrpClientRemoveHostAndServices(otInstance *aInstance, bool aRemoveKeyLease, bool aSendUnregToServer)
|
Startet den Entfernungsprozess für die Hostinformationen und alle Dienste.
|
otSrpClientRemoveService(otInstance *aInstance, otSrpClientService *aService)
|
Fordert an, dass ein Dienst vom Server abgemeldet wird.
|
otSrpClientSetCallback(otInstance *aInstance, otSrpClientCallback aCallback, void *aContext)
|
void
Legt den Rückruf fest, um den Aufrufer über Ereignisse/Änderungen des SRP-Clients zu informieren.
|
otSrpClientSetDomainName(otInstance *aInstance, const char *aName)
|
Legt den Domainnamen fest, der vom SRP-Client verwendet werden soll.
|
otSrpClientSetHostAddresses(otInstance *aInstance, const otIp6Address *aIp6Addresses, uint8_t aNumAddresses)
|
Legt die Liste der IPv6-Hostadresse fest bzw. aktualisiert sie.
|
otSrpClientSetHostName(otInstance *aInstance, const char *aName)
|
Legt das Label für den Hostnamen fest.
|
otSrpClientSetKeyLeaseInterval(otInstance *aInstance, uint32_t aInterval)
|
void
Legt das Standardintervall für die Schlüsselfreigabe fest, das in SRP-Updateanfragen verwendet wird.
|
otSrpClientSetLeaseInterval(otInstance *aInstance, uint32_t aInterval)
|
void
Legt das standardmäßige Freigabeintervall fest, das in SRP-Updateanfragen verwendet wird.
|
otSrpClientSetServiceKeyRecordEnabled(otInstance *aInstance, bool aEnabled)
|
void
Aktiviert/deaktiviert den Modus „Einschluss von Dienstschlüsseleinträgen“.
|
otSrpClientSetTtl(otInstance *aInstance, uint32_t aTtl)
|
void
Legt den TTL-Wert in jedem Datensatz fest, der in SRP-Aktualisierungsanfragen enthalten ist.
|
otSrpClientStart(otInstance *aInstance, const otSockAddr *aServerSockAddr)
|
Startet den SRP-Clientvorgang.
|
otSrpClientStop(otInstance *aInstance)
|
void
Beendet den Vorgang des SRP-Clients.
|
otSrpServerGetAddressMode(otInstance *aInstance)
|
Gibt den vom SRP-Server verwendeten Adressmodus zurück.
|
otSrpServerGetAnycastModeSequenceNumber(otInstance *aInstance)
|
uint8_t
Gibt die Sequenznummer zurück, die im Anycast-Adressmodus verwendet wird.
|
otSrpServerGetDomain(otInstance *aInstance)
|
const char *
Gibt die für den SRP-Server autorisierte Domain zurück.
|
otSrpServerGetLeaseConfig(otInstance *aInstance, otSrpServerLeaseConfig *aLeaseConfig)
|
void
Gibt LEASE- und KEY-LEASE-Konfigurationen des SRP-Servers zurück.
|
otSrpServerGetNextHost(otInstance *aInstance, const otSrpServerHost *aHost)
|
const otSrpServerHost *
Gibt den nächsten registrierten Host auf dem SRP-Server zurück
|
otSrpServerGetPort(otInstance *aInstance)
|
uint16_t
Gibt den Port zurück, den der SRP-Server überwacht.
|
otSrpServerGetResponseCounters(otInstance *aInstance)
|
const otSrpServerResponseCounters *
Gibt die Antwortzähler des SRP-Servers zurück.
|
otSrpServerGetState(otInstance *aInstance)
|
Gibt den Status des SRP-Servers zurück.
|
otSrpServerGetTtlConfig(otInstance *aInstance, otSrpServerTtlConfig *aTtlConfig)
|
void
Gibt die TTL-Konfiguration des SRP-Servers zurück.
|
otSrpServerHandleServiceUpdateResult(otInstance *aInstance, otSrpServerServiceUpdateId aId, otError aError)
|
void
Meldet das Ergebnis der Verarbeitung einer SRP-Aktualisierung an den SRP-Server.
|
otSrpServerHostGetAddresses(const otSrpServerHost *aHost, uint8_t *aAddressesNum)
|
const otIp6Address *
Gibt die Adressen des angegebenen Hosts zurück.
|
otSrpServerHostGetFullName(const otSrpServerHost *aHost)
|
const char *
Gibt den vollständigen Namen des Hosts zurück
|
otSrpServerHostGetLeaseInfo(const otSrpServerHost *aHost, otSrpServerLeaseInfo *aLeaseInfo)
|
void
Gibt die LEASE- und KEY-LEASE-Informationen eines bestimmten Hosts zurück.
|
otSrpServerHostGetNextService(const otSrpServerHost *aHost, const otSrpServerService *aService)
|
const otSrpServerService *
Gibt den nächsten Dienst des angegebenen Hosts zurück
|
otSrpServerHostIsDeleted(const otSrpServerHost *aHost)
|
bool
Gibt an, ob der SRP-Diensthost gelöscht wurde.
|
otSrpServerHostMatchesFullName(const otSrpServerHost *aHost, const char *aFullName)
|
bool
Gibt an, ob der Host mit einem bestimmten Hostnamen übereinstimmt.
|
otSrpServerIsAutoEnableMode(otInstance *aInstance)
|
bool
Gibt an, ob der Modus für die automatische Aktivierung aktiviert oder deaktiviert ist.
|
otSrpServerParseSubTypeServiceName(const char *aSubTypeServiceName, char *aLabel, uint8_t aLabelSize)
|
Analysiert einen Dienstnamen des Untertyps (vollständiger Name) und extrahiert das Untertyplabel.
|
otSrpServerServiceGetHost(const otSrpServerService *aService)
|
const otSrpServerHost *
Gibt den Host zurück, auf dem sich die Dienstinstanz befindet.
|
otSrpServerServiceGetInstanceLabel(const otSrpServerService *aService)
|
const char *
Gibt das Dienstinstanzlabel (erstes Label im Instanznamen) des Dienstes zurück.
|
otSrpServerServiceGetInstanceName(const otSrpServerService *aService)
|
const char *
Gibt den vollständigen Dienstinstanznamen des Dienstes zurück
|
otSrpServerServiceGetLeaseInfo(const otSrpServerService *aService, otSrpServerLeaseInfo *aLeaseInfo)
|
void
Gibt die LEASE- und KEY-LEASE-Informationen eines bestimmten Dienstes zurück.
|
otSrpServerServiceGetNumberOfSubTypes(const otSrpServerService *aService)
|
uint16_t
Ruft die Anzahl der Untertypen des Dienstes ab.
|
otSrpServerServiceGetPort(const otSrpServerService *aService)
|
uint16_t
Gibt den Port der Dienstinstanz zurück.
|
otSrpServerServiceGetPriority(const otSrpServerService *aService)
|
uint16_t
Gibt die Priorität der Dienstinstanz zurück.
|
otSrpServerServiceGetServiceName(const otSrpServerService *aService)
|
const char *
Gibt den vollständigen Dienstnamen des Dienstes zurück
|
otSrpServerServiceGetSubTypeServiceNameAt(const otSrpServerService *aService, uint16_t aIndex)
|
const char *
Ruft den Dienstuntertypnamen (vollständiger Name) des Dienstes bei einem bestimmten Index ab.
|
otSrpServerServiceGetTtl(const otSrpServerService *aService)
|
uint32_t
Gibt die TTL der Dienstinstanz zurück.
|
otSrpServerServiceGetTxtData(const otSrpServerService *aService, uint16_t *aDataLength)
|
const uint8_t *
Gibt die TXT-Eintragdaten der Dienstinstanz zurück.
|
otSrpServerServiceGetWeight(const otSrpServerService *aService)
|
uint16_t
Gibt die Gewichtung der Dienstinstanz zurück.
|
otSrpServerServiceHasSubTypeServiceName(const otSrpServerService *aService, const char *aSubTypeServiceName)
|
bool
Gibt an, ob der Dienst einen bestimmten Untertyp hat.
|
otSrpServerServiceIsDeleted(const otSrpServerService *aService)
|
bool
Gibt an, ob der SRP-Dienst gelöscht wurde.
|
otSrpServerServiceMatchesInstanceName(const otSrpServerService *aService, const char *aInstanceName)
|
bool
Gibt an, ob dieser Dienst mit einem bestimmten Dienstinstanznamen übereinstimmt.
|
otSrpServerServiceMatchesServiceName(const otSrpServerService *aService, const char *aServiceName)
|
bool
Gibt an, ob dieser Dienst mit einem bestimmten Dienstnamen übereinstimmt.
|
otSrpServerSetAddressMode(otInstance *aInstance, otSrpServerAddressMode aMode)
|
Legt den Adressmodus fest, der vom SRP-Server verwendet werden soll.
|
otSrpServerSetAnycastModeSequenceNumber(otInstance *aInstance, uint8_t aSequenceNumber)
|
Legt die Sequenznummer fest, die im Anycast-Adressmodus verwendet wird.
|
otSrpServerSetAutoEnableMode(otInstance *aInstance, bool aEnabled)
|
void
Aktiviert/deaktiviert den automatischen Aktivierungsmodus auf dem SRP-Server.
|
otSrpServerSetDomain(otInstance *aInstance, const char *aDomain)
|
Legt die Domain auf dem SRP-Server fest.
|
otSrpServerSetEnabled(otInstance *aInstance, bool aEnabled)
|
void
Aktiviert/deaktiviert den SRP-Server.
|
otSrpServerSetLeaseConfig(otInstance *aInstance, const otSrpServerLeaseConfig *aLeaseConfig)
|
Legt die LEASE- und KEY-LEASE-Konfigurationen des SRP-Servers fest.
|
otSrpServerSetServiceUpdateHandler(otInstance *aInstance, otSrpServerServiceUpdateHandler aServiceHandler, void *aContext)
|
void
Legt den Handler für die Aktualisierung des SRP-Dienstes auf dem SRP-Server fest.
|
otSrpServerSetTtlConfig(otInstance *aInstance, const otSrpServerTtlConfig *aTtlConfig)
|
Legt die TTL-Konfiguration des SRP-Servers fest.
|
Strukturen |
|
---|---|
otSrpClientBuffersServiceEntry |
Stellt einen Eintrag für einen SRP-Clientdienstpool-Eintrag dar. |
otSrpClientHostInfo |
Stellt Informationen zum SRP-Clienthost dar. |
otSrpClientService |
Stellt einen SRP-Clientdienst dar. |
otSrpServerLeaseConfig |
Umfasst SRP-Server-LEASE- und KEY-LEASE-Konfigurationen. |
otSrpServerLeaseInfo |
Enthält SRP-Server-Lease-Informationen eines Hosts/Dienstes. |
otSrpServerResponseCounters |
Enthält die Statistiken der SRP-Serverantworten. |
otSrpServerTtlConfig |
Umfasst SRP-Server-TTL-Konfigurationen. |
Aufzählungen
otSrpClientItemState
otSrpClientItemState
Gibt den Status eines SRP-Clients (Dienst- oder Hostinformationen) an.
Attribute | |
---|---|
OT_SRP_CLIENT_ITEM_STATE_ADDING
|
Das Element wird gerade hinzugefügt/registriert. |
OT_SRP_CLIENT_ITEM_STATE_REFRESHING
|
Element wird aktualisiert. |
OT_SRP_CLIENT_ITEM_STATE_REGISTERED
|
Das Element ist beim Server registriert. |
OT_SRP_CLIENT_ITEM_STATE_REMOVED
|
Das Element wurde entfernt. |
OT_SRP_CLIENT_ITEM_STATE_REMOVING
|
Element wird entfernt. |
OT_SRP_CLIENT_ITEM_STATE_TO_ADD
|
Element, das hinzugefügt/registriert werden soll. |
OT_SRP_CLIENT_ITEM_STATE_TO_REFRESH
|
Element, das aktualisiert werden soll (neu registrieren, um Lease zu verlängern) |
OT_SRP_CLIENT_ITEM_STATE_TO_REMOVE
|
Zu entfernendes Element. |
otSrpServerAddressMode
otSrpServerAddressMode
Stellt den vom SRP-Server verwendeten Adressmodus dar.
Der Adressmodus gibt an, wie die Adresse und Portnummer vom SRP-Server ermittelt und wie diese Informationen in den Thread-Netzwerkdaten veröffentlicht werden.
Attribute | |
---|---|
OT_SRP_SERVER_ADDRESS_MODE_ANYCAST
|
Anycast-Adressmodus. |
OT_SRP_SERVER_ADDRESS_MODE_UNICAST
|
Unicast-Adressmodus. |
otSrpServerState
otSrpServerState
Stellt den Status des SRP-Servers dar.
Attribute | |
---|---|
OT_SRP_SERVER_STATE_DISABLED
|
Der SRP-Server ist deaktiviert. |
OT_SRP_SERVER_STATE_RUNNING
|
Der SRP-Server ist aktiviert und wird ausgeführt. |
OT_SRP_SERVER_STATE_STOPPED
|
Der SRP-Server ist aktiviert, aber gestoppt. |
Typedefs
otSrpClientAutoStartCallback
void(* otSrpClientAutoStartCallback)(const otSockAddr *aServerSockAddr, void *aContext)
Der Zeigertyp definiert den Callback, der vom SRP-Client verwendet wird, um den Nutzer zu benachrichtigen, wenn er automatisch gestartet oder beendet wird.
Wird nur verwendet, wenn die Autostart-Funktion „OPENTHREAD_CONFIG_SRP_CLIENT_AUTO_START_API_ENABLE
“ aktiviert ist.
Dieser Callback wird aufgerufen, wenn der Autostart-Modus aktiviert ist und der SRP-Client entweder automatisch gestartet oder gestoppt wird.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
otSrpClientBuffersServiceEntry
struct otSrpClientBuffersServiceEntry otSrpClientBuffersServiceEntry
Stellt einen Eintrag für einen SRP-Clientdienstpool-Eintrag dar.
otSrpClientCallback
void(* otSrpClientCallback)(otError aError, const otSrpClientHostInfo *aHostInfo, const otSrpClientService *aServices, const otSrpClientService *aRemovedServices, void *aContext)
Der Zeigertyp definiert den Callback, der vom SRP-Client verwendet wird, um den Nutzer über Änderungen/Ereignisse/Fehler zu informieren.
Dieser Callback wird bei erfolgreicher Registrierung einer Aktualisierung (d.h. Hinzufügen/Entfernen von Hostinformationen und/oder einigen Diensten) mit dem SRP-Server oder bei einem Fehler oder bei einem Fehler aufgerufen, z.B. wenn der Server eine Aktualisierungsanfrage ablehnt oder der Client beim Warten auf eine Antwort eine Zeitüberschreitung auftritt.
Bei einer erfolgreichen erneuten Registrierung eines Updates wäre der Parameter aError
OT_ERROR_NONE
und die Hostinformationen und die vollständige Liste der Dienste werden als Eingabeparameter für den Callback bereitgestellt. Hostinformationen und -dienste erfassen jeweils ihren eigenen Status in der entsprechenden mState
-Mitgliedsvariablen der zugehörigen Datenstruktur (der Status, der angibt, ob die Hostinformationen/der Dienst registriert oder entfernt wird oder noch hinzugefügt/entfernt wird usw.).
Die Liste der entfernten Dienste wird im Callback als eigene verknüpfte Liste (aRemovedServices
) übergeben. Wenn der Callback aufgerufen wird, erfolgt der SRP-Client (OpenThread-Implementierung) mit den entfernten Dienstinstanzen, die in aRemovedServices
aufgeführt sind, und erfasst/speichert sie nicht mehr (d.h., wenn wir aus dem Callback otSrpClientGetServices()
aufrufen, sind die entfernten Dienste nicht in der zurückgegebenen Liste enthalten). Durch die Bereitstellung einer separaten Liste der entfernten Dienste im Callback kann der Nutzer sehen, welche Elemente jetzt entfernt wurden, und die Instanzen können wieder beansprucht und wiederverwendet werden.
Wenn der Server eine Anfrage zur Aktualisierung der SRP-Seite ablehnt, wird der DNS-Antwortcode (RFC 2136) den folgenden Fehlern zugeordnet:
- (0) NOERROR Erfolgreich (keine Fehlerbedingung) -> OT_ERROR_NONE
- (1) FORMERR Server kann aufgrund eines Formatfehlers nicht interpretiert werden -> OT_ERROR_PARSE
- (2) SERVFAIL-Server hat einen internen Fehler festgestellt -> OT_ERROR_FAILED
- (3) NXDOMAIN-Name, der vorhanden sein sollte, existiert jedoch nicht -> OT_ERROR_NOT_FOUND
- (4) NOTIMP Server unterstützt nicht den Abfragetyp (OpCode) -> OT_ERROR_NOT_IMPLEMENTED
- (5) REFUSED Server abgelehnt aus Richtlinien-/Sicherheitsgründen -> OT_ERROR_SECURITY
- (6) YXDOMAIN Ein Name, der nicht vorhanden sein sollte, ist vorhanden -> OT_ERROR_DUPLICATED
- (7) YXRRSET Einige RRset-Werte, die nicht vorhanden sein sollten, ist vorhanden -> OT_ERROR_DUPLICATED
- (8) NXRRSET Einige RRset-Werte, die vorhanden sein sollten, ist nicht vorhanden -> OT_ERROR_NOT_FOUND
- (9) NOTAUTH-Dienst ist nicht autoritativ für Zone -> OT_ERROR_SECURITY
- (10) NOTZONE A Name ist nicht in der Zone enthalten -> OT_ERROR_PARSE
- (20) BADNAME Falscher Name -> OT_ERROR_PARSE
- (21) BADALG Schlechter Algorithmus -> OT_ERROR_SECURITY
- (22) BADTRUN Falsche Kürzung -> OT_ERROR_PARSE
- Andere Antwortcodes -> OT_ERROR_FAILED
Folgende Fehler können ebenfalls auftreten:
- OT_ERROR_ANSWER_TIMEOUT : Zeitüberschreitung beim Warten auf die Antwort des Servers. Der Client würde versuchen, den Vorgang fortzusetzen.
- OT_ERROR_INVALID_ARGS : Die angegebene Dienststruktur ist ungültig (z.B. falscher Dienstname oder
otDnsTxtEntry
). - OT_ERROR_NO_BUFS : Nicht genügend Puffer zum Vorbereiten oder Senden der Aktualisierungsnachricht.
Bei einem Fehler setzt der Client den Vorgang fort, d.h. er bereitet die SRP-Aktualisierungsnachricht vor und (noch einmal) nach einem Warteintervall an den Server. Das Warteintervall für Wiederholungsversuche beginnt beim Mindestwert und wird bei jedem Fehler um den Wachstumsfaktor bis zum Maximalwert erhöht. Weitere Informationen finden Sie im Konfigurationsparameter OPENTHREAD_CONFIG_SRP_CLIENT_MIN_RETRY_WAIT_INTERVAL
und in den zugehörigen Abschnitten.
Details | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parameter |
|
otSrpClientHostInfo
struct otSrpClientHostInfo otSrpClientHostInfo
Stellt Informationen zum SRP-Clienthost dar.
otSrpClientService
struct otSrpClientService otSrpClientService
Stellt einen SRP-Clientdienst dar.
Die Werte in dieser Struktur, einschließlich der Stringpuffer für die Namen und TXT-Eintrageinträge, MÜSSEN beibehalten und konstant bleiben, nachdem eine Instanz dieser Struktur von otSrpClientAddService()
oder otSrpClientRemoveService()
an OpenThread übergeben wurde.
Die Felder mState
, mData
und mNext
werden nur vom OT-Kern verwendet/verwaltet. Deren Wert wird ignoriert, wenn eine Instanz von otSrpClientService
in otSrpClientAddService()
, otSrpClientRemoveService()
oder anderen Funktionen übergeben wird. Der Aufrufer muss diese Felder nicht festlegen.
In den Feldern mLease
und mKeyLease
werden die gewünschten Freigabe- und Schlüsselfreigabeintervalle für diesen Dienst angegeben. Ein Nullwert gibt an, dass das Intervall nicht angegeben ist. Dann werden für diesen Dienst die standardmäßigen Freigabe- oder Schlüsselfreigabeintervalle von otSrpClientGetLeaseInterval()
und otSrpClientGetKeyLeaseInterval()
verwendet. Wenn das Freigabeintervall (entweder explizit festgelegt oder anhand des Standardwerts bestimmt) kürzer als das Freigabeintervall für einen Dienst ist, verwendet der SRP-Client den Freigabeintervallwert auch für das Schlüsselfreigabeintervall. Beispiel: Wenn für den Dienst mLease
ausdrücklich 2 Tage, für mKeyLease
null und das standardmäßige Schlüssel-Lease auf 1 Tag festgelegt ist, wird bei der Registrierung dieses Dienstes auch die angeforderte Schlüsselfreigabe für diesen Dienst auf 2 Tage festgelegt.
otSrpServerAddressMode
enum otSrpServerAddressMode otSrpServerAddressMode
Stellt den vom SRP-Server verwendeten Adressmodus dar.
Der Adressmodus gibt an, wie die Adresse und Portnummer vom SRP-Server ermittelt und wie diese Informationen in den Thread-Netzwerkdaten veröffentlicht werden.
otSrpServerHost
struct otSrpServerHost otSrpServerHost
Dieser intransparente Typ steht für einen SRP-Diensthost.
otSrpServerLeaseConfig
struct otSrpServerLeaseConfig otSrpServerLeaseConfig
Umfasst SRP-Server-LEASE- und KEY-LEASE-Konfigurationen.
otSrpServerLeaseInfo
struct otSrpServerLeaseInfo otSrpServerLeaseInfo
Enthält SRP-Server-Lease-Informationen eines Hosts/Dienstes.
otSrpServerResponseCounters
struct otSrpServerResponseCounters otSrpServerResponseCounters
Enthält die Statistiken der SRP-Serverantworten.
otSrpServerService
struct otSrpServerService otSrpServerService
Dieser intransparente Typ steht für einen SRP-Dienst.
otSrpServerServiceUpdateHandler
void(* otSrpServerServiceUpdateHandler)(otSrpServerServiceUpdateId aId, const otSrpServerHost *aHost, uint32_t aTimeout, void *aContext)
Verarbeitet SRP-Dienstaktualisierungen.
Wird vom SRP-Server aufgerufen, um zu informieren, dass ein SRP-Host und möglicherweise SRP-Dienste aktualisiert werden. Es ist wichtig, dass die SRP-Aktualisierungen erst festgeschrieben werden, wenn der Handler das Ergebnis durch Aufrufen von otSrpServerHandleServiceUpdateResult zurückgibt oder dass nach aTimeout
eine Zeitüberschreitung auftritt.
Ein SRP-Dienstbeobachter sollte otSrpServerHandleServiceUpdateResult immer sofort nach Erhalt der Aktualisierungsereignisse mit dem Fehlercode OT_ERROR_NONE aufrufen.
Ein allgemeinerer Handler kann Validierungen für den SRP-Host bzw. die SRP-Dienste durchführen und die SRP-Updates ablehnen, wenn eine Validierung fehlschlägt. Ein Advertising Proxy sollte beispielsweise den Host und die Dienste über einen Multicast-fähigen Link anbieten (oder entfernen) und gibt einen spezifischen Fehlercode zurück, wenn ein Fehler auftritt.
Details | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parameter |
|
otSrpServerSetServiceUpdateHandler
otSrpServerHandleServiceUpdateResult
otSrpServerServiceUpdateId
uint32_t otSrpServerServiceUpdateId
Die ID einer Transaktion für die Aktualisierung des SRP-Dienstes auf dem SRP-Server.
otSrpServerTtlConfig
struct otSrpServerTtlConfig otSrpServerTtlConfig
Umfasst SRP-Server-TTL-Konfigurationen.
Funktionen
otSrpClientAddService
otError otSrpClientAddService( otInstance *aInstance, otSrpClientService *aService )
Fügt einen Dienst hinzu, der beim Server registriert werden soll.
Nach einem erfolgreichen Aufruf dieser Funktion wird otSrpClientCallback
aufgerufen, um den Status des Hinzufügens bzw. Registrierens des Dienstes beim SRP-Server zu melden.
Die otSrpClientService
-Instanz, auf die aService
verweist, MUSS bestehen bleiben und bleibt nach der Rückkehr von dieser Funktion (mit OT_ERROR_NONE
) unverändert. OpenThread speichert den Zeiger auf die Dienstinstanz.
Die Instanz otSrpClientService
wird von OpenThread nicht mehr verfolgt und kann nur dann zurückgefordert werden, wenn
- Sie wird explizit durch einen Aufruf von
otSrpClientRemoveService()
entfernt oder zusammen mit anderen Diensten durch einen Aufruf vonotSrpClientRemoveHostAndServices() and only after the
otSrpClientCallback`, der angibt, dass der Dienst entfernt wurde. oder - Ein Aufruf von
otSrpClientClearHostAndServices()
, durch den der Host und alle zugehörigen Dienste sofort entfernt werden.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
||||||
Rückgabewerte |
|
otSrpClientBuffersAllocateService
otSrpClientBuffersServiceEntry * otSrpClientBuffersAllocateService( otInstance *aInstance )
Ordnet einen neuen Diensteintrag aus dem Pool zu.
Die zurückgegebene Diensteintragsinstanz wird so initialisiert:
mService.mName
verweist auf einen zugewiesenen Stringzwischenspeicher, der mit der FunktionotSrpClientBuffersGetServiceEntryServiceNameString()
abgerufen werden kann.mService.mInstanceName
verweist auf einen zugewiesenen Stringzwischenspeicher, der mit der FunktionotSrpClientBuffersGetServiceEntryInstanceNameString()
abgerufen werden kann.mService.mSubTypeLabels
verweist auf ein Array, das vonotSrpClientBuffersGetSubTypeLabelsArray()
zurückgegeben wird.mService.mTxtEntries
verweist aufmTxtEntry
.mService.mNumTxtEntries
wird auf eins festgelegt.- Andere
mService
-Felder (Port, Priorität, Gewichtung) sind auf null gesetzt. mTxtEntry.mKey
ist auf NULL gesetzt (der Wert wird als bereits codiert behandelt).mTxtEntry.mValue
verweist auf einen zugewiesenen Zwischenspeicher, der mit der FunktionotSrpClientBuffersGetServiceEntryTxtBuffer()
abgerufen werden kann.mTxtEntry.mValueLength
ist auf null gesetzt.- Alle zugehörigen Daten-/Zeichenfolgenpuffer und Arrays werden auf null zurückgesetzt.
Details | |||
---|---|---|---|
Parameter |
|
||
Rückgabe |
Ein Zeiger auf den neu zugewiesenen Diensteintrag oder NULL, wenn nicht mehr Eintrag im Pool verfügbar ist.
|
otSrpClientBuffersFreeAllServices
void otSrpClientBuffersFreeAllServices( otInstance *aInstance )
Gibt alle zuvor zugewiesenen Diensteinträge frei.
Details | |||
---|---|---|---|
Parameter |
|
otSrpClientBuffersFreeService
void otSrpClientBuffersFreeService( otInstance *aInstance, otSrpClientBuffersServiceEntry *aService )
Gibt einen zuvor zugewiesenen Diensteintrag frei.
aService
MUSS zuvor mit otSrpClientBuffersAllocateService()
zugewiesen und noch nicht freigegeben werden. Andernfalls ist das Verhalten dieser Funktion nicht definiert.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
otSrpClientBuffersGetHostAddressesArray
otIp6Address * otSrpClientBuffersGetHostAddressesArray( otInstance *aInstance, uint8_t *aArrayLength )
Ruft das Array der IPv6-Adresseinträge ab, die als Liste der SRP-Client-Hostadressen verwendet werden sollen.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
||||
Rückgabe |
Ein Zeiger auf ein Array mit
otIp6Address -Einträgen (die Anzahl der Einträge wird in aArrayLength zurückgegeben). |
otSrpClientBuffersGetHostNameString
char * otSrpClientBuffersGetHostNameString( otInstance *aInstance, uint16_t *aSize )
Ruft den Stringpuffer ab, der für den Hostnamen des SRP-Clients verwendet werden soll.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
||||
Rückgabe |
Ein Zeiger auf den Zeichenpuffer, der für den Hostnamen des SRP-Clients verwendet werden soll.
|
otSrpClientBuffersGetServiceEntryInstanceNameString
char * otSrpClientBuffersGetServiceEntryInstanceNameString( otSrpClientBuffersServiceEntry *aEntry, uint16_t *aSize )
Ruft den Stringpuffer für den Dienstinstanznamen aus einem Diensteintrag ab.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
||||
Rückgabe |
Ein Zeiger auf den Stringpuffer.
|
otSrpClientBuffersGetServiceEntryServiceNameString
char * otSrpClientBuffersGetServiceEntryServiceNameString( otSrpClientBuffersServiceEntry *aEntry, uint16_t *aSize )
Ruft den Stringpuffer für den Dienstnamen aus einem Diensteintrag ab.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
||||
Rückgabe |
Ein Zeiger auf den Stringpuffer.
|
otSrpClientBuffersGetServiceEntryTxtBuffer
uint8_t * otSrpClientBuffersGetServiceEntryTxtBuffer( otSrpClientBuffersServiceEntry *aEntry, uint16_t *aSize )
Ruft den Puffer für den TXT-Eintrag aus einem Diensteintrag ab.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
||||
Rückgabe |
Ein Zeiger zum Zwischenspeicher.
|
otSrpClientBuffersGetSubTypeLabelsArray
const char ** otSrpClientBuffersGetSubTypeLabelsArray( otSrpClientBuffersServiceEntry *aEntry, uint16_t *aArrayLength )
Ruft das Array für Dienstuntertyplabels aus dem Diensteintrag ab.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
||||
Rückgabe |
Ein Zeiger auf das Array.
|
otSrpClientClearHostAndServices
void otSrpClientClearHostAndServices( otInstance *aInstance )
Löscht alle Hostinformationen und alle Dienste.
Im Gegensatz zu otSrpClientRemoveHostAndServices()
, das eine Aktualisierungsnachricht an den Server sendet, um alle Informationen zu entfernen, löscht diese Funktion alle Informationen sofort und ohne Interaktion mit dem Server.
Details | |||
---|---|---|---|
Parameter |
|
otSrpClientClearService
otError otSrpClientClearService( otInstance *aInstance, otSrpClientService *aService )
Löscht einen Dienst und entfernt ihn sofort aus der Liste der Dienstanbieter.
Im Gegensatz zu otSrpClientRemoveService()
, das eine Aktualisierungsnachricht zum Entfernen des Dienstes an den Server sendet, löscht diese Funktion den Dienst ohne Interaktion mit dem Server aus der Dienstliste des Clients. Bei einem erfolgreichen Aufruf dieser Funktion wird otSrpClientCallback
NICHT aufgerufen und der Eintrag aService
kann sofort vom Aufrufer zurückgefordert und wiederverwendet werden.
Kann zusammen mit einem nachfolgenden Aufruf von otSrpClientAddService()
verwendet werden, um einige Parameter in einem vorhandenen Dienst zu aktualisieren. Dabei kann es sich um denselben aService
-Eintrag mit demselben Dienst und denselben Instanznamen handeln.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
||||
Rückgabewerte |
|
otSrpClientDisableAutoStartMode
void otSrpClientDisableAutoStartMode( otInstance *aInstance )
Deaktiviert den Autostart-Modus.
Diese Option ist nur verfügbar, wenn die automatische Startfunktion „OPENTHREAD_CONFIG_SRP_CLIENT_AUTO_START_API_ENABLE
“ aktiviert ist.
Durch das Deaktivieren des automatischen Startmodus wird der Client nicht gestoppt, wenn er bereits ausgeführt wird. Der Client beendet jedoch die Überwachung der Thread-Netzwerkdaten, um zu prüfen, ob der ausgewählte SRP-Server noch darin vorhanden ist.
Durch einen Aufruf von otSrpClientStop()
wird auch der Autostartmodus deaktiviert.
Details | |||
---|---|---|---|
Parameter |
|
otSrpClientEnableAutoHostAddress
otError otSrpClientEnableAutoHostAddress( otInstance *aInstance )
Aktiviert den Modus für die automatische Hostadresse.
Wenn diese Option aktiviert ist, werden Host-IPv6-Adressen automatisch vom SRP-Client unter Verwendung aller bevorzugten Unicast-Adressen im Thread-Netzwerk festgelegt, ausgenommen Link-Local- und Mesh-Local-Adressen. Wenn keine bevorzugte Adresse vorhanden ist, wird die lokale EID-Adresse des Mesh-Netzwerks hinzugefügt. Der SRP-Client wird automatisch neu registriert, wenn Adressen im Thread-Netif aktualisiert werden (neue Adressen werden hinzugefügt oder vorhandene Adressen werden entfernt oder als nicht bevorzugt markiert).
Der Modus für die automatische Hostadresse kann vor dem Start oder während des Betriebs des SRP-Clients aktiviert werden, es sei denn, die Hostinformationen werden entfernt, weil der Client gerade mit der Bearbeitung einer Anfrage zum Entfernen eines Aufrufs von otSrpClientRemoveHostAndServices()
beschäftigt ist und die Hostinformationen sich noch im Status STATE_TO_REMOVE
oder STATE_REMOVING
befinden.
Nachdem der Modus für die automatische Hostadresse aktiviert wurde, kann er durch einen Aufruf von otSrpClientSetHostAddresses()
deaktiviert werden, der dann explizit die Hostadressen festlegt.
Details | |||||
---|---|---|---|---|---|
Rückgabewerte |
|
otSrpClientEnableAutoStartMode
void otSrpClientEnableAutoStartMode( otInstance *aInstance, otSrpClientAutoStartCallback aCallback, void *aContext )
Aktiviert den Autostartmodus.
Diese Option ist nur verfügbar, wenn die automatische Startfunktion „OPENTHREAD_CONFIG_SRP_CLIENT_AUTO_START_API_ENABLE
“ aktiviert ist.
Die Konfigurationsoption OPENTHREAD_CONFIG_SRP_CLIENT_AUTO_START_DEFAULT_MODE
gibt den Standard-Autostartmodus an, d. h., ob sie beim Start des OT-Stacks aktiviert oder deaktiviert ist.
Wenn „Auto-Start“ aktiviert ist, überwacht der SRP-Client die Thread-Netzwerkdaten, um SRP-Server zu erkennen, den bevorzugten Server auszuwählen und den Client automatisch zu starten und zu stoppen, wenn ein SRP-Server erkannt wird.
Es gibt drei Kategorien von Netzwerkdateneinträgen, die auf das Vorhandensein eines SRP-Servers hinweisen. Sie werden in der folgenden Reihenfolge bevorzugt:
1) Bevorzugte Unicast-Einträge, bei denen die Serveradresse in den Dienstdaten enthalten ist. Wenn mehrere Optionen vorhanden sind, wird die mit der numerisch niedrigsten IPv6-Adresse bevorzugt.
2) Anycast-Einträge, die jeweils eine Sequenznummer haben Eine größere Sequenznummer im Sinne der arithmetischen Logik der Seriennummer in RFC-1982 wird als aktueller angesehen und daher bevorzugt. Die größte Sequenznummer mit Seriennummernarithmetik wird bevorzugt, wenn sie klar definiert ist (d.h. die Seriennummer ist größer als alle anderen Sequenznummern). Wenn sie nicht klar definiert ist, wird die numerisch größte Sequenznummer vorgezogen.
3) Unicast-Einträge, bei denen die Serveradresseninformationen in den Serverdaten enthalten sind. Wenn mehrere Optionen vorhanden sind, wird die mit der numerisch niedrigsten IPv6-Adresse bevorzugt.
Wenn es eine Änderung in den Netzwerkdateneinträgen gibt, prüft der Client, ob der aktuell ausgewählte Server in den Netzwerkdaten noch vorhanden und immer noch der bevorzugte Server ist. Andernfalls wechselt der Client zum neuen bevorzugten Server oder wird beendet, falls keiner vorhanden ist.
Wenn der SRP-Client explizit durch einen erfolgreichen Aufruf von otSrpClientStart()
gestartet wird, wird die angegebene SRP-Serveradresse in otSrpClientStart()
weiterhin verwendet, unabhängig vom Status des Autostartmodus und davon, ob dieselbe SRP-Serveradresse in den Thread-Netzwerkdaten erkannt wird oder nicht. In diesem Fall wird der Client nur durch einen expliziten otSrpClientStop()
-Aufruf gestoppt.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
otSrpClientGetDomainName
const char * otSrpClientGetDomainName( otInstance *aInstance )
Ruft den vom SRP-Client verwendeten Domainnamen ab.
Hierfür muss OPENTHREAD_CONFIG_SRP_CLIENT_DOMAIN_NAME_API_ENABLE
aktiviert sein.
Wenn kein Domainname festgelegt ist, wird „default.service.arpa“ verwendet.
Details | |||
---|---|---|---|
Parameter |
|
||
Rückgabe |
Der String für den Domainnamen.
|
otSrpClientGetHostInfo
const otSrpClientHostInfo * otSrpClientGetHostInfo( otInstance *aInstance )
Ruft die Hostinformationen ab.
Details | |||
---|---|---|---|
Parameter |
|
||
Rückgabe |
Ein Zeiger auf die Host-Infostruktur.
|
otSrpClientGetKeyLeaseInterval
uint32_t otSrpClientGetKeyLeaseInterval( otInstance *aInstance )
Ruft das Standardintervall für die Schlüsselfreigabe ab, das in SRP-Aktualisierungsanfragen verwendet wird.
Das Standardintervall wird nur für otSrpClientService
-Instanzen verwendet, bei denen mKeyLease
auf null gesetzt ist.
Beachten Sie, dass dies die Lease-Dauer ist, die vom SRP-Client angefordert wird. Der Server kann ein anderes Freigabeintervall akzeptieren.
Details | |||
---|---|---|---|
Parameter |
|
||
Rückgabe |
Das Intervall der Schlüsselfreigabe in Sekunden.
|
otSrpClientGetLeaseInterval
uint32_t otSrpClientGetLeaseInterval( otInstance *aInstance )
Ruft das standardmäßige Freigabeintervall ab, das in SRP-Aktualisierungsanfragen verwendet wird.
Das Standardintervall wird nur für otSrpClientService
-Instanzen verwendet, bei denen mLease
auf null gesetzt ist.
Beachten Sie, dass dies die Lease-Dauer ist, die vom SRP-Client angefordert wird. Der Server kann ein anderes Freigabeintervall akzeptieren.
Details | |||
---|---|---|---|
Parameter |
|
||
Rückgabe |
Das Freigabeintervall (in Sekunden).
|
otSrpClientGetServerAddress
const otSockAddr * otSrpClientGetServerAddress( otInstance *aInstance )
Ruft die Socket-Adresse (IPv6-Adresse und Portnummer) des SRP-Servers ab, der vom SRP-Client verwendet wird.
Wenn der Client nicht ausgeführt wird, ist die Adresse nicht angegeben (alle Null) und die Portnummer null.
Details | |||
---|---|---|---|
Parameter |
|
||
Rückgabe |
Ein Zeiger auf die Socket-Adresse des SRP-Servers (ist immer nicht NULL).
|
otSrpClientGetServices
const otSrpClientService * otSrpClientGetServices( otInstance *aInstance )
Ruft die Liste der Dienste ab, die vom Client verwaltet werden.
Details | |||
---|---|---|---|
Parameter |
|
||
Rückgabe |
Ein Zeiger auf den Kopf der verknüpften Liste aller Dienste oder NULL, wenn die Liste leer ist.
|
otSrpClientGetTtl
uint32_t otSrpClientGetTtl( otInstance *aInstance )
Ruft den TTL-Wert aus jedem Datensatz ab, der in SRP-Aktualisierungsanfragen enthalten ist.
Beachten Sie, dass dies die vom SRP-Client angeforderte TTL ist. Möglicherweise akzeptiert der Server eine andere TTL.
Standardmäßig entspricht die TTL dem Freigabeintervall. Wenn 0 oder ein Wert, der größer als das Freigabeintervall über otSrpClientSetTtl()
ist, übergeben, entspricht die TTL ebenfalls dem Freigabeintervall.
Details | |||
---|---|---|---|
Parameter |
|
||
Rückgabe |
Die TTL in Sekunden.
|
otSrpClientIsAutoStartModeEnabled
bool otSrpClientIsAutoStartModeEnabled( otInstance *aInstance )
Zeigt den aktuellen Status des Autostartmodus an (aktiviert oder deaktiviert).
Diese Option ist nur verfügbar, wenn die automatische Startfunktion „OPENTHREAD_CONFIG_SRP_CLIENT_AUTO_START_API_ENABLE
“ aktiviert ist.
Details | |||
---|---|---|---|
Parameter |
|
||
Rückgabe |
TRUE, wenn der Autostartmodus aktiviert ist, andernfalls FALSE.
|
otSrpClientIsRunning
bool otSrpClientIsRunning( otInstance *aInstance )
Gibt an, ob der SRP-Client ausgeführt wird oder nicht.
Details | |||
---|---|---|---|
Parameter |
|
||
Rückgabe |
TRUE, wenn der SRP-Client ausgeführt wird, andernfalls FALSE.
|
otSrpClientIsServiceKeyRecordEnabled
bool otSrpClientIsServiceKeyRecordEnabled( otInstance *aInstance )
Gibt an, ob der Modus zum Einbinden des Dienstschlüssels aktiviert oder deaktiviert ist.
Ist verfügbar, wenn die OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE
-Konfiguration aktiviert ist.
Details | |||
---|---|---|---|
Parameter |
|
||
Rückgabe |
TRUE, wenn der Modus „Einschluss des Dienstschlüssels“ aktiviert ist, andernfalls FALSE.
|
otSrpClientItemStateToString
const char * otSrpClientItemStateToString( otSrpClientItemState aItemState )
Wandelt einen otSrpClientItemState
in einen String um.
Details | |||
---|---|---|---|
Parameter |
|
||
Rückgabe |
Eine Stringdarstellung von
aItemState . |
otSrpClientRemoveHostAndServices
otError otSrpClientRemoveHostAndServices( otInstance *aInstance, bool aRemoveKeyLease, bool aSendUnregToServer )
Startet den Entfernungsprozess für die Hostinformationen und alle Dienste.
Nach der Rückkehr von dieser Funktion wird otSrpClientCallback
aufgerufen, um den Status der Entfernungsanfrage an den SRP-Server zu melden.
Wenn die Hostinformationen dauerhaft vom Server entfernt werden sollen, sollte aRemoveKeyLease
auf true
gesetzt werden. Dadurch wird die mit dem Host auf dem Server verknüpfte Schlüsselfreigabe entfernt. Andernfalls wird der Schlüssel-Lease-Datensatz wie zuvor beibehalten, wodurch sichergestellt wird, dass der Server den Hostnamen in Reserve hält, wenn der Client seine Dienste wieder bereitstellen und registrieren kann.
aSendUnregToServer
bestimmt das Verhalten, wenn die Hostinformationen noch nicht auf dem Server registriert sind. Wenn aSendUnregToServer
auf false
(Standard/erwarteter Wert) gesetzt ist, entfernt der SRP-Client sofort die Hostinformationen und -dienste, ohne eine Aktualisierungsnachricht an den Server zu senden. Der Server muss nicht aktualisiert werden, wenn noch nichts auf ihm registriert ist. Wenn aSendUnregToServer
auf true
gesetzt ist, sendet der SRP-Client eine Aktualisierungsnachricht an den Server. Wenn die Hostinformationen registriert sind, spielt der Wert von aSendUnregToServer
keine Rolle. Der SRP-Client sendet dann immer eine Aktualisierungsnachricht an den Server, in der er darum bittet, alle Informationen zu entfernen.
Wenn aSendUnregToServer
beim Zurücksetzen/Neustart des Geräts hilfreich sein kann, möchte der Aufrufer möglicherweise alle zuvor registrierten Dienste auf dem Server entfernen. In diesem Fall kann der Aufrufer otSrpClientSetHostName()
und dann otSrpClientRemoveHostAndServices()
mit aSendUnregToServer
als true
anfordern.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
||||||
Rückgabewerte |
|
otSrpClientRemoveService
otError otSrpClientRemoveService( otInstance *aInstance, otSrpClientService *aService )
Fordert an, dass ein Dienst vom Server abgemeldet wird.
Nach einem erfolgreichen Aufruf dieser Funktion wird otSrpClientCallback
aufgerufen, um den Status der Entfernungsanfrage an den SRP-Server zu melden.
Die otSrpClientService
-Instanz, auf die aService
verweist, MUSS bestehen bleiben und bleibt nach der Rückkehr von dieser Funktion (mit OT_ERROR_NONE
) unverändert. OpenThread behält die Dienstinstanz während des Entfernens bei. Erst nach dem Aufruf von otSrpClientCallback
gibt an, dass die Dienstinstanz aus der SRP-Clientdienstliste entfernt wurde und freigegeben/wiederverwendet werden kann.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
||||
Rückgabewerte |
|
otSrpClientSetCallback
void otSrpClientSetCallback( otInstance *aInstance, otSrpClientCallback aCallback, void *aContext )
Legt den Rückruf fest, um den Aufrufer über Ereignisse/Änderungen des SRP-Clients zu informieren.
Der SRP-Client lässt die Registrierung eines einzelnen Callbacks zu. Aufeinanderfolgende Aufrufe dieser Funktion überschreiben daher alle zuvor festgelegten Callback-Funktionen.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
otSrpClientSetDomainName
otError otSrpClientSetDomainName( otInstance *aInstance, const char *aName )
Legt den Domainnamen fest, der vom SRP-Client verwendet werden soll.
Hierfür muss OPENTHREAD_CONFIG_SRP_CLIENT_DOMAIN_NAME_API_ENABLE
aktiviert sein.
Wenn nicht festgelegt, wird „default.service.arpa“ verwendet.
Der Zwischenspeicher für den Namensstring, auf den aName
verweist, MUSS erhalten bleiben und bleibt nach der Rückgabe von dieser Funktion unverändert. OpenThread behält den Zeiger auf den String bei.
Der Domainname kann festgelegt werden, bevor der Client gestartet oder nach dem Start, aber bevor die Hostinformationen beim Server registriert werden (Hostinformationen sollten entweder in STATE_TO_ADD
oder STATE_TO_REMOVE
angegeben werden).
Details | |||||
---|---|---|---|---|---|
Parameter |
|
||||
Rückgabewerte |
|
otSrpClientSetHostAddresses
otError otSrpClientSetHostAddresses( otInstance *aInstance, const otIp6Address *aIp6Addresses, uint8_t aNumAddresses )
Legt die Liste der IPv6-Hostadresse fest bzw. aktualisiert sie.
Host-IPv6-Adressen können vor dem Start oder während des Betriebs des SRP-Clients festgelegt oder geändert werden (z.B. um eine zuvor registrierte Hostadresse hinzuzufügen, zu entfernen oder zu ändern), es sei denn, die Hostinformationen werden entfernt, da der Client gerade mit einer Entfernungsanfrage aus einem früheren Aufruf an otSrpClientRemoveHostAndServices()
beschäftigt ist und die Hostinformationen sich noch im Status STATE_TO_REMOVE
oder STATE_REMOVING
befinden.
Das IPv6-Adressarray des Hosts, auf das aIp6Addresses
verweist, MUSS bestehen bleiben und bleibt nach der Rückgabe von dieser Funktion (mit OT_ERROR_NONE
) unverändert. OpenThread speichert den Zeiger im Array.
Nach einem erfolgreichen Aufruf dieser Funktion wird otSrpClientCallback
aufgerufen, um den Status der Adressregistrierung beim SRP-Server zu melden.
Durch den Aufruf dieser Funktion wird der Modus für die automatische Hostadresse deaktiviert, wenn er zuvor durch einen erfolgreichen Aufruf von otSrpClientEnableAutoHostAddress()
aktiviert wurde.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
||||||
Rückgabewerte |
|
otSrpClientSetHostName
otError otSrpClientSetHostName( otInstance *aInstance, const char *aName )
Legt das Label für den Hostnamen fest.
Nach einem erfolgreichen Aufruf dieser Funktion wird otSrpClientCallback
aufgerufen, um den Status der Registrierung der Hostinformationen beim SRP-Server zu melden.
Der Zwischenspeicher für den Namensstring, auf den aName
verweist, MUSS erhalten bleiben und bleibt nach der Rückgabe von dieser Funktion unverändert. OpenThread behält den Zeiger auf den String bei.
Der Hostname kann festgelegt werden, bevor der Client oder nach dem Start, aber bevor die Hostinformationen beim Server registriert werden (Hostinformationen sollten entweder in STATE_TO_ADD
oder STATE_REMOVED
angegeben werden).
Details | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
||||||
Rückgabewerte |
|
otSrpClientSetKeyLeaseInterval
void otSrpClientSetKeyLeaseInterval( otInstance *aInstance, uint32_t aInterval )
Legt das Standardintervall für die Schlüsselfreigabe fest, das in SRP-Updateanfragen verwendet wird.
Das Standardintervall wird nur für otSrpClientService
-Instanzen verwendet, bei denen mKeyLease
auf null gesetzt ist.
Eine Änderung des Freigabeintervalls wirkt sich nicht auf das akzeptierte Freigabeintervall für bereits registrierte Dienste/Hostinformationen aus, sondern nur auf zukünftige SRP-Updates (z. B. Hinzufügen neuer Dienste und/oder Aktualisierungen vorhandener Dienste).
Details | |||||
---|---|---|---|---|---|
Parameter |
|
otSrpClientSetLeaseInterval
void otSrpClientSetLeaseInterval( otInstance *aInstance, uint32_t aInterval )
Legt das standardmäßige Freigabeintervall fest, das in SRP-Updateanfragen verwendet wird.
Das Standardintervall wird nur für otSrpClientService
-Instanzen verwendet, bei denen mLease
auf null gesetzt ist.
Eine Änderung des Freigabeintervalls wirkt sich nicht auf das akzeptierte Freigabeintervall für bereits registrierte Dienste/Hostinformationen aus, sondern nur auf zukünftige SRP-Update-Nachrichten (z. B. Hinzufügen neuer Dienste und/oder Aktualisierungen vorhandener Dienste).
Details | |||||
---|---|---|---|---|---|
Parameter |
|
otSrpClientSetServiceKeyRecordEnabled
void otSrpClientSetServiceKeyRecordEnabled( otInstance *aInstance, bool aEnabled )
Aktiviert/deaktiviert den Modus „Einschluss von Dienstschlüsseleinträgen“.
Wenn diese Option aktiviert ist, schließt der SRP-Client den KEY-Eintrag in den Anweisungen zur Dienstbeschreibung in den SRP-Update-Nachrichten ein, die er sendet.
Ist verfügbar, wenn die OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE
-Konfiguration aktiviert ist.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
otSrpClientSetTtl
void otSrpClientSetTtl( otInstance *aInstance, uint32_t aTtl )
Legt den TTL-Wert in jedem Datensatz fest, der in SRP-Aktualisierungsanfragen enthalten ist.
Das Ändern der TTL wirkt sich nicht auf die TTL der bereits registrierten Dienste/Hostinformationen aus, sondern nur auf zukünftige SRP-Updates (z. B. das Hinzufügen neuer Dienste und/oder Aktualisierungen vorhandener Dienste).
Details | |||||
---|---|---|---|---|---|
Parameter |
|
otSrpClientStart
otError otSrpClientStart( otInstance *aInstance, const otSockAddr *aServerSockAddr )
Startet den SRP-Clientvorgang.
Der SRP-Client bereitet die Nachricht „SRP-Update“ vor und sendet sie an den SRP-Server, sobald alle folgenden Bedingungen erfüllt sind:
- Der SRP-Client wurde gestartet –
otSrpClientStart()
wird aufgerufen. - Hostname ist festgelegt –
otSrpClientSetHostName()
wird aufgerufen. - Mindestens eine Host-IPv6-Adresse ist festgelegt –
otSrpClientSetHostName()
wird aufgerufen. - Es wird mindestens ein Dienst hinzugefügt –
otSrpClientAddService()
wird aufgerufen.
Es spielt keine Rolle, in welcher Reihenfolge diese Funktionen aufgerufen werden. Wenn alle Bedingungen erfüllt sind, wartet der SRP-Client eine kurze Verzögerung, bevor er eine Nachricht zur SRP-Aktualisierung vorbereitet und an den Server sendet. Durch diese Verzögerung können Nutzer mehrere Dienste und/oder IPv6-Adressen hinzufügen, bevor die erste SRP-Update-Nachricht gesendet wird. Dadurch wird sichergestellt, dass ein einzelnes SRP-Update mit allen Informationen gesendet wird. Die Konfiguration OPENTHREAD_CONFIG_SRP_CLIENT_UPDATE_TX_DELAY
gibt das Verzögerungsintervall an.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
||||||
Rückgabewerte |
|
otSrpClientStop
void otSrpClientStop( otInstance *aInstance )
Beendet den Vorgang des SRP-Clients.
Beendet alle weiteren Interaktionen mit dem SRP-Server. Beachten Sie, dass dadurch keine Hostinformationen und/oder eine Liste von Diensten entfernt oder gelöscht werden. Damit werden alle Dienste gekennzeichnet, die nach dem (Neu-)Start des Clients wieder hinzugefügt bzw. entfernt werden müssen.
Details | |||
---|---|---|---|
Parameter |
|
otSrpServerGetAddressMode
otSrpServerAddressMode otSrpServerGetAddressMode( otInstance *aInstance )
Gibt den vom SRP-Server verwendeten Adressmodus zurück.
Details | |||
---|---|---|---|
Parameter |
|
||
Rückgabe |
Der Adressmodus des SRP-Servers.
|
otSrpServerGetAnycastModeSequenceNumber
uint8_t otSrpServerGetAnycastModeSequenceNumber( otInstance *aInstance )
Gibt die Sequenznummer zurück, die im Anycast-Adressmodus verwendet wird.
Die Sequenznummer ist im Eintrag „DNS/SRP Service Anycast Address“ (DNS-/SRP-Dienst-Anycast-Adresse) enthalten, der unter „Network Data“ veröffentlicht wurde.
Details | |||
---|---|---|---|
Parameter |
|
||
Rückgabe |
Die Anycast-Sequenznummer.
|
otSrpServerGetDomain
const char * otSrpServerGetDomain( otInstance *aInstance )
Gibt die für den SRP-Server autorisierte Domain zurück.
Wenn die Domain nicht von SetDomain festgelegt wird, wird „default.service.arpa.“ zurückgegeben. Ein abschließender Punkt wird immer angehängt, auch wenn die Domain ohne ihn festgelegt wurde.
Details | |||
---|---|---|---|
Parameter |
|
||
Rückgabe |
Ein Zeiger auf den mit einem Punkt verknüpften Domainstring.
|
otSrpServerGetLeaseConfig
void otSrpServerGetLeaseConfig( otInstance *aInstance, otSrpServerLeaseConfig *aLeaseConfig )
Gibt LEASE- und KEY-LEASE-Konfigurationen des SRP-Servers zurück.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
otSrpServerGetNextHost
const otSrpServerHost * otSrpServerGetNextHost( otInstance *aInstance, const otSrpServerHost *aHost )
Gibt den nächsten registrierten Host auf dem SRP-Server zurück
Details | |||||
---|---|---|---|---|---|
Parameter |
|
||||
Rückgabe |
Ein Zeiger auf den registrierten Host. NULL, wenn keine weiteren Hosts gefunden werden können.
|
otSrpServerGetPort
uint16_t otSrpServerGetPort( otInstance *aInstance )
Gibt den Port zurück, den der SRP-Server überwacht.
Details | |||
---|---|---|---|
Parameter |
|
||
Rückgabe |
Der Port des SRP-Servers. Wenn der Server nicht ausgeführt wird, wird 0 zurückgegeben.
|
otSrpServerGetResponseCounters
const otSrpServerResponseCounters * otSrpServerGetResponseCounters( otInstance *aInstance )
Gibt die Antwortzähler des SRP-Servers zurück.
Details | |||
---|---|---|---|
Parameter |
|
||
Rückgabe |
Ein Zeiger auf die Antwortzähler des SRP-Servers.
|
otSrpServerGetState
otSrpServerState otSrpServerGetState( otInstance *aInstance )
Gibt den Status des SRP-Servers zurück.
Details | |||
---|---|---|---|
Parameter |
|
||
Rückgabe |
Der aktuelle Status des SRP-Servers.
|
otSrpServerGetTtlConfig
void otSrpServerGetTtlConfig( otInstance *aInstance, otSrpServerTtlConfig *aTtlConfig )
Gibt die TTL-Konfiguration des SRP-Servers zurück.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
otSrpServerHandleServiceUpdateResult
void otSrpServerHandleServiceUpdateResult( otInstance *aInstance, otSrpServerServiceUpdateId aId, otError aError )
Meldet das Ergebnis der Verarbeitung einer SRP-Aktualisierung an den SRP-Server.
Der Handler für Dienstaktualisierungen sollte diese Funktion aufrufen, um das Ergebnis der Verarbeitung einer SRP-Aktualisierung zurückzugeben.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
otSrpServerHostGetAddresses
const otIp6Address * otSrpServerHostGetAddresses( const otSrpServerHost *aHost, uint8_t *aAddressesNum )
Gibt die Adressen des angegebenen Hosts zurück.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
||||
Rückgabe |
Ein Zeiger auf das Array der IPv6-Adressen.
|
otSrpServerHostGetFullName
const char * otSrpServerHostGetFullName( const otSrpServerHost *aHost )
Gibt den vollständigen Namen des Hosts zurück
Details | |||
---|---|---|---|
Parameter |
|
||
Rückgabe |
Ein Zeiger auf den nicht abgeschlossenen Hostnamenstring.
|
otSrpServerHostGetLeaseInfo
void otSrpServerHostGetLeaseInfo( const otSrpServerHost *aHost, otSrpServerLeaseInfo *aLeaseInfo )
Gibt die LEASE- und KEY-LEASE-Informationen eines bestimmten Hosts zurück.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
otSrpServerHostGetNextService
const otSrpServerService * otSrpServerHostGetNextService( const otSrpServerHost *aHost, const otSrpServerService *aService )
Gibt den nächsten Dienst des angegebenen Hosts zurück
Details | |||||
---|---|---|---|---|---|
Parameter |
|
||||
Rückgabe |
Ein Zeiger auf den nächsten Dienst oder NULL, wenn keine weiteren Dienste vorhanden sind.
|
otSrpServerHostIsDeleted
bool otSrpServerHostIsDeleted( const otSrpServerHost *aHost )
Gibt an, ob der SRP-Diensthost gelöscht wurde.
Ein SRP-Diensthost kann gelöscht werden, behält aber seinen Namen für die zukünftige Verwendung. In diesem Fall wird die Hostinstanz nicht vom SRP-Server bzw. der SRP-Registry entfernt.
Details | |||
---|---|---|---|
Parameter |
|
||
Rückgabe |
TRUE, wenn der Host gelöscht wurde, FALSE, wenn nicht.
|
otSrpServerHostMatchesFullName
bool otSrpServerHostMatchesFullName( const otSrpServerHost *aHost, const char *aFullName )
Gibt an, ob der Host mit einem bestimmten Hostnamen übereinstimmt.
Übereinstimmungen mit DNS-Namen werden anhand eines Stringvergleichs durchgeführt, bei dem die Groß- und Kleinschreibung nicht berücksichtigt wird (z.B. „Abc“ und „aBc“ werden als identisch betrachtet.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
||||
Rückgabewerte |
|
otSrpServerIsAutoEnableMode
bool otSrpServerIsAutoEnableMode( otInstance *aInstance )
Gibt an, ob der Modus für die automatische Aktivierung aktiviert oder deaktiviert ist.
Erfordert die Funktion OPENTHREAD_CONFIG_BORDER_ROUTING_ENABLE
.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
||||
Rückgabewerte |
|
otSrpServerParseSubTypeServiceName
otError otSrpServerParseSubTypeServiceName( const char *aSubTypeServiceName, char *aLabel, uint8_t aLabelSize )
Analysiert einen Dienstnamen des Untertyps (vollständiger Name) und extrahiert das Untertyplabel.
Der vollständige Dienstname für einen Untertyp-Dienst folgt auf "
Details | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
||||||
Rückgabewerte |
|
otSrpServerServiceGetHost
const otSrpServerHost * otSrpServerServiceGetHost( const otSrpServerService *aService )
Gibt den Host zurück, auf dem sich die Dienstinstanz befindet.
Details | |||
---|---|---|---|
Parameter |
|
||
Rückgabe |
Ein Zeiger auf die Hostinstanz.
|
otSrpServerServiceGetInstanceLabel
const char * otSrpServerServiceGetInstanceLabel( const otSrpServerService *aService )
Gibt das Dienstinstanzlabel (erstes Label im Instanznamen) des Dienstes zurück.
Details | |||
---|---|---|---|
Parameter |
|
||
Rückgabe |
Ein Zeiger auf den Labelstring der Dienstinstanz, dessen Null beendet wurde.
|
otSrpServerServiceGetInstanceName
const char * otSrpServerServiceGetInstanceName( const otSrpServerService *aService )
Gibt den vollständigen Dienstinstanznamen des Dienstes zurück
Details | |||
---|---|---|---|
Parameter |
|
||
Rückgabe |
Ein Zeiger auf den String mit dem Null-beendeten Dienstinstanznamen.
|
otSrpServerServiceGetLeaseInfo
void otSrpServerServiceGetLeaseInfo( const otSrpServerService *aService, otSrpServerLeaseInfo *aLeaseInfo )
Gibt die LEASE- und KEY-LEASE-Informationen eines bestimmten Dienstes zurück.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
otSrpServerServiceGetNumberOfSubTypes
uint16_t otSrpServerServiceGetNumberOfSubTypes( const otSrpServerService *aService )
Ruft die Anzahl der Untertypen des Dienstes ab.
Details | |||
---|---|---|---|
Parameter |
|
||
Rückgabe |
Die Anzahl der Untertypen von
aService . |
otSrpServerServiceGetPort
uint16_t otSrpServerServiceGetPort( const otSrpServerService *aService )
Gibt den Port der Dienstinstanz zurück.
Details | |||
---|---|---|---|
Parameter |
|
||
Rückgabe |
Der Port des Dienstes.
|
otSrpServerServiceGetPriority
uint16_t otSrpServerServiceGetPriority( const otSrpServerService *aService )
Gibt die Priorität der Dienstinstanz zurück.
Details | |||
---|---|---|---|
Parameter |
|
||
Rückgabe |
Die Priorität des Dienstes.
|
otSrpServerServiceGetServiceName
const char * otSrpServerServiceGetServiceName( const otSrpServerService *aService )
Gibt den vollständigen Dienstnamen des Dienstes zurück
Details | |||
---|---|---|---|
Parameter |
|
||
Rückgabe |
Ein Zeiger auf den mit Null beendeten Dienstnamenstring.
|
otSrpServerServiceGetSubTypeServiceNameAt
const char * otSrpServerServiceGetSubTypeServiceNameAt( const otSrpServerService *aService, uint16_t aIndex )
Ruft den Dienstuntertypnamen (vollständiger Name) des Dienstes bei einem bestimmten Index ab.
Der vollständige Dienstname für einen Untertyp-Dienst folgt auf "
Details | |||||
---|---|---|---|---|---|
Parameter |
|
||||
Rückgabe |
Ein Zeiger auf den Dienstnamen des Untertyps bei
aIndex oder NULL , wenn in diesem Index kein Untertyp vorhanden ist. |
otSrpServerServiceGetTtl
uint32_t otSrpServerServiceGetTtl( const otSrpServerService *aService )
Gibt die TTL der Dienstinstanz zurück.
Details | |||
---|---|---|---|
Parameter |
|
||
Rückgabe |
Die TTL der Dienstinstanz...
|
otSrpServerServiceGetTxtData
const uint8_t * otSrpServerServiceGetTxtData( const otSrpServerService *aService, uint16_t *aDataLength )
Gibt die TXT-Eintragdaten der Dienstinstanz zurück.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
||||
Rückgabe |
Ein Zeiger auf den Zwischenspeicher, der die TXT-Datensatzdaten enthält. Die Länge der TXT-Daten wird in
aDataLength zurückgegeben. |
otSrpServerServiceGetWeight
uint16_t otSrpServerServiceGetWeight( const otSrpServerService *aService )
Gibt die Gewichtung der Dienstinstanz zurück.
Details | |||
---|---|---|---|
Parameter |
|
||
Rückgabe |
Die Gewichtung des Dienstes.
|
otSrpServerServiceHasSubTypeServiceName
bool otSrpServerServiceHasSubTypeServiceName( const otSrpServerService *aService, const char *aSubTypeServiceName )
Gibt an, ob der Dienst einen bestimmten Untertyp hat.
Übereinstimmungen mit DNS-Namen werden anhand eines Stringvergleichs durchgeführt, bei dem die Groß- und Kleinschreibung nicht berücksichtigt wird (z.B. „Abc“ und „aBc“ werden als identisch betrachtet.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
||||
Rückgabewerte |
|
otSrpServerServiceIsDeleted
bool otSrpServerServiceIsDeleted( const otSrpServerService *aService )
Gibt an, ob der SRP-Dienst gelöscht wurde.
Ein SRP-Dienst kann gelöscht werden, behält aber seinen Namen für die zukünftige Verwendung. In diesem Fall wird die Dienstinstanz nicht vom SRP-Server bzw. der SRP-Registry entfernt. Es wird garantiert, dass alle Dienste gelöscht werden, wenn der Host gelöscht wird.
Details | |||
---|---|---|---|
Parameter |
|
||
Rückgabe |
TRUE, wenn der Service gelöscht wurde, FALSE, wenn nicht.
|
otSrpServerServiceMatchesInstanceName
bool otSrpServerServiceMatchesInstanceName( const otSrpServerService *aService, const char *aInstanceName )
Gibt an, ob dieser Dienst mit einem bestimmten Dienstinstanznamen übereinstimmt.
Übereinstimmungen mit DNS-Namen werden anhand eines Stringvergleichs durchgeführt, bei dem die Groß- und Kleinschreibung nicht berücksichtigt wird (z.B. „Abc“ und „aBc“ werden als identisch betrachtet.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
||||
Rückgabewerte |
|
otSrpServerServiceMatchesServiceName
bool otSrpServerServiceMatchesServiceName( const otSrpServerService *aService, const char *aServiceName )
Gibt an, ob dieser Dienst mit einem bestimmten Dienstnamen übereinstimmt.
Übereinstimmungen mit DNS-Namen werden anhand eines Stringvergleichs durchgeführt, bei dem die Groß- und Kleinschreibung nicht berücksichtigt wird (z.B. „Abc“ und „aBc“ werden als identisch betrachtet.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
||||
Rückgabewerte |
|
otSrpServerSetAddressMode
otError otSrpServerSetAddressMode( otInstance *aInstance, otSrpServerAddressMode aMode )
Legt den Adressmodus fest, der vom SRP-Server verwendet werden soll.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
||||
Rückgabewerte |
|
otSrpServerSetAnycastModeSequenceNumber
otError otSrpServerSetAnycastModeSequenceNumber( otInstance *aInstance, uint8_t aSequenceNumber )
Legt die Sequenznummer fest, die im Anycast-Adressmodus verwendet wird.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
||||
Rückgabewerte |
|
otSrpServerSetAutoEnableMode
void otSrpServerSetAutoEnableMode( otInstance *aInstance, bool aEnabled )
Aktiviert/deaktiviert den automatischen Aktivierungsmodus auf dem SRP-Server.
Erfordert die Funktion OPENTHREAD_CONFIG_BORDER_ROUTING_ENABLE
.
Wenn dieser Modus aktiviert ist, steuert der Border Routing Manager, ob/wann der SRP-Server aktiviert oder deaktiviert wird. Der SRP-Server wird beim Start des Border Routing automatisch aktiviert. Dabei werden die anfänglichen Präfix- und Routenkonfigurationen verwendet, d. h., wenn die OMR- und On-Link-Präfixe bestimmt, in der Infrastrukturseite mit der ausgegebenen Router-Anzeige beworben und in den Thread-Netzwerkdaten veröffentlicht werden. Der SRP-Server wird automatisch deaktiviert, wenn der AF gestoppt wird, z.B. wenn die Netzwerkschnittstelle der Infrastruktur ausfällt oder der AF getrennt wird.
Dieser Modus kann durch einen otSrpServerSetAutoEnableMode()
-Aufruf deaktiviert werden, bei dem aEnabled
auf false
gesetzt ist, oder wenn der SRP-Server durch einen Aufruf der Funktion otSrpServerSetEnabled()
explizit aktiviert oder deaktiviert wird. Das Deaktivieren des automatischen Aktivierungsmodus mit otSrpServerSetAutoEnableMode(false)
wirkt sich nicht auf den aktuellen Status des SRP-Servers aus. Wenn er beispielsweise aktiviert ist, bleibt er aktiviert.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
otSrpServerSetDomain
otError otSrpServerSetDomain( otInstance *aInstance, const char *aDomain )
Legt die Domain auf dem SRP-Server fest.
An aDomain
wird ein abschließender Punkt angehängt, falls er noch nicht vorhanden ist. Sollte nur aufgerufen werden, bevor der SRP-Server aktiviert ist.
Details | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||
Rückgabewerte |
|
otSrpServerSetEnabled
void otSrpServerSetEnabled( otInstance *aInstance, bool aEnabled )
Aktiviert/deaktiviert den SRP-Server.
Bei einem Border-Router wird empfohlen, stattdessen otSrpServerSetAutoEnableMode()
zu verwenden.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
otSrpServerSetLeaseConfig
otError otSrpServerSetLeaseConfig( otInstance *aInstance, const otSrpServerLeaseConfig *aLeaseConfig )
Legt die LEASE- und KEY-LEASE-Konfigurationen des SRP-Servers fest.
Wenn von einem Client eine LEASE-Zeit ungleich null angefordert wird, wird der gewährte Wert im Bereich [aMinLease, aMaxLease] begrenzt. Ein KEY-LEASE, der nicht null ist, wird im Bereich [aMinKeyLease, aMaxKeyLease] gewährt. Für keine LEASE- oder KEY-LEASE-Zeit werden null gewährt.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
||||
Rückgabewerte |
|
otSrpServerSetServiceUpdateHandler
void otSrpServerSetServiceUpdateHandler( otInstance *aInstance, otSrpServerServiceUpdateHandler aServiceHandler, void *aContext )
Legt den Handler für die Aktualisierung des SRP-Dienstes auf dem SRP-Server fest.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
otSrpServerSetTtlConfig
otError otSrpServerSetTtlConfig( otInstance *aInstance, const otSrpServerTtlConfig *aTtlConfig )
Legt die TTL-Konfiguration des SRP-Servers fest.
Die zugewiesene TTL ist immer nicht größer als das maximale Freigabeintervall, das über otSrpServerSetLeaseConfig()
konfiguriert wurde, unabhängig von der Konfiguration für die minimale und maximale TTL.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
||||
Rückgabewerte |
|
Ressourcen
OpenThread API-Referenzthemen stammen aus dem Quellcode, der auf GitHub verfügbar ist. Weitere Informationen finden Sie unter Ressourcen. Dort können Sie auch einen Beitrag zu unserer Dokumentation leisten.