IPv6
這個模組含有控管 IPv6 通訊的函式。
摘要
列舉 |
|
---|---|
anonymous enum{
|
列舉 網際網路通訊協定號碼。 |
anonymous enum{
|
列舉 IPv6 位址來源。 |
anonymous enum{
|
列舉 ECN 狀態,如 IP 標頭中所示。 |
Typedefs |
|
---|---|
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 位址的介面 ID。 |
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 通訊端位址。 |
Variables |
|
---|---|
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
測試兩個 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
表示是否已將單點傳播 IPv6 位址指派給 Thread 介面。
|
otIp6IsAddressEqual(const otIp6Address *aFirst, const otIp6Address *aSecond)
|
bool
測試兩個 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
傳回兩個 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 資料元時篩除 Thread 控制流量。
|
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 位址的介面 ID。 |
otIp6NetworkPrefix |
代表 IPv6 位址的網路前置字元 (最顯著的 64 位元位址)。 |
otIp6Prefix |
代表 IPv6 前置字串。 |
otMessageInfo |
代表本機和對等互連 IPv6 通訊端位址。 |
otNetifAddress |
代表 IPv6 網路介面單點傳播位址。 |
otNetifMulticastAddress |
代表 IPv6 網路介面多點傳播位址。 |
otPacketsAndBytes |
代表封包和位元組的計數器。 |
otSockAddr |
代表 IPv6 通訊端位址。 |
工會 |
|
---|---|
otIp6InterfaceIdentifier:: |
列舉
匿名列舉
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
|
使用者資料圖表。 |
匿名列舉
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
ECN 狀態,如 IP 標頭中所示。
屬性 | |
---|---|
OT_ECN_CAPABLE_0
|
ECT(0) |
OT_ECN_CAPABLE_1
|
ECT(1) |
OT_ECN_MARKED
|
發生壅塞 (CE) |
OT_ECN_NOT_CAPABLE
|
非 ECT: |
Typedefs
otIp6AddressCallback
void(* otIp6AddressCallback)(const otIp6AddressInfo *aAddressInfo, bool aIsAdded, void *aContext)
新增或移除內部 IPv6 位址時,系統會呼叫指標。
詳細說明 | |||||||
---|---|---|---|---|---|---|---|
參數 |
|
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 模組叫用。其布林值回傳值可決定地址是否篩選 (未新增)。
詳細說明 | |||||
---|---|---|---|---|---|
參數 |
|
||||
傳回值 |
|
Variables
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 個十六進位值格式,並以「:」分隔 (即"%x:%x:%x:...:%x").
如果產生的字串不符合 aBuffer
(在其 aSize
字元之內) 的大小,系統將截斷字串,但輸出的字串一律會是空值。
詳細說明 | |||||||
---|---|---|---|---|---|---|---|
參數 |
|
otIp6ArePrefixesEqual
bool otIp6ArePrefixesEqual( const otIp6Prefix *aFirst, const otIp6Prefix *aSecond )
測試兩個 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 )
表示是否已將單點傳播 IPv6 位址指派給 Thread 介面。
詳細說明 | |||||
---|---|---|---|---|---|
參數 |
|
||||
傳回值 |
|
otIp6IsAddressEqual
bool otIp6IsAddressEqual( const otIp6Address *aFirst, const otIp6Address *aSecond )
測試兩個 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 )
傳回兩個 IPv6 位址的前置字串比對長度 (位元)。
詳細說明 | |||||
---|---|---|---|---|---|
參數 |
|
||||
傳回 |
前置字串比對長度 (以位元為單位)。
|
otIp6PrefixToString
void otIp6PrefixToString( const otIp6Prefix *aPrefix, char *aBuffer, uint16_t aSize )
將指定的 IPv6 前置字串轉換為使用者可理解的字串。
IPv6 位址字串的格式為「%x:%x:%x:...[::]/plen」。
如果產生的字串不符合 aBuffer
(在其 aSize
字元之內) 的大小,系統將截斷字串,但輸出的字串一律會是空值。
詳細說明 | |||||||
---|---|---|---|---|---|---|---|
參數 |
|
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 會釋放 aMessage
,包括傳回 OT_ERROR_NONE
以外的值時。
詳細說明 | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
參數 |
|
||||||||||||||
傳回值 |
|
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 資料元時篩除 Thread 控制流量。
詳細說明 | |||||
---|---|---|---|---|---|
參數 |
|
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 個十六進位值,並以 :
分隔,port
則是十進位格式的通訊埠編號,例如「[%x:%x:...:%x]:%u」。
如果產生的字串不符合 aBuffer
(在其 aSize
字元之內) 的大小,系統將截斷字串,但輸出的字串一律會是空值。
詳細說明 | |||||||
---|---|---|---|---|---|---|---|
參數 |
|
otIp6SubscribeMulticastAddress
otError otIp6SubscribeMulticastAddress( otInstance *aInstance, const otIp6Address *aAddress )
訂閱 Thread 介面至網路介面多點傳播位址。
執行緒介面會複製傳入的執行個體 aAddress
。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 介面 ID (位元組) 的大小
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 取得。如要瞭解詳情或對說明文件做出貢獻,請參閱資源。