Google は、黒人コミュニティのための人種的公平の促進に取り組んでいます。詳細をご覧ください。

UDP

このモジュールには、UDP 通信を制御する関数が含まれています。

概要

列挙型

otNetifIdentifier{
  OT_NETIF_UNSPECIFIED = 0,
  OT_NETIF_THREAD,
  OT_NETIF_BACKBONE
}
列挙型
この列挙型は、OpenThread ネットワーク インターフェース識別子を定義します。

Typedef

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

スレッド インターフェース。

OT_NETIF_UNSPECIFIED

不明なネットワーク インターフェースです。

Typedef

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(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(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 で入手可能なソースコードに基づいています。 詳細またはドキュメントへの投稿については、リソースをご覧ください。