ש"ח

המודול הזה כולל פונקציות ששולטות בהתנהגות של לקוחות SRP.

סיכום

מודול זה כולל פונקציות של פרוטוקול רישום השירות.

המודול הזה כולל פונקציות עבור מאגר נתונים זמני של לקוח SRP ומאגר שירותים.

הפונקציות במודול הזה זמינות רק כשהתכונה OPEN__FIFIG_SRP_CLIENT_BUFFERS_ENABLE מופעלת.

מספור

anonymous enum{
  OT_SRP_SERVER_SERVICE_FLAG_BASE_TYPE = 1 << 0,
  OT_SRP_SERVER_SERVICE_FLAG_SUB_TYPE = 1 << 1,
  OT_SRP_SERVER_SERVICE_FLAG_ACTIVE = 1 << 2,
  OT_SRP_SERVER_SERVICE_FLAG_DELETED = 1 << 3
}
טיפוסים בני מנייה (enum)
anonymous enum{
  OT_SRP_SERVER_FLAGS_ANY_SERVICE = (OT_SRP_SERVER_SERVICE_FLAG_BASE_TYPE | OT_SRP_SERVER_SERVICE_FLAG_SUB_TYPE | OT_SRP_SERVER_SERVICE_FLAG_ACTIVE | OT_SRP_SERVER_SERVICE_FLAG_DELETED),
  OT_SRP_SERVER_FLAGS_BASE_TYPE_SERVICE_ONLY = (OT_SRP_SERVER_SERVICE_FLAG_BASE_TYPE | OT_SRP_SERVER_SERVICE_FLAG_ACTIVE | OT_SRP_SERVER_SERVICE_FLAG_DELETED),
  OT_SRP_SERVER_FLAGS_SUB_TYPE_SERVICE_ONLY = (OT_SRP_SERVER_SERVICE_FLAG_SUB_TYPE | OT_SRP_SERVER_SERVICE_FLAG_ACTIVE | OT_SRP_SERVER_SERVICE_FLAG_DELETED),
  OT_SRP_SERVER_FLAGS_ANY_TYPE_ACTIVE_SERVICE = (OT_SRP_SERVER_SERVICE_FLAG_BASE_TYPE | OT_SRP_SERVER_SERVICE_FLAG_SUB_TYPE | OT_SRP_SERVER_SERVICE_FLAG_ACTIVE),
  OT_SRP_SERVER_FLAGS_ANY_TYPE_DELETED_SERVICE = (OT_SRP_SERVER_SERVICE_FLAG_BASE_TYPE | OT_SRP_SERVER_SERVICE_FLAG_SUB_TYPE | OT_SRP_SERVER_SERVICE_FLAG_ACTIVE)
}
טיפוסים בני מנייה (enum)
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 (מידע על השירות או המארח).
otSrpServerAddressMode{
  OT_SRP_SERVER_ADDRESS_MODE_UNICAST = 0,
  OT_SRP_SERVER_ADDRESS_MODE_ANYCAST = 1
}
טיפוסים בני מנייה (enum)
ספירה זו מייצגת את מצב הכתובת שנעשה בו שימוש על ידי שרת SRP.
otSrpServerState{
  OT_SRP_SERVER_STATE_DISABLED = 0,
  OT_SRP_SERVER_STATE_RUNNING = 1,
  OT_SRP_SERVER_STATE_STOPPED = 2
}
טיפוסים בני מנייה (enum)
מייצג את המצב של שרת SRP.

סוג Dedef

otSrpClientAutoStartCallback)(const otSockAddr *aServerSockAddr, void *aContext) Typedef
void(*
הסוג הזה של מצביע הפונקציה מגדיר את הקריאה החוזרת (callback) המשמשת את לקוח ה-SRP כדי להודיע למשתמש כשהוא מתחיל לפעול באופן אוטומטי או מפסיק.
otSrpClientBuffersServiceEntry Typedef
מבנה זה מייצג כניסה למאגר שירות לקוחות של SRP.
otSrpClientCallback)(otError aError, const otSrpClientHostInfo *aHostInfo, const otSrpClientService *aServices, const otSrpClientService *aRemovedServices, void *aContext) Typedef
void(*
סוג מצביע הפונקציות הזה מגדיר את הקריאה החוזרת (callback) המשמשת את לקוח ה-SRP כדי להודיע למשתמש על שינויים/אירועים/שגיאות.
otSrpClientHostInfo Typedef
מבנה זה מייצג מידע על מארח SRP של לקוח.
otSrpClientService Typedef
המבנה הזה מייצג שירות לקוחות של SRP.
otSrpServerAddressMode Typedef
ספירה זו מייצגת את מצב הכתובת שנעשה בו שימוש על ידי שרת SRP.
otSrpServerHost Typedef
סוג אטום זה מייצג מארח של SRP.
otSrpServerLeaseConfig Typedef
מבנה זה כולל הגדרות SRP של שרת LEASE ו-KEY-LEASE.
otSrpServerLeaseInfo Typedef
המבנה הזה כולל פרטי חכירה של שרת SRP של מארח/שירות.
otSrpServerResponseCounters Typedef
המבנה הזה כולל נתונים סטטיסטיים של תגובות שרת SRP.
otSrpServerService Typedef
סוג אטום זה מייצג שירות SRP.
otSrpServerServiceFlags Typedef
uint8_t
הסוג של סימון השירות כדי לציין אילו שירותים לכלול או לא לכלול בעת חיפוש ברשימת שירותי SRP (או איטרציה שלה).
otSrpServerServiceUpdateHandler)(otSrpServerServiceUpdateId aId, const otSrpServerHost *aHost, uint32_t aTimeout, void *aContext) Typedef
void(*
פונקציה זו מטפלת בעדכונים של שירות SRP.
otSrpServerServiceUpdateId Typedef
uint32_t
המזהה של עסקת עדכון שירות SRP בשרת SRP.
otSrpServerTtlConfig Typedef
המבנה הזה כולל תצורות TTL של שרת SRP.

פונקציות

otSrpClientAddService(otInstance *aInstance, otSrpClientService *aService)
פונקציה זו מוסיפה שירות שיירשם בשרת.
otSrpClientBuffersAllocateService(otInstance *aInstance)
פונקציה זו מקצה ערך שירות חדש מהמאגר.
otSrpClientBuffersFreeAllServices(otInstance *aInstance)
void
הפונקציה הזו מאפשרת שחרור של כל רשומות השירות שהוקצו בעבר.
otSrpClientBuffersFreeService(otInstance *aInstance, otSrpClientBuffersServiceEntry *aService)
void
פונקציה זו מאפשרת הזנה של ערך שירות שהוקצה בעבר.
otSrpClientBuffersGetHostAddressesArray(otInstance *aInstance, uint8_t *aArrayLength)
פונקציה זו מקבלת את מערך הרשומות של כתובת IPv6 לשימוש כרשימת כתובות של לקוחות SRP.
otSrpClientBuffersGetHostNameString(otInstance *aInstance, uint16_t *aSize)
char *
פונקציה זו מקבלת את מאגר הנתונים הזמני (escape) שבו ניתן להשתמש עבור שם מארח של SRP.
otSrpClientBuffersGetServiceEntryInstanceNameString(otSrpClientBuffersServiceEntry *aEntry, uint16_t *aSize)
char *
פונקציה זו מקבלת את מאגר הנתונים הזמני של שם המופע של השירות מרשומת שירות.
otSrpClientBuffersGetServiceEntryServiceNameString(otSrpClientBuffersServiceEntry *aEntry, uint16_t *aSize)
char *
פונקציה זו מקבלת את מאגר הנתונים הזמני של שם השירות מרשומת שירות.
otSrpClientBuffersGetServiceEntryTxtBuffer(otSrpClientBuffersServiceEntry *aEntry, uint16_t *aSize)
uint8_t *
פונקציה זו מקבלת את מאגר הנתונים עבור רשומת TXT מרשומת שירות.
otSrpClientBuffersGetSubTypeLabelsArray(otSrpClientBuffersServiceEntry *aEntry, uint16_t *aArrayLength)
const char **
פונקציה זו מקבלת את מערך התוויות של סוג המשנה של השירות מרשומת השירות.
otSrpClientClearHostAndServices(otInstance *aInstance)
void
פונקציה זו מנקה את כל פרטי המארחים וכל השירותים.
otSrpClientClearService(otInstance *aInstance, otSrpClientService *aService)
פונקציה זו מנקה שירות, ומסירה אותו מיידית מרשימת השירותים של הלקוח.
otSrpClientDisableAutoStartMode(otInstance *aInstance)
void
פונקציה זו משביתה את מצב ההפעלה האוטומטית.
otSrpClientEnableAutoHostAddress(otInstance *aInstance)
פונקציה זו מפעילה את מצב הכתובת האוטומטית של המארח.
otSrpClientEnableAutoStartMode(otInstance *aInstance, otSrpClientAutoStartCallback aCallback, void *aContext)
void
פונקציה זו מאפשרת להפעיל את מצב ההפעלה האוטומטית.
otSrpClientGetDomainName(otInstance *aInstance)
const char *
פונקציה זו מקבלת את שם הדומיין שנמצא בשימוש על ידי לקוח SRP.
otSrpClientGetHostInfo(otInstance *aInstance)
הפונקציה הזו מקבלת את פרטי המארח.
otSrpClientGetKeyLeaseInterval(otInstance *aInstance)
uint32_t
פונקציה זו מקבלת את מרווח החכירה המרכזי המשמש בבקשות לעדכון של SRP.
otSrpClientGetLeaseInterval(otInstance *aInstance)
uint32_t
פונקציה זו מקבלת את מרווח החכירה המשמש בבקשות עדכון של SRP.
otSrpClientGetServerAddress(otInstance *aInstance)
const otSockAddr *
פונקציה זו מקבלת את כתובת השקע (כתובת IPv6 ומספר היציאה) של שרת SRP המשמש את לקוח SRP.
otSrpClientGetServices(otInstance *aInstance)
פונקציה זו מקבלת את רשימת השירותים שמנוהלים על ידי הלקוח.
otSrpClientGetTtl(otInstance *aInstance)
uint32_t
פונקציה זו מקבלת את הערך TTL בכל רשומה שכלולה בבקשות עדכון של SRP.
otSrpClientIsAutoStartModeEnabled(otInstance *aInstance)
bool
פונקציה זו מציינת את המצב הנוכחי של מצב הפעלה אוטומטית (מופעל או מושבת).
otSrpClientIsRunning(otInstance *aInstance)
bool
פונקציה זו מציינת אם לקוח ה-SRP פועל או לא.
otSrpClientIsServiceKeyRecordEnabled(otInstance *aInstance)
bool
שיטה זו מציינת אם המצב ' "רשומת שירות מפתח' נכלל או מושבת.
otSrpClientItemStateToString(otSrpClientItemState aItemState)
const char *
פונקציה זו ממירה otSrpClientItemState למחרוזת.
otSrpClientRemoveHostAndServices(otInstance *aInstance, bool aRemoveKeyLease, bool aSendUnregToServer)
פונקציה זו מתחילה את תהליך ההסרה של פרטי המארח ושל כל השירותים.
otSrpClientRemoveService(otInstance *aInstance, otSrpClientService *aService)
פונקציה זו מבקשת ביטול רישום של שירות באמצעות השרת.
otSrpClientSetCallback(otInstance *aInstance, otSrpClientCallback aCallback, void *aContext)
void
פונקציה זו מגדירה את הקריאה החוזרת (callback) כדי לעדכן את המתקשר לגבי אירועים/שינויים מלקוח SRP.
otSrpClientSetDomainName(otInstance *aInstance, const char *aName)
פונקציה זו מגדירה את שם הדומיין שישמש את הלקוח SRP.
otSrpClientSetHostAddresses(otInstance *aInstance, const otIp6Address *aIp6Addresses, uint8_t aNumAddresses)
פונקציה זו מגדירה/מעדכנים את רשימת כתובות ה-IPv6 של המארח.
otSrpClientSetHostName(otInstance *aInstance, const char *aName)
פונקציה זו מגדירה את התווית של שם המארח.
otSrpClientSetKeyLeaseInterval(otInstance *aInstance, uint32_t aInterval)
void
פונקציה זו מגדירה את מרווח החכירה המרכזי המשמש בבקשות לעדכון של SRP.
otSrpClientSetLeaseInterval(otInstance *aInstance, uint32_t aInterval)
void
פונקציה זו מגדירה את מרווח השכירות המשמש בבקשות עדכון של SRP.
otSrpClientSetServiceKeyRecordEnabled(otInstance *aInstance, bool aEnabled)
void
פונקציה זו מאפשרת להפעיל או להשבית את מצב ה&הכללה; רשומת שירות מפתח.
otSrpClientSetTtl(otInstance *aInstance, uint32_t aTtl)
void
פונקציה זו מגדירה את הערך TTL בכל רשומה שכלולה בבקשות עדכון של SRP.
otSrpClientStart(otInstance *aInstance, const otSockAddr *aServerSockAddr)
פונקציה זו מתחילה את הפעולה של לקוח SRP.
otSrpClientStop(otInstance *aInstance)
void
פונקציה זו מפסיקה את פעולת הלקוח של SRP.
otSrpServerGetAddressMode(otInstance *aInstance)
פונקציה זו מחזירה את מצב הכתובת שבו משתמש שרת SRP.
otSrpServerGetAnycastModeSequenceNumber(otInstance *aInstance)
uint8_t
פונקציה זו מחזירה את מספר הרצף שבו נעשה שימוש בכל מצב של כתובת Castcast.
otSrpServerGetDomain(otInstance *aInstance)
const char *
פונקציה זו מחזירה את הדומיין המורשה לשרת ה-SRP.
otSrpServerGetLeaseConfig(otInstance *aInstance, otSrpServerLeaseConfig *aLeaseConfig)
void
פונקציה זו מחזירה את הגדרות SRP של שרת LEASE ו-KEY-LEASE.
otSrpServerGetNextHost(otInstance *aInstance, const otSrpServerHost *aHost)
const otSrpServerHost *
פונקציה זו מחזירה את המארח הרשום הבא בשרת SRP.
otSrpServerGetPort(otInstance *aInstance)
uint16_t
הפונקציה הזו מחזירה את היציאה ששרת ה-SRP מאזין אליה.
otSrpServerGetResponseCounters(otInstance *aInstance)
פונקציה זו מחזירה את מוני התגובות של שרת ה-SRP.
otSrpServerGetState(otInstance *aInstance)
פונקציה זו מחזירה את מצב שרת ה-SRP.
otSrpServerGetTtlConfig(otInstance *aInstance, otSrpServerTtlConfig *aTtlConfig)
void
פונקציה זו מחזירה את תצורת ה-TTL של שרת ה-SRP.
otSrpServerHandleServiceUpdateResult(otInstance *aInstance, otSrpServerServiceUpdateId aId, otError aError)
void
פונקציה זו מדווחת על התוצאה של עיבוד עדכון SRP לשרת ה-SRP.
otSrpServerHostFindNextService(const otSrpServerHost *aHost, const otSrpServerService *aPrevService, otSrpServerServiceFlags aFlags, const char *aServiceName, const char *aInstanceName)
הפונקציה מוצאת את השירות התואם הבא במארח.
otSrpServerHostGetAddresses(const otSrpServerHost *aHost, uint8_t *aAddressesNum)
const otIp6Address *
פונקציה זו מחזירה את הכתובת של המארח הנתון.
otSrpServerHostGetFullName(const otSrpServerHost *aHost)
const char *
פונקציה זו מחזירה את השם המלא של המארח.
otSrpServerHostGetLeaseInfo(const otSrpServerHost *aHost, otSrpServerLeaseInfo *aLeaseInfo)
void
פונקציה זו מחזירה את המידע LEASE ו-KEY-LEASE של מארח נתון.
otSrpServerHostGetNextService(const otSrpServerHost *aHost, const otSrpServerService *aService)
פונקציה זו מחזירה את השירות הבא (לא כולל שירותים מסוג משנה) של מארח נתון.
otSrpServerHostIsDeleted(const otSrpServerHost *aHost)
bool
פונקציה זו מציינת אם מארח שירות ה-SRP נמחק.
otSrpServerServiceGetFullName(const otSrpServerService *aService)
const char *
פונקציה זו מחזירה את השם המלא של מופע השירות של השירות.
otSrpServerServiceGetHost(const otSrpServerService *aService)
const otSrpServerHost *
פונקציה זו מחזירה את המארח שבו שוכן מופע השירות.
otSrpServerServiceGetInstanceName(const otSrpServerService *aService)
const char *
פונקציה זו מחזירה את השם המלא של מופע השירות של השירות.
otSrpServerServiceGetLeaseInfo(const otSrpServerService *aService, otSrpServerLeaseInfo *aLeaseInfo)
void
פונקציה זו מחזירה את המידע LEASE ו-KEY-LEASE של שירות נתון.
otSrpServerServiceGetPort(const otSrpServerService *aService)
uint16_t
פונקציה זו מחזירה את היציאה של מופע השירות.
otSrpServerServiceGetPriority(const otSrpServerService *aService)
uint16_t
פונקציה זו מחזירה את העדיפות של מופע השירות.
otSrpServerServiceGetServiceName(const otSrpServerService *aService)
const char *
פונקציה זו מחזירה את שם השירות המלא.
otSrpServerServiceGetServiceSubTypeLabel(const otSrpServerService *aService, char *aLabel, uint8_t aMaxSize)
פונקציה זו מקבלת את תווית סוג המשנה משם השירות.
otSrpServerServiceGetTtl(const otSrpServerService *aService)
uint32_t
פונקציה זו מחזירה את ה-TTL של מופע השירות.
otSrpServerServiceGetTxtData(const otSrpServerService *aService, uint16_t *aDataLength)
const uint8_t *
פונקציה זו מחזירה את נתוני רשומת ה-TXT של מופע השירות.
otSrpServerServiceGetWeight(const otSrpServerService *aService)
uint16_t
פונקציה זו מחזירה את המשקל של מופע השירות.
otSrpServerServiceIsDeleted(const otSrpServerService *aService)
bool
פונקציה זו מציינת אם שירות SRP נמחק או לא.
otSrpServerServiceIsSubType(const otSrpServerService *aService)
bool
פונקציה זו מציינת אם שירות SRP הוא סוג משנה.
otSrpServerSetAddressMode(otInstance *aInstance, otSrpServerAddressMode aMode)
פונקציה זו מגדירה את מצב הכתובת לשימוש על ידי שרת SRP.
otSrpServerSetAnycastModeSequenceNumber(otInstance *aInstance, uint8_t aSequenceNumber)
פונקציה זו מגדירה את מספר הרצף שבו נעשה שימוש בכל מצב של כתובת כלשהי.
otSrpServerSetDomain(otInstance *aInstance, const char *aDomain)
פונקציה זו מגדירה את הדומיין בשרת SRP.
otSrpServerSetEnabled(otInstance *aInstance, bool aEnabled)
void
פונקציה זו מפעילה או משביתה את שרת ה-SRP.
otSrpServerSetLeaseConfig(otInstance *aInstance, const otSrpServerLeaseConfig *aLeaseConfig)
הפונקציה הזו מגדירה את הגדרות SRP של שרת LEASE ו-KEY-LEASE.
otSrpServerSetServiceUpdateHandler(otInstance *aInstance, otSrpServerServiceUpdateHandler aServiceHandler, void *aContext)
void
פונקציה זו מגדירה את ה-handler של עדכוני השירות של SRP בשרת SRP.
otSrpServerSetTtlConfig(otInstance *aInstance, const otSrpServerTtlConfig *aTtlConfig)
פונקציה זו מגדירה את תצורת ה-TTL של שרת ה-SRP.

מבנים

otSrpClientBuffersServiceEntry

מבנה זה מייצג כניסה למאגר שירות לקוחות של SRP.

otSrpClientHostInfo

מבנה זה מייצג מידע על מארח SRP של לקוח.

otSrpClientService

המבנה הזה מייצג שירות לקוחות של SRP.

otSrpServerLeaseConfig

מבנה זה כולל הגדרות SRP של שרת LEASE ו-KEY-LEASE.

otSrpServerLeaseInfo

המבנה הזה כולל פרטי חכירה של שרת SRP של מארח/שירות.

otSrpServerResponseCounters

המבנה הזה כולל נתונים סטטיסטיים של תגובות שרת SRP.

otSrpServerTtlConfig

המבנה הזה כולל תצורות TTL של שרת SRP.

מספור

Enum אנונימי

 anonymous enum
מאפיינים
OT_SRP_SERVER_SERVICE_FLAG_ACTIVE

יש לכלול שירותים פעילים (שלא נמחקו).

OT_SRP_SERVER_SERVICE_FLAG_BASE_TYPE

הכללה של שירותי בסיס (לא סוג משנה).

OT_SRP_SERVER_SERVICE_FLAG_DELETED

הכללת שירותים שנמחקו.

OT_SRP_SERVER_SERVICE_FLAG_SUB_TYPE

יש לכלול שירותים מסוג משנה.

Enum אנונימי

 anonymous enum
מאפיינים
OT_SRP_SERVER_FLAGS_ANY_SERVICE

הקבוע הזה מגדיר שילוב otSrpServerServiceFlags שמקבל כל שירות (בסיסי/סוג משנה, פעיל/נמחק).

OT_SRP_SERVER_FLAGS_ANY_TYPE_ACTIVE_SERVICE

הקבוע הזה מגדיר שילוב otSrpServerServiceFlags שמקבל כל שירות פעיל (לא נמחק).

OT_SRP_SERVER_FLAGS_ANY_TYPE_DELETED_SERVICE

הקבוע הזה מגדיר שילוב otSrpServerServiceFlags שמקבל שירות שנמחק.

OT_SRP_SERVER_FLAGS_BASE_TYPE_SERVICE_ONLY

הקבוע הזה מגדיר שילוב otSrpServerServiceFlags שמקבל שירות בסיס בלבד.

OT_SRP_SERVER_FLAGS_SUB_TYPE_SERVICE_ONLY

הקבוע הזה מגדיר שילוב מסוג otSrpServerServiceFlags שמקבל שירות מסוג משנה בלבד.

otSrpClientItemState

 otSrpClientItemState

בספירה הזו מצוין מצב הלקוח של ה-SRP (מידע על השירות או המארח).

מאפיינים
OT_SRP_CLIENT_ITEM_STATE_ADDING

הפריט מתווסף/רשום.

OT_SRP_CLIENT_ITEM_STATE_REFRESHING

הפריט עובר רענון.

OT_SRP_CLIENT_ITEM_STATE_REGISTERED

הפריט רשום בשרת.

OT_SRP_CLIENT_ITEM_STATE_REMOVED

הפריט הוסר.

OT_SRP_CLIENT_ITEM_STATE_REMOVING

מתבצעת הסרה של הפריט.

OT_SRP_CLIENT_ITEM_STATE_TO_ADD

הפריט שברצונך להוסיף/לרשום.

OT_SRP_CLIENT_ITEM_STATE_TO_REFRESH

הפריט לרענון (יש להירשם מחדש כדי לחדש את החכירה).

OT_SRP_CLIENT_ITEM_STATE_TO_REMOVE

יש להסיר את הפריט.

otSrpServerAddressMode

 otSrpServerAddressMode

ספירה זו מייצגת את מצב הכתובת שנעשה בו שימוש על ידי שרת SRP.

מצב כתובת קובע איך הכתובת ומספר היציאה נקבעים על ידי שרת ה-SRP, ואיך המידע הזה מתפרסם בנתוני הרשת של Thread.

מאפיינים
OT_SRP_SERVER_ADDRESS_MODE_ANYCAST

כל מצב של כתובת Anycast.

OT_SRP_SERVER_ADDRESS_MODE_UNICAST

ביטול שידור בכתובת.

otSrpServerState

 otSrpServerState

מייצג את המצב של שרת SRP.

מאפיינים
OT_SRP_SERVER_STATE_DISABLED

שרת ה-SRP מושבת.

OT_SRP_SERVER_STATE_RUNNING

שרת ה-SRP פועל.

OT_SRP_SERVER_STATE_STOPPED

שרת ה-SRP מופסק.

סוג Dedef

otSrpClientAutoStartCallback

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

הסוג הזה של מצביע הפונקציה מגדיר את הקריאה החוזרת (callback) המשמשת את לקוח ה-SRP כדי להודיע למשתמש כשהוא מתחיל לפעול באופן אוטומטי או מפסיק.

נעשה שימוש במאפיין הזה רק כשתכונת ההפעלה האוטומטית OPENTHREAD_CONFIG_SRP_CLIENT_AUTO_START_API_ENABLE מופעלת.

קריאה חוזרת זו מופעלת כשמצב ההפעלה האוטומטית מופעל ולקוח SRP מופעל או מפסיק באופן אוטומטי.

פרטים
פרמטרים
[in] aServerSockAddr
מצביע שאינו NULL מציין ששרת SRP התחיל ומצביע ייתן את כתובת שקע השרת שנבחרה. מצביע NULL מציין ששרת SRP הופסק.
[in] aContext
מצביע להקשר שרירותי (בתנאי שהשיחה החוזרת נרשמה).

otSrpClientBuffersServiceEntry

struct otSrpClientBuffersServiceEntry otSrpClientBuffersServiceEntry

מבנה זה מייצג כניסה למאגר שירות לקוחות של SRP.

otSrpClientCallback

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

סוג מצביע הפונקציות הזה מגדיר את הקריאה החוזרת (callback) המשמשת את לקוח ה-SRP כדי להודיע למשתמש על שינויים/אירועים/שגיאות.

קריאה חוזרת זו מופעלת ברישום מוצלח של עדכון (כלומר, הוספה/הסרה של פרטי מארח ו/או שירותים מסוימים) באמצעות שרת SRP, או אם יש כשל או שגיאה (למשל, שרת דוחה בקשת עדכון או זמן קצוב לתפוגה של לקוח הממתין לתגובה וכו').

במקרה של עדכון מוצלח של עדכון, הפרמטר aError יהיה OT_ERROR_NONE והמידע מהמארח ורשימת השירותים המלאה יסופקו כפרמטרים של קלט לקריאה חוזרת (callback). הערה: המידע והשירותים של המארח עוקבים אחר המצב שלהם במשתנה המתאים בחברת mState, של מבנה הנתונים הקשור (המצב הזה מציין אם המידע/השירות של המארח רשום או הוסר, או עדיין מתווסף/הוסר וכו').

רשימת השירותים שהוסרו מועברת כרשימה חוזרת aRemovedServices של קריאה חוזרת (callback). חשוב לשים לב שכאשר השיחה החוזרת מופעלת, לקוח SRP (הטמעת OpenThread) מתבצע עם מופעים של שירות שהוסרו ב-aRemovedServices וכבר לא עוקב / מאחסן אותם (כלומר, אם בהתקשרות החוזרת אנחנו קוראים ל-otSrpClientGetServices() השירותים שהוסרו לא יופיעו ברשימה המוחזרת). הוספה של רשימה נפרדת של שירותים שהוסרו בקריאה חוזרת (callback) עוזרת לציין למשתמשים אילו פריטים הוסרו עכשיו, ולאפשר למשתמש לתבוע בעלות מחדש על המופעים או לעשות בהם שימוש חוזר.

אם השרת דוחה בקשת עדכון של SRP, קוד התגובה של DNS (RFC 2136) ממופה אל השגיאות הבאות:

  • (0) NOERROR הצליח (ללא תנאי שגיאה) -> OT_ERROR_NONE
  • (1) לא ניתן לפענח את שרת FORMERR בגלל שגיאת פורמט -> OT_ERROR_PARSE
  • (2) שרת SERVFAIL נתקל בכשל פנימי -> OT_ERROR_FAILED
  • (3) שם NXDOMAIN שהיה צריך להתקיים -> OT_ERROR_NOT_FOUND
  • (4) שרת IIMP אינו תומך בסוג השאילתה (OpCode) -> OT_ERROR_NOT_IMPLEMENTED
  • (5) השרת REFUSED נדחה מסיבות הקשורות למדיניות/אבטחה-> OT_ERROR_SECURITY
  • (6) YXDOMAIN שם שלא היה קיים – > OT_ERROR_DUPLICATED
  • (7) YXRRSET כמה RRset שלא אמור להיות קיים, קיים -> OT_ERROR_DUPLICATED
  • (8) NXRRSET כמה RRset שאמורה להיות קיימת, לא קיימת -> OT_ERROR_NOT_FOUND
  • (9) שירות NOTAUTH אינו מורשה לאזור > OT_ERROR_SECURITY
  • (10) NOTZONE שם אינו באזור -> OT_ERROR_PARSE
  • (20) שם פגום -> OT_ERROR_PARSE
  • (21) אלגוריתם פגום – > OT_ERROR_SECURITY
  • (22) גזירה לא תקינה -> OT_ERROR_PARSE
  • קודי תגובה אחרים -> OT_ERROR_FAILED

קיימות גם השגיאות הבאות:

  • OT_ERROR_EXPERIMENT_MINUTE : פג הזמן הקצוב להמתנה לתשובה מהשרת (הלקוח ימשיך לנסות שוב).
  • OT_ERROR_INVALID_ARGS : מבנה השירות שסופק אינו חוקי (למשל, שם שירות שגוי או otDnsTxtEntry).
  • OT_ERROR_NO_BUFS : מאגר מספיק לא מספיק כדי להכין או לשלוח את הודעת העדכון.

חשוב לשים לב שבמקרה של כישלון, הלקוח ממשיך בפעולה, כלומר הוא מתכונן ו (מעביר) את הודעת העדכון של SRP לשרת, לאחר פרק זמן מסוים של המתנה. מרווח ההמתנה לניסיון חוזר מתחיל מהערך המינימלי, ומוגדל על ידי גורם הצמיחה לכל כשל עד לערך המקסימלי (למידע נוסף, יש לעיין בפרמטר התצורה OPENTHREAD_CONFIG_SRP_CLIENT_MIN_RETRY_WAIT_INTERVAL ובפרמטרים הקשורים).

פרטים
פרמטרים
[in] aError
השגיאה (ראו למעלה).
[in] aHostInfo
מצביע לאירוח המידע.
[in] aServices
הראש של הרשימה המקושרת המכילה את כל השירותים (לא כולל אלה שהוסרו). NULL אם הרשימה ריקה.
[in] aRemovedServices
הראש של הרשימה המקושרת שמכיל את כל השירותים שהוסרו. NULL אם הרשימה ריקה.
[in] aContext
מצביע להקשר שרירותי (בתנאי שהשיחה החוזרת נרשמה).

otSrpClientHostInfo

struct otSrpClientHostInfo otSrpClientHostInfo

מבנה זה מייצג מידע על מארח SRP של לקוח.

otSrpClientService

struct otSrpClientService otSrpClientService

המבנה הזה מייצג שירות לקוחות של SRP.

הערכים במבנה הזה, כולל מאגרי הנתונים הזמניים של השמות ורשומות ה-TXT, חייבים להישאר קבועים ולהישאר עקביים אחרי מופע של מבנה זה ומועבר ל-OpenThread מ-otSrpClientAddService() או מ-otSrpClientRemoveService().

otSrpServerAddressMode

enum otSrpServerAddressMode otSrpServerAddressMode

ספירה זו מייצגת את מצב הכתובת שנעשה בו שימוש על ידי שרת SRP.

מצב כתובת קובע איך הכתובת ומספר היציאה נקבעים על ידי שרת ה-SRP, ואיך המידע הזה מתפרסם בנתוני הרשת של Thread.

otSrpServerHost

struct otSrpServerHost otSrpServerHost

סוג אטום זה מייצג מארח של SRP.

otSrpServerLeaseConfig

struct otSrpServerLeaseConfig otSrpServerLeaseConfig

מבנה זה כולל הגדרות SRP של שרת LEASE ו-KEY-LEASE.

otSrpServerLeaseInfo

struct otSrpServerLeaseInfo otSrpServerLeaseInfo

המבנה הזה כולל פרטי חכירה של שרת SRP של מארח/שירות.

otSrpServerResponseCounters

struct otSrpServerResponseCounters otSrpServerResponseCounters

המבנה הזה כולל נתונים סטטיסטיים של תגובות שרת SRP.

otSrpServerService

struct otSrpServerService otSrpServerService

סוג אטום זה מייצג שירות SRP.

otSrpServerServiceFlags

uint8_t otSrpServerServiceFlags

הסוג של סימון השירות כדי לציין אילו שירותים לכלול או לא לכלול בעת חיפוש ברשימת שירותי SRP (או איטרציה שלה).

זהו שילוב של הסימונים. הסימונים הספציפיים לביטים מוגדרים בספירה OT_SRP_SERVER_FLAG_*.

otSrpServerServiceUpdateHandler

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

פונקציה זו מטפלת בעדכונים של שירות SRP.

הפונקציה הזו נשלחת על ידי שרת SRP כדי להודיע שמארח SRP ואולי גם שירותי SRP מתעדכנים. חשוב שהעדכונים של SRP לא יבוצעו עד שה-handler יחזיר את התוצאה על ידי קריאה ל-otSrpServerHandleServiceUpdateResult או שיפוג הזמן הקצוב אחרי aTimeout.

בעל הרשאת צפייה בשירות SRP צריך תמיד לקרוא ל-otSrpServerHandleServiceUpdateResult עם קוד השגיאה OT_ERROR_NONE מיד אחרי קבלת אירועי העדכון.

handler כללי יותר עשוי לבצע אימותים במארח/שירותים של SRP ולדחות את עדכוני ה-SRP אם אימות כלשהו נכשל. לדוגמה, שרת proxy לפרסום צריך לפרסם (או להסיר) את המארח והשירותים בקישור המותאם לריבוי שידורים, ומחזיר קוד שגיאה ספציפי במקרה של כשל.

פרטים
פרמטרים
[in] aId
מזהה העסקה של עדכון השירות. יש להעביר את המזהה הזה חזרה באמצעות otSrpServerHandleServiceUpdateResult.
[in] aHost
מצביע לאובייקט otSrpServerHost המכיל את עדכוני ה-SRP. ה-handler צריך לפרסם/לבטל את הפרסום של המארח וכל שירות מפנה אל המארח הזה עם הכללים הבאים:
  1. אם המארח לא נמחק (מופיע ב-otSrpServerHostIsDeleted), יש לפרסם אותו או לעדכן אותו באמצעות mDNS. אם לא, יש לבטל את הפרסום של המארח (הסרה של RAA ל-AAAA).
  2. עבור כל שירות המפנה למארח זה, יש לבטל את הפרסום שלו אם יש לבטל את פרסום המארח. אם לא, ה-handler צריך לפרסם או לעדכן את השירות כשלא נמחק (מופיע ב-otSrpServerServiceIsDeleted) ולבטל את הפרסום שלו כשהוא נמחק.
[in] aTimeout
הזמן המקסימלי באלפיות שנייה של ה-handler לעיבוד אירוע השירות.
[in] aContext
מצביע על הקשר ספציפי לאפליקציה.
להצגת גם:
otSrpServerSetServiceServiceHandler
otSrpServerHandleServiceUpdateResult

otSrpServerServiceUpdateId

uint32_t otSrpServerServiceUpdateId

המזהה של עסקת עדכון שירות SRP בשרת SRP.

otSrpServerTtlConfig

struct otSrpServerTtlConfig otSrpServerTtlConfig

המבנה הזה כולל תצורות TTL של שרת SRP.

פונקציות

otSrpClientAddService

otError otSrpClientAddService(
  otInstance *aInstance,
  otSrpClientService *aService
)

פונקציה זו מוסיפה שירות שיירשם בשרת.

לאחר קריאה מוצלחת לפונקציה הזו, otSrpClientCallback יתקשר כדי לדווח על הסטטוס של הוספת השירות או הרישום שלו לשרת SRP.

המופע של otSrpClientService שאליו מצביע aService חייב להישאר ללא שינוי לאחר חזרה מהפונקציה (עם OT_ERROR_NONE). OpenOpen תשמור את הסמן במופע השירות.

המכונה otSrpClientService לא במעקב יותר על ידי OpenThread ואפשר לבטל אותה רק כשאפשר

פרטים
פרמטרים
[in] aInstance
מצביע אל המופע של OpenThread.
[in] aService
מצביע למופע של otSrpClientService להוספה.
ערכי החזרה
OT_ERROR_NONE
הוספת השירות התחילה בהצלחה. נציג של otSrpClientCallback יתקשר כדי לדווח על הסטטוס.
OT_ERROR_ALREADY
כבר יש ברשימה שירות עם אותם שמות שירות ומופעים.
OT_ERROR_INVALID_ARGS
מבנה השירות אינו חוקי (למשל, שם שירות שגוי או otDnsTxtEntry).

otSrpClientBuffersISOcateService

otSrpClientBuffersServiceEntry * otSrpClientBuffersAllocateService(
  otInstance *aInstance
)

פונקציה זו מקצה ערך שירות חדש מהמאגר.

מופע הזנת השירות שיוחזר יאופס כך:

  • mService.mName יפנה לאחסון זמני של מחרוזת מוקצית שניתן לאחזר באמצעות הפונקציה otSrpClientBuffersGetServiceEntryServiceNameString().
  • mService.mInstanceName יפנה לאחסון זמני של מחרוזת מוקצית שניתן לאחזר באמצעות הפונקציה otSrpClientBuffersGetServiceEntryInstanceNameString().
  • mService.mSubTypeLabels מפנה למערך שמוחזר מ-otSrpClientBuffersGetSubTypeLabelsArray().
  • mService.mTxtEntries יפנה אל mTxtEntry.
  • mService.mNumTxtEntries יוגדר לערך אחד.
  • שאר שדות mService (יציאה, עדיפות, משקל) הם אפס.
  • הערך של mTxtEntry.mKey מוגדר ל-NULL (ההתייחסות לערך היא שכבר מקודד).
  • mTxtEntry.mValue יפנה לאחסון זמני מוקצה שניתן לאחזר באמצעות הפונקציה otSrpClientBuffersGetServiceEntryTxtBuffer().
  • הערך של mTxtEntry.mValueLength מוגדר לאפס.
  • כל הנתונים ומערך הנתונים הזמניים של המחרוזת או מאגרי הנתונים נוקו לאפס.

פרטים
פרמטרים
[in] aInstance
מצביע אל המופע של OpenThread.
החזרות
מצביע על כניסה לשירות חדש שהוקצה או NULL אם אין רשומות נוספות זמינות בבריכה.

otSrpClientBuffersFreeAllServices

void otSrpClientBuffersFreeAllServices(
  otInstance *aInstance
)

הפונקציה הזו מאפשרת שחרור של כל רשומות השירות שהוקצו בעבר.

פרטים
פרמטרים
[in] aInstance
מצביע אל המופע של OpenThread.

otSrpClientBuffersFreeService

void otSrpClientBuffersFreeService(
  otInstance *aInstance,
  otSrpClientBuffersServiceEntry *aService
)

פונקציה זו מאפשרת הזנה של ערך שירות שהוקצה בעבר.

יש להקצות את aService בעבר באמצעות otSrpClientBuffersAllocateService() ועדיין לא שוחרר. אחרת, התנהגות הפונקציה הזו אינה מוגדרת.

פרטים
פרמטרים
[in] aInstance
מצביע אל המופע של OpenThread.
[in] aService
מצביע על כניסה לשירות בחינם (לא חייב להיות NULL).

otSrpClientBuffersGetHostUrlArray

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

פונקציה זו מקבלת את מערך הרשומות של כתובת IPv6 לשימוש כרשימת כתובות של לקוחות SRP.

פרטים
פרמטרים
[in] aInstance
מצביע אל המופע של OpenThread.
[out] aArrayLength
מצביעים על משתנה כדי להחזיר את אורך המערך, כלומר, מספר כתובות IPv6 במערך (לא חייב להיות NULL).
החזרות
מצביע למערך של otIp6Address רשומות (מספר הרשומות מוחזר ב-aArrayLength).

otSrpClientBuffersGetHostNameString

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

פונקציה זו מקבלת את מאגר הנתונים הזמני (escape) שבו ניתן להשתמש עבור שם מארח של SRP.

פרטים
פרמטרים
[in] aInstance
מצביע אל המופע של OpenThread.
[out] aSize
מציבים את הסמן על משתנה כדי להחזיר את הגודל (מספר הבייטים) של מאגר הנתונים הזמני (לא יכול להיות NULL).
החזרות
מצביע על אחסון במאגר נתונים זמני לשימוש בשם מארח SRP של לקוח.

otSrpClientBuffersGetServiceEntryInstanceNameString

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

פונקציה זו מקבלת את מאגר הנתונים הזמני של שם המופע של השירות מרשומת שירות.

פרטים
פרמטרים
[in] aEntry
מצביע על ערך שירות שהוקצה בעבר (לא חייב להיות NULL).
[out] aSize
מצביע למשתנה כדי להחזיר את הגודל (מספר הבייטים) של מאגר הנתונים הזמני (לא יכול להיות NULL).
החזרות
מצביע למאגר הנתונים של מחרוזת.

otSrpClientBuffersGetServiceEntryServiceNameString

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

פונקציה זו מקבלת את מאגר הנתונים הזמני של שם השירות מרשומת שירות.

פרטים
פרמטרים
[in] aEntry
מצביע על ערך שירות שהוקצה בעבר (לא חייב להיות NULL).
[out] aSize
מצביע למשתנה כדי להחזיר את הגודל (מספר הבייטים) של מאגר הנתונים הזמני (לא יכול להיות NULL).
החזרות
מצביע למאגר הנתונים של מחרוזת.

otSrpClientBuffersGetServiceEntryTxtBuffer

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

פונקציה זו מקבלת את מאגר הנתונים עבור רשומת TXT מרשומת שירות.

פרטים
פרמטרים
[in] aEntry
מצביע על ערך שירות שהוקצה בעבר (לא חייב להיות NULL).
[out] aSize
מצביע למשתנה כדי להחזיר את הגודל (מספר הבייטים) של מאגר הנתונים (לא חייב להיות NULL).
החזרות
מצביע למאגר.

otSrpClientBuffersGetSubTypeLabelsArray

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

פונקציה זו מקבלת את מערך התוויות של סוג המשנה של השירות מרשומת השירות.

פרטים
פרמטרים
[in] aEntry
מצביע על ערך שירות שהוקצה בעבר (לא חייב להיות NULL).
[out] aArrayLength
מצביע למשתנה כדי להחזיר את אורך המערך (חייב להיות לא NULL).
החזרות
מצביע למערך.

otSrpClientClearHostAndServices

void otSrpClientClearHostAndServices(
  otInstance *aInstance
)

פונקציה זו מנקה את כל פרטי המארחים וכל השירותים.

להבדיל מ-otSrpClientRemoveHostAndServices() ששולח עדכון לשרת כדי להסיר את כל המידע, הפונקציה הזו מנקה את כל המידע באופן מיידי ללא כל אינטראקציה עם השרת.

פרטים
פרמטרים
[in] aInstance
מצביע אל המופע של OpenThread.

otSrpClientClearService

otError otSrpClientClearService(
  otInstance *aInstance,
  otSrpClientService *aService
)

פונקציה זו מנקה שירות, ומסירה אותו מיידית מרשימת השירותים של הלקוח.

בשונה מ-otSrpClientRemoveService() ששולחת הודעת עדכון לשרת כדי להסיר את השירות, הפונקציה הזו מנקה את השירות מרשימת השירותים של הלקוח ללא כל אינטראקציה עם השרת. כשהקריאה לפונקציה הזו תתבצע בהצלחה, לא ניתן יהיה לבצע קריאה ל-otSrpClientCallback והפונקציה aService תוכל להחזיר את השיחה ולהשתמש בה שוב על ידי המתקשר באופן מיידי.

אפשר להשתמש בפונקציה הזאת יחד עם קריאה נוספת ל-otSrpClientAddService() (אפשר לעשות שימוש חוזר באותה רשומה aService עם אותם שמות שירות ומופעים) כדי לעדכן חלק מהפרמטרים בשירות קיים.

פרטים
פרמטרים
[in] aInstance
מצביע אל המופע של OpenThread.
[in] aService
מצביע למופע אחד (otSrpClientService) למחיקה.
ערכי החזרה
OT_ERROR_NONE
ה-aService נמחק בהצלחה. אפשר לדרוש אותו בחזרה ולהשתמש בו מיד.
OT_ERROR_NOT_FOUND
השירות לא נמצא ברשימה.

otSrpClientDisableAutoStartMode

void otSrpClientDisableAutoStartMode(
  otInstance *aInstance
)

פונקציה זו משביתה את מצב ההפעלה האוטומטית.

אפשרות זו זמינה רק כשתכונת ההפעלה האוטומטית OPENTHREAD_CONFIG_SRP_CLIENT_AUTO_START_API_ENABLE מופעלת.

השבתת מצב ההפעלה האוטומטית לא תעצור את הלקוח אם הוא כבר פועל, אבל הלקוח יפסיק לעקוב אחר נתוני רשת השרשורים כדי לוודא ששרת ה-SRP שנבחר עדיין נמצא בו.

חשוב לשים לב שקריאה ל-otSrpClientStop() תשבית גם את מצב ההפעלה האוטומטית.

פרטים
פרמטרים
[in] aInstance
מצביע אל המופע של OpenThread.

otSrpClientEnableAutoHostAddress

otError otSrpClientEnableAutoHostAddress(
  otInstance *aInstance
)

פונקציה זו מפעילה את מצב הכתובת האוטומטית של המארח.

כשמופעלות כתובות IPv6 של המארח, לקוחות SRP מוגדרים באופן אוטומטי על ידי שימוש בכל כתובות ה-unicast ב-thread של netif, למעט כל הכתובות מסוג link-local ורשת המדיה המקומית. אם אין כתובת חוקית, תתווסף כתובת Mesh Local EID. לקוח SRP יירשם מחדש באופן אוטומטי כאשר/אם כתובות ב-Thread netif עודכנו (כתובות חדשות יתווספו או שכתובות קיימות יוסרו).

אפשר להפעיל את מצב הכתובת האוטומטית כמארח לפני הפעלה או במהלך הפעלה של לקוח SRP, אלא אם פרטי המארח מוסרים (הלקוח מטפל בבקשות להסרת בקשה משיחה אל otSrpClientRemoveHostAndServices() ופרטי המארח עדיין נמצאים במצב STATE_TO_REMOVE או במצב STATE_REMOVING).

לאחר שמצב 'כתובת מארח אוטומטית' מופעל, אפשר להשבית את ההגדרה הזו באמצעות שיחה אל otSrpClientSetHostAddresses(), שמגדירה באופן מפורש את כתובות המארח.

פרטים
ערכי החזרה
OT_ERROR_NONE
מצב כתובת מארח אוטומטי הופעל בהצלחה.
OT_ERROR_INVALID_STATE
אנחנו מסירים את המארח ולכן לא ניתן להפעיל את מצב 'כתובת מארח אוטומטית'.

otSrpClientEnableAutoStartMode

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

פונקציה זו מאפשרת להפעיל את מצב ההפעלה האוטומטית.

אפשרות זו זמינה רק כשתכונת ההפעלה האוטומטית OPENTHREAD_CONFIG_SRP_CLIENT_AUTO_START_API_ENABLE מופעלת.

אפשרות התצורה OPENTHREAD_CONFIG_SRP_CLIENT_AUTO_START_DEFAULT_MODE מציינת את מצב ברירת המחדל להפעלה אוטומטית (בין אם היא מופעלת או מושבתת בתחילת מחסנית OT).

אם ההפעלה האוטומטית מופעלת, לקוח ה-SRP יעקוב אחר נתוני הרשת של Threads עבור רשומות של שרת SRP ויפעיל ויעצר את הלקוח באופן אוטומטי אם יזוהה שרת SRP.

אם יימצאו מספר שרתי SRP, ייבחר שרת אקראי. אם שרת ה-SRP שנבחר לא יזוהה יותר (לא קיים יותר בנתוני הרשת של השרשור), לקוח ה-SRP ייעצר ולאחר מכן עשוי לעבור לשרת SRP אחר (אם זמין).

כשלקוח ה-SRP מתחיל בקריאה מוצלחת אל otSrpClientStart(), הכתובת של שרת ה-SRP הנתון ב-otSrpClientStart() תמשיך לשמש ללא קשר למצב של מצב ההפעלה האוטומטית, ואם אותה כתובת של שרת SRP נמצאה או לא בנתוני הרשת של השרשור. במקרה כזה, רק שיחת otSrpClientStop() מפורשת תפסיק את הלקוח.

פרטים
פרמטרים
[in] aInstance
מצביע אל המופע של OpenThread.
[in] aCallback
קריאה חוזרת (callback) כדי להודיע ללקוח שהלקוח התחיל או הפסיק באופן אוטומטי. אם אין צורך, אפשר לציין NULL.
[in] aContext
הקשר שצריך להפעיל כשמפעילים את aCallback.

otSrpClientGetDomainName

const char * otSrpClientGetDomainName(
  otInstance *aInstance
)

פונקציה זו מקבלת את שם הדומיין שנמצא בשימוש על ידי לקוח SRP.

כדי להפעיל את הפונקציה הזו צריך להפעיל את OPENTHREAD_CONFIG_SRP_CLIENT_DOMAIN_NAME_API_ENABLE.

אם שם הדומיין לא מוגדר, ייעשה שימוש ב-"default.service.arpa".

פרטים
פרמטרים
[in] aInstance
מצביע אל המופע של OpenThread.
החזרות
מחרוזת שם הדומיין.

otSrpClientGetHostInfo

const otSrpClientHostInfo * otSrpClientGetHostInfo(
  otInstance *aInstance
)

הפונקציה הזו מקבלת את פרטי המארח.

פרטים
פרמטרים
[in] aInstance
מצביע אל המופע של OpenThread.
החזרות
מצביע לאירוח מבנה המידע.

otSrpClientGetKeyLeaseInterval

uint32_t otSrpClientGetKeyLeaseInterval(
  otInstance *aInstance
)

פונקציה זו מקבלת את מרווח החכירה המרכזי המשמש בבקשות לעדכון של SRP.

לידיעתך, זהו משך החכירה המבוקש על-ידי הלקוח של SRP. השרת עשוי לאשר מרווח חכירה אחר.

פרטים
פרמטרים
[in] aInstance
מצביע אל המופע של OpenThread.
החזרות
מרווח השכירות של המפתח (בשניות).

otSrpClientGetLeaseInterval

uint32_t otSrpClientGetLeaseInterval(
  otInstance *aInstance
)

פונקציה זו מקבלת את מרווח החכירה המשמש בבקשות עדכון של SRP.

לידיעתך, זהו משך החכירה המבוקש על-ידי הלקוח של SRP. השרת עשוי לאשר מרווח חכירה אחר.

פרטים
פרמטרים
[in] aInstance
מצביע אל המופע של OpenThread.
החזרות
רווח החכירה (בשניות).

otSrpClientGetServerAddress

const otSockAddr * otSrpClientGetServerAddress(
  otInstance *aInstance
)

פונקציה זו מקבלת את כתובת השקע (כתובת IPv6 ומספר היציאה) של שרת SRP המשמש את לקוח SRP.

אם הלקוח לא פועל, הכתובת לא צוינה (הכול אפס) עם מספר יציאה אפס.

פרטים
פרמטרים
[in] aInstance
מצביע אל המופע של OpenThread.
החזרות
מצביע אל כתובת השקע של שרת SRP&(39; הוא תמיד לא NULL).

otSrpClientGetServices

const otSrpClientService * otSrpClientGetServices(
  otInstance *aInstance
)

פונקציה זו מקבלת את רשימת השירותים שמנוהלים על ידי הלקוח.

פרטים
פרמטרים
[in] aInstance
מצביע אל המופע של OpenThread.
החזרות
מצביע אל ראש הרשימה המקושרת של כל השירותים או NULL אם הרשימה ריקה.

otSrpClientGetTtl

uint32_t otSrpClientGetTtl(
  otInstance *aInstance
)

פונקציה זו מקבלת את הערך TTL בכל רשומה שכלולה בבקשות עדכון של SRP.

חשוב לזכור שמדובר ב-TTL שהלקוח ביקש ב-SRP. השרת עשוי לבחור לאשר TTL שונה.

כברירת מחדל, ה-TTL יהיה שווה למרווח החכירה. מעבר של 0 או ערך גדול ממרווח החכירה דרך otSrpClientSetTtl() יגרום גם ל-TTL שווה למרווח השכירות.

פרטים
פרמטרים
[in] aInstance
מצביע אל המופע של OpenThread.
החזרות
ה-TTL (בשניות).

otSrpClientIsAutoStartModeEnabled

bool otSrpClientIsAutoStartModeEnabled(
  otInstance *aInstance
)

פונקציה זו מציינת את המצב הנוכחי של מצב הפעלה אוטומטית (מופעל או מושבת).

אפשרות זו זמינה רק כשתכונת ההפעלה האוטומטית OPENTHREAD_CONFIG_SRP_CLIENT_AUTO_START_API_ENABLE מופעלת.

פרטים
פרמטרים
[in] aInstance
מצביע אל המופע של OpenThread.
החזרות
TRUE אם מצב ההפעלה האוטומטית מופעל, FALSE אם לא.

otSrpClientIsRun

bool otSrpClientIsRunning(
  otInstance *aInstance
)

פונקציה זו מציינת אם לקוח ה-SRP פועל או לא.

פרטים
פרמטרים
[in] aInstance
מצביע אל המופע של OpenThread.
החזרות
TRUE אם לקוח SRP פועל, FALSE אם לא.

otSrpClientIsServiceKeyRecordEnabled

bool otSrpClientIsServiceKeyRecordEnabled(
  otInstance *aInstance
)

שיטה זו מציינת אם המצב ' "רשומת שירות מפתח' נכלל או מושבת.

פונקציה זו זמינה כאשר ההגדרה OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE מופעלת.

פרטים
פרמטרים
[in] aInstance
מצביע אל המופע של OpenThread.
החזרות
TRUE אם " service key key included" מופעל, אחרת הוא FALSE.

otSrpClientItemStateToString

const char * otSrpClientItemStateToString(
  otSrpClientItemState aItemState
)

פונקציה זו ממירה otSrpClientItemState למחרוזת.

פרטים
פרמטרים
[in] aItemState
מצב פריט.
החזרות
ייצוג מחרוזת של aItemState.

otSrpClientRemoveHostAndServices

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

פונקציה זו מתחילה את תהליך ההסרה של פרטי המארח ושל כל השירותים.

לאחר חזרה מהפונקציה, תתבצע קריאה אל otSrpClientCallback לדיווח על סטטוס של בקשת הסרה באמצעות שרת SRP.

אם פרטי המארח יוסרו לצמיתות מהשרת, הערך של aRemoveKeyLease צריך להיות מוגדר ל-true. פעולה זו מסירה את החכירה המרכזית המשויכת למארח בשרת. אחרת, רשומת החכירה המרכזית נשמרת כמו קודם, ומבטיחה שהשרת מחזיק את שם המארח בהזמנה כאשר הלקוח יכול לספק שוב את השירותים שלו ולרשום אותם.

ה-aSendUnregToServer קובע את ההתנהגות כשפרטי המארח עדיין לא רשומים בשרת. אם המדיניות aSendUnregToServer מוגדרת כ-false (כלומר ערך ברירת המחדל או הערך הצפוי), לקוח ה-SRP יסיר באופן מיידי את המידע והשירותים מהמארח בלי לשלוח הודעת עדכון לשרת (אין צורך לעדכן את השרת אם הוא עדיין לא רשום אצלו). אם המדיניות aSendUnregToServer מוגדרת לערך true, הלקוח של SRP ישלח הודעת עדכון לשרת. חשוב לזכור שאם פרטי המארח רשומים, הערך של aSendUnregToServer לא משנה ולקוח ה-SRP תמיד ישלח הודעת עדכון לשרת עם בקשה להסרת כל המידע.

מצב אחד שבו aSendUnregToServer יכול להיות שימושי הוא איפוס/אתחול של המכשיר, המתקשר עשוי להסיר את כל השירותים שנרשמו בעבר בשרת. במקרה כזה, המתקשר יכול otSrpClientSetHostName() ולאחר מכן לבקש otSrpClientRemoveHostAndServices() עם aSendUnregToServer בתור true.

פרטים
פרמטרים
[in] aInstance
מצביע אל המופע של OpenThread.
[in] aRemoveKeyLease
בוליאני שמציין אם יש להסיר גם את החכירה של מפתח המארח.
[in] aSendUnregToServer
בוליאני שקובע אם לשלוח עדכון לשרת כאשר פרטי המארח לא רשומים.
ערכי החזרה
OT_ERROR_NONE
ההסרה של המידע והשירותים של המארח התחילה בהצלחה. נציג של otSrpClientCallback יתקשר כדי לדווח על הסטטוס.
OT_ERROR_ALREADY
פרטי המארח כבר הוסרו.

שירות otSrpClientRemoveService

otError otSrpClientRemoveService(
  otInstance *aInstance,
  otSrpClientService *aService
)

פונקציה זו מבקשת ביטול רישום של שירות באמצעות השרת.

לאחר קריאה מוצלחת לפונקציה הזו, יתקשר אל otSrpClientCallback דיווח על סטטוס הבקשה להסרה באמצעות שרת SRP.

המופע של otSrpClientService שאליו מפנה ה-aService חייב להישאר ללא שינוי, והוא יישאר ללא שינוי אחרי החזרה מהפונקציה (עם OT_ERROR_NONE). התכונה OpenThread תשמור את מופע השירות במהלך תהליך ההסרה. רק אחרי קריאה ל-otSrpClientCallback המציין שמופע השירות הוסר מרשימת השירותים של לקוחות SRP, וניתן לשחרר/להשתמש בו מחדש.

פרטים
פרמטרים
[in] aInstance
מצביע אל המופע של OpenThread.
[in] aService
מצביע למופע של otSrpClientService להסרה.
ערכי החזרה
OT_ERROR_NONE
הסרת השירות החלה בהצלחה. נציג של otSrpClientCallback יתקשר כדי לדווח על הסטטוס.
OT_ERROR_NOT_FOUND
השירות לא נמצא ברשימה.

otSrpClientSetCallback

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

פונקציה זו מגדירה את הקריאה החוזרת (callback) כדי לעדכן את המתקשר לגבי אירועים/שינויים מלקוח SRP.

לקוח SRP מאפשר להירשם לקריאה חוזרת (callback) אחת. כלומר, קריאות עוקבות לפונקציה הזו יחליפו את הפונקציות הקודמות של קריאה חוזרת (callback).

פרטים
פרמטרים
[in] aInstance
מצביע אל המופע של OpenThread.
[in] aCallback
הקריאה החוזרת (callback) כדי לעדכן אירועים ושינויים. אם אין צורך, אפשר לציין NULL.
[in] aContext
הקשר שרירותי שנעשה בו שימוש עם aCallback.

otSrpClientSetDomainName

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

פונקציה זו מגדירה את שם הדומיין שישמש את הלקוח SRP.

כדי להפעיל את הפונקציה הזו צריך להפעיל את OPENTHREAD_CONFIG_SRP_CLIENT_DOMAIN_NAME_API_ENABLE.

אם הפרמטר לא מוגדר &"default.service.arpa" ייעשה שימוש ב-.

מאגר הנתונים הזמני של העכבר שמפנה אליו באמצעות aName חייב להישאר ללא שינוי ולהישאר ללא שינוי אחרי החזרה מהפונקציה. OpenThread ישאיר את הסמן במחרוזת.

אפשר להגדיר את שם הדומיין לפני שהלקוח מתחיל או אחרי שהוא מתחיל, אבל לפני שרושמים את פרטי המארח בשרת (פרטי המארח צריך להיות STATE_TO_ADD או STATE_TO_REMOVE).

פרטים
פרמטרים
[in] aInstance
מצביע אל המופע של OpenThread.
[in] aName
מצביע על מחרוזת שם הדומיין. אם הערך של NULL מוגדר כברירת המחדל "default.service.arpa".
ערכי החזרה
OT_ERROR_NONE
התווית של שם הדומיין הוגדרה בהצלחה.
OT_ERROR_INVALID_STATE
פרטי המארח כבר רשומים בשרת.

כתובות של otSrpClientSetHost

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

פונקציה זו מגדירה/מעדכנים את רשימת כתובות ה-IPv6 של המארח.

אפשר להגדיר/לשנות כתובות IPv6 לפני הפעלה או במהלך הפעלה של לקוח SRP (למשל, הוספה/הסרה או שינוי של כתובת מארח שנרשם בעבר), למעט כשפרטי המארח מוסרים (הלקוח לא פעיל לטפל בבקשת ההסרה משיחה קודמת אל otSrpClientRemoveHostAndServices() ופרטי המארח עדיין נמצאים במצב STATE_TO_REMOVE או במצב STATE_REMOVING).

מערך ה-IPv6 של המארח שאליו מצביעת aIp6Addresses חייב להישאר ללא שינוי ולהישאר ללא שינוי אחרי החזרה מהפונקציה (OT_ERROR_NONE). OpenThread תשמור את הסמן למערך.

לאחר קריאה מוצלחת לפונקציה הזו, otSrpClientCallback יתקשר כדי לדווח על הסטטוס של רישום הכתובת באמצעות שרת SRP.

קריאה לפונקציה הזו משביתה את מצב 'כתובת מארח אוטומטית' אם היא הופעלה בעבר משיחה מוצלחת ל-otSrpClientEnableAutoHostAddress().

פרטים
פרמטרים
[in] aInstance
מצביע אל המופע של OpenThread.
[in] aIp6Addresses
מצביע למערך שמכיל את כתובות ה-IPv6 של המארח.
[in] aNumAddresses
מספר הכתובות במערך aIp6Addresses.
ערכי החזרה
OT_ERROR_NONE
השינוי ברשימת הכתובות של IPv6 התחיל בהצלחה. תתבצע קריאה ל-otSrpClientCallback כדי לדווח על הסטטוס של רישום כתובות בשרת.
OT_ERROR_INVALID_ARGS
רשימת הכתובות לא חוקית (למשל, היא חייבת להכיל לפחות כתובת אחת).
OT_ERROR_INVALID_STATE
אנחנו מסירים את המארח ולכן לא ניתן לשנות את כתובת המארח.

otSrpClientSetHostName

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

פונקציה זו מגדירה את התווית של שם המארח.

כשהקריאה לפונקציה הזאת תתבצע בהצלחה, otSrpClientCallback יתקשר כדי לדווח על הסטטוס של רישום פרטי המארח באמצעות שרת SRP.

מאגר הנתונים הזמני של העכבר שמפנה אליו באמצעות aName חייב להישאר ללא שינוי ולהישאר ללא שינוי אחרי החזרה מהפונקציה. OpenThread ישאיר את הסמן במחרוזת.

אפשר להגדיר את שם המארח לפני שהוא מתחיל או אחרי שהוא מתחיל, אבל לפני שפרטי המארח נרשמים בשרת (הפרטים אמורים להיות בפורמט STATE_TO_ADD או STATE_REMOVED).

פרטים
פרמטרים
[in] aInstance
מצביע אל המופע של OpenThread.
[in] aName
מצביע על מחרוזת של תווית שם המארח (לא חייב להיות NULL). מצביעים על מאגר הנתונים הזמני של המחרוזת חייבים להישאר עקביים ולהישאר חוקיים אחרי חזרה מהפונקציה.
ערכי החזרה
OT_ERROR_NONE
התווית של שם המארח הוגדרה בהצלחה.
OT_ERROR_INVALID_ARGS
הaName הוא NULL.
OT_ERROR_INVALID_STATE
שם המארח כבר מוגדר ורשום אצל השרת.

otSrpClientSetKeyLeaseInterval

void otSrpClientSetKeyLeaseInterval(
  otInstance *aInstance,
  uint32_t aInterval
)

פונקציה זו מגדירה את מרווח החכירה המרכזי המשמש בבקשות לעדכון של SRP.

שינוי מרווח השכירות לא משפיע על מרווח השכירות המקובל של שירותים/מידע על מארח שכבר נרשמו. הוא משפיע רק על הודעות עתידיות של עדכון SRP (כלומר, הוספת שירותים חדשים ו/או רענונים של שירותים קיימים).

פרטים
פרמטרים
[in] aInstance
מצביע אל המופע של OpenThread.
[in] aInterval
מרווח השכירות של המפתח (בשניות). אם מופיע אפס, המערכת תשתמש בערך ברירת המחדל שצוין על ידי OPENTHREAD_CONFIG_SRP_CLIENT_DEFAULT_KEY_LEASE.

otSrpClientSetLeaseInterval

void otSrpClientSetLeaseInterval(
  otInstance *aInstance,
  uint32_t aInterval
)

פונקציה זו מגדירה את מרווח השכירות המשמש בבקשות עדכון של SRP.

שינוי מרווח השכירות לא משפיע על מרווח השכירות המקובל של שירותים/מידע על מארח שכבר נרשמו. הוא משפיע רק על הודעות עתידיות של עדכון SRP (כלומר, הוספת שירותים חדשים ו/או רענונים של השירותים הקיימים).

פרטים
פרמטרים
[in] aInstance
מצביע אל המופע של OpenThread.
[in] aInterval
רווח החכירה (בשניות). אם מופיע אפס, המערכת תשתמש בערך ברירת המחדל שצוין על ידי OPENTHREAD_CONFIG_SRP_CLIENT_DEFAULT_LEASE.

otSrpClientSetServiceKeyRecordEnabled

void otSrpClientSetServiceKeyRecordEnabled(
  otInstance *aInstance,
  bool aEnabled
)

פונקציה זו מאפשרת להפעיל או להשבית את מצב ה&הכללה; רשומת שירות מפתח.

כשהמדיניות הזו מופעלת, לקוח SRP כולל רשומת KEY בהוראות התיאור של השירות. ההודעה הזו נשלחת בהודעות העדכון של SRP שהוא שולח.

פונקציה זו זמינה כאשר ההגדרה OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE מופעלת.

פרטים
פרמטרים
[in] aInstance
מצביע אל המופע של OpenThread.
[in] aEnabled
TRUE כדי להפעיל, FALSE כדי להשבית את המצב &&quot של רשומת מפתח שירות.

otSrpClientSetTtl

void otSrpClientSetTtl(
  otInstance *aInstance,
  uint32_t aTtl
)

פונקציה זו מגדירה את הערך TTL בכל רשומה שכלולה בבקשות עדכון של SRP.

שינוי ה-TTL לא משפיע על ה-TTL של השירותים או פרטי המארח הרשומים כבר. הוא משפיע רק על הודעות עתידיות של עדכון SRP (כלומר, הוספת שירותים חדשים ו/או רענונים של השירותים הקיימים).

פרטים
פרמטרים
[in] aInstance
מצביע אל המופע של OpenThread.
[in] aTtl
ה-TTL (בשניות). אם הערך הוא אפס או גדול ממרווח השכירות, ה-TTL מוגדר למרווח החכירה.

OTSrpClientStart

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

פונקציה זו מתחילה את הפעולה של לקוח SRP.

לקוח SRP יכין וישלח הודעה באמצעות SRP Update" לשרת של ה-SRP ברגע שכל התנאים הבאים יתקיימו:

לא משנה באיזה סדר הפונקציות האלה נקראות. אם כל התנאים מתקיימים, לקוח SRP ימתין לעיכוב קצר לפני שמכין הודעה "SRP Update&quot ושולח אותה לשרת. עיכוב זה מאפשר למשתמש להוסיף שירותים מרובים ו/או כתובות IPv6 לפני שליחת ההודעה הראשונה של SRP (בתנאי שנשלח עדכון SRP יחיד המכיל את כל המידע). ההגדרה OPENTHREAD_CONFIG_SRP_CLIENT_UPDATE_TX_DELAY מציינת את מרווח ההשהיה.

פרטים
פרמטרים
[in] aInstance
מצביע אל המופע של OpenThread.
[in] aServerSockAddr
כתובת השקע (כתובת IPv6 ומספר היציאה) של שרת SRP.
ערכי החזרה
OT_ERROR_NONE
הפעולה של לקוח SRP התחילה בהצלחה או שהיא כבר פועלת עם אותה כתובת שקע שרת וקריאה חוזרת (callback).
OT_ERROR_BUSY
לקוח SRP עסוק בעבודה עם כתובת שקע אחרת.
OT_ERROR_FAILED
לא ניתן היה לפתוח או לחבר את שקע ה-UDP של הלקוח.

otSrpClientStop

void otSrpClientStop(
  otInstance *aInstance
)

פונקציה זו מפסיקה את פעולת הלקוח של SRP.

פונקציה זו מפסיקה כל אינטראקציה נוספת עם שרת SRP. לתשומת ליבך, הוא לא מסיר או מנקה מידע על המארח ו/או רשימת שירותים. השירות מציין שכל השירותים יתווספו או יוסרו שוב אחרי שהלקוח יופעל מחדש.

פרטים
פרמטרים
[in] aInstance
מצביע אל המופע של OpenThread.

otSrpServerGetAddressMode

otSrpServerAddressMode otSrpServerGetAddressMode(
  otInstance *aInstance
)

פונקציה זו מחזירה את מצב הכתובת שבו משתמש שרת SRP.

פרטים
פרמטרים
[in] aInstance
מצביע על מופע של OpenThread.
החזרות
מצב הכתובת של שרת SRP.

otSrpServerGetAnycastModeSTNumber

uint8_t otSrpServerGetAnycastModeSequenceNumber(
  otInstance *aInstance
)

פונקציה זו מחזירה את מספר הרצף שבו נעשה שימוש בכל מצב של כתובת Castcast.

מספר הרצף נכלל ברשומת &quot DNS/SRP של שירות Anycast URL ; רשומה שפורסמה בנתוני הרשת.

פרטים
פרמטרים
[in] aInstance
מצביע על מופע של OpenThread.
החזרות
מספר הרצף של Anycast.

otSrpServerGetDomain

const char * otSrpServerGetDomain(
  otInstance *aInstance
)

פונקציה זו מחזירה את הדומיין המורשה לשרת ה-SRP.

אם הדומיין לא מוגדר על ידי SetDomain, יוחזר ה "default.service.arpa." . נקודה בסוף תמיד נוספת גם אם הדומיין מוגדר בלעדיו.

פרטים
פרמטרים
[in] aInstance
מצביע על מופע של OpenThread.
החזרות
מצביע על מחרוזת הדומיין עם הנקודות.

otSrpServerGetLeaseConfig

void otSrpServerGetLeaseConfig(
  otInstance *aInstance,
  otSrpServerLeaseConfig *aLeaseConfig
)

פונקציה זו מחזירה את הגדרות SRP של שרת LEASE ו-KEY-LEASE.

פרטים
פרמטרים
[in] aInstance
מצביע על מופע של OpenThread.
[out] aLeaseConfig
מצביע על מופע של otSrpServerLeaseConfig.

otSrpServerGetNextHost

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

פונקציה זו מחזירה את המארח הרשום הבא בשרת SRP.

פרטים
פרמטרים
[in] aInstance
מצביע על מופע של OpenThread.
[in] aHost
מצביע על המארח הנוכחי. צריך להשתמש ב-NULL כדי להשיג את המארח הראשון.
החזרות
מצביע אל המארח הרשום. NULL, אם לא ניתן למצוא עוד מארחים.

otSrpServerGetPort.

uint16_t otSrpServerGetPort(
  otInstance *aInstance
)

הפונקציה הזו מחזירה את היציאה ששרת ה-SRP מאזין אליה.

פרטים
פרמטרים
[in] aInstance
מצביע על מופע של OpenThread.
החזרות
היציאה של שרת ה-SRP. אם השרת אינו פועל, היא תחזיר 0.

otSrpServerGetResponseCounters

const otSrpServerResponseCounters * otSrpServerGetResponseCounters(
  otInstance *aInstance
)

פונקציה זו מחזירה את מוני התגובות של שרת ה-SRP.

פרטים
פרמטרים
[in] aInstance
מצביע על מופע של OpenThread.
החזרות
מצביעה למוני התשובות של שרת ה-SRP.

otSrpServerGetState

otSrpServerState otSrpServerGetState(
  otInstance *aInstance
)

פונקציה זו מחזירה את מצב שרת ה-SRP.

פרטים
פרמטרים
[in] aInstance
מצביע על מופע של OpenThread.
החזרות
המצב הנוכחי של שרת SRP.

otSrpServerGetTtlConfig

void otSrpServerGetTtlConfig(
  otInstance *aInstance,
  otSrpServerTtlConfig *aTtlConfig
)

פונקציה זו מחזירה את תצורת ה-TTL של שרת ה-SRP.

פרטים
פרמטרים
[in] aInstance
מצביע על מופע של OpenThread.
[out] aTtlConfig
מצביע על מופע של otSrpServerTtlConfig.

otSrpServerHandleServiceUpdateResult

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

פונקציה זו מדווחת על התוצאה של עיבוד עדכון SRP לשרת ה-SRP.

רכיב handler של עדכון השירות צריך לקרוא לפונקציה הזו כדי להחזיר את התוצאה של עיבוד עדכון SRP.

פרטים
פרמטרים
[in] aInstance
מצביע על מופע של OpenThread.
[in] aId
מזהה העסקה של עדכון השירות. המספר הזה צריך להיות זהה למספר שמצוין ב-otSrpServerServiceUpdateHandler.
[in] aError
שגיאה להחזרה לשרת SRP. יש להשתמש ב-OT_ERROR_DUPLICATED כדי לייצג התנגשויות שמות של DNS.

otSrpServerHostFindNextService

const otSrpServerService * otSrpServerHostFindNextService(
  const otSrpServerHost *aHost,
  const otSrpServerService *aPrevService,
  otSrpServerServiceFlags aFlags,
  const char *aServiceName,
  const char *aInstanceName
)

הפונקציה מוצאת את השירות התואם הבא במארח.

השילוב של הסימונים ושמות השירותים והמופעים מאפשר לחזור על הרשימה המלאה של השירותים ו/או קבוצת משנה שלהם, התואמים לתנאים מסוימים, או למצוא שירות ספציפי.

כדי לחזור על כל השירותים של מארח: = otSrpServerHostFindNextService(host, Service, OT_SRP_SERVER_FLAGS_ANY_SERVICE, NULL, NULL).

כדי לבצע איטרציה באמצעות שירותי בסיס בלבד (החרגה של סוגי משנה): Service = otSrpServerHostFindNextService(host, Service, OT_SRP_Server_FLAGS_BASE_TYPE_SERVICE_ONLY, NULL, NULL);

כדי לבצע חזרה על סוגי משנה של שם מופע ספציפי instanceName: service = otSrpServerHostFindNextService(host, service, OT_SRP_Server_FLAGS_SUB_TYPE_SERVICE_ONLY, NULL, instanceName);

כדי למצוא שירות ספציפי עם שם השירות serviceName ושם מופע השירות instanceName: service = otSrpServerHostFindNextService(host, NULL, OT_SRP_SERVER_FLAGS_ANY_SERVICE, serviceName, instanceName);

כדי למצוא את השירות מסוג בסיס בשם נתון של מופע שירות instanceName: Service = otSrpServerHostFindNextService(host, NULL, OT_SRP_SERVER_FLAGS_BASE_TYPE_SERVICE_ONLY, NULL, instanceName);

פרטים
פרמטרים
[in] aHost
מצביע למארח של שירות SRP (חייב להיות לא NULL).
[in] aPrevService
מצביע על השירות הקודם או NULL כדי להתחיל מתחילת הרשימה.
[in] aFlags
סימונים שמציינים אילו שירותים לכלול (בסיס/סוג משנה, פעיל/נמחק).
[in] aServiceName
שם השירות שיש להתאים. יש להגדיר ל-NULL לקבל כל שם.
[in] aInstanceName
שם מופע השירות שיש להתאים. יש להגדיר ל-NULL לקבל כל שם.
החזרות
מצביע אל השירות התואם הבא או NULL אם לא נמצא שירות תואם.

otSrpServerHostGetUrls

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

פונקציה זו מחזירה את הכתובת של המארח הנתון.

פרטים
פרמטרים
[in] aHost
מצביע למארח של שירות SRP.
[out] aAddressesNum
מצביע למקום שבו עלינו לייצר פלט של מספר הכתובות.
החזרות
מצביע למערך של כתובת IPv6.

otSrpServerHostGetFullName

const char * otSrpServerHostGetFullName(
  const otSrpServerHost *aHost
)

פונקציה זו מחזירה את השם המלא של המארח.

פרטים
פרמטרים
[in] aHost
מצביע למארח של שירות SRP.
החזרות
מצביע למחרוזת של שם המארח המופסק.

otSrpServerHostGetLeaseInfo

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

פונקציה זו מחזירה את המידע LEASE ו-KEY-LEASE של מארח נתון.

פרטים
פרמטרים
[in] aHost
מצביע למארח של שרת SRP.
[out] aLeaseInfo
מצביע אל המיקום שבו יש להפיק את המידע מ-LEASE ו-KEY-LEASE.

otSrpServerHostGetNextService

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

פונקציה זו מחזירה את השירות הבא (לא כולל שירותים מסוג משנה) של מארח נתון.

פרטים
פרמטרים
[in] aHost
מצביע למארח של שירות SRP.
[in] aService
מצביע על מופע שירות SRP נוכחי; השתמש ב-NULL כדי לקבל את השירות הראשון.
החזרות
מצביע על השירות הבא או NULL אם אין שירותים נוספים.

otSrpServerHostIsמחוק

bool otSrpServerHostIsDeleted(
  const otSrpServerHost *aHost
)

פונקציה זו מציינת אם מארח שירות ה-SRP נמחק.

ניתן למחוק מארח שירות SRP, אבל יש לו שם לכל שימוש עתידי. במקרה כזה, מופע המארח לא יוסר מהשרת/מרשם של SRP.

פרטים
פרמטרים
[in] aHost
מצביע למארח של שירות SRP.
החזרות
TRUE אם המארח נמחק, FALSE אם לא.

otSrpServerServiceGetFullName

const char * otSrpServerServiceGetFullName(
  const otSrpServerService *aService
)

פונקציה זו מחזירה את השם המלא של מופע השירות של השירות.

פרטים
פרמטרים
[in] aService
מצביע לשירות ה-SRP.
החזרות
מצביע על מחרוזת השם של מופע השירות (null) שהסתיימה.

otSrpServerServiceGetHost

const otSrpServerHost * otSrpServerServiceGetHost(
  const otSrpServerService *aService
)

פונקציה זו מחזירה את המארח שבו שוכן מופע השירות.

פרטים
פרמטרים
[in] aService
מצביע לשירות ה-SRP.
החזרות
מצביע על מופע המארח.

otSrpServerServiceGetInstanceName

const char * otSrpServerServiceGetInstanceName(
  const otSrpServerService *aService
)

פונקציה זו מחזירה את השם המלא של מופע השירות של השירות.

פרטים
פרמטרים
[in] aService
מצביע לשירות ה-SRP.
החזרות
מצביע על מחרוזת השם של מופע השירות (null) שהסתיימה.

otSrpServerServiceGetLeaseInfo

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

פונקציה זו מחזירה את המידע LEASE ו-KEY-LEASE של שירות נתון.

פרטים
פרמטרים
[in] aService
מצביע על שירות השרת SRP.
[out] aLeaseInfo
מצביע אל המיקום שבו יש להפיק את המידע מ-LEASE ו-KEY-LEASE.

otSrpServerServiceGetPort

uint16_t otSrpServerServiceGetPort(
  const otSrpServerService *aService
)

פונקציה זו מחזירה את היציאה של מופע השירות.

פרטים
פרמטרים
[in] aService
מצביע לשירות ה-SRP.
החזרות
היציאה של השירות.

otSrpServerServiceGetעדיפות

uint16_t otSrpServerServiceGetPriority(
  const otSrpServerService *aService
)

פונקציה זו מחזירה את העדיפות של מופע השירות.

פרטים
פרמטרים
[in] aService
מצביע לשירות ה-SRP.
החזרות
עדיפות השירות.

otSrpServerServiceGetServiceName

const char * otSrpServerServiceGetServiceName(
  const otSrpServerService *aService
)

פונקציה זו מחזירה את שם השירות המלא.

פרטים
פרמטרים
[in] aService
מצביע לשירות ה-SRP.
החזרות
מצביע על מחרוזת שם שירות שנחסמה ב-null.

otSrpServerServiceGetServiceSubTypeLabel

otError otSrpServerServiceGetServiceSubTypeLabel(
  const otSrpServerService *aService,
  char *aLabel,
  uint8_t aMaxSize
)

פונקציה זו מקבלת את תווית סוג המשנה משם השירות.

הפונקציה הזו מיועדת לשימוש כאשר aService הוא סוג משנה, כלומר otSrpServerServiceIsSubType() עבור השירות מחזיר TRUE. אם סוג המשנה הזה אינו סוג משנה, הפונקציה הזו מחזירה את OT_ERROR_INVALID_ARGS.

השם המלא של שירות המשנה מסוג משנה עוקב אחר "._sub...". הפונקציה הזו מעתיקה את ה של מאגר הנתונים aLabel.

במקרה של כשל, מערכת aLabel תמיד מסתיימת בסגירתה.

פרטים
פרמטרים
[in] aService
מצביע לשירות ה-SRP.
[out] aLabel
מצביע למאגר לצורך העתקה של שם התווית מסוג המשנה.
[in] aMaxSize
הגודל המקסימלי של מאגר הנתונים הזמני (aLabel).
ערכי החזרה
OT_ERROR_NONE
הטבלה aLabel עודכנה.
OT_ERROR_NO_BUFS
לא ניתן היה להוסיף את סוג המשנה של תווית המשנה למאגר בין aLabel (מספר התווים מהתווית שיכולים להתאים הועתק ב-aLabel כדי להבטיח שהוא יהיה ריק (null).
OT_ERROR_INVALID_ARGS
שירות SRP אינו סוג משנה.

otSrpServerServiceGetTtl

uint32_t otSrpServerServiceGetTtl(
  const otSrpServerService *aService
)

פונקציה זו מחזירה את ה-TTL של מופע השירות.

פרטים
פרמטרים
[in] aService
מצביע לשירות ה-SRP.
החזרות
ה-TTL של מופע השירות.

otSrpServerServiceGetTxtData

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

פונקציה זו מחזירה את נתוני רשומת ה-TXT של מופע השירות.

פרטים
פרמטרים
[in] aService
מצביע לשירות ה-SRP.
[out] aDataLength
מצביע שיש להחזיר את אורך נתוני רשומת ה-TXT. אסור להיות נול.
החזרות
מצביע על מאגר הנתונים הזמני המכיל את נתוני רשומת ה-TXT (אורך נתוני ה-TXT מוחזר ב-aDataLength).

otSrpServerServiceGetמשוקלל

uint16_t otSrpServerServiceGetWeight(
  const otSrpServerService *aService
)

פונקציה זו מחזירה את המשקל של מופע השירות.

פרטים
פרמטרים
[in] aService
מצביע לשירות ה-SRP.
החזרות
משקל השירות.

otSrpServerServiceIsמחוק

bool otSrpServerServiceIsDeleted(
  const otSrpServerService *aService
)

פונקציה זו מציינת אם שירות SRP נמחק או לא.

ניתן למחוק שירות SRP אך הוא שומר את שמו לשימושים עתידיים. במקרה כזה, מופע השירות לא יוסר מהשרת/מרשם של SRP. יכול להיות שכל השירותים יימחקו אם המארח יימחק.

פרטים
פרמטרים
[in] aService
מצביע לשירות ה-SRP.
החזרות
TRUE אם השירות נמחק, FALSE אם לא.

otSrpServerServiceIsSubType

bool otSrpServerServiceIsSubType(
  const otSrpServerService *aService
)

פונקציה זו מציינת אם שירות SRP הוא סוג משנה.

פרטים
פרמטרים
[in] aService
מצביע לשירות ה-SRP.
החזרות
TRUE אם השירות הוא סוג משנה, FALSE אם לא.

otSrpServerSetAddressMode

otError otSrpServerSetAddressMode(
  otInstance *aInstance,
  otSrpServerAddressMode aMode
)

פונקציה זו מגדירה את מצב הכתובת לשימוש על ידי שרת SRP.

פרטים
פרמטרים
[in] aInstance
מצביע על מופע של OpenThread.
[in] aMode
מצב הכתובת לשימוש.
ערכי החזרה
OT_ERROR_NONE
מצב הכתובת הוגדר בהצלחה.
OT_ERROR_INVALID_STATE
שרת ה-SRP מופעל ולא ניתן לשנות את מצב הכתובת.

otSrpServerSetAnycastModeLengthNumber

otError otSrpServerSetAnycastModeSequenceNumber(
  otInstance *aInstance,
  uint8_t aSequenceNumber
)

פונקציה זו מגדירה את מספר הרצף שבו נעשה שימוש בכל מצב של כתובת כלשהי.

פרטים
פרמטרים
[in] aInstance
מצביע על מופע של OpenThread.
[in] aSequenceNumber
מספר הרצף שבו יש להשתמש.
ערכי החזרה
OT_ERROR_NONE
מצב הכתובת הוגדר בהצלחה.
OT_ERROR_INVALID_STATE
שרת ה-SRP מופעל ולא ניתן לשנות את מספר הרצף.

otSrpServerSetDomain

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

פונקציה זו מגדירה את הדומיין בשרת SRP.

אם נקודה זו לא מופיעה, תודבק נקודה בסוף אל aDomain. יש להפעיל את הפונקציה הזו רק לפני ששרת ה-SRP מופעל.

פרטים
פרמטרים
[in] aInstance
מצביע על מופע של OpenThread.
[in] aDomain
הדומיין שיש להגדיר. אסור להיות נול.
ערכי החזרה
OT_ERROR_NONE
הדומיין הוגדר בהצלחה ל-aDomain.
OT_ERROR_INVALID_STATE
שרת ה-SRP כבר מופעל ולא ניתן לשנות את הדומיין.
OT_ERROR_INVALID_ARGS
הארגומנט aDomain אינו שם דומיין DNS חוקי.
OT_ERROR_NO_BUFS
אין זיכרון לאחסון תוכן של aDomain.

otSrpServerSetEnabled

void otSrpServerSetEnabled(
  otInstance *aInstance,
  bool aEnabled
)

פונקציה זו מפעילה או משביתה את שרת ה-SRP.

פרטים
פרמטרים
[in] aInstance
מצביע על מופע של OpenThread.
[in] aEnabled
בוליאני כדי להפעיל/להשבית את שרת SRP.

otSrpServerSetLeaseConfig

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

הפונקציה הזו מגדירה את הגדרות SRP של שרת LEASE ו-KEY-LEASE.

כשלקוח אינו מבקש אפס זמן LEASE, הערך המוענק יהיה מוגבל בטווח [aMinLease, aMaxLease] ו-KEY-LEASE שאינו אפס יוענק בטווח [aMinKeyLease, aMaxKeyLease]. אם הערך של אפס הוא LEASE או KEY-LEASE, יונפק אפס.

פרטים
פרמטרים
[in] aInstance
מצביע על מופע של OpenThread.
[in] aLeaseConfig
מצביע על מופע של otSrpServerLeaseConfig.
ערכי החזרה
OT_ERROR_NONE
הגדרת LEASE ו-KEY-LEASE הטווחים הסתיימה.
OT_ERROR_INVALID_ARGS
הטווח LEASE או KEY-LEASE לא חוקי.

otSrpServerSetServiceUpdateHandler

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

פונקציה זו מגדירה את ה-handler של עדכוני השירות של SRP בשרת SRP.

פרטים
פרמטרים
[in] aInstance
מצביע על מופע של OpenThread.
[in] aServiceHandler
מצביע על handler של שירות. משתמשים ב-NULL כדי להסיר את ה-handler.
[in] aContext
הפניה למידע שרירותי של הקשר. יכול להיות NULL אם לא נעשה שימוש.

otSrpServerSetTtlConfig

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

פונקציה זו מגדירה את תצורת ה-TTL של שרת ה-SRP.

ה-TTL שהוענק תמיד לא יהיה גדול ממרווח החכירה המקסימלי המוגדר באמצעות otSrpServerSetLeaseConfig(), בלי קשר להגדרת ה-TTL המינימלית והמקסימום.

פרטים
פרמטרים
[in] aInstance
מצביע על מופע של OpenThread.
[in] aTtlConfig
מצביע על מופע של otSrpServerTtlConfig.
ערכי החזרה
OT_ERROR_NONE
ההגדרה של TTL הסתיימה בהצלחה.
OT_ERROR_INVALID_ARGS
תצורת ה-TTL לא חוקית.

משאבים

נושאי עזר של OpenThread API מגיעים מקוד המקור, שזמין ב-GitHub. למידע נוסף או כדי להוסיף מידע למסמכים שלנו, יש לעיין במשאבים.