メッセージ

このモジュールには、OpenThread メッセージ バッファを操作する関数が含まれています。

概要

列挙型

otMessageOrigin{
  OT_MESSAGE_ORIGIN_THREAD_NETIF = 0,
  OT_MESSAGE_ORIGIN_HOST_TRUSTED = 1,
  OT_MESSAGE_ORIGIN_HOST_UNTRUSTED = 2
}
enum
OpenThread メッセージの送信元を定義します。
otMessagePriority{
  OT_MESSAGE_PRIORITY_LOW = 0,
  OT_MESSAGE_PRIORITY_NORMAL = 1,
  OT_MESSAGE_PRIORITY_HIGH = 2
}
enum
OpenThread メッセージの優先度を定義します。

Typedef

otBufferInfo typedef
struct otBufferInfo
OpenThread スタックで使用されるさまざまなキューのメッセージ バッファ情報を表します。
otMessage typedef
struct otMessage
OpenThread メッセージ バッファの不透明な表現。
otMessageOrigin typedef
OpenThread メッセージの送信元を定義します。
otMessagePriority typedef
OpenThread メッセージの優先度を定義します。
otMessageQueueInfo typedef
メッセージ キューに関する情報を表します。
otMessageSettings typedef
メッセージの設定を表します。

関数

otMessageAppend(otMessage *aMessage, const void *aBuf, uint16_t aLength)
メッセージにバイトを追加します。
otMessageFree(otMessage *aMessage)
void
割り当てられたメッセージ バッファを解放します。
otMessageGetBufferInfo(otInstance *aInstance, otBufferInfo *aBufferInfo)
void
メッセージ バッファの情報を取得します。
otMessageGetLength(const otMessage *aMessage)
uint16_t
メッセージの長さ(バイト単位)を取得します。
otMessageGetOffset(const otMessage *aMessage)
uint16_t
メッセージ オフセット(バイト単位)を取得します。
otMessageGetOrigin(const otMessage *aMessage)
メッセージの送信元を取得します。
otMessageGetRss(const otMessage *aMessage)
int8_t
メッセージに関連付けられた平均 RSS(受信電波強度)を返します。
otMessageIsLinkSecurityEnabled(const otMessage *aMessage)
bool
メッセージに対してリンク セキュリティが有効になっているかどうかを示します。
otMessageIsLoopbackToHostAllowed(const otMessage *aMessage)
bool
ホストへのメッセージのループバックが許可されているかどうかを示します。
otMessageIsMulticastLoopEnabled(otMessage *aMessage)
bool
マルチキャストの宛先アドレスがある場合に、指定されたメッセージをループバックできるかどうかを示します。
otMessageQueueDequeue(otMessageQueue *aQueue, otMessage *aMessage)
void
指定されたメッセージ キューからメッセージを削除します。
otMessageQueueEnqueue(otMessageQueue *aQueue, otMessage *aMessage)
void
指定されたメッセージ キューの末尾にメッセージを追加します。
otMessageQueueEnqueueAtHead(otMessageQueue *aQueue, otMessage *aMessage)
void
指定されたメッセージ キューの先頭または前面にメッセージを追加します。
otMessageQueueGetHead(otMessageQueue *aQueue)
キューの先頭のメッセージへのポインタを返します。
otMessageQueueGetNext(otMessageQueue *aQueue, const otMessage *aMessage)
前方(先頭から末尾まで)を反復処理して、キュー内の次のメッセージへのポインタを返します。
otMessageQueueInit(otMessageQueue *aQueue)
void
メッセージ キューを初期化します。
otMessageRead(const otMessage *aMessage, uint16_t aOffset, void *aBuf, uint16_t aLength)
uint16_t
メッセージからバイトを読み取ります。
otMessageResetBufferInfo(otInstance *aInstance)
void
同時に使用されている最大バッファ数をトラッキングするメッセージ バッファ情報カウンタをリセットします。
otMessageSetDirectTransmission(otMessage *aMessage, bool aEnabled)
void
直接転送でメッセージを転送するよう設定または強制します。
otMessageSetLength(otMessage *aMessage, uint16_t aLength)
メッセージの長さをバイト単位で設定します。
otMessageSetLoopbackToHostAllowed(otMessage *aMessage, bool aAllowLoopbackToHost)
void
ホストへのメッセージのループバックを許可するかどうかを設定します。
otMessageSetMulticastLoopEnabled(otMessage *aMessage, bool aEnabled)
void
宛先がマルチキャスト アドレスの場合に、指定したメッセージをループバックできるかどうかを制御します。
otMessageSetOffset(otMessage *aMessage, uint16_t aOffset)
void
メッセージ オフセットをバイト単位で設定します。
otMessageSetOrigin(otMessage *aMessage, otMessageOrigin aOrigin)
void
メッセージの生成元を設定します。
otMessageWrite(otMessage *aMessage, uint16_t aOffset, const void *aBuf, uint16_t aLength)
int
メッセージにバイトを書き込みます。

構造体

otBufferInfo

OpenThread スタックで使用されるさまざまなキューのメッセージ バッファ情報を表します。

otMessageQueue

OpenThread メッセージ キューを表します。

otMessageQueueInfo

メッセージ キューに関する情報を表します。

otMessageSettings

メッセージの設定を表します。

列挙型

otMessageOrigin

 otMessageOrigin

OpenThread メッセージの送信元を定義します。

プロパティ
OT_MESSAGE_ORIGIN_HOST_TRUSTED

ホスト上の信頼できる送信元からのメッセージ。

OT_MESSAGE_ORIGIN_HOST_UNTRUSTED

ホスト上の信頼できない送信元からのメッセージ。

OT_MESSAGE_ORIGIN_THREAD_NETIF

Thread Netif からのメッセージ。

otMessagePriority

 otMessagePriority

OpenThread メッセージの優先度を定義します。

プロパティ
OT_MESSAGE_PRIORITY_HIGH

優先度が高い。

OT_MESSAGE_PRIORITY_LOW

優先度が低い。

OT_MESSAGE_PRIORITY_NORMAL

通常の優先度。

Typedef

otBufferInfo

struct otBufferInfo otBufferInfo

OpenThread スタックで使用されるさまざまなキューのメッセージ バッファ情報を表します。

otMessage

struct otMessage otMessage

OpenThread メッセージ バッファの不透明な表現。

otMessageOrigin

enum otMessageOrigin otMessageOrigin

OpenThread メッセージの送信元を定義します。

otMessagePriority

enum otMessagePriority otMessagePriority

OpenThread メッセージの優先度を定義します。

otMessageQueueInfo

struct otMessageQueueInfo otMessageQueueInfo

メッセージ キューに関する情報を表します。

otMessageSettings

struct otMessageSettings otMessageSettings

メッセージの設定を表します。

関数

otMessageAppend

otError otMessageAppend(
  otMessage *aMessage,
  const void *aBuf,
  uint16_t aLength
)

メッセージにバイトを追加します。

詳細
パラメータ
[in] aMessage
メッセージ バッファへのポインタ。
[in] aBuf
追加するデータへのポインタ。
[in] aLength
追加するバイト数。
戻り値
OT_ERROR_NONE
メッセージに追加しました
OT_ERROR_NO_BUFS
メッセージを拡張するために使用可能なバッファがありません。
関連項目:
otMessageFree
otMessageGetLength
otMessageSetLength
otMessageGetOffset
otMessageSetOffset
otMessageRead
otMessageWrite

otMessageFree

void otMessageFree(
  otMessage *aMessage
)

割り当てられたメッセージ バッファを解放します。

詳細
パラメータ
[in] aMessage
メッセージ バッファへのポインタ。
関連項目:
otMessageAppend
otMessageGetLength
otMessageSetLength
otMessageGetOffset
otMessageSetOffset
otMessageRead
otMessageWrite

otMessageGetBufferInfo

void otMessageGetBufferInfo(
  otInstance *aInstance,
  otBufferInfo *aBufferInfo
)

メッセージ バッファの情報を取得します。

詳細
パラメータ
[in] aInstance
OpenThread インスタンスへのポインタ。
[out] aBufferInfo
メッセージ バッファ情報が書き込まれるポインタ。

otMessageGetLength

uint16_t otMessageGetLength(
  const otMessage *aMessage
)

メッセージの長さ(バイト単位)を取得します。

詳細
パラメータ
[in] aMessage
メッセージ バッファへのポインタ。
戻り値
メッセージの長さ(バイト単位)。
関連項目:
otMessageFree
otMessageAppend
otMessageSetLength
otMessageGetOffset
otMessageSetOffset
otMessageRead
otMessageWrite
otMessageSetLength

otMessageGetOffset

uint16_t otMessageGetOffset(
  const otMessage *aMessage
)

メッセージ オフセット(バイト単位)を取得します。

詳細
パラメータ
[in] aMessage
メッセージ バッファへのポインタ。
戻り値
メッセージのオフセット値。
関連項目:
otMessageFree
otMessageAppend
otMessageGetLength
otMessageSetLength
otMessageSetOffset
otMessageRead
otMessageWrite

otMessageGetOrigin

otMessageOrigin otMessageGetOrigin(
  const otMessage *aMessage
)

メッセージの送信元を取得します。

詳細
パラメータ
[in] aMessage
メッセージ バッファへのポインタ。
戻り値
メッセージの送信元。

otMessageGetRss

int8_t otMessageGetRss(
  const otMessage *aMessage
)

メッセージに関連付けられた平均 RSS(受信電波強度)を返します。

詳細
戻り値
平均 RSS 値(dBm 単位)。平均 RSS が利用できない場合は OT_RADIO_RSSI_INVALID。

otMessageIsLinkSecurityEnabled

bool otMessageIsLinkSecurityEnabled(
  const otMessage *aMessage
)

メッセージに対してリンク セキュリティが有効になっているかどうかを示します。

詳細
パラメータ
[in] aMessage
メッセージ バッファへのポインタ。
戻り値
TRUE
リンク セキュリティが有効な場合。
FALSE
リンク セキュリティが有効になっていない場合。

otMessageIsLoopbackToHostAllowed

bool otMessageIsLoopbackToHostAllowed(
  const otMessage *aMessage
)

ホストへのメッセージのループバックが許可されているかどうかを示します。

詳細
パラメータ
[in] aMessage
メッセージ バッファへのポインタ。
戻り値
TRUE
ホストへのメッセージのループバックが許可されているかどうか。
FALSE
ホストへのメッセージのループバックが許可されていないかどうか。

otMessageIsMulticastLoopEnabled

bool otMessageIsMulticastLoopEnabled(
  otMessage *aMessage
)

マルチキャストの宛先アドレスがある場合に、指定されたメッセージをループバックできるかどうかを示します。

aMessageotMessageInfo と一緒に使用すると、otMessageInfo 構造の mMulticastLoop フィールドが優先され、aMessage に設定された値の代わりに使用されます。

この API は主に、準備済みの IPv6 メッセージを想定している otIp6Send() とともに使用します。

詳細
パラメータ
[in] aMessage
メッセージへのポインタ。

otMessageQueueDequeue

void otMessageQueueDequeue(
  otMessageQueue *aQueue,
  otMessage *aMessage
)

指定されたメッセージ キューからメッセージを削除します。

詳細
パラメータ
[in] aQueue
メッセージ キューへのポインタ。
[in] aMessage
削除するメッセージ。

otMessageQueueEnqueue

void otMessageQueueEnqueue(
  otMessageQueue *aQueue,
  otMessage *aMessage
)

指定されたメッセージ キューの末尾にメッセージを追加します。

詳細
パラメータ
[in] aQueue
メッセージ キューへのポインタ。
[in] aMessage
追加するメッセージです。

otMessageQueueEnqueueAtHead

void otMessageQueueEnqueueAtHead(
  otMessageQueue *aQueue,
  otMessage *aMessage
)

指定されたメッセージ キューの先頭または前面にメッセージを追加します。

詳細
パラメータ
[in] aQueue
メッセージ キューへのポインタ。
[in] aMessage
追加するメッセージです。

otMessageQueueGetHead

otMessage * otMessageQueueGetHead(
  otMessageQueue *aQueue
)

キューの先頭のメッセージへのポインタを返します。

詳細
パラメータ
[in] aQueue
メッセージ キューへのポインタ。
戻り値
キューの先頭にあるメッセージへのポインタ。キューが空の場合は NULL。

otMessageQueueGetNext

otMessage * otMessageQueueGetNext(
  otMessageQueue *aQueue,
  const otMessage *aMessage
)

前方(先頭から末尾まで)を反復処理して、キュー内の次のメッセージへのポインタを返します。

詳細
パラメータ
[in] aQueue
メッセージ キューへのポインタ。
[in] aMessage
現在のメッセージ バッファへのポインタ。
戻り値
aMessage の後のキュー内の次のメッセージへのポインタ。aMessage is the tail of queue. NULL is returned ifaMessageis not in the queueaQueue` の場合は NULL。

otMessageQueueInit

void otMessageQueueInit(
  otMessageQueue *aQueue
)

メッセージ キューを初期化します。

他の otMessageQueue 関数の前に、otMessageQueue インスタンスに対して 1 回だけ呼び出さなければなりません。他のキュー API が初期化前に otMessageQueue とともに使用された場合、または複数回初期化された場合、動作は未定義になります。

詳細
パラメータ
[in] aQueue
メッセージ キューへのポインタ。

otMessageRead

uint16_t otMessageRead(
  const otMessage *aMessage,
  uint16_t aOffset,
  void *aBuf,
  uint16_t aLength
)

メッセージからバイトを読み取ります。

詳細
パラメータ
[in] aMessage
メッセージ バッファへのポインタ。
[in] aOffset
バイト単位のオフセット。
[in] aBuf
メッセージ バイトの読み取り先となるバッファへのポインタ。
[in] aLength
読み取るバイト数。
戻り値
読み取られたバイト数。
関連項目:
otMessageFree
otMessageAppend
otMessageGetLength
otMessageSetLength
otMessageGetOffset
otMessageSetOffset
otMessageWrite

otMessageResetBufferInfo

void otMessageResetBufferInfo(
  otInstance *aInstance
)

同時に使用されている最大バッファ数をトラッキングするメッセージ バッファ情報カウンタをリセットします。

これにより、otBufferInfomMaxUsedBuffers がリセットされます。

詳細
パラメータ
[in] aInstance
OpenThread インスタンスへのポインタ。

otMessageSetDirectTransmission

void otMessageSetDirectTransmission(
  otMessage *aMessage,
  bool aEnabled
)

直接転送でメッセージを転送するよう設定または強制します。

新しいメッセージのデフォルト設定は false です。

詳細
パラメータ
[in] aMessage
メッセージ バッファへのポインタ。
[in] aEnabled
true の場合、メッセージでは直接送信が使用されます。false の場合、メッセージは通常の手順に沿って処理します。

otMessageSetLength

otError otMessageSetLength(
  otMessage *aMessage,
  uint16_t aLength
)

メッセージの長さをバイト単位で設定します。

詳細
パラメータ
[in] aMessage
メッセージ バッファへのポインタ。
[in] aLength
長さ(バイト単位)。
戻り値
OT_ERROR_NONE
メッセージの長さを設定しました。
OT_ERROR_NO_BUFS
メッセージを拡張するために使用可能なバッファがありません。
関連項目:
otMessageFree
otMessageAppend
otMessageGetLength
otMessageGetOffset
otMessageSetOffset
otMessageRead
otMessageWrite

otMessageSetLoopbackToHostAllowed

void otMessageSetLoopbackToHostAllowed(
  otMessage *aMessage,
  bool aAllowLoopbackToHost
)

ホストへのメッセージのループバックを許可するかどうかを設定します。

詳細
パラメータ
[in] aMessage
メッセージ バッファへのポインタ。
[in] aAllowLoopbackToHost
ホストへのメッセージのループバックを許可するかどうか。

otMessageSetMulticastLoopEnabled

void otMessageSetMulticastLoopEnabled(
  otMessage *aMessage,
  bool aEnabled
)

宛先がマルチキャスト アドレスの場合に、指定したメッセージをループバックできるかどうかを制御します。

詳細
パラメータ
[in] aMessage
メッセージへのポインタ。
[in] aEnabled
構成の値。

otMessageSetOffset

void otMessageSetOffset(
  otMessage *aMessage,
  uint16_t aOffset
)

メッセージ オフセットをバイト単位で設定します。

詳細
パラメータ
[in] aMessage
メッセージ バッファへのポインタ。
[in] aOffset
バイト単位のオフセット。
関連項目:
otMessageFree
otMessageAppend
otMessageGetLength
otMessageSetLength
otMessageGetOffset
otMessageRead
otMessageWrite

otMessageSetOrigin

void otMessageSetOrigin(
  otMessage *aMessage,
  otMessageOrigin aOrigin
)

メッセージの生成元を設定します。

詳細
パラメータ
[in] aMessage
メッセージ バッファへのポインタ。
[in] aOrigin
メッセージの送信元。

otMessageWrite

int otMessageWrite(
  otMessage *aMessage,
  uint16_t aOffset,
  const void *aBuf,
  uint16_t aLength
)

メッセージにバイトを書き込みます。

詳細
パラメータ
[in] aMessage
メッセージ バッファへのポインタ。
[in] aOffset
バイト単位のオフセット。
[in] aBuf
メッセージ バイトの書き込み元であるバッファへのポインタ。
[in] aLength
書き込むバイト数。
戻り値
書き込まれたバイト数。
関連項目:
otMessageFree
otMessageAppend
otMessageGetLength
otMessageSetLength
otMessageGetOffset
otMessageSetOffset
otMessageRead

関連情報

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