UDP

Этот модуль включает в себя функции, управляющие UDP-связью.

Резюме

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

otNetifIdentifier {
OT_NETIF_UNSPECIFIED = 0,
OT_NETIF_THREAD ,
OT_NETIF_BACKBONE
}
перечисление
Это перечисление определяет идентификаторы сетевого интерфейса OpenThread.

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

otNetifIdentifier определение типа
Это перечисление определяет идентификаторы сетевого интерфейса OpenThread.
otUdpHandler )(void *aContext, const otMessage *aMessage, const otMessageInfo *aMessageInfo) определение типа
bool(*
Этот обратный вызов позволяет OpenThread предоставлять определенные обработчики для определенных сообщений UDP.
otUdpReceive )(void *aContext, otMessage *aMessage, const otMessageInfo *aMessageInfo) определение типа
void(*
Этот обратный вызов позволяет OpenThread информировать приложение о полученном сообщении UDP.
otUdpReceiver определение типа
Эта структура представляет получателя UDP.
otUdpSocket определение типа
struct otUdpSocket
Эта структура представляет сокет UDP.

Функции

otUdpAddReceiver ( otInstance *aInstance, otUdpReceiver *aUdpReceiver)
Эта функция добавляет приемник UDP.
otUdpBind ( otInstance *aInstance, otUdpSocket *aSocket, const otSockAddr *aSockName, otNetifIdentifier aNetif)
Привязать сокет UDP/IPv6.
otUdpClose ( otInstance *aInstance, otUdpSocket *aSocket)
Закройте сокет UDP/IPv6.
otUdpConnect ( otInstance *aInstance, otUdpSocket *aSocket, const otSockAddr *aSockName)
Подключите сокет UDP/IPv6.
otUdpGetSockets ( otInstance *aInstance)
Эта функция получает заголовок связанного списка сокетов UDP.
otUdpIsOpen ( otInstance *aInstance, const otUdpSocket *aSocket)
bool
Проверьте, открыт ли сокет UDP.
otUdpNewMessage ( otInstance *aInstance, const otMessageSettings *aSettings)
Выделите новый буфер сообщений для отправки сообщения UDP.
otUdpOpen ( otInstance *aInstance, otUdpSocket *aSocket, otUdpReceive aCallback, void *aContext)
Откройте сокет UDP/IPv6.
otUdpRemoveReceiver ( otInstance *aInstance, otUdpReceiver *aUdpReceiver)
Эта функция удаляет UDP-приемник.
otUdpSend ( otInstance *aInstance, otUdpSocket *aSocket, otMessage *aMessage, const otMessageInfo *aMessageInfo)
Отправьте сообщение UDP/IPv6.
otUdpSendDatagram ( otInstance *aInstance, otMessage *aMessage, otMessageInfo *aMessageInfo)
Эта функция отправляет сообщение UDP без сокета.

Структуры

otUdpReceiver

Эта структура представляет получателя UDP.

отудпсокет

Эта структура представляет сокет UDP.

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

otNetifIdentifier

 otNetifIdentifier

Это перечисление определяет идентификаторы сетевого интерфейса OpenThread.

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

Интерфейс магистрали.

OT_NETIF_THREAD

Интерфейс потока.

OT_NETIF_UNSPECIFIED

Не указан сетевой интерфейс.

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

otNetifIdentifier

enum otNetifIdentifier otNetifIdentifier

Это перечисление определяет идентификаторы сетевого интерфейса OpenThread.

otUdpHandler

bool(* otUdpHandler)(void *aContext, const otMessage *aMessage, const otMessageInfo *aMessageInfo)

Этот обратный вызов позволяет OpenThread предоставлять определенные обработчики для определенных сообщений UDP.

Подробности
Возвращаемые значения
true
Сообщение обрабатывается этим получателем и не должно подвергаться дальнейшей обработке.
false
Сообщение не обрабатывается этим получателем.

otUdpReceive

void(* otUdpReceive)(void *aContext, otMessage *aMessage, const otMessageInfo *aMessageInfo)

Этот обратный вызов позволяет OpenThread информировать приложение о полученном сообщении UDP.

otUdpReceiver

struct otUdpReceiver otUdpReceiver

Эта структура представляет получателя UDP.

отудпсокет

struct otUdpSocket otUdpSocket

Эта структура представляет сокет UDP.

Функции

otUdpAddReceiver

otError otUdpAddReceiver(
  otInstance *aInstance,
  otUdpReceiver *aUdpReceiver
)

Эта функция добавляет приемник UDP.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
[in] aUdpReceiver
Указатель на получатель UDP.
Возвращаемые значения
OT_ERROR_NONE
Получатель успешно добавлен.
OT_ERROR_ALREADY
Приемник UDP уже добавлен.

otUdpBind

otError otUdpBind(
  otInstance *aInstance,
  otUdpSocket *aSocket,
  const otSockAddr *aSockName,
  otNetifIdentifier aNetif
)

Привязать сокет UDP/IPv6.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
[in] aSocket
Указатель на структуру сокета UDP.
[in] aSockName
Указатель на структуру адреса сокета IPv6.
[in] aNetif
Сетевой интерфейс для привязки.
Возвращаемые значения
OT_ERROR_NONE
Операция привязки прошла успешно.
OT_ERROR_FAILED
Не удалось привязать сокет UDP.

otUdpClose

otError otUdpClose(
  otInstance *aInstance,
  otUdpSocket *aSocket
)

Закройте сокет UDP/IPv6.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
[in] aSocket
Указатель на структуру сокета UDP.
Возвращаемые значения
OT_ERROR_NONE
Сокет успешно закрыт.
OT_ERROR_FAILED
Не удалось закрыть сокет UDP.

отудпконнект

otError otUdpConnect(
  otInstance *aInstance,
  otUdpSocket *aSocket,
  const otSockAddr *aSockName
)

Подключите сокет UDP/IPv6.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
[in] aSocket
Указатель на структуру сокета UDP.
[in] aSockName
Указатель на структуру адреса сокета IPv6.
Возвращаемые значения
OT_ERROR_NONE
Операция подключения прошла успешно.
OT_ERROR_FAILED
Не удалось подключить сокет UDP.

otUdpGetSockets

otUdpSocket * otUdpGetSockets(
  otInstance *aInstance
)

Эта функция получает заголовок связанного списка сокетов UDP.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
Возвращает
Указатель на начало связанного списка UDP-сокетов.

otUdpIsOpen

bool otUdpIsOpen(
  otInstance *aInstance,
  const otUdpSocket *aSocket
)

Проверьте, открыт ли сокет UDP.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
[in] aSocket
Указатель на структуру сокета UDP.
Возвращает
Открыт ли сокет UDP.

otUdpNewMessage

otMessage * otUdpNewMessage(
  otInstance *aInstance,
  const otMessageSettings *aSettings
)

Выделите новый буфер сообщений для отправки сообщения UDP.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
[in] aSettings
Указатель на настройки сообщения или NULL для использования настроек по умолчанию.
Возвращает
Указатель на буфер сообщений или NULL, если буферы сообщений недоступны или параметры недействительны.
Смотрите также:
otMessageFree

otUdpOpen

otError otUdpOpen(
  otInstance *aInstance,
  otUdpSocket *aSocket,
  otUdpReceive aCallback,
  void *aContext
)

Откройте сокет UDP/IPv6.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
[in] aSocket
Указатель на структуру сокета UDP.
[in] aCallback
Указатель на функцию обратного вызова приложения.
[in] aContext
Указатель на контекст конкретного приложения.
Возвращаемые значения
OT_ERROR_NONE
Успешно открыл сокет.
OT_ERROR_FAILED
Не удалось открыть сокет.

otUdpRemoveReceiver

otError otUdpRemoveReceiver(
  otInstance *aInstance,
  otUdpReceiver *aUdpReceiver
)

Эта функция удаляет UDP-приемник.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
[in] aUdpReceiver
Указатель на получатель UDP.
Возвращаемые значения
OT_ERROR_NONE
Ресивер успешно удален.
OT_ERROR_NOT_FOUND
Приемник UDP не был добавлен.

otUdpSend

otError otUdpSend(
  otInstance *aInstance,
  otUdpSocket *aSocket,
  otMessage *aMessage,
  const otMessageInfo *aMessageInfo
)

Отправьте сообщение UDP/IPv6.

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

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
[in] aSocket
Указатель на структуру сокета UDP.
[in] aMessage
Указатель на буфер сообщений.
[in] aMessageInfo
Указатель на информационную структуру сообщения.

Подробности
Возвращаемые значения
OT_ERROR_NONE
Сообщение успешно запланировано для отправки.
OT_ERROR_INVALID_ARGS
Приведены неверные аргументы.
OT_ERROR_NO_BUFS
Недостаточно доступного буфера для добавления заголовков UDP и IPv6.

otUdpSendDatagram

otError otUdpSendDatagram(
  otInstance *aInstance,
  otMessage *aMessage,
  otMessageInfo *aMessageInfo
)

Эта функция отправляет сообщение UDP без сокета.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
[in] aMessage
Указатель на сообщение без заголовка UDP.
[in] aMessageInfo
Указатель на информацию о сообщении, связанную с aMessage .
Возвращаемые значения
OT_ERROR_NONE
Сообщение успешно поставлено в очередь на выходной интерфейс.
OT_ERROR_NO_BUFS
Недостаточно доступного буфера для добавления заголовков IPv6.

Ресурсы

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