IPv6
このモジュールには、IPv6 通信を制御する関数が含まれています。
概要
列挙型 |
|
---|---|
anonymous enum{
|
enum Internet Protocol Numbers(インターネット プロトコル番号)。 |
anonymous enum{
|
enum IPv6 アドレス送信元。 |
anonymous enum{
|
enum IP ヘッダーで表される ECN ステータス。 |
Typedef |
|
---|---|
otBorderRoutingCounters
|
typedefstruct otBorderRoutingCounters
ボーダー ルーティングを介して転送されたパケットのカウンタを表します。 |
otIp6Address
|
typedefstruct otIp6Address
IPv6 アドレスを表します。 |
otIp6AddressCallback)(const otIp6AddressInfo *aAddressInfo, bool aIsAdded, void *aContext)
|
typedefvoid(*
内部 IPv6 アドレスが追加または削除されると、ポインタが呼び出されます。 |
otIp6AddressComponents
|
typedefstruct otIp6AddressComponents
IPv6 アドレスのコンポーネントを表します。 |
otIp6AddressInfo
|
typedefstruct otIp6AddressInfo
IPv6 アドレス情報を表します。 |
otIp6InterfaceIdentifier
|
typedefstruct otIp6InterfaceIdentifier
IPv6 アドレスのインターフェース識別子を表します。 |
otIp6NetworkPrefix
|
typedefstruct otIp6NetworkPrefix
IPv6 アドレスのネットワーク プレフィックス(アドレスの最上位 64 ビット)を表します。 |
otIp6Prefix
|
typedefstruct otIp6Prefix
IPv6 プレフィックスを表します。 |
otIp6ReceiveCallback)(otMessage *aMessage, void *aContext)
|
typedefvoid(*
IPv6 データグラムを受信するとポインタが呼び出されます。 |
otIp6RegisterMulticastListenersCallback)(void *aContext, otError aError, uint8_t aMlrStatus, const otIp6Address *aFailedAddresses, uint8_t aFailedAddressNum)
|
typedefvoid(*
otIp6RegisterMulticastListeners の結果でポインタが呼び出されます。 |
otIp6SlaacPrefixFilter)(otInstance *aInstance, const otIp6Prefix *aPrefix)
|
typedefbool(*
ポインタを使用すると、ユーザーはプレフィックスをフィルタでき、プレフィックスに基づいて SLAAC アドレスを追加することはできません。 |
otMessageInfo
|
typedefstruct otMessageInfo
ローカルおよびピアの IPv6 ソケット アドレスを表します。 |
otNetifAddress
|
typedefstruct otNetifAddress
IPv6 ネットワーク インターフェースのユニキャスト アドレスを表します。 |
otNetifMulticastAddress
|
typedefstruct otNetifMulticastAddress
IPv6 ネットワーク インターフェースのマルチキャスト アドレスを表します。 |
otPacketsAndBytes
|
typedefstruct otPacketsAndBytes
パケットとバイトのカウンタを表します。 |
otSockAddr
|
typedefstruct otSockAddr
IPv6 ソケット アドレスを表します。 |
変数 |
|
---|---|
OT_TOOL_PACKED_END
|
関数 |
|
---|---|
otIp6AddUnicastAddress(otInstance *aInstance, const otNetifAddress *aAddress)
|
Thread インターフェースにネットワーク インターフェース アドレスを追加します。
|
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 プレフィックスが同じかどうかをテストします。
|
otIp6GetBorderRoutingCounters(otInstance *aInstance)
|
const otBorderRoutingCounters *
ボーダー ルーティング カウンタを取得します。
|
otIp6GetMulticastAddresses(otInstance *aInstance)
|
const otNetifMulticastAddress *
Thread インターフェースに登録されている IPv6 マルチキャスト アドレスのリストを取得します。
|
otIp6GetPrefix(const otIp6Address *aAddress, uint8_t aLength, otIp6Prefix *aPrefix)
|
void
aAddress から aLength の接頭辞を取得します。 |
otIp6GetUnicastAddresses(otInstance *aInstance)
|
const otNetifAddress *
Thread インターフェースに割り当てられた IPv6 アドレスのリストを取得します。
|
otIp6GetUnsecurePorts(otInstance *aInstance, uint8_t *aNumEntries)
|
const uint16_t *
安全でないポートリストへのポインタを返します。
|
otIp6HasUnicastAddress(otInstance *aInstance, const otIp6Address *aAddress)
|
bool
Thread インターフェースにユニキャスト IPv6 アドレスが割り当てられているかどうかを示します。
|
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
Thread インターフェースでマルチキャスト プロミスキャス モードが有効になっているかどうかを確認します。
|
otIp6IsReceiveFilterEnabled(otInstance *aInstance)
|
bool
otIp6SetReceiveCallback() で指定されたコールバックを介して IPv6 データグラムを配信する際に、スレッド制御トラフィックが除外されるかどうかを示します。
|
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 データグラムをメッセージ バッファに書き込みます。
|
otIp6PrefixFromString(const char *aString, otIp6Prefix *aPrefix)
|
人が読める 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)
|
Thread インターフェースからネットワーク インターフェース アドレスを削除します。
|
otIp6RemoveUnsecurePort(otInstance *aInstance, uint16_t aPort)
|
保護されていないポートの許可リストからポートを削除します。
|
otIp6ResetBorderRoutingCounters(otInstance *aInstance)
|
void
ボーダー ルーティング カウンタをリセットします。
|
otIp6SelectSourceAddress(otInstance *aInstance, otMessageInfo *aMessageInfo)
|
OpenThread 送信元アドレスの選択を実行します。
|
otIp6Send(otInstance *aInstance, otMessage *aMessage)
|
Thread インターフェースを介して 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
Thread インターフェースで、マルチキャスト プロミスキャス モードを有効または無効にします。
|
otIp6SetReceiveCallback(otInstance *aInstance, otIp6ReceiveCallback aCallback, void *aCallbackContext)
|
void
受信した IPv6 データグラムを提供するコールバックを登録します。
|
otIp6SetReceiveFilterEnabled(otInstance *aInstance, bool aEnabled)
|
void
otIp6SetReceiveCallback() で指定されたコールバックを介して IPv6 データグラムを配信するときに、スレッド制御トラフィックを除外するかどうかを設定します。
|
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)
|
Thread インターフェースをネットワーク インターフェース マルチキャスト アドレスに登録します。
|
otIp6UnsubscribeMulticastAddress(otInstance *aInstance, const otIp6Address *aAddress)
|
ネットワーク インターフェース マルチキャスト アドレスへの Thread インターフェースの登録を解除します。
|
構造体 |
|
---|---|
otBorderRoutingCounters |
ボーダー ルーティングを介して転送されたパケットのカウンタを表します。 |
otIp6Address |
IPv6 アドレスを表します。 |
otIp6AddressComponents |
IPv6 アドレスのコンポーネントを表します。 |
otIp6AddressInfo |
IPv6 アドレス情報を表します。 |
otIp6InterfaceIdentifier |
IPv6 アドレスのインターフェース識別子を表します。 |
otIp6NetworkPrefix |
IPv6 アドレスのネットワーク プレフィックス(アドレスの最上位 64 ビット)を表します。 |
otIp6Prefix |
IPv6 プレフィックスを表します。 |
otMessageInfo |
ローカルおよびピアの IPv6 ソケット アドレスを表します。 |
otNetifAddress |
IPv6 ネットワーク インターフェースのユニキャスト アドレスを表します。 |
otNetifMulticastAddress |
IPv6 ネットワーク インターフェースのマルチキャスト アドレスを表します。 |
otPacketsAndBytes |
パケットとバイトのカウンタを表します。 |
otSockAddr |
IPv6 ソケット アドレスを表します。 |
共用体 |
|
---|---|
otIp6InterfaceIdentifier:: |
列挙型
匿名列挙型
anonymous enum
Internet Protocol Numbers(インターネット プロトコル番号)。
プロパティ | |
---|---|
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
|
No Next Header for IPv6。 |
OT_IP6_PROTO_ROUTING
|
IPv6 のルーティング ヘッダー。 |
OT_IP6_PROTO_TCP
|
伝送制御プロトコル(Transmission Control Protocol)。 |
OT_IP6_PROTO_UDP
|
User Datagram。 |
匿名列挙型
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 以外。 |
Typedef
otBorderRoutingCounters
struct otBorderRoutingCounters otBorderRoutingCounters
ボーダー ルーティングを介して転送されたパケットのカウンタを表します。
otIp6AddressCallback
void(* otIp6AddressCallback)(const otIp6AddressInfo *aAddressInfo, bool aIsAdded, void *aContext)
内部 IPv6 アドレスが追加または削除されると、ポインタが呼び出されます。
詳細 | |||||||
---|---|---|---|---|---|---|---|
パラメータ |
|
otIp6InterfaceIdentifier
struct otIp6InterfaceIdentifier otIp6InterfaceIdentifier
IPv6 アドレスのインターフェース識別子を表します。
otIp6NetworkPrefix
struct otIp6NetworkPrefix otIp6NetworkPrefix
IPv6 アドレスのネットワーク プレフィックス(アドレスの最上位 64 ビット)を表します。
otIp6ReceiveCallback
void(* otIp6ReceiveCallback)(otMessage *aMessage, void *aContext)
IPv6 データグラムを受信するとポインタが呼び出されます。
詳細 | |||||
---|---|---|---|---|---|
パラメータ |
|
otIp6RegisterMulticastListenersCallback
void(* otIp6RegisterMulticastListenersCallback)(void *aContext, otError aError, uint8_t aMlrStatus, const otIp6Address *aFailedAddresses, uint8_t aFailedAddressNum)
otIp6RegisterMulticastListeners
の結果でポインタが呼び出されます。
詳細 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
パラメータ |
|
otIp6RegisterMulticastListeners
otIp6SlaacPrefixFilter
bool(* otIp6SlaacPrefixFilter)(otInstance *aInstance, const otIp6Prefix *aPrefix)
ポインタを使用すると、ユーザーはプレフィックスをフィルタでき、プレフィックスに基づいて SLAAC アドレスを追加することはできません。
otIp6SetSlaacPrefixFilter()
を使用すると、フィルタ ハンドラを設定できます。フィルタ ハンドラは、SLAAC モジュールが接頭辞に基づいて SLAAC アドレスを追加しようとしたときに呼び出されます。このブール値の戻り値によって、住所がフィルタされる(追加されていない)かどうかが決まります。
詳細 | |||||
---|---|---|---|---|---|
パラメータ |
|
||||
戻り値 |
|
otNetifMulticastAddress
struct otNetifMulticastAddress otNetifMulticastAddress
IPv6 ネットワーク インターフェースのマルチキャスト アドレスを表します。
変数
OT_TOOL_PACKED_END
OT_TOOL_PACKED_BEGIN struct otIp6InterfaceIdentifier OT_TOOL_PACKED_END
関数
otIp6AddUnicastAddress
otError otIp6AddUnicastAddress( otInstance *aInstance, const otNetifAddress *aAddress )
Thread インターフェースにネットワーク インターフェース アドレスを追加します。
渡されたインスタンス aAddress
が Thread インターフェースによってコピーされます。Thread インターフェースは、外部に追加された一定数のユニキャスト アドレスのみをサポートします。OPENTHREAD_CONFIG_IP6_MAX_EXT_UCAST_ADDRS
をご確認ください。
詳細 | |||||||
---|---|---|---|---|---|---|---|
パラメータ |
|
||||||
戻り値 |
|
otIp6AddUnsecurePort
otError otIp6AddUnsecurePort( otInstance *aInstance, uint16_t aPort )
保護されていないポートの許可リストにポートを追加します。
詳細 | |||||||
---|---|---|---|---|---|---|---|
パラメータ |
|
||||||
戻り値 |
|
otIp6AddressFromString
otError otIp6AddressFromString( const char *aString, otIp6Address *aAddress )
人が読める IPv6 アドレス文字列をバイナリ表現に変換します。
詳細 | |||||
---|---|---|---|---|---|
パラメータ |
|
||||
戻り値 |
|
otIp6AddressToString
void otIp6AddressToString( const otIp6Address *aAddress, char *aBuffer, uint16_t aSize )
指定された IPv6 アドレスを人が読める文字列に変換します。
IPv6 アドレス文字列は、「:」で区切られた 16 個の 16 進数値の形式です("%x:%x:%x:...:%x").
結果の文字列が aSize
文字内の aBuffer
に収まらない場合、文字列は切り捨てられますが、出力される文字列は常に null で終わる文字列になります。
詳細 | |||||||
---|---|---|---|---|---|---|---|
パラメータ |
|
otIp6ArePrefixesEqual
bool otIp6ArePrefixesEqual( const otIp6Prefix *aFirst, const otIp6Prefix *aSecond )
2 つの IPv6 プレフィックスが同じかどうかをテストします。
詳細 | |||||
---|---|---|---|---|---|
パラメータ |
|
||||
戻り値 |
|
otIp6GetBorderRoutingCounters
const otBorderRoutingCounters * otIp6GetBorderRoutingCounters( otInstance *aInstance )
ボーダー ルーティング カウンタを取得します。
OPENTHREAD_CONFIG_IP6_BR_COUNTERS_ENABLE
ビルド時の機能を有効にする必要があります。
詳細 | |||
---|---|---|---|
パラメータ |
|
||
戻り値 |
ボーダー ルーティング カウンタへのポインタ。
|
otIp6GetMulticastAddresses
const otNetifMulticastAddress * otIp6GetMulticastAddresses( otInstance *aInstance )
Thread インターフェースに登録されている IPv6 マルチキャスト アドレスのリストを取得します。
詳細 | |||
---|---|---|---|
パラメータ |
|
||
戻り値 |
最初のネットワーク インターフェース マルチキャスト アドレスへのポインタ。
|
otIp6GetPrefix
void otIp6GetPrefix( const otIp6Address *aAddress, uint8_t aLength, otIp6Prefix *aPrefix )
aAddress
から aLength
の接頭辞を取得します。
詳細 | |||||||
---|---|---|---|---|---|---|---|
パラメータ |
|
otIp6GetUnicastAddresses
const otNetifAddress * otIp6GetUnicastAddresses( otInstance *aInstance )
Thread インターフェースに割り当てられた IPv6 アドレスのリストを取得します。
詳細 | |||
---|---|---|---|
パラメータ |
|
||
戻り値 |
最初のネットワーク インターフェース アドレスへのポインタ。
|
otIp6GetUnsecurePorts
const uint16_t * otIp6GetUnsecurePorts( otInstance *aInstance, uint8_t *aNumEntries )
安全でないポートリストへのポインタを返します。
詳細 | |||||
---|---|---|---|---|---|
パラメータ |
|
||||
戻り値 |
安全でないポートリストへのポインタ。
|
otIp6HasUnicastAddress
bool otIp6HasUnicastAddress( otInstance *aInstance, const otIp6Address *aAddress )
Thread インターフェースにユニキャスト IPv6 アドレスが割り当てられているかどうかを示します。
詳細 | |||||
---|---|---|---|---|---|
パラメータ |
|
||||
戻り値 |
|
otIp6IsAddressEqual
bool otIp6IsAddressEqual( const otIp6Address *aFirst, const otIp6Address *aSecond )
2 つの IPv6 アドレスが同じかどうかをテストします。
詳細 | |||||
---|---|---|---|---|---|
パラメータ |
|
||||
戻り値 |
|
otIp6IsAddressUnspecified
bool otIp6IsAddressUnspecified( const otIp6Address *aAddress )
特定の IPv6 アドレスが未指定のアドレスであるかどうかを示します。
詳細 | |||||
---|---|---|---|---|---|
パラメータ |
|
||||
戻り値 |
|
otIp6IsEnabled
bool otIp6IsEnabled( otInstance *aInstance )
IPv6 インターフェースが稼働しているかどうかを示します。
詳細 | |||||
---|---|---|---|---|---|
パラメータ |
|
||||
戻り値 |
|
otIp6IsMulticastPromiscuousEnabled
bool otIp6IsMulticastPromiscuousEnabled( otInstance *aInstance )
Thread インターフェースでマルチキャスト プロミスキャス モードが有効になっているかどうかを確認します。
詳細 | |||
---|---|---|---|
パラメータ |
|
otIp6SetMulticastPromiscuousEnabled
otIp6IsReceiveFilterEnabled
bool otIp6IsReceiveFilterEnabled( otInstance *aInstance )
otIp6SetReceiveCallback() で指定されたコールバックを介して IPv6 データグラムを配信する際に、スレッド制御トラフィックが除外されるかどうかを示します。
詳細 | |||
---|---|---|---|
パラメータ |
|
||
戻り値 |
スレッド制御トラフィックが除外される場合は TRUE、それ以外の場合は FALSE。
|
otIp6SetReceiveCallback
otIp6SetReceiveFilterEnabled
otIp6IsSlaacEnabled
bool otIp6IsSlaacEnabled( otInstance *aInstance )
SLAAC モジュールが有効かどうかを示します。
OPENTHREAD_CONFIG_IP6_SLAAC_ENABLE
ビルド時の機能を有効にする必要があります。
詳細 | |||||
---|---|---|---|---|---|
戻り値 |
|
otIp6NewMessage
otMessage * otIp6NewMessage( otInstance *aInstance, const otMessageSettings *aSettings )
IPv6 メッセージを送信するための新しいメッセージ バッファを割り当てます。
詳細 | |||||
---|---|---|---|---|---|
パラメータ |
|
||||
戻り値 |
メッセージ バッファへのポインタ。または、使用可能なメッセージ バッファがない場合やパラメータが無効な場合は NULL。
|
otMessageFree
otIp6NewMessageFromBuffer
otMessage * otIp6NewMessageFromBuffer( otInstance *aInstance, const uint8_t *aData, uint16_t aDataLength, const otMessageSettings *aSettings )
IPv6 メッセージを送信するために、新しいメッセージ バッファを割り当て、IPv6 データグラムをメッセージ バッファに書き込みます。
詳細 | |||||||||
---|---|---|---|---|---|---|---|---|---|
パラメータ |
|
||||||||
戻り値 |
メッセージへのポインタ、または IPv6 ヘッダーの形式が正しくないか、メッセージ バッファが不十分である場合は NULL。
|
otMessageFree
otIp6PrefixFromString
otError otIp6PrefixFromString( const char *aString, otIp6Prefix *aPrefix )
人が読める IPv6 接頭辞文字列をバイナリ表現に変換します。
aString
パラメータは、「
)
は IPv6 アドレス、
はプレフィックスの長さです。
詳細 | |||||
---|---|---|---|---|---|
パラメータ |
|
||||
戻り値 |
|
otIp6PrefixMatch
uint8_t otIp6PrefixMatch( const otIp6Address *aFirst, const otIp6Address *aSecond )
2 つの IPv6 アドレスのプレフィックス一致長(ビット)を返します。
詳細 | |||||
---|---|---|---|---|---|
パラメータ |
|
||||
戻り値 |
プレフィックスは長さ(ビット単位)と一致します。
|
otIp6PrefixToString
void otIp6PrefixToString( const otIp6Prefix *aPrefix, char *aBuffer, uint16_t aSize )
指定された IPv6 プレフィックスを人が読める文字列に変換します。
IPv6 アドレス文字列の形式は「%x:%x:%x:...[::]/plen」です。
結果の文字列が aSize
文字内の aBuffer
に収まらない場合、文字列は切り捨てられますが、出力される文字列は常に null で終わる文字列になります。
詳細 | |||||||
---|---|---|---|---|---|---|---|
パラメータ |
|
otIp6ProtoToString
const char * otIp6ProtoToString( uint8_t aIpProto )
指定された IP プロトコル番号を人が読める文字列に変換します。
詳細 | |||
---|---|---|---|
パラメータ |
|
||
戻り値 |
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_ENABLE
と OPENTHREAD_CONFIG_COMMISSIONER_ENABLE
を有効にする必要があります。
詳細 | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
パラメータ |
|
||||||||||||
戻り値 |
|
otIp6RegisterMulticastListenersCallback
otIp6RemoveAllUnsecurePorts
void otIp6RemoveAllUnsecurePorts( otInstance *aInstance )
許可された非セキュア ポートのリストからすべてのポートを削除します。
詳細 | |||
---|---|---|---|
パラメータ |
|
otIp6RemoveUnicastAddress
otError otIp6RemoveUnicastAddress( otInstance *aInstance, const otIp6Address *aAddress )
Thread インターフェースからネットワーク インターフェース アドレスを削除します。
詳細 | |||||||
---|---|---|---|---|---|---|---|
パラメータ |
|
||||||
戻り値 |
|
otIp6RemoveUnsecurePort
otError otIp6RemoveUnsecurePort( otInstance *aInstance, uint16_t aPort )
保護されていないポートの許可リストからポートを削除します。
詳細 | |||||||
---|---|---|---|---|---|---|---|
パラメータ |
|
||||||
戻り値 |
|
otIp6ResetBorderRoutingCounters
void otIp6ResetBorderRoutingCounters( otInstance *aInstance )
ボーダー ルーティング カウンタをリセットします。
詳細 | |||
---|---|---|---|
パラメータ |
|
otIp6SelectSourceAddress
otError otIp6SelectSourceAddress( otInstance *aInstance, otMessageInfo *aMessageInfo )
OpenThread 送信元アドレスの選択を実行します。
詳細 | |||||
---|---|---|---|---|---|
パラメータ |
|
||||
戻り値 |
|
otIp6Send
otError otIp6Send( otInstance *aInstance, otMessage *aMessage )
Thread インターフェースを介して IPv6 データグラムを送信します。
この呼び出しを行うと、呼び出し元は aMessage
の所有権を譲渡します。OpenThread は、OT_ERROR_NONE
以外の値が返された場合など、処理が完了したときに aMessage
を解放します。
詳細 | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
パラメータ |
|
||||||||||||||
戻り値 |
|
otIp6SetAddressCallback
void otIp6SetAddressCallback( otInstance *aInstance, otIp6AddressCallback aCallback, void *aCallbackContext )
内部 IPv6 アドレスの変更を通知するコールバックを登録します。
詳細 | |||||||
---|---|---|---|---|---|---|---|
パラメータ |
|
otIp6SetEnabled
otError otIp6SetEnabled( otInstance *aInstance, bool aEnabled )
IPv6 インターフェースを稼働または停止します。
IPv6 通信を有効または無効にするには、これを呼び出します。
詳細 | |||||
---|---|---|---|---|---|
パラメータ |
|
||||
戻り値 |
|
otIp6SetMeshLocalIid
otError otIp6SetMeshLocalIid( otInstance *aInstance, const otIp6InterfaceIdentifier *aIid )
メッシュ ローカル IID を設定します(テスト用)。
OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE
が必要です。
詳細 | |||||
---|---|---|---|---|---|
パラメータ |
|
||||
戻り値 |
|
otIp6SetMulticastPromiscuousEnabled
void otIp6SetMulticastPromiscuousEnabled( otInstance *aInstance, bool aEnabled )
Thread インターフェースで、マルチキャスト プロミスキャス モードを有効または無効にします。
詳細 | |||||
---|---|---|---|---|---|
パラメータ |
|
otIp6IsMulticastPromiscuousEnabled
otIp6SetReceiveCallback
void otIp6SetReceiveCallback( otInstance *aInstance, otIp6ReceiveCallback aCallback, void *aCallbackContext )
受信した IPv6 データグラムを提供するコールバックを登録します。
デフォルトでは、このコールバックはスレッド制御トラフィックを渡しません。スレッド コントロールのトラフィック フィルタの設定を変更するには、otIp6SetReceiveFilterEnabled() をご覧ください。
詳細 | |||||||
---|---|---|---|---|---|---|---|
パラメータ |
|
otIp6IsReceiveFilterEnabled
otIp6SetReceiveFilterEnabled
otIp6SetReceiveFilterEnabled
void otIp6SetReceiveFilterEnabled( otInstance *aInstance, bool aEnabled )
otIp6SetReceiveCallback() で指定されたコールバックを介して IPv6 データグラムを配信するときに、スレッド制御トラフィックを除外するかどうかを設定します。
詳細 | |||||
---|---|---|---|---|---|
パラメータ |
|
otIp6SetReceiveCallback
otIsReceiveIp6FilterEnabled
otIp6SetSlaacEnabled
void otIp6SetSlaacEnabled( otInstance *aInstance, bool aEnabled )
SLAAC モジュールを有効または無効にします。
OPENTHREAD_CONFIG_IP6_SLAAC_ENABLE
ビルド時の機能を有効にする必要があります。
SLAAC モジュールが有効になっている場合、SLAAC アドレス(ネットワーク データのメッシュ上のプレフィックスに基づく)がインターフェースに追加されます。SLAAC モジュールを無効にすると、以前に追加された SLAAC アドレスはすべて削除されます。
詳細 | |||||
---|---|---|---|---|---|
パラメータ |
|
otIp6SetSlaacPrefixFilter
void otIp6SetSlaacPrefixFilter( otInstance *aInstance, otIp6SlaacPrefixFilter aFilter )
SLAAC モジュールのフィルタ ハンドラを設定します。
OPENTHREAD_CONFIG_IP6_SLAAC_ENABLE
ビルド時の機能を有効にする必要があります。
フィルタ ハンドラは、SLAAC モジュールが接頭辞に基づいて SLAAC アドレスを追加しようとしたときに呼び出されます。これにより、アドレスを追加するかどうかが決定されます。
NULL フィルタ ハンドラは、フィルタリングを無効にし、すべての SLAAC アドレスの追加を許可します。
この関数が呼び出されない場合、SLAAC モジュールで使用されるデフォルトのフィルタは NULL になります(フィルタリングが無効になります)。
詳細 | |||||
---|---|---|---|---|---|
パラメータ |
|
otIp6SockAddrToString
void otIp6SockAddrToString( const otSockAddr *aSockAddr, char *aBuffer, uint16_t aSize )
指定された IPv6 ソケット アドレスを人が読める文字列に変換します。
IPv6 ソケット アドレス文字列の形式は [address
]:port
です。ここで、address
は :
で区切られた 16 個の 16 進数値として示され、port
は 10 進数形式のポート番号です(例: [%x:%x:...:%x]:%u)。
結果の文字列が aSize
文字内の aBuffer
に収まらない場合、文字列は切り捨てられますが、出力される文字列は常に null で終わる文字列になります。
詳細 | |||||||
---|---|---|---|---|---|---|---|
パラメータ |
|
otIp6SubscribeMulticastAddress
otError otIp6SubscribeMulticastAddress( otInstance *aInstance, const otIp6Address *aAddress )
Thread インターフェースをネットワーク インターフェース マルチキャスト アドレスに登録します。
渡されたインスタンス aAddress
は、Thread インターフェースによってコピーされます。Thread インターフェースは、外部に追加された一定数のマルチキャスト アドレスのみをサポートします。OPENTHREAD_CONFIG_IP6_MAX_EXT_MCAST_ADDRS
をご確認ください。
詳細 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
パラメータ |
|
||||||||||
戻り値 |
|
otIp6UnsubscribeMulticastAddress
otError otIp6UnsubscribeMulticastAddress( otInstance *aInstance, const otIp6Address *aAddress )
ネットワーク インターフェース マルチキャスト アドレスへの Thread インターフェースの登録を解除します。
詳細 | |||||||
---|---|---|---|---|---|---|---|
パラメータ |
|
||||||
戻り値 |
|
マクロ
OT_IP6_ADDRESS_SIZE
OT_IP6_ADDRESS_SIZE 16
IPv6 アドレスのサイズ(バイト)
OT_IP6_ADDRESS_STRING_SIZE
OT_IP6_ADDRESS_STRING_SIZE 40
IPv6 アドレスの文字列表現の推奨サイズ。
OT_IP6_HEADER_PROTO_OFFSET
OT_IP6_HEADER_PROTO_OFFSET 6
IPv6 ヘッダー内の proto フィールドのオフセット(バイト)
OT_IP6_HEADER_SIZE
OT_IP6_HEADER_SIZE 40
IPv6 ヘッダーのサイズ(バイト)
OT_IP6_IID_SIZE
OT_IP6_IID_SIZE 8
IPv6 インターフェース識別子のサイズ(バイト)
OT_IP6_MAX_MLR_ADDRESSES
OT_IP6_MAX_MLR_ADDRESSES 15
マルチキャスト リスナー登録でサポートされる 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 ソケット アドレスの文字列表現の推奨サイズ。
関連情報
OpenThread API リファレンスのトピックは、GitHub で入手できるソースコードに由来しています。 詳細について、またはドキュメントへの投稿については、リソースをご覧ください。