Message#

This module includes functions that manipulate OpenThread message buffers.

Modules#

otMessageSettings

otMessageQueue

otMessageQueueInfo

otBufferInfo

Enumerations#

enum
OT_MESSAGE_PRIORITY_LOW = 0
OT_MESSAGE_PRIORITY_NORMAL = 1
OT_MESSAGE_PRIORITY_HIGH = 2
}

Defines the OpenThread message priority levels.

Typedefs#

typedef struct otMessage

An opaque representation of an OpenThread message buffer.

typedef enum otMessagePriority

Defines the OpenThread message priority levels.

typedef struct otMessageSettings

Represents a message settings.

typedef struct otMessageQueueInfo

Represents information about a message queue.

typedef struct otBufferInfo

Represents the message buffer information for different queues used by OpenThread stack.

Functions#

void
otMessageFree(otMessage *aMessage)

Free an allocated message buffer.

uint16_t
otMessageGetLength(const otMessage *aMessage)

Get the message length in bytes.

otMessageSetLength(otMessage *aMessage, uint16_t aLength)

Set the message length in bytes.

uint16_t
otMessageGetOffset(const otMessage *aMessage)

Get the message offset in bytes.

void
otMessageSetOffset(otMessage *aMessage, uint16_t aOffset)

Set the message offset in bytes.

bool
otMessageIsLinkSecurityEnabled(const otMessage *aMessage)

Indicates whether or not link security is enabled for the message.

void
otMessageSetDirectTransmission(otMessage *aMessage, bool aEnabled)

Sets/forces the message to be forwarded using direct transmission.

int8_t
otMessageGetRss(const otMessage *aMessage)

Returns the average RSS (received signal strength) associated with the message.

otMessageAppend(otMessage *aMessage, const void *aBuf, uint16_t aLength)

Append bytes to a message.

uint16_t
otMessageRead(const otMessage *aMessage, uint16_t aOffset, void *aBuf, uint16_t aLength)

Read bytes from a message.

int
otMessageWrite(otMessage *aMessage, uint16_t aOffset, const void *aBuf, uint16_t aLength)

Write bytes to a message.

void
otMessageQueueInit(otMessageQueue *aQueue)

Initialize the message queue.

void
otMessageQueueEnqueue(otMessageQueue *aQueue, otMessage *aMessage)

Adds a message to the end of the given message queue.

void
otMessageQueueEnqueueAtHead(otMessageQueue *aQueue, otMessage *aMessage)

Adds a message at the head/front of the given message queue.

void
otMessageQueueDequeue(otMessageQueue *aQueue, otMessage *aMessage)

Removes a message from the given message queue.

otMessageQueueGetHead(otMessageQueue *aQueue)

Returns a pointer to the message at the head of the queue.

otMessageQueueGetNext(otMessageQueue *aQueue, const otMessage *aMessage)

Returns a pointer to the next message in the queue by iterating forward (from head to tail).

void
otMessageGetBufferInfo(otInstance *aInstance, otBufferInfo *aBufferInfo)

Get the Message Buffer information.

void
otMessageResetBufferInfo(otInstance *aInstance)

Reset the Message Buffer information counter tracking the maximum number buffers in use at the same time.

Enumeration Documentation#

otMessagePriority#

otMessagePriority

Defines the OpenThread message priority levels.

Enumerator
OT_MESSAGE_PRIORITY_LOW

Low priority level.

OT_MESSAGE_PRIORITY_NORMAL

Normal priority level.

OT_MESSAGE_PRIORITY_HIGH

High priority level.


Typedef Documentation#

otMessage#

typedef struct otMessage otMessage

An opaque representation of an OpenThread message buffer.


otMessagePriority#

typedef enum otMessagePriority otMessagePriority

Defines the OpenThread message priority levels.


otMessageSettings#

typedef struct otMessageSettings otMessageSettings

Represents a message settings.


otMessageQueueInfo#

typedef struct otMessageQueueInfo otMessageQueueInfo

Represents information about a message queue.


otBufferInfo#

typedef struct otBufferInfo otBufferInfo

Represents the message buffer information for different queues used by OpenThread stack.


Function Documentation#

otMessageFree#

void otMessageFree (otMessage * aMessage)

Free an allocated message buffer.

Parameters
TypeDirectionArgument NameDescription
otMessage *[in]aMessage

A pointer to a message buffer.

See Also


otMessageGetLength#

uint16_t otMessageGetLength (const otMessage * aMessage)

Get the message length in bytes.

Parameters
TypeDirectionArgument NameDescription
const otMessage *[in]aMessage

A pointer to a message buffer.

Returns

  • The message length in bytes.

See Also


otMessageSetLength#

otError otMessageSetLength (otMessage * aMessage, uint16_t aLength)

Set the message length in bytes.

Parameters
TypeDirectionArgument NameDescription
otMessage *[in]aMessage

A pointer to a message buffer.

uint16_t[in]aLength

A length in bytes.

See Also


otMessageGetOffset#

uint16_t otMessageGetOffset (const otMessage * aMessage)

Get the message offset in bytes.

Parameters
TypeDirectionArgument NameDescription
const otMessage *[in]aMessage

A pointer to a message buffer.

Returns

  • The message offset value.

See Also


otMessageSetOffset#

void otMessageSetOffset (otMessage * aMessage, uint16_t aOffset)

Set the message offset in bytes.

Parameters
TypeDirectionArgument NameDescription
otMessage *[in]aMessage

A pointer to a message buffer.

uint16_t[in]aOffset

An offset in bytes.

See Also


otMessageIsLinkSecurityEnabled#

bool otMessageIsLinkSecurityEnabled (const otMessage * aMessage)

Indicates whether or not link security is enabled for the message.

Parameters
TypeDirectionArgument NameDescription
const otMessage *[in]aMessage

A pointer to a message buffer.


otMessageSetDirectTransmission#

void otMessageSetDirectTransmission (otMessage * aMessage, bool aEnabled)

Sets/forces the message to be forwarded using direct transmission.

Parameters
TypeDirectionArgument NameDescription
otMessage *[in]aMessage

A pointer to a message buffer.

bool[in]aEnabled

If true, the message is forced to use direct transmission. If false, the message follows the normal procedure.

Default setting for a new message is false.


otMessageGetRss#

int8_t otMessageGetRss (const otMessage * aMessage)

Returns the average RSS (received signal strength) associated with the message.

Parameters
TypeDirectionArgument NameDescription
const otMessage *N/AaMessage

Returns

  • The average RSS value (in dBm) or OT_RADIO_RSSI_INVALID if no average RSS is available.


otMessageAppend#

otError otMessageAppend (otMessage * aMessage, const void * aBuf, uint16_t aLength)

Append bytes to a message.

Parameters
TypeDirectionArgument NameDescription
otMessage *[in]aMessage

A pointer to a message buffer.

const void *[in]aBuf

A pointer to the data to append.

uint16_t[in]aLength

Number of bytes to append.

See Also


otMessageRead#

uint16_t otMessageRead (const otMessage * aMessage, uint16_t aOffset, void * aBuf, uint16_t aLength)

Read bytes from a message.

Parameters
TypeDirectionArgument NameDescription
const otMessage *[in]aMessage

A pointer to a message buffer.

uint16_t[in]aOffset

An offset in bytes.

void *[in]aBuf

A pointer to a buffer that message bytes are read to.

uint16_t[in]aLength

Number of bytes to read.

Returns

  • The number of bytes read.

See Also


otMessageWrite#

int otMessageWrite (otMessage * aMessage, uint16_t aOffset, const void * aBuf, uint16_t aLength)

Write bytes to a message.

Parameters
TypeDirectionArgument NameDescription
otMessage *[in]aMessage

A pointer to a message buffer.

uint16_t[in]aOffset

An offset in bytes.

const void *[in]aBuf

A pointer to a buffer that message bytes are written from.

uint16_t[in]aLength

Number of bytes to write.

Returns

  • The number of bytes written.

See Also


otMessageQueueInit#

void otMessageQueueInit (otMessageQueue * aQueue)

Initialize the message queue.

Parameters
TypeDirectionArgument NameDescription
otMessageQueue *[in]aQueue

A pointer to a message queue.

MUST be called once and only once for a otMessageQueue instance before any other otMessageQueue functions. The behavior is undefined if other queue APIs are used with an otMessageQueue before it being initialized or if it is initialized more than once.


otMessageQueueEnqueue#

void otMessageQueueEnqueue (otMessageQueue * aQueue, otMessage * aMessage)

Adds a message to the end of the given message queue.

Parameters
TypeDirectionArgument NameDescription
otMessageQueue *[in]aQueue

A pointer to the message queue.

otMessage *[in]aMessage

The message to add.


otMessageQueueEnqueueAtHead#

void otMessageQueueEnqueueAtHead (otMessageQueue * aQueue, otMessage * aMessage)

Adds a message at the head/front of the given message queue.

Parameters
TypeDirectionArgument NameDescription
otMessageQueue *[in]aQueue

A pointer to the message queue.

otMessage *[in]aMessage

The message to add.


otMessageQueueDequeue#

void otMessageQueueDequeue (otMessageQueue * aQueue, otMessage * aMessage)

Removes a message from the given message queue.

Parameters
TypeDirectionArgument NameDescription
otMessageQueue *[in]aQueue

A pointer to the message queue.

otMessage *[in]aMessage

The message to remove.


otMessageQueueGetHead#

otMessage * otMessageQueueGetHead (otMessageQueue * aQueue)

Returns a pointer to the message at the head of the queue.

Parameters
TypeDirectionArgument NameDescription
otMessageQueue *[in]aQueue

A pointer to a message queue.

Returns

  • A pointer to the message at the head of queue or NULL if queue is empty.


otMessageQueueGetNext#

otMessage * otMessageQueueGetNext (otMessageQueue * aQueue, const otMessage * aMessage)

Returns a pointer to the next message in the queue by iterating forward (from head to tail).

Parameters
TypeDirectionArgument NameDescription
otMessageQueue *[in]aQueue

A pointer to a message queue.

const otMessage *[in]aMessage

A pointer to current message buffer.

Returns

  • A pointer to the next message in the queue after aMessage or NULL if aMessage is the tail of queue. NULL is returned ifaMessageis not in the queueaQueue`.


otMessageGetBufferInfo#

void otMessageGetBufferInfo (otInstance * aInstance, otBufferInfo * aBufferInfo)

Get the Message Buffer information.

Parameters
TypeDirectionArgument NameDescription
otInstance *[in]aInstance

A pointer to the OpenThread instance.

otBufferInfo *[out]aBufferInfo

A pointer where the message buffer information is written.


otMessageResetBufferInfo#

void otMessageResetBufferInfo (otInstance * aInstance)

Reset the Message Buffer information counter tracking the maximum number buffers in use at the same time.

Parameters
TypeDirectionArgument NameDescription
otInstance *[in]aInstance

A pointer to the OpenThread instance.

This resets mMaxUsedBuffers in otBufferInfo.