SRP

Bu modül, SRP istemci davranışını kontrol eden işlevler içerir.

Özet

Bu modülde, Hizmet Kayıt Protokolü'nün işlevleri yer alır.

Bu modül SRP istemci arabellekleri ve hizmet havuzu için işlevler içerir.

Bu modüldeki işlevler yalnızca OPENTHREAD_CONFIG_SRP_CLIENT_BUFFERS_ENABLE özelliği etkinleştirildiğinde kullanılabilir.

Sıralamalar

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
SRP istemci öğesinin (hizmet veya ana makine bilgisi) durumunu belirtir.
otSrpServerAddressMode{
  OT_SRP_SERVER_ADDRESS_MODE_UNICAST = 0,
  OT_SRP_SERVER_ADDRESS_MODE_ANYCAST = 1
}
enum
SRP sunucusu tarafından kullanılan adres modunu temsil eder.
otSrpServerState{
  OT_SRP_SERVER_STATE_DISABLED = 0,
  OT_SRP_SERVER_STATE_RUNNING = 1,
  OT_SRP_SERVER_STATE_STOPPED = 2
}
enum
SRP sunucusunun durumunu gösterir.

Türdefler

otSrpClientAutoStartCallback)(const otSockAddr *aServerSockAddr, void *aContext) typedef
void(*
İşaretçi türü, SRP istemcisi tarafından otomatik olarak başlatıldığında veya durdurulduğunda kullanıcıya bilgi vermek için kullanılan geri çağırmayı tanımlar.
otSrpClientBuffersServiceEntry typedef
SRP istemci hizmetleri havuzu girişini temsil eder.
otSrpClientCallback)(otError aError, const otSrpClientHostInfo *aHostInfo, const otSrpClientService *aServices, const otSrpClientService *aRemovedServices, void *aContext) typedef
void(*
İşaretçi türü, değişiklikleri/etkinlikleri/hataları kullanıcıya bildirmek için SRP istemcisi tarafından kullanılan geri çağırmayı tanımlar.
otSrpClientHostInfo typedef
SRP istemcisi ana makine bilgisini temsil eder.
otSrpClientService typedef
Bir SRP müşteri hizmetini temsil eder.
otSrpServerAddressMode typedef
SRP sunucusu tarafından kullanılan adres modunu temsil eder.
otSrpServerHost typedef
Bu opak tür, bir SRP hizmet ana makinesini temsil eder.
otSrpServerLeaseConfig typedef
SRP sunucusu LEASE ve KEY-LEASE yapılandırmalarını içerir.
otSrpServerLeaseInfo typedef
Bir ana makinenin/hizmetin SRP sunucu kiralama bilgilerini içerir.
otSrpServerResponseCounters typedef
SRP sunucu yanıtlarının istatistiklerini içerir.
otSrpServerService typedef
Bu opak tür bir SRP hizmetini temsil eder.
otSrpServerServiceUpdateHandler)(otSrpServerServiceUpdateId aId, const otSrpServerHost *aHost, uint32_t aTimeout, void *aContext) typedef
void(*
SRP hizmet güncellemelerini yönetir.
otSrpServerServiceUpdateId typedef
uint32_t
SRP hizmet güncellemesi işleminin SRP sunucusundaki kimliği.
otSrpServerTtlConfig typedef
SRP sunucusu TTL yapılandırmalarını içerir.

İşlevler

otSrpClientAddService(otInstance *aInstance, otSrpClientService *aService)
Sunucuya kaydedilecek bir hizmet ekler.
otSrpClientBuffersAllocateService(otInstance *aInstance)
Havuzdan yeni bir hizmet girişi ayırır.
otSrpClientBuffersFreeAllServices(otInstance *aInstance)
void
Önceden ayrılmış tüm hizmet girişlerini serbest bırakır.
otSrpClientBuffersFreeService(otInstance *aInstance, otSrpClientBuffersServiceEntry *aService)
void
Önceden ayrılmış bir hizmet girişini serbest bırakır.
otSrpClientBuffersGetHostAddressesArray(otInstance *aInstance, uint8_t *aArrayLength)
SRP istemci ana makine adres listesi olarak kullanılacak IPv6 adresi girişleri dizisini alır.
otSrpClientBuffersGetHostNameString(otInstance *aInstance, uint16_t *aSize)
char *
SRP istemci ana makine adı için kullanılacak dize arabelleğini alır.
otSrpClientBuffersGetServiceEntryInstanceNameString(otSrpClientBuffersServiceEntry *aEntry, uint16_t *aSize)
char *
Bir hizmet girişinden hizmet örneği adı için dize arabelleğini alır.
otSrpClientBuffersGetServiceEntryServiceNameString(otSrpClientBuffersServiceEntry *aEntry, uint16_t *aSize)
char *
Bir hizmet girişinden hizmet adı için dize arabelleğini alır.
otSrpClientBuffersGetServiceEntryTxtBuffer(otSrpClientBuffersServiceEntry *aEntry, uint16_t *aSize)
uint8_t *
Bir hizmet girişinden TXT kaydı arabelleğini alır.
otSrpClientBuffersGetSubTypeLabelsArray(otSrpClientBuffersServiceEntry *aEntry, uint16_t *aArrayLength)
const char **
Hizmet girişinden hizmet alt türü etiketleri için diziyi alır.
otSrpClientClearHostAndServices(otInstance *aInstance)
void
Tüm ana makine bilgilerini ve tüm hizmetleri temizler.
otSrpClientClearService(otInstance *aInstance, otSrpClientService *aService)
Bir hizmeti temizleyerek istemci hizmeti listesinden hemen kaldırır.
otSrpClientDisableAutoStartMode(otInstance *aInstance)
void
Otomatik başlatma modunu devre dışı bırakır.
otSrpClientEnableAutoHostAddress(otInstance *aInstance)
Otomatik ana makine adresi modunu etkinleştirir.
otSrpClientEnableAutoStartMode(otInstance *aInstance, otSrpClientAutoStartCallback aCallback, void *aContext)
void
Otomatik başlatma modunu etkinleştirir.
otSrpClientGetDomainName(otInstance *aInstance)
const char *
SRP istemcisi tarafından kullanılan alan adını alır.
otSrpClientGetHostInfo(otInstance *aInstance)
Ana makine bilgilerini alır.
otSrpClientGetKeyLeaseInterval(otInstance *aInstance)
uint32_t
SRP güncelleme isteklerinde kullanılan varsayılan anahtar kiralama aralığını alır.
otSrpClientGetLeaseInterval(otInstance *aInstance)
uint32_t
SRP güncelleme isteklerinde kullanılan varsayılan kiralama aralığını alır.
otSrpClientGetServerAddress(otInstance *aInstance)
const otSockAddr *
SRP istemcisi tarafından kullanılan SRP sunucusunun yuva adresini (IPv6 adresi ve bağlantı noktası numarası) alır.
otSrpClientGetServices(otInstance *aInstance)
İstemci tarafından yönetilen hizmetlerin listesini alır.
otSrpClientGetTtl(otInstance *aInstance)
uint32_t
SRP güncelleme isteklerine dahil edilen her kayıttaki TTL değerini alır.
otSrpClientIsAutoStartModeEnabled(otInstance *aInstance)
bool
Otomatik başlatma modunun mevcut durumunu belirtir (etkin veya devre dışı).
otSrpClientIsRunning(otInstance *aInstance)
bool
SRP istemcisinin çalışıp çalışmadığını belirtir.
otSrpClientIsServiceKeyRecordEnabled(otInstance *aInstance)
bool
"Hizmet anahtarı kaydı dahil etme" modunun etkin mi yoksa devre dışı mı olduğunu belirtir.
otSrpClientItemStateToString(otSrpClientItemState aItemState)
const char *
Bir otSrpClientItemState dizesini bir dizeye dönüştürür.
otSrpClientRemoveHostAndServices(otInstance *aInstance, bool aRemoveKeyLease, bool aSendUnregToServer)
Ana makine bilgilerinin ve tüm hizmetlerin kaldırma işlemini başlatır.
otSrpClientRemoveService(otInstance *aInstance, otSrpClientService *aService)
Bir hizmetin sunucu kaydının silinmesini ister.
otSrpClientSetCallback(otInstance *aInstance, otSrpClientCallback aCallback, void *aContext)
void
Geri çağırmayı, arayana SRP istemcisinden kaynaklanan etkinlikler/değişiklikler hakkında bilgi verecek şekilde ayarlar.
otSrpClientSetDomainName(otInstance *aInstance, const char *aName)
SRP istemcisi tarafından kullanılacak alan adını ayarlar.
otSrpClientSetHostAddresses(otInstance *aInstance, const otIp6Address *aIp6Addresses, uint8_t aNumAddresses)
Ana makine IPv6 adresinin listesini ayarlar/günceller.
otSrpClientSetHostName(otInstance *aInstance, const char *aName)
Ana makine adı etiketini ayarlar.
otSrpClientSetKeyLeaseInterval(otInstance *aInstance, uint32_t aInterval)
void
SRP güncelleme isteklerinde kullanılan varsayılan anahtar kiralama aralığını ayarlar.
otSrpClientSetLeaseInterval(otInstance *aInstance, uint32_t aInterval)
void
SRP güncelleme isteklerinde kullanılan varsayılan kiralama aralığını ayarlar.
otSrpClientSetServiceKeyRecordEnabled(otInstance *aInstance, bool aEnabled)
void
"Hizmet anahtarı kaydı dahil etme" modunu etkinleştirir/devre dışı bırakır.
otSrpClientSetTtl(otInstance *aInstance, uint32_t aTtl)
void
SRP güncelleme isteklerine dahil edilen her kayıtta TTL değerini belirler.
otSrpClientStart(otInstance *aInstance, const otSockAddr *aServerSockAddr)
SRP istemci işlemini başlatır.
otSrpClientStop(otInstance *aInstance)
void
SRP istemci işlemini durdurur.
otSrpServerGetAddressMode(otInstance *aInstance)
SRP sunucusu tarafından kullanılan adres modunu döndürür.
otSrpServerGetAnycastModeSequenceNumber(otInstance *aInstance)
uint8_t
Her noktaya yayın adres moduyla kullanılan sıra numarasını döndürür.
otSrpServerGetDomain(otInstance *aInstance)
const char *
SRP sunucusu tarafından yetkilendirilen alanı döndürür.
otSrpServerGetLeaseConfig(otInstance *aInstance, otSrpServerLeaseConfig *aLeaseConfig)
void
SRP sunucusu LEASE ve KEY-LEASE yapılandırmalarını döndürür.
otSrpServerGetNextHost(otInstance *aInstance, const otSrpServerHost *aHost)
const otSrpServerHost *
SRP sunucusunda sonraki kayıtlı ana makineyi döndürür.
otSrpServerGetPort(otInstance *aInstance)
uint16_t
SRP sunucusunun dinlediği bağlantı noktasını döndürür.
otSrpServerGetResponseCounters(otInstance *aInstance)
SRP sunucusunun yanıt sayaçlarını döndürür.
otSrpServerGetState(otInstance *aInstance)
SRP sunucusunun durumunu döndürür.
otSrpServerGetTtlConfig(otInstance *aInstance, otSrpServerTtlConfig *aTtlConfig)
void
SRP sunucusu TTL yapılandırmasını döndürür.
otSrpServerHandleServiceUpdateResult(otInstance *aInstance, otSrpServerServiceUpdateId aId, otError aError)
void
SRP güncellemesi işlemenin sonucunu SRP sunucusuna bildirir.
otSrpServerHostGetAddresses(const otSrpServerHost *aHost, uint8_t *aAddressesNum)
const otIp6Address *
Belirli bir ana bilgisayarın adreslerini döndürür.
otSrpServerHostGetFullName(const otSrpServerHost *aHost)
const char *
Ana makinenin tam adını döndürür.
otSrpServerHostGetLeaseInfo(const otSrpServerHost *aHost, otSrpServerLeaseInfo *aLeaseInfo)
void
Belirli bir ana makinenin LEASE ve KEY-LEASE bilgilerini döndürür.
otSrpServerHostGetNextService(const otSrpServerHost *aHost, const otSrpServerService *aService)
Belirli bir ana makinenin sonraki hizmetini döndürür.
otSrpServerHostIsDeleted(const otSrpServerHost *aHost)
bool
SRP hizmet ana makinesinin silinip silinmediğini bildirir.
otSrpServerHostMatchesFullName(const otSrpServerHost *aHost, const char *aFullName)
bool
Ana makinenin belirli bir ana makine adıyla eşleşip eşleşmediğini belirtir.
otSrpServerIsAutoEnableMode(otInstance *aInstance)
bool
Otomatik etkinleştirme modunun etkin mi yoksa devre dışı mı olduğunu belirtir.
otSrpServerParseSubTypeServiceName(const char *aSubTypeServiceName, char *aLabel, uint8_t aLabelSize)
Alt tür hizmet adını (tam ad) ayrıştırır ve alt tür etiketini ayıklar.
otSrpServerServiceGetHost(const otSrpServerService *aService)
const otSrpServerHost *
Hizmet örneğinin bulunduğu ana makineyi döndürür.
otSrpServerServiceGetInstanceLabel(const otSrpServerService *aService)
const char *
Hizmetin hizmet örneği etiketini (örnek adındaki ilk etiket) döndürür.
otSrpServerServiceGetInstanceName(const otSrpServerService *aService)
const char *
Hizmetin tam hizmet örneği adını döndürür.
otSrpServerServiceGetLeaseInfo(const otSrpServerService *aService, otSrpServerLeaseInfo *aLeaseInfo)
void
Belirli bir hizmetin LEASE ve KEY-LEASE bilgilerini döndürür.
otSrpServerServiceGetNumberOfSubTypes(const otSrpServerService *aService)
uint16_t
Hizmetin alt türlerinin sayısını alır.
otSrpServerServiceGetPort(const otSrpServerService *aService)
uint16_t
Hizmet örneğinin bağlantı noktasını döndürür.
otSrpServerServiceGetPriority(const otSrpServerService *aService)
uint16_t
Hizmet örneğinin önceliğini döndürür.
otSrpServerServiceGetServiceName(const otSrpServerService *aService)
const char *
Hizmetin tam hizmet adını döndürür.
otSrpServerServiceGetSubTypeServiceNameAt(const otSrpServerService *aService, uint16_t aIndex)
const char *
Belirli bir dizinde hizmetin alt türü hizmet adını (tam adı) alır.
otSrpServerServiceGetTtl(const otSrpServerService *aService)
uint32_t
Hizmet örneğinin TTL'sini döndürür.
otSrpServerServiceGetTxtData(const otSrpServerService *aService, uint16_t *aDataLength)
const uint8_t *
Hizmet örneğinin TXT kayıt verilerini döndürür.
otSrpServerServiceGetWeight(const otSrpServerService *aService)
uint16_t
Hizmet örneğinin ağırlığını döndürür.
otSrpServerServiceHasSubTypeServiceName(const otSrpServerService *aService, const char *aSubTypeServiceName)
bool
Hizmetin belirli bir alt türü olup olmadığını belirtir.
otSrpServerServiceIsDeleted(const otSrpServerService *aService)
bool
SRP hizmetinin silinip silinmediğini belirtir.
otSrpServerServiceMatchesInstanceName(const otSrpServerService *aService, const char *aInstanceName)
bool
Bu hizmetin belirli bir hizmet örneği adıyla eşleşip eşleşmediğini belirtir.
otSrpServerServiceMatchesServiceName(const otSrpServerService *aService, const char *aServiceName)
bool
Bu hizmetin belirli bir hizmet adıyla eşleşip eşleşmediğini belirtir.
otSrpServerSetAddressMode(otInstance *aInstance, otSrpServerAddressMode aMode)
SRP sunucusu tarafından kullanılacak adres modunu ayarlar.
otSrpServerSetAnycastModeSequenceNumber(otInstance *aInstance, uint8_t aSequenceNumber)
Her noktaya yayın adres moduyla kullanılan sıra numarasını ayarlar.
otSrpServerSetAutoEnableMode(otInstance *aInstance, bool aEnabled)
void
SRP sunucusunda otomatik etkinleştirme modunu etkinleştirir/devre dışı bırakır.
otSrpServerSetDomain(otInstance *aInstance, const char *aDomain)
SRP sunucusunda alanı ayarlar.
otSrpServerSetEnabled(otInstance *aInstance, bool aEnabled)
void
SRP sunucusunu etkinleştirir/devre dışı bırakır.
otSrpServerSetLeaseConfig(otInstance *aInstance, const otSrpServerLeaseConfig *aLeaseConfig)
SRP sunucusu LEASE ve KEY-LEASE yapılandırmalarını ayarlar.
otSrpServerSetServiceUpdateHandler(otInstance *aInstance, otSrpServerServiceUpdateHandler aServiceHandler, void *aContext)
void
SRP hizmet güncellemeleri işleyicisini SRP sunucusunda ayarlar.
otSrpServerSetTtlConfig(otInstance *aInstance, const otSrpServerTtlConfig *aTtlConfig)
SRP sunucusu TTL yapılandırmasını ayarlar.

Yapılar

otSrpClientBuffersServiceEntry

SRP istemci hizmetleri havuzu girişini temsil eder.

otSrpClientHostInfo

SRP istemcisi ana makine bilgisini temsil eder.

otSrpClientService

Bir SRP müşteri hizmetini temsil eder.

otSrpServerLeaseConfig

SRP sunucusu LEASE ve KEY-LEASE yapılandırmalarını içerir.

otSrpServerLeaseInfo

Bir ana makinenin/hizmetin SRP sunucu kiralama bilgilerini içerir.

otSrpServerResponseCounters

SRP sunucu yanıtlarının istatistiklerini içerir.

otSrpServerTtlConfig

SRP sunucusu TTL yapılandırmalarını içerir.

Sıralamalar

otSrpClientItemState

 otSrpClientItemState

SRP istemci öğesinin (hizmet veya ana makine bilgisi) durumunu belirtir.

Özellikler
OT_SRP_CLIENT_ITEM_STATE_ADDING

Öğe ekleniyor/kaydediliyor.

OT_SRP_CLIENT_ITEM_STATE_REFRESHING

Öğe yenileniyor.

OT_SRP_CLIENT_ITEM_STATE_REGISTERED

Öğe sunucuya kaydedildi.

OT_SRP_CLIENT_ITEM_STATE_REMOVED

Öğe kaldırıldı.

OT_SRP_CLIENT_ITEM_STATE_REMOVING

Öğe kaldırılıyor.

OT_SRP_CLIENT_ITEM_STATE_TO_ADD

Eklenecek/kaydedilecek öğe.

OT_SRP_CLIENT_ITEM_STATE_TO_REFRESH

Yenilenecek öğe (kontratı yenilemek için yeniden kaydolun).

OT_SRP_CLIENT_ITEM_STATE_TO_REMOVE

Kaldırılacak öğe.

otSrpServerAddressMode

 otSrpServerAddressMode

SRP sunucusu tarafından kullanılan adres modunu temsil eder.

Adres modu, adresin ve bağlantı noktası numarasının SRP sunucusu tarafından nasıl belirlendiğini ve bu bilginin Thread Network Data'da nasıl yayınlanacağını belirtir.

Özellikler
OT_SRP_SERVER_ADDRESS_MODE_ANYCAST

Her noktaya yayın adres modu.

OT_SRP_SERVER_ADDRESS_MODE_UNICAST

Tek noktaya yayın adres modu.

otSrpServerState

 otSrpServerState

SRP sunucusunun durumunu gösterir.

Özellikler
OT_SRP_SERVER_STATE_DISABLED

SRP sunucusu devre dışı bırakıldı.

OT_SRP_SERVER_STATE_RUNNING

SRP sunucusu etkin ve çalışıyor.

OT_SRP_SERVER_STATE_STOPPED

SRP sunucusu etkinleştirildi ancak durduruldu.

Türdefler

otSrpClientAutoStartCallback

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

İşaretçi türü, SRP istemcisi tarafından otomatik olarak başlatıldığında veya durdurulduğunda kullanıcıya bilgi vermek için kullanılan geri çağırmayı tanımlar.

Bu yalnızca otomatik başlatma özelliği OPENTHREAD_CONFIG_SRP_CLIENT_AUTO_START_API_ENABLE etkinleştirildiğinde kullanılır.

Bu geri çağırma, otomatik başlatma modu etkinleştirildiğinde ve SRP istemcisi otomatik olarak başlatıldığında veya durdurulduğunda çağrılır.

Ayrıntılar
Parametreler
[in] aServerSockAddr
NULL olmayan bir işaretçi, SRP sunucusunun başlatıldığını gösterir ve işaretçi, seçilen sunucu yuvası adresini verir. NULL işaretçi, SRP sunucusunun durdurulduğunu gösterir.
[in] aContext
Rastgele bir bağlama yönlendiren bir işaretçi (geri çağırma kaydedildiğinde sağlanır).

otSrpClientBuffersServiceEntry

struct otSrpClientBuffersServiceEntry otSrpClientBuffersServiceEntry

SRP istemci hizmetleri havuzu girişini temsil eder.

otSrpClientCallback

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

İşaretçi türü, değişiklikleri/etkinlikleri/hataları kullanıcıya bildirmek için SRP istemcisi tarafından kullanılan geri çağırmayı tanımlar.

Bu geri çağırma, SRP sunucusuyla bir güncellemenin başarıyla kaydedilmesinde (yani ana makine bilgilerinin ve/veya bazı hizmetlerin eklenmesi/kaldırılması) ya da bir hata veya hata oluştuğunda (ör. sunucu bir güncelleme isteğini reddetmesi veya yanıt beklenirken istemci zaman aşımına uğraması vb.) çağrılır.

Bir güncellemenin başarılı bir şekilde yeniden kaydedilmesi durumunda, aError parametresi OT_ERROR_NONE olur ve geri çağırma için ana makine bilgileri ile hizmetlerin tam listesi giriş parametreleri olarak sağlanır. Ana makine bilgileri ve hizmetlerinin her birinin, ilgili veri yapısının karşılık gelen mState üye değişkeninde kendi durumunu takip ettiğini unutmayın (ana makine bilgisinin/hizmetinin kayıtlı olup olmadığını veya hâlâ eklenme ya da kaldırılma durumunu belirten durum).

Kaldırılan hizmetlerin listesi, geri çağırmada kendi bağlı listesi aRemovedServices olarak iletilir. Geri çağırma çağrıldığında, SRP istemcisinin (OpenThread uygulaması) aRemovedServices içinde listelenen kaldırılan hizmet örnekleriyle tamamlandığını ve artık bunları izlemediğini/depolamadığını (yani, geri çağırmadan otSrpClientGetServices() adını verdiğimizde kaldırılan hizmetlerin döndürülen listede olmayacağını unutmayın). Geri çağırmada kaldırılan hizmetlerin ayrı bir listesini sağlamak, kullanıcıya hangi öğelerin artık kaldırıldığını belirtmeye yardımcı olur ve kullanıcının örnekleri yeniden talep etmesine/yeniden kullanmasına olanak tanır.

Sunucu bir SRP güncelleme isteğini reddederse DNS yanıt kodu (RFC 2136) aşağıdaki hatalarla eşleştirilir:

  • (0) NOERROR Başarılı (hata durumu yok) -> OT_ERROR_NONE
  • (1) FORMERR Sunucusu biçim hatası nedeniyle yorumlanamıyor -> OT_ERROR_PARSE
  • (2) SERVFAIL Sunucusu dahili bir hatayla karşılaştı -> OT_ERROR_FAILED
  • (3) Var olması gereken NXDOMAIN Adı mevcut değil -> OT_ERROR_NOT_FOUND
  • (4) NOTIMP Sunucusu şu sorgu türünü desteklemiyor (OpCode) -> OT_ERROR_NOT_IMPLEMENTED
  • (5) REFUSED Sunucu, politika/güvenlik nedeniyle reddedildi -> OT_ERROR_SECURITY
  • (6) YXDOMAIN Mevcut olmaması gereken bir ad mevcut. -> OT_ERROR_DUPLICATED
  • (7) YXRRSET Mevcut olmaması gereken bazı RRset'ler var -> OT_ERROR_DUPLICATED
  • (8) NXRRSET Mevcut olması gereken bazı RRset'ler mevcut değil -> OT_ERROR_NOT_FOUND
  • (9) NOTAUTH Hizmeti alt bölge için yetkili değil -> OT_ERROR_SECURITY
  • (10) NOTZONE Bölgede bir ad yok -> OT_ERROR_PARSE
  • (20) BADNAME Hatalı ad -> OT_ERROR_PARSE
  • (21) BADALG Hatalı algoritma -> OT_ERROR_SECURITY
  • (22) BADTRUN Hatalı kısaltma -> OT_ERROR_PARSE
  • Diğer yanıt kodları -> OT_ERROR_FAILED

Aşağıdaki hatalar da olasıdır:

  • OT_ERROR_RESPONSE_TIMEOUT : Sunucudan yanıt beklenirken zaman aşımına uğradı (istemci yeniden denemeye devam edecek).
  • OT_ERROR_INVALID_ARGS : Sağlanan hizmet yapısı geçersiz (ör. hatalı hizmet adı veya otDnsTxtEntry).
  • OT_ERROR_NO_BUFS : Güncelleme mesajını hazırlamak veya göndermek için yetersiz arabellek.

Herhangi bir hata olması durumunda istemcinin işleme devam ettiğini unutmayın. Yani, biraz bekleme süresi geçtikten sonra SRP güncelleme mesajını hazırlar ve sunucuya iletir. Yeniden deneme bekleme aralığı minimum değerden başlar ve her hata için maksimum değere kadar büyüme faktörü tarafından artar (daha fazla ayrıntı için lütfen OPENTHREAD_CONFIG_SRP_CLIENT_MIN_RETRY_WAIT_INTERVAL yapılandırma parametresine ve ilgili parametrelere bakın).

Ayrıntılar
Parametreler
[in] aError
Hata (yukarıya bakın).
[in] aHostInfo
Ana makine bilgisi işaretçisi.
[in] aServices
Tüm hizmetleri (kaldırılanlar hariç) içeren bağlı listenin başı. Liste boşsa NULL.
[in] aRemovedServices
Kaldırılan tüm hizmetleri içeren bağlı liste başı. Liste boşsa NULL.
[in] aContext
Rastgele bir bağlama yönlendiren bir işaretçi (geri çağırma kaydedildiğinde sağlanır).

otSrpClientHostInfo

struct otSrpClientHostInfo otSrpClientHostInfo

SRP istemcisi ana makine bilgisini temsil eder.

otSrpClientService

struct otSrpClientService otSrpClientService

Bir SRP müşteri hizmetini temsil eder.

Adların ve TXT kaydı girişlerinin dize arabellekleri dahil olmak üzere bu yapıdaki değerler, bu yapının bir örneği otSrpClientAddService() veya otSrpClientRemoveService() üzerinden OpenThread'e geçirildikten sonra SORUNMALIDIR ve sabit kalmalıdır.

mState, mData, mNext alanları yalnızca OT Core tarafından kullanılır/yönetilir. otSrpClientAddService() veya otSrpClientRemoveService() ya da diğer işlevlerde bir otSrpClientService örneği iletildiğinde bu değerlerin değerleri yoksayılır. Arayanın bu alanları ayarlaması gerekmez.

mLease ve mKeyLease alanları, bu hizmet için istenen kiralama ve anahtar kiralama aralıklarını belirtir. Sıfır değeri, aralığın belirtilmediğini gösterir. Ardından bu hizmet için otSrpClientGetLeaseInterval() ve otSrpClientGetKeyLeaseInterval() tarihleri arasındaki varsayılan kiralama veya anahtar kiralama aralıkları kullanılır. Anahtar kiralama aralığı (açıkça ayarlanmış veya varsayılan olarak belirlenmiş) bir hizmetin kiralama aralığından daha kısaysa SRP istemcisi, anahtar kiralama aralığı değerini de yeniden kullanır. Örneğin, mLease hizmette açıkça 2 gün, mKeyLease ise sıfır olarak ve varsayılan anahtar kiralama 1 gün olarak ayarlanmışsa bu hizmeti kaydederken bu hizmet için istenen anahtar kiralama işlemi de 2 gün olarak ayarlanır.

otSrpServerAddressMode

enum otSrpServerAddressMode otSrpServerAddressMode

SRP sunucusu tarafından kullanılan adres modunu temsil eder.

Adres modu, adresin ve bağlantı noktası numarasının SRP sunucusu tarafından nasıl belirlendiğini ve bu bilginin Thread Network Data'da nasıl yayınlanacağını belirtir.

otSrpServerHost

struct otSrpServerHost otSrpServerHost

Bu opak tür, bir SRP hizmet ana makinesini temsil eder.

otSrpServerLeaseConfig

struct otSrpServerLeaseConfig otSrpServerLeaseConfig

SRP sunucusu LEASE ve KEY-LEASE yapılandırmalarını içerir.

otSrpServerLeaseInfo

struct otSrpServerLeaseInfo otSrpServerLeaseInfo

Bir ana makinenin/hizmetin SRP sunucu kiralama bilgilerini içerir.

otSrpServerResponseCounters

struct otSrpServerResponseCounters otSrpServerResponseCounters

SRP sunucu yanıtlarının istatistiklerini içerir.

otSrpServerService

struct otSrpServerService otSrpServerService

Bu opak tür bir SRP hizmetini temsil eder.

otSrpServerServiceUpdateHandler

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

SRP hizmet güncellemelerini yönetir.

Bir SRP ana makinesinin ve muhtemelen SRP hizmetlerinin güncellenmekte olduğunu bildirmek için SRP sunucusu tarafından çağrılır. İşleyici, otSrpServerHandleServiceUpdateResultResult öğesini çağırarak sonucu geri verene veya aTimeout tarihinden sonra zaman aşımına uğrayana kadar SRP güncellemelerinin kaydedilmemesi önemlidir.

Bir SRP hizmet gözlemcisi, güncelleme etkinliklerini aldıktan hemen sonra otSrpServerHandleServiceUpdateResultResult öğesini her zaman OT_ERROR_NONE hata koduyla çağırmalıdır.

Daha genel olan bir işleyici, SRP ana makinesi/hizmetleri üzerinde doğrulamalar gerçekleştirebilir ve herhangi bir doğrulama başarısız olursa SRP güncellemelerini reddeder. Örneğin, bir Reklam Proxy'si, çoklu yayın özellikli bir bağlantıda ana makineyi ve hizmetleri tanıtmalı (veya kaldırmalıdır) ve herhangi bir hata oluşursa belirli bir hata kodu döndürür.

Ayrıntılar
Parametreler
[in] aId
Hizmet güncellemesi işlem kimliği. Bu kimlik otSrpServerHandleServiceUpdateResult ile geri gönderilmelidir.
[in] aHost
SRP güncellemelerini içeren otSrpServerHost nesnesinin işaretçisi. İşleyici, ana makineyi yayınlamalı/yayından kaldırmalı ve her hizmet, aşağıdaki kurallarla bu ana makineyi işaret etmelidir:
  1. Ana makine silinmezse (otSrpServerHostIsDeleted ile gösterilir) mDNS ile yayınlanması veya güncellenmesi gerekir. Aksi takdirde, ana makinenin yayından kaldırılması gerekir (AAAA RR'leri kaldırın).
  2. Ana makine yayından kaldırılacaksa, bu ana makineye giden her hizmet noktasının yayından kaldırılması gerekir. Aksi takdirde, işleyici, hizmeti silinmediğinde yayınlamalı veya güncellemeli (otSrpServerServiceIsDeleted ile belirtilir) ve silindiğinde yayından kaldırmalıdır.
[in] aTimeout
İşleyicinin hizmet etkinliğini işlemesi için milisaniye cinsinden maksimum süre.
[in] aContext
Uygulamaya özel bağlama işaret eden bir işaretçi.
Şu makaleyi de inceleyebilirsiniz:
otSrpServerSetServiceUpdateHandler
otSrpServerHandleServiceUpdateResult

otSrpServerServiceUpdateId

uint32_t otSrpServerServiceUpdateId

SRP hizmet güncellemesi işleminin SRP sunucusundaki kimliği.

otSrpServerTtlConfig

struct otSrpServerTtlConfig otSrpServerTtlConfig

SRP sunucusu TTL yapılandırmalarını içerir.

İşlevler

otSrpClientAddService

otError otSrpClientAddService(
  otInstance *aInstance,
  otSrpClientService *aService
)

Sunucuya kaydedilecek bir hizmet ekler.

Bu işleve yapılan başarılı bir çağrıdan sonra, SRP sunucusuna hizmet ekleme/kaydın durumunu bildirmek için otSrpClientCallback çağrılacaktır.

aService tarafından işaret edilen otSrpClientService örneği, bu işlevden (OT_ERROR_NONE ile) dönüldükten sonra değişmeden devam etmelidir. OpenThread, işaretçiyi hizmet örneğine kaydeder.

otSrpClientService örneği artık OpenThread tarafından takip edilmez ve yalnızca şu durumlarda geri alınabilir:

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğine işaretçi.
[in] aService
Eklenecek otSrpClientService örneğine işaretçi.
Döndürülen Değerler
OT_ERROR_NONE
Hizmet ekleme işlemi başarıyla başlatıldı. Durumu bildirmek için otSrpClientCallback çağrılır.
OT_ERROR_ALREADY
Bu listede aynı hizmet ve örnek adlarına sahip bir hizmet zaten var.
OT_ERROR_INVALID_ARGS
Hizmet yapısı geçersiz (ör. hatalı hizmet adı veya otDnsTxtEntry).

otSrpClientBuffersAllocateService

otSrpClientBuffersServiceEntry * otSrpClientBuffersAllocateService(
  otInstance *aInstance
)

Havuzdan yeni bir hizmet girişi ayırır.

Döndürülen hizmet girişi örneği aşağıdaki gibi başlatılır:

  • mService.mName, otSrpClientBuffersGetServiceEntryServiceNameString() işlevi kullanılarak alınabilecek ayrılmış bir dize arabelleğine işaret eder.
  • mService.mInstanceName, otSrpClientBuffersGetServiceEntryInstanceNameString() işlevi kullanılarak alınabilecek ayrılmış bir dize arabelleğine işaret eder.
  • mService.mSubTypeLabels, otSrpClientBuffersGetSubTypeLabelsArray() öğesinden döndürülen bir diziyi işaret eder.
  • mService.mTxtEntries, mTxtEntry değerini gösterecek.
  • mService.mNumTxtEntries bir olarak ayarlanacak.
  • Diğer mService alanları (bağlantı noktası, öncelik, ağırlık) sıfır olarak ayarlanır.
  • mTxtEntry.mKey, NULL olarak ayarlanmış (değer zaten kodlanmış olarak kabul edilir).
  • mTxtEntry.mValue, otSrpClientBuffersGetServiceEntryTxtBuffer() işlevi kullanılarak alınabilecek ayrılmış bir arabelleği gösterir.
  • mTxtEntry.mValueLength sıfır olarak ayarlandı.
  • İlgili tüm veri/dize arabellekleri ve dizilerin tamamı temizlenir.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğine işaretçi.
İadeler
Havuzda daha fazla giriş yoksa yeni tahsis edilen hizmet girişine veya NULL değerine işaret eder.

otSrpClientBuffersFreeAllServices

void otSrpClientBuffersFreeAllServices(
  otInstance *aInstance
)

Önceden ayrılmış tüm hizmet girişlerini serbest bırakır.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğine işaretçi.

otSrpClientBuffersFreeService

void otSrpClientBuffersFreeService(
  otInstance *aInstance,
  otSrpClientBuffersServiceEntry *aService
)

Önceden ayrılmış bir hizmet girişini serbest bırakır.

aService, daha önce otSrpClientBuffersAllocateService() kullanılarak tahsis edilmiş ve henüz serbest bırakılmamış olmalıdır. Aksi takdirde, bu işlevin davranışı tanımsız kalır.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğine işaretçi.
[in] aService
Ücretsiz hizmet girişine işaret eden bir işarettir (BOŞ OLMAMALIDIR).

otSrpClientBuffersGetHostAddressesArray

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

SRP istemci ana makine adres listesi olarak kullanılacak IPv6 adresi girişleri dizisini alır.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğine işaretçi.
[out] aArrayLength
Dizi uzunluğunu (yani dizideki IPv6 adresi girişlerinin sayısı) döndürmek için bir değişkenin işaretçisi (BOŞ OLMAMALIDIR).
İadeler
otIp6Address girişli bir diziye işaret eden (aArrayLength içinde giriş sayısı döndürülür).

otSrpClientBuffersGetHostNameString

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

SRP istemci ana makine adı için kullanılacak dize arabelleğini alır.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğine işaretçi.
[out] aSize
Dize arabelleğinin boyutunu (bayt sayısı) döndürmek için bir değişkenin işaretçisi (BOŞ OLMAMALIDIR).
İadeler
SRP istemci ana makine adı için kullanılacak karakter arabelleğine işaret eden bir işaretçi.

otSrpClientBuffersGetServiceEntryInstanceNameString

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

Bir hizmet girişinden hizmet örneği adı için dize arabelleğini alır.

Ayrıntılar
Parametreler
[in] aEntry
Önceden ayrılmış bir hizmet girişine işaret eden işaretçi (BOŞ OLMAMALIDIR).
[out] aSize
Dize arabelleğinin boyutunu (bayt sayısı) döndürecek bir değişkene giden işaretçi (BOŞ OLMAMALIDIR).
İadeler
Dize arabelleğine işaret eden bir işaretçi.

otSrpClientBuffersGetServiceEntryServiceNameString

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

Bir hizmet girişinden hizmet adı için dize arabelleğini alır.

Ayrıntılar
Parametreler
[in] aEntry
Önceden ayrılmış bir hizmet girişine işaret eden işaretçi (BOŞ OLMAMALIDIR).
[out] aSize
Dize arabelleğinin boyutunu (bayt sayısı) döndürecek bir değişkene giden işaretçi (BOŞ OLMAMALIDIR).
İadeler
Dize arabelleğine işaret eden bir işaretçi.

otSrpClientBuffersGetServiceEntryTxtBuffer

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

Bir hizmet girişinden TXT kaydı arabelleğini alır.

Ayrıntılar
Parametreler
[in] aEntry
Önceden ayrılmış bir hizmet girişine işaret eden işaretçi (BOŞ OLMAMALIDIR).
[out] aSize
Arabelleğin boyutunu (bayt sayısı) döndüren bir değişkene işaret eden (BOŞ OLMAMALIDIR).
İadeler
Tamponun işaretçisi.

otSrpClientBuffersGetSubTypeLabelsArray

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

Hizmet girişinden hizmet alt türü etiketleri için diziyi alır.

Ayrıntılar
Parametreler
[in] aEntry
Önceden ayrılmış bir hizmet girişine işaret eden işaretçi (BOŞ OLMAMALIDIR).
[out] aArrayLength
Dizi uzunluğunu döndürmek için değişkene giden işaretçi (BOŞ OLMAMALIDIR).
İadeler
Dizinin işaretçisi.

otSrpClientClearHostAndServices

void otSrpClientClearHostAndServices(
  otInstance *aInstance
)

Tüm ana makine bilgilerini ve tüm hizmetleri temizler.

Tüm bilgileri kaldırmak için sunucuya bir güncelleme mesajı gönderen otSrpClientRemoveHostAndServices() işlevinin aksine bu işlev, sunucuyla herhangi bir etkileşim kurmadan tüm bilgileri hemen temizler.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğine işaretçi.

otSrpClientClearService

otError otSrpClientClearService(
  otInstance *aInstance,
  otSrpClientService *aService
)

Bir hizmeti temizleyerek istemci hizmeti listesinden hemen kaldırır.

Hizmeti kaldırmak için sunucuya güncelleme mesajı gönderen otSrpClientRemoveService() işlevinin aksine bu işlev, sunucuyla herhangi bir etkileşime gerek kalmadan hizmeti istemcinin hizmet listesinden temizler. Bu işleve yapılan başarılı bir çağrıda otSrpClientCallback ÇALINMAZ ve aService girişi arayan tarafından hemen geri alınabilir ve yeniden kullanılabilir.

Mevcut bir hizmetteki bazı parametreleri güncellemek için sonraki otSrpClientAddService() çağrısıyla birlikte kullanılabilir (aynı aService girişini aynı hizmet ve örnek adlarıyla yeniden kullanma olabilir).

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğine işaretçi.
[in] aService
Silinecek otSrpClientService örneğine giden işaretçi.
Döndürülen Değerler
OT_ERROR_NONE
aService başarıyla silindi. Hemen geri alınabilir ve yeniden kullanılabilir.
OT_ERROR_NOT_FOUND
Hizmet listede bulunamadı.

otSrpClientDisableAutoStartMode

void otSrpClientDisableAutoStartMode(
  otInstance *aInstance
)

Otomatik başlatma modunu devre dışı bırakır.

Bu özellik yalnızca otomatik başlatma özelliği OPENTHREAD_CONFIG_SRP_CLIENT_AUTO_START_API_ENABLE etkinleştirildiğinde kullanılabilir.

Otomatik başlatma modunun devre dışı bırakılması, zaten çalışıyorsa istemciyi durdurmaz ancak istemci, seçilen SRP sunucusunun hâlâ mevcut olduğunu doğrulamak için İş Parçacığı Ağ Verilerini izlemeyi durdurur.

otSrpClientStop() numaralı telefona yapılan bir çağrının da otomatik başlatma modunu devre dışı bırakacağını unutmayın.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğine işaretçi.

otSrpClientEnableAutoHostAddress

otError otSrpClientEnableAutoHostAddress(
  otInstance *aInstance
)

Otomatik ana makine adresi modunu etkinleştirir.

Etkinleştirildiğinde, ana makine IPv6 adresleri, tüm yerel bağlantı ve örgü-yerel adresleri hariç olmak üzere, Thread netif'te tercih edilen tüm tekli yayın adresleri kullanılarak SRP istemcisi tarafından otomatik olarak ayarlanır. Tercih edilen adres yoksa Örgü Yerel EID adresi eklenir. Thread netif'teki adresler güncellendiğinde veya mevcut adresler güncellendiğinde (yeni adresler eklendiğinde, mevcut adresler kaldırıldığında ya da tercih edilmedi olarak işaretlendiğinde) SRP istemcisi otomatik olarak yeniden kaydedilir.

Otomatik ana makine adresi modu, ana makine bilgilerinin kaldırıldığı durumlar dışında SRP istemcisinin başlatılmasından önce veya çalıştırılması sırasında etkinleştirilebilir (istemci, otSrpClientRemoveHostAndServices() adresine yapılan bir çağrıdan gelen kaldırma isteğini işlemekle meşgul ve ana makine bilgileri hâlâ STATE_TO_REMOVE veya STATE_REMOVING durumundadır).

Otomatik ana makine adresi modu etkinleştirildikten sonra, ana makine adreslerini açıkça ayarlayan otSrpClientSetHostAddresses() çağrısıyla devre dışı bırakılabilir.

Ayrıntılar
Döndürülen Değerler
OT_ERROR_NONE
Otomatik ana makine adresi modu başarıyla etkinleştirildi.
OT_ERROR_INVALID_STATE
Ana makine kaldırıldığı için otomatik ana makine adresi modu etkinleştirilemiyor.

otSrpClientEnableAutoStartMode

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

Otomatik başlatma modunu etkinleştirir.

Bu özellik yalnızca otomatik başlatma özelliği OPENTHREAD_CONFIG_SRP_CLIENT_AUTO_START_API_ENABLE etkinleştirildiğinde kullanılabilir.

Yapılandırma seçeneği OPENTHREAD_CONFIG_SRP_CLIENT_AUTO_START_DEFAULT_MODE, varsayılan otomatik başlatma modunu belirtir (OT yığınının başında etkin veya devre dışı olsun).

Otomatik başlatma etkinleştirildiğinde SRP istemcisi, SRP sunucularını keşfetmek ve tercih edilen sunucuyu seçmek için İş Parçacığı Ağ Verilerini izler ve bir SRP sunucusu algılandığında istemciyi otomatik olarak başlatıp durdurur.

SRP sunucusunun varlığını gösteren üç ağ verisi girişi kategorisi vardır. Aşağıdaki sırayla tercih edilirler:

1) Hizmet verilerine sunucu adresinin dahil edildiği tercih edilen tekli yayın girişleri. Birden çok seçenek varsa sayısal olarak en düşük IPv6 adresine sahip olan seçenek tercih edilir.

2) Sıra numarası içeren her noktaya yayın girişleri. RFC-1982'deki Seri Numarası Aritmetik mantığı tarafından belirtilen anlamda daha büyük bir sıra numarası daha yeni kabul edilir ve bu nedenle tercih edilir. İyi tanımlanmışsa (yani, sıralı sayı, diğer tüm sıralı sayılardan büyükse) seri numarası aritmetiği kullanan en büyük sıralı numara tercih edilir. İyi tanımlanmamışsa sayısal olarak en büyük sıralı numarası tercih edilir.

3) Sunucu adresi bilgilerinin sunucu verilerine dahil edildiği tek noktaya yayın girişleri. Birden çok seçenek varsa sayısal olarak en düşük IPv6 adresine sahip olan seçenek tercih edilir.

Ağ Verileri girişlerinde bir değişiklik olduğunda, istemci o anda seçili olan sunucunun Ağ Verilerinde hâlâ var olduğundan ve tercih edilen sunucu olup olmadığını kontrol eder. Aksi takdirde, istemci tercih edilen yeni sunucuya geçiş yapar veya sunucu yoksa durur.

SRP istemcisi otSrpClientStart() için yapılan başarılı bir çağrıyla açıkça başlatıldığında, otomatik başlatma modunun durumundan ve İş Parçacığı Ağı Verilerinde aynı SRP sunucu adresinin bulunup bulunmamasından bağımsız olarak otSrpClientStart() içindeki belirtilen SRP sunucu adresi kullanılmaya devam edecektir. Bu durumda, yalnızca açık bir otSrpClientStop() çağrısı istemciyi durdurur.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğine işaretçi.
[in] aCallback
İstemci otomatik olarak başlatıldığında/durdurulduğunda bilgilendirilecek bir geri arama. Gerekirse NULL olabilir.
[in] aContext
aCallback çağrılırken iletilecek bağlam.

otSrpClientGetDomainName

const char * otSrpClientGetDomainName(
  otInstance *aInstance
)

SRP istemcisi tarafından kullanılan alan adını alır.

OPENTHREAD_CONFIG_SRP_CLIENT_DOMAIN_NAME_API_ENABLE politikasının etkinleştirilmesini gerektirir.

Alan adı ayarlanmazsa "default.service.arpa" kullanılır.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğine işaretçi.
İadeler
Alan adı dizesi.

otSrpClientGetHostInfo

const otSrpClientHostInfo * otSrpClientGetHostInfo(
  otInstance *aInstance
)

Ana makine bilgilerini alır.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğine işaretçi.
İadeler
Ana makine bilgi yapısının işaretçisi.

otSrpClientGetKeyLeaseInterval

uint32_t otSrpClientGetKeyLeaseInterval(
  otInstance *aInstance
)

SRP güncelleme isteklerinde kullanılan varsayılan anahtar kiralama aralığını alır.

Varsayılan aralık yalnızca mKeyLease değeri sıfır olarak ayarlanmış otSrpClientService örnekleri için kullanılır.

Bunun SRP istemcisi tarafından istenen kiralama süresi olduğunu unutmayın. Sunucu farklı bir kiralama aralığını kabul edebilir.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğine işaretçi.
İadeler
Anahtar kiralama aralığı (saniye cinsinden).

otSrpClientGetLeaseInterval

uint32_t otSrpClientGetLeaseInterval(
  otInstance *aInstance
)

SRP güncelleme isteklerinde kullanılan varsayılan kiralama aralığını alır.

Varsayılan aralık yalnızca mLease değeri sıfır olarak ayarlanmış otSrpClientService örnekleri için kullanılır.

Bunun SRP istemcisi tarafından istenen kiralama süresi olduğunu unutmayın. Sunucu farklı bir kiralama aralığını kabul edebilir.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğine işaretçi.
İadeler
Kiralama aralığı (saniye cinsinden).

otSrpClientGetServerAddress

const otSockAddr * otSrpClientGetServerAddress(
  otInstance *aInstance
)

SRP istemcisi tarafından kullanılan SRP sunucusunun yuva adresini (IPv6 adresi ve bağlantı noktası numarası) alır.

İstemci çalışmıyorsa adres belirtilmemiştir (tümü sıfır) ve bağlantı noktası numarası yoktur.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğine işaretçi.
İadeler
SRP sunucusunun yuva adresine işaretçi (her zaman NULL değildir).

otSrpClientGetServices

const otSrpClientService * otSrpClientGetServices(
  otInstance *aInstance
)

İstemci tarafından yönetilen hizmetlerin listesini alır.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğine işaretçi.
İadeler
Tüm hizmetlerin bağlı listesinin başına işaretçi ya da liste boşsa NULL.

otSrpClientGetTtl

uint32_t otSrpClientGetTtl(
  otInstance *aInstance
)

SRP güncelleme isteklerine dahil edilen her kayıttaki TTL değerini alır.

Bunun SRP istemcisi tarafından istenen TTL olduğunu unutmayın. Sunucu farklı bir TTL kabul edebilir.

Varsayılan olarak TTL, kiralama aralığına eşittir. otSrpClientSetTtl() aracılığıyla 0 veya kiralama aralığından daha büyük bir değer iletilmesi, TTL'nin de kiralama aralığına eşit olmasına neden olur.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğine işaretçi.
İadeler
TTL (saniye cinsinden).

otSrpClientIsAutoStartModeEnabled

bool otSrpClientIsAutoStartModeEnabled(
  otInstance *aInstance
)

Otomatik başlatma modunun mevcut durumunu belirtir (etkin veya devre dışı).

Bu özellik yalnızca otomatik başlatma özelliği OPENTHREAD_CONFIG_SRP_CLIENT_AUTO_START_API_ENABLE etkinleştirildiğinde kullanılabilir.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğine işaretçi.
İadeler
Otomatik başlatma modu etkinse DOĞRU, aksi takdirde YANLIŞ olur.

otSrpClientIsRunning

bool otSrpClientIsRunning(
  otInstance *aInstance
)

SRP istemcisinin çalışıp çalışmadığını belirtir.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğine işaretçi.
İadeler
SRP istemcisi çalışıyorsa DOĞRU, değilse YANLIŞ.

otSrpClientIsServiceKeyRecordEnabled

bool otSrpClientIsServiceKeyRecordEnabled(
  otInstance *aInstance
)

"Hizmet anahtarı kaydı dahil etme" modunun etkin mi yoksa devre dışı mı olduğunu belirtir.

OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE yapılandırması etkinleştirildiğinde kullanılabilir.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğine işaretçi.
İadeler
"Hizmet anahtarı kaydı dahil etme" modu etkinse DOĞRU, aksi takdirde YANLIŞ olur.

otSrpClientItemStateToString

const char * otSrpClientItemStateToString(
  otSrpClientItemState aItemState
)

Bir otSrpClientItemState dizesini bir dizeye dönüştürür.

Ayrıntılar
Parametreler
[in] aItemState
Öğe durumudur.
İadeler
aItemState öğesinin dize gösterimi.

otSrpClientRemoveHostAndServices

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

Ana makine bilgilerinin ve tüm hizmetlerin kaldırma işlemini başlatır.

Bu işlevden döndükten sonra, SRP sunucusuna kaldırma isteğinin durumunu bildirmek için otSrpClientCallback çağrılır.

Ana makine bilgisi sunucudan kalıcı olarak kaldırılacaksa aRemoveKeyLease, true olarak ayarlanmalıdır. Bu işlem, sunucudaki ana makineyle ilişkili anahtar kiralama işlemini kaldırır. Aksi takdirde, anahtar kiralama kaydı daha önce olduğu gibi saklanır. Bu sayede, istemci tekrar hizmetlerini sağlayıp kaydedebilir. Bu durumda, sunucu ana makine adını yedek olarak muhafaza eder.

aSendUnregToServer, ana makine bilgisi henüz sunucuya kaydedilmediğinde davranışı belirler. aSendUnregToServer, false olarak ayarlanırsa (varsayılan/beklenen değer budur) SRP istemcisi, sunucuya güncelleme mesajı göndermeden ana makine bilgilerini ve hizmetlerini hemen kaldırır (Henüz hiçbir şey kayıtlı değilse sunucunun güncellenmesine gerek yoktur). aSendUnregToServer, true değerine ayarlanırsa SRP istemcisi sunucuya bir güncelleme mesajı gönderir. Ana makine bilgisi kayıtlıysa aSendUnregToServer değerinin önemli olmadığını ve SRP istemcisinin sunucuya her zaman tüm bilgilerin kaldırılmasını isteyen bir güncelleme mesajı göndereceğini unutmayın.

aSendUnregToServer cihazının kullanışlı olabileceği bir durum da cihazın sıfırlanması/yeniden başlatılmasıdır, arayan kişi sunucuda daha önce kaydedilmiş hizmetleri kaldırmak isteyebilir. Bu durumda arayan, otSrpClientSetHostName() ve ardından true olarak aSendUnregToServer ile otSrpClientRemoveHostAndServices() isteğinde bulunabilir.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğine işaretçi.
[in] aRemoveKeyLease
Ana makine anahtarı kiralamasının da kaldırılıp kaldırılmayacağını belirten bir boole değeri.
[in] aSendUnregToServer
Ana makine bilgisi kayıtlı olmadığında güncellemenin sunucuya gönderilip gönderilmeyeceğini gösteren boole.
Döndürülen Değerler
OT_ERROR_NONE
Ana makine bilgisi ve hizmetlerinin kaldırılması başarıyla başlatıldı. Durumu bildirmek için otSrpClientCallback çağrılır.
OT_ERROR_ALREADY
Ana makine bilgisi zaten kaldırılmış.

otSrpClientRemoveService

otError otSrpClientRemoveService(
  otInstance *aInstance,
  otSrpClientService *aService
)

Bir hizmetin sunucu kaydının silinmesini ister.

Bu işleve yapılan başarılı bir çağrıdan sonra, SRP sunucusuna kaldırma isteğinin durumunu bildirmek için otSrpClientCallback çağrılır.

aService tarafından işaret edilen otSrpClientService örneği, bu işlevden (OT_ERROR_NONE ile) dönüldükten sonra değişmeden kalmalıdır. OpenThread, kaldırma işlemi sırasında hizmet örneğini tutar. Yalnızca otSrpClientCallback çağrıldıktan sonra hizmet örneğinin SRP istemci hizmetleri listesinden çıkarıldığını ve serbest bırakılıp yeniden kullanılabileceğini belirtin.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğine işaretçi.
[in] aService
Kaldırılacak otSrpClientService örneğine işaretçi.
Döndürülen Değerler
OT_ERROR_NONE
Hizmet kaldırma işlemi başarıyla başlatıldı. Durumu bildirmek için otSrpClientCallback çağrılır.
OT_ERROR_NOT_FOUND
Hizmet listede bulunamadı.

otSrpClientSetCallback

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

Geri çağırmayı, arayana SRP istemcisinden kaynaklanan etkinlikler/değişiklikler hakkında bilgi verecek şekilde ayarlar.

SRP istemcisi, tek bir geri çağırmanın kaydedilmesine olanak tanır. Dolayısıyla bu işleve yapılan art arda yapılan çağrılar, önceden ayarlanmış geri çağırma işlevlerinin üzerine yazılır.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğine işaretçi.
[in] aCallback
Etkinlikleri ve değişiklikleri bildirmek için geri arama. Gerekirse NULL olabilir.
[in] aContext
aCallback ile kullanılan rastgele bir bağlam.

otSrpClientSetDomainName

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

SRP istemcisi tarafından kullanılacak alan adını ayarlar.

OPENTHREAD_CONFIG_SRP_CLIENT_DOMAIN_NAME_API_ENABLE politikasının etkinleştirilmesini gerektirir.

Ayarlanmazsa "default.service.arpa" kullanılır.

aName tarafından işaret edilen ad dizesi arabelleğinin devam etmesi ve bu işlevden döndürüldükten sonra değişmemesi ZORUNLUDUR. OpenThread, dizenin işaretçisini tutar.

Alan adı, istemci başlatılmadan önce veya başlatıldıktan sonra ana makine bilgileri sunucuya kaydedilmeden önce ayarlanabilir (barındırıcı bilgileri STATE_TO_ADD veya STATE_TO_REMOVE içinde olmalıdır).

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğine işaretçi.
[in] aName
Alan adı dizesine işaret eden bir işarettir. NULL değeri varsayılan olarak "default.service.arpa" olarak ayarlanır.
Döndürülen Değerler
OT_ERROR_NONE
Alan adı etiketi başarıyla ayarlandı.
OT_ERROR_INVALID_STATE
Ana makine bilgisi sunucuda zaten kayıtlı.

otSrpClientSetHostAddresses

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

Ana makine IPv6 adresinin listesini ayarlar/günceller.

Ana makine bilgisi kaldırılırken (istemci, otSrpClientRemoveHostAndServices() ile yapılan önceki bir aramadan gelen kaldırma isteğini işleme aldığı ve ana makine bilgilerinin hâlâ STATE_TO_REMOVE ya da STATE_REMOVING durumunda olduğu durumlar hariç) SRP istemcisinin başlatılmasından önce veya çalıştırılmasından önce veya SRP istemcisinin çalışması sırasında değiştirilebilir (ör. daha önce kaydedilmiş bir ana makine adresini eklemek/kaldırmak veya değiştirmek için).

aIp6Addresses tarafından işaret edilen ana makine IPv6 adres dizisi, bu işlevden (OT_ERROR_NONE ile) döndükten sonra değişmeden devam etmeli ve değişmemelidir. OpenThread, işaretçiyi diziye kaydeder.

Bu işleve yapılan başarılı bir çağrıdan sonra, SRP sunucusuyla adres kaydının durumunu bildirmek için otSrpClientCallback çağrılır.

Bu işlev çağrıldığında, otomatik ana makine adresi modu önceden otSrpClientEnableAutoHostAddress() için yapılan başarılı bir çağrıdan etkinleştirilmişse devre dışı bırakılır.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğine işaretçi.
[in] aIp6Addresses
Ana makine IPv6 adreslerini içeren bir dizinin işaretçisi.
[in] aNumAddresses
aIp6Addresses dizisindeki adreslerin sayısı.
Döndürülen Değerler
OT_ERROR_NONE
Ana makine IPv6 adres listesi değişikliği başarıyla başlatıldı. otSrpClientCallback, adresleri sunucuya kaydettirme durumunu bildirmek için çağrılır.
OT_ERROR_INVALID_ARGS
Adres listesi geçersiz (ör. en az bir adres içermelidir).
OT_ERROR_INVALID_STATE
Ana makine kaldırıldığı için ana makine adresini değiştiremez.

otSrpClientSetHostName

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

Ana makine adı etiketini ayarlar.

Bu işleve yapılan başarılı bir çağrıdan sonra, SRP sunucusuna ana makine bilgi kaydının durumunu bildirmek için otSrpClientCallback çağrılır.

aName tarafından işaret edilen ad dizesi arabelleğinin devam etmesi ve bu işlevden döndürüldükten sonra değişmemesi ZORUNLUDUR. OpenThread, dizenin işaretçisini tutar.

Ana makine adı, istemci başlatılmadan önce veya başlatıldıktan sonra ana makine bilgisi sunucuya kaydedilmeden önce ayarlanabilir (ana makine bilgisi STATE_TO_ADD veya STATE_REMOVED içinde olmalıdır).

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğine işaretçi.
[in] aName
Ana makine adı etiket dizesine yönlendiren bir işaretçi (NULL OLMAMALIDIR). Dize arabelleğinin işaretçisi, bu işlevden döndürüldükten sonra da geçerli ve sabit kalmalıdır.
Döndürülen Değerler
OT_ERROR_NONE
Ana makine adı etiketi başarıyla ayarlandı.
OT_ERROR_INVALID_ARGS
aName BOŞ.
OT_ERROR_INVALID_STATE
Ana makine adı zaten belirlenmiş ve sunucuya kayıtlı.

otSrpClientSetKeyLeaseInterval

void otSrpClientSetKeyLeaseInterval(
  otInstance *aInstance,
  uint32_t aInterval
)

SRP güncelleme isteklerinde kullanılan varsayılan anahtar kiralama aralığını ayarlar.

Varsayılan aralık yalnızca mKeyLease değeri sıfır olarak ayarlanmış otSrpClientService örnekleri için kullanılır.

Kiralama aralığını değiştirmek, zaten kayıtlı hizmetlerin/barındırıcı bilgilerinin kabul edilen kiralama aralığını etkilemez. Yalnızca gelecekteki SRP güncelleme mesajlarını (yeni hizmetlerin eklenmesi ve/veya mevcut hizmetlerin yenilenmesi) etkiler.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğine işaretçi.
[in] aInterval
Anahtar kiralama aralığı (saniye cinsinden). Sıfır olursa OPENTHREAD_CONFIG_SRP_CLIENT_DEFAULT_KEY_LEASE tarafından belirtilen varsayılan değer kullanılır.

otSrpClientSetLeaseInterval

void otSrpClientSetLeaseInterval(
  otInstance *aInstance,
  uint32_t aInterval
)

SRP güncelleme isteklerinde kullanılan varsayılan kiralama aralığını ayarlar.

Varsayılan aralık yalnızca mLease değeri sıfır olarak ayarlanmış otSrpClientService örnekleri için kullanılır.

Kiralama aralığını değiştirmek, zaten kayıtlı hizmetlerin/barındırıcı bilgilerinin kabul edilen kiralama aralığını etkilemez. Bu değişiklik yalnızca gelecekteki SRP güncelleme mesajlarını (yeni hizmetlerin eklenmesi ve/veya mevcut hizmetlerin yenilenmesi) etkiler.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğine işaretçi.
[in] aInterval
Kiralama aralığı (saniye cinsinden). Sıfır olursa OPENTHREAD_CONFIG_SRP_CLIENT_DEFAULT_LEASE tarafından belirtilen varsayılan değer kullanılır.

otSrpClientSetServiceKeyRecordEnabled

void otSrpClientSetServiceKeyRecordEnabled(
  otInstance *aInstance,
  bool aEnabled
)

"Hizmet anahtarı kaydı dahil etme" modunu etkinleştirir/devre dışı bırakır.

Etkinleştirildiğinde SRP istemcisi, gönderdiği SRP güncelleme mesajlarındaki Hizmet Açıklaması Talimatları'na ANAHTAR kaydını ekler.

OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE yapılandırması etkinleştirildiğinde kullanılabilir.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğine işaretçi.
[in] aEnabled
Etkinleştirmek için TRUE, "hizmet anahtarı kaydı dahil etme" modunu devre dışı bırakmak için FALSE.

otSrpClientSetTtl

void otSrpClientSetTtl(
  otInstance *aInstance,
  uint32_t aTtl
)

SRP güncelleme isteklerine dahil edilen her kayıtta TTL değerini belirler.

TTL'nin değiştirilmesi, halihazırda kayıtlı hizmetlerin/ana makine bilgilerinin TTL'sini etkilemez. Yalnızca gelecekteki SRP güncelleme iletilerini etkiler (yani, yeni hizmetlerin eklenmesi ve/veya mevcut hizmetlerin yenilenmesi).

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğine işaretçi.
[in] aTtl
TTL (saniye cinsinden). Değer sıfırsa veya kiralama aralığından büyükse TTL, kiralama aralığına ayarlanır.

otSrpClientStart

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

SRP istemci işlemini başlatır.

SRP istemcisi, "SRP Güncellemesi" mesajını hazırlayıp SRP sunucusuna gönderir:

Bu işlevlerin hangi sırayla çağrıldığı önemli değildir. Tüm koşullar karşılandığında SRP istemcisi, bir "SRP Güncellemesi" mesajı hazırlayıp sunucuya göndermeden önce kısa bir gecikme bekler. Bu gecikme, kullanıcının ilk SRP Güncellemesi mesajı gönderilmeden önce birden çok hizmet ve/veya IPv6 adresi eklemesine olanak sağlar (tüm bilgileri içeren tek bir SRP Güncellemesi gönderilmesi gerekir). OPENTHREAD_CONFIG_SRP_CLIENT_UPDATE_TX_DELAY yapılandırması, gecikme aralığını belirtir.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğine işaretçi.
[in] aServerSockAddr
SRP sunucusunun yuva adresi (IPv6 adresi ve bağlantı noktası numarası).
Döndürülen Değerler
OT_ERROR_NONE
SRP istemci işlemi başarıyla başlatıldı veya zaten aynı sunucu yuva adresi ve geri çağırma ile çalışıyor.
OT_ERROR_BUSY
SRP istemcisi farklı bir yuva adresiyle meşgul.
OT_ERROR_FAILED
İstemcinin UDP soketi açılamadı/bağlanamadı.

otSrpClientStop

void otSrpClientStop(
  otInstance *aInstance
)

SRP istemci işlemini durdurur.

SRP sunucusuyla gerçekleştirilecek diğer etkileşimleri durdurur. Bu işlemin ana makine bilgilerini ve/veya hizmet listesini kaldırmadığını ya da temizlemediğini unutmayın. İstemci başlatıldıktan (yeniden) sonra tekrar eklenecek/kaldırılacak tüm hizmetleri işaretler.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğine işaretçi.

otSrpServerGetAddressMode

otSrpServerAddressMode otSrpServerGetAddressMode(
  otInstance *aInstance
)

SRP sunucusu tarafından kullanılan adres modunu döndürür.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğinin işaretçisi.
İadeler
SRP sunucusunun adres modu.

otSrpServerGetAnycastModeSequenceNumber

uint8_t otSrpServerGetAnycastModeSequenceNumber(
  otInstance *aInstance
)

Her noktaya yayın adres moduyla kullanılan sıra numarasını döndürür.

Sıra numarası, Ağ Verilerinde yayınlanan "DNS/SRP Hizmeti Anycast Adresi" girişinde yer alır.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğinin işaretçisi.
İadeler
Her noktaya yayın sıra numarası.

otSrpServerGetDomain

const char * otSrpServerGetDomain(
  otInstance *aInstance
)

SRP sunucusu tarafından yetkilendirilen alanı döndürür.

Alan, SetDomain tarafından ayarlanmazsa "default.service.arpa." döndürülür. Alan adı buz işareti olmadan ayarlanmış olsa bile sonda bir nokta her zaman eklenir.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğinin işaretçisi.
İadeler
Noktayla birleştirilmiş alan adı dizesine işaret eden bir işaretçi.

otSrpServerGetLeaseConfig

void otSrpServerGetLeaseConfig(
  otInstance *aInstance,
  otSrpServerLeaseConfig *aLeaseConfig
)

SRP sunucusu LEASE ve KEY-LEASE yapılandırmalarını döndürür.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğinin işaretçisi.
[out] aLeaseConfig
otSrpServerLeaseConfig örneğine işaretçi.

otSrpServerGetNextHost

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

SRP sunucusunda sonraki kayıtlı ana makineyi döndürür.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğinin işaretçisi.
[in] aHost
Mevcut ana makineye işaret eden bir işarettir. İlk ana makineyi almak için NULL değeri kullanın.
İadeler
Kayıtlı barındırıcının işaretçisi. Başka ana makine bulunamazsa NULL değerine sahiptir.

otSrpServerGetPort

uint16_t otSrpServerGetPort(
  otInstance *aInstance
)

SRP sunucusunun dinlediği bağlantı noktasını döndürür.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğinin işaretçisi.
İadeler
SRP sunucusunun bağlantı noktası. Sunucu çalışmıyorsa 0 değerini döndürür.

otSrpServerGetResponseCounters

const otSrpServerResponseCounters * otSrpServerGetResponseCounters(
  otInstance *aInstance
)

SRP sunucusunun yanıt sayaçlarını döndürür.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğinin işaretçisi.
İadeler
SRP sunucusunun yanıt sayaçlarına işaretçi.

otSrpServerGetState

otSrpServerState otSrpServerGetState(
  otInstance *aInstance
)

SRP sunucusunun durumunu döndürür.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğinin işaretçisi.
İadeler
SRP sunucusunun mevcut durumu.

otSrpServerGetTtlConfig

void otSrpServerGetTtlConfig(
  otInstance *aInstance,
  otSrpServerTtlConfig *aTtlConfig
)

SRP sunucusu TTL yapılandırmasını döndürür.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğinin işaretçisi.
[out] aTtlConfig
otSrpServerTtlConfig örneğine işaretçi.

otSrpServerHandleServiceUpdateResult

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

SRP güncellemesi işlemenin sonucunu SRP sunucusuna bildirir.

Hizmet Güncelleme İşleyicisi, SRP güncellemesi işlemesinin sonucunu döndürmek için bu işlevi çağırmalıdır.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğinin işaretçisi.
[in] aId
Hizmet güncellemesi işlem kimliği. Bu, otSrpServerServiceUpdateHandler aracılığıyla sağlanan kimlikle aynı olmalıdır.
[in] aError
SRP sunucusuna döndürülecek bir hata. DNS adı çakışmalarını göstermek için OT_ERROR_DUPLICATED değerini kullanın.

otSrpServerHostGetAddresses

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

Belirli bir ana bilgisayarın adreslerini döndürür.

Ayrıntılar
Parametreler
[in] aHost
SRP hizmeti ana makinesine işaret eden bir işaretçi.
[out] aAddressesNum
Adres sayısını vermemiz gereken yeri gösteren bir işaretçi.
İadeler
IPv6 adresi dizisinin işaretçisi.

otSrpServerHostGetFullName

const char * otSrpServerHostGetFullName(
  const otSrpServerHost *aHost
)

Ana makinenin tam adını döndürür.

Ayrıntılar
Parametreler
[in] aHost
SRP hizmeti ana makinesine işaret eden bir işaretçi.
İadeler
Boş sonlandırılmış ana makine adı dizesine işaret eden bir işarettir.

otSrpServerHostGetLeaseInfo

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

Belirli bir ana makinenin LEASE ve KEY-LEASE bilgilerini döndürür.

Ayrıntılar
Parametreler
[in] aHost
SRP sunucusu ana makinesine işaret eden bir işaretçi.
[out] aLeaseInfo
LEASE ve KEY-LEASE bilgilerinin çıktısını almak için kullanılan işaretçi.

otSrpServerHostGetNextService

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

Belirli bir ana makinenin sonraki hizmetini döndürür.

Ayrıntılar
Parametreler
[in] aHost
SRP hizmeti ana makinesine işaret eden bir işaretçi.
[in] aService
Mevcut SRP hizmet örneğine işaretçi. İlk hizmeti almak için NULL kullanın.
İadeler
Bir sonraki hizmete işaretçi. Başka hizmet yoksa NULL.

otSrpServerHostIsDeleted

bool otSrpServerHostIsDeleted(
  const otSrpServerHost *aHost
)

SRP hizmet ana makinesinin silinip silinmediğini bildirir.

SRP hizmet ana makinesi silinebilir ancak adlarını gelecekte kullanılmak üzere korur. Bu durumda ana makine örneği, SRP sunucusundan/kayıt defterinden kaldırılmaz.

Ayrıntılar
Parametreler
[in] aHost
SRP hizmeti ana makinesine işaret eden bir işaretçi.
İadeler
Ana makine silinmişse DOĞRU, silinmişse YANLIŞ.

otSrpServerHostMatchesFullName

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

Ana makinenin belirli bir ana makine adıyla eşleşip eşleşmediğini belirtir.

DNS adı eşleşmeleri, büyük/küçük harfe duyarlı olmayan bir dize karşılaştırması (ör. "Abc" ve "aBc" aynı kabul edilir).

Ayrıntılar
Parametreler
[in] aHost
SRP hizmeti ana makinesine işaret eden bir işaretçi.
[in] aFullName
Tam ana makine adı.
Döndürülen Değerler
TRUE
Ana makine adıyla eşleşiyorsa.
FALSE
Ana makine adıyla eşleşmiyorsa.

otSrpServerIsAutoEnableMode

bool otSrpServerIsAutoEnableMode(
  otInstance *aInstance
)

Otomatik etkinleştirme modunun etkin mi yoksa devre dışı mı olduğunu belirtir.

OPENTHREAD_CONFIG_BORDER_ROUTING_ENABLE özelliği gerektirir.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğinin işaretçisi.
Döndürülen Değerler
TRUE
Otomatik etkinleştirme modu etkinleştirildi.
FALSE
Otomatik etkinleştirme modu devre dışı bırakıldı.

otSrpServerParseSubTypeServiceName

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

Alt tür hizmet adını (tam ad) ayrıştırır ve alt tür etiketini ayıklar.

Alt tür bir hizmetin tam hizmet adı şu şekildedir: "._sub...".

Ayrıntılar
Parametreler
[in] aSubTypeServiceName
Alt tür hizmet adı (tam ad).
[out] aLabel
Ayıklanan alt tür etiketinin kopyalanması için bir arabelleğin işaretçisi.
[in] aLabelSize
Maksimum aLabel arabellek boyutu.
Döndürülen Değerler
OT_ERROR_NONE
Ad başarıyla ayrıştırıldı ve aLabel güncellendi.
OT_ERROR_NO_BUFS
Alt tür etiketi aLabel arabelleğine sığmadı (etiketin sığabilecek karakter sayısı aLabel bölümüne kopyalanıp boş sonlandırılması sağlanmalıdır).
OT_ERROR_INVALID_ARGS
aSubTypeServiceName, geçerli bir alt tür biçimi değil.

otSrpServerServiceGetHost

const otSrpServerHost * otSrpServerServiceGetHost(
  const otSrpServerService *aService
)

Hizmet örneğinin bulunduğu ana makineyi döndürür.

Ayrıntılar
Parametreler
[in] aService
SRP hizmetine işaretçi.
İadeler
Ana makine örneğinin işaretçisi.

otSrpServerServiceGetInstanceLabel

const char * otSrpServerServiceGetInstanceLabel(
  const otSrpServerService *aService
)

Hizmetin hizmet örneği etiketini (örnek adındaki ilk etiket) döndürür.

Ayrıntılar
Parametreler
[in] aService
SRP hizmetine işaretçi.
İadeler
Boş sonlandırılmış hizmet örneği etiket dizesinin işaretçisi.

otSrpServerServiceGetInstanceName

const char * otSrpServerServiceGetInstanceName(
  const otSrpServerService *aService
)

Hizmetin tam hizmet örneği adını döndürür.

Ayrıntılar
Parametreler
[in] aService
SRP hizmetine işaretçi.
İadeler
Boş sonlandırılmış hizmet örneği adı dizesine işaret eden bir işarettir.

otSrpServerServiceGetLeaseInfo

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

Belirli bir hizmetin LEASE ve KEY-LEASE bilgilerini döndürür.

Ayrıntılar
Parametreler
[in] aService
SRP sunucu hizmetinin işaretçisi.
[out] aLeaseInfo
LEASE ve KEY-LEASE bilgilerinin çıktısını almak için kullanılan işaretçi.

otSrpServerServiceGetNumberOfSubTypes

uint16_t otSrpServerServiceGetNumberOfSubTypes(
  const otSrpServerService *aService
)

Hizmetin alt türlerinin sayısını alır.

Ayrıntılar
Parametreler
[in] aService
SRP hizmetine işaretçi.
İadeler
aService alt türlerinin sayısı.

otSrpServerServiceGetPort

uint16_t otSrpServerServiceGetPort(
  const otSrpServerService *aService
)

Hizmet örneğinin bağlantı noktasını döndürür.

Ayrıntılar
Parametreler
[in] aService
SRP hizmetine işaretçi.
İadeler
Hizmetin bağlantı noktası.

otSrpServerServiceGetPriority

uint16_t otSrpServerServiceGetPriority(
  const otSrpServerService *aService
)

Hizmet örneğinin önceliğini döndürür.

Ayrıntılar
Parametreler
[in] aService
SRP hizmetine işaretçi.
İadeler
Hizmetin önceliği.

otSrpServerServiceGetServiceName

const char * otSrpServerServiceGetServiceName(
  const otSrpServerService *aService
)

Hizmetin tam hizmet adını döndürür.

Ayrıntılar
Parametreler
[in] aService
SRP hizmetine işaretçi.
İadeler
Boş sonlandırılmış hizmet adı dizesine işaret eden bir işarettir.

otSrpServerServiceGetSubTypeServiceNameAt

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

Belirli bir dizinde hizmetin alt türü hizmet adını (tam adı) alır.

Alt tür bir hizmetin tam hizmet adı şu şekildedir: "._sub...".

Ayrıntılar
Parametreler
[in] aService
SRP hizmetine işaretçi.
[in] aIndex
Alınacak dizin.
İadeler
aIndex konumundaki alt tür hizmet adına veya bu dizinde alt tür yoksa NULL için işaretçi.

otSrpServerServiceGetTtl

uint32_t otSrpServerServiceGetTtl(
  const otSrpServerService *aService
)

Hizmet örneğinin TTL'sini döndürür.

Ayrıntılar
Parametreler
[in] aService
SRP hizmetine işaretçi.
İadeler
Hizmet örneğinin TTL'si.

otSrpServerServiceGetTxtData

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

Hizmet örneğinin TXT kayıt verilerini döndürür.

Ayrıntılar
Parametreler
[in] aService
SRP hizmetine işaretçi.
[out] aDataLength
TXT kaydı veri uzunluğunu döndüren bir işaretçi. BOŞ OLMAMALIDIR.
İadeler
TXT kayıt verilerini içeren arabelleğin işaretçisi (TXT veri uzunluğu aDataLength ürününde döndürülür).

otSrpServerServiceGetWeight

uint16_t otSrpServerServiceGetWeight(
  const otSrpServerService *aService
)

Hizmet örneğinin ağırlığını döndürür.

Ayrıntılar
Parametreler
[in] aService
SRP hizmetine işaretçi.
İadeler
Hizmetin ağırlığı.

otSrpServerServiceHasSubTypeServiceName

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

Hizmetin belirli bir alt türü olup olmadığını belirtir.

DNS adı eşleşmeleri, büyük/küçük harfe duyarlı olmayan bir dize karşılaştırması (ör. "Abc" ve "aBc" aynı kabul edilir).

Ayrıntılar
Parametreler
[in] aService
SRP hizmetine işaretçi.
[in] aSubTypeServiceName
Kontrol edilecek alt tür hizmet adı (tam ad).
Döndürülen Değerler
TRUE
Hizmet aSubTypeServiceName alt türünü içeriyor.
FALSE
Hizmet, aSubTypeServiceName alt türünü içermiyor.

otSrpServerServiceIsDeleted

bool otSrpServerServiceIsDeleted(
  const otSrpServerService *aService
)

SRP hizmetinin silinip silinmediğini belirtir.

SRP hizmeti silinebilir ancak ileride kullanılmak üzere adını korur. Bu durumda hizmet örneği, SRP sunucusundan/kayıt defterinden kaldırılmaz. Ana makine silinirse tüm hizmetlerin de silineceği garanti edilir.

Ayrıntılar
Parametreler
[in] aService
SRP hizmetine işaretçi.
İadeler
Hizmet silinmişse DOĞRU, silinmişse YANLIŞ.

otSrpServerServiceMatchesInstanceName

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

Bu hizmetin belirli bir hizmet örneği adıyla eşleşip eşleşmediğini belirtir.

DNS adı eşleşmeleri, büyük/küçük harfe duyarlı olmayan bir dize karşılaştırması (ör. "Abc" ve "aBc" aynı kabul edilir).

Ayrıntılar
Parametreler
[in] aService
SRP hizmetine işaretçi.
[in] aInstanceName
Hizmet örneği adı.
Döndürülen Değerler
TRUE
Hizmet, hizmet örneği adıyla eşleşiyorsa
FALSE
Hizmet, hizmet örneği adıyla eşleşmiyorsa

otSrpServerServiceMatchesServiceName

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

Bu hizmetin belirli bir hizmet adıyla eşleşip eşleşmediğini belirtir.

DNS adı eşleşmeleri, büyük/küçük harfe duyarlı olmayan bir dize karşılaştırması (ör. "Abc" ve "aBc" aynı kabul edilir).

Ayrıntılar
Parametreler
[in] aService
SRP hizmetine işaretçi.
[in] aServiceName
Hizmet adı.
Döndürülen Değerler
TRUE
Hizmet, hizmet adıyla eşleşiyorsa
FALSE
Hizmet, hizmet adıyla eşleşmiyorsa.

otSrpServerSetAddressMode

otError otSrpServerSetAddressMode(
  otInstance *aInstance,
  otSrpServerAddressMode aMode
)

SRP sunucusu tarafından kullanılacak adres modunu ayarlar.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğinin işaretçisi.
[in] aMode
Kullanılacak adres modu.
Döndürülen Değerler
OT_ERROR_NONE
Adres modu başarıyla ayarlandı.
OT_ERROR_INVALID_STATE
SRP sunucusu etkin ve adres modu değiştirilemez.

otSrpServerSetAnycastModeSequenceNumber

otError otSrpServerSetAnycastModeSequenceNumber(
  otInstance *aInstance,
  uint8_t aSequenceNumber
)

Her noktaya yayın adres moduyla kullanılan sıra numarasını ayarlar.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğinin işaretçisi.
[in] aSequenceNumber
Kullanılacak sıra numarası.
Döndürülen Değerler
OT_ERROR_NONE
Adres modu başarıyla ayarlandı.
OT_ERROR_INVALID_STATE
SRP sunucusu etkin ve sıra numarası değiştirilemez.

otSrpServerSetAutoEnableMode

void otSrpServerSetAutoEnableMode(
  otInstance *aInstance,
  bool aEnabled
)

SRP sunucusunda otomatik etkinleştirme modunu etkinleştirir/devre dışı bırakır.

OPENTHREAD_CONFIG_BORDER_ROUTING_ENABLE özelliği gerektirir.

Bu mod etkinleştirildiğinde Sınır Yönlendirme Yöneticisi, SRP sunucusunun etkinleştirilip etkinleştirilmeyeceğini veya ne zaman devre dışı bırakılacağını kontrol eder. SRP sunucusu, Sınır Yönlendirme başlatıldığında/başlatıldığında otomatik olarak etkinleştirilir. Bu işlem, ilk ön ek ve rota yapılandırmalarıyla yapılır (OMR ve bağlantı içi ön ekler belirlendiğinde, altyapı tarafında yayınlanan Yönlendirici Reklamı mesajında tanıtılır ve Thread Network Data'da yayınlanır). BR durdurulduğunda/BR durdurulduğunda (ör. altyapı ağ arayüzü kapatılırsa veya BR ayrılırsa) SRP sunucusu otomatik olarak devre dışı bırakılır.

Bu mod, aEnabled false değerine ayarlanmış bir otSrpServerSetAutoEnableMode() çağrısıyla veya SRP sunucusu bir otSrpServerSetEnabled() işlevi çağrısıyla açıkça etkinleştirilir ya da devre dışı bırakılırsa devre dışı bırakılabilir. otSrpServerSetAutoEnableMode(false) kullanarak otomatik etkinleştirme modunun devre dışı bırakılması, SRP sunucusunun mevcut durumunu değiştirmez (ör. etkinse etkin kalır).

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğinin işaretçisi.
[in] aEnabled
Otomatik etkinleştirme modunu etkinleştirmek/devre dışı bırakmak için kullanılan boole.

otSrpServerSetDomain

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

SRP sunucusunda alanı ayarlar.

aDomain öğesi henüz yoksa sonda bir nokta eklenir. Yalnızca SRP sunucusu etkinleştirilmeden önce çağrılmalıdır.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğinin işaretçisi.
[in] aDomain
Ayarlanacak alan. BOŞ OLMAMALIDIR.
Döndürülen Değerler
OT_ERROR_NONE
Alan, aDomain olarak başarıyla ayarlandı.
OT_ERROR_INVALID_STATE
SRP sunucusu zaten etkin ve alan değiştirilemez.
OT_ERROR_INVALID_ARGS
aDomain bağımsız değişkeni geçerli bir DNS alan adı değil.
OT_ERROR_NO_BUFS
aDomain içeriğinin depolanacağı bellek yok.

otSrpServerSetEnabled

void otSrpServerSetEnabled(
  otInstance *aInstance,
  bool aEnabled
)

SRP sunucusunu etkinleştirir/devre dışı bırakır.

Sınır Yönlendiricide bunun yerine otSrpServerSetAutoEnableMode() kullanılması önerilir.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğinin işaretçisi.
[in] aEnabled
SRP sunucusunu etkinleştirmek/devre dışı bırakmak için kullanılan boole değeri.

otSrpServerSetLeaseConfig

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

SRP sunucusu LEASE ve KEY-LEASE yapılandırmalarını ayarlar.

Bir istemciden sıfır olmayan bir LEASE süresi istendiğinde, verilen değer [aMinLease, aMaxLease] aralığında sınırlanır ve [aMinKeyLease, aMaxKeyLease] aralığında, sıfır olmayan bir KEY-LEASE verilir. Sıfır LEASE veya KEY-LEASE süresi için sıfır verilir.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğinin işaretçisi.
[in] aLeaseConfig
otSrpServerLeaseConfig örneğine işaretçi.
Döndürülen Değerler
OT_ERROR_NONE
LEASE ve KEY-LEASE aralıkları başarıyla ayarlandı.
OT_ERROR_INVALID_ARGS
LEASE veya KEY-LEASE aralığı geçerli değil.

otSrpServerSetServiceUpdateHandler

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

SRP hizmet güncellemeleri işleyicisini SRP sunucusunda ayarlar.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğinin işaretçisi.
[in] aServiceHandler
Bir hizmet işleyicinin işaretçisi. İşleyiciyi kaldırmak için NULL değerini kullanın.
[in] aContext
Rastgele bağlam bilgilerine yönlendiren bir işaretçi. Kullanılmazsa NULL olabilir.

otSrpServerSetTtlConfig

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

SRP sunucusu TTL yapılandırmasını ayarlar.

Verilen TTL, minimum ve maksimum TTL yapılandırmasından bağımsız olarak her zaman otSrpServerSetLeaseConfig() aracılığıyla yapılandırılan maksimum kiralama aralığından büyük olmaz.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğinin işaretçisi.
[in] aTtlConfig
otSrpServerTtlConfig örneğine işaretçi.
Döndürülen Değerler
OT_ERROR_NONE
TTL yapılandırması başarıyla ayarlandı.
OT_ERROR_INVALID_ARGS
TTL yapılandırması geçerli değil.

Kaynaklar

OpenThread API Referans konuları, GitHub'da bulunan kaynak koddan gelir. Daha fazla bilgi edinmek veya dokümanlarımıza katkıda bulunmak için Kaynaklar bölümüne bakın.