ICMPv6

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

Резюме

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

otIcmp6Code {
OT_ICMP6_CODE_DST_UNREACH_NO_ROUTE = 0,
OT_ICMP6_CODE_FRAGM_REAS_TIME_EX = 1
}
перечисление
Коды сообщений ICMPv6.
otIcmp6EchoMode {
OT_ICMP6_ECHO_HANDLER_DISABLED = 0,
OT_ICMP6_ECHO_HANDLER_UNICAST_ONLY = 1,
OT_ICMP6_ECHO_HANDLER_MULTICAST_ONLY = 2,
OT_ICMP6_ECHO_HANDLER_ALL = 3
}
перечисление
Режимы эхо-ответа ICMPv6.
otIcmp6Type {
OT_ICMP6_TYPE_DST_UNREACH = 1,
OT_ICMP6_TYPE_PACKET_TO_BIG = 2,
OT_ICMP6_TYPE_TIME_EXCEEDED = 3,
OT_ICMP6_TYPE_PARAMETER_PROBLEM = 4,
OT_ICMP6_TYPE_ECHO_REQUEST = 128,
OT_ICMP6_TYPE_ECHO_REPLY = 129,
OT_ICMP6_TYPE_ROUTER_SOLICIT = 133,
OT_ICMP6_TYPE_ROUTER_ADVERT = 134
}
перечисление
Типы сообщений ICMPv6.

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

otIcmp6Code определение типа
Коды сообщений ICMPv6.
otIcmp6EchoMode определение типа
Режимы эхо-ответа ICMPv6.
otIcmp6Handler определение типа
Эта структура реализует обработчик сообщений ICMPv6.
otIcmp6Header определение типа
Этот тип представляет заголовок ICMPv6.
otIcmp6ReceiveCallback )(void *aContext, otMessage *aMessage, const otMessageInfo *aMessageInfo, const otIcmp6Header *aIcmpHeader) определение типа
void(*
Этот обратный вызов позволяет OpenThread информировать приложение о полученном сообщении ICMPv6.
otIcmp6Type определение типа
Типы сообщений ICMPv6.

Переменные

OT_TOOL_PACKED_END

Функции

otIcmp6GetEchoMode ( otInstance *aInstance)
Эта функция указывает, включена ли обработка эха ICMPv6.
otIcmp6RegisterHandler ( otInstance *aInstance, otIcmp6Handler *aHandler)
Эта функция регистрирует обработчик для предоставления полученных сообщений ICMPv6.
otIcmp6SendEchoRequest ( otInstance *aInstance, otMessage *aMessage, const otMessageInfo *aMessageInfo, uint16_t aIdentifier)
Эта функция отправляет эхо-запрос ICMPv6 через интерфейс Thread.
otIcmp6SetEchoMode ( otInstance *aInstance, otIcmp6EchoMode aMode)
void
Эта функция устанавливает, включена ли обработка эха ICMPv6.

Структуры

otIcmp6Handler

Эта структура реализует обработчик сообщений ICMPv6.

otIcmp6Заголовок

Эта структура представляет заголовок ICMPv6.

Союзы

otIcmp6Header:: OT_TOOL_PACKED_FIELD

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

otIcmp6Code

 otIcmp6Code

Коды сообщений ICMPv6.

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

Пункт назначения недоступен Нет маршрута.

OT_ICMP6_CODE_FRAGM_REAS_TIME_EX

Превышено время повторной сборки фрагмента.

otIcmp6EchoMode

 otIcmp6EchoMode

Режимы эхо-ответа ICMPv6.

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

Обработка эха ICMPv6 включена для одноадресных и многоадресных запросов.

OT_ICMP6_ECHO_HANDLER_DISABLED

Обработка эха ICMPv6 отключена.

OT_ICMP6_ECHO_HANDLER_MULTICAST_ONLY

Обработка эха ICMPv6 включена только для многоадресных запросов.

OT_ICMP6_ECHO_HANDLER_UNICAST_ONLY

Обработка эха ICMPv6 включена только для одноадресных запросов.

otIcmp6Type

 otIcmp6Type

Типы сообщений ICMPv6.

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

Пункт назначения недостижим.

OT_ICMP6_TYPE_ECHO_REPLY

Эхо Ответ.

OT_ICMP6_TYPE_ECHO_REQUEST

Эхо-запрос.

OT_ICMP6_TYPE_PACKET_TO_BIG

Пакет большой.

OT_ICMP6_TYPE_PARAMETER_PROBLEM

Проблема с параметром.

OT_ICMP6_TYPE_ROUTER_ADVERT

Реклама роутера.

OT_ICMP6_TYPE_ROUTER_SOLICIT

Запрос маршрутизатора.

OT_ICMP6_TYPE_TIME_EXCEEDED

Превышено время.

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

otIcmp6Code

enum otIcmp6Code otIcmp6Code

Коды сообщений ICMPv6.

otIcmp6EchoMode

enum otIcmp6EchoMode otIcmp6EchoMode

Режимы эхо-ответа ICMPv6.

otIcmp6Handler

struct otIcmp6Handler otIcmp6Handler

Эта структура реализует обработчик сообщений ICMPv6.

otIcmp6Заголовок

struct otIcmp6Header otIcmp6Header

Этот тип представляет заголовок ICMPv6.

otIcmp6ReceiveCallback

void(* otIcmp6ReceiveCallback)(void *aContext, otMessage *aMessage, const otMessageInfo *aMessageInfo, const otIcmp6Header *aIcmpHeader)

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

Подробности
Параметры
[in] aContext
Указатель на произвольную контекстную информацию.
[in] aMessage
Указатель на полученное сообщение.
[in] aMessageInfo
Указатель на информацию о сообщении, связанную с aMessage .
[in] aIcmpHeader
Указатель на полученный заголовок ICMPv6.

otIcmp6Type

enum otIcmp6Type otIcmp6Type

Типы сообщений ICMPv6.

Переменные

OT_TOOL_PACKED_END

OT_TOOL_PACKED_BEGIN struct otIcmp6Header OT_TOOL_PACKED_END

Функции

otIcmp6GetEchoMode

otIcmp6EchoMode otIcmp6GetEchoMode(
  otInstance *aInstance
)

Эта функция указывает, включена ли обработка эха ICMPv6.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
Возвращаемые значения
OT_ICMP6_ECHO_HANDLER_DISABLED
Обработка эха ICMPv6 отключена.
OT_ICMP6_ECHO_HANDLER_UNICAST_ONLY
Обработка эха ICMPv6 включена только для одноадресных запросов.
OT_ICMP6_ECHO_HANDLER_MULTICAST_ONLY
Обработка эха ICMPv6 включена только для многоадресных запросов.
OT_ICMP6_ECHO_HANDLER_ALL
Обработка эха ICMPv6 включена для одноадресных и многоадресных запросов.

otIcmp6RegisterHandler

otError otIcmp6RegisterHandler(
  otInstance *aInstance,
  otIcmp6Handler *aHandler
)

Эта функция регистрирует обработчик для предоставления полученных сообщений ICMPv6.

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

otIcmp6SendEchoRequest

otError otIcmp6SendEchoRequest(
  otInstance *aInstance,
  otMessage *aMessage,
  const otMessageInfo *aMessageInfo,
  uint16_t aIdentifier
)

Эта функция отправляет эхо-запрос ICMPv6 через интерфейс Thread.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
[in] aMessage
Указатель на буфер сообщений, содержащий полезную нагрузку ICMPv6.
[in] aMessageInfo
Ссылка на информацию о сообщении, связанную с aMessage .
[in] aIdentifier
Идентификатор, помогающий сопоставлять эхо-ответы с этим эхо-запросом. Может быть ноль.

otIcmp6SetEchoMode

void otIcmp6SetEchoMode(
  otInstance *aInstance,
  otIcmp6EchoMode aMode
)

Эта функция устанавливает, включена ли обработка эха ICMPv6.

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

Макросы

OT_ICMP6_HEADER_DATA_SIZE

 OT_ICMP6_HEADER_DATA_SIZE 4

Размер конкретных данных сообщения в заголовке ICMPv6.

Ресурсы

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