Steering Data#

This module includes helper functions for the MeshCoP Steering Data.

All the functions in this header require OPENTHREAD_CONFIG_MESHCOP_STEERING_DATA_API_ENABLE to be enabled.

Modules#

otSteeringData

Typedefs#

typedef struct otSteeringData

Represents the steering data.

Functions#

otSteeringDataInit(otSteeringData *aSteeringData, uint8_t aLength)

Initializes the Steering Data.

bool
otSteeringDataIsValid(const otSteeringData *aSteeringData)

Checks whether the Steering Data has a valid length.

void
otSteeringDataSetToPermitAllJoiners(otSteeringData *aSteeringData)

Sets the Steering Data to permit all joiners.

otSteeringDataUpdateWithJoinerId(otSteeringData *aSteeringData, const otExtAddress *aJoinerId)

Updates the Steering Data's bloom filter with a Joiner ID.

otSteeringDataUpdateWithDiscerner(otSteeringData *aSteeringData, const otJoinerDiscerner *aDiscerner)

Updates the Steering Data's bloom filter with a Joiner Discerner.

otSteeringDataMerge(otSteeringData *aSteeringData, const otSteeringData *aOtherSteeringData)

Merges two Steering Data bloom filters.

bool
otSteeringDataPermitsAllJoiners(const otSteeringData *aSteeringData)

Checks if the Steering Data permits all joiners.

bool
otSteeringDataIsEmpty(const otSteeringData *aSteeringData)

Checks if the Steering Data is empty.

bool
otSteeringDataContainsJoinerId(const otSteeringData *aSteeringData, const otExtAddress *aJoinerId)

Checks if the Steering Data contains a Joiner ID.

bool
otSteeringDataContainsDiscerner(const otSteeringData *aSteeringData, const otJoinerDiscerner *aDiscerner)

Checks if the Steering Data contains a Joiner Discerner.

Macros#

#define
OT_STEERING_DATA_MIN_LENGTH 1

Min Steering Data length (bytes)

#define
OT_STEERING_DATA_MAX_LENGTH 16

Max Steering Data length (bytes)

Typedef Documentation#

otSteeringData#

typedef struct otSteeringData otSteeringData

Represents the steering data.


Function Documentation#

otSteeringDataInit#

otError otSteeringDataInit (otSteeringData * aSteeringData, uint8_t aLength)

Initializes the Steering Data.

Parameters
TypeDirectionArgument NameDescription
otSteeringData *[out]aSteeringData

The Steering Data to initialize.

uint8_t[in]aLength

The length of the Steering Data in bytes.


otSteeringDataIsValid#

bool otSteeringDataIsValid (const otSteeringData * aSteeringData)

Checks whether the Steering Data has a valid length.

Parameters
TypeDirectionArgument NameDescription
const otSteeringData *[in]aSteeringData

The Steering Data to check.


otSteeringDataSetToPermitAllJoiners#

void otSteeringDataSetToPermitAllJoiners (otSteeringData * aSteeringData)

Sets the Steering Data to permit all joiners.

Parameters
TypeDirectionArgument NameDescription
otSteeringData *[out]aSteeringData

The Steering Data to update.


otSteeringDataUpdateWithJoinerId#

otError otSteeringDataUpdateWithJoinerId (otSteeringData * aSteeringData, const otExtAddress * aJoinerId)

Updates the Steering Data's bloom filter with a Joiner ID.

Parameters
TypeDirectionArgument NameDescription
otSteeringData *[out]aSteeringData

The Steering Data to update.

const otExtAddress *[in]aJoinerId

The Joiner ID to add.


otSteeringDataUpdateWithDiscerner#

otError otSteeringDataUpdateWithDiscerner (otSteeringData * aSteeringData, const otJoinerDiscerner * aDiscerner)

Updates the Steering Data's bloom filter with a Joiner Discerner.

Parameters
TypeDirectionArgument NameDescription
otSteeringData *[out]aSteeringData

The Steering Data to update

const otJoinerDiscerner *[in]aDiscerner

The Joiner Discerner to add.


otSteeringDataMerge#

otError otSteeringDataMerge (otSteeringData * aSteeringData, const otSteeringData * aOtherSteeringData)

Merges two Steering Data bloom filters.

Parameters
TypeDirectionArgument NameDescription
otSteeringData *[out]aSteeringData

The Steering Data to merge into.

const otSteeringData *[in]aOtherSteeringData

The other Steering Data to merge from.

The aOtherSteeringData must have a length that is a divisor of the aSteeringData length.


otSteeringDataPermitsAllJoiners#

bool otSteeringDataPermitsAllJoiners (const otSteeringData * aSteeringData)

Checks if the Steering Data permits all joiners.

Parameters
TypeDirectionArgument NameDescription
const otSteeringData *[in]aSteeringData

The Steering Data to check.


otSteeringDataIsEmpty#

bool otSteeringDataIsEmpty (const otSteeringData * aSteeringData)

Checks if the Steering Data is empty.

Parameters
TypeDirectionArgument NameDescription
const otSteeringData *[in]aSteeringData

The Steering Data to check.


otSteeringDataContainsJoinerId#

bool otSteeringDataContainsJoinerId (const otSteeringData * aSteeringData, const otExtAddress * aJoinerId)

Checks if the Steering Data contains a Joiner ID.

Parameters
TypeDirectionArgument NameDescription
const otSteeringData *[in]aSteeringData

The Steering Data to check.

const otExtAddress *[in]aJoinerId

The Joiner ID.


otSteeringDataContainsDiscerner#

bool otSteeringDataContainsDiscerner (const otSteeringData * aSteeringData, const otJoinerDiscerner * aDiscerner)

Checks if the Steering Data contains a Joiner Discerner.

Parameters
TypeDirectionArgument NameDescription
const otSteeringData *[in]aSteeringData

The Steering Data to check.

const otJoinerDiscerner *[in]aDiscerner

The Joiner Discerner.