透過集合功能整理內容 你可以依據偏好儲存及分類內容。

UDP

這個模組包含用來控制 UDP 通訊的函式。

摘要

列舉

otNetifIdentifier{
  OT_NETIF_UNSPECIFIED = 0,
  OT_NETIF_THREAD,
  OT_NETIF_BACKBONE
}
enum
這個列舉會定義 OpenThread 網路介面 ID。

類型

otNetifIdentifier typedef
這個列舉會定義 OpenThread 網路介面 ID。
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 網路介面 ID。

屬性
OT_NETIF_BACKBONE

骨幹介面。

OT_NETIF_THREAD

會話串介面。

OT_NETIF_UNSPECIFIED

未指定網路介面。

類型

otNetifIdentifier

enum otNetifIdentifier otNetifIdentifier

這個列舉會定義 OpenThread 網路介面 ID。

otUdpHandler

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

這個回呼可讓 OpenThread 為某些 UDP 訊息提供特定處理常式。

說明
傳回值
true
郵件會由這個接收方處理,不應進一步處理。
false
郵件不會由這位收件者處理,

otUdp 接收

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

這個回呼可讓 OpenThread 通知收到的 UDP 訊息訊息。

otUdp 接收器

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 接收器已新增。

otUdp 繫結

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 通訊端。

otUdp 關閉

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 Socket 連結清單開頭的內容。

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

otUdp 開啟

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。 如需更多資訊或參閱我們的說明文件,請參閱資源