Сообщение

Этот модуль включает функции, которые манипулируют буферами сообщений OpenThread.

Краткое содержание

Перечисления

otMessageOrigin {
OT_MESSAGE_ORIGIN_THREAD_NETIF = 0,
OT_MESSAGE_ORIGIN_HOST_TRUSTED = 1,
OT_MESSAGE_ORIGIN_HOST_UNTRUSTED = 2
}
перечисление
Определяет источники сообщений OpenThread.
otMessagePriority {
OT_MESSAGE_PRIORITY_LOW = 0,
OT_MESSAGE_PRIORITY_NORMAL = 1,
OT_MESSAGE_PRIORITY_HIGH = 2
}
перечисление
Определяет уровни приоритета сообщений OpenThread.

Определения типов

otBufferInfo определение типа
struct otBufferInfo
Представляет информацию о буфере сообщений для различных очередей, используемых стеком OpenThread.
otMessage определение типа
struct otMessage
Непрозрачное представление буфера сообщений OpenThread.
otMessageOrigin определение типа
Определяет источники сообщений OpenThread.
otMessagePriority определение типа
Определяет уровни приоритета сообщений OpenThread.
otMessageQueueInfo определение типа
Представляет информацию об очереди сообщений.
otMessageSettings определение типа
Представляет настройки сообщения.

Функции

otMessageAppend ( otMessage *aMessage, const void *aBuf, uint16_t aLength)
Добавить байты в сообщение.
otMessageFree ( otMessage *aMessage)
void
Освободите выделенный буфер сообщений.
otMessageGetBufferInfo ( otInstance *aInstance, otBufferInfo *aBufferInfo)
void
Получите информацию о буфере сообщений.
otMessageGetLength (const otMessage *aMessage)
uint16_t
Получите длину сообщения в байтах.
otMessageGetOffset (const otMessage *aMessage)
uint16_t
Получите смещение сообщения в байтах.
otMessageGetOrigin (const otMessage *aMessage)
Получает источник сообщения.
otMessageGetRss (const otMessage *aMessage)
int8_t
Возвращает среднее значение RSS (мощность полученного сигнала), связанное с сообщением.
otMessageIsLinkSecurityEnabled (const otMessage *aMessage)
bool
Указывает, включена ли для сообщения безопасность ссылок.
otMessageIsLoopbackToHostAllowed (const otMessage *aMessage)
bool
Указывает, разрешено ли сообщение зацикливаться на хосте.
otMessageIsMulticastLoopEnabled ( otMessage *aMessage)
bool
Указывает, может ли данное сообщение быть зациклено в случае многоадресного адреса назначения.
otMessageQueueDequeue ( otMessageQueue *aQueue, otMessage *aMessage)
void
Удаляет сообщение из заданной очереди сообщений.
otMessageQueueEnqueue ( otMessageQueue *aQueue, otMessage *aMessage)
void
Добавляет сообщение в конец заданной очереди сообщений.
otMessageQueueEnqueueAtHead ( otMessageQueue *aQueue, otMessage *aMessage)
void
Добавляет сообщение в начало/начало данной очереди сообщений.
otMessageQueueGetHead ( otMessageQueue *aQueue)
Возвращает указатель на сообщение в начале очереди.
otMessageQueueGetNext ( otMessageQueue *aQueue, const otMessage *aMessage)
Возвращает указатель на следующее сообщение в очереди путем итерации вперед (от головы к хвосту).
otMessageQueueInit ( otMessageQueue *aQueue)
void
Инициализируйте очередь сообщений.
otMessageRead (const otMessage *aMessage, uint16_t aOffset, void *aBuf, uint16_t aLength)
uint16_t
Чтение байтов сообщения.
otMessageResetBufferInfo ( otInstance *aInstance)
void
Сбросьте счетчик информации о буфере сообщений, отслеживая максимальное количество одновременно используемых буферов.
otMessageSetDirectTransmission ( otMessage *aMessage, bool aEnabled)
void
Устанавливает/принудительно пересылает сообщение с использованием прямой передачи.
otMessageSetLength ( otMessage *aMessage, uint16_t aLength)
Установите длину сообщения в байтах.
otMessageSetLoopbackToHostAllowed ( otMessage *aMessage, bool aAllowLoopbackToHost)
void
Устанавливает, разрешено ли сообщение возвращаться на хост.
otMessageSetMulticastLoopEnabled ( otMessage *aMessage, bool aEnabled)
void
Определяет, может ли данное сообщение быть зациклено в случае многоадресного адреса назначения.
otMessageSetOffset ( otMessage *aMessage, uint16_t aOffset)
void
Установите смещение сообщения в байтах.
otMessageSetOrigin ( otMessage *aMessage, otMessageOrigin aOrigin)
void
Устанавливает источник сообщения.
otMessageWrite ( otMessage *aMessage, uint16_t aOffset, const void *aBuf, uint16_t aLength)
int
Запись байтов в сообщение.

Структуры

otBufferInfo

Представляет информацию о буфере сообщений для различных очередей, используемых стеком OpenThread.

отмессажекуеу

Представляет очередь сообщений OpenThread.

отмессажекуеуеинфо

Представляет информацию об очереди сообщений.

отмессажесеттингс

Представляет настройки сообщения.

Перечисления

otMessageOrigin

 otMessageOrigin

Определяет источники сообщений OpenThread.

Характеристики
OT_MESSAGE_ORIGIN_HOST_TRUSTED

Сообщение от доверенного источника на хосте.

OT_MESSAGE_ORIGIN_HOST_UNTRUSTED

Сообщение от ненадежного источника на хосте.

OT_MESSAGE_ORIGIN_THREAD_NETIF

Сообщение от темы Netif.

otMessagePriority

 otMessagePriority

Определяет уровни приоритета сообщений OpenThread.

Характеристики
OT_MESSAGE_PRIORITY_HIGH

Высокий уровень приоритета.

OT_MESSAGE_PRIORITY_LOW

Низкий уровень приоритета.

OT_MESSAGE_PRIORITY_NORMAL

Нормальный уровень приоритета.

Определения типов

otBufferInfo

struct otBufferInfo otBufferInfo

Представляет информацию о буфере сообщений для различных очередей, используемых стеком OpenThread.

otMessage

struct otMessage otMessage

Непрозрачное представление буфера сообщений OpenThread.

otMessageOrigin

enum otMessageOrigin otMessageOrigin

Определяет источники сообщений OpenThread.

otMessagePriority

enum otMessagePriority otMessagePriority

Определяет уровни приоритета сообщений OpenThread.

отмессажекуеуеинфо

struct otMessageQueueInfo otMessageQueueInfo

Представляет информацию об очереди сообщений.

отмессажесеттингс

struct otMessageSettings otMessageSettings

Представляет настройки сообщения.

Функции

отмессажеаппенд

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

Добавить байты в сообщение.

Подробности
Параметры
[in] aMessage
Указатель на буфер сообщений.
[in] aBuf
Указатель на данные для добавления.
[in] aLength
Количество байтов для добавления.
Возвращаемые значения
OT_ERROR_NONE
Успешно добавлено к сообщению
OT_ERROR_NO_BUFS
Нет доступных буферов для увеличения сообщения.
Смотрите также:
otMessageFree
отмессажежетленгс
отмессажесетленгс
отмессажежетоффсет
отмессажесетоффсет
otMessageRead
otMessageWrite

otMessageFree

void otMessageFree(
  otMessage *aMessage
)

Освободите выделенный буфер сообщений.

Подробности
Параметры
[in] aMessage
Указатель на буфер сообщений.
Смотрите также:
отмессажеаппенд
отмессажежетленгс
отмессажесетленгс
отмессажежетоффсет
отмессажесетоффсет
otMessageRead
otMessageWrite

otMessageGetBufferInfo

void otMessageGetBufferInfo(
  otInstance *aInstance,
  otBufferInfo *aBufferInfo
)

Получите информацию о буфере сообщений.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
[out] aBufferInfo
Указатель, куда записывается информация о буфере сообщений.

отмессажежетленгс

uint16_t otMessageGetLength(
  const otMessage *aMessage
)

Получите длину сообщения в байтах.

Подробности
Параметры
[in] aMessage
Указатель на буфер сообщений.
Возврат
Длина сообщения в байтах.
Смотрите также:
otMessageFree
отмессажеаппенд
отмессажесетленгс
отмессажежетоффсет
отмессажесетоффсет
otMessageRead
otMessageWrite
отмессажесетленгс

отмессажежетоффсет

uint16_t otMessageGetOffset(
  const otMessage *aMessage
)

Получите смещение сообщения в байтах.

Подробности
Параметры
[in] aMessage
Указатель на буфер сообщений.
Возврат
Значение смещения сообщения.
Смотрите также:
otMessageFree
отмессажеаппенд
отмессажежетленгс
отмессажесетленгс
отмессажесетоффсет
otMessageRead
otMessageWrite

отмессажежеторигин

otMessageOrigin otMessageGetOrigin(
  const otMessage *aMessage
)

Получает источник сообщения.

Подробности
Параметры
[in] aMessage
Указатель на буфер сообщений.
Возврат
Происхождение сообщения.

otMessageGetRss

int8_t otMessageGetRss(
  const otMessage *aMessage
)

Возвращает среднее значение RSS (мощность полученного сигнала), связанное с сообщением.

Подробности
Возврат
Среднее значение RSS (в дБм) или OT_RADIO_RSSI_INVALID, если среднее значение RSS недоступно.

отмессажеислинксекуритиенаблед

bool otMessageIsLinkSecurityEnabled(
  const otMessage *aMessage
)

Указывает, включена ли для сообщения безопасность ссылок.

Подробности
Параметры
[in] aMessage
Указатель на буфер сообщений.
Возвращаемые значения
TRUE
Если включена безопасность ссылок.
FALSE
Если безопасность ссылок не включена.

otMessageIsLoopbackToHostAllowed

bool otMessageIsLoopbackToHostAllowed(
  const otMessage *aMessage
)

Указывает, разрешено ли сообщение зацикливаться на хосте.

Подробности
Параметры
[in] aMessage
Указатель на буфер сообщений.
Возвращаемые значения
TRUE
Если сообщение разрешено зациклить обратно на хост.
FALSE
Если сообщение не может быть возвращено обратно на хост.

otMessageIsMulticastLoopEnabled

bool otMessageIsMulticastLoopEnabled(
  otMessage *aMessage
)

Указывает, может ли данное сообщение быть зациклено в случае многоадресного адреса назначения.

Если aMessage используется вместе с otMessageInfo , поле mMulticastLoop из структуры otMessageInfo имеет приоритет и будет использоваться вместо значения, установленного в aMessage .

Этот API в основном предназначен для использования вместе с otIp6Send() , который ожидает уже подготовленное сообщение IPv6.

Подробности
Параметры
[in] aMessage
Указатель на сообщение.

отмессажекуеудекеуе

void otMessageQueueDequeue(
  otMessageQueue *aQueue,
  otMessage *aMessage
)

Удаляет сообщение из заданной очереди сообщений.

Подробности
Параметры
[in] aQueue
Указатель на очередь сообщений.
[in] aMessage
Сообщение, которое нужно удалить.

otMessageQueueEnqueue

void otMessageQueueEnqueue(
  otMessageQueue *aQueue,
  otMessage *aMessage
)

Добавляет сообщение в конец заданной очереди сообщений.

Подробности
Параметры
[in] aQueue
Указатель на очередь сообщений.
[in] aMessage
Сообщение, которое нужно добавить.

otMessageQueueEnqueueAtHead

void otMessageQueueEnqueueAtHead(
  otMessageQueue *aQueue,
  otMessage *aMessage
)

Добавляет сообщение в начало/начало данной очереди сообщений.

Подробности
Параметры
[in] aQueue
Указатель на очередь сообщений.
[in] aMessage
Сообщение, которое нужно добавить.

отмессажекуеужетхед

otMessage * otMessageQueueGetHead(
  otMessageQueue *aQueue
)

Возвращает указатель на сообщение в начале очереди.

Подробности
Параметры
[in] aQueue
Указатель на очередь сообщений.
Возврат
Указатель на сообщение в начале очереди или NULL, если очередь пуста.

отмессажекуеужетнекст

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

Возвращает указатель на следующее сообщение в очереди путем итерации вперед (от головы к хвосту).

Подробности
Параметры
[in] aQueue
Указатель на очередь сообщений.
[in] aMessage
Указатель на текущий буфер сообщений.
Возврат
Указатель на следующее сообщение в очереди после aMessage или NULL, если aMessage is the tail of queue. NULL is returned if сообщение aMessage is not in the queue aQueue`.

отмессажекуеуеинит

void otMessageQueueInit(
  otMessageQueue *aQueue
)

Инициализируйте очередь сообщений.

ДОЛЖЕН вызываться один и только один раз для экземпляра otMessageQueue перед любыми другими функциями otMessageQueue . Поведение не определено, если другие API очередей используются с otMessageQueue до его инициализации или если он инициализируется более одного раза.

Подробности
Параметры
[in] aQueue
Указатель на очередь сообщений.

otMessageRead

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

Чтение байтов сообщения.

Подробности
Параметры
[in] aMessage
Указатель на буфер сообщений.
[in] aOffset
Смещение в байтах.
[in] aBuf
Указатель на буфер, в который считываются байты сообщения.
[in] aLength
Количество байтов для чтения.
Возврат
Количество прочитанных байт.
Смотрите также:
otMessageFree
отмессажеаппенд
отмессажежетленгс
отмессажесетленгс
отмессажежетоффсет
отмессажесетоффсет
otMessageWrite

отмессажересетбуферинфо

void otMessageResetBufferInfo(
  otInstance *aInstance
)

Сбросьте счетчик информации о буфере сообщений, отслеживая максимальное количество одновременно используемых буферов.

Это сбрасывает mMaxUsedBuffers в otBufferInfo .

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.

отмессажесетдиректтрансмиссион

void otMessageSetDirectTransmission(
  otMessage *aMessage,
  bool aEnabled
)

Устанавливает/принудительно пересылает сообщение с использованием прямой передачи.

По умолчанию для нового сообщения установлено значение false .

Подробности
Параметры
[in] aMessage
Указатель на буфер сообщений.
[in] aEnabled
Если true , сообщение вынуждено использовать прямую передачу. Если false , сообщение следует обычной процедуре.

отмессажесетленгс

otError otMessageSetLength(
  otMessage *aMessage,
  uint16_t aLength
)

Установите длину сообщения в байтах.

Подробности
Параметры
[in] aMessage
Указатель на буфер сообщений.
[in] aLength
Длина в байтах.
Возвращаемые значения
OT_ERROR_NONE
Длина сообщения успешно установлена.
OT_ERROR_NO_BUFS
Нет доступных буферов для увеличения сообщения.
Смотрите также:
otMessageFree
отмессажеаппенд
отмессажежетленгс
отмессажежетоффсет
отмессажесетоффсет
otMessageRead
otMessageWrite

otMessageSetLoopbackToHostAllowed

void otMessageSetLoopbackToHostAllowed(
  otMessage *aMessage,
  bool aAllowLoopbackToHost
)

Устанавливает, разрешено ли сообщение возвращаться на хост.

Подробности
Параметры
[in] aMessage
Указатель на буфер сообщений.
[in] aAllowLoopbackToHost
Разрешить ли возврат сообщения на хост.

отмессажесетмултикастлоопенаблед

void otMessageSetMulticastLoopEnabled(
  otMessage *aMessage,
  bool aEnabled
)

Определяет, может ли данное сообщение быть зациклено в случае многоадресного адреса назначения.

Подробности
Параметры
[in] aMessage
Указатель на сообщение.
[in] aEnabled
Значение конфигурации.

отмессажесетоффсет

void otMessageSetOffset(
  otMessage *aMessage,
  uint16_t aOffset
)

Установите смещение сообщения в байтах.

Подробности
Параметры
[in] aMessage
Указатель на буфер сообщений.
[in] aOffset
Смещение в байтах.
Смотрите также:
otMessageFree
отмессажеаппенд
отмессажежетленгс
отмессажесетленгс
отмессажежетоффсет
otMessageRead
otMessageWrite

отмессажесеторигин

void otMessageSetOrigin(
  otMessage *aMessage,
  otMessageOrigin aOrigin
)

Устанавливает источник сообщения.

Подробности
Параметры
[in] aMessage
Указатель на буфер сообщений.
[in] aOrigin
Происхождение сообщения.

otMessageWrite

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

Запись байтов в сообщение.

Подробности
Параметры
[in] aMessage
Указатель на буфер сообщений.
[in] aOffset
Смещение в байтах.
[in] aBuf
Указатель на буфер, из которого записываются байты сообщения.
[in] aLength
Количество байтов для записи.
Возврат
Количество записанных байт.
Смотрите также:
otMessageFree
отмессажеаппенд
отмессажежетленгс
отмессажесетленгс
отмессажежетоффсет
отмессажесетоффсет
otMessageRead

Ресурсы

Справочные разделы API OpenThread взяты из исходного кода, доступного на GitHub . Для получения дополнительной информации или внесения вклада в нашу документацию обратитесь к Ресурсам .