General
This module includes functions for all Thread roles.
Summary
The Network Data Publisher provides mechanisms to limit the number of similar Service and/or Prefix (on-mesh prefix or external route) entries in the Thread Network Data by monitoring the Network Data and managing if or when to add or remove entries.
All the functions in this module require OPENTHREAD_CONFIG_NETDATA_PUBLISHER_ENABLE
to be enabled.
Typedefs |
|
---|---|
otBorderRouterConfig
|
typedefstruct otBorderRouterConfig
This structure represents a Border Router configuration. |
otDetachGracefullyCallback)(void *aContext)
|
typedefvoid(*
This callback informs the application that the detaching process has finished. |
otExternalRouteConfig
|
typedefstruct otExternalRouteConfig
This structure represents an External Route configuration. |
otIpCounters
|
typedefstruct otIpCounters
This structure represents the IP level counters. |
otLeaderData
|
typedefstruct otLeaderData
This structure represents the Thread Leader Data. |
otLinkModeConfig
|
typedefstruct otLinkModeConfig
This structure represents an MLE Link Mode configuration. |
otMleCounters
|
typedefstruct otMleCounters
This structure represents the Thread MLE counters. |
otNeighborInfoIterator
|
typedefint16_t
Used to iterate through neighbor table. |
otNetDataDnsSrpServicePublisherCallback)(otNetDataPublisherEvent aEvent, void *aContext)
|
typedefvoid(*
This function pointer type defines the callback used to notify when a "DNS/SRP Service" entry is added to or removed from the Thread Network Data. |
otNetDataPrefixPublisherCallback)(otNetDataPublisherEvent aEvent, const otIp6Prefix *aPrefix, void *aContext)
|
typedefvoid(*
This function pointer type defines the callback used to notify when a prefix (on-mesh or external route) entry is added to or removed from the Thread Network Data. |
otNetDataPublisherEvent
|
typedef This enumeration represents the events reported from the Publisher callbacks. |
otNetworkDataIterator
|
typedefuint32_t
Used to iterate through Network Data information. |
otNetworkDiagChildEntry
|
typedefstruct otNetworkDiagChildEntry
This structure represents a Network Diagnostic Child Table Entry. |
otNetworkDiagConnectivity
|
typedefstruct otNetworkDiagConnectivity
This structure represents a Network Diagnostic Connectivity value. |
otNetworkDiagIterator
|
typedefuint16_t
Used to iterate through Network Diagnostic TLV. |
otNetworkDiagMacCounters
|
typedefstruct otNetworkDiagMacCounters
This structure represents a Network Diagnostic Mac Counters value. |
otNetworkDiagRoute
|
typedefstruct otNetworkDiagRoute
This structure represents a Network Diagnostic Route TLV value. |
otNetworkDiagRouteData
|
typedefstruct otNetworkDiagRouteData
This structure represents a Network Diagnostic Route data. |
otNetworkDiagTlv
|
typedefstruct otNetworkDiagTlv
This structure represents a Network Diagnostic TLV. |
otReceiveDiagnosticGetCallback)(otError aError, otMessage *aMessage, const otMessageInfo *aMessageInfo, void *aContext)
|
typedefvoid(*
This function pointer is called when Network Diagnostic Get response is received. |
otRoutePreference
|
typedefenum otRoutePreference
|
otServerConfig
|
typedefstruct otServerConfig
This structure represents a Server configuration. |
otServiceConfig
|
typedefstruct otServiceConfig
This structure represents a Service configuration. |
otThreadAnycastLocatorCallback)(void *aContext, otError aError, const otIp6Address *aMeshLocalAddress, uint16_t aRloc16)
|
typedefvoid(*
This function pointer type defines the callback to notify the outcome of a otThreadLocateAnycastDestination() request. |
otThreadDiscoveryRequestCallback)(const otThreadDiscoveryRequestInfo *aInfo, void *aContext)
|
typedefvoid(*
This function pointer is called every time an MLE Discovery Request message is received. |
otThreadDiscoveryRequestInfo
|
typedefstruct otThreadDiscoveryRequestInfo
This structure represents the Thread Discovery Request data. |
otThreadParentResponseCallback)(otThreadParentResponseInfo *aInfo, void *aContext)
|
typedefvoid(*
This function pointer is called every time an MLE Parent Response message is received. |
otThreadParentResponseInfo
|
typedefstruct otThreadParentResponseInfo
This structure represents the MLE Parent Response data. |
Functions |
|
---|---|
otNetDataContainsOmrPrefix(otInstance *aInstance, const otIp6Prefix *aPrefix)
|
bool
This function checks whether a given Prefix can act as a valid OMR prefix and also the Leader's Network Data contains this prefix.
|
otNetDataGet(otInstance *aInstance, bool aStable, uint8_t *aData, uint8_t *aDataLength)
|
This method provides a full or stable copy of the Partition's Thread Network Data.
|
otNetDataGetNextOnMeshPrefix(otInstance *aInstance, otNetworkDataIterator *aIterator, otBorderRouterConfig *aConfig)
|
This function gets the next On Mesh Prefix in the partition's Network Data.
|
otNetDataGetNextRoute(otInstance *aInstance, otNetworkDataIterator *aIterator, otExternalRouteConfig *aConfig)
|
This function gets the next external route in the partition's Network Data.
|
otNetDataGetNextService(otInstance *aInstance, otNetworkDataIterator *aIterator, otServiceConfig *aConfig)
|
This function gets the next service in the partition's Network Data.
|
otNetDataGetStableVersion(otInstance *aInstance)
|
uint8_t
Get the Stable Network Data Version.
|
otNetDataGetVersion(otInstance *aInstance)
|
uint8_t
Get the Network Data Version.
|
otNetDataIsDnsSrpServiceAdded(otInstance *aInstance)
|
bool
This function indicates whether or not currently the "DNS/SRP Service" entry is added to the Thread Network Data.
|
otNetDataIsPrefixAdded(otInstance *aInstance, const otIp6Prefix *aPrefix)
|
bool
This function indicates whether or not currently a published prefix entry (on-mesh or external route) is added to the Thread Network Data.
|
otNetDataPublishDnsSrpServiceAnycast(otInstance *aInstance, uint8_t aSequenceNUmber)
|
void
This function requests "DNS/SRP Service Anycast Address" to be published in the Thread Network Data.
|
otNetDataPublishDnsSrpServiceUnicast(otInstance *aInstance, const otIp6Address *aAddress, uint16_t aPort)
|
void
This function requests "DNS/SRP Service Unicast Address" to be published in the Thread Network Data.
|
otNetDataPublishDnsSrpServiceUnicastMeshLocalEid(otInstance *aInstance, uint16_t aPort)
|
void
This function requests "DNS/SRP Service Unicast Address" to be published in the Thread Network Data.
|
otNetDataPublishExternalRoute(otInstance *aInstance, const otExternalRouteConfig *aConfig)
|
This function requests an external route prefix to be published in the Thread Network Data.
|
otNetDataPublishOnMeshPrefix(otInstance *aInstance, const otBorderRouterConfig *aConfig)
|
This function requests an on-mesh prefix to be published in the Thread Network Data.
|
otNetDataSetDnsSrpServicePublisherCallback(otInstance *aInstance, otNetDataDnsSrpServicePublisherCallback aCallback, void *aContext)
|
void
This function sets a callback for notifying when a published "DNS/SRP Service" is actually added to or removed from the Thread Network Data.
|
otNetDataSetPrefixPublisherCallback(otInstance *aInstance, otNetDataPrefixPublisherCallback aCallback, void *aContext)
|
void
This function sets a callback for notifying when a published prefix entry is actually added to or removed from the Thread Network Data.
|
otNetDataSteeringDataCheckJoiner(otInstance *aInstance, const otExtAddress *aEui64)
|
Check if the steering data includes a Joiner.
|
otNetDataSteeringDataCheckJoinerWithDiscerner(otInstance *aInstance, const struct otJoinerDiscerner *aDiscerner)
|
Check if the steering data includes a Joiner with a given discerner value.
|
otNetDataUnpublishDnsSrpService(otInstance *aInstance)
|
void
Unpublishes any previously added DNS/SRP (Anycast or Unicast) Service entry from the Thread Network Data.
|
otNetDataUnpublishPrefix(otInstance *aInstance, const otIp6Prefix *aPrefix)
|
Unpublishes a previously published On-Mesh or External Route Prefix.
|
otThreadBecomeChild(otInstance *aInstance)
|
Attempt to reattach as a child.
|
otThreadBecomeDetached(otInstance *aInstance)
|
Detach from the Thread network.
|
otThreadDetachGracefully(otInstance *aInstance, otDetachGracefullyCallback aCallback, void *aContext)
|
This function notifies other nodes in the network (if any) and then stops Thread protocol operation.
|
otThreadDeviceRoleToString(otDeviceRole aRole)
|
const char *
Convert the device role to human-readable string.
|
otThreadDiscover(otInstance *aInstance, uint32_t aScanChannels, uint16_t aPanId, bool aJoiner, bool aEnableEui64Filtering, otHandleActiveScanResult aCallback, void *aCallbackContext)
|
This function starts a Thread Discovery scan.
|
otThreadGetChildTimeout(otInstance *aInstance)
|
uint32_t
Gets the Thread Child Timeout (in seconds) used when operating in the Child role.
|
otThreadGetDeviceRole(otInstance *aInstance)
|
Get the device role.
|
otThreadGetDomainName(otInstance *aInstance)
|
const char *
Gets the Thread Domain Name.
|
otThreadGetExtendedPanId(otInstance *aInstance)
|
const otExtendedPanId *
Gets the IEEE 802.15.4 Extended PAN ID.
|
otThreadGetFixedDuaInterfaceIdentifier(otInstance *aInstance)
|
const otIp6InterfaceIdentifier *
Gets the Interface Identifier manually specified for the Thread Domain Unicast Address.
|
otThreadGetIp6Counters(otInstance *aInstance)
|
const otIpCounters *
Gets the IPv6 counters.
|
otThreadGetKeySequenceCounter(otInstance *aInstance)
|
uint32_t
Gets the thrKeySequenceCounter.
|
otThreadGetKeySwitchGuardTime(otInstance *aInstance)
|
uint32_t
Gets the thrKeySwitchGuardTime (in hours).
|
otThreadGetLeaderData(otInstance *aInstance, otLeaderData *aLeaderData)
|
This function get the Thread Leader Data.
|
otThreadGetLeaderRloc(otInstance *aInstance, otIp6Address *aLeaderRloc)
|
This function returns a pointer to the Leader's RLOC.
|
otThreadGetLeaderRouterId(otInstance *aInstance)
|
uint8_t
Get the Leader's Router ID.
|
otThreadGetLeaderWeight(otInstance *aInstance)
|
uint8_t
Get the Leader's Weight.
|
otThreadGetLinkLocalAllThreadNodesMulticastAddress(otInstance *aInstance)
|
const otIp6Address *
Gets the Thread Link-Local All Thread Nodes multicast address.
|
otThreadGetLinkLocalIp6Address(otInstance *aInstance)
|
const otIp6Address *
Gets the Thread link-local IPv6 address.
|
otThreadGetLinkMode(otInstance *aInstance)
|
Get the MLE Link Mode configuration.
|
otThreadGetMeshLocalEid(otInstance *aInstance)
|
const otIp6Address *
Gets the Mesh Local EID address.
|
otThreadGetMeshLocalPrefix(otInstance *aInstance)
|
const otMeshLocalPrefix *
This function returns a pointer to the Mesh Local Prefix.
|
otThreadGetMleCounters(otInstance *aInstance)
|
const otMleCounters *
Gets the Thread MLE counters.
|
otThreadGetNetworkKey(otInstance *aInstance, otNetworkKey *aNetworkKey)
|
void
Get the Thread Network Key.
|
otThreadGetNetworkKeyRef(otInstance *aInstance)
|
Get the
otNetworkKeyRef for Thread Network Key. |
otThreadGetNetworkName(otInstance *aInstance)
|
const char *
Get the Thread Network Name.
|
otThreadGetNextDiagnosticTlv(const otMessage *aMessage, otNetworkDiagIterator *aIterator, otNetworkDiagTlv *aNetworkDiagTlv)
|
This function gets the next Network Diagnostic TLV in the message.
|
otThreadGetNextNeighborInfo(otInstance *aInstance, otNeighborInfoIterator *aIterator, otNeighborInfo *aInfo)
|
This function gets the next neighbor information.
|
otThreadGetParentAverageRssi(otInstance *aInstance, int8_t *aParentRssi)
|
The function retrieves the average RSSI for the Thread Parent.
|
otThreadGetParentInfo(otInstance *aInstance, otRouterInfo *aParentInfo)
|
The function retrieves diagnostic information for a Thread Router as parent.
|
otThreadGetParentLastRssi(otInstance *aInstance, int8_t *aLastRssi)
|
The function retrieves the RSSI of the last packet from the Thread Parent.
|
otThreadGetPartitionId(otInstance *aInstance)
|
uint32_t
Get the Partition ID.
|
otThreadGetRealmLocalAllThreadNodesMulticastAddress(otInstance *aInstance)
|
const otIp6Address *
Gets the Thread Realm-Local All Thread Nodes multicast address.
|
otThreadGetRloc(otInstance *aInstance)
|
const otIp6Address *
Gets the Thread Routing Locator (RLOC) address.
|
otThreadGetRloc16(otInstance *aInstance)
|
uint16_t
Get the RLOC16.
|
otThreadGetServiceAloc(otInstance *aInstance, uint8_t aServiceId, otIp6Address *aServiceAloc)
|
This function retrieves the Service ALOC for given Service ID.
|
otThreadGetVersion(void)
|
uint16_t
This function gets the Thread protocol version.
|
otThreadIsAnycastLocateInProgress(otInstance *aInstance)
|
bool
This function indicates whether an anycast locate request is currently in progress.
|
otThreadIsDiscoverInProgress(otInstance *aInstance)
|
bool
This function determines if an MLE Thread Discovery is currently in progress.
|
otThreadIsSingleton(otInstance *aInstance)
|
bool
This function indicates whether a node is the only router on the network.
|
otThreadLocateAnycastDestination(otInstance *aInstance, const otIp6Address *aAnycastAddress, otThreadAnycastLocatorCallback aCallback, void *aContext)
|
This function requests the closest destination of a given anycast address to be located.
|
otThreadRegisterParentResponseCallback(otInstance *aInstance, otThreadParentResponseCallback aCallback, void *aContext)
|
void
This function registers a callback to receive MLE Parent Response data.
|
otThreadResetIp6Counters(otInstance *aInstance)
|
void
Resets the IPv6 counters.
|
otThreadResetMleCounters(otInstance *aInstance)
|
void
Resets the Thread MLE counters.
|
otThreadSearchForBetterParent(otInstance *aInstance)
|
Starts the process for child to search for a better parent while staying attached to its current parent.
|
otThreadSendAddressNotification(otInstance *aInstance, otIp6Address *aDestination, otIp6Address *aTarget, otIp6InterfaceIdentifier *aMlIid)
|
void
This function sends a Proactive Address Notification (ADDR_NTF.ntf) message.
|
otThreadSendDiagnosticGet(otInstance *aInstance, const otIp6Address *aDestination, const uint8_t aTlvTypes[], uint8_t aCount, otReceiveDiagnosticGetCallback aCallback, void *aCallbackContext)
|
Send a Network Diagnostic Get request.
|
otThreadSendDiagnosticReset(otInstance *aInstance, const otIp6Address *aDestination, const uint8_t aTlvTypes[], uint8_t aCount)
|
Send a Network Diagnostic Reset request.
|
otThreadSendProactiveBackboneNotification(otInstance *aInstance, otIp6Address *aTarget, otIp6InterfaceIdentifier *aMlIid, uint32_t aTimeSinceLastTransaction)
|
This function sends a Proactive Backbone Notification (PRO_BB.ntf) message on the Backbone link.
|
otThreadSetChildTimeout(otInstance *aInstance, uint32_t aTimeout)
|
void
Sets the Thread Child Timeout (in seconds) used when operating in the Child role.
|
otThreadSetDiscoveryRequestCallback(otInstance *aInstance, otThreadDiscoveryRequestCallback aCallback, void *aContext)
|
void
This function sets a callback to receive MLE Discovery Request data.
|
otThreadSetDomainName(otInstance *aInstance, const char *aDomainName)
|
Sets the Thread Domain Name.
|
otThreadSetEnabled(otInstance *aInstance, bool aEnabled)
|
This function starts Thread protocol operation.
|
otThreadSetExtendedPanId(otInstance *aInstance, const otExtendedPanId *aExtendedPanId)
|
Sets the IEEE 802.15.4 Extended PAN ID.
|
otThreadSetFixedDuaInterfaceIdentifier(otInstance *aInstance, const otIp6InterfaceIdentifier *aIid)
|
Sets or clears the Interface Identifier manually specified for the Thread Domain Unicast Address.
|
otThreadSetJoinerAdvertisement(otInstance *aInstance, uint32_t aOui, const uint8_t *aAdvData, uint8_t aAdvDataLength)
|
This method sets the Thread Joiner Advertisement when discovering Thread network.
|
otThreadSetKeySequenceCounter(otInstance *aInstance, uint32_t aKeySequenceCounter)
|
void
Sets the thrKeySequenceCounter.
|
otThreadSetKeySwitchGuardTime(otInstance *aInstance, uint32_t aKeySwitchGuardTime)
|
void
Sets the thrKeySwitchGuardTime (in hours).
|
otThreadSetLinkMode(otInstance *aInstance, otLinkModeConfig aConfig)
|
Set the MLE Link Mode configuration.
|
otThreadSetMeshLocalPrefix(otInstance *aInstance, const otMeshLocalPrefix *aMeshLocalPrefix)
|
This function sets the Mesh Local Prefix.
|
otThreadSetNetworkKey(otInstance *aInstance, const otNetworkKey *aKey)
|
Set the Thread Network Key.
|
otThreadSetNetworkKeyRef(otInstance *aInstance, otNetworkKeyRef aKeyRef)
|
Set the Thread Network Key as a
otNetworkKeyRef . |
otThreadSetNetworkName(otInstance *aInstance, const char *aNetworkName)
|
Set the Thread Network Name.
|
Macros |
|
---|---|
OT_JOINER_ADVDATA_MAX_LENGTH 64
|
Maximum AdvData Length of Joiner Advertisement.
|
OT_NEIGHBOR_INFO_ITERATOR_INIT 0
|
Initializer for otNeighborInfoIterator.
|
OT_NETWORK_BASE_TLV_MAX_LENGTH 254
|
Maximum value length of Thread Base TLV.
|
OT_NETWORK_DATA_ITERATOR_INIT 0
|
Value to initialize
otNetworkDataIterator . |
OT_NETWORK_DIAGNOSTIC_CHILD_TABLE_ENTRY_SIZE 3
|
Size of Network Diagnostic Child Table entry.
|
OT_NETWORK_DIAGNOSTIC_ITERATOR_INIT 0
|
Initializer for otNetworkDiagIterator.
|
OT_NETWORK_DIAGNOSTIC_TYPELIST_MAX_ENTRIES 19
|
Maximum Number of Network Diagnostic TLV Types to Request or Reset.
|
OT_NETWORK_MAX_ROUTER_ID 62
|
Maximum Router ID.
|
OT_SERVER_DATA_MAX_SIZE 248
|
Max size of Server Data in bytes. Theoretical limit, practically much lower.
|
OT_SERVICE_DATA_MAX_SIZE 252
|
Max size of Service Data in bytes.
|
Structs |
|
---|---|
otBorderRouterConfig |
This structure represents a Border Router configuration. |
otExternalRouteConfig |
This structure represents an External Route configuration. |
otIpCounters |
This structure represents the IP level counters. |
otLeaderData |
This structure represents the Thread Leader Data. |
otLinkModeConfig |
This structure represents an MLE Link Mode configuration. |
otMleCounters |
This structure represents the Thread MLE counters. |
otNeighborInfo |
This structure holds diagnostic information for a neighboring Thread node. |
otNetworkDiagChildEntry |
This structure represents a Network Diagnostic Child Table Entry. |
otNetworkDiagConnectivity |
This structure represents a Network Diagnostic Connectivity value. |
otNetworkDiagMacCounters |
This structure represents a Network Diagnostic Mac Counters value. |
otNetworkDiagRoute |
This structure represents a Network Diagnostic Route TLV value. |
otNetworkDiagRouteData |
This structure represents a Network Diagnostic Route data. |
otNetworkDiagTlv |
This structure represents a Network Diagnostic TLV. |
otRouterInfo |
This structure holds diagnostic information for a Thread Router. |
otServerConfig |
This structure represents a Server configuration. |
otServiceConfig |
This structure represents a Service configuration. |
otThreadDiscoveryRequestInfo |
This structure represents the Thread Discovery Request data. |
otThreadParentResponseInfo |
This structure represents the MLE Parent Response data. |
Enumerations
Anonymous Enum 11
Anonymous Enum 11
Properties | |
---|---|
OT_NETWORK_DIAGNOSTIC_TLV_BATTERY_LEVEL
|
Battery Level TLV. |
OT_NETWORK_DIAGNOSTIC_TLV_CHANNEL_PAGES
|
Channel Pages TLV. |
OT_NETWORK_DIAGNOSTIC_TLV_CHILD_TABLE
|
Child Table TLV. |
OT_NETWORK_DIAGNOSTIC_TLV_CONNECTIVITY
|
Connectivity TLV. |
OT_NETWORK_DIAGNOSTIC_TLV_EXT_ADDRESS
|
MAC Extended Address TLV. |
OT_NETWORK_DIAGNOSTIC_TLV_IP6_ADDR_LIST
|
IPv6 Address List TLV. |
OT_NETWORK_DIAGNOSTIC_TLV_LEADER_DATA
|
Leader Data TLV. |
OT_NETWORK_DIAGNOSTIC_TLV_MAC_COUNTERS
|
MAC Counters TLV. |
OT_NETWORK_DIAGNOSTIC_TLV_MAX_CHILD_TIMEOUT
|
Max Child Timeout TLV. |
OT_NETWORK_DIAGNOSTIC_TLV_MODE
|
Mode TLV. |
OT_NETWORK_DIAGNOSTIC_TLV_NETWORK_DATA
|
Network Data TLV. |
OT_NETWORK_DIAGNOSTIC_TLV_ROUTE
|
Route64 TLV. |
OT_NETWORK_DIAGNOSTIC_TLV_SHORT_ADDRESS
|
Address16 TLV. |
OT_NETWORK_DIAGNOSTIC_TLV_SUPPLY_VOLTAGE
|
Supply Voltage TLV. |
OT_NETWORK_DIAGNOSTIC_TLV_TIMEOUT
|
Timeout TLV (the maximum polling time period for SEDs) |
OT_NETWORK_DIAGNOSTIC_TLV_TYPE_LIST
|
Type List TLV. |
otDeviceRole
otDeviceRole
Represents a Thread device role.
Properties | |
---|---|
OT_DEVICE_ROLE_CHILD
|
The Thread Child role. |
OT_DEVICE_ROLE_DETACHED
|
Not currently participating in a Thread network/partition. |
OT_DEVICE_ROLE_DISABLED
|
The Thread stack is disabled. |
OT_DEVICE_ROLE_LEADER
|
The Thread Leader role. |
OT_DEVICE_ROLE_ROUTER
|
The Thread Router role. |
otNetDataPublisherEvent
otNetDataPublisherEvent
This enumeration represents the events reported from the Publisher callbacks.
Properties | |
---|---|
OT_NETDATA_PUBLISHER_EVENT_ENTRY_ADDED
|
Published entry is added to the Thread Network Data. |
OT_NETDATA_PUBLISHER_EVENT_ENTRY_REMOVED
|
Published entry is removed from the Thread Network Data. |
otRoutePreference
otRoutePreference
Defines valid values for mPreference
in otExternalRouteConfig
and otBorderRouterConfig
.
Properties | |
---|---|
OT_ROUTE_PREFERENCE_HIGH
|
High route preference. |
OT_ROUTE_PREFERENCE_LOW
|
Low route preference. |
OT_ROUTE_PREFERENCE_MED
|
Medium route preference. |
Typedefs
otBorderRouterConfig
struct otBorderRouterConfig otBorderRouterConfig
This structure represents a Border Router configuration.
otDetachGracefullyCallback
void(* otDetachGracefullyCallback)(void *aContext)
This callback informs the application that the detaching process has finished.
Details | |||
---|---|---|---|
Parameters |
|
otExternalRouteConfig
struct otExternalRouteConfig otExternalRouteConfig
This structure represents an External Route configuration.
otLinkModeConfig
struct otLinkModeConfig otLinkModeConfig
This structure represents an MLE Link Mode configuration.
otNeighborInfoIterator
int16_t otNeighborInfoIterator
Used to iterate through neighbor table.
otNetDataDnsSrpServicePublisherCallback
void(* otNetDataDnsSrpServicePublisherCallback)(otNetDataPublisherEvent aEvent, void *aContext)
This function pointer type defines the callback used to notify when a "DNS/SRP Service" entry is added to or removed from the Thread Network Data.
On remove the callback is invoked independent of whether the entry is removed by Publisher
(e.g., when there are too many similar entries already present in the Network Data) or through an explicit call to unpublish the entry (i.e., a call to otNetDataUnpublishDnsSrpService()
).
Details | |||||
---|---|---|---|---|---|
Parameters |
|
otNetDataPrefixPublisherCallback
void(* otNetDataPrefixPublisherCallback)(otNetDataPublisherEvent aEvent, const otIp6Prefix *aPrefix, void *aContext)
This function pointer type defines the callback used to notify when a prefix (on-mesh or external route) entry is added to or removed from the Thread Network Data.
On remove the callback is invoked independent of whether the entry is removed by Publisher
(e.g., when there are too many similar entries already present in the Network Data) or through an explicit call to unpublish the entry.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameters |
|
otNetDataPublisherEvent
enum otNetDataPublisherEvent otNetDataPublisherEvent
This enumeration represents the events reported from the Publisher callbacks.
otNetworkDataIterator
uint32_t otNetworkDataIterator
Used to iterate through Network Data information.
otNetworkDiagChildEntry
struct otNetworkDiagChildEntry otNetworkDiagChildEntry
This structure represents a Network Diagnostic Child Table Entry.
otNetworkDiagConnectivity
struct otNetworkDiagConnectivity otNetworkDiagConnectivity
This structure represents a Network Diagnostic Connectivity value.
otNetworkDiagIterator
uint16_t otNetworkDiagIterator
Used to iterate through Network Diagnostic TLV.
otNetworkDiagMacCounters
struct otNetworkDiagMacCounters otNetworkDiagMacCounters
This structure represents a Network Diagnostic Mac Counters value.
See RFC 2863 for definitions of member fields.
otNetworkDiagRoute
struct otNetworkDiagRoute otNetworkDiagRoute
This structure represents a Network Diagnostic Route TLV value.
otNetworkDiagRouteData
struct otNetworkDiagRouteData otNetworkDiagRouteData
This structure represents a Network Diagnostic Route data.
otNetworkDiagTlv
struct otNetworkDiagTlv otNetworkDiagTlv
This structure represents a Network Diagnostic TLV.
otReceiveDiagnosticGetCallback
void(* otReceiveDiagnosticGetCallback)(otError aError, otMessage *aMessage, const otMessageInfo *aMessageInfo, void *aContext)
This function pointer is called when Network Diagnostic Get response is received.
Details | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parameters |
|
otRoutePreference
enum otRoutePreference otRoutePreference
Defines valid values for mPreference
in otExternalRouteConfig
and otBorderRouterConfig
.
otServerConfig
struct otServerConfig otServerConfig
This structure represents a Server configuration.
otServiceConfig
struct otServiceConfig otServiceConfig
This structure represents a Service configuration.
otThreadAnycastLocatorCallback
void(* otThreadAnycastLocatorCallback)(void *aContext, otError aError, const otIp6Address *aMeshLocalAddress, uint16_t aRloc16)
This function pointer type defines the callback to notify the outcome of a otThreadLocateAnycastDestination()
request.
Details | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parameters |
|
otThreadDiscoveryRequestCallback
void(* otThreadDiscoveryRequestCallback)(const otThreadDiscoveryRequestInfo *aInfo, void *aContext)
This function pointer is called every time an MLE Discovery Request message is received.
Details | |||||
---|---|---|---|---|---|
Parameters |
|
otThreadDiscoveryRequestInfo
struct otThreadDiscoveryRequestInfo otThreadDiscoveryRequestInfo
This structure represents the Thread Discovery Request data.
otThreadParentResponseCallback
void(* otThreadParentResponseCallback)(otThreadParentResponseInfo *aInfo, void *aContext)
This function pointer is called every time an MLE Parent Response message is received.
Details | |||||
---|---|---|---|---|---|
Parameters |
|
otThreadParentResponseInfo
struct otThreadParentResponseInfo otThreadParentResponseInfo
This structure represents the MLE Parent Response data.
Functions
otNetDataContainsOmrPrefix
bool otNetDataContainsOmrPrefix( otInstance *aInstance, const otIp6Prefix *aPrefix )
This function checks whether a given Prefix can act as a valid OMR prefix and also the Leader's Network Data contains this prefix.
Details | |||||
---|---|---|---|---|---|
Parameters |
|
||||
Returns |
Whether
aPrefix is a valid OMR prefix and Leader's Network Data contains the OMR prefix aPrefix . |
otNetDataGet
otError otNetDataGet( otInstance *aInstance, bool aStable, uint8_t *aData, uint8_t *aDataLength )
This method provides a full or stable copy of the Partition's Thread Network Data.
Details | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parameters |
|
otNetDataGetNextOnMeshPrefix
otError otNetDataGetNextOnMeshPrefix( otInstance *aInstance, otNetworkDataIterator *aIterator, otBorderRouterConfig *aConfig )
This function gets the next On Mesh Prefix in the partition's Network Data.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameters |
|
||||||
Return Values |
|
otNetDataGetNextRoute
otError otNetDataGetNextRoute( otInstance *aInstance, otNetworkDataIterator *aIterator, otExternalRouteConfig *aConfig )
This function gets the next external route in the partition's Network Data.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameters |
|
||||||
Return Values |
|
otNetDataGetNextService
otError otNetDataGetNextService( otInstance *aInstance, otNetworkDataIterator *aIterator, otServiceConfig *aConfig )
This function gets the next service in the partition's Network Data.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameters |
|
||||||
Return Values |
|
otNetDataGetStableVersion
uint8_t otNetDataGetStableVersion( otInstance *aInstance )
Get the Stable Network Data Version.
Details | |||
---|---|---|---|
Parameters |
|
||
Returns |
The Stable Network Data Version.
|
otNetDataGetVersion
uint8_t otNetDataGetVersion( otInstance *aInstance )
Get the Network Data Version.
Details | |||
---|---|---|---|
Parameters |
|
||
Returns |
The Network Data Version.
|
otNetDataIsDnsSrpServiceAdded
bool otNetDataIsDnsSrpServiceAdded( otInstance *aInstance )
This function indicates whether or not currently the "DNS/SRP Service" entry is added to the Thread Network Data.
This function requires the feature OPENTHREAD_CONFIG_TMF_NETDATA_SERVICE_ENABLE
to be enabled.
Details | |||||
---|---|---|---|---|---|
Parameters |
|
||||
Return Values |
|
otNetDataIsPrefixAdded
bool otNetDataIsPrefixAdded( otInstance *aInstance, const otIp6Prefix *aPrefix )
This function indicates whether or not currently a published prefix entry (on-mesh or external route) is added to the Thread Network Data.
This function requires the feature OPENTHREAD_CONFIG_BORDER_ROUTER_ENABLE
to be enabled.
Details | |||||
---|---|---|---|---|---|
Parameters |
|
||||
Return Values |
|
otNetDataPublishDnsSrpServiceAnycast
void otNetDataPublishDnsSrpServiceAnycast( otInstance *aInstance, uint8_t aSequenceNUmber )
This function requests "DNS/SRP Service Anycast Address" to be published in the Thread Network Data.
This function requires the feature OPENTHREAD_CONFIG_TMF_NETDATA_SERVICE_ENABLE
to be enabled.
A call to this function will remove and replace any previous "DNS/SRP Service" entry that was being published (from earlier call to any of otNetDataPublishDnsSrpService{Type}()
functions).
Details | |||||
---|---|---|---|---|---|
Parameters |
|
otNetDataPublishDnsSrpServiceUnicast
void otNetDataPublishDnsSrpServiceUnicast( otInstance *aInstance, const otIp6Address *aAddress, uint16_t aPort )
This function requests "DNS/SRP Service Unicast Address" to be published in the Thread Network Data.
This function requires the feature OPENTHREAD_CONFIG_TMF_NETDATA_SERVICE_ENABLE
to be enabled.
A call to this function will remove and replace any previous "DNS/SRP Service" entry that was being published (from earlier call to any of otNetDataPublishDnsSrpService{Type}()
functions).
This function publishes the "DNS/SRP Service Unicast Address" by including the address and port info in the Service TLV data.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameters |
|
otNetDataPublishDnsSrpServiceUnicastMeshLocalEid
void otNetDataPublishDnsSrpServiceUnicastMeshLocalEid( otInstance *aInstance, uint16_t aPort )
This function requests "DNS/SRP Service Unicast Address" to be published in the Thread Network Data.
This function requires the feature OPENTHREAD_CONFIG_TMF_NETDATA_SERVICE_ENABLE
to be enabled.
A call to this function will remove and replace any previous "DNS/SRP Service" entry that was being published (from earlier call to any of otNetDataPublishDnsSrpService{Type}()
functions).
Unlike otNetDataPublishDnsSrpServiceUnicast()
which requires the published address to be given and includes the info in the Service TLV data, this function uses the device's mesh-local EID and includes the info in the Server TLV data.
Details | |||||
---|---|---|---|---|---|
Parameters |
|
otNetDataPublishExternalRoute
otError otNetDataPublishExternalRoute( otInstance *aInstance, const otExternalRouteConfig *aConfig )
This function requests an external route prefix to be published in the Thread Network Data.
This function requires the feature OPENTHREAD_CONFIG_BORDER_ROUTER_ENABLE
to be enabled.
Only stable entries can be published (i.e.,aConfig.mStable
MUST be TRUE).
A subsequent call to this method will replace a previous request for the same prefix. In particular, if the new call only changes the flags (e.g., preference level) and the prefix is already added in the Network Data, the change to flags is immediately reflected in the Network Data. This ensures that existing entries in the Network Data are not abruptly removed. Note that a change in the preference level can potentially later cause the entry to be removed from the Network Data after determining there are other nodes that are publishing the same prefix with the same or higher preference.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameters |
|
||||||
Return Values |
|
otNetDataPublishOnMeshPrefix
otError otNetDataPublishOnMeshPrefix( otInstance *aInstance, const otBorderRouterConfig *aConfig )
This function requests an on-mesh prefix to be published in the Thread Network Data.
This function requires the feature OPENTHREAD_CONFIG_BORDER_ROUTER_ENABLE
to be enabled.
Only stable entries can be published (i.e.,aConfig.mStable
MUST be TRUE).
A subsequent call to this method will replace a previous request for the same prefix. In particular, if the new call only changes the flags (e.g., preference level) and the prefix is already added in the Network Data, the change to flags is immediately reflected in the Network Data. This ensures that existing entries in the Network Data are not abruptly removed. Note that a change in the preference level can potentially later cause the entry to be removed from the Network Data after determining there are other nodes that are publishing the same prefix with the same or higher preference.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameters |
|
||||||
Return Values |
|
otNetDataSetDnsSrpServicePublisherCallback
void otNetDataSetDnsSrpServicePublisherCallback( otInstance *aInstance, otNetDataDnsSrpServicePublisherCallback aCallback, void *aContext )
This function sets a callback for notifying when a published "DNS/SRP Service" is actually added to or removed from the Thread Network Data.
A subsequent call to this function replaces any previously set callback function.
This function requires the feature OPENTHREAD_CONFIG_TMF_NETDATA_SERVICE_ENABLE
to be enabled.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameters |
|
otNetDataSetPrefixPublisherCallback
void otNetDataSetPrefixPublisherCallback( otInstance *aInstance, otNetDataPrefixPublisherCallback aCallback, void *aContext )
This function sets a callback for notifying when a published prefix entry is actually added to or removed from the Thread Network Data.
A subsequent call to this function replaces any previously set callback function.
This function requires the feature OPENTHREAD_CONFIG_BORDER_ROUTER_ENABLE
to be enabled.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameters |
|
otNetDataSteeringDataCheckJoiner
otError otNetDataSteeringDataCheckJoiner( otInstance *aInstance, const otExtAddress *aEui64 )
Check if the steering data includes a Joiner.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameters |
|
||||||
Return Values |
|
otNetDataSteeringDataCheckJoinerWithDiscerner
otError otNetDataSteeringDataCheckJoinerWithDiscerner( otInstance *aInstance, const struct otJoinerDiscerner *aDiscerner )
Check if the steering data includes a Joiner with a given discerner value.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameters |
|
||||||
Return Values |
|
otNetDataUnpublishDnsSrpService
void otNetDataUnpublishDnsSrpService( otInstance *aInstance )
Unpublishes any previously added DNS/SRP (Anycast or Unicast) Service entry from the Thread Network Data.
OPENTHREAD_CONFIG_TMF_NETDATA_SERVICE_ENABLE
must be enabled.
Details | |||
---|---|---|---|
Parameters |
|
otNetDataUnpublishPrefix
otError otNetDataUnpublishPrefix( otInstance *aInstance, const otIp6Prefix *aPrefix )
Unpublishes a previously published On-Mesh or External Route Prefix.
OPENTHREAD_CONFIG_BORDER_ROUTER_ENABLE
must be enabled.
Details | |||||
---|---|---|---|---|---|
Parameters |
|
||||
Return Values |
|
otThreadBecomeChild
otError otThreadBecomeChild( otInstance *aInstance )
Attempt to reattach as a child.
Details | |||||
---|---|---|---|---|---|
Parameters |
|
||||
Return Values |
|
otThreadBecomeDetached
otError otThreadBecomeDetached( otInstance *aInstance )
Detach from the Thread network.
Details | |||||
---|---|---|---|---|---|
Parameters |
|
||||
Return Values |
|
otThreadDetachGracefully
otError otThreadDetachGracefully( otInstance *aInstance, otDetachGracefullyCallback aCallback, void *aContext )
This function notifies other nodes in the network (if any) and then stops Thread protocol operation.
It sends an Address Release if it's a router, or sets its child timeout to 0 if it's a child.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameters |
|
||||||
Return Values |
|
otThreadDeviceRoleToString
const char * otThreadDeviceRoleToString( otDeviceRole aRole )
Convert the device role to human-readable string.
Details | |||
---|---|---|---|
Parameters |
|
||
Returns |
A string representing
aRole . |
otThreadDiscover
otError otThreadDiscover( otInstance *aInstance, uint32_t aScanChannels, uint16_t aPanId, bool aJoiner, bool aEnableEui64Filtering, otHandleActiveScanResult aCallback, void *aCallbackContext )
This function starts a Thread Discovery scan.
Details | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parameters |
|
||||||||||||||
Return Values |
|
otThreadGetChildTimeout
uint32_t otThreadGetChildTimeout( otInstance *aInstance )
Gets the Thread Child Timeout (in seconds) used when operating in the Child role.
Details | |||
---|---|---|---|
Parameters |
|
||
Returns |
The Thread Child Timeout value in seconds.
|
otThreadSetChildTimeout
otThreadGetDeviceRole
otDeviceRole otThreadGetDeviceRole( otInstance *aInstance )
Get the device role.
Details | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parameters |
|
||||||||||
Return Values |
|
otThreadGetDomainName
const char * otThreadGetDomainName( otInstance *aInstance )
Gets the Thread Domain Name.
Details | |||
---|---|---|---|
Parameters |
|
||
Returns |
A pointer to the Thread Domain Name.
|
otThreadSetDomainName
otThreadGetExtendedPanId
const otExtendedPanId * otThreadGetExtendedPanId( otInstance *aInstance )
Gets the IEEE 802.15.4 Extended PAN ID.
Details | |||
---|---|---|---|
Parameters |
|
||
Returns |
A pointer to the IEEE 802.15.4 Extended PAN ID.
|
otThreadSetExtendedPanId
otThreadGetFixedDuaInterfaceIdentifier
const otIp6InterfaceIdentifier * otThreadGetFixedDuaInterfaceIdentifier( otInstance *aInstance )
Gets the Interface Identifier manually specified for the Thread Domain Unicast Address.
Available when OPENTHREAD_CONFIG_DUA_ENABLE
is enabled.
Details | |||
---|---|---|---|
Parameters |
|
||
Returns |
A pointer to the Interface Identifier which was set manually, or NULL if none was set.
|
otThreadSetFixedDuaInterfaceIdentifier
otThreadGetIp6Counters
const otIpCounters * otThreadGetIp6Counters( otInstance *aInstance )
Gets the IPv6 counters.
Details | |||
---|---|---|---|
Parameters |
|
||
Returns |
A pointer to the IPv6 counters.
|
otThreadGetKeySequenceCounter
uint32_t otThreadGetKeySequenceCounter( otInstance *aInstance )
Gets the thrKeySequenceCounter.
Details | |||
---|---|---|---|
Parameters |
|
||
Returns |
The thrKeySequenceCounter value.
|
otThreadSetKeySequenceCounter
otThreadGetKeySwitchGuardTime
uint32_t otThreadGetKeySwitchGuardTime( otInstance *aInstance )
Gets the thrKeySwitchGuardTime (in hours).
Details | |||
---|---|---|---|
Parameters |
|
||
Returns |
The thrKeySwitchGuardTime value (in hours).
|
otThreadSetKeySwitchGuardTime
otThreadGetLeaderData
otError otThreadGetLeaderData( otInstance *aInstance, otLeaderData *aLeaderData )
This function get the Thread Leader Data.
Details | |||||
---|---|---|---|---|---|
Parameters |
|
||||
Return Values |
|
otThreadGetLeaderRloc
otError otThreadGetLeaderRloc( otInstance *aInstance, otIp6Address *aLeaderRloc )
This function returns a pointer to the Leader's RLOC.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameters |
|
||||||
Return Values |
|
otThreadGetLeaderRouterId
uint8_t otThreadGetLeaderRouterId( otInstance *aInstance )
Get the Leader's Router ID.
Details | |||
---|---|---|---|
Parameters |
|
||
Returns |
The Leader's Router ID.
|
otThreadGetLeaderWeight
uint8_t otThreadGetLeaderWeight( otInstance *aInstance )
Get the Leader's Weight.
Details | |||
---|---|---|---|
Parameters |
|
||
Returns |
The Leader's Weight.
|
otThreadGetLinkLocalAllThreadNodesMulticastAddress
const otIp6Address * otThreadGetLinkLocalAllThreadNodesMulticastAddress( otInstance *aInstance )
Gets the Thread Link-Local All Thread Nodes multicast address.
The address is a link-local Unicast Prefix-Based Multicast Address [RFC 3306], with:
- flgs set to 3 (P = 1 and T = 1)
- scop set to 2
- plen set to 64
- network prefix set to the Mesh Local Prefix
- group ID set to 1
Details | |||
---|---|---|---|
Parameters |
|
||
Returns |
A pointer to Thread Link-Local All Thread Nodes multicast address.
|
otThreadGetLinkLocalIp6Address
const otIp6Address * otThreadGetLinkLocalIp6Address( otInstance *aInstance )
Gets the Thread link-local IPv6 address.
The Thread link local address is derived using IEEE802.15.4 Extended Address as Interface Identifier.
Details | |||
---|---|---|---|
Parameters |
|
||
Returns |
A pointer to Thread link-local IPv6 address.
|
otThreadGetLinkMode
otLinkModeConfig otThreadGetLinkMode( otInstance *aInstance )
Get the MLE Link Mode configuration.
Details | |||
---|---|---|---|
Parameters |
|
||
Returns |
The MLE Link Mode configuration.
|
otThreadSetLinkMode
otThreadGetMeshLocalEid
const otIp6Address * otThreadGetMeshLocalEid( otInstance *aInstance )
Gets the Mesh Local EID address.
Details | |||
---|---|---|---|
Parameters |
|
||
Returns |
A pointer to the Mesh Local EID address.
|
otThreadGetMeshLocalPrefix
const otMeshLocalPrefix * otThreadGetMeshLocalPrefix( otInstance *aInstance )
This function returns a pointer to the Mesh Local Prefix.
Details | |||
---|---|---|---|
Parameters |
|
||
Returns |
A pointer to the Mesh Local Prefix.
|
otThreadGetMleCounters
const otMleCounters * otThreadGetMleCounters( otInstance *aInstance )
Gets the Thread MLE counters.
Details | |||
---|---|---|---|
Parameters |
|
||
Returns |
A pointer to the Thread MLE counters.
|
otThreadGetNetworkKey
void otThreadGetNetworkKey( otInstance *aInstance, otNetworkKey *aNetworkKey )
Get the Thread Network Key.
Details | |||||
---|---|---|---|---|---|
Parameters |
|
otThreadSetNetworkKey
otThreadGetNetworkKeyRef
otNetworkKeyRef otThreadGetNetworkKeyRef( otInstance *aInstance )
Get the otNetworkKeyRef
for Thread Network Key.
This function requires the build-time feature OPENTHREAD_CONFIG_PLATFORM_KEY_REFERENCES_ENABLE
to be enabled.
Details | |||
---|---|---|---|
Parameters |
|
||
Returns |
Reference to the Thread Network Key stored in memory.
|
otThreadSetNetworkKeyRef
otThreadGetNetworkName
const char * otThreadGetNetworkName( otInstance *aInstance )
Get the Thread Network Name.
Details | |||
---|---|---|---|
Parameters |
|
||
Returns |
A pointer to the Thread Network Name.
|
otThreadSetNetworkName
otThreadGetNextDiagnosticTlv
otError otThreadGetNextDiagnosticTlv( const otMessage *aMessage, otNetworkDiagIterator *aIterator, otNetworkDiagTlv *aNetworkDiagTlv )
This function gets the next Network Diagnostic TLV in the message.
A subsequent call to this function is allowed only when current return value is OT_ERROR_NONE.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameters |
|
||||||
Return Values |
|
otThreadGetNextNeighborInfo
otError otThreadGetNextNeighborInfo( otInstance *aInstance, otNeighborInfoIterator *aIterator, otNeighborInfo *aInfo )
This function gets the next neighbor information.
It is used to go through the entries of the neighbor table.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameters |
|
||||||
Return Values |
|
otThreadGetParentAverageRssi
otError otThreadGetParentAverageRssi( otInstance *aInstance, int8_t *aParentRssi )
The function retrieves the average RSSI for the Thread Parent.
Details | |||||
---|---|---|---|---|---|
Parameters |
|
otThreadGetParentInfo
otError otThreadGetParentInfo( otInstance *aInstance, otRouterInfo *aParentInfo )
The function retrieves diagnostic information for a Thread Router as parent.
Details | |||||
---|---|---|---|---|---|
Parameters |
|
otThreadGetParentLastRssi
otError otThreadGetParentLastRssi( otInstance *aInstance, int8_t *aLastRssi )
The function retrieves the RSSI of the last packet from the Thread Parent.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameters |
|
||||||
Return Values |
|
otThreadGetPartitionId
uint32_t otThreadGetPartitionId( otInstance *aInstance )
Get the Partition ID.
Details | |||
---|---|---|---|
Parameters |
|
||
Returns |
The Partition ID.
|
otThreadGetRealmLocalAllThreadNodesMulticastAddress
const otIp6Address * otThreadGetRealmLocalAllThreadNodesMulticastAddress( otInstance *aInstance )
Gets the Thread Realm-Local All Thread Nodes multicast address.
The address is a realm-local Unicast Prefix-Based Multicast Address [RFC 3306], with:
- flgs set to 3 (P = 1 and T = 1)
- scop set to 3
- plen set to 64
- network prefix set to the Mesh Local Prefix
- group ID set to 1
Details | |||
---|---|---|---|
Parameters |
|
||
Returns |
A pointer to Thread Realm-Local All Thread Nodes multicast address.
|
otThreadGetRloc
const otIp6Address * otThreadGetRloc( otInstance *aInstance )
Gets the Thread Routing Locator (RLOC) address.
Details | |||
---|---|---|---|
Parameters |
|
||
Returns |
A pointer to the Thread Routing Locator (RLOC) address.
|
otThreadGetRloc16
uint16_t otThreadGetRloc16( otInstance *aInstance )
Get the RLOC16.
Details | |||
---|---|---|---|
Parameters |
|
||
Returns |
The RLOC16.
|
otThreadGetServiceAloc
otError otThreadGetServiceAloc( otInstance *aInstance, uint8_t aServiceId, otIp6Address *aServiceAloc )
This function retrieves the Service ALOC for given Service ID.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameters |
|
||||||
Return Values |
|
otThreadGetVersion
uint16_t otThreadGetVersion( void )
This function gets the Thread protocol version.
Details | |
---|---|
Returns |
the Thread protocol version.
|
otThreadIsAnycastLocateInProgress
bool otThreadIsAnycastLocateInProgress( otInstance *aInstance )
This function indicates whether an anycast locate request is currently in progress.
This function is only available when OPENTHREAD_CONFIG_TMF_ANYCAST_LOCATOR_ENABLE
is enabled.
Details | |||
---|---|---|---|
Parameters |
|
||
Returns |
TRUE if an anycast locate request is currently in progress, FALSE otherwise.
|
otThreadIsDiscoverInProgress
bool otThreadIsDiscoverInProgress( otInstance *aInstance )
This function determines if an MLE Thread Discovery is currently in progress.
Details | |||
---|---|---|---|
Parameters |
|
otThreadIsSingleton
bool otThreadIsSingleton( otInstance *aInstance )
This function indicates whether a node is the only router on the network.
Details | |||||
---|---|---|---|---|---|
Parameters |
|
||||
Return Values |
|
otThreadLocateAnycastDestination
otError otThreadLocateAnycastDestination( otInstance *aInstance, const otIp6Address *aAnycastAddress, otThreadAnycastLocatorCallback aCallback, void *aContext )
This function requests the closest destination of a given anycast address to be located.
This function is only available when OPENTHREAD_CONFIG_TMF_ANYCAST_LOCATOR_ENABLE
is enabled.
If a previous request is ongoing, a subsequent call to this function will cancel and replace the earlier request.
Details | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parameters |
|
||||||||
Return Values |
|
otThreadRegisterParentResponseCallback
void otThreadRegisterParentResponseCallback( otInstance *aInstance, otThreadParentResponseCallback aCallback, void *aContext )
This function registers a callback to receive MLE Parent Response data.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameters |
|
otThreadResetIp6Counters
void otThreadResetIp6Counters( otInstance *aInstance )
Resets the IPv6 counters.
Details | |||
---|---|---|---|
Parameters |
|
otThreadResetMleCounters
void otThreadResetMleCounters( otInstance *aInstance )
Resets the Thread MLE counters.
Details | |||
---|---|---|---|
Parameters |
|
otThreadSearchForBetterParent
otError otThreadSearchForBetterParent( otInstance *aInstance )
Starts the process for child to search for a better parent while staying attached to its current parent.
Must be used when device is attached as a child.
Details | |||||
---|---|---|---|---|---|
Return Values |
|
otThreadSendAddressNotification
void otThreadSendAddressNotification( otInstance *aInstance, otIp6Address *aDestination, otIp6Address *aTarget, otIp6InterfaceIdentifier *aMlIid )
This function sends a Proactive Address Notification (ADDR_NTF.ntf) message.
This function is only available when OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE
is enabled.
Details | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parameters |
|
otThreadSendDiagnosticGet
otError otThreadSendDiagnosticGet( otInstance *aInstance, const otIp6Address *aDestination, const uint8_t aTlvTypes[], uint8_t aCount, otReceiveDiagnosticGetCallback aCallback, void *aCallbackContext )
Send a Network Diagnostic Get request.
Details | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parameters |
|
||||||||||||
Return Values |
|
otThreadSendDiagnosticReset
otError otThreadSendDiagnosticReset( otInstance *aInstance, const otIp6Address *aDestination, const uint8_t aTlvTypes[], uint8_t aCount )
Send a Network Diagnostic Reset request.
Details | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parameters |
|
||||||||
Return Values |
|
otThreadSendProactiveBackboneNotification
otError otThreadSendProactiveBackboneNotification( otInstance *aInstance, otIp6Address *aTarget, otIp6InterfaceIdentifier *aMlIid, uint32_t aTimeSinceLastTransaction )
This function sends a Proactive Backbone Notification (PRO_BB.ntf) message on the Backbone link.
This function is only available when OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE
is enabled.
Details | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parameters |
|
||||||||
Return Values |
|
otThreadSetChildTimeout
void otThreadSetChildTimeout( otInstance *aInstance, uint32_t aTimeout )
Sets the Thread Child Timeout (in seconds) used when operating in the Child role.
Details | |||||
---|---|---|---|---|---|
Parameters |
|
otThreadGetChildTimeout
otThreadSetDiscoveryRequestCallback
void otThreadSetDiscoveryRequestCallback( otInstance *aInstance, otThreadDiscoveryRequestCallback aCallback, void *aContext )
This function sets a callback to receive MLE Discovery Request data.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameters |
|
otThreadSetDomainName
otError otThreadSetDomainName( otInstance *aInstance, const char *aDomainName )
Sets the Thread Domain Name.
Only succeeds when Thread protocols are disabled.
Details | |||||
---|---|---|---|---|---|
Parameters |
|
||||
Return Values |
|
otThreadGetDomainName
otThreadSetEnabled
otError otThreadSetEnabled( otInstance *aInstance, bool aEnabled )
This function starts Thread protocol operation.
The interface must be up when calling this function.
Calling this function with aEnabled
set to FALSE stops any ongoing processes of detaching started by otThreadDetachGracefully(). Its callback will be called.
Details | |||||
---|---|---|---|---|---|
Parameters |
|
||||
Return Values |
|
otThreadSetExtendedPanId
otError otThreadSetExtendedPanId( otInstance *aInstance, const otExtendedPanId *aExtendedPanId )
Sets the IEEE 802.15.4 Extended PAN ID.
Details | |||||
---|---|---|---|---|---|
Parameters |
|
||||
Return Values |
|
otThreadGetExtendedPanId
otThreadSetFixedDuaInterfaceIdentifier
otError otThreadSetFixedDuaInterfaceIdentifier( otInstance *aInstance, const otIp6InterfaceIdentifier *aIid )
Sets or clears the Interface Identifier manually specified for the Thread Domain Unicast Address.
Available when OPENTHREAD_CONFIG_DUA_ENABLE
is enabled.
Details | |||||
---|---|---|---|---|---|
Parameters |
|
||||
Return Values |
|
otThreadGetFixedDuaInterfaceIdentifier
otThreadSetJoinerAdvertisement
otError otThreadSetJoinerAdvertisement( otInstance *aInstance, uint32_t aOui, const uint8_t *aAdvData, uint8_t aAdvDataLength )
This method sets the Thread Joiner Advertisement when discovering Thread network.
Thread Joiner Advertisement is used to allow a Joiner to advertise its own application-specific information (such as Vendor ID, Product ID, Discriminator, etc.) via a newly-proposed Joiner Advertisement TLV, and to make this information available to Commissioners or Commissioner Candidates without human interaction.
Details | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parameters |
|
||||||||
Return Values |
|
otThreadSetKeySequenceCounter
void otThreadSetKeySequenceCounter( otInstance *aInstance, uint32_t aKeySequenceCounter )
Sets the thrKeySequenceCounter.
Details | |||||
---|---|---|---|---|---|
Parameters |
|
otThreadGetKeySequenceCounter
otThreadSetKeySwitchGuardTime
void otThreadSetKeySwitchGuardTime( otInstance *aInstance, uint32_t aKeySwitchGuardTime )
Sets the thrKeySwitchGuardTime (in hours).
Details | |||||
---|---|---|---|---|---|
Parameters |
|
otThreadGetKeySwitchGuardTime
otThreadSetLinkMode
otError otThreadSetLinkMode( otInstance *aInstance, otLinkModeConfig aConfig )
Set the MLE Link Mode configuration.
Details | |||||
---|---|---|---|---|---|
Parameters |
|
||||
Return Values |
|
otThreadGetLinkMode
otThreadSetMeshLocalPrefix
otError otThreadSetMeshLocalPrefix( otInstance *aInstance, const otMeshLocalPrefix *aMeshLocalPrefix )
This function sets the Mesh Local Prefix.
This function succeeds only when Thread protocols are disabled. A successful call to this function invalidates the Active and Pending Operational Datasets in non-volatile memory.
Details | |||||
---|---|---|---|---|---|
Parameters |
|
||||
Return Values |
|
otThreadSetNetworkKey
otError otThreadSetNetworkKey( otInstance *aInstance, const otNetworkKey *aKey )
Set the Thread Network Key.
This function succeeds only when Thread protocols are disabled. A successful call to this function invalidates the Active and Pending Operational Datasets in non-volatile memory.
Details | |||||
---|---|---|---|---|---|
Parameters |
|
||||
Return Values |
|
otThreadGetNetworkKey
otThreadSetNetworkKeyRef
otError otThreadSetNetworkKeyRef( otInstance *aInstance, otNetworkKeyRef aKeyRef )
Set the Thread Network Key as a otNetworkKeyRef
.
This function succeeds only when Thread protocols are disabled. A successful call to this function invalidates the Active and Pending Operational Datasets in non-volatile memory.
This function requires the build-time feature OPENTHREAD_CONFIG_PLATFORM_KEY_REFERENCES_ENABLE
to be enabled.
Details | |||||
---|---|---|---|---|---|
Parameters |
|
||||
Return Values |
|
otThreadGetNetworkKeyRef
otThreadSetNetworkName
otError otThreadSetNetworkName( otInstance *aInstance, const char *aNetworkName )
Set the Thread Network Name.
This function succeeds only when Thread protocols are disabled. A successful call to this function invalidates the Active and Pending Operational Datasets in non-volatile memory.
Details | |||||
---|---|---|---|---|---|
Parameters |
|
||||
Return Values |
|
otThreadGetNetworkName
Macros
OT_JOINER_ADVDATA_MAX_LENGTH
OT_JOINER_ADVDATA_MAX_LENGTH 64
Maximum AdvData Length of Joiner Advertisement.
OT_NEIGHBOR_INFO_ITERATOR_INIT
OT_NEIGHBOR_INFO_ITERATOR_INIT 0
Initializer for otNeighborInfoIterator.
OT_NETWORK_BASE_TLV_MAX_LENGTH
OT_NETWORK_BASE_TLV_MAX_LENGTH 254
Maximum value length of Thread Base TLV.
OT_NETWORK_DATA_ITERATOR_INIT
OT_NETWORK_DATA_ITERATOR_INIT 0
Value to initialize otNetworkDataIterator
.
OT_NETWORK_DIAGNOSTIC_CHILD_TABLE_ENTRY_SIZE
OT_NETWORK_DIAGNOSTIC_CHILD_TABLE_ENTRY_SIZE 3
Size of Network Diagnostic Child Table entry.
OT_NETWORK_DIAGNOSTIC_ITERATOR_INIT
OT_NETWORK_DIAGNOSTIC_ITERATOR_INIT 0
Initializer for otNetworkDiagIterator.
OT_NETWORK_DIAGNOSTIC_TYPELIST_MAX_ENTRIES
OT_NETWORK_DIAGNOSTIC_TYPELIST_MAX_ENTRIES 19
Maximum Number of Network Diagnostic TLV Types to Request or Reset.
OT_NETWORK_MAX_ROUTER_ID
OT_NETWORK_MAX_ROUTER_ID 62
Maximum Router ID.
OT_SERVER_DATA_MAX_SIZE
OT_SERVER_DATA_MAX_SIZE 248
Max size of Server Data in bytes. Theoretical limit, practically much lower.
OT_SERVICE_DATA_MAX_SIZE
OT_SERVICE_DATA_MAX_SIZE 252
Max size of Service Data in bytes.
Resources
OpenThread API Reference topics originate from the source code, available on GitHub. For more information, or to contribute to our documentation, refer to Resources.