This module includes functions for all Thread roles.
Classes |
|
struct | otBorderRouterConfig |
This structure represents a Border Router configuration.
|
|
struct | otExternalRouteConfig |
This structure represents an External Route configuration.
|
|
struct | otServerConfig |
This structure represents a Server configuration.
|
|
struct | otServiceConfig |
This structure represents a Service configuration.
|
|
struct | otNetworkDiagConnectivity |
This structure represents a Network Diagnostic Connectivity value.
|
|
struct | otNetworkDiagRouteData |
This structure represents a Network Diagnostic Route data.
|
|
struct | otNetworkDiagRoute |
This structure represents a Network Diagnostic Route TLV value.
|
|
struct | otNetworkDiagMacCounters |
This structure represents a Network Diagnostic Mac Counters value.
|
|
struct | otNetworkDiagChildEntry |
This structure represents a Network Diagnostic Child Table Entry.
|
|
struct | otNetworkDiagTlv |
This structure represents a Network Diagnostic TLV.
|
|
struct | otLinkModeConfig |
This structure represents an MLE Link Mode configuration.
|
|
struct | otNeighborInfo |
This structure holds diagnostic information for a neighboring Thread node.
|
|
struct | otLeaderData |
This structure represents the Thread Leader Data.
|
|
struct | otRouterInfo |
This structure holds diagnostic information for a Thread Router.
|
|
struct | otIpCounters |
This structure represents the IP level counters.
|
|
struct | otMleCounters |
This structure represents the Thread MLE counters.
|
|
struct | otThreadParentResponseInfo |
This structure represents the MLE Parent Response data.
|
|
struct | otThreadDiscoveryRequestInfo |
This structure represents the Thread Discovery Request data.
|
Macros |
|
#define | OT_NETWORK_DATA_ITERATOR_INIT 0 |
Value to initialize
otNetworkDataIterator
.
|
|
#define | OT_SERVICE_DATA_MAX_SIZE 252 |
Max size of Service Data in bytes.
|
|
#define | OT_SERVER_DATA_MAX_SIZE 248 |
Max size of Server Data in bytes. Theoretical limit, practically much lower.
|
|
#define | OT_NETWORK_DIAGNOSTIC_TYPELIST_MAX_ENTRIES 19 |
Maximum Number of Network Diagnostic TLV Types to Request or Reset.
|
|
#define | OT_NETWORK_DIAGNOSTIC_CHILD_TABLE_ENTRY_SIZE 3 |
Size of Network Diagnostic Child Table entry.
|
|
#define | OT_NETWORK_DIAGNOSTIC_ITERATOR_INIT 0 |
Initializer for otNetworkDiagIterator.
|
|
#define | OT_NETWORK_BASE_TLV_MAX_LENGTH 254 |
Maximum value length of Thread Base TLV.
|
|
#define | OT_NETWORK_MAX_ROUTER_ID 62 |
Maximum Router ID.
|
|
#define | OT_NEIGHBOR_INFO_ITERATOR_INIT 0 |
Initializer for otNeighborInfoIterator.
|
|
#define | OT_JOINER_ADVDATA_MAX_LENGTH 64 |
Maximum AdvData Length of Joiner Advertisement.
|
Typedefs |
|
typedef uint32_t | otNetworkDataIterator |
Used to iterate through Network Data information.
|
|
typedef struct otBorderRouterConfig | otBorderRouterConfig |
This structure represents a Border Router configuration.
|
|
typedef struct otExternalRouteConfig | otExternalRouteConfig |
This structure represents an External Route configuration.
|
|
typedef enum otRoutePreference | otRoutePreference |
Defines valid values for
mPreference
in
otExternalRouteConfig
and
otBorderRouterConfig
.
|
|
typedef struct otServerConfig | otServerConfig |
This structure represents a Server configuration.
|
|
typedef struct otServiceConfig | otServiceConfig |
This structure represents a Service configuration.
|
|
typedef enum otNetDataPublisherEvent | otNetDataPublisherEvent |
This enumeration represents the events reported from the Publisher callbacks.
|
|
typedef 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.
|
|
typedef 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.
|
|
typedef uint16_t | otNetworkDiagIterator |
Used to iterate through Network Diagnostic TLV.
|
|
typedef struct otNetworkDiagConnectivity | otNetworkDiagConnectivity |
This structure represents a Network Diagnostic Connectivity value.
|
|
typedef struct otNetworkDiagRouteData | otNetworkDiagRouteData |
This structure represents a Network Diagnostic Route data.
|
|
typedef struct otNetworkDiagRoute | otNetworkDiagRoute |
This structure represents a Network Diagnostic Route TLV value.
|
|
typedef struct otNetworkDiagMacCounters | otNetworkDiagMacCounters |
This structure represents a Network Diagnostic Mac Counters value.
|
|
typedef struct otNetworkDiagChildEntry | otNetworkDiagChildEntry |
This structure represents a Network Diagnostic Child Table Entry.
|
|
typedef struct otNetworkDiagTlv | otNetworkDiagTlv |
This structure represents a Network Diagnostic TLV.
|
|
typedef void(* | otReceiveDiagnosticGetCallback ) ( otError aError, otMessage *aMessage, const otMessageInfo *aMessageInfo, void *aContext) |
This function pointer is called when Network Diagnostic Get response is received.
|
|
typedef struct otLinkModeConfig | otLinkModeConfig |
This structure represents an MLE Link Mode configuration.
|
|
typedef int16_t | otNeighborInfoIterator |
Used to iterate through neighbor table.
|
|
typedef struct otLeaderData | otLeaderData |
This structure represents the Thread Leader Data.
|
|
typedef struct otIpCounters | otIpCounters |
This structure represents the IP level counters.
|
|
typedef struct otMleCounters | otMleCounters |
This structure represents the Thread MLE counters.
|
|
typedef struct otThreadParentResponseInfo | otThreadParentResponseInfo |
This structure represents the MLE Parent Response data.
|
|
typedef void(* | otThreadParentResponseCallback ) ( otThreadParentResponseInfo *aInfo, void *aContext) |
This function pointer is called every time an MLE Parent Response message is received.
|
|
typedef struct otThreadDiscoveryRequestInfo | otThreadDiscoveryRequestInfo |
This structure represents the Thread Discovery Request data.
|
|
typedef void(* | otThreadDiscoveryRequestCallback ) (const otThreadDiscoveryRequestInfo *aInfo, void *aContext) |
This function pointer is called every time an MLE Discovery Request message is received.
|
|
typedef 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.
|
Functions |
|
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.
|
|
otError | otNetDataGetNextOnMeshPrefix ( otInstance *aInstance, otNetworkDataIterator *aIterator, otBorderRouterConfig *aConfig) |
This function gets the next On Mesh Prefix in the partition's Network Data.
|
|
otError | otNetDataGetNextRoute ( otInstance *aInstance, otNetworkDataIterator *aIterator, otExternalRouteConfig *aConfig) |
This function gets the next external route in the partition's Network Data.
|
|
otError | otNetDataGetNextService ( otInstance *aInstance, otNetworkDataIterator *aIterator, otServiceConfig *aConfig) |
This function gets the next service in the partition's Network Data.
|
|
uint8_t | otNetDataGetVersion ( otInstance *aInstance) |
Get the Network Data Version.
|
|
uint8_t | otNetDataGetStableVersion ( otInstance *aInstance) |
Get the Stable Network Data Version.
|
|
otError | otNetDataSteeringDataCheckJoiner ( otInstance *aInstance, const otExtAddress *aEui64) |
Check if the steering data includes a Joiner.
|
|
otError | otNetDataSteeringDataCheckJoinerWithDiscerner ( otInstance *aInstance, const struct otJoinerDiscerner *aDiscerner) |
Check if the steering data includes a Joiner with a given discerner value.
|
|
void | otNetDataPublishDnsSrpServiceAnycast ( otInstance *aInstance, uint8_t aSequenceNUmber) |
This function requests "DNS/SRP Service Anycast Address" to be published in the Thread Network Data.
|
|
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.
|
|
void | otNetDataPublishDnsSrpServiceUnicastMeshLocalEid ( otInstance *aInstance, uint16_t aPort) |
This function requests "DNS/SRP Service Unicast Address" to be published in the Thread Network Data.
|
|
bool | otNetDataIsDnsSrpServiceAdded ( otInstance *aInstance) |
This function indicates whether or not currently the "DNS/SRP Service" entry is added to the Thread Network Data.
|
|
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.
|
|
void | otNetDataUnpublishDnsSrpService ( otInstance *aInstance) |
This function unpublishes any previously added "DNS/SRP (Anycast or Unicast) Service" entry from the Thread Network Data.
|
|
otError | otNetDataPublishOnMeshPrefix ( otInstance *aInstance, const otBorderRouterConfig *aConfig) |
This function requests an on-mesh prefix to be published in the Thread Network Data.
|
|
otError | otNetDataPublishExternalRoute ( otInstance *aInstance, const otExternalRouteConfig *aConfig) |
This function requests an external route prefix to be published in the Thread Network Data.
|
|
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.
|
|
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.
|
|
otError | otNetDataUnpublishPrefix ( otInstance *aInstance, const otIp6Prefix *aPrefix) |
This function unpublishes a previously published prefix (on-mesh or external route).
|
|
otError | otThreadGetNextDiagnosticTlv (const otMessage *aMessage, otNetworkDiagIterator *aIterator, otNetworkDiagTlv *aNetworkDiagTlv) |
This function gets the next Network Diagnostic TLV in the message.
|
|
otError | otThreadSendDiagnosticGet ( otInstance *aInstance, const otIp6Address *aDestination, const uint8_t aTlvTypes[], uint8_t aCount, otReceiveDiagnosticGetCallback aCallback, void *aCallbackContext) |
Send a Network Diagnostic Get request.
|
|
otError | otThreadSendDiagnosticReset ( otInstance *aInstance, const otIp6Address *aDestination, const uint8_t aTlvTypes[], uint8_t aCount) |
Send a Network Diagnostic Reset request.
|
|
otError | otThreadSetEnabled ( otInstance *aInstance, bool aEnabled) |
This function starts Thread protocol operation.
|
|
uint16_t | otThreadGetVersion (void) |
This function gets the Thread protocol version.
|
|
bool | otThreadIsSingleton ( otInstance *aInstance) |
This function indicates whether a node is the only router on the network.
|
|
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.
|
|
bool | otThreadIsDiscoverInProgress ( otInstance *aInstance) |
This function determines if an MLE Thread Discovery is currently in progress.
|
|
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.
|
|
uint32_t | otThreadGetChildTimeout ( otInstance *aInstance) |
Get the Thread Child Timeout used when operating in the Child role.
|
|
void | otThreadSetChildTimeout ( otInstance *aInstance, uint32_t aTimeout) |
Set the Thread Child Timeout used when operating in the Child role.
|
|
const otExtendedPanId * | otThreadGetExtendedPanId ( otInstance *aInstance) |
Get the IEEE 802.15.4 Extended PAN ID.
|
|
otError | otThreadSetExtendedPanId ( otInstance *aInstance, const otExtendedPanId *aExtendedPanId) |
Set the IEEE 802.15.4 Extended PAN ID.
|
|
otError | otThreadGetLeaderRloc ( otInstance *aInstance, otIp6Address *aLeaderRloc) |
This function returns a pointer to the Leader's RLOC.
|
|
otLinkModeConfig | otThreadGetLinkMode ( otInstance *aInstance) |
Get the MLE Link Mode configuration.
|
|
otError | otThreadSetLinkMode ( otInstance *aInstance, otLinkModeConfig aConfig) |
Set the MLE Link Mode configuration.
|
|
void | otThreadGetNetworkKey ( otInstance *aInstance, otNetworkKey *aNetworkKey) |
Get the Thread Network Key.
|
|
otNetworkKeyRef | otThreadGetNetworkKeyRef ( otInstance *aInstance) |
Get the
otNetworkKeyRef
for Thread Network Key.
|
|
otError | otThreadSetNetworkKey ( otInstance *aInstance, const otNetworkKey *aKey) |
Set the Thread Network Key.
|
|
otError | otThreadSetNetworkKeyRef ( otInstance *aInstance, otNetworkKeyRef aKeyRef) |
Set the Thread Network Key as a
otNetworkKeyRef
.
|
|
const otIp6Address * | otThreadGetRloc ( otInstance *aInstance) |
This function returns a pointer to the Thread Routing Locator (RLOC) address.
|
|
const otIp6Address * | otThreadGetMeshLocalEid ( otInstance *aInstance) |
This function returns a pointer to the Mesh Local EID address.
|
|
const otMeshLocalPrefix * | otThreadGetMeshLocalPrefix ( otInstance *aInstance) |
This function returns a pointer to the Mesh Local Prefix.
|
|
otError | otThreadSetMeshLocalPrefix ( otInstance *aInstance, const otMeshLocalPrefix *aMeshLocalPrefix) |
This function sets the Mesh Local Prefix.
|
|
const otIp6Address * | otThreadGetLinkLocalIp6Address ( otInstance *aInstance) |
This function returns the Thread link-local IPv6 address.
|
|
const otIp6Address * | otThreadGetLinkLocalAllThreadNodesMulticastAddress ( otInstance *aInstance) |
This function returns the Thread Link-Local All Thread Nodes multicast address.
|
|
const otIp6Address * | otThreadGetRealmLocalAllThreadNodesMulticastAddress ( otInstance *aInstance) |
This function returns the Thread Realm-Local All Thread Nodes multicast address.
|
|
otError | otThreadGetServiceAloc ( otInstance *aInstance, uint8_t aServiceId, otIp6Address *aServiceAloc) |
This function retrieves the Service ALOC for given Service ID.
|
|
const char * | otThreadGetNetworkName ( otInstance *aInstance) |
Get the Thread Network Name.
|
|
otError | otThreadSetNetworkName ( otInstance *aInstance, const char *aNetworkName) |
Set the Thread Network Name.
|
|
const char * | otThreadGetDomainName ( otInstance *aInstance) |
Get the Thread Domain Name.
|
|
otError | otThreadSetDomainName ( otInstance *aInstance, const char *aDomainName) |
Set the Thread Domain Name.
|
|
otError | otThreadSetFixedDuaInterfaceIdentifier ( otInstance *aInstance, const otIp6InterfaceIdentifier *aIid) |
Set/Clear the Interface Identifier manually specified for the Thread Domain Unicast Address.
|
|
const otIp6InterfaceIdentifier * | otThreadGetFixedDuaInterfaceIdentifier ( otInstance *aInstance) |
Get the Interface Identifier manually specified for the Thread Domain Unicast Address.
|
|
uint32_t | otThreadGetKeySequenceCounter ( otInstance *aInstance) |
Get the thrKeySequenceCounter.
|
|
void | otThreadSetKeySequenceCounter ( otInstance *aInstance, uint32_t aKeySequenceCounter) |
Set the thrKeySequenceCounter.
|
|
uint32_t | otThreadGetKeySwitchGuardTime ( otInstance *aInstance) |
Get the thrKeySwitchGuardTime.
|
|
void | otThreadSetKeySwitchGuardTime ( otInstance *aInstance, uint32_t aKeySwitchGuardTime) |
Set the thrKeySwitchGuardTime.
|
|
otError | otThreadBecomeDetached ( otInstance *aInstance) |
Detach from the Thread network.
|
|
otError | otThreadBecomeChild ( otInstance *aInstance) |
Attempt to reattach as a child.
|
|
otError | otThreadGetNextNeighborInfo ( otInstance *aInstance, otNeighborInfoIterator *aIterator, otNeighborInfo *aInfo) |
This function gets the next neighbor information.
|
|
otDeviceRole | otThreadGetDeviceRole ( otInstance *aInstance) |
Get the device role.
|
|
const char * | otThreadDeviceRoleToString ( otDeviceRole aRole) |
Convert the device role to human-readable string.
|
|
otError | otThreadGetLeaderData ( otInstance *aInstance, otLeaderData *aLeaderData) |
This function get the Thread Leader Data.
|
|
uint8_t | otThreadGetLeaderRouterId ( otInstance *aInstance) |
Get the Leader's Router ID.
|
|
uint8_t | otThreadGetLeaderWeight ( otInstance *aInstance) |
Get the Leader's Weight.
|
|
uint32_t | otThreadGetPartitionId ( otInstance *aInstance) |
Get the Partition ID.
|
|
uint16_t | otThreadGetRloc16 ( otInstance *aInstance) |
Get the RLOC16.
|
|
otError | otThreadGetParentInfo ( otInstance *aInstance, otRouterInfo *aParentInfo) |
The function retrieves diagnostic information for a Thread Router as parent.
|
|
otError | otThreadGetParentAverageRssi ( otInstance *aInstance, int8_t *aParentRssi) |
The function retrieves the average RSSI for the Thread Parent.
|
|
otError | otThreadGetParentLastRssi ( otInstance *aInstance, int8_t *aLastRssi) |
The function retrieves the RSSI of the last packet from the Thread Parent.
|
|
const otIpCounters * | otThreadGetIp6Counters ( otInstance *aInstance) |
Get the IPv6 counters.
|
|
void | otThreadResetIp6Counters ( otInstance *aInstance) |
Reset the IPv6 counters.
|
|
const otMleCounters * | otThreadGetMleCounters ( otInstance *aInstance) |
Get the Thread MLE counters.
|
|
void | otThreadResetMleCounters ( otInstance *aInstance) |
Reset the Thread MLE counters.
|
|
void | otThreadRegisterParentResponseCallback ( otInstance *aInstance, otThreadParentResponseCallback aCallback, void *aContext) |
This function registers a callback to receive MLE Parent Response data.
|
|
void | otThreadSetDiscoveryRequestCallback ( otInstance *aInstance, otThreadDiscoveryRequestCallback aCallback, void *aContext) |
This function sets a callback to receive MLE Discovery Request data.
|
|
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.
|
|
bool | otThreadIsAnycastLocateInProgress ( otInstance *aInstance) |
This function indicates whether an anycast locate request is currently in progress.
|
|
void | otThreadSendAddressNotification ( otInstance *aInstance, otIp6Address *aDestination, otIp6Address *aTarget, otIp6InterfaceIdentifier *aMlIid) |
This function sends a Proactive Address Notification (ADDR_NTF.ntf) message.
|
|
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.
|
Detailed Description
This module includes functions for all Thread roles.
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.
- Note
-
The functions in this module require
OPENTHREAD_FTD=1
orOPENTHREAD_MTD=1
.
Typedef Documentation
◆ otNetDataDnsSrpServicePublisherCallback
typedef 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()
).
- Parameters
-
[in] aEvent
Indicates the event (whether the entry was added or removed). [in] aContext
A pointer to application-specific context.
◆ otNetDataPrefixPublisherCallback
typedef 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.
- Parameters
-
[in] aEvent
Indicates the event (whether the entry was added or removed). [in] aPrefix
A pointer to the prefix entry. [in] aContext
A pointer to application-specific context.
◆ otNetworkDiagMacCounters
typedef struct otNetworkDiagMacCounters otNetworkDiagMacCounters |
This structure represents a Network Diagnostic Mac Counters value.
See RFC 2863 for definitions of member fields.
◆ otReceiveDiagnosticGetCallback
typedef void(* otReceiveDiagnosticGetCallback) ( otError aError, otMessage *aMessage, const otMessageInfo *aMessageInfo, void *aContext) |
This function pointer is called when Network Diagnostic Get response is received.
- Parameters
-
[in] aError
The error when failed to get the response. [in] aMessage
A pointer to the message buffer containing the received Network Diagnostic Get response payload. Available only when aError
isOT_ERROR_NONE
.[in] aMessageInfo
A pointer to the message info for aMessage
. Available only whenaError
isOT_ERROR_NONE
.[in] aContext
A pointer to application-specific context.
◆ otThreadAnycastLocatorCallback
typedef 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.
- Parameters
-
[in] aContext
A pointer to an arbitrary context (provided when callback is registered). [in] aError
The error when handling the request. OT_ERROR_NONE indicates success. OT_ERROR_RESPONSE_TIMEOUT indicates a destination could not be found. OT_ERROR_ABORT indicates the request was aborted. [in] aMeshLocalAddress
A pointer to the mesh-local EID of the closest destination of the anycast address when aError
is OT_ERROR_NONE, NULL otherwise.[in] aRloc16
The RLOC16 of the destination if found, otherwise invalid RLOC16 (0xfffe).
◆ otThreadDiscoveryRequestCallback
typedef void(* otThreadDiscoveryRequestCallback) (const otThreadDiscoveryRequestInfo *aInfo, void *aContext) |
This function pointer is called every time an MLE Discovery Request message is received.
- Parameters
-
[in] aInfo
A pointer to the Discovery Request info data. [in] aContext
A pointer to callback application-specific context.
◆ otThreadParentResponseCallback
typedef void(* otThreadParentResponseCallback) ( otThreadParentResponseInfo *aInfo, void *aContext) |
This function pointer is called every time an MLE Parent Response message is received.
- Parameters
-
[in] aStats
pointer to a location on stack holding the stats data. [in] aContext
A pointer to callback client-specific context.
Enumeration Type Documentation
◆ anonymous enum
anonymous enum |
◆ otDeviceRole
enum otDeviceRole |
Represents a Thread device role.
◆ otNetDataPublisherEvent
◆ otRoutePreference
enum otRoutePreference |
Defines valid values for
mPreference
in
otExternalRouteConfig
and
otBorderRouterConfig
.
Enumerator | |
---|---|
OT_ROUTE_PREFERENCE_LOW |
Low route preference. |
OT_ROUTE_PREFERENCE_MED |
Medium route preference. |
OT_ROUTE_PREFERENCE_HIGH |
High route preference. |
Function Documentation
◆ 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.
- Parameters
-
[in] aInstance
A pointer to an OpenThread instance. [in] aStable
TRUE when copying the stable version, FALSE when copying the full version. [out] aData
A pointer to the data buffer. [in,out] aDataLength
On entry, size of the data buffer pointed to by aData
. On exit, number of copied bytes.
◆ otNetDataGetNextOnMeshPrefix()
otError otNetDataGetNextOnMeshPrefix | ( | otInstance * |
aInstance,
|
otNetworkDataIterator * |
aIterator,
|
||
otBorderRouterConfig * |
aConfig
|
||
) |
This function gets the next On Mesh Prefix in the partition's Network Data.
- Parameters
-
[in] aInstance
A pointer to an OpenThread instance. [in,out] aIterator
A pointer to the Network Data iterator context. To get the first on-mesh entry it should be set to OT_NETWORK_DATA_ITERATOR_INIT. [out] aConfig
A pointer to where the On Mesh Prefix information will be placed.
- Return values
-
OT_ERROR_NONE
Successfully found the next On Mesh prefix. OT_ERROR_NOT_FOUND
No subsequent On Mesh prefix exists in the Thread Network Data.
◆ otNetDataGetNextRoute()
otError otNetDataGetNextRoute | ( | otInstance * |
aInstance,
|
otNetworkDataIterator * |
aIterator,
|
||
otExternalRouteConfig * |
aConfig
|
||
) |
This function gets the next external route in the partition's Network Data.
- Parameters
-
[in] aInstance
A pointer to an OpenThread instance. [in,out] aIterator
A pointer to the Network Data iterator context. To get the first external route entry it should be set to OT_NETWORK_DATA_ITERATOR_INIT. [out] aConfig
A pointer to where the External Route information will be placed.
- Return values
-
OT_ERROR_NONE
Successfully found the next External Route. OT_ERROR_NOT_FOUND
No subsequent external route entry exists in the Thread Network Data.
◆ otNetDataGetNextService()
otError otNetDataGetNextService | ( | otInstance * |
aInstance,
|
otNetworkDataIterator * |
aIterator,
|
||
otServiceConfig * |
aConfig
|
||
) |
This function gets the next service in the partition's Network Data.
- Parameters
-
[in] aInstance
A pointer to an OpenThread instance. [in,out] aIterator
A pointer to the Network Data iterator context. To get the first service entry it should be set to OT_NETWORK_DATA_ITERATOR_INIT. [out] aConfig
A pointer to where the service information will be placed.
- Return values
-
OT_ERROR_NONE
Successfully found the next service. OT_ERROR_NOT_FOUND
No subsequent service exists in the partition's Network Data.
◆ otNetDataGetStableVersion()
uint8_t otNetDataGetStableVersion | ( | otInstance * |
aInstance
|
) |
Get the Stable Network Data Version.
- Parameters
-
[in] aInstance
A pointer to an OpenThread instance.
- Returns
- The Stable Network Data Version.
◆ otNetDataGetVersion()
uint8_t otNetDataGetVersion | ( | otInstance * |
aInstance
|
) |
Get the Network Data Version.
- Parameters
-
[in] aInstance
A pointer to an OpenThread instance.
- 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.
- Parameters
-
[in] aInstance
A pointer to an OpenThread instance.
- Return values
-
TRUE
The published DNS/SRP Service entry is added to the Thread Network Data. FALSE
The entry is not added to Thread Network Data or there is no entry to publish.
◆ 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.
- Parameters
-
[in] aInstance
A pointer to an OpenThread instance. [in] aPrefix
A pointer to the prefix (MUST NOT be NULL).
- Return values
-
TRUE
The published prefix entry is added to the Thread Network Data. FALSE
The entry is not added to Thread Network Data or there is no entry to publish.
◆ 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).
- Parameters
-
[in] aInstance
A pointer to an OpenThread instance. [in] aSequenceNUmber
The sequence number of DNS/SRP Anycast Service.
◆ 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.
- Parameters
-
[in] aInstance
A pointer to an OpenThread instance. [in] aAddress
The DNS/SRP server address to publish (MUST NOT be NULL). [in] aPort
The SRP server port number to publish.
◆ 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.
- Parameters
-
[in] aInstance
A pointer to an OpenThread instance. [in] aPort
The SRP server port number to publish.
◆ 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).
- Parameters
-
[in] aInstance
A pointer to an OpenThread instance. [in] aConfig
The external route config to publish (MUST NOT be NULL).
- Return values
-
OT_ERROR_NONE
The external route is published successfully. OT_ERROR_INVALID_ARGS
The aConfig
is not valid (bad prefix, invalid flag combinations, or not stable).OT_ERROR_ALREADY
An entry with the same prefix is already in the published list. OT_ERROR_NO_BUFS
Could not allocate an entry for the new request. Publisher supports a limited number of entries (shared between on-mesh prefix and external route) determined by config OPENTHREAD_CONFIG_NETDATA_PUBLISHER_MAX_PREFIX_ENTRIES
.
◆ 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).
- Parameters
-
[in] aInstance
A pointer to an OpenThread instance. [in] aConfig
The on-mesh prefix config to publish (MUST NOT be NULL).
- Return values
-
OT_ERROR_NONE
The on-mesh prefix is published successfully. OT_ERROR_INVALID_ARGS
The aConfig
is not valid (bad prefix, invalid flag combinations, or not stable).OT_ERROR_ALREADY
An entry with the same prefix is already in the published list. OT_ERROR_NO_BUFS
Could not allocate an entry for the new request. Publisher supports a limited number of entries (shared between on-mesh prefix and external route) determined by config OPENTHREAD_CONFIG_NETDATA_PUBLISHER_MAX_PREFIX_ENTRIES
.
◆ 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.
- Parameters
-
[in] aInstance
A pointer to an OpenThread instance. [in] aCallback
The callback function pointer (can be NULL if not needed). [in] aContext
A pointer to application-specific context (used when aCallback
is invoked).
◆ 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.
- Parameters
-
[in] aInstance
A pointer to an OpenThread instance. [in] aCallback
The callback function pointer (can be NULL if not needed). [in] aContext
A pointer to application-specific context (used when aCallback
is invoked).
◆ otNetDataSteeringDataCheckJoiner()
otError otNetDataSteeringDataCheckJoiner | ( | otInstance * |
aInstance,
|
const otExtAddress * |
aEui64
|
||
) |
Check if the steering data includes a Joiner.
- Parameters
-
[in] aInstance
A pointer to an OpenThread instance. [in] aEui64
A pointer to the Joiner's IEEE EUI-64.
- Return values
-
OT_ERROR_NONE
aEui64
is included in the steering data.OT_ERROR_INVALID_STATE
No steering data present. OT_ERROR_NOT_FOUND
aEui64
is not included in the steering data.
◆ otNetDataSteeringDataCheckJoinerWithDiscerner()
otError otNetDataSteeringDataCheckJoinerWithDiscerner | ( | otInstance * |
aInstance,
|
const struct otJoinerDiscerner * |
aDiscerner
|
||
) |
Check if the steering data includes a Joiner with a given discerner value.
- Parameters
-
[in] aInstance
A pointer to an OpenThread instance. [in] aDiscerner
A pointer to the Joiner Discerner.
- Return values
-
OT_ERROR_NONE
aDiscerner
is included in the steering data.OT_ERROR_INVALID_STATE
No steering data present. OT_ERROR_NOT_FOUND
aDiscerner
is not included in the steering data.
◆ otNetDataUnpublishDnsSrpService()
void otNetDataUnpublishDnsSrpService | ( | otInstance * |
aInstance
|
) |
This function unpublishes any previously added "DNS/SRP (Anycast or Unicast) Service" entry from the Thread Network Data.
This function requires the feature
OPENTHREAD_CONFIG_TMF_NETDATA_SERVICE_ENABLE
to be enabled.
- Parameters
-
[in] aInstance
A pointer to an OpenThread instance.
◆ otNetDataUnpublishPrefix()
otError otNetDataUnpublishPrefix | ( | otInstance * |
aInstance,
|
const otIp6Prefix * |
aPrefix
|
||
) |
This function unpublishes a previously published prefix (on-mesh or external route).
This function requires the feature
OPENTHREAD_CONFIG_BORDER_ROUTER_ENABLE
to be enabled.
- Parameters
-
[in] aInstance
A pointer to an OpenThread instance. [in] aPrefix
The prefix to unpublish (MUST NOT be NULL).
- Return values
-
OT_ERROR_NONE
The prefix was unpublished successfully. OT_ERROR_NOT_FOUND
Could not find the prefix in the published list.
◆ otThreadBecomeChild()
otError otThreadBecomeChild | ( | otInstance * |
aInstance
|
) |
Attempt to reattach as a child.
- Note
- This API is reserved for testing and demo purposes only. Changing settings with this API will render a production application non-compliant with the Thread Specification.
- Parameters
-
[in] aInstance
A pointer to an OpenThread instance.
- Return values
-
OT_ERROR_NONE
Successfully begin attempt to become a child. OT_ERROR_INVALID_STATE
Thread is disabled.
◆ otThreadBecomeDetached()
otError otThreadBecomeDetached | ( | otInstance * |
aInstance
|
) |
Detach from the Thread network.
- Parameters
-
[in] aInstance
A pointer to an OpenThread instance.
- Return values
-
OT_ERROR_NONE
Successfully detached from the Thread network. OT_ERROR_INVALID_STATE
Thread is disabled.
◆ otThreadDeviceRoleToString()
const char* otThreadDeviceRoleToString | ( | otDeviceRole |
aRole
|
) |
Convert the device role to human-readable string.
- Parameters
-
[in] aRole
The device role to convert.
- 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.
- Parameters
-
[in] aInstance
A pointer to an OpenThread instance. [in] aScanChannels
A bit vector indicating which channels to scan (e.g. OT_CHANNEL_11_MASK). [in] aPanId
The PAN ID filter (set to Broadcast PAN to disable filter). [in] aJoiner
Value of the Joiner Flag in the Discovery Request TLV. [in] aEnableEui64Filtering
TRUE to filter responses on EUI-64, FALSE otherwise. [in] aCallback
A pointer to a function called on receiving an MLE Discovery Response or scan completes. [in] aCallbackContext
A pointer to application-specific context.
- Return values
-
OT_ERROR_NONE
Successfully started a Thread Discovery Scan. OT_ERROR_INVALID_STATE
The IPv6 interface is not enabled (netif is not up). OT_ERROR_NO_BUFS
Could not allocate message for Discovery Request. OT_ERROR_BUSY
Thread Discovery Scan is already in progress.
◆ otThreadGetChildTimeout()
uint32_t otThreadGetChildTimeout | ( | otInstance * |
aInstance
|
) |
Get the Thread Child Timeout used when operating in the Child role.
- Parameters
-
[in] aInstance
A pointer to an OpenThread instance.
- Returns
- The Thread Child Timeout value in seconds.
- See also
- otThreadSetChildTimeout
◆ otThreadGetDeviceRole()
otDeviceRole otThreadGetDeviceRole | ( | otInstance * |
aInstance
|
) |
Get the device role.
- Parameters
-
[in] aInstance
A pointer to an OpenThread instance.
- Return values
-
OT_DEVICE_ROLE_DISABLED
The Thread stack is disabled. OT_DEVICE_ROLE_DETACHED
The device is not currently participating in a Thread network/partition. OT_DEVICE_ROLE_CHILD
The device is currently operating as a Thread Child. OT_DEVICE_ROLE_ROUTER
The device is currently operating as a Thread Router. OT_DEVICE_ROLE_LEADER
The device is currently operating as a Thread Leader.
◆ otThreadGetDomainName()
const char* otThreadGetDomainName | ( | otInstance * |
aInstance
|
) |
Get the Thread Domain Name.
This function is only available since Thread 1.2.
- Parameters
-
[in] aInstance
A pointer to an OpenThread instance.
- Returns
- A pointer to the Thread Domain Name.
- See also
- otThreadSetDomainName
◆ otThreadGetExtendedPanId()
const otExtendedPanId * otThreadGetExtendedPanId | ( | otInstance * |
aInstance
|
) |
Get the IEEE 802.15.4 Extended PAN ID.
- Parameters
-
[in] aInstance
A pointer to an OpenThread instance.
- Returns
- A pointer to the IEEE 802.15.4 Extended PAN ID.
- See also
- otThreadSetExtendedPanId
◆ otThreadGetFixedDuaInterfaceIdentifier()
const otIp6InterfaceIdentifier * otThreadGetFixedDuaInterfaceIdentifier | ( | otInstance * |
aInstance
|
) |
Get the Interface Identifier manually specified for the Thread Domain Unicast Address.
This function is only available since Thread 1.2 when
OPENTHREAD_CONFIG_DUA_ENABLE
is enabled.
- Parameters
-
[in] aInstance
A pointer to an OpenThread instance.
- Returns
- A pointer to the Interface Identifier which was set manually, or NULL if none was set.
◆ otThreadGetIp6Counters()
const otIpCounters * otThreadGetIp6Counters | ( | otInstance * |
aInstance
|
) |
Get the IPv6 counters.
- Parameters
-
[in] aInstance
A pointer to an OpenThread instance.
- Returns
- A pointer to the IPv6 counters.
◆ otThreadGetKeySequenceCounter()
uint32_t otThreadGetKeySequenceCounter | ( | otInstance * |
aInstance
|
) |
Get the thrKeySequenceCounter.
- Parameters
-
[in] aInstance
A pointer to an OpenThread instance.
- Returns
- The thrKeySequenceCounter value.
- See also
- otThreadSetKeySequenceCounter
◆ otThreadGetKeySwitchGuardTime()
uint32_t otThreadGetKeySwitchGuardTime | ( | otInstance * |
aInstance
|
) |
Get the thrKeySwitchGuardTime.
- Parameters
-
[in] aInstance
A pointer to an OpenThread instance.
- Returns
- The thrKeySwitchGuardTime value (in hours).
- See also
- otThreadSetKeySwitchGuardTime
◆ otThreadGetLeaderData()
otError otThreadGetLeaderData | ( | otInstance * |
aInstance,
|
otLeaderData * |
aLeaderData
|
||
) |
This function get the Thread Leader Data.
- Parameters
-
[in] aInstance
A pointer to an OpenThread instance. [out] aLeaderData
A pointer to where the leader data is placed.
- Return values
-
OT_ERROR_NONE
Successfully retrieved the leader data. OT_ERROR_DETACHED
Not currently attached.
◆ otThreadGetLeaderRloc()
otError otThreadGetLeaderRloc | ( | otInstance * |
aInstance,
|
otIp6Address * |
aLeaderRloc
|
||
) |
This function returns a pointer to the Leader's RLOC.
- Parameters
-
[in] aInstance
A pointer to an OpenThread instance. [out] aLeaderRloc
A pointer to the Leader's RLOC.
- Return values
-
OT_ERROR_NONE
The Leader's RLOC was successfully written to aLeaderRloc
.OT_ERROR_INVALID_ARGS
aLeaderRloc
was NULL.OT_ERROR_DETACHED
Not currently attached to a Thread Partition.
◆ otThreadGetLeaderRouterId()
uint8_t otThreadGetLeaderRouterId | ( | otInstance * |
aInstance
|
) |
Get the Leader's Router ID.
- Parameters
-
[in] aInstance
A pointer to an OpenThread instance.
- Returns
- The Leader's Router ID.
◆ otThreadGetLeaderWeight()
uint8_t otThreadGetLeaderWeight | ( | otInstance * |
aInstance
|
) |
Get the Leader's Weight.
- Parameters
-
[in] aInstance
A pointer to an OpenThread instance.
- Returns
- The Leader's Weight.
◆ otThreadGetLinkLocalAllThreadNodesMulticastAddress()
const otIp6Address * otThreadGetLinkLocalAllThreadNodesMulticastAddress | ( | otInstance * |
aInstance
|
) |
This function returns the Thread Link-Local All Thread Nodes multicast address.
The address is a link-local Unicast Prefix-Based Multcast 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
- Parameters
-
[in] aInstance
A pointer to an OpenThread instance.
- Returns
- A pointer to Thread Link-Local All Thread Nodes multicast address.
◆ otThreadGetLinkLocalIp6Address()
const otIp6Address * otThreadGetLinkLocalIp6Address | ( | otInstance * |
aInstance
|
) |
This function returns the Thread link-local IPv6 address.
The Thread link local address is derived using IEEE802.15.4 Extended Address as Interface Identifier.
- Parameters
-
[in] aInstance
A pointer to an OpenThread instance.
- Returns
- A pointer to Thread link-local IPv6 address.
◆ otThreadGetLinkMode()
otLinkModeConfig otThreadGetLinkMode | ( | otInstance * |
aInstance
|
) |
Get the MLE Link Mode configuration.
- Parameters
-
[in] aInstance
A pointer to an OpenThread instance.
- Returns
- The MLE Link Mode configuration.
- See also
- otThreadSetLinkMode
◆ otThreadGetMeshLocalEid()
const otIp6Address * otThreadGetMeshLocalEid | ( | otInstance * |
aInstance
|
) |
This function returns a pointer to the Mesh Local EID address.
- Parameters
-
[in] aInstance
A pointer to an OpenThread instance.
- 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.
- Parameters
-
[in] aInstance
A pointer to an OpenThread instance.
- Returns
- A pointer to the Mesh Local Prefix.
◆ otThreadGetMleCounters()
const otMleCounters * otThreadGetMleCounters | ( | otInstance * |
aInstance
|
) |
Get the Thread MLE counters.
- Parameters
-
[in] aInstance
A pointer to an OpenThread instance.
- Returns
- A pointer to the Thread MLE counters.
◆ otThreadGetNetworkKey()
void otThreadGetNetworkKey | ( | otInstance * |
aInstance,
|
otNetworkKey * |
aNetworkKey
|
||
) |
Get the Thread Network Key.
- Parameters
-
[in] aInstance
A pointer to an OpenThread instance. [out] aNetworkKey
A pointer to an otNetworkkey
to return the Thread Network Key.
- See also
- 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.
- Parameters
-
[in] aInstance
A pointer to an OpenThread instance.
- Returns
- Reference to the Thread Network Key stored in memory.
- See also
- otThreadSetNetworkKeyRef
◆ otThreadGetNetworkName()
const char* otThreadGetNetworkName | ( | otInstance * |
aInstance
|
) |
Get the Thread Network Name.
- Parameters
-
[in] aInstance
A pointer to an OpenThread instance.
- Returns
- A pointer to the Thread Network Name.
- See also
- otThreadSetNetworkName
◆ otThreadGetNextDiagnosticTlv()
otError otThreadGetNextDiagnosticTlv | ( | const otMessage * |
aMessage,
|
otNetworkDiagIterator * |
aIterator,
|
||
otNetworkDiagTlv * |
aNetworkDiagTlv
|
||
) |
This function gets the next Network Diagnostic TLV in the message.
- Parameters
-
[in] aMessage
A pointer to a message. [in,out] aIterator
A pointer to the Network Diagnostic iterator context. To get the first Network Diagnostic TLV it should be set to OT_NETWORK_DIAGNOSTIC_ITERATOR_INIT. [out] aNetworkDiagTlv
A pointer to where the Network Diagnostic TLV information will be placed.
- Return values
-
OT_ERROR_NONE
Successfully found the next Network Diagnostic TLV. OT_ERROR_NOT_FOUND
No subsequent Network Diagnostic TLV exists in the message. OT_ERROR_PARSE
Parsing the next Network Diagnostic failed.
A subsequent call to this function is allowed only when current return value is OT_ERROR_NONE.
◆ 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.
- Parameters
-
[in] aInstance
A pointer to an OpenThread instance. [in,out] aIterator
A pointer to the iterator context. To get the first neighbor entry it should be set to OT_NEIGHBOR_INFO_ITERATOR_INIT. [out] aInfo
A pointer to the neighbor information.
- Return values
-
OT_ERROR_NONE
Successfully found the next neighbor entry in table. OT_ERROR_NOT_FOUND
No subsequent neighbor entry exists in the table. OT_ERROR_INVALID_ARGS
aIterator
oraInfo
was NULL.
◆ otThreadGetParentAverageRssi()
otError otThreadGetParentAverageRssi | ( | otInstance * |
aInstance,
|
int8_t * |
aParentRssi
|
||
) |
The function retrieves the average RSSI for the Thread Parent.
- Parameters
-
[in] aInstance
A pointer to an OpenThread instance. [out] aParentRssi
A pointer to where the parent RSSI should be placed.
◆ otThreadGetParentInfo()
otError otThreadGetParentInfo | ( | otInstance * |
aInstance,
|
otRouterInfo * |
aParentInfo
|
||
) |
The function retrieves diagnostic information for a Thread Router as parent.
- Parameters
-
[in] aInstance
A pointer to an OpenThread instance. [out] aParentInfo
A pointer to where the parent router information is placed.
◆ otThreadGetParentLastRssi()
otError otThreadGetParentLastRssi | ( | otInstance * |
aInstance,
|
int8_t * |
aLastRssi
|
||
) |
The function retrieves the RSSI of the last packet from the Thread Parent.
- Parameters
-
[in] aInstance
A pointer to an OpenThread instance. [out] aLastRssi
A pointer to where the last RSSI should be placed.
- Return values
-
OT_ERROR_NONE
Successfully retrieved the RSSI data. OT_ERROR_FAILED
Unable to get RSSI data. OT_ERROR_INVALID_ARGS
aLastRssi
is NULL.
◆ otThreadGetPartitionId()
uint32_t otThreadGetPartitionId | ( | otInstance * |
aInstance
|
) |
Get the Partition ID.
- Parameters
-
[in] aInstance
A pointer to an OpenThread instance.
- Returns
- The Partition ID.
◆ otThreadGetRealmLocalAllThreadNodesMulticastAddress()
const otIp6Address * otThreadGetRealmLocalAllThreadNodesMulticastAddress | ( | otInstance * |
aInstance
|
) |
This function returns the Thread Realm-Local All Thread Nodes multicast address.
The address is a realm-local Unicast Prefix-Based Multcast 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
- Parameters
-
[in] aInstance
A pointer to an OpenThread instance.
- Returns
- A pointer to Thread Realm-Local All Thread Nodes multicast address.
◆ otThreadGetRloc()
const otIp6Address * otThreadGetRloc | ( | otInstance * |
aInstance
|
) |
This function returns a pointer to the Thread Routing Locator (RLOC) address.
- Parameters
-
[in] aInstance
A pointer to an OpenThread instance.
- Returns
- A pointer to the Thread Routing Locator (RLOC) address.
◆ otThreadGetRloc16()
uint16_t otThreadGetRloc16 | ( | otInstance * |
aInstance
|
) |
Get the RLOC16.
- Parameters
-
[in] aInstance
A pointer to an OpenThread instance.
- Returns
- The RLOC16.
◆ otThreadGetServiceAloc()
otError otThreadGetServiceAloc | ( | otInstance * |
aInstance,
|
uint8_t |
aServiceId,
|
||
otIp6Address * |
aServiceAloc
|
||
) |
This function retrieves the Service ALOC for given Service ID.
- Parameters
-
[in] aInstance
A pointer to an OpenThread instance. [in] aServiceId
Service ID to get ALOC for. [out] aServiceAloc
A pointer to output the Service ALOC. MUST NOT BE NULL.
- Return values
-
OT_ERROR_NONE
Successfully retrieved the Service ALOC. OT_ERROR_DETACHED
The Thread interface is not currently attached to a Thread Partition.
◆ otThreadGetVersion()
uint16_t otThreadGetVersion | ( | void |
|
) |
This function gets the Thread protocol version.
- 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.
- Parameters
-
[in] aInstance
A pointer to an OpenThread instance.
- 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.
- Parameters
-
[in] aInstance
A pointer to an OpenThread instance.
◆ otThreadIsSingleton()
bool otThreadIsSingleton | ( | otInstance * |
aInstance
|
) |
This function indicates whether a node is the only router on the network.
- Parameters
-
[in] aInstance
A pointer to an OpenThread instance.
- Return values
-
TRUE
It is the only router in the network. FALSE
It is a child or is not a single router in the network.
◆ 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.
- Parameters
-
[in] aInstance
A pointer to an OpenThread instance. [in] aAnycastAddress
The anycast address to locate. MUST NOT be NULL. [in] aCallback
The callback function to report the result. [in] aContext
An arbitrary context used with aCallback
.
- Return values
-
OT_ERROR_NONE
The request started successfully. aCallback
will be invoked to report the result.OT_ERROR_INVALID_ARGS
The aAnycastAddress
is not a valid anycast address oraCallback
is NULL.OT_ERROR_NO_BUFS
Out of buffer to prepare and send the request message.
◆ otThreadRegisterParentResponseCallback()
void otThreadRegisterParentResponseCallback | ( | otInstance * |
aInstance,
|
otThreadParentResponseCallback |
aCallback,
|
||
void * |
aContext
|
||
) |
This function registers a callback to receive MLE Parent Response data.
- Parameters
-
[in] aInstance
A pointer to an OpenThread instance. [in] aCallback
A pointer to a function that is called upon receiving an MLE Parent Response message. [in] aContext
A pointer to callback client-specific context.
◆ otThreadResetIp6Counters()
void otThreadResetIp6Counters | ( | otInstance * |
aInstance
|
) |
Reset the IPv6 counters.
- Parameters
-
[in] aInstance
A pointer to an OpenThread instance.
◆ otThreadResetMleCounters()
void otThreadResetMleCounters | ( | otInstance * |
aInstance
|
) |
Reset the Thread MLE counters.
- Parameters
-
[in] aInstance
A pointer to an OpenThread instance.
◆ 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.
- Parameters
-
[in] aInstance
A pointer to an OpenThread instance. [in] aDestination
The destination to send the ADDR_NTF.ntf message. [in] aTarget
The target address of the ADDR_NTF.ntf message. [in] aMlIid
The ML-IID of the ADDR_NTF.ntf message.
◆ 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.
- Parameters
-
[in] aInstance
A pointer to an OpenThread instance. [in] aDestination
A pointer to destination address. [in] aTlvTypes
An array of Network Diagnostic TLV types. [in] aCount
Number of types in aTlvTypes. [in] aCallback
A pointer to a function that is called when Network Diagnostic Get response is received or NULL to disable the callback. [in] aCallbackContext
A pointer to application-specific context.
- Return values
-
OT_ERROR_NONE
Successfully queued the DIAG_GET.req. OT_ERROR_NO_BUFS
Insufficient message buffers available to send DIAG_GET.req.
◆ otThreadSendDiagnosticReset()
otError otThreadSendDiagnosticReset | ( | otInstance * |
aInstance,
|
const otIp6Address * |
aDestination,
|
||
const uint8_t |
aTlvTypes[],
|
||
uint8_t |
aCount
|
||
) |
Send a Network Diagnostic Reset request.
- Parameters
-
[in] aInstance
A pointer to an OpenThread instance. [in] aDestination
A pointer to destination address. [in] aTlvTypes
An array of Network Diagnostic TLV types. Currently only Type 9 is allowed. [in] aCount
Number of types in aTlvTypes
- Return values
-
OT_ERROR_NONE
Successfully queued the DIAG_RST.ntf. OT_ERROR_NO_BUFS
Insufficient message buffers available to send DIAG_RST.ntf.
◆ 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.
- Parameters
-
[in] aInstance
A pointer to an OpenThread instance. [in] aTarget
The target address of the PRO_BB.ntf message. [in] aMlIid
The ML-IID of the PRO_BB.ntf message. [in] aTimeSinceLastTransaction
Time since last transaction (in seconds).
- Return values
-
OT_ERROR_NONE
Successfully sent PRO_BB.ntf on backbone link. OT_ERROR_NO_BUFS
If insufficient message buffers available.
◆ otThreadSetChildTimeout()
void otThreadSetChildTimeout | ( | otInstance * |
aInstance,
|
uint32_t |
aTimeout
|
||
) |
Set the Thread Child Timeout used when operating in the Child role.
- Parameters
-
[in] aInstance
A pointer to an OpenThread instance. [in] aTimeout
The timeout value in seconds.
- See also
- otThreadGetChildTimeout
◆ otThreadSetDiscoveryRequestCallback()
void otThreadSetDiscoveryRequestCallback | ( | otInstance * |
aInstance,
|
otThreadDiscoveryRequestCallback |
aCallback,
|
||
void * |
aContext
|
||
) |
This function sets a callback to receive MLE Discovery Request data.
- Parameters
-
[in] aInstance
A pointer to an OpenThread instance. [in] aCallback
A pointer to a function that is called upon receiving an MLE Discovery Request message. [in] aContext
A pointer to callback application-specific context.
◆ otThreadSetDomainName()
otError otThreadSetDomainName | ( | otInstance * |
aInstance,
|
const char * |
aDomainName
|
||
) |
Set the Thread Domain Name.
This function is only available since Thread 1.2. This function succeeds only when Thread protocols are disabled.
- Parameters
-
[in] aInstance
A pointer to an OpenThread instance. [in] aDomainName
A pointer to the Thread Domain Name.
- Return values
-
OT_ERROR_NONE
Successfully set the Thread Domain Name. OT_ERROR_INVALID_STATE
Thread protocols are enabled.
- See also
- otThreadGetDomainName
◆ otThreadSetEnabled()
otError otThreadSetEnabled | ( | otInstance * |
aInstance,
|
bool |
aEnabled
|
||
) |
This function starts Thread protocol operation.
The interface must be up when calling this function.
- Parameters
-
[in] aInstance
A pointer to an OpenThread instance. [in] aEnabled
TRUE if Thread is enabled, FALSE otherwise.
- Return values
-
OT_ERROR_NONE
Successfully started Thread protocol operation. OT_ERROR_INVALID_STATE
The network interface was not not up.
◆ otThreadSetExtendedPanId()
otError otThreadSetExtendedPanId | ( | otInstance * |
aInstance,
|
const otExtendedPanId * |
aExtendedPanId
|
||
) |
Set the IEEE 802.15.4 Extended PAN ID.
This function can only be called while Thread protocols are disabled. A successful call to this function invalidates the Active and Pending Operational Datasets in non-volatile memory.
- Parameters
-
[in] aInstance
A pointer to an OpenThread instance. [in] aExtendedPanId
A pointer to the IEEE 802.15.4 Extended PAN ID.
- Return values
-
OT_ERROR_NONE
Successfully set the Extended PAN ID. OT_ERROR_INVALID_STATE
Thread protocols are enabled.
- See also
- otThreadGetExtendedPanId
◆ otThreadSetFixedDuaInterfaceIdentifier()
otError otThreadSetFixedDuaInterfaceIdentifier | ( | otInstance * |
aInstance,
|
const otIp6InterfaceIdentifier * |
aIid
|
||
) |
Set/Clear the Interface Identifier manually specified for the Thread Domain Unicast Address.
This function is only available since Thread 1.2 when
OPENTHREAD_CONFIG_DUA_ENABLE
is enabled.
- Parameters
-
[in] aInstance
A pointer to an OpenThread instance. [in] aIid
A pointer to the Interface Identifier to set or NULL to clear.
- Return values
-
OT_ERROR_NONE
Successfully set/cleared the Interface Identifier. OT_ERROR_INVALID_ARGS
The specified Interface Identifier is reserved.
◆ 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.
- Parameters
-
[in] aInstance
A pointer to an OpenThread instance. [in] aOui
The Vendor IEEE OUI value that will be included in the Joiner Advertisement. Only the least significant 3 bytes will be used, and the most significant byte will be ignored. [in] aAdvData
A pointer to the AdvData that will be included in the Joiner Advertisement. [in] aAdvDataLength
The length of AdvData in bytes.
- Return values
-
OT_ERROR_NONE
Successfully set Joiner Advertisement. OT_ERROR_INVALID_ARGS
Invalid AdvData.
◆ otThreadSetKeySequenceCounter()
void otThreadSetKeySequenceCounter | ( | otInstance * |
aInstance,
|
uint32_t |
aKeySequenceCounter
|
||
) |
Set the thrKeySequenceCounter.
- Note
- This API is reserved for testing and demo purposes only. Changing settings with this API will render a production application non-compliant with the Thread Specification.
- Parameters
-
[in] aInstance
A pointer to an OpenThread instance. [in] aKeySequenceCounter
The thrKeySequenceCounter value.
- See also
- otThreadGetKeySequenceCounter
◆ otThreadSetKeySwitchGuardTime()
void otThreadSetKeySwitchGuardTime | ( | otInstance * |
aInstance,
|
uint32_t |
aKeySwitchGuardTime
|
||
) |
Set the thrKeySwitchGuardTime.
- Note
- This API is reserved for testing and demo purposes only. Changing settings with this API will render a production application non-compliant with the Thread Specification.
- Parameters
-
[in] aInstance
A pointer to an OpenThread instance. [in] aKeySwitchGuardTime
The thrKeySwitchGuardTime value (in hours).
- See also
- otThreadGetKeySwitchGuardTime
◆ otThreadSetLinkMode()
otError otThreadSetLinkMode | ( | otInstance * |
aInstance,
|
otLinkModeConfig |
aConfig
|
||
) |
Set the MLE Link Mode configuration.
- Parameters
-
[in] aInstance
A pointer to an OpenThread instance. [in] aConfig
A pointer to the Link Mode configuration.
- Return values
-
OT_ERROR_NONE
Successfully set the MLE Link Mode configuration.
- See also
- 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.
- Parameters
-
[in] aInstance
A pointer to an OpenThread instance. [in] aMeshLocalPrefix
A pointer to the Mesh Local Prefix.
- Return values
-
OT_ERROR_NONE
Successfully set the Mesh Local Prefix. OT_ERROR_INVALID_STATE
Thread protocols are enabled.
◆ 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.
- Parameters
-
[in] aInstance
A pointer to an OpenThread instance. [in] aKey
A pointer to a buffer containing the Thread Network Key.
- Return values
-
OT_ERROR_NONE
Successfully set the Thread Network Key. OT_ERROR_INVALID_STATE
Thread protocols are enabled.
- See also
- 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.
- Parameters
-
[in] aInstance
A pointer to an OpenThread instance. [in] aKeyRef
Reference to the Thread Network Key.
- Return values
-
OT_ERROR_NONE
Successfully set the Thread Network Key. OT_ERROR_INVALID_STATE
Thread protocols are enabled.
- See also
- 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.
- Parameters
-
[in] aInstance
A pointer to an OpenThread instance. [in] aNetworkName
A pointer to the Thread Network Name.
- Return values
-
OT_ERROR_NONE
Successfully set the Thread Network Name. OT_ERROR_INVALID_STATE
Thread protocols are enabled.
- See also
- otThreadGetNetworkName