nRF5 SDK for Thread and Zigbee v4.1.0
Data Structures | Macros | Typedefs | Enumerations | Functions | Variables
General

This module includes functions for all Thread roles. More...

Data Structures

struct  otMasterKey
 
struct  otNetworkName
 
struct  otExtendedPanId
 
struct  otMeshLocalPrefix
 
struct  otPskc
 
struct  otSecurityPolicy
 
struct  otOperationalDatasetComponents
 
struct  otOperationalDataset
 
struct  otBorderRouterConfig
 
struct  otExternalRouteConfig
 
struct  otServerConfig
 
struct  otServiceConfig
 
struct  otNetworkDiagConnectivity
 
struct  otNetworkDiagRouteData
 
struct  otNetworkDiagRoute
 
struct  otNetworkDiagMacCounters
 
struct  otNetworkDiagChildEntry
 
struct  otNetworkDiagTlv
 
struct  otLinkModeConfig
 
struct  otNeighborInfo
 
struct  otLeaderData
 
struct  otRouterInfo
 
struct  otIpCounters
 
struct  otMleCounters
 
struct  otThreadParentResponseInfo
 

Macros

#define OT_MASTER_KEY_SIZE   16
 Size of the Thread Master Key (bytes)
 
#define OT_NETWORK_NAME_MAX_SIZE   16
 Maximum size of the Thread Network Name field (bytes)
 
#define OT_EXT_PAN_ID_SIZE   8
 Size of a Thread PAN ID (bytes)
 
#define OT_MESH_LOCAL_PREFIX_SIZE   8
 Size of the Mesh Local Prefix (bytes)
 
#define OT_PSKC_MAX_SIZE   16
 Maximum size of the PSKc (bytes)
 
#define OT_CHANNEL_1_MASK   (1 << 1)
 Channel 1.
 
#define OT_CHANNEL_2_MASK   (1 << 2)
 Channel 2.
 
#define OT_CHANNEL_3_MASK   (1 << 3)
 Channel 3.
 
#define OT_CHANNEL_4_MASK   (1 << 4)
 Channel 4.
 
#define OT_CHANNEL_5_MASK   (1 << 5)
 Channel 5.
 
#define OT_CHANNEL_6_MASK   (1 << 6)
 Channel 6.
 
#define OT_CHANNEL_7_MASK   (1 << 7)
 Channel 7.
 
#define OT_CHANNEL_8_MASK   (1 << 8)
 Channel 8.
 
#define OT_CHANNEL_9_MASK   (1 << 9)
 Channel 9.
 
#define OT_CHANNEL_10_MASK   (1 << 10)
 Channel 10.
 
#define OT_CHANNEL_11_MASK   (1 << 11)
 Channel 11.
 
#define OT_CHANNEL_12_MASK   (1 << 12)
 Channel 12.
 
#define OT_CHANNEL_13_MASK   (1 << 13)
 Channel 13.
 
#define OT_CHANNEL_14_MASK   (1 << 14)
 Channel 14.
 
#define OT_CHANNEL_15_MASK   (1 << 15)
 Channel 15.
 
#define OT_CHANNEL_16_MASK   (1 << 16)
 Channel 16.
 
#define OT_CHANNEL_17_MASK   (1 << 17)
 Channel 17.
 
#define OT_CHANNEL_18_MASK   (1 << 18)
 Channel 18.
 
#define OT_CHANNEL_19_MASK   (1 << 19)
 Channel 19.
 
#define OT_CHANNEL_20_MASK   (1 << 20)
 Channel 20.
 
#define OT_CHANNEL_21_MASK   (1 << 21)
 Channel 21.
 
#define OT_CHANNEL_22_MASK   (1 << 22)
 Channel 22.
 
#define OT_CHANNEL_23_MASK   (1 << 23)
 Channel 23.
 
#define OT_CHANNEL_24_MASK   (1 << 24)
 Channel 24.
 
#define OT_CHANNEL_25_MASK   (1 << 25)
 Channel 25.
 
#define OT_CHANNEL_26_MASK   (1 << 26)
 Channel 26.
 
#define OT_NETWORK_DATA_ITERATOR_INIT   0
 Initializer for otNetworkDataIterator.
 
#define OT_SERVICE_DATA_MAX_SIZE   252
 Maximum size of Service Data in bytes.
 
#define OT_SERVER_DATA_MAX_SIZE   248
 Maximum size of Server Data in bytes. This is theoretical limit, practical one is much lower.
 
#define OT_NETWORK_DIAGNOSTIC_TYPELIST_MAX_ENTRIES   19
 
#define OT_NETWORK_DIAGNOSTIC_CHILD_TABLE_ENTRY_SIZE   3
 
#define OT_NETWORK_DIAGNOSTIC_ITERATOR_INIT   0
 
#define OT_NETWORK_BASE_TLV_MAX_LENGTH   254
 
#define OT_NETWORK_MAX_ROUTER_ID   62
 Maximum Router ID.
 
#define OT_NEIGHBOR_INFO_ITERATOR_INIT   0
 Initializer for otNeighborInfoIterator.
 

Typedefs

typedef struct otMasterKey otMasterKey
 
typedef struct otNetworkName otNetworkName
 
typedef struct otExtendedPanId otExtendedPanId
 
typedef struct otMeshLocalPrefix otMeshLocalPrefix
 
typedef struct otPskc otPskc
 
typedef struct otSecurityPolicy otSecurityPolicy
 
typedef uint32_t otChannelMask
 
typedef struct
otOperationalDatasetComponents 
otOperationalDatasetComponents
 
typedef struct otOperationalDataset otOperationalDataset
 
typedef enum otMeshcopTlvType otMeshcopTlvType
 
typedef uint32_t otNetworkDataIterator
 Used to iterate through Network Data information.
 
typedef struct otBorderRouterConfig otBorderRouterConfig
 
typedef struct
otExternalRouteConfig 
otExternalRouteConfig
 
typedef enum otRoutePreference otRoutePreference
 
typedef struct otServerConfig otServerConfig
 
typedef struct otServiceConfig otServiceConfig
 
typedef uint16_t otNetworkDiagIterator
 Used to iterate through Network Diagnostic TLV.
 
typedef struct
otNetworkDiagConnectivity 
otNetworkDiagConnectivity
 
typedef struct
otNetworkDiagRouteData 
otNetworkDiagRouteData
 
typedef struct otNetworkDiagRoute otNetworkDiagRoute
 
typedef struct
otNetworkDiagMacCounters 
otNetworkDiagMacCounters
 
typedef struct
otNetworkDiagChildEntry 
otNetworkDiagChildEntry
 
typedef struct otNetworkDiagTlv otNetworkDiagTlv
 
typedef void(* otReceiveDiagnosticGetCallback )(otMessage *aMessage, const otMessageInfo *aMessageInfo, void *aContext)
 
typedef struct otLinkModeConfig otLinkModeConfig
 
typedef int16_t otNeighborInfoIterator
 Used to iterate through neighbor table.
 
typedef struct otLeaderData otLeaderData
 
typedef struct otIpCounters otIpCounters
 
typedef struct otMleCounters otMleCounters
 
typedef struct
otThreadParentResponseInfo 
otThreadParentResponseInfo
 
typedef void(* otThreadParentResponseCallback )(otThreadParentResponseInfo *aInfo, void *aContext)
 

Enumerations

enum  {
  OT_SECURITY_POLICY_OBTAIN_MASTER_KEY = 1 << 7, OT_SECURITY_POLICY_NATIVE_COMMISSIONING = 1 << 6, OT_SECURITY_POLICY_ROUTERS = 1 << 5, OT_SECURITY_POLICY_EXTERNAL_COMMISSIONER = 1 << 4,
  OT_SECURITY_POLICY_BEACONS = 1 << 3
}
 
enum  otMeshcopTlvType {
  OT_MESHCOP_TLV_CHANNEL = 0, OT_MESHCOP_TLV_PANID = 1, OT_MESHCOP_TLV_EXTPANID = 2, OT_MESHCOP_TLV_NETWORKNAME = 3,
  OT_MESHCOP_TLV_PSKC = 4, OT_MESHCOP_TLV_MASTERKEY = 5, OT_MESHCOP_TLV_NETWORK_KEY_SEQUENCE = 6, OT_MESHCOP_TLV_MESHLOCALPREFIX = 7,
  OT_MESHCOP_TLV_STEERING_DATA = 8, OT_MESHCOP_TLV_BORDER_AGENT_RLOC = 9, OT_MESHCOP_TLV_COMMISSIONER_ID = 10, OT_MESHCOP_TLV_COMM_SESSION_ID = 11,
  OT_MESHCOP_TLV_SECURITYPOLICY = 12, OT_MESHCOP_TLV_GET = 13, OT_MESHCOP_TLV_ACTIVETIMESTAMP = 14, OT_MESHCOP_TLV_COMMISSIONER_UDP_PORT = 15,
  OT_MESHCOP_TLV_STATE = 16, OT_MESHCOP_TLV_JOINER_DTLS = 17, OT_MESHCOP_TLV_JOINER_UDP_PORT = 18, OT_MESHCOP_TLV_JOINER_IID = 19,
  OT_MESHCOP_TLV_JOINER_RLOC = 20, OT_MESHCOP_TLV_JOINER_ROUTER_KEK = 21, OT_MESHCOP_TLV_PROVISIONING_URL = 32, OT_MESHCOP_TLV_VENDOR_NAME_TLV = 33,
  OT_MESHCOP_TLV_VENDOR_MODEL_TLV = 34, OT_MESHCOP_TLV_VENDOR_SW_VERSION_TLV = 35, OT_MESHCOP_TLV_VENDOR_DATA_TLV = 36, OT_MESHCOP_TLV_VENDOR_STACK_VERSION_TLV = 37,
  OT_MESHCOP_TLV_UDP_ENCAPSULATION_TLV = 48, OT_MESHCOP_TLV_IPV6_ADDRESS_TLV = 49, OT_MESHCOP_TLV_PENDINGTIMESTAMP = 51, OT_MESHCOP_TLV_DELAYTIMER = 52,
  OT_MESHCOP_TLV_CHANNELMASK = 53, OT_MESHCOP_TLV_COUNT = 54, OT_MESHCOP_TLV_PERIOD = 55, OT_MESHCOP_TLV_SCAN_DURATION = 56,
  OT_MESHCOP_TLV_ENERGY_LIST = 57, OT_MESHCOP_TLV_DISCOVERYREQUEST = 128, OT_MESHCOP_TLV_DISCOVERYRESPONSE = 129
}
 
enum  otRoutePreference { OT_ROUTE_PREFERENCE_LOW = -1, OT_ROUTE_PREFERENCE_MED = 0, OT_ROUTE_PREFERENCE_HIGH = 1 }
 
enum  {
  OT_NETWORK_DIAGNOSTIC_TLV_EXT_ADDRESS = 0, OT_NETWORK_DIAGNOSTIC_TLV_SHORT_ADDRESS = 1, OT_NETWORK_DIAGNOSTIC_TLV_MODE = 2, OT_NETWORK_DIAGNOSTIC_TLV_TIMEOUT = 3,
  OT_NETWORK_DIAGNOSTIC_TLV_CONNECTIVITY = 4, OT_NETWORK_DIAGNOSTIC_TLV_ROUTE = 5, OT_NETWORK_DIAGNOSTIC_TLV_LEADER_DATA = 6, OT_NETWORK_DIAGNOSTIC_TLV_NETWORK_DATA = 7,
  OT_NETWORK_DIAGNOSTIC_TLV_IP6_ADDR_LIST = 8, OT_NETWORK_DIAGNOSTIC_TLV_MAC_COUNTERS = 9, OT_NETWORK_DIAGNOSTIC_TLV_BATTERY_LEVEL = 14, OT_NETWORK_DIAGNOSTIC_TLV_SUPPLY_VOLTAGE = 15,
  OT_NETWORK_DIAGNOSTIC_TLV_CHILD_TABLE = 16, OT_NETWORK_DIAGNOSTIC_TLV_CHANNEL_PAGES = 17, OT_NETWORK_DIAGNOSTIC_TLV_TYPE_LIST = 18, OT_NETWORK_DIAGNOSTIC_TLV_MAX_CHILD_TIMEOUT = 19
}
 
enum  otDeviceRole {
  OT_DEVICE_ROLE_DISABLED = 0, OT_DEVICE_ROLE_DETACHED = 1, OT_DEVICE_ROLE_CHILD = 2, OT_DEVICE_ROLE_ROUTER = 3,
  OT_DEVICE_ROLE_LEADER = 4
}
 

Functions

bool otDatasetIsCommissioned (otInstance *aInstance)
 
otError otDatasetGetActive (otInstance *aInstance, otOperationalDataset *aDataset)
 
otError otDatasetSetActive (otInstance *aInstance, const otOperationalDataset *aDataset)
 
otError otDatasetGetPending (otInstance *aInstance, otOperationalDataset *aDataset)
 
otError otDatasetSetPending (otInstance *aInstance, const otOperationalDataset *aDataset)
 
otError otDatasetSendMgmtActiveGet (otInstance *aInstance, const otOperationalDatasetComponents *aDatasetComponents, const uint8_t *aTlvTypes, uint8_t aLength, const otIp6Address *aAddress)
 
otError otDatasetSendMgmtActiveSet (otInstance *aInstance, const otOperationalDataset *aDataset, const uint8_t *aTlvs, uint8_t aLength)
 
otError otDatasetSendMgmtPendingGet (otInstance *aInstance, const otOperationalDatasetComponents *aDatasetComponents, const uint8_t *aTlvTypes, uint8_t aLength, const otIp6Address *aAddress)
 
otError otDatasetSendMgmtPendingSet (otInstance *aInstance, const otOperationalDataset *aDataset, const uint8_t *aTlvs, uint8_t aLength)
 
otError otDatasetGeneratePskc (const char *aPassPhrase, const otNetworkName *aNetworkName, const otExtendedPanId *aExtPanId, otPskc *aPskc)
 
otError otDatasetCreateNewNetwork (otInstance *aInstance, otOperationalDataset *aDataset)
 
uint32_t otDatasetGetDelayTimerMinimal (otInstance *aInstance)
 
otError otDatasetSetDelayTimerMinimal (otInstance *aInstance, uint32_t aDelayTimerMinimal)
 
otError otNetDataGet (otInstance *aInstance, bool aStable, uint8_t *aData, uint8_t *aDataLength)
 
otError otNetDataGetNextOnMeshPrefix (otInstance *aInstance, otNetworkDataIterator *aIterator, otBorderRouterConfig *aConfig)
 
otError otNetDataGetNextRoute (otInstance *aInstance, otNetworkDataIterator *aIterator, otExternalRouteConfig *aConfig)
 
otError otNetDataGetNextService (otInstance *aInstance, otNetworkDataIterator *aIterator, otServiceConfig *aConfig)
 
uint8_t otNetDataGetVersion (otInstance *aInstance)
 
uint8_t otNetDataGetStableVersion (otInstance *aInstance)
 
otError otThreadGetNextDiagnosticTlv (const otMessage *aMessage, otNetworkDiagIterator *aIterator, otNetworkDiagTlv *aNetworkDiagTlv)
 
void otThreadSetReceiveDiagnosticGetCallback (otInstance *aInstance, otReceiveDiagnosticGetCallback aCallback, void *aCallbackContext)
 
otError otThreadSendDiagnosticGet (otInstance *aInstance, const otIp6Address *aDestination, const uint8_t aTlvTypes[], uint8_t aCount)
 
otError otThreadSendDiagnosticReset (otInstance *aInstance, const otIp6Address *aDestination, const uint8_t aTlvTypes[], uint8_t aCount)
 
otError otThreadSetEnabled (otInstance *aInstance, bool aEnabled)
 
uint16_t otThreadGetVersion (void)
 
bool otThreadIsSingleton (otInstance *aInstance)
 
otError otThreadDiscover (otInstance *aInstance, uint32_t aScanChannels, uint16_t aPanId, bool aJoiner, bool aEnableEui64Filtering, otHandleActiveScanResult aCallback, void *aCallbackContext)
 
bool otThreadIsDiscoverInProgress (otInstance *aInstance)
 
uint32_t otThreadGetChildTimeout (otInstance *aInstance)
 
void otThreadSetChildTimeout (otInstance *aInstance, uint32_t aTimeout)
 
const otExtendedPanIdotThreadGetExtendedPanId (otInstance *aInstance)
 
otError otThreadSetExtendedPanId (otInstance *aInstance, const otExtendedPanId *aExtendedPanId)
 
otError otThreadGetLeaderRloc (otInstance *aInstance, otIp6Address *aLeaderRloc)
 
otLinkModeConfig otThreadGetLinkMode (otInstance *aInstance)
 
otError otThreadSetLinkMode (otInstance *aInstance, otLinkModeConfig aConfig)
 
const otMasterKeyotThreadGetMasterKey (otInstance *aInstance)
 
otError otThreadSetMasterKey (otInstance *aInstance, const otMasterKey *aKey)
 
const otIp6AddressotThreadGetRloc (otInstance *aInstance)
 
const otIp6AddressotThreadGetMeshLocalEid (otInstance *aInstance)
 
const otMeshLocalPrefixotThreadGetMeshLocalPrefix (otInstance *aInstance)
 
otError otThreadSetMeshLocalPrefix (otInstance *aInstance, const otMeshLocalPrefix *aMeshLocalPrefix)
 
const otIp6AddressotThreadGetLinkLocalIp6Address (otInstance *aInstance)
 
const char * otThreadGetNetworkName (otInstance *aInstance)
 
otError otThreadSetNetworkName (otInstance *aInstance, const char *aNetworkName)
 
uint32_t otThreadGetKeySequenceCounter (otInstance *aInstance)
 
void otThreadSetKeySequenceCounter (otInstance *aInstance, uint32_t aKeySequenceCounter)
 
uint32_t otThreadGetKeySwitchGuardTime (otInstance *aInstance)
 
void otThreadSetKeySwitchGuardTime (otInstance *aInstance, uint32_t aKeySwitchGuardTime)
 
otError otThreadBecomeDetached (otInstance *aInstance)
 
otError otThreadBecomeChild (otInstance *aInstance)
 
otError otThreadGetNextNeighborInfo (otInstance *aInstance, otNeighborInfoIterator *aIterator, otNeighborInfo *aInfo)
 
otDeviceRole otThreadGetDeviceRole (otInstance *aInstance)
 
otError otThreadGetLeaderData (otInstance *aInstance, otLeaderData *aLeaderData)
 
uint8_t otThreadGetLeaderRouterId (otInstance *aInstance)
 
uint8_t otThreadGetLeaderWeight (otInstance *aInstance)
 
uint32_t otThreadGetPartitionId (otInstance *aInstance)
 
uint16_t otThreadGetRloc16 (otInstance *aInstance)
 
otError otThreadGetParentInfo (otInstance *aInstance, otRouterInfo *aParentInfo)
 
otError otThreadGetParentAverageRssi (otInstance *aInstance, int8_t *aParentRssi)
 
otError otThreadGetParentLastRssi (otInstance *aInstance, int8_t *aLastRssi)
 
const otIpCountersotThreadGetIp6Counters (otInstance *aInstance)
 
void otThreadResetIp6Counters (otInstance *aInstance)
 
const otMleCountersotThreadGetMleCounters (otInstance *aInstance)
 
void otThreadResetMleCounters (otInstance *aInstance)
 
void otThreadRegisterParentResponseCallback (otInstance *aInstance, otThreadParentResponseCallback aCallback, void *aContext)
 

Variables

OT_TOOL_PACKED_BEGIN struct
otMasterKey 
OT_TOOL_PACKED_END
 

Detailed Description

This module includes functions for all Thread roles.

Note
The functions in this module require OPENTHREAD_FTD=1 or OPENTHREAD_MTD=1.

Macro Definition Documentation

#define OT_NETWORK_BASE_TLV_MAX_LENGTH   254

Maximum value length of Thread Base TLV.

#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_DIAGNOSTIC_TYPELIST_MAX_ENTRIES   19

Maximum Number of Network Diagnostic TLV Types to Request or Reset.

Typedef Documentation

This structure represents a Border Router configuration.

typedef uint32_t otChannelMask

This type represents Channel Mask.

This structure represents an Extended PAN ID.

This structure represents an External Route configuration.

typedef struct otIpCounters otIpCounters

This structure represents the IP level counters.

typedef struct otLeaderData otLeaderData

This structure represents the Thread Leader Data.

This structure represents an MLE Link Mode configuration.

typedef struct otMasterKey otMasterKey

This structure represents a Thread Master Key.

This enumeration represents meshcop TLV types.

This structure represents a Mesh Local Prefix.

typedef struct otMleCounters otMleCounters

This structure represents the Thread MLE counters.

This structure represents a Network Diagnostic Child Table Entry.

This structure represents a Network Diagnostic Connectivity value.

This structure represents a Network Diagnostic Mac Counters value.

See RFC 2863 for definitions of member fields.

This structure represents a Network Diagnostic Route TLV value.

This structure represents a Network Diagnostic Route data.

This structure represents a Network Diagnostic TLV.

typedef struct otNetworkName otNetworkName

This structure represents a Network Name.

This structure represents an Active or Pending Operational Dataset.

Components in Dataset are optional. mComponets structure specifies which components are present in the Dataset.

This structure represents presence of different components in Active or Pending Operational Dataset.

typedef struct otPskc otPskc

This structure represents a PSKc.

typedef void(* otReceiveDiagnosticGetCallback)(otMessage *aMessage, const otMessageInfo *aMessageInfo, void *aContext)

This function pointer is called when Network Diagnostic Get response is received.

Parameters
[in]aMessageA pointer to the message buffer containing the received Network Diagnostic Get response payload.
[in]aMessageInfoA pointer to the message info for aMessage.
[in]aContextA pointer to application-specific context.

Defines valid values for member mPreference in otExternalRouteConfig and otBorderRouterConfig.

This structure represent Security Policy.

This structure represents a Server configuration.

This structure represents a Service configuration.

typedef void(* otThreadParentResponseCallback)(otThreadParentResponseInfo *aInfo, void *aContext)

This function pointer is called every time an MLE Parent Response message is received.

Parameters
[in]aStatspointer to a location on stack holding the stats data.
[in]aContextA pointer to callback client-specific context.

This structure represents the MLE Parent Response data.

Enumeration Type Documentation

anonymous enum

This enumeration defines the Security Policy TLV flags.

Enumerator
OT_SECURITY_POLICY_OBTAIN_MASTER_KEY 

Obtaining the Master Key.

OT_SECURITY_POLICY_NATIVE_COMMISSIONING 

Native Commissioning.

OT_SECURITY_POLICY_ROUTERS 

Routers enabled.

OT_SECURITY_POLICY_EXTERNAL_COMMISSIONER 

External Commissioner allowed.

OT_SECURITY_POLICY_BEACONS 

Beacons enabled.

anonymous enum
Enumerator
OT_NETWORK_DIAGNOSTIC_TLV_EXT_ADDRESS 

MAC Extended Address TLV.

OT_NETWORK_DIAGNOSTIC_TLV_SHORT_ADDRESS 

Address16 TLV.

OT_NETWORK_DIAGNOSTIC_TLV_MODE 

Mode TLV.

OT_NETWORK_DIAGNOSTIC_TLV_TIMEOUT 

Timeout TLV (the maximum polling time period for SEDs)

OT_NETWORK_DIAGNOSTIC_TLV_CONNECTIVITY 

Connectivity TLV.

OT_NETWORK_DIAGNOSTIC_TLV_ROUTE 

Route64 TLV.

OT_NETWORK_DIAGNOSTIC_TLV_LEADER_DATA 

Leader Data TLV.

OT_NETWORK_DIAGNOSTIC_TLV_NETWORK_DATA 

Network Data TLV.

OT_NETWORK_DIAGNOSTIC_TLV_IP6_ADDR_LIST 

IPv6 Address List TLV.

OT_NETWORK_DIAGNOSTIC_TLV_MAC_COUNTERS 

MAC Counters TLV.

OT_NETWORK_DIAGNOSTIC_TLV_BATTERY_LEVEL 

Battery Level TLV.

OT_NETWORK_DIAGNOSTIC_TLV_SUPPLY_VOLTAGE 

Supply Voltage TLV.

OT_NETWORK_DIAGNOSTIC_TLV_CHILD_TABLE 

Child Table TLV.

OT_NETWORK_DIAGNOSTIC_TLV_CHANNEL_PAGES 

Channel Pages TLV.

OT_NETWORK_DIAGNOSTIC_TLV_TYPE_LIST 

Type List TLV.

OT_NETWORK_DIAGNOSTIC_TLV_MAX_CHILD_TIMEOUT 

Max Child Timeout TLV.

Represents a Thread device role.

Enumerator
OT_DEVICE_ROLE_DISABLED 

The Thread stack is disabled.

OT_DEVICE_ROLE_DETACHED 

Not currently participating in a Thread network/partition.

OT_DEVICE_ROLE_CHILD 

The Thread Child role.

OT_DEVICE_ROLE_ROUTER 

The Thread Router role.

OT_DEVICE_ROLE_LEADER 

The Thread Leader role.

This enumeration represents meshcop TLV types.

Enumerator
OT_MESHCOP_TLV_CHANNEL 

meshcop Channel TLV

OT_MESHCOP_TLV_PANID 

meshcop Pan Id TLV

OT_MESHCOP_TLV_EXTPANID 

meshcop Extended Pan Id TLV

OT_MESHCOP_TLV_NETWORKNAME 

meshcop Network Name TLV

OT_MESHCOP_TLV_PSKC 

meshcop PSKc TLV

OT_MESHCOP_TLV_MASTERKEY 

meshcop Network Master Key TLV

OT_MESHCOP_TLV_NETWORK_KEY_SEQUENCE 

meshcop Network Key Sequence TLV

OT_MESHCOP_TLV_MESHLOCALPREFIX 

meshcop Mesh Local Prefix TLV

OT_MESHCOP_TLV_STEERING_DATA 

meshcop Steering Data TLV

OT_MESHCOP_TLV_BORDER_AGENT_RLOC 

meshcop Border Agent Locator TLV

OT_MESHCOP_TLV_COMMISSIONER_ID 

meshcop Commissioner ID TLV

OT_MESHCOP_TLV_COMM_SESSION_ID 

meshcop Commissioner Session ID TLV

OT_MESHCOP_TLV_SECURITYPOLICY 

meshcop Security Policy TLV

OT_MESHCOP_TLV_GET 

meshcop Get TLV

OT_MESHCOP_TLV_ACTIVETIMESTAMP 

meshcop Active Timestamp TLV

OT_MESHCOP_TLV_COMMISSIONER_UDP_PORT 

meshcop Commissioner UDP Port TLV

OT_MESHCOP_TLV_STATE 

meshcop State TLV

OT_MESHCOP_TLV_JOINER_DTLS 

meshcop Joiner DTLS Encapsulation TLV

OT_MESHCOP_TLV_JOINER_UDP_PORT 

meshcop Joiner UDP Port TLV

OT_MESHCOP_TLV_JOINER_IID 

meshcop Joiner IID TLV

OT_MESHCOP_TLV_JOINER_RLOC 

meshcop Joiner Router Locator TLV

OT_MESHCOP_TLV_JOINER_ROUTER_KEK 

meshcop Joiner Router KEK TLV

OT_MESHCOP_TLV_PROVISIONING_URL 

meshcop Provisioning URL TLV

OT_MESHCOP_TLV_VENDOR_NAME_TLV 

meshcop Vendor Name TLV

OT_MESHCOP_TLV_VENDOR_MODEL_TLV 

meshcop Vendor Model TLV

OT_MESHCOP_TLV_VENDOR_SW_VERSION_TLV 

meshcop Vendor SW Version TLV

OT_MESHCOP_TLV_VENDOR_DATA_TLV 

meshcop Vendor Data TLV

OT_MESHCOP_TLV_VENDOR_STACK_VERSION_TLV 

meshcop Vendor Stack Version TLV

OT_MESHCOP_TLV_UDP_ENCAPSULATION_TLV 

meshcop UDP encapsulation TLV

OT_MESHCOP_TLV_IPV6_ADDRESS_TLV 

meshcop IPv6 address TLV

OT_MESHCOP_TLV_PENDINGTIMESTAMP 

meshcop Pending Timestamp TLV

OT_MESHCOP_TLV_DELAYTIMER 

meshcop Delay Timer TLV

OT_MESHCOP_TLV_CHANNELMASK 

meshcop Channel Mask TLV

OT_MESHCOP_TLV_COUNT 

meshcop Count TLV

OT_MESHCOP_TLV_PERIOD 

meshcop Period TLV

OT_MESHCOP_TLV_SCAN_DURATION 

meshcop Scan Duration TLV

OT_MESHCOP_TLV_ENERGY_LIST 

meshcop Energy List TLV

OT_MESHCOP_TLV_DISCOVERYREQUEST 

meshcop Discovery Request TLV

OT_MESHCOP_TLV_DISCOVERYRESPONSE 

meshcop Discovery Response TLV

Defines valid values for member 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

otError otDatasetCreateNewNetwork ( otInstance aInstance,
otOperationalDataset aDataset 
)

This method creates a new Operational Dataset to use when forming a new network.

Parameters
[in]aInstanceA pointer to an OpenThread instance.
[out]aDatasetThe Operational Dataset.
Return values
OT_ERROR_NONESuccessfully created a new Operational Dataset.
OT_ERROR_FAILEDFailed to generate random values for new parameters.
otError otDatasetGeneratePskc ( const char *  aPassPhrase,
const otNetworkName aNetworkName,
const otExtendedPanId aExtPanId,
otPskc aPskc 
)

This function generates PSKc from a given pass-phrase, network name, and extended PAN ID.

PSKc is used to establish the Commissioner Session.

Parameters
[in]aPassPhraseThe commissioning pass-phrase.
[in]aNetworkNameThe network name for PSKc computation.
[in]aExtPanIdThe extended PAN ID for PSKc computation.
[out]aPskcA pointer to variable to output the generated PSKc.
Return values
OT_ERROR_NONESuccessfully generate PSKc.
OT_ERROR_INVALID_ARGSIf any of the input arguments is invalid.
otError otDatasetGetActive ( otInstance aInstance,
otOperationalDataset aDataset 
)

This function gets the Active Operational Dataset.

Parameters
[in]aInstanceA pointer to an OpenThread instance.
[out]aDatasetA pointer to where the Active Operational Dataset will be placed.
Return values
OT_ERROR_NONESuccessfully retrieved the Active Operational Dataset.
OT_ERROR_INVALID_ARGSaDataset was NULL.
uint32_t otDatasetGetDelayTimerMinimal ( otInstance aInstance)

Get minimal delay timer.

Parameters
[in]aInstanceA pointer to an OpenThread instance.
Return values
thevalue of minimal delay timer (in ms).
otError otDatasetGetPending ( otInstance aInstance,
otOperationalDataset aDataset 
)

This function gets the Pending Operational Dataset.

Parameters
[in]aInstanceA pointer to an OpenThread instance.
[out]aDatasetA pointer to where the Pending Operational Dataset will be placed.
Return values
OT_ERROR_NONESuccessfully retrieved the Pending Operational Dataset.
OT_ERROR_INVALID_ARGSaDataset was NULL.
bool otDatasetIsCommissioned ( otInstance aInstance)

This function indicates whether a valid network is present in the Active Operational Dataset or not.

Parameters
[in]aInstanceA pointer to an OpenThread instance.
Returns
TRUE if a valid network is present in the Active Operational Dataset, FALSE otherwise.
otError otDatasetSendMgmtActiveGet ( otInstance aInstance,
const otOperationalDatasetComponents aDatasetComponents,
const uint8_t *  aTlvTypes,
uint8_t  aLength,
const otIp6Address aAddress 
)

This function sends MGMT_ACTIVE_GET.

Parameters
[in]aInstanceA pointer to an OpenThread instance.
[in]aDatasetComponentsA pointer to a Dataset Components structure specifying which components to request.
[in]aTlvTypesA pointer to array containing additional raw TLV types to be requested.
[in]aLengthThe length of aTlvTypes.
[in]aAddressA pointer to the IPv6 destination, if it is NULL, will use Leader ALOC as default.
Return values
OT_ERROR_NONESuccessfully send the meshcop dataset command.
OT_ERROR_NO_BUFSInsufficient buffer space to send.
otError otDatasetSendMgmtActiveSet ( otInstance aInstance,
const otOperationalDataset aDataset,
const uint8_t *  aTlvs,
uint8_t  aLength 
)

This function sends MGMT_ACTIVE_SET.

Parameters
[in]aInstanceA pointer to an OpenThread instance.
[in]aDatasetA pointer to operational dataset.
[in]aTlvsA pointer to TLVs.
[in]aLengthThe length of TLVs.
Return values
OT_ERROR_NONESuccessfully send the meshcop dataset command.
OT_ERROR_NO_BUFSInsufficient buffer space to send.
otError otDatasetSendMgmtPendingGet ( otInstance aInstance,
const otOperationalDatasetComponents aDatasetComponents,
const uint8_t *  aTlvTypes,
uint8_t  aLength,
const otIp6Address aAddress 
)

This function sends MGMT_PENDING_GET.

Parameters
[in]aInstanceA pointer to an OpenThread instance.
[in]aDatasetComponentsA pointer to a Dataset Components structure specifying which components to request.
[in]aTlvTypesA pointer to array containing additional raw TLV types to be requested.
[in]aLengthThe length of aTlvTypes.
[in]aAddressA pointer to the IPv6 destination, if it is NULL, will use Leader ALOC as default.
Return values
OT_ERROR_NONESuccessfully send the meshcop dataset command.
OT_ERROR_NO_BUFSInsufficient buffer space to send.
otError otDatasetSendMgmtPendingSet ( otInstance aInstance,
const otOperationalDataset aDataset,
const uint8_t *  aTlvs,
uint8_t  aLength 
)

This function sends MGMT_PENDING_SET.

Parameters
[in]aInstanceA pointer to an OpenThread instance.
[in]aDatasetA pointer to operational dataset.
[in]aTlvsA pointer to TLVs.
[in]aLengthThe length of TLVs.
Return values
OT_ERROR_NONESuccessfully send the meshcop dataset command.
OT_ERROR_NO_BUFSInsufficient buffer space to send.
otError otDatasetSetActive ( otInstance aInstance,
const otOperationalDataset aDataset 
)

This function sets the Active Operational Dataset.

If the dataset does not include an Active Timestamp, the dataset is only partially complete.

If Thread is enabled on a device that has a partially complete Active Dataset, the device will attempt to attach to an existing Thread network using any existing information in the dataset. Only the Thread Master Key is needed to attach to a network.

If channel is not included in the dataset, the device will send MLE Announce messages across different channels to find neighbors on other channels.

If the device successfully attaches to a Thread network, the device will then retrieve the full Active Dataset from its Parent. Note that a router-capable device will not transition to the Router or Leader roles until it has a complete Active Dataset.

Parameters
[in]aInstanceA pointer to an OpenThread instance.
[in]aDatasetA pointer to the Active Operational Dataset.
Return values
OT_ERROR_NONESuccessfully set the Active Operational Dataset.
OT_ERROR_NO_BUFSInsufficient buffer space to set the Active Operational Dataset.
OT_ERROR_INVALID_ARGSaDataset was NULL.
otError otDatasetSetDelayTimerMinimal ( otInstance aInstance,
uint32_t  aDelayTimerMinimal 
)

Set minimal delay timer.

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]aInstanceA pointer to an OpenThread instance.
[in]aDelayTimerMinimalThe value of minimal delay timer (in ms).
Return values
OT_ERROR_NONESuccessfully set minimal delay timer.
OT_ERROR_INVALID_ARGSIf aDelayTimerMinimal is not valid.
otError otDatasetSetPending ( otInstance aInstance,
const otOperationalDataset aDataset 
)

This function sets the Pending Operational Dataset.

Parameters
[in]aInstanceA pointer to an OpenThread instance.
[in]aDatasetA pointer to the Pending Operational Dataset.
Return values
OT_ERROR_NONESuccessfully set the Pending Operational Dataset.
OT_ERROR_NO_BUFSInsufficient buffer space to set the Pending Operational Dataset.
OT_ERROR_INVALID_ARGSaDataset was NULL.
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]aInstanceA pointer to an OpenThread instance.
[in]aStableTRUE when copying the stable version, FALSE when copying the full version.
[out]aDataA pointer to the data buffer.
[in,out]aDataLengthOn entry, size of the data buffer pointed to by aData. On exit, number of copied bytes.
otError otNetDataGetNextOnMeshPrefix ( otInstance aInstance,
otNetworkDataIterator aIterator,
otBorderRouterConfig aConfig 
)

This function gets the next On Mesh Prefix in the partition's Network Data.

Parameters
[in]aInstanceA pointer to an OpenThread instance.
[in,out]aIteratorA 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]aConfigA pointer to where the On Mesh Prefix information will be placed.
Return values
OT_ERROR_NONESuccessfully found the next On Mesh prefix.
OT_ERROR_NOT_FOUNDNo subsequent On Mesh prefix exists in the Thread Network Data.
otError otNetDataGetNextRoute ( otInstance aInstance,
otNetworkDataIterator aIterator,
otExternalRouteConfig aConfig 
)

This function gets the next external route in the partition's Network Data.

Parameters
[in]aInstanceA pointer to an OpenThread instance.
[in,out]aIteratorA 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]aConfigA pointer to where the External Route information will be placed.
Return values
OT_ERROR_NONESuccessfully found the next External Route.
OT_ERROR_NOT_FOUNDNo subsequent external route entry exists in the Thread Network Data.
otError otNetDataGetNextService ( otInstance aInstance,
otNetworkDataIterator aIterator,
otServiceConfig aConfig 
)

This function gets the next service in the partition's Network Data.

Parameters
[in]aInstanceA pointer to an OpenThread instance.
[in,out]aIteratorA pointer to the Network Data iterator context. To get the first service entry it should be set to OT_NETWORK_DATA_ITERATOR_INIT.
[out]aConfigA pointer to where the service information will be placed.
Return values
OT_ERROR_NONESuccessfully found the next service.
OT_ERROR_NOT_FOUNDNo subsequent service exists in the partition's Network Data.
uint8_t otNetDataGetStableVersion ( otInstance aInstance)

Get the Stable Network Data Version.

Parameters
[in]aInstanceA pointer to an OpenThread instance.
Returns
The Stable Network Data Version.
uint8_t otNetDataGetVersion ( otInstance aInstance)

Get the Network Data Version.

Parameters
[in]aInstanceA pointer to an OpenThread instance.
Returns
The Network Data Version.
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]aInstanceA pointer to an OpenThread instance.
Return values
OT_ERROR_NONESuccessfully begin attempt to become a child.
OT_ERROR_INVALID_STATEThread is disabled.
otError otThreadBecomeDetached ( otInstance aInstance)

Detach from the Thread network.

Parameters
[in]aInstanceA pointer to an OpenThread instance.
Return values
OT_ERROR_NONESuccessfully detached from the Thread network.
OT_ERROR_INVALID_STATEThread is disabled.
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]aInstanceA pointer to an OpenThread instance.
[in]aScanChannelsA bit vector indicating which channels to scan (e.g. OT_CHANNEL_11_MASK).
[in]aPanIdThe PAN ID filter (set to Broadcast PAN to disable filter).
[in]aJoinerValue of the Joiner Flag in the Discovery Request TLV.
[in]aEnableEui64FilteringTRUE to filter responses on EUI-64, FALSE otherwise.
[in]aCallbackA pointer to a function called on receiving an MLE Discovery Response or scan completes.
[in]aCallbackContextA pointer to application-specific context.
Return values
OT_ERROR_NONEAccepted the Thread Discovery request.
OT_ERROR_BUSYAlready performing an Thread Discovery.
uint32_t otThreadGetChildTimeout ( otInstance aInstance)

Get the Thread Child Timeout used when operating in the Child role.

Parameters
[in]aInstanceA pointer to an OpenThread instance.
Returns
The Thread Child Timeout value in seconds.
See also
otThreadSetChildTimeout
otDeviceRole otThreadGetDeviceRole ( otInstance aInstance)

Get the device role.

Parameters
[in]aInstanceA pointer to an OpenThread instance.
Return values
OT_DEVICE_ROLE_DISABLEDThe Thread stack is disabled.
OT_DEVICE_ROLE_DETACHEDThe device is not currently participating in a Thread network/partition.
OT_DEVICE_ROLE_CHILDThe device is currently operating as a Thread Child.
OT_DEVICE_ROLE_ROUTERThe device is currently operating as a Thread Router.
OT_DEVICE_ROLE_LEADERThe device is currently operating as a Thread Leader.
const otExtendedPanId* otThreadGetExtendedPanId ( otInstance aInstance)

Get the IEEE 802.15.4 Extended PAN ID.

Parameters
[in]aInstanceA pointer to an OpenThread instance.
Returns
A pointer to the IEEE 802.15.4 Extended PAN ID.
See also
otThreadSetExtendedPanId
const otIpCounters* otThreadGetIp6Counters ( otInstance aInstance)

Get the IPv6 counters.

Parameters
[in]aInstanceA pointer to an OpenThread instance.
Returns
A pointer to the IPv6 counters.
uint32_t otThreadGetKeySequenceCounter ( otInstance aInstance)

Get the thrKeySequenceCounter.

Parameters
[in]aInstanceA pointer to an OpenThread instance.
Returns
The thrKeySequenceCounter value.
See also
otThreadSetKeySequenceCounter
uint32_t otThreadGetKeySwitchGuardTime ( otInstance aInstance)

Get the thrKeySwitchGuardTime

Parameters
[in]aInstanceA pointer to an OpenThread instance.
Returns
The thrKeySwitchGuardTime value (in hours).
See also
otThreadSetKeySwitchGuardTime
otError otThreadGetLeaderData ( otInstance aInstance,
otLeaderData aLeaderData 
)

This function get the Thread Leader Data.

Parameters
[in]aInstanceA pointer to an OpenThread instance.
[out]aLeaderDataA pointer to where the leader data is placed.
Return values
OT_ERROR_NONESuccessfully retrieved the leader data.
OT_ERROR_DETACHEDNot currently attached.
otError otThreadGetLeaderRloc ( otInstance aInstance,
otIp6Address aLeaderRloc 
)

This function returns a pointer to the Leader's RLOC.

Parameters
[in]aInstanceA pointer to an OpenThread instance.
[out]aLeaderRlocA pointer to the Leader's RLOC.
Return values
OT_ERROR_NONEThe Leader's RLOC was successfully written to aLeaderRloc.
OT_ERROR_INVALID_ARGSaLeaderRloc was NULL.
OT_ERROR_DETACHEDNot currently attached to a Thread Partition.
uint8_t otThreadGetLeaderRouterId ( otInstance aInstance)

Get the Leader's Router ID.

Parameters
[in]aInstanceA pointer to an OpenThread instance.
Returns
The Leader's Router ID.
uint8_t otThreadGetLeaderWeight ( otInstance aInstance)

Get the Leader's Weight.

Parameters
[in]aInstanceA pointer to an OpenThread instance.
Returns
The Leader's Weight.
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]aInstanceA pointer to an OpenThread instance.
Returns
A pointer to Thread link-local IPv6 address.
otLinkModeConfig otThreadGetLinkMode ( otInstance aInstance)

Get the MLE Link Mode configuration.

Parameters
[in]aInstanceA pointer to an OpenThread instance.
Returns
The MLE Link Mode configuration.
See also
otThreadSetLinkMode
const otMasterKey* otThreadGetMasterKey ( otInstance aInstance)

Get the thrMasterKey.

Parameters
[in]aInstanceA pointer to an OpenThread instance.
Returns
A pointer to a buffer containing the thrMasterKey.
See also
otThreadSetMasterKey
const otIp6Address* otThreadGetMeshLocalEid ( otInstance aInstance)

This function returns a pointer to the Mesh Local EID address.

Parameters
[in]aInstanceA pointer to an OpenThread instance.
Returns
A pointer to the Mesh Local EID address.
const otMeshLocalPrefix* otThreadGetMeshLocalPrefix ( otInstance aInstance)

This function returns a pointer to the Mesh Local Prefix.

Parameters
[in]aInstanceA pointer to an OpenThread instance.
Returns
A pointer to the Mesh Local Prefix.
const otMleCounters* otThreadGetMleCounters ( otInstance aInstance)

Get the Thread MLE counters.

Parameters
[in]aInstanceA pointer to an OpenThread instance.
Returns
A pointer to the Thread MLE counters.
const char* otThreadGetNetworkName ( otInstance aInstance)

Get the Thread Network Name.

Parameters
[in]aInstanceA pointer to an OpenThread instance.
Returns
A pointer to the Thread Network Name.
See also
otThreadSetNetworkName
otError otThreadGetNextDiagnosticTlv ( const otMessage aMessage,
otNetworkDiagIterator aIterator,
otNetworkDiagTlv aNetworkDiagTlv 
)

This function gets the next Network Diagnostic TLV in the message.

Parameters
[in]aMessageA pointer to a message.
[in,out]aIteratorA 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]aNetworkDiagTlvA pointer to where the Network Diagnostic TLV information will be placed.
Return values
OT_ERROR_NONESuccessfully found the next Network Diagnostic TLV.
OT_ERROR_NOT_FOUNDNo subsequent Network Diagnostic TLV exists in the message.
OT_ERROR_PARSEParsing the next Network Diagnostic failed.

A subsequent call to this function is allowed only when current return value is OT_ERROR_NONE.

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]aInstanceA pointer to an OpenThread instance.
[in,out]aIteratorA pointer to the iterator context. To get the first neighbor entry it should be set to OT_NEIGHBOR_INFO_ITERATOR_INIT.
[out]aInfoA pointer to the neighbor information.
Return values
OT_ERROR_NONESuccessfully found the next neighbor entry in table.
OT_ERROR_NOT_FOUNDNo subsequent neighbor entry exists in the table.
OT_ERROR_INVALID_ARGSaIterator or aInfo was NULL.
otError otThreadGetParentAverageRssi ( otInstance aInstance,
int8_t *  aParentRssi 
)

The function retrieves the average RSSI for the Thread Parent.

Parameters
[in]aInstanceA pointer to an OpenThread instance.
[out]aParentRssiA pointer to where the parent RSSI should be placed.
otError otThreadGetParentInfo ( otInstance aInstance,
otRouterInfo aParentInfo 
)

The function retrieves diagnostic information for a Thread Router as parent.

Parameters
[in]aInstanceA pointer to an OpenThread instance.
[out]aParentInfoA pointer to where the parent router information is placed.
otError otThreadGetParentLastRssi ( otInstance aInstance,
int8_t *  aLastRssi 
)

The function retrieves the RSSI of the last packet from the Thread Parent.

Parameters
[in]aInstanceA pointer to an OpenThread instance.
[out]aLastRssiA pointer to where the last RSSI should be placed.
Return values
OT_ERROR_NONESuccessfully retrieved the RSSI data.
OT_ERROR_FAILEDUnable to get RSSI data.
OT_ERROR_INVALID_ARGSaLastRssi is NULL.
uint32_t otThreadGetPartitionId ( otInstance aInstance)

Get the Partition ID.

Parameters
[in]aInstanceA pointer to an OpenThread instance.
Returns
The Partition ID.
const otIp6Address* otThreadGetRloc ( otInstance aInstance)

This function returns a pointer to the Thread Routing Locator (RLOC) address.

Parameters
[in]aInstanceA pointer to an OpenThread instance.
Returns
A pointer to the Thread Routing Locator (RLOC) address.
uint16_t otThreadGetRloc16 ( otInstance aInstance)

Get the RLOC16.

Parameters
[in]aInstanceA pointer to an OpenThread instance.
Returns
The RLOC16.
uint16_t otThreadGetVersion ( void  )

This function gets the Thread protocol version.

Returns
the Thread protocol version.
bool otThreadIsDiscoverInProgress ( otInstance aInstance)

This function determines if an MLE Thread Discovery is currently in progress.

Parameters
[in]aInstanceA pointer to an OpenThread instance.
bool otThreadIsSingleton ( otInstance aInstance)

This function indicates whether a node is the only router on the network.

Parameters
[in]aInstanceA pointer to an OpenThread instance.
Return values
TRUEIt is the only router in the network.
FALSEIt is a child or is not a single router in the network.
void otThreadRegisterParentResponseCallback ( otInstance aInstance,
otThreadParentResponseCallback  aCallback,
void *  aContext 
)

This function registers a callback to receive MLE Parent Response data.

Parameters
[in]aInstanceA pointer to an OpenThread instance.
[in]aCallbackA pointer to a function that is called upon receiving an MLE Parent Response message.
[in]aContextA pointer to callback client-specific context.
void otThreadResetIp6Counters ( otInstance aInstance)

Reset the IPv6 counters.

Parameters
[in]aInstanceA pointer to an OpenThread instance.
void otThreadResetMleCounters ( otInstance aInstance)

Reset the Thread MLE counters.

Parameters
[in]aInstanceA pointer to an OpenThread instance.
otError otThreadSendDiagnosticGet ( otInstance aInstance,
const otIp6Address aDestination,
const uint8_t  aTlvTypes[],
uint8_t  aCount 
)

Send a Network Diagnostic Get request.

Parameters
[in]aInstanceA pointer to an OpenThread instance.
[in]aDestinationA pointer to destination address.
[in]aTlvTypesAn array of Network Diagnostic TLV types.
[in]aCountNumber of types in aTlvTypes.
Return values
OT_ERROR_NONESuccessfully queued the DIAG_GET.req.
OT_ERROR_NO_BUFSInsufficient message buffers available to send DIAG_GET.req.
otError otThreadSendDiagnosticReset ( otInstance aInstance,
const otIp6Address aDestination,
const uint8_t  aTlvTypes[],
uint8_t  aCount 
)

Send a Network Diagnostic Reset request.

Parameters
[in]aInstanceA pointer to an OpenThread instance.
[in]aDestinationA pointer to destination address.
[in]aTlvTypesAn array of Network Diagnostic TLV types. Currently only Type 9 is allowed.
[in]aCountNumber of types in aTlvTypes
Return values
OT_ERROR_NONESuccessfully queued the DIAG_RST.ntf.
OT_ERROR_NO_BUFSInsufficient message buffers available to send DIAG_RST.ntf.
void otThreadSetChildTimeout ( otInstance aInstance,
uint32_t  aTimeout 
)

Set the Thread Child Timeout used when operating in the Child role.

Parameters
[in]aInstanceA pointer to an OpenThread instance.
[in]aTimeoutThe timeout value in seconds.
See also
otThreadGetChildTimeout
otError otThreadSetEnabled ( otInstance aInstance,
bool  aEnabled 
)

This function starts Thread protocol operation.

The interface must be up when calling this function.

Parameters
[in]aInstanceA pointer to an OpenThread instance.
[in]aEnabledTRUE if Thread is enabled, FALSE otherwise.
Return values
OT_ERROR_NONESuccessfully started Thread protocol operation.
OT_ERROR_INVALID_STATEThe network interface was not not up.
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]aInstanceA pointer to an OpenThread instance.
[in]aExtendedPanIdA pointer to the IEEE 802.15.4 Extended PAN ID.
Return values
OT_ERROR_NONESuccessfully set the Extended PAN ID.
OT_ERROR_INVALID_STATEThread protocols are enabled.
See also
otThreadGetExtendedPanId
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]aInstanceA pointer to an OpenThread instance.
[in]aKeySequenceCounterThe thrKeySequenceCounter value.
See also
otThreadGetKeySequenceCounter
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]aInstanceA pointer to an OpenThread instance.
[in]aKeySwitchGuardTimeThe thrKeySwitchGuardTime value (in hours).
See also
otThreadGetKeySwitchGuardTime
otError otThreadSetLinkMode ( otInstance aInstance,
otLinkModeConfig  aConfig 
)

Set the MLE Link Mode configuration.

Parameters
[in]aInstanceA pointer to an OpenThread instance.
[in]aConfigA pointer to the Link Mode configuration.
Return values
OT_ERROR_NONESuccessfully set the MLE Link Mode configuration.
See also
otThreadGetLinkMode
otError otThreadSetMasterKey ( otInstance aInstance,
const otMasterKey aKey 
)

Set the thrMasterKey.

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]aInstanceA pointer to an OpenThread instance.
[in]aKeyA pointer to a buffer containing the thrMasterKey.
Return values
OT_ERROR_NONESuccessfully set the thrMasterKey.
OT_ERROR_INVALID_ARGSIf aKeyLength is larger than 16.
OT_ERROR_INVALID_STATEThread protocols are enabled.
See also
otThreadGetMasterKey
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]aInstanceA pointer to an OpenThread instance.
[in]aMeshLocalPrefixA pointer to the Mesh Local Prefix.
Return values
OT_ERROR_NONESuccessfully set the Mesh Local Prefix.
OT_ERROR_INVALID_STATEThread protocols are enabled.
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]aInstanceA pointer to an OpenThread instance.
[in]aNetworkNameA pointer to the Thread Network Name.
Return values
OT_ERROR_NONESuccessfully set the Thread Network Name.
OT_ERROR_INVALID_STATEThread protocols are enabled.
See also
otThreadGetNetworkName
void otThreadSetReceiveDiagnosticGetCallback ( otInstance aInstance,
otReceiveDiagnosticGetCallback  aCallback,
void *  aCallbackContext 
)

This function registers a callback to provide received raw Network Diagnostic Get response payload.

Parameters
[in]aInstanceA pointer to an OpenThread instance.
[in]aCallbackA pointer to a function that is called when Network Diagnostic Get response is received or NULL to disable the callback.
[in]aCallbackContextA pointer to application-specific context.

Documentation feedback | Developer Zone | Subscribe | Updated