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

IPv6

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

概要

列挙

anonymous enum {
OT_ADDRESS_ORIGIN_THREAD = 0,
OT_ADDRESS_ORIGIN_SLAAC = 1,
OT_ADDRESS_ORIGIN_DHCPV6 = 2,
OT_ADDRESS_ORIGIN_MANUAL = 3
}
列挙型
IPv6アドレスの発信元。
anonymous enum {
OT_ECN_NOT_CAPABLE = 0x0,
OT_ECN_CAPABLE_0 = 0x2,
OT_ECN_CAPABLE_1 = 0x1,
OT_ECN_MARKED = 0x3
}
列挙型
IPヘッダーのように表されるECNステータス。
anonymous enum {
OT_IP6_PROTO_HOP_OPTS = 0,
OT_IP6_PROTO_TCP = 6,
OT_IP6_PROTO_UDP = 17,
OT_IP6_PROTO_IP6 = 41,
OT_IP6_PROTO_ROUTING = 43,
OT_IP6_PROTO_FRAGMENT = 44,
OT_IP6_PROTO_ICMP6 = 58,
OT_IP6_PROTO_NONE = 59,
OT_IP6_PROTO_DST_OPTS = 60
}
列挙型
インターネットプロトコル番号。

Typedef

otIp6Address typedef
struct otIp6Address
この構造はIPv6アドレスを表します。
otIp6AddressCallback )(const otIp6AddressInfo *aAddressInfo, bool aIsAdded, void *aContext) typedef
void(*
この関数ポインタは、内部IPv6アドレスが追加または削除されたときに呼び出されます。
otIp6AddressComponents typedef
この構造は、IPv6アドレスのコンポーネントを表します。
otIp6AddressInfo typedef
otIp6InterfaceIdentifier typedef
この構造は、IPv6アドレスのインターフェイス識別子を表します。
otIp6NetworkPrefix typedef
この構造は、IPv6アドレス(アドレスの最上位64ビット)のネットワークプレフィックスを表します。
otIp6Prefix typedef
struct otIp6Prefix
この構造は、IPv6プレフィックスを表します。
otIp6ReceiveCallback )(otMessage *aMessage, void *aContext) typedef
void(*
この関数ポインタは、IPv6データグラムを受信したときに呼び出されます。
otIp6RegisterMulticastListenersCallback )(void *aContext, otError aError, uint8_t aMlrStatus, const otIp6Address *aFailedAddresses, uint8_t aFailedAddressNum) typedef
void(*
この関数ポインタは、の結果と呼ばれるotIp6RegisterMulticastListeners
otIp6SlaacPrefixFilter )(otInstance *aInstance, const otIp6Prefix *aPrefix) typedef
bool(*
この関数ポインタを使用すると、ユーザーはプレフィックスをフィルタリングでき、プレフィックスに基づくSLAACアドレスを追加することはできません。
otMessageInfo typedef
この構造は、ローカルおよびピアのIPv6ソケットアドレスを表します。
otNetifAddress typedef
この構造は、IPv6ネットワークインターフェイスのユニキャストアドレスを表します。
otNetifMulticastAddress typedef
この構造は、IPv6ネットワークインターフェイスのマルチキャストアドレスを表します。
otSockAddr typedef
struct otSockAddr
この構造は、IPv6ソケットアドレスを表します。

変数

OT_TOOL_PACKED_END

関数

otIp6AddUnicastAddress ( otInstance *aInstance, const otNetifAddress *aAddress)
スレッドインターフェイスにネットワークインターフェイスアドレスを追加します。
otIp6AddUnsecurePort ( otInstance *aInstance, uint16_t aPort)
この関数は、許可されたセキュリティで保護されていないポートリストにポートを追加します。
otIp6AddressFromString (const char *aString, otIp6Address *aAddress)
この関数は、人間が読めるIPv6アドレス文字列をバイナリ表現に変換します。
otIp6AddressToString (const otIp6Address *aAddress, char *aBuffer, uint16_t aSize)
void
この関数は、指定されたIPv6アドレスを人間が読める文字列に変換します。
otIp6ArePrefixesEqual (const otIp6Prefix *aFirst, const otIp6Prefix *aSecond)
bool
2つのIPv6プレフィックスが同じかどうかをテストします。
otIp6GetMulticastAddresses ( otInstance *aInstance)
スレッドインターフェイスにサブスクライブされているIPv6マルチキャストアドレスのリストを取得します。
otIp6GetUnicastAddresses ( otInstance *aInstance)
スレッドインターフェイスに割り当てられたIPv6アドレスのリストを取得します。
otIp6GetUnsecurePorts ( otInstance *aInstance, uint8_t *aNumEntries)
const uint16_t *
この関数は、安全でないポートリストへのポインタを返します。
otIp6IsAddressEqual (const otIp6Address *aFirst, const otIp6Address *aSecond)
bool
2つのIPv6アドレスが同じかどうかをテストします。
otIp6IsAddressUnspecified (const otIp6Address *aAddress)
bool
この関数は、特定のIPv6アドレスが未指定アドレスであるかどうかを示します。
otIp6IsEnabled ( otInstance *aInstance)
bool
この関数は、IPv6インターフェースが稼働しているかどうかを示します。
otIp6IsMulticastPromiscuousEnabled ( otInstance *aInstance)
bool
スレッドインターフェイスでマルチキャストプロミスキャスモードが有効になっているかどうかを確認します。
otIp6IsReceiveFilterEnabled ( otInstance *aInstance)
bool
この関数は、で指定されたコールバックを介してIPv6データグラムを配信する際に、制御トラフィックが除外されているか否かをスレッド示しotIp6SetReceiveCallback() 。
otIp6IsSlaacEnabled ( otInstance *aInstance)
bool
この関数は、SLAACモジュールが有効になっているかどうかを示します。
otIp6NewMessage ( otInstance *aInstance, const otMessageSettings *aSettings)
IPv6メッセージを送信するための新しいメッセージバッファを割り当てます。
otIp6NewMessageFromBuffer ( otInstance *aInstance, const uint8_t *aData, uint16_t aDataLength, const otMessageSettings *aSettings)
新しいメッセージバッファを割り当て、IPv6メッセージを送信するためにIPv6データグラムをメッセージバッファに書き込みます。
otIp6PrefixMatch (const otIp6Address *aFirst, const otIp6Address *aSecond)
uint8_t
この関数は、2つのIPv6アドレスのプレフィックス一致長(ビット)を返します。
otIp6PrefixToString (const otIp6Prefix *aPrefix, char *aBuffer, uint16_t aSize)
void
この関数は、指定されたIPv6プレフィックスを人間が読める文字列に変換します。
otIp6ProtoToString (uint8_t aIpProto)
const char *
この関数は、指定されたIPプロトコル番号を人間が読める文字列に変換します。
otIp6RegisterMulticastListeners ( otInstance *aInstance, const otIp6Address *aAddresses, uint8_t aAddressNum, const uint32_t *aTimeout, otIp6RegisterMulticastListenersCallback aCallback, void *aContext)
この関数は、マルチキャストリスナーをプライマリバックボーンルーターに登録します。
otIp6RemoveAllUnsecurePorts ( otInstance *aInstance)
void
この関数は、許可された安全でないポートリストからすべてのポートを削除します。
otIp6RemoveUnicastAddress ( otInstance *aInstance, const otIp6Address *aAddress)
スレッドインターフェイスからネットワークインターフェイスアドレスを削除します。
otIp6RemoveUnsecurePort ( otInstance *aInstance, uint16_t aPort)
この関数は、許可された安全でないポートリストからポートを削除します。
otIp6SelectSourceAddress ( otInstance *aInstance, otMessageInfo *aMessageInfo)
この関数は、OpenThreadソースアドレスの選択を実行します。
otIp6Send ( otInstance *aInstance, otMessage *aMessage)
この関数は、スレッドインターフェイスを介してIPv6データグラムを送信します。
otIp6SetAddressCallback ( otInstance *aInstance, otIp6AddressCallback aCallback, void *aCallbackContext)
void
この関数は、内部IPv6アドレスの変更を通知するためのコールバックを登録します。
otIp6SetEnabled ( otInstance *aInstance, bool aEnabled)
この機能は、IPv6インターフェースを起動/停止します。
otIp6SetMeshLocalIid ( otInstance *aInstance, const otIp6InterfaceIdentifier *aIid)
この関数は、メッシュローカルIIDを設定します(テスト目的で)。
otIp6SetMulticastPromiscuousEnabled ( otInstance *aInstance, bool aEnabled)
void
スレッドインターフェイスでマルチキャストプロミスキャスモードを有効にします。
otIp6SetReceiveCallback ( otInstance *aInstance, otIp6ReceiveCallback aCallback, void *aCallbackContext)
void
この関数は、受信したIPv6データグラムを提供するためのコールバックを登録します。
otIp6SetReceiveFilterEnabled ( otInstance *aInstance, bool aEnabled)
void
で指定されたコールバックを介してIPv6データグラムを配信する際に、制御トラフィックが除外されているスレッドか否か、この機能セット)otIp6SetReceiveCallback( 。
otIp6SetSlaacEnabled ( otInstance *aInstance, bool aEnabled)
void
この機能は、SLAACモジュールを有効/無効にします。
otIp6SetSlaacPrefixFilter ( otInstance *aInstance, otIp6SlaacPrefixFilter aFilter)
void
この関数は、SLAACモジュールフィルターハンドラーを設定します。
otIp6SockAddrToString (const otSockAddr *aSockAddr, char *aBuffer, uint16_t aSize)
void
この関数は、指定されたIPv6ソケットアドレスを人間が読める文字列に変換します。
otIp6SubscribeMulticastAddress ( otInstance *aInstance, const otIp6Address *aAddress)
スレッドインターフェイスをネットワークインターフェイスマルチキャストアドレスにサブスクライブします。
otIp6UnsubscribeMulticastAddress ( otInstance *aInstance, const otIp6Address *aAddress)
スレッドインターフェイスのネットワークインターフェイスマルチキャストアドレスのサブスクライブを解除します。

構造体

otIp6Address

この構造はIPv6アドレスを表します。

otIp6AddressComponents

この構造は、IPv6アドレスのコンポーネントを表します。

otIp6AddressInfo

この構造は、IPv6アドレス情報を表します。

otIp6InterfaceIdentifier

この構造は、IPv6アドレスのインターフェイス識別子を表します。

otIp6NetworkPrefix

この構造は、IPv6アドレス(アドレスの最上位64ビット)のネットワークプレフィックスを表します。

otIp6Prefix

この構造は、IPv6プレフィックスを表します。

otMessageInfo

この構造は、ローカルおよびピアのIPv6ソケットアドレスを表します。

otNetifAddress

この構造は、IPv6ネットワークインターフェイスのユニキャストアドレスを表します。

otNetifMulticastAddress

この構造は、IPv6ネットワークインターフェイスのマルチキャストアドレスを表します。

otSockAddr

この構造は、IPv6ソケットアドレスを表します。

組合

otIp6InterfaceIdentifier :: OT_TOOL_PACKED_FIELD

列挙

匿名列挙型

 anonymous enum

IPv6アドレスの発信元。

プロパティ
OT_ADDRESS_ORIGIN_DHCPV6

DHCPv6が割り当てたアドレス。

OT_ADDRESS_ORIGIN_MANUAL

手動で割り当てられたアドレス。

OT_ADDRESS_ORIGIN_SLAAC

SLAACが割り当てたアドレス。

OT_ADDRESS_ORIGIN_THREAD

スレッドに割り当てられたアドレス(ALOC、RLOC、MLEIDなど)

匿名列挙型

 anonymous enum

IPヘッダーのように表されるECNステータス。

プロパティ
OT_ECN_CAPABLE_0

ECT(0)

OT_ECN_CAPABLE_1

ECT(1)

OT_ECN_MARKED

輻輳が発生しました(CE)

OT_ECN_NOT_CAPABLE

非ECT。

匿名列挙型

 anonymous enum

インターネットプロトコル番号。

プロパティ
OT_IP6_PROTO_DST_OPTS

IPv6の宛先オプション。

OT_IP6_PROTO_FRAGMENT

IPv6のフラグメントヘッダー。

OT_IP6_PROTO_HOP_OPTS

IPv6ホップバイホップオプション。

OT_IP6_PROTO_ICMP6

IPv6のICMP。

OT_IP6_PROTO_IP6

IPv6カプセル化。

OT_IP6_PROTO_NONE

IPv6の次のヘッダーはありません。

OT_IP6_PROTO_ROUTING

IPv6のルーティングヘッダー。

OT_IP6_PROTO_TCP

伝送制御プロトコル。

OT_IP6_PROTO_UDP

ユーザーデータグラム。

Typedef

otIp6Address

struct otIp6Address otIp6Address

この構造はIPv6アドレスを表します。

otIp6AddressCallback

void(* otIp6AddressCallback)(const otIp6AddressInfo *aAddressInfo, bool aIsAdded, void *aContext)

この関数ポインタは、内部IPv6アドレスが追加または削除されたときに呼び出されます。

詳細
パラメーター
[in] aAddressInfo
IPv6アドレス情報へのポインター。
[in] aIsAdded
場合TRUE aAddress添加して、FALSE場合aAddress削除されました。
[in] aContext
アプリケーション固有のコンテキストへのポインタ。

otIp6AddressComponents

struct otIp6AddressComponents otIp6AddressComponents

この構造は、IPv6アドレスのコンポーネントを表します。

otIp6AddressInfo

struct otIp6AddressInfo otIp6AddressInfo

otIp6InterfaceIdentifier

struct otIp6InterfaceIdentifier otIp6InterfaceIdentifier

この構造は、IPv6アドレスのインターフェイス識別子を表します。

otIp6NetworkPrefix

struct otIp6NetworkPrefix otIp6NetworkPrefix

この構造は、IPv6アドレス(アドレスの最上位64ビット)のネットワークプレフィックスを表します。

otIp6Prefix

struct otIp6Prefix otIp6Prefix

この構造は、IPv6プレフィックスを表します。

otIp6ReceiveCallback

void(* otIp6ReceiveCallback)(otMessage *aMessage, void *aContext)

この関数ポインタは、IPv6データグラムを受信したときに呼び出されます。

詳細
パラメーター
[in] aMessage
受信したIPv6データグラムを含むメッセージバッファへのポインタ。この関数は、の所有権転送aMessageコールバックの受信機に。それが処理された後、メッセージはコールバックの受信機によって解放されなければならない(参照otMessageFreeを() )。
[in] aContext
アプリケーション固有のコンテキストへのポインタ。

otIp6RegisterMulticastListenersCallback

void(* otIp6RegisterMulticastListenersCallback)(void *aContext, otError aError, uint8_t aMlrStatus, const otIp6Address *aFailedAddresses, uint8_t aFailedAddressNum)

この関数ポインタは、の結果と呼ばれるotIp6RegisterMulticastListeners

詳細
パラメーター
[in] aContext
ユーザーコンテキストへのポインタ。
[in] aError
MLR.reqを正常に送信してMLR.rspを受信した場合はOT_ERROR_NONE、MLR.rspの受信に失敗した場合はOT_ERROR_RESPONSE_TIMEOUT、MLR.rspの解析に失敗した場合はOT_ERROR_PARSE。
[in] aMlrStatus
マルチキャストリスナの登録状況際aError OT_ERROR_NONEです。
[in] aFailedAddresses
失敗したIPv6アドレスへのポインタaError OT_ERROR_NONEです。
[in] aFailedAddressNum
失敗したIPv6アドレスの数aError OT_ERROR_NONEです。
参照:
otIp6RegisterMulticastListeners

otIp6SlaacPrefixFilter

bool(* otIp6SlaacPrefixFilter)(otInstance *aInstance, const otIp6Prefix *aPrefix)

この関数ポインタを使用すると、ユーザーはプレフィックスをフィルタリングでき、プレフィックスに基づくSLAACアドレスを追加することはできません。

otIp6SetSlaacPrefixFilter()フィルタハンドラを設定するために使用することができます。フィルタハンドラは、プレフィックスに基づいてSLAACアドレスを追加しようとしているときにSLAACモジュールによって呼び出されます。そのブール戻り値は、アドレスがフィルタリングされる(追加されない)かどうかを決定します。

詳細
パラメーター
[in] aInstacne
OpenThreadインスタンスへのポインタ。
[in] aPrefix
SLAACアドレスが追加されようとしているプレフィックスへのポインタ。
戻り値
TRUE
プレフィックスに基づくSLAACアドレスをフィルタリングし、追加しないようにする必要があることを示します。
FALSE
プレフィックスに基づくSLAACアドレスを追加する必要があることを示します。

otMessageInfo

struct otMessageInfo otMessageInfo

この構造は、ローカルおよびピアのIPv6ソケットアドレスを表します。

otNetifAddress

struct otNetifAddress otNetifAddress

この構造は、IPv6ネットワークインターフェイスのユニキャストアドレスを表します。

otNetifMulticastAddress

struct otNetifMulticastAddress otNetifMulticastAddress

この構造は、IPv6ネットワークインターフェイスのマルチキャストアドレスを表します。

otSockAddr

struct otSockAddr otSockAddr

この構造は、IPv6ソケットアドレスを表します。

変数

OT_TOOL_PACKED_END

OT_TOOL_PACKED_BEGIN struct otIp6InterfaceIdentifier OT_TOOL_PACKED_END

関数

otIp6AddUnicastAddress

otError otIp6AddUnicastAddress(
  otInstance *aInstance,
  const otNetifAddress *aAddress
)

スレッドインターフェイスにネットワークインターフェイスアドレスを追加します。

渡されたインスタンスaAddressスレッド・インタフェースによってコピーされます。スレッドインターフェイスは、外部から追加された固定数のユニキャストアドレスのみをサポートします。 OPENTHREAD_CONFIG_IP6_MAX_EXT_UCAST_ADDRSを参照してください。

詳細
パラメーター
[in] aInstance
OpenThreadインスタンスへのポインタ。
[in] aAddress
ネットワークインターフェイスアドレスへのポインタ。
戻り値
OT_ERROR_NONE
ネットワークインターフェイスアドレスが正常に追加(または更新)されました。
OT_ERROR_INVALID_ARGS
で示されるIPアドレスaAddress内部アドレスです。
OT_ERROR_NO_BUFS
ネットワークインターフェイスは、許可されている最大の外部アドレスをすでに保存しています。

otIp6AddUnsecurePort

otError otIp6AddUnsecurePort(
  otInstance *aInstance,
  uint16_t aPort
)

この関数は、許可されたセキュリティで保護されていないポートリストにポートを追加します。

詳細
パラメーター
[in] aInstance
OpenThreadインスタンスへのポインタ。
[in] aPort
ポート値。
戻り値
OT_ERROR_NONE
ポートは、許可された安全でないポートリストに正常に追加されました。
OT_ERROR_INVALID_ARGS
ポートが無効です(値0は内部使用のために予約されています)。
OT_ERROR_NO_BUFS
安全でないポートのリストがいっぱいです。

otIp6AddressFromString

otError otIp6AddressFromString(
  const char *aString,
  otIp6Address *aAddress
)

この関数は、人間が読めるIPv6アドレス文字列をバイナリ表現に変換します。

詳細
パラメーター
[in] aString
NULLで終了する文字列へのポインタ。
[out] aAddress
IPv6アドレスへのポインター。
戻り値
OT_ERROR_NONE
文字列の解析に成功しました。
OT_ERROR_INVALID_ARGS
文字列の解析に失敗しました。

otIp6AddressToString

void otIp6AddressToString(
  const otIp6Address *aAddress,
  char *aBuffer,
  uint16_t aSize
)

この関数は、指定されたIPv6アドレスを人間が読める文字列に変換します。

IPv6アドレス文字列は、「:」で区切られた16個の16進値としてフォーマットされます(つまり、「%x:%x:%x:...:%x」)。

結果の文字列が中に入らない場合aBuffer (その内aSize文字)、文字列が切り捨てられますが、出力された文字列は常にヌルで終了です。

詳細
パラメーター
[in] aAddress
IPv6アドレスへのポインター(NULLであってはなりません)。
[out] aBuffer
文字列を出力するためのchar配列へのポインタ(NULLであってはなりません)。
[in] aSize
サイズaBuffer (バイト単位)。使用することをお勧めOT_IP6_ADDRESS_STRING_SIZE

otIp6ArePrefixesEqual

bool otIp6ArePrefixesEqual(
  const otIp6Prefix *aFirst,
  const otIp6Prefix *aSecond
)

2つのIPv6プレフィックスが同じかどうかをテストします。

詳細
パラメーター
[in] aFirst
比較する最初のIPv6プレフィックスへのポインタ。
[in] aSecond
比較する2番目のIPv6プレフィックスへのポインタ。
戻り値
TRUE
2つのIPv6プレフィックスは同じです。
FALSE
2つのIPv6プレフィックスは同じではありません。

otIp6GetMulticastAddresses

const otNetifMulticastAddress * otIp6GetMulticastAddresses(
  otInstance *aInstance
)

スレッドインターフェイスにサブスクライブされているIPv6マルチキャストアドレスのリストを取得します。

詳細
パラメーター
[in] aInstance
OpenThreadインスタンスへのポインタ。
戻り値
最初のネットワークインターフェイスマルチキャストアドレスへのポインタ。

otIp6GetUnicastAddresses

const otNetifAddress * otIp6GetUnicastAddresses(
  otInstance *aInstance
)

スレッドインターフェイスに割り当てられたIPv6アドレスのリストを取得します。

詳細
パラメーター
[in] aInstance
OpenThreadインスタンスへのポインタ。
戻り値
最初のネットワークインターフェイスアドレスへのポインタ。

otIp6GetUnsecurePorts

const uint16_t * otIp6GetUnsecurePorts(
  otInstance *aInstance,
  uint8_t *aNumEntries
)

この関数は、安全でないポートリストへのポインタを返します。

詳細
パラメーター
[in] aInstance
OpenThreadインスタンスへのポインタ。
[out] aNumEntries
リスト内のエントリの数。
戻り値
安全でないポートリストへのポインタ。

otIp6IsAddressEqual

bool otIp6IsAddressEqual(
  const otIp6Address *aFirst,
  const otIp6Address *aSecond
)

2つのIPv6アドレスが同じかどうかをテストします。

詳細
パラメーター
[in] aFirst
比較する最初のIPv6アドレスへのポインター。
[in] aSecond
比較する2番目のIPv6アドレスへのポインター。
戻り値
TRUE
2つのIPv6アドレスは同じです。
FALSE
2つのIPv6アドレスは同じではありません。

otIp6IsAddressUnspecified

bool otIp6IsAddressUnspecified(
  const otIp6Address *aAddress
)

この関数は、特定のIPv6アドレスが未指定アドレスであるかどうかを示します。

詳細
パラメーター
[in] aAddress
IPv6アドレスへのポインター。
戻り値
TRUE
IPv6アドレスが未指定アドレスの場合。
FALSE
IPv6アドレスが未指定アドレスでない場合。

otIp6IsEnabled

bool otIp6IsEnabled(
  otInstance *aInstance
)

この関数は、IPv6インターフェースが稼働しているかどうかを示します。

詳細
パラメーター
[in] aInstance
OpenThreadインスタンスへのポインタ。
戻り値
TRUE
IPv6インターフェースが有効になります。
FALSE
IPv6インターフェースは無効になっています。

otIp6IsMulticastPromiscuousEnabled

bool otIp6IsMulticastPromiscuousEnabled(
  otInstance *aInstance
)

スレッドインターフェイスでマルチキャスト無差別モードが有効になっているかどうかを確認します。

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

otIp6IsReceiveFilterEnabled

bool otIp6IsReceiveFilterEnabled(
  otInstance *aInstance
)

この関数は、で指定されたコールバックを介してIPv6データグラムを配信する際に、制御トラフィックが除外されているか否かをスレッド示しotIp6SetReceiveCallback() 。

詳細
パラメーター
[in] aInstance
OpenThreadインスタンスへのポインタ。
戻り値
スレッド制御トラフィックがフィルターで除外される場合はTRUE、それ以外の場合はFALSE。
参照:
otIp6SetReceiveCallback
otIp6SetReceiveFilterEnabled

otIp6IsSlaacEnabled

bool otIp6IsSlaacEnabled(
  otInstance *aInstance
)

この関数は、SLAACモジュールが有効かどうかを示します。

この機能は、ビルド時の機能が必要ですOPENTHREAD_CONFIG_IP6_SLAAC_ENABLE有効にする必要が。

詳細
戻り値
TRUE
SLAACモジュールが有効になっています。
FALSE
SLAACモジュールが無効になっています。

otIp6NewMessage

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

IPv6メッセージを送信するための新しいメッセージバッファを割り当てます。

詳細
パラメーター
[in] aInstance
OpenThreadインスタンスへのポインタ。
[in] aSettings
メッセージ設定へのポインタ、またはデフォルト設定を設定するためのNULL。
戻り値
メッセージバッファへのポインタ。使用可能なメッセージバッファがないか、パラメータが無効な場合はNULL。
参照:
otMessageFree

otIp6NewMessageFromBuffer

otMessage * otIp6NewMessageFromBuffer(
  otInstance *aInstance,
  const uint8_t *aData,
  uint16_t aDataLength,
  const otMessageSettings *aSettings
)

新しいメッセージバッファを割り当て、IPv6メッセージを送信するためにIPv6データグラムをメッセージバッファに書き込みます。

詳細
パラメーター
[in] aInstance
OpenThreadインスタンスへのポインタ。
[in] aData
IPv6データグラムバッファへのポインタ。
[in] aDataLength
IPv6データグラムバッファのサイズはで指さaData
[in] aSettings
メッセージ設定へのポインタ、またはデフォルト設定を設定するためのNULL。
戻り値
メッセージへのポインタ。不正な形式のIPv6ヘッダーまたは不十分なメッセージバッファが使用可能な場合はNULL。
参照:
otMessageFree

otIp6PrefixMatch

uint8_t otIp6PrefixMatch(
  const otIp6Address *aFirst,
  const otIp6Address *aSecond
)

この関数は、2つのIPv6アドレスのプレフィックス一致長(ビット)を返します。

詳細
パラメーター
[in] aFirst
最初のIPv6アドレスへのポインター。
[in] aSecond
2番目のIPv6アドレスへのポインター。
戻り値
プレフィックスはビット単位の長さに一致します。

otIp6PrefixToString

void otIp6PrefixToString(
  const otIp6Prefix *aPrefix,
  char *aBuffer,
  uint16_t aSize
)

この関数は、指定されたIPv6プレフィックスを人間が読める文字列に変換します。

IPv6アドレス文字列は、「%x:%x:%x:... [::] / plen」の形式になっています。

結果の文字列が中に入らない場合aBuffer (その内aSize文字)、文字列が切り捨てられますが、出力された文字列は常にヌルで終了です。

詳細
パラメーター
[in] aPrefix
IPv6プレフィックスへのポインタ(NULLであってはなりません)。
[out] aBuffer
文字列を出力するためのchar配列へのポインタ(NULLであってはなりません)。
[in] aSize
サイズaBuffer (バイト単位)。使用することをお勧めOT_IP6_PREFIX_STRING_SIZE

otIp6ProtoToString

const char * otIp6ProtoToString(
  uint8_t aIpProto
)

この関数は、指定されたIPプロトコル番号を人間が読める文字列に変換します。

詳細
パラメーター
[in] aIpProto
IPプロトコル番号( OT_IP6_PROTO_*列挙)。
戻り値
表す文字列aIpProto

otIp6RegisterMulticastListeners

otError otIp6RegisterMulticastListeners(
  otInstance *aInstance,
  const otIp6Address *aAddresses,
  uint8_t aAddressNum,
  const uint32_t *aTimeout,
  otIp6RegisterMulticastListenersCallback aCallback,
  void *aContext
)

この関数は、マルチキャストリスナーをプライマリバックボーンルーターに登録します。

注:両方の場合にのみ利用可能OPENTHREAD_CONFIG_TMF_PROXY_MLR_ENABLEOPENTHREAD_CONFIG_COMMISSIONER_ENABLE有効になっています)

詳細
パラメーター
[in] aInstance
OpenThreadインスタンスへのポインタ。
[in] aAddresses
登録するマルチキャストアドレス配列。
[in] aAddressNum
(あれば0を登録するマルチキャストアドレスの数aAddresses NULLです)。
[in] aTimeout
MLR.reqに含まれるタイムアウト値(秒単位)へのポインター。タイムアウト値0は、対応するマルチキャストリスナを削除します。 NULLの場合、MLR.reqにはデフォルトでタイムアウトTlvがありません。
[in] aCallback
コールバック関数へのポインター。
[in] aContext
ユーザーコンテキストへのポインタ。
戻り値
OT_ERROR_NONE
MLR.reqを正常に送信しました。 aCallback 、このメソッドが返すのOT_ERROR_NONE場合に限っと呼ばれます。
OT_ERROR_BUSY
以前の登録が進行中だった場合。
OT_ERROR_INVALID_ARGS
1つ以上の引数が無効な場合。
OT_ERROR_INVALID_STATE
デバイスがMLR.reqを送信するための有効な状態になかった場合(コミッショナーが起動していない、プライマリバックボーンルーターが見つからないなど)。
OT_ERROR_NO_BUFS
利用可能なメッセージバッファが不十分な場合。
参照:
otIp6RegisterMulticastListenersCallback

otIp6RemoveAllUnsecurePorts

void otIp6RemoveAllUnsecurePorts(
  otInstance *aInstance
)

この関数は、許可された安全でないポートリストからすべてのポートを削除します。

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

otIp6RemoveUnicastAddress

otError otIp6RemoveUnicastAddress(
  otInstance *aInstance,
  const otIp6Address *aAddress
)

スレッドインターフェイスからネットワークインターフェイスアドレスを削除します。

詳細
パラメーター
[in] aInstance
OpenThreadインスタンスへのポインタ。
[in] aAddress
IPアドレスへのポインタ。
戻り値
OT_ERROR_NONE
ネットワークインターフェイスアドレスが正常に削除されました。
OT_ERROR_INVALID_ARGS
で示されるIPアドレスaAddress内部アドレスです。
OT_ERROR_NOT_FOUND
で示されるIPアドレスaAddress見つかりませんでした。

otIp6RemoveUnsecurePort

otError otIp6RemoveUnsecurePort(
  otInstance *aInstance,
  uint16_t aPort
)

この関数は、許可された安全でないポートリストからポートを削除します。

詳細
パラメーター
[in] aInstance
OpenThreadインスタンスへのポインタ。
[in] aPort
ポート値。
戻り値
OT_ERROR_NONE
ポートは、許可された安全でないポートリストから正常に削除されました。
OT_ERROR_INVALID_ARGS
ポートが無効です(値0は内部使用のために予約されています)。
OT_ERROR_NOT_FOUND
安全でないポートリストにポートが見つかりませんでした。

otIp6SelectSourceAddress

otError otIp6SelectSourceAddress(
  otInstance *aInstance,
  otMessageInfo *aMessageInfo
)

この関数は、OpenThreadソースアドレスの選択を実行します。

詳細
パラメーター
[in] aInstance
OpenThreadインスタンスへのポインタ。
[in,out] aMessageInfo
メッセージ情報へのポインタ。
戻り値
OT_ERROR_NONE
送信元アドレスを発見したとのmSockAddrに充填するaMessageInfo
OT_ERROR_NOT_FOUND
いいえソースアドレスが見つからなかったとaMessageInfo変更されません。

otIp6Send

otError otIp6Send(
  otInstance *aInstance,
  otMessage *aMessage
)

この関数は、スレッドインターフェイスを介してIPv6データグラムを送信します。

呼び出し側が所有権の転送aMessageこの呼び出しを行うとき。 OpenThreadは解放されますaMessage処理が完了したとき以外の値ときを含め、 OT_ERROR_NONE返されます。

詳細
パラメーター
[in] aInstance
OpenThreadインスタンスへのポインタ。
[in] aMessage
IPv6データグラムを含むメッセージバッファへのポインタ。
戻り値
OT_ERROR_NONE
メッセージを正常に処理しました。
OT_ERROR_DROP
メッセージは整形式でしたが、パケット処理ルールのために完全には処理されませんでした。
OT_ERROR_NO_BUFS
データグラムの処理時に必要なメッセージバッファを割り当てることができませんでした。
OT_ERROR_NO_ROUTE
ホストへのルートがありません。
OT_ERROR_INVALID_SOURCE_ADDRESS
エニーキャストアドレスやマルチキャストアドレスなど、送信元アドレスが無効です。
OT_ERROR_PARSE
メッセージの処理中に不正な形式のヘッダーが発生しました。

otIp6SetAddressCallback

void otIp6SetAddressCallback(
  otInstance *aInstance,
  otIp6AddressCallback aCallback,
  void *aCallbackContext
)

この関数は、内部IPv6アドレスの変更を通知するためのコールバックを登録します。

詳細
パラメーター
[in] aInstance
OpenThreadインスタンスへのポインタ。
[in] aCallback
内部IPv6アドレスが追加または削除されたときに呼び出される関数へのポインター。コールバックを無効にするにはNULL。
[in] aCallbackContext
アプリケーション固有のコンテキストへのポインタ。

otIp6SetEnabled

otError otIp6SetEnabled(
  otInstance *aInstance,
  bool aEnabled
)

この機能は、IPv6インターフェースを起動/停止します。

この関数を呼び出して、IPv6通信を有効/無効にします。

詳細
パラメーター
[in] aInstance
OpenThreadインスタンスへのポインタ。
[in] aEnabled
IPv6を有効にする場合はTRUE、それ以外の場合はFALSE。
戻り値
OT_ERROR_NONE
IPv6インターフェイスを正常にアップ/ダウンしました。
OT_ERROR_INVALID_STATE
デバイスは、生のリンクモードで動作しているため、IPv6インタフェースは、(場合にのみ適用はできませんOPENTHREAD_CONFIG_LINK_RAW_ENABLE機能が有効になっています)。

otIp6SetMeshLocalIid

otError otIp6SetMeshLocalIid(
  otInstance *aInstance,
  const otIp6InterfaceIdentifier *aIid
)

この関数は、メッシュローカルIIDを設定します(テスト目的で)。

場合にのみ利用可能OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE有効になっています。

詳細
パラメーター
[in] aInstance
OpenThreadインスタンスへのポインタ。
[in] aIid
設定するメッシュローカルIIDへのポインタ。
戻り値
OT_ERROR_NONE
メッシュローカルIIDを正常に設定しました。
OT_ERROR_INVALID_STATE
スレッドプロトコルが有効になっています。

otIp6SetMulticastPromiscuousEnabled

void otIp6SetMulticastPromiscuousEnabled(
  otInstance *aInstance,
  bool aEnabled
)

スレッドインターフェイスでマルチキャストプロミスキャスモードを有効にします。

詳細
パラメーター
[in] aInstance
OpenThreadインスタンスへのポインタ。
[in] aEnabled
マルチキャストプロミスキャスモードを有効にする場合はTRUE、それ以外の場合はFALSE。
参照:
otIp6IsMulticastPromiscuousEnabled

otIp6SetReceiveCallback

void otIp6SetReceiveCallback(
  otInstance *aInstance,
  otIp6ReceiveCallback aCallback,
  void *aCallbackContext
)

この関数は、受信したIPv6データグラムを提供するためのコールバックを登録します。

デフォルトでは、このコールバックはスレッド制御トラフィックを渡しません。参照otIp6SetReceiveFilterEnabledを()スレッド制御トラフィックフィルタの設定を変更します。

詳細
パラメーター
[in] aInstance
OpenThreadインスタンスへのポインタ。
[in] aCallback
IPv6データグラムが受信されたときに呼び出される関数へのポインター、またはコールバックを無効にするためのNULL。
[in] aCallbackContext
アプリケーション固有のコンテキストへのポインタ。
参照:
otIp6IsReceiveFilterEnabled
otIp6SetReceiveFilterEnabled

otIp6SetReceiveFilterEnabled

void otIp6SetReceiveFilterEnabled(
  otInstance *aInstance,
  bool aEnabled
)

で指定されたコールバックを介してIPv6データグラムを配信する際に、制御トラフィックが除外されているスレッドか否か、この機能セット)otIp6SetReceiveCallback( 。

詳細
パラメーター
[in] aInstance
OpenThreadインスタンスへのポインタ。
[in] aEnabled
スレッド制御トラフィックがフィルターで除外される場合はTRUE、それ以外の場合はFALSE。
参照:
otIp6SetReceiveCallback
otIsReceiveIp6FilterEnabled

otIp6SetSlaacEnabled

void otIp6SetSlaacEnabled(
  otInstance *aInstance,
  bool aEnabled
)

この機能は、SLAACモジュールを有効/無効にします。

この機能は、ビルド時の機能が必要ですOPENTHREAD_CONFIG_IP6_SLAAC_ENABLE有効にする必要が。

SLAACモジュールが有効になっている場合、SLAACアドレス(ネットワークデータのメッシュ上のプレフィックスに基づく)がインターフェイスに追加されます。 SLAACモジュールを無効にすると、以前に追加されたSLAACアドレスはすべて削除されます。

詳細
パラメーター
[in] aInstance
OpenThreadインスタンスへのポインタ。
[in] aEnabled
有効にするにはTRUE、無効にするにはFALSE。

otIp6SetSlaacPrefixFilter

void otIp6SetSlaacPrefixFilter(
  otInstance *aInstance,
  otIp6SlaacPrefixFilter aFilter
)

この関数は、SLAACモジュールフィルターハンドラーを設定します。

この機能は、ビルド時の機能が必要ですOPENTHREAD_CONFIG_IP6_SLAAC_ENABLE有効にする必要が。

フィルタハンドラは、プレフィックスに基づいてSLAACアドレスを追加しようとしているときに、アドレスを追加するかどうかを決定するためにSLAACモジュールによって呼び出されます。

NULLフィルターハンドラーはフィルタリングを無効にし、すべてのSLAACアドレスを追加できるようにします。

この関数が呼び出されない場合、SLAACモジュールによって使用されるデフォルトのフィルターはNULLになります(フィルタリングは無効になります)。

詳細
パラメーター
[in] aInstance
OpenThreadインスタンスへのポインタ。
[in] aFilter
SLAACプレフィックスフィルターハンドラーへのポインター、またはフィルタリングを無効にする場合はNULL。

otIp6SockAddrToString

void otIp6SockAddrToString(
  const otSockAddr *aSockAddr,
  char *aBuffer,
  uint16_t aSize
)

この関数は、指定されたIPv6ソケットアドレスを人間が読める文字列に変換します。

IPv6ソケットアドレス文字列は「[

]: "ここで`
':'とで区切られた16の16進値として表示されます10進形式のポート番号です(つまり、 "[%x:%x:...:%x]:%u")

結果の文字列が中に入らない場合aBuffer (その内aSize文字)、文字列が切り捨てられますが、出力された文字列は常にヌルで終了です。

詳細
パラメーター
[in] aSockAddr
IPv6ソケットアドレスへのポインタ(NULLであってはなりません)。
[out] aBuffer
文字列を出力するためのchar配列へのポインタ(NULLであってはなりません)。
[in] aSize
サイズaBuffer (バイト単位)。使用することをお勧めOT_IP6_SOCK_ADDR_STRING_SIZE

otIp6SubscribeMulticastAddress

otError otIp6SubscribeMulticastAddress(
  otInstance *aInstance,
  const otIp6Address *aAddress
)

スレッドインターフェイスをネットワークインターフェイスマルチキャストアドレスにサブスクライブします。

インスタンスに渡されたaAddressスレッド・インタフェースによってコピーされます。スレッドインターフェイスは、外部から追加された固定数のマルチキャストアドレスのみをサポートします。 OPENTHREAD_CONFIG_IP6_MAX_EXT_MCAST_ADDRSを参照してください。

詳細
パラメーター
[in] aInstance
OpenThreadインスタンスへのポインタ。
[in] aAddress
IPアドレスへのポインタ。
戻り値
OT_ERROR_NONE
ネットワークインターフェイスマルチキャストアドレスに正常にサブスクライブされました。
OT_ERROR_ALREADY
マルチキャストアドレスはすでにサブスクライブされています。
OT_ERROR_INVALID_ARGS
で示されるIPアドレスaAddress無効なアドレスです。
OT_ERROR_INVALID_STATE
ネットワークインターフェイスが起動していません。
OT_ERROR_NO_BUFS
ネットワークインターフェイスは、許可されている最大の外部マルチキャストアドレスをすでに保存しています。

otIp6UnsubscribeMulticastAddress

otError otIp6UnsubscribeMulticastAddress(
  otInstance *aInstance,
  const otIp6Address *aAddress
)

スレッドインターフェイスのネットワークインターフェイスマルチキャストアドレスのサブスクライブを解除します。

詳細
パラメーター
[in] aInstance
OpenThreadインスタンスへのポインタ。
[in] aAddress
IPアドレスへのポインタ。
戻り値
OT_ERROR_NONE
ネットワークインターフェイスマルチキャストアドレスのサブスクライブを正常に解除しました。
OT_ERROR_INVALID_ARGS
で示されるIPアドレスaAddress内部アドレスです。
OT_ERROR_NOT_FOUND
で示されるIPアドレスaAddress見つかりませんでした。

マクロ

OT_IP6_ADDRESS_SIZE

 OT_IP6_ADDRESS_SIZE 16

IPv6アドレスのサイズ(バイト)

OT_IP6_ADDRESS_STRING_SIZE

 OT_IP6_ADDRESS_STRING_SIZE 40

IPv6アドレスの文字列表現に推奨されるサイズ。

OT_IP6_IID_SIZE

 OT_IP6_IID_SIZE 8

IPv6インターフェイス識別子のサイズ(バイト)

OT_IP6_PREFIX_BITSIZE

 OT_IP6_PREFIX_BITSIZE (OT_IP6_PREFIX_SIZE * 8)

IPv6プレフィックスのサイズ(ビット)

OT_IP6_PREFIX_SIZE

 OT_IP6_PREFIX_SIZE 8

IPv6プレフィックスのサイズ(バイト)

OT_IP6_PREFIX_STRING_SIZE

 OT_IP6_PREFIX_STRING_SIZE 45

IPv6プレフィックスの文字列表現の推奨サイズ。

OT_IP6_SOCK_ADDR_STRING_SIZE

 OT_IP6_SOCK_ADDR_STRING_SIZE 48

IPv6ソケットアドレスの文字列表現に推奨されるサイズ。