Message

This module includes functions that manipulate OpenThread message buffers.

Classes

struct otMessageSettings
This structure represents a message settings.
struct otMessageQueue
This structure represents an OpenThread message queue.
struct otMessageQueueInfo
This structure represents information about a message queue.
struct otBufferInfo
This structure represents the message buffer information for different queues used by OpenThread stack.

Typedefs

typedef struct otMessage otMessage
This type is an opaque representation of an OpenThread message buffer.
typedef enum otMessagePriority otMessagePriority
This enumeration defines the OpenThread message priority levels.
typedef struct otMessageSettings otMessageSettings
This structure represents a message settings.
typedef struct otMessageQueueInfo otMessageQueueInfo
This structure represents information about a message queue.
typedef struct otBufferInfo otBufferInfo
This structure represents the message buffer information for different queues used by OpenThread stack.

Enumerations

enum otMessagePriority {
OT_MESSAGE_PRIORITY_LOW = 0,
OT_MESSAGE_PRIORITY_NORMAL = 1,
OT_MESSAGE_PRIORITY_HIGH = 2
}
This enumeration defines the OpenThread message priority levels.

Functions

void otMessageFree ( otMessage *aMessage)
Free an allocated message buffer.
uint16_t otMessageGetLength (const otMessage *aMessage)
Get the message length in bytes.
otError 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)
This function indicates whether or not link security is enabled for the message.
void otMessageSetDirectTransmission ( otMessage *aMessage, bool aEnabled)
This function sets/forces the message to be forwarded using direct transmission.
int8_t otMessageGetRss (const otMessage *aMessage)
This function returns the average RSS (received signal strength) associated with the message.
otError 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)
This function adds a message to the end of the given message queue.
void otMessageQueueEnqueueAtHead ( otMessageQueue *aQueue, otMessage *aMessage)
This function adds a message at the head/front of the given message queue.
void otMessageQueueDequeue ( otMessageQueue *aQueue, otMessage *aMessage)
This function removes a message from the given message queue.
otMessage * otMessageQueueGetHead ( otMessageQueue *aQueue)
This function returns a pointer to the message at the head of the queue.
otMessage * otMessageQueueGetNext ( otMessageQueue *aQueue, const otMessage *aMessage)
This function 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.

Detailed Description

This module includes functions that manipulate OpenThread message buffers.

Enumeration Type Documentation

otMessagePriority

This enumeration 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.

Function Documentation

otMessageAppend()

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

Append bytes to a message.

Parameters
[in] aMessage A pointer to a message buffer.
[in] aBuf A pointer to the data to append.
[in] aLength Number of bytes to append.
Return values
OT_ERROR_NONE Successfully appended to the message
OT_ERROR_NO_BUFS No available buffers to grow the message.
See also
otMessageFree
otMessageGetLength
otMessageSetLength
otMessageGetOffset
otMessageSetOffset
otMessageRead
otMessageWrite

otMessageFree()

void otMessageFree ( otMessage * aMessage )

Free an allocated message buffer.

Parameters
[in] aMessage A pointer to a message buffer.
See also
otMessageAppend
otMessageGetLength
otMessageSetLength
otMessageGetOffset
otMessageSetOffset
otMessageRead
otMessageWrite

otMessageGetBufferInfo()

void otMessageGetBufferInfo ( otInstance * aInstance,
otBufferInfo * aBufferInfo
)

Get the Message Buffer information.

Parameters
[in] aInstance A pointer to the OpenThread instance.
[out] aBufferInfo A pointer where the message buffer information is written.

otMessageGetLength()

uint16_t otMessageGetLength ( const otMessage * aMessage )

Get the message length in bytes.

Parameters
[in] aMessage A pointer to a message buffer.
Returns
The message length in bytes.
See also
otMessageFree
otMessageAppend
otMessageSetLength
otMessageGetOffset
otMessageSetOffset
otMessageRead
otMessageWrite
otMessageSetLength

otMessageGetOffset()

uint16_t otMessageGetOffset ( const otMessage * aMessage )

Get the message offset in bytes.

Parameters
[in] aMessage A pointer to a message buffer.
Returns
The message offset value.
See also
otMessageFree
otMessageAppend
otMessageGetLength
otMessageSetLength
otMessageSetOffset
otMessageRead
otMessageWrite

otMessageGetRss()

int8_t otMessageGetRss ( const otMessage * aMessage )

This function returns the average RSS (received signal strength) associated with the message.

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

otMessageIsLinkSecurityEnabled()

bool otMessageIsLinkSecurityEnabled ( const otMessage * aMessage )

This function indicates whether or not link security is enabled for the message.

Parameters
[in] aMessage A pointer to a message buffer.
Return values
TRUE If link security is enabled.
FALSE If link security is not enabled.

otMessageQueueDequeue()

void otMessageQueueDequeue ( otMessageQueue * aQueue,
otMessage * aMessage
)

This function removes a message from the given message queue.

Parameters
[in] aQueue A pointer to the message queue.
[in] aMessage The message to remove.

otMessageQueueEnqueue()

void otMessageQueueEnqueue ( otMessageQueue * aQueue,
otMessage * aMessage
)

This function adds a message to the end of the given message queue.

Parameters
[in] aQueue A pointer to the message queue.
[in] aMessage The message to add.

otMessageQueueEnqueueAtHead()

void otMessageQueueEnqueueAtHead ( otMessageQueue * aQueue,
otMessage * aMessage
)

This function adds a message at the head/front of the given message queue.

Parameters
[in] aQueue A pointer to the message queue.
[in] aMessage The message to add.

otMessageQueueGetHead()

otMessage * otMessageQueueGetHead ( otMessageQueue * aQueue )

This function returns a pointer to the message at the head of the queue.

Parameters
[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
)

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

Parameters
[in] aQueue A pointer to a message queue.
[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 if aMessage is not in the queue aQueue`.

otMessageQueueInit()

void otMessageQueueInit ( otMessageQueue * aQueue )

Initialize the message queue.

This function 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.

Parameters
[in] aQueue A pointer to a message queue.

otMessageRead()

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

Read bytes from a message.

Parameters
[in] aMessage A pointer to a message buffer.
[in] aOffset An offset in bytes.
[in] aBuf A pointer to a buffer that message bytes are read to.
[in] aLength Number of bytes to read.
Returns
The number of bytes read.
See also
otMessageFree
otMessageAppend
otMessageGetLength
otMessageSetLength
otMessageGetOffset
otMessageSetOffset
otMessageWrite

otMessageSetDirectTransmission()

void otMessageSetDirectTransmission ( otMessage * aMessage,
bool aEnabled
)

This function sets/forces the message to be forwarded using direct transmission.

Default setting for a new message is false .

Parameters
[in] aMessage A pointer to a message buffer.
[in] aEnabled If true , the message is forced to use direct transmission. If false , the message follows the normal procedure.

otMessageSetLength()

otError otMessageSetLength ( otMessage * aMessage,
uint16_t aLength
)

Set the message length in bytes.

Parameters
[in] aMessage A pointer to a message buffer.
[in] aLength A length in bytes.
Return values
OT_ERROR_NONE Successfully set the message length.
OT_ERROR_NO_BUFS No available buffers to grow the message.
See also
otMessageFree
otMessageAppend
otMessageGetLength
otMessageGetOffset
otMessageSetOffset
otMessageRead
otMessageWrite

otMessageSetOffset()

void otMessageSetOffset ( otMessage * aMessage,
uint16_t aOffset
)

Set the message offset in bytes.

Parameters
[in] aMessage A pointer to a message buffer.
[in] aOffset An offset in bytes.
See also
otMessageFree
otMessageAppend
otMessageGetLength
otMessageSetLength
otMessageGetOffset
otMessageRead
otMessageWrite

otMessageWrite()

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

Write bytes to a message.

Parameters
[in] aMessage A pointer to a message buffer.
[in] aOffset An offset in bytes.
[in] aBuf A pointer to a buffer that message bytes are written from.
[in] aLength Number of bytes to write.
Returns
The number of bytes written.
See also
otMessageFree
otMessageAppend
otMessageGetLength
otMessageSetLength
otMessageGetOffset
otMessageSetOffset
otMessageRead