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

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

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

Магистральный интерфейс.

OT_NETIF_THREAD

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

OT_NETIF_UNSPECIFIED

Неопределенный сетевой интерфейс.

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

отнетифидентифиер

enum otNetifIdentifier otNetifIdentifier

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

отУдпхандлер

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.

Функции

отудпаддрекивер

otError otUdpAddReceiver(
  otInstance *aInstance,
  otUdpReceiver *aUdpReceiver
)

Добавляет UDP-приемник.

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

отУдпбинд

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.

отудпжетсокетс

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
Не удалось открыть сокет.

отудпремовецепивер

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.

отудпсенддатаграмм

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.
OT_ERROR_INVALID_ARGS
Приведены неверные аргументы.

Ресурсы

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