strona wyników wyszukiwania

Ten moduł zawiera funkcje, które kontrolują działanie klientów SRP.

Podsumowanie

Ten moduł zawiera funkcje protokołu rejestracji usługi.

Ten moduł zawiera funkcje buforów klienta SRP i puli usług.

Funkcje w tym module są dostępne tylko wtedy, gdy włączona jest funkcja OPENTHREAD_CONFIG_SRP_CLIENT_BUFFERS_ENABLE.

Wyliczenia

otSrpClientItemState{
  OT_SRP_CLIENT_ITEM_STATE_TO_ADD,
  OT_SRP_CLIENT_ITEM_STATE_ADDING,
  OT_SRP_CLIENT_ITEM_STATE_TO_REFRESH,
  OT_SRP_CLIENT_ITEM_STATE_REFRESHING,
  OT_SRP_CLIENT_ITEM_STATE_TO_REMOVE,
  OT_SRP_CLIENT_ITEM_STATE_REMOVING,
  OT_SRP_CLIENT_ITEM_STATE_REGISTERED,
  OT_SRP_CLIENT_ITEM_STATE_REMOVED
}
enum | typ wyliczeniowy
Określa stan elementu klienta SRP (informacje o usłudze lub hoście).
otSrpServerAddressMode{
  OT_SRP_SERVER_ADDRESS_MODE_UNICAST = 0,
  OT_SRP_SERVER_ADDRESS_MODE_ANYCAST = 1
}
enum | typ wyliczeniowy
Reprezentuje tryb adresu używany przez serwer SRP.
otSrpServerState{
  OT_SRP_SERVER_STATE_DISABLED = 0,
  OT_SRP_SERVER_STATE_RUNNING = 1,
  OT_SRP_SERVER_STATE_STOPPED = 2
}
enum | typ wyliczeniowy
Reprezentuje stan serwera SRP.

Definicje typów

otSrpClientAutoStartCallback)(const otSockAddr *aServerSockAddr, void *aContext) typedef
void(*
Typ wskaźnika określa wywołanie zwrotne używane przez klienta SRP do powiadamiania użytkownika o automatycznym uruchomieniu lub zatrzymaniu.
otSrpClientBuffersServiceEntry typedef
Reprezentuje wpis puli usług klienta SRP.
otSrpClientCallback)(otError aError, const otSrpClientHostInfo *aHostInfo, const otSrpClientService *aServices, const otSrpClientService *aRemovedServices, void *aContext) typedef
void(*
Typ wskaźnika określa wywołanie zwrotne używane przez klienta SRP do powiadamiania użytkownika o zmianach, zdarzeniach i błędach.
otSrpClientHostInfo typedef
Reprezentuje informacje o hoście klienta SRP.
otSrpClientService typedef
Reprezentuje usługę klienta SRP.
otSrpServerAddressMode typedef
Reprezentuje tryb adresu używany przez serwer SRP.
otSrpServerHost typedef
Ten nieprzejrzysty typ reprezentuje hosta usługi SRP.
otSrpServerLeaseConfig typedef
Obejmuje konfiguracje LEASE serwera SRP i KEY-LEASE.
otSrpServerLeaseInfo typedef
Obejmuje informacje o dzierżawie serwera SRP hosta lub usługi.
otSrpServerResponseCounters typedef
Obejmuje statystyki odpowiedzi serwera SRP.
otSrpServerService typedef
Ten nieprzejrzysty typ reprezentuje usługę SRP.
otSrpServerServiceUpdateHandler)(otSrpServerServiceUpdateId aId, const otSrpServerHost *aHost, uint32_t aTimeout, void *aContext) typedef
void(*
Obsługuje aktualizacje usługi SRP.
otSrpServerServiceUpdateId typedef
uint32_t
Identyfikator transakcji aktualizacji usługi SRP na serwerze SRP.
otSrpServerTtlConfig typedef
Obejmuje konfiguracje TTL serwera SRP.

Funkcje

otSrpClientAddService(otInstance *aInstance, otSrpClientService *aService)
Dodaje usługę, która ma zostać zarejestrowana na serwerze.
otSrpClientBuffersAllocateService(otInstance *aInstance)
Przypisuje z puli nowy wpis usługi.
otSrpClientBuffersFreeAllServices(otInstance *aInstance)
void
Zwalnia wszystkie przydzielone wcześniej wpisy usługi.
otSrpClientBuffersFreeService(otInstance *aInstance, otSrpClientBuffersServiceEntry *aService)
void
Zwalnia wcześniej przydzielony wpis usługi.
otSrpClientBuffersGetHostAddressesArray(otInstance *aInstance, uint8_t *aArrayLength)
Pobiera tablicę wpisów z adresami IPv6, które mają być używane jako lista adresów hosta klienta SRP.
otSrpClientBuffersGetHostNameString(otInstance *aInstance, uint16_t *aSize)
char *
Pobiera bufor ciągu znaków, który ma być używany w przypadku nazwy hosta klienta SRP.
otSrpClientBuffersGetServiceEntryInstanceNameString(otSrpClientBuffersServiceEntry *aEntry, uint16_t *aSize)
char *
Pobiera bufor ciągu znaków dla nazwy instancji usługi z wpisu usługi.
otSrpClientBuffersGetServiceEntryServiceNameString(otSrpClientBuffersServiceEntry *aEntry, uint16_t *aSize)
char *
Pobiera bufor ciągu znaków dla nazwy usługi z wpisu usługi.
otSrpClientBuffersGetServiceEntryTxtBuffer(otSrpClientBuffersServiceEntry *aEntry, uint16_t *aSize)
uint8_t *
Pobiera bufor rekordu TXT z wpisu usługi.
otSrpClientBuffersGetSubTypeLabelsArray(otSrpClientBuffersServiceEntry *aEntry, uint16_t *aArrayLength)
const char **
Pobiera tablicę etykiet podtypu usługi ze wpisu usługi.
otSrpClientClearHostAndServices(otInstance *aInstance)
void
Usuwa wszystkie informacje o hoście i wszystkie usługi.
otSrpClientClearService(otInstance *aInstance, otSrpClientService *aService)
Czyści usługę, natychmiast usuwając ją z listy usług klienta.
otSrpClientDisableAutoStartMode(otInstance *aInstance)
void
Wyłącza tryb automatycznego uruchamiania.
otSrpClientEnableAutoHostAddress(otInstance *aInstance)
Włącza tryb automatycznego adresu hosta.
otSrpClientEnableAutoStartMode(otInstance *aInstance, otSrpClientAutoStartCallback aCallback, void *aContext)
void
Włącza tryb automatycznego uruchamiania.
otSrpClientGetDomainName(otInstance *aInstance)
const char *
Pobiera nazwę domeny używaną przez klienta SRP.
otSrpClientGetHostInfo(otInstance *aInstance)
Pobiera informacje o hoście.
otSrpClientGetKeyLeaseInterval(otInstance *aInstance)
uint32_t
Pobiera domyślny interwał dzierżawy klucza używany w żądaniach aktualizacji SRP.
otSrpClientGetLeaseInterval(otInstance *aInstance)
uint32_t
Pobiera domyślny interwał dzierżawy używany w żądaniach aktualizacji SRP.
otSrpClientGetServerAddress(otInstance *aInstance)
const otSockAddr *
Pobiera adres gniazda (adres IPv6 i numer portu) serwera SRP, który jest używany przez klienta SRP.
otSrpClientGetServices(otInstance *aInstance)
Pobiera listę usług zarządzanych przez klienta.
otSrpClientGetTtl(otInstance *aInstance)
uint32_t
Pobiera wartość TTL z każdego rekordu zawartego w żądaniach aktualizacji SRP.
otSrpClientIsAutoStartModeEnabled(otInstance *aInstance)
bool
Wskazuje bieżący stan trybu automatycznego uruchamiania (włączony lub wyłączony).
otSrpClientIsRunning(otInstance *aInstance)
bool
Wskazuje, czy klient SRP jest uruchomiony.
otSrpClientIsServiceKeyRecordEnabled(otInstance *aInstance)
bool
Wskazuje, czy tryb „uwzględniania rekordu klucza usługi” jest włączony czy wyłączony.
otSrpClientItemStateToString(otSrpClientItemState aItemState)
const char *
Konwertuje otSrpClientItemState na ciąg znaków.
otSrpClientRemoveHostAndServices(otInstance *aInstance, bool aRemoveKeyLease, bool aSendUnregToServer)
Rozpoczyna proces usuwania informacji o hoście i wszystkich usług.
otSrpClientRemoveService(otInstance *aInstance, otSrpClientService *aService)
Żąda wyrejestrowania usługi z serwera.
otSrpClientSetCallback(otInstance *aInstance, otSrpClientCallback aCallback, void *aContext)
void
Ustawia wywołanie zwrotne powiadamiające osobę wywołującą o zdarzeniach/zmianach związanych z klientem SRP.
otSrpClientSetDomainName(otInstance *aInstance, const char *aName)
Ustawia nazwę domeny, która ma być używana przez klienta SRP.
otSrpClientSetHostAddresses(otInstance *aInstance, const otIp6Address *aIp6Addresses, uint8_t aNumAddresses)
Konfiguruje lub aktualizuje listę adresów IPv6 hosta.
otSrpClientSetHostName(otInstance *aInstance, const char *aName)
Ustawia etykietę nazwy hosta.
otSrpClientSetKeyLeaseInterval(otInstance *aInstance, uint32_t aInterval)
void
Ustawia domyślny interwał dzierżawy klucza używany w żądaniach aktualizacji SRP.
otSrpClientSetLeaseInterval(otInstance *aInstance, uint32_t aInterval)
void
Ustawia domyślny interwał dzierżawy używany w żądaniach aktualizacji SRP.
otSrpClientSetServiceKeyRecordEnabled(otInstance *aInstance, bool aEnabled)
void
Włącza lub wyłącza tryb uwzględniania rekordu klucza usługi.
otSrpClientSetTtl(otInstance *aInstance, uint32_t aTtl)
void
Ustawia wartość TTL w każdym rekordzie zawartym w żądaniach aktualizacji SRP.
otSrpClientStart(otInstance *aInstance, const otSockAddr *aServerSockAddr)
Uruchamia operację klienta SRP.
otSrpClientStop(otInstance *aInstance)
void
Zatrzymuje operację klienta SRP.
otSrpServerGetAddressMode(otInstance *aInstance)
Zwraca tryb adresu używany przez serwer SRP.
otSrpServerGetAnycastModeSequenceNumber(otInstance *aInstance)
uint8_t
Zwraca numer sekwencyjny używany w trybie adresu Anycast.
otSrpServerGetDomain(otInstance *aInstance)
const char *
Zwraca domenę autoryzowaną dla serwera SRP.
otSrpServerGetLeaseConfig(otInstance *aInstance, otSrpServerLeaseConfig *aLeaseConfig)
void
Zwraca konfiguracje LEASE serwera SRP i KEY-LEASE.
otSrpServerGetNextHost(otInstance *aInstance, const otSrpServerHost *aHost)
const otSrpServerHost *
Zwraca następny zarejestrowany host na serwerze SRP.
otSrpServerGetPort(otInstance *aInstance)
uint16_t
Zwraca port, na który nasłuchuje serwer SRP.
otSrpServerGetResponseCounters(otInstance *aInstance)
Zwraca liczniki odpowiedzi serwera SRP.
otSrpServerGetState(otInstance *aInstance)
Zwraca stan serwera SRP.
otSrpServerGetTtlConfig(otInstance *aInstance, otSrpServerTtlConfig *aTtlConfig)
void
Zwraca konfigurację TTL serwera SRP.
otSrpServerHandleServiceUpdateResult(otInstance *aInstance, otSrpServerServiceUpdateId aId, otError aError)
void
Raportuje wynik przetwarzania aktualizacji SRP na serwerze SRP.
otSrpServerHostGetAddresses(const otSrpServerHost *aHost, uint8_t *aAddressesNum)
const otIp6Address *
Zwraca adresy podanego hosta.
otSrpServerHostGetFullName(const otSrpServerHost *aHost)
const char *
Zwraca pełną nazwę hosta.
otSrpServerHostGetLeaseInfo(const otSrpServerHost *aHost, otSrpServerLeaseInfo *aLeaseInfo)
void
Zwraca informacje LEASE i KEY-LEASE o danym hoście.
otSrpServerHostGetNextService(const otSrpServerHost *aHost, const otSrpServerService *aService)
Zwraca następną usługę danego hosta.
otSrpServerHostIsDeleted(const otSrpServerHost *aHost)
bool
Informuje, czy host usługi SRP został usunięty.
otSrpServerHostMatchesFullName(const otSrpServerHost *aHost, const char *aFullName)
bool
Wskazuje, czy host jest zgodny z podaną nazwą hosta.
otSrpServerIsAutoEnableMode(otInstance *aInstance)
bool
Wskazuje, czy tryb automatycznego włączania jest włączony czy wyłączony.
otSrpServerParseSubTypeServiceName(const char *aSubTypeServiceName, char *aLabel, uint8_t aLabelSize)
Analizuje nazwę usługi podtypu (pełna nazwa) i wyodrębnia etykietę podtypu.
otSrpServerServiceGetHost(const otSrpServerService *aService)
const otSrpServerHost *
Zwraca hosta, na którym znajduje się instancja usługi.
otSrpServerServiceGetInstanceLabel(const otSrpServerService *aService)
const char *
Zwraca etykietę instancji usługi (pierwszą etykietę w nazwie instancji) usługi.
otSrpServerServiceGetInstanceName(const otSrpServerService *aService)
const char *
Zwraca pełną nazwę instancji usługi.
otSrpServerServiceGetLeaseInfo(const otSrpServerService *aService, otSrpServerLeaseInfo *aLeaseInfo)
void
Zwraca informacje LEASE i KEY-LEASE o danej usłudze.
otSrpServerServiceGetNumberOfSubTypes(const otSrpServerService *aService)
uint16_t
Pobiera liczbę podtypów usługi.
otSrpServerServiceGetPort(const otSrpServerService *aService)
uint16_t
Zwraca port instancji usługi.
otSrpServerServiceGetPriority(const otSrpServerService *aService)
uint16_t
Zwraca priorytet instancji usługi.
otSrpServerServiceGetServiceName(const otSrpServerService *aService)
const char *
Zwraca pełną nazwę usługi.
otSrpServerServiceGetSubTypeServiceNameAt(const otSrpServerService *aService, uint16_t aIndex)
const char *
Pobiera nazwę podtypu usługi (pełna nazwa) usługi w danym indeksie.
otSrpServerServiceGetTtl(const otSrpServerService *aService)
uint32_t
Zwraca wartość TTL instancji usługi.
otSrpServerServiceGetTxtData(const otSrpServerService *aService, uint16_t *aDataLength)
const uint8_t *
Zwraca dane rekordu TXT instancji usługi.
otSrpServerServiceGetWeight(const otSrpServerService *aService)
uint16_t
Zwraca wagę instancji usługi.
otSrpServerServiceHasSubTypeServiceName(const otSrpServerService *aService, const char *aSubTypeServiceName)
bool
Wskazuje, czy usługa ma dany podtyp.
otSrpServerServiceIsDeleted(const otSrpServerService *aService)
bool
Wskazuje, czy usługa SRP została usunięta.
otSrpServerServiceMatchesInstanceName(const otSrpServerService *aService, const char *aInstanceName)
bool
Wskazuje, czy usługa jest zgodna z podaną nazwą instancji usługi.
otSrpServerServiceMatchesServiceName(const otSrpServerService *aService, const char *aServiceName)
bool
Wskazuje, czy usługa jest zgodna z podaną nazwą usługi.
otSrpServerSetAddressMode(otInstance *aInstance, otSrpServerAddressMode aMode)
Ustawia tryb adresu, który ma być używany przez serwer SRP.
otSrpServerSetAnycastModeSequenceNumber(otInstance *aInstance, uint8_t aSequenceNumber)
Ustawia numer sekwencyjny używany w trybie adresu Anycast.
otSrpServerSetAutoEnableMode(otInstance *aInstance, bool aEnabled)
void
Włącza lub wyłącza tryb automatycznego włączania na serwerze SRP.
otSrpServerSetDomain(otInstance *aInstance, const char *aDomain)
Ustawia domenę na serwerze SRP.
otSrpServerSetEnabled(otInstance *aInstance, bool aEnabled)
void
Włącza lub wyłącza serwer SRP.
otSrpServerSetLeaseConfig(otInstance *aInstance, const otSrpServerLeaseConfig *aLeaseConfig)
Ustawia konfiguracje LEASE serwera SRP i KEY-LEASE.
otSrpServerSetServiceUpdateHandler(otInstance *aInstance, otSrpServerServiceUpdateHandler aServiceHandler, void *aContext)
void
Ustawia moduł obsługi aktualizacji usługi SRP na serwerze SRP.
otSrpServerSetTtlConfig(otInstance *aInstance, const otSrpServerTtlConfig *aTtlConfig)
Ustawia konfigurację TTL serwera SRP.

Konstrukcja

otSrpClientBuffersServiceEntry

Reprezentuje wpis puli usług klienta SRP.

otSrpClientHostInfo

Reprezentuje informacje o hoście klienta SRP.

otSrpClientService

Reprezentuje usługę klienta SRP.

otSrpServerLeaseConfig

Obejmuje konfiguracje LEASE serwera SRP i KEY-LEASE.

otSrpServerLeaseInfo

Obejmuje informacje o dzierżawie serwera SRP hosta lub usługi.

otSrpServerResponseCounters

Obejmuje statystyki odpowiedzi serwera SRP.

otSrpServerTtlConfig

Obejmuje konfiguracje TTL serwera SRP.

Wyliczenia

otSrpClientItemState

 otSrpClientItemState

Określa stan elementu klienta SRP (informacje o usłudze lub hoście).

Właściwości
OT_SRP_CLIENT_ITEM_STATE_ADDING

Dodaję/rejestruję produkt.

OT_SRP_CLIENT_ITEM_STATE_REFRESHING

Odświeżam element.

OT_SRP_CLIENT_ITEM_STATE_REGISTERED

Element został zarejestrowany na serwerze.

OT_SRP_CLIENT_ITEM_STATE_REMOVED

Element został usunięty.

OT_SRP_CLIENT_ITEM_STATE_REMOVING

Usuwam element.

OT_SRP_CLIENT_ITEM_STATE_TO_ADD

Element do dodania/zarejestrowania.

OT_SRP_CLIENT_ITEM_STATE_TO_REFRESH

Element do odświeżenia (zarejestruj się ponownie, aby odnowić dzierżawę).

OT_SRP_CLIENT_ITEM_STATE_TO_REMOVE

Element do usunięcia.

otSrpServerAddressMode

 otSrpServerAddressMode

Reprezentuje tryb adresu używany przez serwer SRP.

Tryb adresu określa sposób określania adresu i numeru portu przez serwer SRP oraz sposobu publikowania tych informacji w danych sieci Thread.

Właściwości
OT_SRP_SERVER_ADDRESS_MODE_ANYCAST

Tryb adresu Anycast.

OT_SRP_SERVER_ADDRESS_MODE_UNICAST

Tryb adresu Unicast.

otSrpServerState

 otSrpServerState

Reprezentuje stan serwera SRP.

Właściwości
OT_SRP_SERVER_STATE_DISABLED

Serwer SRP jest wyłączony.

OT_SRP_SERVER_STATE_RUNNING

Serwer SRP jest włączony i działa.

OT_SRP_SERVER_STATE_STOPPED

Serwer SRP jest włączony, ale zatrzymany.

Definicje typów

otSrpClientAutoStartCallback

void(* otSrpClientAutoStartCallback)(const otSockAddr *aServerSockAddr, void *aContext)

Typ wskaźnika określa wywołanie zwrotne używane przez klienta SRP do powiadamiania użytkownika o automatycznym uruchomieniu lub zatrzymaniu.

Jest używana tylko wtedy, gdy włączona jest funkcja automatycznego uruchamiania OPENTHREAD_CONFIG_SRP_CLIENT_AUTO_START_API_ENABLE.

To wywołanie zwrotne jest wywoływane, gdy włączony jest tryb automatycznego uruchamiania, a klient SRP zostaje automatycznie uruchomiony lub zatrzymany.

Szczegóły
Parametry
[in] aServerSockAddr
Wskaźnik inny niż NULL wskazuje, że serwer SRP został uruchomiony, a wskaźnik zwróci wybrany adres gniazda serwera. Wskaźnik NULL wskazuje, że serwer SRP został zatrzymany.
[in] aContext
Wskaźnik do dowolnego kontekstu (podany, gdy zarejestrowano wywołanie zwrotne).

otSrpClientBuffersServiceEntry

struct otSrpClientBuffersServiceEntry otSrpClientBuffersServiceEntry

Reprezentuje wpis puli usług klienta SRP.

otSrpClientCallback

void(* otSrpClientCallback)(otError aError, const otSrpClientHostInfo *aHostInfo, const otSrpClientService *aServices, const otSrpClientService *aRemovedServices, void *aContext)

Typ wskaźnika określa wywołanie zwrotne używane przez klienta SRP do powiadamiania użytkownika o zmianach, zdarzeniach i błędach.

Wywołanie zwrotne jest wywoływane po pomyślnym zarejestrowaniu aktualizacji (np. dodaniu/usunięciu informacji o hoście lub niektórych usługach) na serwerze SRP albo w przypadku awarii lub błędu (np. serwer odrzuca żądanie aktualizacji lub przekroczono limit czasu oczekiwania na odpowiedź klienta).

W przypadku ponownej rejestracji aktualizacji parametr aError będzie mieć wartość OT_ERROR_NONE, a informacje o hoście i pełna lista usług będą podane jako parametry wejściowe wywołania zwrotnego. Pamiętaj, że informacje o hoście i usługi śledzą swój własny stan w odpowiedniej zmiennej członkowskiej mState powiązanej struktury danych (stan wskazujący, czy informacje o hoście/usługa są zarejestrowane lub usunięte, czy wciąż są dodawane/usuwane itp.).

Lista usuniętych usług jest przekazywana w wywołaniu zwrotnym jako własną powiązaną listę aRemovedServices. Pamiętaj, że po wywołaniu wywołania zwrotnego klient SRP (implementacja OpenThread) wykonywany jest z usuniętymi instancjami usługi wymienionymi w aRemovedServices i nie śledzi ich już ani nie przechowuje (np. jeśli z wywołania zwrotnego wywołamy otSrpClientGetServices() usunięte usługi nie będą widoczne na zwróconej liście). Podanie osobnej listy usuniętych usług w wywołaniu zwrotnym pomaga wskazać użytkownikowi, które elementy są teraz usuwane, i umożliwia ponowne zgłoszenie roszczenia do instancji lub ponowne użycie instancji.

Jeśli serwer odrzuci żądanie aktualizacji SRP, kod odpowiedzi DNS (RFC 2136) zostanie zmapowany na te błędy:

  • (0) NOERROR Udało się (brak warunku błędu) -> OT_ERROR_NONE
  • (1) Serwer FORMERR nie może zinterpretować z powodu błędu formatu -> OT_ERROR_PARSE
  • (2) Serwer SERVFAIL napotkał błąd wewnętrzny -> OT_ERROR_FAILED
  • (3) Nazwa NXDOMAIN, która powinna istnieć, nie istnieje -> OT_ERROR_NOT_FOUND
  • (4) Serwer NOTIMP nie obsługuje typu zapytania (kod OpCode) -> OT_ERROR_NOT_IMPLEMENTED
  • (5) Odrzucenie serwera REFUSE z powodu naruszenia zasad/bezpieczeństwa -> OT_ERROR_ERROR
  • (6) YXDOMAIN Jedna nazwa, która nie powinna istnieć, istnieje -> OT_ERROR_DUPLICATED
  • (7) YXRRSET Jakiś parametr RRset, który nie powinien istnieć, jednak istnieje -> OT_ERROR_DUPLICATED
  • (8) NXRRSET Jakiś RRset, który powinien istnieć, nie istnieje -> OT_ERROR_NOT_FOUND
  • (9) Usługa NOTAUTH nie jest autorytatywna w przypadku strefy -> OT_ERROR_BEZPIECZEŃSTWO
  • (10) NOTZONE Nazwa nie znajduje się w strefie -> OT_ERROR_PARSE
  • (20) BADNAME Niewłaściwa nazwa -> OT_ERROR_PARSE
  • (21) BADALG Nieprawidłowy algorytm -> OT_ERROR_ERROR
  • (22) BADTRUN Nieprawidłowe obcięcie -> OT_ERROR_PARSE
  • Inne kody odpowiedzi -> OT_ERROR_FAILED

Możliwe są również następujące błędy:

  • OT_ERROR_odpowiedź_TIMEOUT : przekroczono limit czasu oczekiwania na odpowiedź serwera (klient będzie nadal ponawiał próby).
  • OT_ERROR_TRUE_ARGS: podana struktura usługi jest nieprawidłowa (np. nieprawidłowa nazwa usługi lub niepoprawna nazwa usługi: otDnsTxtEntry).
  • OT_ERROR_NO_BUFS : niewystarczający bufor, aby przygotować lub wysłać komunikat aktualizacji.

Pamiętaj, że w przypadku awarii klient kontynuuje operację, tj. przygotowuje i (ponownie) przesyła komunikat o aktualizacji SRP do serwera po pewnym czasie oczekiwania. Interwał oczekiwania na ponawianie prób rozpoczyna się od wartości minimalnej i jest zwiększany o współczynnik wzrostu przy każdym niepowodzeniu aż do wartości maksymalnej (więcej informacji znajdziesz w parametrze konfiguracji OPENTHREAD_CONFIG_SRP_CLIENT_MIN_RETRY_WAIT_INTERVAL i powiązanych z nim parametrach).

Szczegóły
Parametry
[in] aError
Błąd (patrz wyżej).
[in] aHostInfo
Wskaźnik informacji o hoście.
[in] aServices
Nagłówek połączonej listy zawierającej wszystkie usługi (oprócz usuniętych). Wartość NULL, jeśli lista jest pusta.
[in] aRemovedServices
Nagłówek połączonej listy zawierającej wszystkie usunięte usługi. Wartość NULL, jeśli lista jest pusta.
[in] aContext
Wskaźnik do dowolnego kontekstu (podany, gdy zarejestrowano wywołanie zwrotne).

otSrpClientHostInfo

struct otSrpClientHostInfo otSrpClientHostInfo

Reprezentuje informacje o hoście klienta SRP.

otSrpClientService

struct otSrpClientService otSrpClientService

Reprezentuje usługę klienta SRP.

Wartości w tej strukturze, w tym bufory ciągów znaków dla nazw i wpisów rekordów TXT, MUSZĄ pozostawać bez zmian po przekazaniu instancji tej struktury do OpenThread z otSrpClientAddService() lub otSrpClientRemoveService().

Pola mState, mData, mNext są używane i zarządzane tylko przez rdzeni OT. Ich wartość jest ignorowana, gdy wystąpienie otSrpClientService jest przekazywane w funkcji otSrpClientAddService(), otSrpClientRemoveService() lub innej. Element wywołujący nie musi konfigurować tych pól.

Pola mLease i mKeyLease określają wymagany okres dzierżawy i przedziału dzierżawy kluczy dla tej usługi. Wartość zerowa oznacza, że przedział nie jest określony i w przypadku tej usługi używane są domyślne przedziały dzierżawy kluczy z otSrpClientGetLeaseInterval() i otSrpClientGetKeyLeaseInterval(). Jeśli okres dzierżawy klucza (ustawiony bezpośrednio lub określony jako domyślny) jest krótszy niż okres dzierżawy usługi, klient SRP ponownie użyje wartości tego okresu także w przypadku okresu dzierżawy klucza. Jeśli na przykład w usłudze mLease jest bezpośrednio ustawiona wartość 2 dni, a mKeyLease ma wartość 0, a domyślna dzierżawa kluczy jest ustawiona na 1 dzień, to podczas rejestracji tej usługi żądana dzierżawa kluczy dla tej usługi także jest ustawiona na 2 dni.

otSrpServerAddressMode

enum otSrpServerAddressMode otSrpServerAddressMode

Reprezentuje tryb adresu używany przez serwer SRP.

Tryb adresu określa sposób określania adresu i numeru portu przez serwer SRP oraz sposobu publikowania tych informacji w danych sieci Thread.

otSrpServerHost

struct otSrpServerHost otSrpServerHost

Ten nieprzejrzysty typ reprezentuje hosta usługi SRP.

otSrpServerLeaseConfig

struct otSrpServerLeaseConfig otSrpServerLeaseConfig

Obejmuje konfiguracje LEASE serwera SRP i KEY-LEASE.

otSrpServerLeaseInfo

struct otSrpServerLeaseInfo otSrpServerLeaseInfo

Obejmuje informacje o dzierżawie serwera SRP hosta lub usługi.

otSrpServerResponseCounters

struct otSrpServerResponseCounters otSrpServerResponseCounters

Obejmuje statystyki odpowiedzi serwera SRP.

otSrpServerService

struct otSrpServerService otSrpServerService

Ten nieprzejrzysty typ reprezentuje usługę SRP.

otSrpServerServiceUpdateHandler

void(* otSrpServerServiceUpdateHandler)(otSrpServerServiceUpdateId aId, const otSrpServerHost *aHost, uint32_t aTimeout, void *aContext)

Obsługuje aktualizacje usługi SRP.

Jest wywoływane przez serwer SRP w celu powiadomienia o aktualizowaniu hosta SRP i prawdopodobnie usług SRP. Ważne jest, aby aktualizacje SRP nie były zatwierdzane, dopóki moduł obsługi nie zwróci wyniku przez wywołanie otSrpServerHandleServiceUpdateResult lub przekroczenie limitu czasu po aTimeout.

Obserwator usługi SRP powinien zawsze wywoływać metodę otSrpServerHandleServiceUpdateResult z kodem błędu OT_ERROR_NONE bezpośrednio po otrzymaniu zdarzeń aktualizacji.

Bardziej ogólny moduł obsługi może przeprowadzać weryfikację na hoście/usługach SRP i odrzucać aktualizacje SRP, jeśli weryfikacja się nie powiedzie. Na przykład serwer proxy reklam powinien rozgłaszać (lub usunąć) hosta i usługi w ramach połączenia obsługującego multiemisję, a w razie wystąpienia błędu zwraca określony kod błędu.

Szczegóły
Parametry
[in] aId
Identyfikator transakcji aktualizacji usługi. Ten identyfikator musi zostać przekazany z powrotem za pomocą otSrpServerHandleServiceUpdateResult.
[in] aHost
Wskaźnik do obiektu otSrpServerHost, który zawiera aktualizacje SRP. Moduł obsługi powinien opublikować/cofnąć publikację hosta, a każda usługa wskazuje na tego hosta przy użyciu poniższych reguł:
  1. Jeśli host nie został usunięty (wskazuje na to otSrpServerHostIsDeleted), należy go opublikować lub zaktualizować przy użyciu mDNS. W przeciwnym razie należy cofnąć publikację hosta (usuń wartości AAAA RR).
  2. Jeśli chcesz cofnąć publikację hosta, każda usługa wskazuje tego hosta. W przeciwnym razie moduł obsługi powinien opublikować lub zaktualizować usługę, gdy nie zostanie usunięta (wskazuje na otSrpServerServiceIsDeleted), i cofnąć jej publikację po usunięciu.
[in] aTimeout
Maksymalny czas (w milisekundach) przetwarzania zdarzenia usługi przez moduł obsługi.
[in] aContext
Wskaźnik do kontekstu aplikacji.
Zobacz też:
otSrpServerSetServiceUpdateHandler
otSrpServerHandleServiceUpdateResult

otSrpServerServiceUpdateId

uint32_t otSrpServerServiceUpdateId

Identyfikator transakcji aktualizacji usługi SRP na serwerze SRP.

otSrpServerTtlConfig

struct otSrpServerTtlConfig otSrpServerTtlConfig

Obejmuje konfiguracje TTL serwera SRP.

Funkcje

otSrpClientAddService

otError otSrpClientAddService(
  otInstance *aInstance,
  otSrpClientService *aService
)

Dodaje usługę, która ma zostać zarejestrowana na serwerze.

Po pomyślnym wywołaniu tej funkcji funkcja otSrpClientCallback zostanie wywołana w celu zgłoszenia stanu dodania lub rejestracji usługi na serwerze SRP.

Instancja otSrpClientService, na którą wskazuje aService, MUSI być widoczna i niezmieniona po powrocie z tej funkcji (przy użyciu funkcji OT_ERROR_NONE). OpenThread zapisze wskaźnik do instancji usługi.

Instancja otSrpClientService nie jest już śledzona przez OpenThread i można ją odzyskać tylko wtedy, gdy

Szczegóły
Parametry
[in] aInstance
Wskaźnik do instancji OpenThread.
[in] aService
Wskaźnik do instancji otSrpClientService do dodania.
Zwracane wartości
OT_ERROR_NONE
Rozpoczęto dodawanie usługi. otSrpClientCallback zostanie wywołana w celu zgłoszenia stanu.
OT_ERROR_ALREADY
Usługa o tych samych nazwach usług i instancji jest już na liście.
OT_ERROR_INVALID_ARGS
Struktura usługi jest nieprawidłowa (np. nieprawidłowa nazwa usługi lub otDnsTxtEntry).

otSrpClientBuffersAllocateService

otSrpClientBuffersServiceEntry * otSrpClientBuffersAllocateService(
  otInstance *aInstance
)

Przypisuje z puli nowy wpis usługi.

Zwrócona instancja wpisu usługi zostanie zainicjowana w ten sposób:

  • mService.mName będzie wskazywać przydzielony bufor ciągu znaków, który można pobrać za pomocą funkcji otSrpClientBuffersGetServiceEntryServiceNameString().
  • mService.mInstanceName będzie wskazywać przydzielony bufor ciągu znaków, który można pobrać za pomocą funkcji otSrpClientBuffersGetServiceEntryInstanceNameString().
  • mService.mSubTypeLabels wskazuje tablicę zwracaną z funkcji otSrpClientBuffersGetSubTypeLabelsArray().
  • mService.mTxtEntries będzie wskazywać element mTxtEntry.
  • Pole mService.mNumTxtEntries zostanie ustawione na jeden.
  • Inne pola mService (port, priorytet, waga) są ustawione na 0.
  • mTxtEntry.mKey ma wartość NULL (wartość jest traktowana jako już zakodowana).
  • mTxtEntry.mValue będzie wskazywać przydzielony bufor, który można pobrać za pomocą funkcji otSrpClientBuffersGetServiceEntryTxtBuffer().
  • mTxtEntry.mValueLength ma wartość zero.
  • Wszystkie powiązane bufory danych/ciągów znaków i tablice zostaną wyczyszczone do zera.

Szczegóły
Parametry
[in] aInstance
Wskaźnik do instancji OpenThread.
Zwroty
Wskaźnik do nowo przydzielonego wpisu usługi lub wartości NULL, jeśli nie ma więcej wpisów dostępnych w puli.

otSrpClientBuffersFreeAllServices

void otSrpClientBuffersFreeAllServices(
  otInstance *aInstance
)

Zwalnia wszystkie przydzielone wcześniej wpisy usługi.

Szczegóły
Parametry
[in] aInstance
Wskaźnik do instancji OpenThread.

otSrpClientBuffersFreeService

void otSrpClientBuffersFreeService(
  otInstance *aInstance,
  otSrpClientBuffersServiceEntry *aService
)

Zwalnia wcześniej przydzielony wpis usługi.

aService MUSI zostać wcześniej przydzielona za pomocą otSrpClientBuffersAllocateService() i jeszcze nie zwolniona. W przeciwnym razie działanie tej funkcji będzie nieokreślone.

Szczegóły
Parametry
[in] aInstance
Wskaźnik do instancji OpenThread.
[in] aService
Wskaźnik do wpisu usługi free (NIE MOŻE mieć wartości NULL).

otSrpClientBuffersGetHostAddressesArray

otIp6Address * otSrpClientBuffersGetHostAddressesArray(
  otInstance *aInstance,
  uint8_t *aArrayLength
)

Pobiera tablicę wpisów z adresami IPv6, które mają być używane jako lista adresów hosta klienta SRP.

Szczegóły
Parametry
[in] aInstance
Wskaźnik do instancji OpenThread.
[out] aArrayLength
Wskaźnik do zmiennej, która zwróci długość tablicy, tj. liczbę wpisów z adresem IPv6 w tablicy (NIE MOŻE mieć wartości NULL).
Zwroty
Wskaźnik do tablicy wpisów w liczbie otIp6Address (liczba wpisów jest zwracana w ciągu aArrayLength).

otSrpClientBuffersGetHostNameString

char * otSrpClientBuffersGetHostNameString(
  otInstance *aInstance,
  uint16_t *aSize
)

Pobiera bufor ciągu znaków, który ma być używany w przypadku nazwy hosta klienta SRP.

Szczegóły
Parametry
[in] aInstance
Wskaźnik do instancji OpenThread.
[out] aSize
Wskaźnik do zmiennej, która zwraca rozmiar (liczbę bajtów) bufora ciągu znaków (NIE MOŻE mieć wartości NULL).
Zwroty
Wskaźnik bufora znaków używany w przypadku nazwy hosta klienta SRP.

otSrpClientBuffersGetServiceEntryInstanceNameString

char * otSrpClientBuffersGetServiceEntryInstanceNameString(
  otSrpClientBuffersServiceEntry *aEntry,
  uint16_t *aSize
)

Pobiera bufor ciągu znaków dla nazwy instancji usługi z wpisu usługi.

Szczegóły
Parametry
[in] aEntry
Wskaźnik do wcześniej przydzielonego wpisu usługi (NIE MOŻE mieć wartości NULL).
[out] aSize
Wskaźnik do zmiennej zwracającej rozmiar (liczbę bajtów) bufora ciągu znaków (NIE MOŻE mieć wartości NULL).
Zwroty
Wskaźnik do bufora ciągów znaków.

otSrpClientBuffersGetServiceEntryServiceNameString

char * otSrpClientBuffersGetServiceEntryServiceNameString(
  otSrpClientBuffersServiceEntry *aEntry,
  uint16_t *aSize
)

Pobiera bufor ciągu znaków dla nazwy usługi z wpisu usługi.

Szczegóły
Parametry
[in] aEntry
Wskaźnik do wcześniej przydzielonego wpisu usługi (NIE MOŻE mieć wartości NULL).
[out] aSize
Wskaźnik do zmiennej zwracającej rozmiar (liczbę bajtów) bufora ciągu znaków (NIE MOŻE mieć wartości NULL).
Zwroty
Wskaźnik do bufora ciągów znaków.

otSrpClientBuffersGetServiceEntryTxtBuffer

uint8_t * otSrpClientBuffersGetServiceEntryTxtBuffer(
  otSrpClientBuffersServiceEntry *aEntry,
  uint16_t *aSize
)

Pobiera bufor rekordu TXT z wpisu usługi.

Szczegóły
Parametry
[in] aEntry
Wskaźnik do wcześniej przydzielonego wpisu usługi (NIE MOŻE mieć wartości NULL).
[out] aSize
Wskaźnik do zmiennej zwracającej rozmiar (liczbę bajtów) bufora (NIE MOŻE mieć wartości NULL).
Zwroty
Wskaźnik do bufora.

otSrpClientBuffersGetSubTypeLabelsArray

const char ** otSrpClientBuffersGetSubTypeLabelsArray(
  otSrpClientBuffersServiceEntry *aEntry,
  uint16_t *aArrayLength
)

Pobiera tablicę etykiet podtypu usługi ze wpisu usługi.

Szczegóły
Parametry
[in] aEntry
Wskaźnik do wcześniej przydzielonego wpisu usługi (NIE MOŻE mieć wartości NULL).
[out] aArrayLength
Wskaźnik do zmiennej zwracającej długość tablicy (NIE MOŻE zawierać wartości NULL).
Zwroty
Wskaźnik do tablicy.

otSrpClientClearHostAndServices

void otSrpClientClearHostAndServices(
  otInstance *aInstance
)

Usuwa wszystkie informacje o hoście i wszystkie usługi.

W odróżnieniu od funkcji otSrpClientRemoveHostAndServices(), która wysyła wiadomość o aktualizacji na serwer z prośbą o usunięcie wszystkich informacji, ta funkcja natychmiast usuwa wszystkie te informacje, bez jakiegokolwiek udziału z serwerem.

Szczegóły
Parametry
[in] aInstance
Wskaźnik do instancji OpenThread.

otSrpClientClearService

otError otSrpClientClearService(
  otInstance *aInstance,
  otSrpClientService *aService
)

Czyści usługę, natychmiast usuwając ją z listy usług klienta.

W odróżnieniu od funkcji otSrpClientRemoveService(), która wysyła wiadomość o aktualizacji do serwera w celu usunięcia usługi, ta funkcja usuwa usługę z listy usług klienta bez żadnej interakcji z serwerem. Po pomyślnym wywołaniu tej funkcji otSrpClientCallback NIE zostanie wywołana, a wpis aService może być natychmiast odzyskany i ponownie użyty przez element wywołujący.

Można jej używać razem z kolejnym wywołaniem funkcji otSrpClientAddService() (potencjalnie wykorzystującej ten sam wpis aService z tą samą nazwą usługi i instancji) w celu zaktualizowania niektórych parametrów istniejącej usługi.

Szczegóły
Parametry
[in] aInstance
Wskaźnik do instancji OpenThread.
[in] aService
Wskaźnik do instancji otSrpClientService do usunięcia.
Zwracane wartości
OT_ERROR_NONE
Element aService został usunięty. Można go od razu odzyskać i użyć ponownie.
OT_ERROR_NOT_FOUND
Nie udało się znaleźć usługi na liście.

otSrpClientDisableAutoStartMode

void otSrpClientDisableAutoStartMode(
  otInstance *aInstance
)

Wyłącza tryb automatycznego uruchamiania.

Ta funkcja jest dostępna tylko wtedy, gdy włączona jest funkcja automatycznego uruchamiania OPENTHREAD_CONFIG_SRP_CLIENT_AUTO_START_API_ENABLE.

Wyłączenie trybu automatycznego uruchamiania nie zatrzyma klienta, jeśli jest już uruchomiony, ale klient przestanie monitorować dane sieci typu Thread, aby sprawdzić, czy wybrany serwer SRP nadal jest na nim obecny.

Pamiętaj, że wywołanie metody otSrpClientStop() spowoduje też wyłączenie trybu automatycznego uruchamiania.

Szczegóły
Parametry
[in] aInstance
Wskaźnik do instancji OpenThread.

otSrpClientEnableAutoHostAddress

otError otSrpClientEnableAutoHostAddress(
  otInstance *aInstance
)

Włącza tryb automatycznego adresu hosta.

Gdy ta opcja jest włączona, adresy IPv6 hosta są automatycznie ustawiane przez klienta SRP przy użyciu wszystkich preferowanych adresów typu unicast w Threadif z wyłączeniem wszystkich adresów lokalnych i lokalnych w sieci typu mesh. Jeśli nie ma preferowanego adresu, dodawany jest lokalny adres EID sieci typu mesh. Klient SRP zostanie automatycznie zarejestrowany ponownie po zaktualizowaniu adresów w sieci Threadif (dodane są nowe adresy lub istniejące adresy są usuwane bądź oznaczane jako niepreferowane).

Tryb automatycznego adresu hosta można włączyć przed uruchomieniem lub w trakcie działania klienta SRP, chyba że informacje o hoście są usuwane (klient jest zajęty obsługą żądania usunięcia z wywołania otSrpClientRemoveHostAndServices(), a informacje o hoście nadal mają stan STATE_TO_REMOVE lub STATE_REMOVING).

Gdy tryb automatycznego adresu hosta jest włączony, można go wyłączyć przez wywołanie otSrpClientSetHostAddresses(), które następnie jawnie ustawia adresy hosta.

Szczegóły
Zwracane wartości
OT_ERROR_NONE
Tryb automatycznego adresu hosta został włączony.
OT_ERROR_INVALID_STATE
Host jest usuwany, dlatego nie można włączyć trybu automatycznego adresu hosta.

otSrpClientEnableAutoStartMode

void otSrpClientEnableAutoStartMode(
  otInstance *aInstance,
  otSrpClientAutoStartCallback aCallback,
  void *aContext
)

Włącza tryb automatycznego uruchamiania.

Ta funkcja jest dostępna tylko wtedy, gdy włączona jest funkcja automatycznego uruchamiania OPENTHREAD_CONFIG_SRP_CLIENT_AUTO_START_API_ENABLE.

Opcja konfiguracji OPENTHREAD_CONFIG_SRP_CLIENT_AUTO_START_DEFAULT_MODE określa domyślny tryb automatycznego uruchamiania (niezależnie od tego, czy jest on włączony czy wyłączony na początku stosu OT).

Gdy automatyczne uruchamianie jest włączone, klient SRP monitoruje dane sieci Thread, by wykrywać serwery SRP i wybierać preferowany serwer oraz automatycznie uruchamiać i zatrzymywać klienta po wykryciu takiego serwera.

Istnieją 3 kategorie wpisów danych sieci wskazujących na obecność serwera SRP. Są one preferowane w tej kolejności:

1) Preferowane wpisy pojedyncze, w których adres serwera jest zawarty w danych usługi. Jeśli dostępnych jest kilka opcji, preferowana jest ta z liczbowo najniższym adresem IPv6.

2) Wpisy typu Anycast, każdy z numerem sekwencyjnym. Większy numer sekwencyjny określony przez funkcję arytmetyczną numeru seryjnego w dokumencie RFC-1982 jest uważany za nowszy i dlatego preferowany. Preferowany jest największy numer sekwencyjny z zastosowaniem funkcji arytmetycznej numeru seryjnego, jeśli jest on dobrze zdefiniowany (tzn. numer sekwencyjny jest większy niż wszystkie pozostałe liczby na kolejnych). Jeśli nie jest on dokładnie określony, preferowany jest liczbowy największy numer sekwencyjny.

3) Wpisy Unicast, w których dane serwera zawierają informacje o adresie serwera. Jeśli dostępnych jest kilka opcji, preferowana jest ta z liczbowo najniższym adresem IPv6.

W przypadku zmiany we wpisach Dane sieci klient sprawdzi, czy aktualnie wybrany serwer znajduje się w danych sieci i nadal jest preferowany. W przeciwnym razie klient przełączy się na nowy preferowany serwer, a jeśli nie ma takiego serwera, zostanie wyłączony.

Gdy klient SRP zostanie bezpośrednio uruchomiony za pomocą udanego wywołania otSrpClientStart(), podany adres serwera SRP w otSrpClientStart() będzie nadal używany niezależnie od stanu trybu automatycznego uruchamiania i tego, czy ten sam adres serwera SRP zostanie wykryty w danych sieci typu Thread. W takim przypadku tylko bezpośrednie wywołanie otSrpClientStop() spowoduje zatrzymanie klienta.

Szczegóły
Parametry
[in] aInstance
Wskaźnik do instancji OpenThread.
[in] aCallback
Wywołanie zwrotne powiadamiające o automatycznym uruchomieniu/zatrzymaniu klienta. Może mieć wartość NULL, jeśli nie jest potrzebna.
[in] aContext
Kontekst do przekazania podczas wywoływania funkcji aCallback.

otSrpClientGetDomainName

const char * otSrpClientGetDomainName(
  otInstance *aInstance
)

Pobiera nazwę domeny używaną przez klienta SRP.

Wymaga włączenia zasady OPENTHREAD_CONFIG_SRP_CLIENT_DOMAIN_NAME_API_ENABLE.

Jeśli nazwa domeny nie zostanie ustawiona, będzie używana domena „default.service.arpa”.

Szczegóły
Parametry
[in] aInstance
Wskaźnik do instancji OpenThread.
Zwroty
Ciąg tekstowy nazwy domeny.

otSrpClientGetHostInfo

const otSrpClientHostInfo * otSrpClientGetHostInfo(
  otInstance *aInstance
)

Pobiera informacje o hoście.

Szczegóły
Parametry
[in] aInstance
Wskaźnik do instancji OpenThread.
Zwroty
Wskaźnik struktury informacji o hoście.

otSrpClientGetKeyLeaseInterval

uint32_t otSrpClientGetKeyLeaseInterval(
  otInstance *aInstance
)

Pobiera domyślny interwał dzierżawy klucza używany w żądaniach aktualizacji SRP.

Interwał domyślny jest używany tylko w przypadku otSrpClientService instancji z wartością mKeyLease ustawioną na 0.

Pamiętaj, że jest to czas dzierżawy, o który prosi klient SRP. Serwer może zaakceptować inny interwał dzierżawy.

Szczegóły
Parametry
[in] aInstance
Wskaźnik do instancji OpenThread.
Zwroty
Interwał dzierżawy kluczy (w sekundach).

otSrpClientGetLeaseInterval

uint32_t otSrpClientGetLeaseInterval(
  otInstance *aInstance
)

Pobiera domyślny interwał dzierżawy używany w żądaniach aktualizacji SRP.

Interwał domyślny jest używany tylko w przypadku otSrpClientService instancji z wartością mLease ustawioną na 0.

Pamiętaj, że jest to czas dzierżawy, o który prosi klient SRP. Serwer może zaakceptować inny interwał dzierżawy.

Szczegóły
Parametry
[in] aInstance
Wskaźnik do instancji OpenThread.
Zwroty
Interwał dzierżawy (w sekundach).

otSrpClientGetServerAddress

const otSockAddr * otSrpClientGetServerAddress(
  otInstance *aInstance
)

Pobiera adres gniazda (adres IPv6 i numer portu) serwera SRP, który jest używany przez klienta SRP.

Jeśli klient nie jest uruchomiony, adres jest nieokreślony (tylko zero) i ma zerowy numer portu.

Szczegóły
Parametry
[in] aInstance
Wskaźnik do instancji OpenThread.
Zwroty
Wskaźnik do adresu gniazda serwera SRP (zawsze nie ma wartości NULL).

otSrpClientGetServices

const otSrpClientService * otSrpClientGetServices(
  otInstance *aInstance
)

Pobiera listę usług zarządzanych przez klienta.

Szczegóły
Parametry
[in] aInstance
Wskaźnik do instancji OpenThread.
Zwroty
Wskaźnik do nagłówka połączonej listy wszystkich usług lub wartość NULL, jeśli lista jest pusta.

otSrpClientGetTtl

uint32_t otSrpClientGetTtl(
  otInstance *aInstance
)

Pobiera wartość TTL z każdego rekordu zawartego w żądaniach aktualizacji SRP.

Pamiętaj, że jest to wartość TTL wymagana przez klienta SRP. Serwer może zaakceptować inną wartość TTL.

Domyślnie wartość TTL jest równa interwałowi dzierżawy. Jeśli w metodzie otSrpClientSetTtl() zostanie przesłana wartość 0 lub wartość większa niż interwał dzierżawy, wartość TTL będzie też równa odstępowi dzierżawy.

Szczegóły
Parametry
[in] aInstance
Wskaźnik do instancji OpenThread.
Zwroty
Wartość TTL (w sekundach).

otSrpClientIsAutoStartModeEnabled

bool otSrpClientIsAutoStartModeEnabled(
  otInstance *aInstance
)

Wskazuje bieżący stan trybu automatycznego uruchamiania (włączony lub wyłączony).

Ta funkcja jest dostępna tylko wtedy, gdy włączona jest funkcja automatycznego uruchamiania OPENTHREAD_CONFIG_SRP_CLIENT_AUTO_START_API_ENABLE.

Szczegóły
Parametry
[in] aInstance
Wskaźnik do instancji OpenThread.
Zwroty
Wartość TRUE, jeśli włączony jest tryb automatycznego uruchamiania, lub wartość FALSE w przeciwnym razie.

otSrpClientIsRunning

bool otSrpClientIsRunning(
  otInstance *aInstance
)

Wskazuje, czy klient SRP jest uruchomiony.

Szczegóły
Parametry
[in] aInstance
Wskaźnik do instancji OpenThread.
Zwroty
Wartość TRUE, jeśli klient SRP jest uruchomiony, lub wartość FALSE w przeciwnym razie.

otSrpClientIsServiceKeyRecordEnabled

bool otSrpClientIsServiceKeyRecordEnabled(
  otInstance *aInstance
)

Wskazuje, czy tryb „uwzględniania rekordu klucza usługi” jest włączony czy wyłączony.

Jest dostępne, gdy włączona jest konfiguracja OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE.

Szczegóły
Parametry
[in] aInstance
Wskaźnik do instancji OpenThread.
Zwroty
TRUE, jeśli włączony jest tryb „uwzględnianie rekordu klucza usługi”. W przeciwnym razie ma wartość FALSE.

otSrpClientItemStateToString

const char * otSrpClientItemStateToString(
  otSrpClientItemState aItemState
)

Konwertuje otSrpClientItemState na ciąg znaków.

Szczegóły
Parametry
[in] aItemState
Stan elementu.
Zwroty
Ciąg znaków reprezentujący aItemState.

otSrpClientRemoveHostAndServices

otError otSrpClientRemoveHostAndServices(
  otInstance *aInstance,
  bool aRemoveKeyLease,
  bool aSendUnregToServer
)

Rozpoczyna proces usuwania informacji o hoście i wszystkich usług.

Po powrocie z tej funkcji funkcja otSrpClientCallback zostanie wywołana w celu zgłoszenia stanu żądania usunięcia z serwera SRP.

Jeśli informacje o hoście mają zostać trwale usunięte z serwera, właściwość aRemoveKeyLease powinna mieć wartość true, co spowoduje usunięcie dzierżawy klucza powiązanej z hostem na serwerze. W przeciwnym razie rekord dzierżawy kluczy zostanie zachowany tak jak dotychczas, dzięki czemu serwer zachowa nazwę hosta w rezerwacji, gdy klient znów będzie mógł świadczyć i rejestrować swoje usługi.

Pole aSendUnregToServer określa zachowanie, gdy informacje o hoście nie są jeszcze zarejestrowane na serwerze. Jeśli zasada aSendUnregToServer ma wartość false (czyli wartość domyślną/oczekiwaną), klient SRP usuwa informacje o hoście i usługi bez wysyłania komunikatu o aktualizacji do serwera (nie trzeba aktualizować serwera, jeśli nie zostały w nim jeszcze zarejestrowane żadne dane). Jeśli zasada aSendUnregToServer ma wartość true, klient SRP wysyła do serwera wiadomość o aktualizacji. Pamiętaj, że jeśli informacje o hoście są zarejestrowane, wartość aSendUnregToServer nie ma znaczenia, a klient SRP zawsze wysyła do serwera wiadomość z prośbą o usunięcie wszystkich informacji.

Jednym z sytuacji, w której aSendUnregToServer może być przydatny, jest zresetowanie lub ponowne uruchomienie urządzenia. Osoba wywołująca może chcieć usunąć z serwera wszystkie wcześniej zarejestrowane usługi. W takim przypadku rozmówca może otSrpClientSetHostName(), a następnie poprosić o otSrpClientRemoveHostAndServices(), używając aSendUnregToServer jako true.

Szczegóły
Parametry
[in] aInstance
Wskaźnik do instancji OpenThread.
[in] aRemoveKeyLease
Wartość logiczna wskazująca, czy należy usunąć dzierżawę klucza hosta.
[in] aSendUnregToServer
Wartość logiczna wskazująca, czy należy wysłać aktualizację na serwer, gdy informacje o hoście nie są zarejestrowane.
Zwracane wartości
OT_ERROR_NONE
Rozpoczęto usuwanie informacji o hoście i usług. otSrpClientCallback zostanie wywołana w celu zgłoszenia stanu.
OT_ERROR_ALREADY
Informacje o hoście zostały już usunięte.

otSrpClientRemoveService

otError otSrpClientRemoveService(
  otInstance *aInstance,
  otSrpClientService *aService
)

Żąda wyrejestrowania usługi z serwera.

Po pomyślnym wywołaniu tej funkcji funkcja otSrpClientCallback zostanie wywołana w celu zgłoszenia stanu żądania usunięcia z serwerem SRP.

Instancja otSrpClientService, na którą wskazuje aService, MUSI pozostać niezmieniona po powrocie z tej funkcji (przy użyciu: OT_ERROR_NONE). OpenThread zachowa instancję usługi podczas procesu usuwania. Dopiero po wywołaniu interfejsu otSrpClientCallback wskazującego, że instancja usługi została usunięta z listy usług klienta SRP i można ją zwolnić/ponownie wykorzystać.

Szczegóły
Parametry
[in] aInstance
Wskaźnik do instancji OpenThread.
[in] aService
Wskaźnik do instancji otSrpClientService do usunięcia.
Zwracane wartości
OT_ERROR_NONE
Rozpoczęto usuwanie usługi. otSrpClientCallback zostanie wywołana w celu zgłoszenia stanu.
OT_ERROR_NOT_FOUND
Nie udało się znaleźć usługi na liście.

otSrpClientSetCallback

void otSrpClientSetCallback(
  otInstance *aInstance,
  otSrpClientCallback aCallback,
  void *aContext
)

Ustawia wywołanie zwrotne powiadamiające osobę wywołującą o zdarzeniach/zmianach związanych z klientem SRP.

Klient SRP umożliwia zarejestrowanie pojedynczego wywołania zwrotnego. Kolejne wywołania tej funkcji zastąpią wszelkie wcześniej ustawione funkcje wywołań zwrotnych.

Szczegóły
Parametry
[in] aInstance
Wskaźnik do instancji OpenThread.
[in] aCallback
Wywołanie zwrotne do powiadamiania o zdarzeniach i zmianach. Może mieć wartość NULL, jeśli nie jest potrzebna.
[in] aContext
Dowolny kontekst używany z elementem aCallback.

otSrpClientSetDomainName

otError otSrpClientSetDomainName(
  otInstance *aInstance,
  const char *aName
)

Ustawia nazwę domeny, która ma być używana przez klienta SRP.

Wymaga włączenia zasady OPENTHREAD_CONFIG_SRP_CLIENT_DOMAIN_NAME_API_ENABLE.

Jeśli nie skonfigurujesz tej zasady, używana będzie domena „default.service.arpa”.

Bufor z ciągiem nazwy wskazywany przez funkcję aName MUSI zostać zachowany i pozostać niezmieniony po powrocie z tej funkcji. OpenThread zachowa wskaźnik na ciągu.

Nazwę domeny możesz ustawić przed uruchomieniem klienta lub po jego uruchomieniu, ale przed zarejestrowaniem informacji o hoście na serwerze (informacje o hoście powinny być w formacie STATE_TO_ADD lub STATE_TO_REMOVE).

Szczegóły
Parametry
[in] aInstance
Wskaźnik do instancji OpenThread.
[in] aName
Wskaźnik do ciągu nazwy domeny. Jeśli wartość jest ustawiona na wartość domyślną „default.service.arpa”.
Zwracane wartości
OT_ERROR_NONE
Etykieta nazwy domeny została ustawiona.
OT_ERROR_INVALID_STATE
Informacje o hoście są już zarejestrowane na serwerze.

otSrpClientSetHostAddresses

otError otSrpClientSetHostAddresses(
  otInstance *aInstance,
  const otIp6Address *aIp6Addresses,
  uint8_t aNumAddresses
)

Konfiguruje lub aktualizuje listę adresów IPv6 hosta.

Adresy IPv6 hosta można ustawiać/zmieniać przed uruchomieniem lub w trakcie działania klienta SRP (np. w celu dodania, usunięcia lub zmiany wcześniej zarejestrowanego adresu hosta), chyba że informacje o hoście są usuwane (klient jest zajęty obsługą żądania usunięcia z wcześniejszego wywołania otSrpClientRemoveHostAndServices(), a informacje o hoście nadal są w stanie STATE_TO_REMOVE lub STATE_REMOVING).

Tablica adresów IPv6 hosta, na którą wskazuje aIp6Addresses, MUSI być trwała i niezmieniona po powrocie z tej funkcji (przy użyciu funkcji OT_ERROR_NONE). OpenThread zapisze w niej wskaźnik.

Po pomyślnym wywołaniu tej funkcji funkcja otSrpClientCallback zostanie wywołana w celu zgłoszenia stanu rejestracji adresu na serwerze SRP.

Wywołanie tej funkcji wyłącza tryb automatycznego adresu hosta, jeśli został on wcześniej włączony z udanego wywołania otSrpClientEnableAutoHostAddress().

Szczegóły
Parametry
[in] aInstance
Wskaźnik do instancji OpenThread.
[in] aIp6Addresses
Wskaźnik do tablicy zawierającej adresy IPv6 hosta.
[in] aNumAddresses
Liczba adresów w tablicy aIp6Addresses.
Zwracane wartości
OT_ERROR_NONE
Rozpoczęto zmianę listy adresów IPv6 hosta. otSrpClientCallback będzie wywoływany, aby zgłosić stan rejestracji adresów na serwerze.
OT_ERROR_INVALID_ARGS
Lista adresów jest nieprawidłowa (np. musi zawierać co najmniej jeden adres).
OT_ERROR_INVALID_STATE
Host jest usuwany, dlatego nie można zmienić jego adresu.

otSrpClientSetHostName

otError otSrpClientSetHostName(
  otInstance *aInstance,
  const char *aName
)

Ustawia etykietę nazwy hosta.

Po pomyślnym wywołaniu tej funkcji funkcja otSrpClientCallback zostanie wywołana w celu zgłoszenia stanu rejestracji informacji o hoście na serwerze SRP.

Bufor z ciągiem nazwy wskazywany przez funkcję aName MUSI zostać zachowany i pozostać niezmieniony po powrocie z tej funkcji. OpenThread zachowa wskaźnik na ciągu.

Nazwę hosta można ustawić przed uruchomieniem klienta lub po jego uruchomieniu, ale przed zarejestrowaniem informacji o hoście na serwerze (informacje o hoście powinny być w formacie STATE_TO_ADD lub STATE_REMOVED).

Szczegóły
Parametry
[in] aInstance
Wskaźnik do instancji OpenThread.
[in] aName
Wskaźnik do ciągu etykiety nazwy hosta (NIE MOŻE zawierać wartości NULL). Wskaźnik do bufora ciągu znaków MUSI być utrwalony oraz pozostaje prawidłowy po zwróceniu go z tej funkcji.
Zwracane wartości
OT_ERROR_NONE
Etykieta nazwy hosta została ustawiona.
OT_ERROR_INVALID_ARGS
Wartość aName ma wartość NULL.
OT_ERROR_INVALID_STATE
Nazwa hosta jest już ustawiona i zarejestrowana na serwerze.

otSrpClientSetKeyLeaseInterval

void otSrpClientSetKeyLeaseInterval(
  otInstance *aInstance,
  uint32_t aInterval
)

Ustawia domyślny interwał dzierżawy klucza używany w żądaniach aktualizacji SRP.

Interwał domyślny jest używany tylko w przypadku otSrpClientService instancji z wartością mKeyLease ustawioną na 0.

Zmiana okresu dzierżawy nie ma wpływu na zaakceptowany okres dzierżawy już zarejestrowanych usług lub informacji o hoście. Dotyczy tylko przyszłych wiadomości aktualizacji SRP (np. dodawania nowych usług lub odświeżeń istniejących usług).

Szczegóły
Parametry
[in] aInstance
Wskaźnik do instancji OpenThread.
[in] aInterval
Interwał dzierżawy kluczy (w sekundach). Jeśli wartość to 0, zostanie użyta wartość domyślna określona przez OPENTHREAD_CONFIG_SRP_CLIENT_DEFAULT_KEY_LEASE.

otSrpClientSetLeaseInterval

void otSrpClientSetLeaseInterval(
  otInstance *aInstance,
  uint32_t aInterval
)

Ustawia domyślny interwał dzierżawy używany w żądaniach aktualizacji SRP.

Interwał domyślny jest używany tylko w przypadku otSrpClientService instancji z wartością mLease ustawioną na 0.

Zmiana okresu dzierżawy nie ma wpływu na zaakceptowany okres dzierżawy już zarejestrowanych usług lub informacji o hoście. Dotyczy tylko przyszłych wiadomości aktualizacji SRP (np. dodawania nowych usług lub odświeżeń istniejących usług).

Szczegóły
Parametry
[in] aInstance
Wskaźnik do instancji OpenThread.
[in] aInterval
Interwał dzierżawy (w sekundach). Jeśli wartość to 0, zostanie użyta wartość domyślna określona przez OPENTHREAD_CONFIG_SRP_CLIENT_DEFAULT_LEASE.

otSrpClientSetServiceKeyRecordEnabled

void otSrpClientSetServiceKeyRecordEnabled(
  otInstance *aInstance,
  bool aEnabled
)

Włącza lub wyłącza tryb uwzględniania rekordu klucza usługi.

Gdy ta opcja jest włączona, klient SRP umieszcza rekord KEY w instrukcjach opisu usługi w wysyłanych komunikatach o aktualizacji SRP.

Jest dostępne, gdy włączona jest konfiguracja OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE.

Szczegóły
Parametry
[in] aInstance
Wskaźnik do instancji OpenThread.
[in] aEnabled
TRUE, aby włączyć, lub FALSE, aby wyłączyć tryb uwzględniania rekordu klucza usługi.

otSrpClientSetTtl

void otSrpClientSetTtl(
  otInstance *aInstance,
  uint32_t aTtl
)

Ustawia wartość TTL w każdym rekordzie zawartym w żądaniach aktualizacji SRP.

Zmiana wartości TTL nie ma wpływu na wartości TTL już zarejestrowanych usług/informacji o hoście. Ma wpływ tylko na przyszłe komunikaty SRP (np. dodawanie nowych usług lub odświeżanie istniejących usług).

Szczegóły
Parametry
[in] aInstance
Wskaźnik do instancji OpenThread.
[in] aTtl
Wartość TTL (w sekundach). Jeśli wartość wynosi zero lub jest większa niż odstęp dzierżawy, wartość TTL jest ustawiana na przedział dzierżawy.

otSrpClientStart

otError otSrpClientStart(
  otInstance *aInstance,
  const otSockAddr *aServerSockAddr
)

Uruchamia operację klienta SRP.

Klient SRP przygotuje i wyśle komunikat „SRP Update” (Aktualizacja SRP) do serwera SRP, gdy zostaną spełnione wszystkie poniższe warunki:

Nie ma znaczenia, w jakiej kolejności te funkcje są wywoływane. Gdy wszystkie warunki są spełnione, klient SRP czeka z krótkim opóźnieniem, zanim przygotuje komunikat „SRP Update” (Aktualizacja SRP) i wyśle go na serwer. To opóźnienie umożliwia użytkownikowi dodanie wielu usług lub adresów IPv6 przed wysłaniem pierwszego komunikatu z aktualizacją SRP (dzięki czemu zostanie wysłana jedna aktualizacja SRP zawierająca wszystkie informacje). Konfiguracja OPENTHREAD_CONFIG_SRP_CLIENT_UPDATE_TX_DELAY określa odstęp czasu opóźnienia.

Szczegóły
Parametry
[in] aInstance
Wskaźnik do instancji OpenThread.
[in] aServerSockAddr
Adres gniazda (adres IPv6 i numer portu) serwera SRP.
Zwracane wartości
OT_ERROR_NONE
Operacja klienta SRP rozpoczęła się lub jest już uruchomiona z tym samym adresem gniazda serwera i wywołaniem zwrotnym.
OT_ERROR_BUSY
Klient SRP jest zajęty uruchamianiem z innym adresem gniazda.
OT_ERROR_FAILED
Nie udało się otworzyć/połączyć gniazda UDP klienta.

otSrpClientStop

void otSrpClientStop(
  otInstance *aInstance
)

Zatrzymuje operację klienta SRP.

Zatrzymuje dalsze interakcje z serwerem SRP. Pamiętaj, że nie spowoduje to usunięcia ani wyczyszczenia informacji o hoście i/lub listy usług. Oznacza to wszystkie usługi, które mają zostać dodane lub usunięte ponownie po (ponownym) uruchomieniu klienta.

Szczegóły
Parametry
[in] aInstance
Wskaźnik do instancji OpenThread.

otSrpServerGetAddressMode

otSrpServerAddressMode otSrpServerGetAddressMode(
  otInstance *aInstance
)

Zwraca tryb adresu używany przez serwer SRP.

Szczegóły
Parametry
[in] aInstance
Wskaźnik do instancji OpenThread.
Zwroty
Tryb adresu serwera SRP.

otSrpServerGetAnycastModeSequenceNumber

uint8_t otSrpServerGetAnycastModeSequenceNumber(
  otInstance *aInstance
)

Zwraca numer sekwencyjny używany w trybie adresu Anycast.

Numer sekwencyjny jest widoczny we wpisie „Adres Anycast usługi DNS/SRP” opublikowany w danych sieciowych.

Szczegóły
Parametry
[in] aInstance
Wskaźnik do instancji OpenThread.
Zwroty
Numer sekwencyjny dowolnego obiektu.

otSrpServerGetDomain

const char * otSrpServerGetDomain(
  otInstance *aInstance
)

Zwraca domenę autoryzowaną dla serwera SRP.

Jeśli domena nie jest ustawiona przez SetDomain, zwracana jest wartość „default.service.arpa.”. Kropka na końcu jest zawsze dołączana, nawet jeśli domena została ustawiona bez niej.

Szczegóły
Parametry
[in] aInstance
Wskaźnik do instancji OpenThread.
Zwroty
Wskaźnik do ciągu znaków domeny połączonego kropką.

otSrpServerGetLeaseConfig

void otSrpServerGetLeaseConfig(
  otInstance *aInstance,
  otSrpServerLeaseConfig *aLeaseConfig
)

Zwraca konfiguracje LEASE serwera SRP i KEY-LEASE.

Szczegóły
Parametry
[in] aInstance
Wskaźnik do instancji OpenThread.
[out] aLeaseConfig
Wskaźnik do instancji otSrpServerLeaseConfig.

otSrpServerGetNextHost

const otSrpServerHost * otSrpServerGetNextHost(
  otInstance *aInstance,
  const otSrpServerHost *aHost
)

Zwraca następny zarejestrowany host na serwerze SRP.

Szczegóły
Parametry
[in] aInstance
Wskaźnik do instancji OpenThread.
[in] aHost
Wskaźnik do bieżącego hosta. Aby uzyskać pierwszego hosta, użyj wartości NULL.
Zwroty
Wskaźnik do zarejestrowanego hosta. NULL, jeśli nie można znaleźć więcej hostów.

otSrpServerGetPort

uint16_t otSrpServerGetPort(
  otInstance *aInstance
)

Zwraca port, na który nasłuchuje serwer SRP.

Szczegóły
Parametry
[in] aInstance
Wskaźnik do instancji OpenThread.
Zwroty
Port serwera SRP. Jeśli serwer nie jest uruchomiony, zwracana jest wartość 0.

otSrpServerGetResponseCounters

const otSrpServerResponseCounters * otSrpServerGetResponseCounters(
  otInstance *aInstance
)

Zwraca liczniki odpowiedzi serwera SRP.

Szczegóły
Parametry
[in] aInstance
Wskaźnik do instancji OpenThread.
Zwroty
Wskaźnik do liczników odpowiedzi serwera SRP.

otSrpServerGetState

otSrpServerState otSrpServerGetState(
  otInstance *aInstance
)

Zwraca stan serwera SRP.

Szczegóły
Parametry
[in] aInstance
Wskaźnik do instancji OpenThread.
Zwroty
Bieżący stan serwera SRP.

otSrpServerGetTtlConfig

void otSrpServerGetTtlConfig(
  otInstance *aInstance,
  otSrpServerTtlConfig *aTtlConfig
)

Zwraca konfigurację TTL serwera SRP.

Szczegóły
Parametry
[in] aInstance
Wskaźnik do instancji OpenThread.
[out] aTtlConfig
Wskaźnik do instancji otSrpServerTtlConfig.

otSrpServerHandleServiceUpdateResult

void otSrpServerHandleServiceUpdateResult(
  otInstance *aInstance,
  otSrpServerServiceUpdateId aId,
  otError aError
)

Raportuje wynik przetwarzania aktualizacji SRP na serwerze SRP.

Moduł obsługi aktualizacji usługi powinien wywołać tę funkcję, aby zwrócić wynik przetwarzania aktualizacji SRP.

Szczegóły
Parametry
[in] aInstance
Wskaźnik do instancji OpenThread.
[in] aId
Identyfikator transakcji aktualizacji usługi. Powinien to być ten sam identyfikator, który został podany w otSrpServerServiceUpdateHandler.
[in] aError
Błąd zwracany do serwera SRP. Do reprezentowania konfliktów nazw DNS wpisz OT_ERROR_DUPLICATED.

otSrpServerHostGetAddresses

const otIp6Address * otSrpServerHostGetAddresses(
  const otSrpServerHost *aHost,
  uint8_t *aAddressesNum
)

Zwraca adresy podanego hosta.

Szczegóły
Parametry
[in] aHost
Wskaźnik do hosta usługi SRP.
[out] aAddressesNum
Wskaźnik do miejsca, w którym mamy wpisać liczbę adresów.
Zwroty
Wskaźnik do tablicy adresów IPv6.

otSrpServerHostGetFullName

const char * otSrpServerHostGetFullName(
  const otSrpServerHost *aHost
)

Zwraca pełną nazwę hosta.

Szczegóły
Parametry
[in] aHost
Wskaźnik do hosta usługi SRP.
Zwroty
Wskaźnik do ciągu nazwy hosta zakończonego wartością null.

otSrpServerHostGetLeaseInfo

void otSrpServerHostGetLeaseInfo(
  const otSrpServerHost *aHost,
  otSrpServerLeaseInfo *aLeaseInfo
)

Zwraca informacje LEASE i KEY-LEASE o danym hoście.

Szczegóły
Parametry
[in] aHost
Wskaźnik do hosta serwera SRP.
[out] aLeaseInfo
Wskaźnik miejsca, w którym należy wstawić informacje LEASE i KEY-LEASE.

otSrpServerHostGetNextService

const otSrpServerService * otSrpServerHostGetNextService(
  const otSrpServerHost *aHost,
  const otSrpServerService *aService
)

Zwraca następną usługę danego hosta.

Szczegóły
Parametry
[in] aHost
Wskaźnik do hosta usługi SRP.
[in] aService
Wskaźnik do bieżącej instancji usługi SRP. Aby uzyskać pierwszą usługę, użyj wartości NULL.
Zwroty
Wskaźnik do następnej usługi lub wartość NULL, jeśli nie ma więcej usług.

otSrpServerHostIsDeleted

bool otSrpServerHostIsDeleted(
  const otSrpServerHost *aHost
)

Informuje, czy host usługi SRP został usunięty.

Host usługi SRP można usunąć, ale zachowa on swoją nazwę na przyszłość. W takim przypadku instancja hosta nie zostanie usunięta z serwera/rejestru SRP.

Szczegóły
Parametry
[in] aHost
Wskaźnik do hosta usługi SRP.
Zwroty
Wartość TRUE, jeśli host został usunięty, lub wartość FALSE w przypadku usunięcia hosta.

otSrpServerHostMatchesFullName

bool otSrpServerHostMatchesFullName(
  const otSrpServerHost *aHost,
  const char *aFullName
)

Wskazuje, czy host jest zgodny z podaną nazwą hosta.

Dopasowywanie nazw DNS jest przeprowadzane przy użyciu porównania ciągów znaków bez rozróżniania wielkości liter (np. kolumny „Abc” i „aBc” oznaczają to samo).

Szczegóły
Parametry
[in] aHost
Wskaźnik do hosta usługi SRP.
[in] aFullName
Pełna nazwa hosta.
Zwracane wartości
TRUE
Jeśli host jest zgodny z nazwą hosta.
FALSE
Jeśli host nie pasuje do nazwy hosta.

otSrpServerIsAutoEnableMode

bool otSrpServerIsAutoEnableMode(
  otInstance *aInstance
)

Wskazuje, czy tryb automatycznego włączania jest włączony czy wyłączony.

Wymaga funkcji OPENTHREAD_CONFIG_BORDER_ROUTING_ENABLE.

Szczegóły
Parametry
[in] aInstance
Wskaźnik do instancji OpenThread.
Zwracane wartości
TRUE
Tryb automatycznego włączania jest włączony.
FALSE
Tryb automatycznego włączania jest wyłączony.

otSrpServerParseSubTypeServiceName

otError otSrpServerParseSubTypeServiceName(
  const char *aSubTypeServiceName,
  char *aLabel,
  uint8_t aLabelSize
)

Analizuje nazwę usługi podtypu (pełna nazwa) i wyodrębnia etykietę podtypu.

Pełna nazwa usługi dla podtypu występuje po „._sub...”.

Szczegóły
Parametry
[in] aSubTypeServiceName
Nazwa usługi podtypu (pełna nazwa).
[out] aLabel
Wskaźnik do bufora, który pozwala skopiować wyodrębnioną etykietę podtypu.
[in] aLabelSize
Maksymalny rozmiar aLabel bufora.
Zwracane wartości
OT_ERROR_NONE
Nazwa została przeanalizowana, a plik aLabel został zaktualizowany.
OT_ERROR_NO_BUFS
Etykieta podtypu nie mogła się zmieścić w buforze aLabel (liczba znaków z etykiety, która mogła się zmieścić, została skopiowana do pola aLabel, upewniając się, że ma wartość null).
OT_ERROR_INVALID_ARGS
aSubTypeServiceName nie jest prawidłowym formatem podtypu.

otSrpServerServiceGetHost

const otSrpServerHost * otSrpServerServiceGetHost(
  const otSrpServerService *aService
)

Zwraca hosta, na którym znajduje się instancja usługi.

Szczegóły
Parametry
[in] aService
Wskaźnik do usługi SRP.
Zwroty
Wskaźnik do instancji hosta.

otSrpServerServiceGetInstanceLabel

const char * otSrpServerServiceGetInstanceLabel(
  const otSrpServerService *aService
)

Zwraca etykietę instancji usługi (pierwszą etykietę w nazwie instancji) usługi.

Szczegóły
Parametry
[in] aService
Wskaźnik do usługi SRP.
Zwroty
Wskaźnik do ciągu etykiety instancji usługi zakończonej wartością null.

otSrpServerServiceGetInstanceName

const char * otSrpServerServiceGetInstanceName(
  const otSrpServerService *aService
)

Zwraca pełną nazwę instancji usługi.

Szczegóły
Parametry
[in] aService
Wskaźnik do usługi SRP.
Zwroty
Wskaźnik do ciągu nazwy instancji usługi zakończonej wartością null.

otSrpServerServiceGetLeaseInfo

void otSrpServerServiceGetLeaseInfo(
  const otSrpServerService *aService,
  otSrpServerLeaseInfo *aLeaseInfo
)

Zwraca informacje LEASE i KEY-LEASE o danej usłudze.

Szczegóły
Parametry
[in] aService
Wskaźnik do usługi serwera SRP.
[out] aLeaseInfo
Wskaźnik miejsca, w którym należy wstawić informacje LEASE i KEY-LEASE.

otSrpServerServiceGetNumberOfSubTypes

uint16_t otSrpServerServiceGetNumberOfSubTypes(
  const otSrpServerService *aService
)

Pobiera liczbę podtypów usługi.

Szczegóły
Parametry
[in] aService
Wskaźnik do usługi SRP.
Zwroty
Liczba podtypów obiektu typu aService.

otSrpServerServiceGetPort

uint16_t otSrpServerServiceGetPort(
  const otSrpServerService *aService
)

Zwraca port instancji usługi.

Szczegóły
Parametry
[in] aService
Wskaźnik do usługi SRP.
Zwroty
Port usługi.

otSrpServerServiceGetPriority

uint16_t otSrpServerServiceGetPriority(
  const otSrpServerService *aService
)

Zwraca priorytet instancji usługi.

Szczegóły
Parametry
[in] aService
Wskaźnik do usługi SRP.
Zwroty
Priorytet usługi.

otSrpServerServiceGetServiceName

const char * otSrpServerServiceGetServiceName(
  const otSrpServerService *aService
)

Zwraca pełną nazwę usługi.

Szczegóły
Parametry
[in] aService
Wskaźnik do usługi SRP.
Zwroty
Wskaźnik do ciągu nazwy usługi zakończonej wartością null.

otSrpServerServiceGetSubTypeServiceNameAt

const char * otSrpServerServiceGetSubTypeServiceNameAt(
  const otSrpServerService *aService,
  uint16_t aIndex
)

Pobiera nazwę podtypu usługi (pełna nazwa) usługi w danym indeksie.

Pełna nazwa usługi dla podtypu występuje po „._sub...”.

Szczegóły
Parametry
[in] aService
Wskaźnik do usługi SRP.
[in] aIndex
Indeks do pobrania.
Zwroty
Wskaźnik do nazwy podtypu usługi w lokalizacji aIndex lub NULL, jeśli nie ma podtypu w tym indeksie.

otSrpServerServiceGetTtl

uint32_t otSrpServerServiceGetTtl(
  const otSrpServerService *aService
)

Zwraca wartość TTL instancji usługi.

Szczegóły
Parametry
[in] aService
Wskaźnik do usługi SRP.
Zwroty
Wartość TTL instancji usługi.

otSrpServerServiceGetTxtData

const uint8_t * otSrpServerServiceGetTxtData(
  const otSrpServerService *aService,
  uint16_t *aDataLength
)

Zwraca dane rekordu TXT instancji usługi.

Szczegóły
Parametry
[in] aService
Wskaźnik do usługi SRP.
[out] aDataLength
Wskaźnik zwracający długość danych rekordu TXT. NIE MOŻE zawierać wartości NULL.
Zwroty
Wskaźnik do bufora zawierającego dane rekordu TXT (długość danych TXT jest zwracana w aDataLength).

otSrpServerServiceGetWeight

uint16_t otSrpServerServiceGetWeight(
  const otSrpServerService *aService
)

Zwraca wagę instancji usługi.

Szczegóły
Parametry
[in] aService
Wskaźnik do usługi SRP.
Zwroty
Waga usługi.

otSrpServerServiceHasSubTypeServiceName

bool otSrpServerServiceHasSubTypeServiceName(
  const otSrpServerService *aService,
  const char *aSubTypeServiceName
)

Wskazuje, czy usługa ma dany podtyp.

Dopasowywanie nazw DNS jest przeprowadzane przy użyciu porównania ciągów znaków bez rozróżniania wielkości liter (np. kolumny „Abc” i „aBc” oznaczają to samo).

Szczegóły
Parametry
[in] aService
Wskaźnik do usługi SRP.
[in] aSubTypeServiceName
Nazwa podtypu usługi (pełna nazwa) do sprawdzenia.
Zwracane wartości
TRUE
Usługa zawiera podtyp aSubTypeServiceName.
FALSE
Usługa nie zawiera podtypu aSubTypeServiceName.

otSrpServerServiceIsDeleted

bool otSrpServerServiceIsDeleted(
  const otSrpServerService *aService
)

Wskazuje, czy usługa SRP została usunięta.

Usługę SRP można usunąć, ale zachować nazwę na przyszłość. W takim przypadku instancja usługi nie zostanie usunięta z serwera/rejestru SRP. Po usunięciu hosta wszystkie usługi na pewno zostaną usunięte.

Szczegóły
Parametry
[in] aService
Wskaźnik do usługi SRP.
Zwroty
Wartość TRUE, jeśli usługa została usunięta, lub wartość FALSE, jeśli nie została usunięta.

otSrpServerServiceMatchesInstanceName

bool otSrpServerServiceMatchesInstanceName(
  const otSrpServerService *aService,
  const char *aInstanceName
)

Wskazuje, czy usługa jest zgodna z podaną nazwą instancji usługi.

Dopasowywanie nazw DNS jest przeprowadzane przy użyciu porównania ciągów znaków bez rozróżniania wielkości liter (np. kolumny „Abc” i „aBc” oznaczają to samo).

Szczegóły
Parametry
[in] aService
Wskaźnik do usługi SRP.
[in] aInstanceName
Nazwa instancji usługi.
Zwracane wartości
TRUE
Jeśli usługa pasuje do nazwy instancji usługi.
FALSE
Jeśli usługa nie pasuje do nazwy instancji usługi.

otSrpServerServiceMatchesServiceName

bool otSrpServerServiceMatchesServiceName(
  const otSrpServerService *aService,
  const char *aServiceName
)

Wskazuje, czy usługa jest zgodna z podaną nazwą usługi.

Dopasowywanie nazw DNS jest przeprowadzane przy użyciu porównania ciągów znaków bez rozróżniania wielkości liter (np. kolumny „Abc” i „aBc” oznaczają to samo).

Szczegóły
Parametry
[in] aService
Wskaźnik do usługi SRP.
[in] aServiceName
Nazwa usługi.
Zwracane wartości
TRUE
Jeśli usługa jest zgodna z nazwą usługi.
FALSE
Jeśli usługa nie pasuje do nazwy usługi.

otSrpServerSetAddressMode

otError otSrpServerSetAddressMode(
  otInstance *aInstance,
  otSrpServerAddressMode aMode
)

Ustawia tryb adresu, który ma być używany przez serwer SRP.

Szczegóły
Parametry
[in] aInstance
Wskaźnik do instancji OpenThread.
[in] aMode
Tryb adresu, którego chcesz użyć.
Zwracane wartości
OT_ERROR_NONE
Tryb adresu został ustawiony.
OT_ERROR_INVALID_STATE
Serwer SRP jest włączony i nie można zmienić trybu adresu.

otSrpServerSetAnycastModeSequenceNumber

otError otSrpServerSetAnycastModeSequenceNumber(
  otInstance *aInstance,
  uint8_t aSequenceNumber
)

Ustawia numer sekwencyjny używany w trybie adresu Anycast.

Szczegóły
Parametry
[in] aInstance
Wskaźnik do instancji OpenThread.
[in] aSequenceNumber
Numer sekwencyjny, którego chcesz użyć.
Zwracane wartości
OT_ERROR_NONE
Tryb adresu został ustawiony.
OT_ERROR_INVALID_STATE
Serwer SRP jest włączony i nie można zmienić numeru sekwencyjnego.

otSrpServerSetAutoEnableMode

void otSrpServerSetAutoEnableMode(
  otInstance *aInstance,
  bool aEnabled
)

Włącza lub wyłącza tryb automatycznego włączania na serwerze SRP.

Wymaga funkcji OPENTHREAD_CONFIG_BORDER_ROUTING_ENABLE.

Gdy ten tryb jest włączony, menedżer Border Routing Manager określa, czy i kiedy włączyć lub wyłączyć serwer SRP. Serwer SRP jest automatycznie włączony, jeśli uruchomiono Routing graniczny i korzysta z początkowych konfiguracji prefiksu i trasy (gdy prefiks OMR i prefiks on-link są określone, rozgłaszane w wysłanej wiadomości reklamy routera po stronie infrastruktury i publikowane w danych sieci typu Thread). Serwer SRP zostaje automatycznie wyłączony w przypadku zatrzymania BR (np. w przypadku wyłączenia interfejsu sieciowego infrastruktury lub odłączenia BR).

Ten tryb można wyłączyć przez wywołanie otSrpServerSetAutoEnableMode() z ustawieniem aEnabled ustawionym na false lub przez włączenie lub wyłączenie serwera SRP przez wywołanie funkcji otSrpServerSetEnabled(). Wyłączenie trybu automatycznego włączania przy użyciu otSrpServerSetAutoEnableMode(false) nie zmieni bieżącego stanu serwera SRP (np. jeśli jest włączony, pozostanie włączony).

Szczegóły
Parametry
[in] aInstance
Wskaźnik do instancji OpenThread.
[in] aEnabled
Wartość logiczna służąca do włączania/wyłączania trybu automatycznego włączania.

otSrpServerSetDomain

otError otSrpServerSetDomain(
  otInstance *aInstance,
  const char *aDomain
)

Ustawia domenę na serwerze SRP.

Końcowa kropka zostanie dodana do elementu aDomain, jeśli jeszcze go tam nie ma. Powinno być wywoływane tylko przed włączeniem serwera SRP.

Szczegóły
Parametry
[in] aInstance
Wskaźnik do instancji OpenThread.
[in] aDomain
Domena do ustawienia. NIE MOŻE zawierać wartości NULL.
Zwracane wartości
OT_ERROR_NONE
Domena została ustawiona na aDomain.
OT_ERROR_INVALID_STATE
Serwer SRP jest już włączony i nie można zmienić domeny.
OT_ERROR_INVALID_ARGS
Argument aDomain nie jest prawidłową nazwą domeny DNS.
OT_ERROR_NO_BUFS
Brak pamięci do zapisania treści elementu aDomain.

otSrpServerSetEnabled

void otSrpServerSetEnabled(
  otInstance *aInstance,
  bool aEnabled
)

Włącza lub wyłącza serwer SRP.

W przypadku routera granicznego zalecamy użycie zasady otSrpServerSetAutoEnableMode().

Szczegóły
Parametry
[in] aInstance
Wskaźnik do instancji OpenThread.
[in] aEnabled
Wartość logiczna służąca do włączania/wyłączania serwera SRP.

otSrpServerSetLeaseConfig

otError otSrpServerSetLeaseConfig(
  otInstance *aInstance,
  const otSrpServerLeaseConfig *aLeaseConfig
)

Ustawia konfiguracje LEASE serwera SRP i KEY-LEASE.

Gdy klient otrzyma od klienta żądanie czasu LEASE o wartości innej niż zero, przyznana wartość będzie ograniczona do zakresu [aMinLease, aMaxLease], a wartość KEY-LEASE o wartości innej niż zero zostanie przyznana w zakresie [aMinKeyLease, aMaxKeyLease]. Przy zerowym czasie LEASE lub KEY-LEASE zostanie przyznane 0.

Szczegóły
Parametry
[in] aInstance
Wskaźnik do instancji OpenThread.
[in] aLeaseConfig
Wskaźnik do instancji otSrpServerLeaseConfig.
Zwracane wartości
OT_ERROR_NONE
Zakresy LEASE i KEY-LEASE zostały ustawione.
OT_ERROR_INVALID_ARGS
Zakres LEASE lub KEY-LEASE jest nieprawidłowy.

otSrpServerSetServiceUpdateHandler

void otSrpServerSetServiceUpdateHandler(
  otInstance *aInstance,
  otSrpServerServiceUpdateHandler aServiceHandler,
  void *aContext
)

Ustawia moduł obsługi aktualizacji usługi SRP na serwerze SRP.

Szczegóły
Parametry
[in] aInstance
Wskaźnik do instancji OpenThread.
[in] aServiceHandler
Wskaźnik do modułu obsługi usługi. Aby usunąć moduł obsługi, użyj wartości NULL.
[in] aContext
Wskaźnik do dowolnych informacji kontekstowych. Jeśli nie jest używana, może zawierać wartość NULL.

otSrpServerSetTtlConfig

otError otSrpServerSetTtlConfig(
  otInstance *aInstance,
  const otSrpServerTtlConfig *aTtlConfig
)

Ustawia konfigurację TTL serwera SRP.

Przyznany czas TTL zawsze nie będzie większy niż maksymalny interwał dzierżawy skonfigurowany w otSrpServerSetLeaseConfig(), niezależnie od minimalnej i maksymalnej konfiguracji TTL.

Szczegóły
Parametry
[in] aInstance
Wskaźnik do instancji OpenThread.
[in] aTtlConfig
Wskaźnik do instancji otSrpServerTtlConfig.
Zwracane wartości
OT_ERROR_NONE
Konfiguracja TTL została ustawiona.
OT_ERROR_INVALID_ARGS
Konfiguracja TTL jest nieprawidłowa.

Zasoby

Tematy referencyjne interfejsu OpenThread API pochodzą z kodu źródłowego dostępnego w GitHub. Aby dowiedzieć się więcej lub dołączyć do naszej dokumentacji, skorzystaj z sekcji Zasoby.