UDP

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

סיכום

הדמיות

otNetifIdentifier{
  OT_NETIF_UNSPECIFIED = 0,
  OT_NETIF_THREAD,
  OT_NETIF_BACKBONE
}
טיפוסים בני מנייה (enum)
ספירה זו מגדירה את מזהי הממשק של הרשת של OpenThread.

סוג מגן

otNetifIdentifier typedef
ספירה זו מגדירה את מזהי הממשק של הרשת של OpenThread.
otUdpHandler)(void *aContext, const otMessage *aMessage, const otMessageInfo *aMessageInfo) typedef
bool(*
הקריאה החוזרת הזו מאפשרת ל-OpenThread לספק מטפלים ספציפיים להודעות UDP מסוימות.
otUdpReceive)(void *aContext, otMessage *aMessage, const otMessageInfo *aMessageInfo) typedef
void(*
הקריאה החוזרת הזו מאפשרת ל-OpenThread ליידע את האפליקציה של הודעת UDP שהתקבלה.
otUdpReceiver typedef
struct otUdpReceiver
המבנה הזה מייצג מקלט UDP.
otUdpSocket typedef
struct otUdpSocket
מבנה זה מייצג שקע UDP.

פונקציות

otUdpAddReceiver(otInstance *aInstance, otUdpReceiver *aUdpReceiver)
הפונקציה הזו מוסיפה מקלט UDP.
otUdpBind(otInstance *aInstance, otUdpSocket *aSocket, const otSockAddr *aSockName, otNetifIdentifier aNetif)
חיבור שקע UDP/IPv6.
otUdpClose(otInstance *aInstance, otUdpSocket *aSocket)
סוגרים שקע UDP/IPv6.
otUdpConnect(otInstance *aInstance, otUdpSocket *aSocket, const otSockAddr *aSockName)
מחברים שקע UDP/IPv6.
otUdpGetSockets(otInstance *aInstance)
הפונקציה הזו מקבלת את הראש של רשימה מקושרת של שקעי UDP.
otUdpIsOpen(otInstance *aInstance, const otUdpSocket *aSocket)
bool
בדוק אם שקע UDP פתוח.
otUdpNewMessage(otInstance *aInstance, const otMessageSettings *aSettings)
הקצאת מאגר הודעות חדש לשליחת הודעות UDP.
otUdpOpen(otInstance *aInstance, otUdpSocket *aSocket, otUdpReceive aCallback, void *aContext)
פותחים שקע UDP/IPv6.
otUdpRemoveReceiver(otInstance *aInstance, otUdpReceiver *aUdpReceiver)
הפונקציה הזו מסירה מקלט UDP.
otUdpSend(otInstance *aInstance, otUdpSocket *aSocket, otMessage *aMessage, const otMessageInfo *aMessageInfo)
שולחים הודעת UDP/IPv6.
otUdpSendDatagram(otInstance *aInstance, otMessage *aMessage, otMessageInfo *aMessageInfo)
הפונקציה הזו שולחת הודעת UDP ללא שקע.

שטרטס

otUdpReceiver

המבנה הזה מייצג מקלט UDP.

otUdpSocket

מבנה זה מייצג שקע UDP.

הדמיות

otNetifIdentifier

 otNetifIdentifier

ספירה זו מגדירה את מזהי הממשק של הרשת של OpenThread.

מאפיינים
OT_NETIF_BACKBONE

ממשק ה-Backbone.

OT_NETIF_THREAD

הממשק של Thread.

OT_NETIF_UNSPECIFIED

ממשק הרשת לא צוין.

סוג מגן

otNetifIdentifier

enum otNetifIdentifier otNetifIdentifier

ספירה זו מגדירה את מזהי הממשק של הרשת של OpenThread.

OTUdpHandler

bool(* otUdpHandler)(void *aContext, const otMessage *aMessage, const otMessageInfo *aMessageInfo)

הקריאה החוזרת הזו מאפשרת ל-OpenThread לספק מטפלים ספציפיים להודעות UDP מסוימות.

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

OTUdpReceive

void(* otUdpReceive)(void *aContext, otMessage *aMessage, const otMessageInfo *aMessageInfo)

הקריאה החוזרת הזו מאפשרת ל-OpenThread ליידע את האפליקציה של הודעת UDP שהתקבלה.

OTUdpReceiver

struct otUdpReceiver otUdpReceiver

המבנה הזה מייצג מקלט UDP.

otUdpSocket

struct otUdpSocket otUdpSocket

מבנה זה מייצג שקע UDP.

פונקציות

otUdpAddReceiver

otError otUdpAddReceiver(
  otInstance *aInstance,
  otUdpReceiver *aUdpReceiver
)

הפונקציה הזו מוסיפה מקלט UDP.

פרטים
פרמטרים
[in] aInstance
מצביע למופע OpenThread.
[in] aUdpReceiver
מצביע למקלט UDP.
ערכי החזרה
OT_ERROR_NONE
המקלט נוסף בהצלחה.
OT_ERROR_ALREADY
מקלט ה-UDP כבר נוסף.

OTUdpBind

otError otUdpBind(
  otInstance *aInstance,
  otUdpSocket *aSocket,
  const otSockAddr *aSockName,
  otNetifIdentifier aNetif
)

חיבור שקע UDP/IPv6.

פרטים
פרמטרים
[in] aInstance
מצביע למופע OpenThread.
[in] aSocket
מצביע למבנה שקע UDP.
[in] aSockName
מצביע למבנה כתובת של שקע IPv6.
[in] aNetif
ממשק הרשת לאיגוד.
ערכי החזרה
OT_ERROR_NONE
פעולת הקישור בוצעה בהצלחה.
OT_ERROR_FAILED
הכפפה של שקע UDP נכשלה.

otUdpClose

otError otUdpClose(
  otInstance *aInstance,
  otUdpSocket *aSocket
)

סוגרים שקע UDP/IPv6.

פרטים
פרמטרים
[in] aInstance
מצביע למופע OpenThread.
[in] aSocket
מצביע למבנה שקע UDP.
ערכי החזרה
OT_ERROR_NONE
השקע נסגר בהצלחה.
OT_ERROR_FAILED
סגירת שקע UDP נכשלה.

otUdpConnect

otError otUdpConnect(
  otInstance *aInstance,
  otUdpSocket *aSocket,
  const otSockAddr *aSockName
)

מחברים שקע UDP/IPv6.

פרטים
פרמטרים
[in] aInstance
מצביע למופע OpenThread.
[in] aSocket
מצביע למבנה שקע UDP.
[in] aSockName
מצביע למבנה כתובת של שקע IPv6.
ערכי החזרה
OT_ERROR_NONE
פעולת ההתחברות בוצעה בהצלחה.
OT_ERROR_FAILED
החיבור לשקע UDP נכשל.

otUdpGetSockets

otUdpSocket * otUdpGetSockets(
  otInstance *aInstance
)

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

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

OTUdpIsOpen

bool otUdpIsOpen(
  otInstance *aInstance,
  const otUdpSocket *aSocket
)

בדוק אם שקע UDP פתוח.

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

OTUdpNewMessage

otMessage * otUdpNewMessage(
  otInstance *aInstance,
  const otMessageSettings *aSettings
)

הקצאת מאגר הודעות חדש לשליחת הודעות UDP.

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

otUdpOpen

otError otUdpOpen(
  otInstance *aInstance,
  otUdpSocket *aSocket,
  otUdpReceive aCallback,
  void *aContext
)

פותחים שקע UDP/IPv6.

פרטים
פרמטרים
[in] aInstance
מצביע למופע OpenThread.
[in] aSocket
מצביע למבנה שקע UDP.
[in] aCallback
מצביע לפונקציית הקריאה החוזרת של האפליקציה.
[in] aContext
מצביע להקשר ספציפי לאפליקציה.
ערכי החזרה
OT_ERROR_NONE
השקע נפתח בהצלחה.
OT_ERROR_FAILED
פתיחת השקע נכשלה.

OTUdpRemoveReceiver

otError otUdpRemoveReceiver(
  otInstance *aInstance,
  otUdpReceiver *aUdpReceiver
)

הפונקציה הזו מסירה מקלט UDP.

פרטים
פרמטרים
[in] aInstance
מצביע למופע OpenThread.
[in] aUdpReceiver
מצביע למקלט UDP.
ערכי החזרה
OT_ERROR_NONE
המקבל הוסר בהצלחה.
OT_ERROR_NOT_FOUND
מקלט UDP לא נוסף.

OTUdpSend

otError otUdpSend(
  otInstance *aInstance,
  otUdpSocket *aSocket,
  otMessage *aMessage,
  const otMessageInfo *aMessageInfo
)

שולחים הודעת UDP/IPv6.

אם הערך המוחזר הוא OT_ERROR_NONE, OpenThread מקבל בעלות על aMessage והמתקשר לא אמור יותר להפנות ל-aMessage. אם ערך ההחזרה אינו OT_ERROR_NONE, המתקשר שומר את הבעלות על aMessage, כולל פינוי aMessage אם מאגר ההודעות אינו נחוץ יותר.

פרטים
פרמטרים
[in] aInstance
מצביע למופע OpenThread.
[in] aSocket
מצביע למבנה שקע UDP.
[in] aMessage
מצביע למאגר הודעות זמני.
[in] aMessageInfo
מצביע למבנה של פרטי הודעה.

פרטים
ערכי החזרה
OT_ERROR_NONE
ההודעה תוזמנה בהצלחה לשליחה.
OT_ERROR_INVALID_ARGS
צוינו ארגומנטים לא חוקיים.
OT_ERROR_NO_BUFS
אין מספיק מאגר זמין כדי להוסיף את הכותרות UDP ו-IPv6.

otUdpSendDatagram

otError otUdpSendDatagram(
  otInstance *aInstance,
  otMessage *aMessage,
  otMessageInfo *aMessageInfo
)

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

פרטים
פרמטרים
[in] aInstance
מצביע למופע OpenThread.
[in] aMessage
מצביע להודעה ללא כותרת UDP.
[in] aMessageInfo
מצביע לפרטי ההודעה המשויכת אל aMessage.
ערכי החזרה
OT_ERROR_NONE
הוספת את ההודעה לתור לממשק פלט.
OT_ERROR_NO_BUFS
אין מספיק מאגר זמין כדי להוסיף את כותרות IPv6.

מקורות מידע

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