SRP

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

סיכום

המודול הזה כולל פונקציות של Service Registration Protocol.

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

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

ספירות

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.

ערכי דף

otSrpClientAutoStartCallback)(const otSockAddr *aServerSockAddr, void *aContext) typedef
void(*
סוג המצביע מגדיר את הקריאה החוזרת לשימוש על ידי לקוח SRP כדי להודיע למשתמש מתי הוא מופעל או מופסק.
otSrpClientBuffersServiceEntry typedef
מייצג ערך של מאגר שירות לקוח SRP.
otSrpClientCallback)(otError aError, const otSrpClientHostInfo *aHostInfo, const otSrpClientService *aServices, const otSrpClientService *aRemovedServices, void *aContext) typedef
void(*
סוג המצביע מגדיר את הקריאה החוזרת לשימוש על ידי לקוח 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.
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 *
הפונקציה מקבלת את מאגר הנתונים הזמני של המחרוזת לשימוש בשם המארח של לקוח ה-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
מחזירה את מספר הרצף שנעשה בו שימוש במצב כתובת anycast.
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.
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 נמחק.
otSrpServerHostMatchesFullName(const otSrpServerHost *aHost, const char *aFullName)
bool
מציין אם המארח תואם לשם מארח נתון.
otSrpServerIsAutoEnableMode(otInstance *aInstance)
bool
מציין אם מצב ההפעלה האוטומטית מופעל או מושבת.
otSrpServerParseSubTypeServiceName(const char *aSubTypeServiceName, char *aLabel, uint8_t aLabelSize)
מנתח שם שירות של סוג משנה (שם מלא) ומחלץ את התווית של סוג המשנה.
otSrpServerServiceGetHost(const otSrpServerService *aService)
const otSrpServerHost *
מחזירה את המארח שבו נמצאת מופע השירות.
otSrpServerServiceGetInstanceLabel(const otSrpServerService *aService)
const char *
מחזירה את התווית של מופע השירות (התווית הראשונה בשם המכונה) של השירות.
otSrpServerServiceGetInstanceName(const otSrpServerService *aService)
const char *
הפונקציה מחזירה את שם המופע של השירות המלא.
otSrpServerServiceGetLeaseInfo(const otSrpServerService *aService, otSrpServerLeaseInfo *aLeaseInfo)
void
מחזירה את פרטי LEASE ו-KEY-LEASE של שירות נתון.
otSrpServerServiceGetNumberOfSubTypes(const otSrpServerService *aService)
uint16_t
הפונקציה מקבלת את מספר סוגי המשנה של השירות.
otSrpServerServiceGetPort(const otSrpServerService *aService)
uint16_t
מחזירה את היציאה של מופע השירות.
otSrpServerServiceGetPriority(const otSrpServerService *aService)
uint16_t
מחזירה את העדיפות של מופע השירות.
otSrpServerServiceGetServiceName(const otSrpServerService *aService)
const char *
מחזירה את שם השירות המלא של השירות.
otSrpServerServiceGetSubTypeServiceNameAt(const otSrpServerService *aService, uint16_t aIndex)
const char *
הפונקציה מקבלת את שם סוג המשנה של השירות (שם מלא) של השירות באינדקס נתון.
otSrpServerServiceGetTtl(const otSrpServerService *aService)
uint32_t
מחזירה את ה-TTL של מופע השירות.
otSrpServerServiceGetTxtData(const otSrpServerService *aService, uint16_t *aDataLength)
const uint8_t *
מחזירה את נתוני רשומת ה-TXT של מופע השירות.
otSrpServerServiceGetWeight(const otSrpServerService *aService)
uint16_t
מחזירה את המשקל של מופע השירות.
otSrpServerServiceHasSubTypeServiceName(const otSrpServerService *aService, const char *aSubTypeServiceName)
bool
מציין אם לשירות יש סוג משנה נתון או לא.
otSrpServerServiceIsDeleted(const otSrpServerService *aService)
bool
מציין אם שירות ה-SRP נמחק.
otSrpServerServiceMatchesInstanceName(const otSrpServerService *aService, const char *aInstanceName)
bool
הערך מציין אם השירות תואם לשם של מופע נתון של שירות.
otSrpServerServiceMatchesServiceName(const otSrpServerService *aService, const char *aServiceName)
bool
הערך הזה מציין אם השירות הזה תואם לשם שירות מסוים.
otSrpServerSetAddressMode(otInstance *aInstance, otSrpServerAddressMode aMode)
מגדיר את מצב הכתובת לשימוש של שרת ה-SRP.
otSrpServerSetAnycastModeSequenceNumber(otInstance *aInstance, uint8_t aSequenceNumber)
מגדיר את מספר הרצף שנעשה בו שימוש במצב כתובת anycast.
otSrpServerSetAutoEnableMode(otInstance *aInstance, bool aEnabled)
void
מפעילה/משביתים את מצב ההפעלה האוטומטית בשרת SRP.
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.

ספירות

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

מצב כתובת Unicast.

otSrpServerState

 otSrpServerState

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

תכונות
OT_SRP_SERVER_STATE_DISABLED

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

OT_SRP_SERVER_STATE_RUNNING

שרת ה-SRP מופעל ופועל.

OT_SRP_SERVER_STATE_STOPPED

שרת ה-SRP מופעל אך נעצר.

ערכי דף

otSrpClientAutoStartCallback

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

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

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

הקריאה החוזרת (callback) מופעלת כשמצב 'הפעלה אוטומטית' מופעל ולקוח ה-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)

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

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

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

רשימת השירותים שהוסרו מועברת בתור רשימה מקושרת של aRemovedServices בקריאה החוזרת. חשוב לשים לב שכאשר הקריאה החוזרת מופעלת, לקוח ה-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) שרת NOTIMP לא תומך בסוג השאילתה (OpCode) -> OT_ERROR_NOT_IMPLEMENTED
  • (5) השרת המופנה נדחה מסיבות של מדיניות/אבטחה -> OT_ERROR_Security
  • (6) YXDOMAIN שם כלשהו שלא אמור להיות קיים -> OT_ERROR_DUPLICATED
  • (7) YXRRSET YXRRSET כמה RRset שלא אמורים להיות קיימים, קיימים -> OT_ERROR_DUPLICATED
  • (8) NXRRSET כמה RRset שאמורים להיות קיימים, אינם קיימים -> OT_ERROR_NOT_FOUND
  • (9) שירות NOTAUTH אינו מוסמך לאזור -> OT_ERROR_Security
  • (10) NOTZONE שם לא נמצא בתחום -> OT_ERROR_PARSE
  • (20) BADNAME שם שגוי -> OT_ERROR_PARSE
  • (21) אלגוריתם BADALG לא תקין -> OT_ERROR_Security
  • (22) קיצור לא טוב של BADTRUN -> OT_ERROR_PARSE
  • קודי תגובה אחרים -> OT_ERROR_FAILED

השגיאות הבאות אפשריות גם הן:

  • OT_ERROR_BROWSER_OFFSET : תם הזמן הקצוב לתפוגה בהמתנה לתגובה מהשרת (הלקוח ימשיך לנסות שוב).
  • 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().

השדות mState, mData ו-mNext נמצאים בשימוש/מנוהלים על ידי OT Core בלבד. המערכת מתעלמת מהערך שלהם כאשר מופע של otSrpClientService מועבר ב-otSrpClientAddService() או ב-otSrpClientRemoveService() או בפונקציות אחרות. מבצע הקריאה החוזרת לא צריך להגדיר את השדות האלה.

בשדות mLease ו-mKeyLease מציינים את מרווחי החכירה והשכירות הרצויים של השירות הזה. ערך אפס מציין שהמרווח לא צוין, ואז בשירות הזה נעשה שימוש במרווחי ברירת המחדל של חכירה או חכירה מ-otSrpClientGetLeaseInterval() ומ-otSrpClientGetKeyLeaseInterval(). אם מרווח החכירה של המפתח (בין אם הוגדר במפורש ובין שנקבע מברירת המחדל) קצר יותר ממרווח החכירה של שירות מסוים, לקוח SRP ישתמש מחדש בערך מרווח החכירה עבור מפתח חכירה. לדוגמה, אם במסגרת השירות, mLease מוגדר באופן מפורש ליומיים, הערך mKeyLease מוגדר ל-0 וברירת המחדל של החכירה של המפתח מוגדרת ליום אחד, אז בזמן הרישום של השירות הזה, גם השכרת המפתח המבוקשת של השירות הזה תוגדר ליומיים.

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.

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. אחרת, צריך לבטל את הפרסום של המארח (הסרה של תגי AAAA RR).
  2. צריך לבטל את הפרסום של כל נקודות שירות במארח הזה אם הפרסום של המארח יבוטל. אחרת, ה-handler צריך לפרסם או לעדכן את השירות כשהוא לא נמחק (מצוין על ידי otSrpServerServiceIsDeleted) ולבטל את הפרסום שלו לאחר מחיקתו.
[in] aTimeout
משך הזמן המקסימלי באלפיות השנייה שה-handler יעבד את אירוע השירות.
[in] aContext
הפניה להקשר ספציפי לאפליקציה.
ראו גם:
otSrpServerSetServiceUpdateHandler
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). OpenThread ישמור את המצביע למופע השירות.

ל-OpenThread לא מתבצע יותר מעקב אחרי המופע של otSrpClientService ואפשר לדרוש אותו רק כאשר

  • היא הוסרה באופן מפורש על ידי קריאה ל-otSrpClientRemoveService(), או שהיא מוסרת יחד עם שירותים אחרים באמצעות קריאה ל-otSrpClientRemoveHostAndServices() and only after theotSrpClientCallback' מופעלת כדי לציין שהשירות הוסר. או,
  • שיחה אל otSrpClientClearHostAndServices() שמסירה את המארח ואת כל השירותים הקשורים באופן מיידי.

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

otSrpClientBuffersAllocateService

otSrpClientBuffersServiceEntry * otSrpClientBuffersAllocateService(
  otInstance *aInstance
)

משייכת רשומה חדשה של שירות מהמאגר.

המופע של רשומת השירות שמוחזרת יופעל באופן הבא:

  • mService.mName תצביע על מאגר נתונים זמני שהוקצה למחרוזת, שניתן לאחזר באמצעות הפונקציה otSrpClientBuffersGetServiceEntryServiceNameString().
  • mService.mInstanceName תצביע על מאגר נתונים זמני שהוקצה למחרוזת, שניתן לאחזר באמצעות הפונקציה otSrpClientBuffersGetServiceEntryInstanceNameString().
  • הפונקציה mService.mSubTypeLabels מפנה למערך שמוחזר מ-otSrpClientBuffersGetSubTypeLabelsArray().
  • mService.mTxtEntries יפנה אל mTxtEntry.
  • mService.mNumTxtEntries תוגדר כ-1.
  • שדות 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).

otSrpClientBuffersGetHostAddressesArray

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
)

הפונקציה מקבלת את מאגר הנתונים הזמני של המחרוזת לשימוש בשם המארח של לקוח ה-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 מופעלת.

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

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

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

otSrpClientEnableAutoHostAddress

otError otSrpClientEnableAutoHostAddress(
  otInstance *aInstance
)

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

כשאפשרות זו מופעלת, כתובות IPv6 של מארח מוגדרות באופן אוטומטי על ידי לקוח SRP באמצעות כל כתובות ה-unicast המועדפות ב-Thread netif, ללא כל הכתובות המקומיות והמקומיות של הקישור. אם אין כתובת מועדפת, מתווספת כתובת EID מקומית מסוג Mesh. לקוח ה-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 יעקוב אחר נתוני רשת ה-Thread כדי לגלות שרתי SRP, ויבחר את השרת המועדף ויפעיל והפסק באופן אוטומטי את הלקוח כאשר יזוהה שרת SRP.

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

1) ערכי unicast מועדפים שבהם כתובת השרת כלולה בנתוני השירות. אם קיימות מספר אפשרויות, עדיפה האפשרות עם כתובת ה-IPv6 הנמוכה ביותר המספרית.

2) לרשומות Anycast יש מספר סידורי. מספר רצף גדול יותר במובן מסוים שמצוין על ידי הלוגיקה האריתמטית של המספר הסידורי ב-RFC-1982 נחשב כעדכני יותר, ולכן הוא מועדף. עדיף להשתמש במספר הסידורי הגדול ביותר בפורמט אריתמטי של מספר סידורי אם הוא מוגדר היטב (כלומר, מספר הרצף גדול יותר מכל שאר מספרי סידורי). אם הוא לא מוגדר היטב, עדיף להשתמש במספר סידורי הגדול ביותר.

3) רשומות Unicast שבהן פרטי כתובת השרת כלולים בנתוני השרת. אם קיימות מספר אפשרויות, עדיפה האפשרות עם כתובת ה-IPv6 הנמוכה ביותר המספרית.

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

כשלקוח SRP מופעל באופן מפורש באמצעות קריאה מוצלחת ל-otSrpClientStart(), כתובת שרת ה-SRP הנתונה ב-otSrpClientStart() תמשיך להיות בשימוש ללא קשר למצב ההפעלה האוטומטית, וללא קשר לכתובת של שרת ה-SRP שהתגלתה או לא התגלתה בנתוני רשת ה-Thread. במקרה כזה, רק קריאה מפורשת ל-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.

מרווח ברירת המחדל משמש רק למכונות otSrpClientService שבהן mKeyLease מוגדר לאפס.

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

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

otSrpClientGetLeaseInterval

uint32_t otSrpClientGetLeaseInterval(
  otInstance *aInstance
)

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

מרווח ברירת המחדל משמש רק למכונות otSrpClientService שבהן mLease מוגדר לאפס.

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

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

otSrpClientGetServerAddress

const otSockAddr * otSrpClientGetServerAddress(
  otInstance *aInstance
)

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

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

פרטים
פרמטרים
[in] aInstance
מצביע למופע של OpenThread.
החזרות
מצביע לכתובת ה-socket של שרת ה-SRP (תמיד לא 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 אם לא.

otSrpClientIsRunning

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 אם מצב 'הכללה של רשומת מפתח שירות' מופעל, 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) שהוגדרו קודם לכן.

פרטים
פרמטרים
[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
פרטי המארח כבר רשומים בשרת.

otSrpClientSetHostAddresses

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.

מרווח ברירת המחדל משמש רק למכונות otSrpClientService שבהן mKeyLease מוגדר לאפס.

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

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

otSrpClientSetLeaseInterval

void otSrpClientSetLeaseInterval(
  otInstance *aInstance,
  uint32_t aInterval
)

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

מרווח ברירת המחדל משמש רק למכונות otSrpClientService שבהן mLease מוגדר לאפס.

שינוי פרק הזמן של חכירה לא משפיע על מרווחי חכירה מקובלים של שירותים/פרטי מארחים שכבר רשומים. הוא משפיע רק על הודעות עדכון 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 כדי להשבית את המצב 'הכללה של רשומת מפתח שירות'.

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" לשרת ה-SRP לאחר עמידה בכל התנאים הבאים:

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

פרטים
פרמטרים
[in] aInstance
מצביע למופע של OpenThread.
[in] aServerSockAddr
כתובת השקע (כתובת IPv6 ומספר יציאה) של שרת ה-SRP.
ערכים מוחזרים
OT_ERROR_NONE
פעולת לקוח SRP התחילה בהצלחה או שהיא כבר פועלת עם אותה כתובת שקע שרת ואותה קריאה חוזרת.
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.

otSrpServerGetAnycastModeSequenceNumber

uint8_t otSrpServerGetAnycastModeSequenceNumber(
  otInstance *aInstance
)

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

מספר הרצף נכלל ברשומת 'כתובת מסוג Anycast של שירות DNS/SRP' שפורסמה ב'נתוני הרשת'.

פרטים
פרמטרים
[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.

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

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

otSrpServerHostGetAddresses

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 אם אין עוד שירותים.

otSrpServerHostIsDeleted

bool otSrpServerHostIsDeleted(
  const otSrpServerHost *aHost
)

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

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

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

otSrpServerHostMatchesFullName

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

מציין אם המארח תואם לשם מארח נתון.

התאמות של שמות DNS מתבצעות באמצעות השוואת מחרוזות שאינה תלוית-רישיות (כלומר, "Abc" ו-"aBc" נחשבים זהים).

פרטים
פרמטרים
[in] aHost
הפניה למארח של שירות ה-SRP.
[in] aFullName
שם מארח מלא.
ערכים מוחזרים
TRUE
אם שם המארח תואם לשם המארח.
FALSE
אם שם המארח לא תואם לשם המארח.

otSrpServerIsAutoEnableMode

bool otSrpServerIsAutoEnableMode(
  otInstance *aInstance
)

מציין אם מצב ההפעלה האוטומטית מופעל או מושבת.

נדרשת התכונה OPENTHREAD_CONFIG_BORDER_ROUTING_ENABLE.

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

otSrpServerParseSubTypeServiceName

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

מנתח שם שירות של סוג משנה (שם מלא) ומחלץ את התווית של סוג המשנה.

השם המלא של שירות מסוג משנה מופיע אחרי "._sub...".

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

otSrpServerServiceGetHost

const otSrpServerHost * otSrpServerServiceGetHost(
  const otSrpServerService *aService
)

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

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

otSrpServerServiceGetInstanceLabel

const char * otSrpServerServiceGetInstanceLabel(
  const otSrpServerService *aService
)

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

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

otSrpServerServiceGetInstanceName

const char * otSrpServerServiceGetInstanceName(
  const otSrpServerService *aService
)

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

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

otSrpServerServiceGetLeaseInfo

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

מחזירה את פרטי LEASE ו-KEY-LEASE של שירות נתון.

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

otSrpServerServiceGetNumberOfSubTypes

uint16_t otSrpServerServiceGetNumberOfSubTypes(
  const otSrpServerService *aService
)

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

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

otSrpServerServiceGetPort

uint16_t otSrpServerServiceGetPort(
  const otSrpServerService *aService
)

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

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

otSrpServerServiceGetPriority

uint16_t otSrpServerServiceGetPriority(
  const otSrpServerService *aService
)

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

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

otSrpServerServiceGetServiceName

const char * otSrpServerServiceGetServiceName(
  const otSrpServerService *aService
)

מחזירה את שם השירות המלא של השירות.

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

otSrpServerServiceGetSubTypeServiceNameAt

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

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

השם המלא של שירות מסוג משנה מופיע אחרי "._sub...".

פרטים
פרמטרים
[in] aService
הפניה לשירות ה-SRP.
[in] aIndex
האינדקס לקבל.
החזרות
הפניה לשם שירות של סוג משנה ב-aIndex, או NULL אם אין סוג משנה באינדקס הזה.

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. הערך לא חייב להיות NULL.
החזרות
הפניה למאגר הנתונים הזמני שמכיל את הנתונים של רשומות ה-TXT (אורך נתוני ה-TXT מוחזר ב-aDataLength).

otSrpServerServiceGetWeight

uint16_t otSrpServerServiceGetWeight(
  const otSrpServerService *aService
)

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

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

otSrpServerServiceHasSubTypeServiceName

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

מציין אם לשירות יש סוג משנה נתון או לא.

התאמות של שמות DNS מתבצעות באמצעות השוואת מחרוזות שאינה תלוית-רישיות (כלומר, "Abc" ו-"aBc" נחשבים זהים).

פרטים
פרמטרים
[in] aService
הפניה לשירות ה-SRP.
[in] aSubTypeServiceName
שם שירות סוג המשנה (שם מלא) לבדיקה.
ערכים מוחזרים
TRUE
השירות מכיל את סוג המשנה aSubTypeServiceName.
FALSE
השירות לא מכיל את סוג המשנה aSubTypeServiceName.

otSrpServerServiceIsDeleted

bool otSrpServerServiceIsDeleted(
  const otSrpServerService *aService
)

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

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

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

otSrpServerServiceMatchesInstanceName

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

הערך מציין אם השירות תואם לשם של מופע נתון של שירות.

התאמות של שמות DNS מתבצעות באמצעות השוואת מחרוזות שאינה תלוית-רישיות (כלומר, "Abc" ו-"aBc" נחשבים זהים).

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

otSrpServerServiceMatchesServiceName

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

הערך הזה מציין אם השירות הזה תואם לשם שירות מסוים.

התאמות של שמות DNS מתבצעות באמצעות השוואת מחרוזות שאינה תלוית-רישיות (כלומר, "Abc" ו-"aBc" נחשבים זהים).

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

otSrpServerSetAddressMode

otError otSrpServerSetAddressMode(
  otInstance *aInstance,
  otSrpServerAddressMode aMode
)

מגדיר את מצב הכתובת לשימוש של שרת ה-SRP.

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

otSrpServerSetAnycastModeSequenceNumber

otError otSrpServerSetAnycastModeSequenceNumber(
  otInstance *aInstance,
  uint8_t aSequenceNumber
)

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

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

otSrpServerSetAutoEnableMode

void otSrpServerSetAutoEnableMode(
  otInstance *aInstance,
  bool aEnabled
)

מפעילה/משביתים את מצב ההפעלה האוטומטית בשרת SRP.

נדרשת התכונה OPENTHREAD_CONFIG_BORDER_ROUTING_ENABLE.

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

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

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

otSrpServerSetDomain

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

מגדיר את הדומיין בשרת ה-SRP.

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

פרטים
פרמטרים
[in] aInstance
מצביע למופע של OpenThread.
[in] aDomain
הדומיין להגדרה. הערך לא חייב להיות NULL.
ערכים מוחזרים
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.

בנתב גבול, מומלץ להשתמש במקום זאת ב-otSrpServerSetAutoEnableMode().

פרטים
פרמטרים
[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. אפשר לקרוא מידע נוסף או לתרום למסמכי התיעוד שלנו בדף מקורות מידע.