UDP

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

概要

列挙型

otNetifIdentifier{
  OT_NETIF_UNSPECIFIED = 0,
  OT_NETIF_THREAD,
  OT_NETIF_BACKBONE
}
enum
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

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

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 ヘッダーを追加するのに十分なバッファがありません。
OT_ERROR_INVALID_ARGS
無効な引数が指定されています。

関連情報

OpenThread API リファレンスのトピックは、GitHub で入手できるソースコードに由来しています。 詳細について、またはドキュメントへの投稿については、リソースをご覧ください。