Commissioner#

This module includes functions for the Thread Commissioner role.

Modules#

otSteeringData

otCommissioningDataset

otJoinerPskd

otJoinerInfo

Enumerations#

enum
OT_COMMISSIONER_STATE_DISABLED = 0
OT_COMMISSIONER_STATE_PETITION = 1
OT_COMMISSIONER_STATE_ACTIVE = 2
}

Defines the Commissioner State.

enum
OT_COMMISSIONER_JOINER_START = 0
OT_COMMISSIONER_JOINER_CONNECTED = 1
OT_COMMISSIONER_JOINER_FINALIZE = 2
OT_COMMISSIONER_JOINER_END = 3
OT_COMMISSIONER_JOINER_REMOVED = 4
}

Defines a Joiner Event on the Commissioner.

enum
OT_JOINER_INFO_TYPE_ANY = 0
OT_JOINER_INFO_TYPE_EUI64 = 1
OT_JOINER_INFO_TYPE_DISCERNER = 2
}

Defines a Joiner Info Type.

Typedefs#

typedef enum otCommissionerState

Defines the Commissioner State.

Defines a Joiner Event on the Commissioner.

typedef struct otSteeringData

Represents the steering data.

typedef struct otCommissioningDataset

Represents a Commissioning Dataset.

typedef struct otJoinerPskd

Represents a Joiner PSKd.

typedef enum otJoinerInfoType

Defines a Joiner Info Type.

typedef struct otJoinerInfo

Represents a Joiner Info.

typedef void(*
otCommissionerStateCallback)(otCommissionerState aState, void *aContext)

Pointer is called whenever the commissioner state changes.

typedef void(*
otCommissionerJoinerCallback)(otCommissionerJoinerEvent aEvent, const otJoinerInfo *aJoinerInfo, const otExtAddress *aJoinerId, void *aContext)

Pointer is called whenever the joiner state changes.

typedef void(*
otCommissionerEnergyReportCallback)(uint32_t aChannelMask, const uint8_t *aEnergyList, uint8_t aEnergyListLength, void *aContext)

Pointer is called when the Commissioner receives an Energy Report.

typedef void(*
otCommissionerPanIdConflictCallback)(uint16_t aPanId, uint32_t aChannelMask, void *aContext)

Pointer is called when the Commissioner receives a PAN ID Conflict message.

Functions#

otCommissionerStart(otInstance *aInstance, otCommissionerStateCallback aStateCallback, otCommissionerJoinerCallback aJoinerCallback, void *aCallbackContext)

Enables the Thread Commissioner role.

otCommissionerStop(otInstance *aInstance)

Disables the Thread Commissioner role.

const char *
otCommissionerGetId(otInstance *aInstance)

Returns the Commissioner Id.

otCommissionerSetId(otInstance *aInstance, const char *aId)

Sets the Commissioner Id.

otCommissionerAddJoiner(otInstance *aInstance, const otExtAddress *aEui64, const char *aPskd, uint32_t aTimeout)

Adds a Joiner entry.

otCommissionerAddJoinerWithDiscerner(otInstance *aInstance, const otJoinerDiscerner *aDiscerner, const char *aPskd, uint32_t aTimeout)

Adds a Joiner entry with a given Joiner Discerner value.

otCommissionerGetNextJoinerInfo(otInstance *aInstance, uint16_t *aIterator, otJoinerInfo *aJoiner)

Get joiner info at aIterator position.

otCommissionerRemoveJoiner(otInstance *aInstance, const otExtAddress *aEui64)

Removes a Joiner entry.

otCommissionerRemoveJoinerWithDiscerner(otInstance *aInstance, const otJoinerDiscerner *aDiscerner)

Removes a Joiner entry.

const char *
otCommissionerGetProvisioningUrl(otInstance *aInstance)

Gets the Provisioning URL.

otCommissionerSetProvisioningUrl(otInstance *aInstance, const char *aProvisioningUrl)

Sets the Provisioning URL.

otCommissionerAnnounceBegin(otInstance *aInstance, uint32_t aChannelMask, uint8_t aCount, uint16_t aPeriod, const otIp6Address *aAddress)

Sends an Announce Begin message.

otCommissionerEnergyScan(otInstance *aInstance, uint32_t aChannelMask, uint8_t aCount, uint16_t aPeriod, uint16_t aScanDuration, const otIp6Address *aAddress, otCommissionerEnergyReportCallback aCallback, void *aContext)

Sends an Energy Scan Query message.

otCommissionerPanIdQuery(otInstance *aInstance, uint16_t aPanId, uint32_t aChannelMask, const otIp6Address *aAddress, otCommissionerPanIdConflictCallback aCallback, void *aContext)

Sends a PAN ID Query message.

otCommissionerSendMgmtGet(otInstance *aInstance, const uint8_t *aTlvs, uint8_t aLength)

Sends MGMT_COMMISSIONER_GET.

otCommissionerSendMgmtSet(otInstance *aInstance, const otCommissioningDataset *aDataset, const uint8_t *aTlvs, uint8_t aLength)

Sends MGMT_COMMISSIONER_SET.

uint16_t
otCommissionerGetSessionId(otInstance *aInstance)

Returns the Commissioner Session ID.

otCommissionerGetState(otInstance *aInstance)

Returns the Commissioner State.

Macros#

#define
OT_COMMISSIONING_PASSPHRASE_MIN_SIZE 6

Minimum size of the Commissioning Passphrase.

#define
OT_COMMISSIONING_PASSPHRASE_MAX_SIZE 255

Maximum size of the Commissioning Passphrase.

#define
OT_PROVISIONING_URL_MAX_SIZE 64

Max size (number of chars) in Provisioning URL string (excludes null char).

#define
OT_STEERING_DATA_MAX_LENGTH 16

Max steering data length (bytes)

#define
OT_JOINER_MAX_PSKD_LENGTH 32

Maximum string length of a Joiner PSKd (does not include null char).

Enumeration Documentation#

otCommissionerState#

otCommissionerState

Defines the Commissioner State.

Enumerator
OT_COMMISSIONER_STATE_DISABLED

Commissioner role is disabled.

OT_COMMISSIONER_STATE_PETITION

Currently petitioning to become a Commissioner.

OT_COMMISSIONER_STATE_ACTIVE

Commissioner role is active.


otCommissionerJoinerEvent#

otCommissionerJoinerEvent

Defines a Joiner Event on the Commissioner.

Enumerator
OT_COMMISSIONER_JOINER_START
OT_COMMISSIONER_JOINER_CONNECTED
OT_COMMISSIONER_JOINER_FINALIZE
OT_COMMISSIONER_JOINER_END
OT_COMMISSIONER_JOINER_REMOVED

otJoinerInfoType#

otJoinerInfoType

Defines a Joiner Info Type.

Enumerator
OT_JOINER_INFO_TYPE_ANY

Accept any Joiner (no EUI64 or Discerner is specified).

OT_JOINER_INFO_TYPE_EUI64

Joiner EUI-64 is specified (mSharedId.mEui64 in otJoinerInfo).

OT_JOINER_INFO_TYPE_DISCERNER

Joiner Discerner is specified (mSharedId.mDiscerner in otJoinerInfo).


Typedef Documentation#

otCommissionerState#

typedef enum otCommissionerState otCommissionerState

Defines the Commissioner State.


otCommissionerJoinerEvent#

typedef enum otCommissionerJoinerEvent otCommissionerJoinerEvent

Defines a Joiner Event on the Commissioner.


otSteeringData#

typedef struct otSteeringData otSteeringData

Represents the steering data.


otCommissioningDataset#

typedef struct otCommissioningDataset otCommissioningDataset

Represents a Commissioning Dataset.


otJoinerPskd#

typedef struct otJoinerPskd otJoinerPskd

Represents a Joiner PSKd.


otJoinerInfoType#

typedef enum otJoinerInfoType otJoinerInfoType

Defines a Joiner Info Type.


otJoinerInfo#

typedef struct otJoinerInfo otJoinerInfo

Represents a Joiner Info.


otCommissionerStateCallback#

typedef void(* otCommissionerStateCallback) (otCommissionerState aState, void *aContext) )(otCommissionerState aState, void *aContext)

Pointer is called whenever the commissioner state changes.

Parameters
TypeDirectionArgument NameDescription
[in]aState

The Commissioner state.

[in]aContext

A pointer to application-specific context.


otCommissionerJoinerCallback#

typedef void(* otCommissionerJoinerCallback) (otCommissionerJoinerEvent aEvent, const otJoinerInfo *aJoinerInfo, const otExtAddress *aJoinerId, void *aContext) )(otCommissionerJoinerEvent aEvent, const otJoinerInfo *aJoinerInfo, const otExtAddress *aJoinerId, void *aContext)

Pointer is called whenever the joiner state changes.

Parameters
TypeDirectionArgument NameDescription
[in]aEvent

The joiner event type.

[in]aJoinerInfo

A pointer to the Joiner Info.

[in]aJoinerId

A pointer to the Joiner ID (if not known, it will be NULL).

[in]aContext

A pointer to application-specific context.


otCommissionerEnergyReportCallback#

typedef void(* otCommissionerEnergyReportCallback) (uint32_t aChannelMask, const uint8_t *aEnergyList, uint8_t aEnergyListLength, void *aContext) )(uint32_t aChannelMask, const uint8_t *aEnergyList, uint8_t aEnergyListLength, void *aContext)

Pointer is called when the Commissioner receives an Energy Report.

Parameters
TypeDirectionArgument NameDescription
[in]aChannelMask

The channel mask value.

[in]aEnergyList

A pointer to the energy measurement list.

[in]aEnergyListLength

Number of entries in aEnergyListLength.

[in]aContext

A pointer to application-specific context.


otCommissionerPanIdConflictCallback#

typedef void(* otCommissionerPanIdConflictCallback) (uint16_t aPanId, uint32_t aChannelMask, void *aContext) )(uint16_t aPanId, uint32_t aChannelMask, void *aContext)

Pointer is called when the Commissioner receives a PAN ID Conflict message.

Parameters
TypeDirectionArgument NameDescription
[in]aPanId

The PAN ID value.

[in]aChannelMask

The channel mask value.

[in]aContext

A pointer to application-specific context.


Function Documentation#

otCommissionerStart#

otError otCommissionerStart (otInstance * aInstance, otCommissionerStateCallback aStateCallback, otCommissionerJoinerCallback aJoinerCallback, void * aCallbackContext)

Enables the Thread Commissioner role.

Parameters
TypeDirectionArgument NameDescription
otInstance *[in]aInstance

A pointer to an OpenThread instance.

otCommissionerStateCallback[in]aStateCallback

A pointer to a function that is called when the commissioner state changes.

otCommissionerJoinerCallback[in]aJoinerCallback

A pointer to a function that is called with a joiner event occurs.

void *[in]aCallbackContext

A pointer to application-specific context.


otCommissionerStop#

otError otCommissionerStop (otInstance * aInstance)

Disables the Thread Commissioner role.

Parameters
TypeDirectionArgument NameDescription
otInstance *[in]aInstance

A pointer to an OpenThread instance.


otCommissionerGetId#

const char * otCommissionerGetId (otInstance * aInstance)

Returns the Commissioner Id.

Parameters
TypeDirectionArgument NameDescription
otInstance *[in]aInstance

A pointer to an OpenThread instance.

Returns

  • The Commissioner Id.


otCommissionerSetId#

otError otCommissionerSetId (otInstance * aInstance, const char * aId)

Sets the Commissioner Id.

Parameters
TypeDirectionArgument NameDescription
otInstance *[in]aInstance

A pointer to an OpenThread instance.

const char *[in]aId

A pointer to a string character array. Must be null terminated.


otCommissionerAddJoiner#

otError otCommissionerAddJoiner (otInstance * aInstance, const otExtAddress * aEui64, const char * aPskd, uint32_t aTimeout)

Adds a Joiner entry.

Parameters
TypeDirectionArgument NameDescription
otInstance *[in]aInstance

A pointer to an OpenThread instance.

const otExtAddress *[in]aEui64

A pointer to the Joiner's IEEE EUI-64 or NULL for any Joiner.

const char *[in]aPskd

A pointer to the PSKd.

uint32_t[in]aTimeout

A time after which a Joiner is automatically removed, in seconds.

Note


otCommissionerAddJoinerWithDiscerner#

otError otCommissionerAddJoinerWithDiscerner (otInstance * aInstance, const otJoinerDiscerner * aDiscerner, const char * aPskd, uint32_t aTimeout)

Adds a Joiner entry with a given Joiner Discerner value.

Parameters
TypeDirectionArgument NameDescription
otInstance *[in]aInstance

A pointer to an OpenThread instance.

const otJoinerDiscerner *[in]aDiscerner

A pointer to the Joiner Discerner.

const char *[in]aPskd

A pointer to the PSKd.

uint32_t[in]aTimeout

A time after which a Joiner is automatically removed, in seconds.

Note


otCommissionerGetNextJoinerInfo#

otError otCommissionerGetNextJoinerInfo (otInstance * aInstance, uint16_t * aIterator, otJoinerInfo * aJoiner)

Get joiner info at aIterator position.

Parameters
TypeDirectionArgument NameDescription
otInstance *[in]aInstance

A pointer to instance.

uint16_t *[inout]aIterator

A pointer to the Joiner Info iterator context.

otJoinerInfo *[out]aJoiner

A reference to Joiner info.


otCommissionerRemoveJoiner#

otError otCommissionerRemoveJoiner (otInstance * aInstance, const otExtAddress * aEui64)

Removes a Joiner entry.

Parameters
TypeDirectionArgument NameDescription
otInstance *[in]aInstance

A pointer to an OpenThread instance.

const otExtAddress *[in]aEui64

A pointer to the Joiner's IEEE EUI-64 or NULL for any Joiner.

Note


otCommissionerRemoveJoinerWithDiscerner#

otError otCommissionerRemoveJoinerWithDiscerner (otInstance * aInstance, const otJoinerDiscerner * aDiscerner)

Removes a Joiner entry.

Parameters
TypeDirectionArgument NameDescription
otInstance *[in]aInstance

A pointer to an OpenThread instance.

const otJoinerDiscerner *[in]aDiscerner

A pointer to the Joiner Discerner.

Note


otCommissionerGetProvisioningUrl#

const char * otCommissionerGetProvisioningUrl (otInstance * aInstance)

Gets the Provisioning URL.

Parameters
TypeDirectionArgument NameDescription
otInstance *[in]aInstance

A pointer to an OpenThread instance.

Returns

  • A pointer to the URL string.


otCommissionerSetProvisioningUrl#

otError otCommissionerSetProvisioningUrl (otInstance * aInstance, const char * aProvisioningUrl)

Sets the Provisioning URL.

Parameters
TypeDirectionArgument NameDescription
otInstance *[in]aInstance

A pointer to an OpenThread instance.

const char *[in]aProvisioningUrl

A pointer to the Provisioning URL (may be NULL to set as empty string).


otCommissionerAnnounceBegin#

otError otCommissionerAnnounceBegin (otInstance * aInstance, uint32_t aChannelMask, uint8_t aCount, uint16_t aPeriod, const otIp6Address * aAddress)

Sends an Announce Begin message.

Parameters
TypeDirectionArgument NameDescription
otInstance *[in]aInstance

A pointer to an OpenThread instance.

uint32_t[in]aChannelMask

The channel mask value.

uint8_t[in]aCount

The number of Announcement messages per channel.

uint16_t[in]aPeriod

The time between two successive MLE Announce transmissions (in milliseconds).

const otIp6Address *[in]aAddress

A pointer to the IPv6 destination.

Note


otCommissionerEnergyScan#

otError otCommissionerEnergyScan (otInstance * aInstance, uint32_t aChannelMask, uint8_t aCount, uint16_t aPeriod, uint16_t aScanDuration, const otIp6Address * aAddress, otCommissionerEnergyReportCallback aCallback, void * aContext)

Sends an Energy Scan Query message.

Parameters
TypeDirectionArgument NameDescription
otInstance *[in]aInstance

A pointer to an OpenThread instance.

uint32_t[in]aChannelMask

The channel mask value.

uint8_t[in]aCount

The number of energy measurements per channel.

uint16_t[in]aPeriod

The time between energy measurements (milliseconds).

uint16_t[in]aScanDuration

The scan duration for each energy measurement (milliseconds).

const otIp6Address *[in]aAddress

A pointer to the IPv6 destination.

otCommissionerEnergyReportCallback[in]aCallback

A pointer to a function called on receiving an Energy Report message.

void *[in]aContext

A pointer to application-specific context.

Note


otCommissionerPanIdQuery#

otError otCommissionerPanIdQuery (otInstance * aInstance, uint16_t aPanId, uint32_t aChannelMask, const otIp6Address * aAddress, otCommissionerPanIdConflictCallback aCallback, void * aContext)

Sends a PAN ID Query message.

Parameters
TypeDirectionArgument NameDescription
otInstance *[in]aInstance

A pointer to an OpenThread instance.

uint16_t[in]aPanId

The PAN ID to query.

uint32_t[in]aChannelMask

The channel mask value.

const otIp6Address *[in]aAddress

A pointer to the IPv6 destination.

otCommissionerPanIdConflictCallback[in]aCallback

A pointer to a function called on receiving a PAN ID Conflict message.

void *[in]aContext

A pointer to application-specific context.

Note


otCommissionerSendMgmtGet#

otError otCommissionerSendMgmtGet (otInstance * aInstance, const uint8_t * aTlvs, uint8_t aLength)

Sends MGMT_COMMISSIONER_GET.

Parameters
TypeDirectionArgument NameDescription
otInstance *[in]aInstance

A pointer to an OpenThread instance.

const uint8_t *[in]aTlvs

A pointer to TLVs.

uint8_t[in]aLength

The length of TLVs.


otCommissionerSendMgmtSet#

otError otCommissionerSendMgmtSet (otInstance * aInstance, const otCommissioningDataset * aDataset, const uint8_t * aTlvs, uint8_t aLength)

Sends MGMT_COMMISSIONER_SET.

Parameters
TypeDirectionArgument NameDescription
otInstance *[in]aInstance

A pointer to an OpenThread instance.

const otCommissioningDataset *[in]aDataset

A pointer to commissioning dataset.

const uint8_t *[in]aTlvs

A pointer to TLVs.

uint8_t[in]aLength

The length of TLVs.


otCommissionerGetSessionId#

uint16_t otCommissionerGetSessionId (otInstance * aInstance)

Returns the Commissioner Session ID.

Parameters
TypeDirectionArgument NameDescription
otInstance *[in]aInstance

A pointer to an OpenThread instance.

Returns

  • The current commissioner session id.


otCommissionerGetState#

otCommissionerState otCommissionerGetState (otInstance * aInstance)

Returns the Commissioner State.

Parameters
TypeDirectionArgument NameDescription
otInstance *[in]aInstance

A pointer to an OpenThread instance.