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.

Typedefs

otIcmp6Code typedef
Коды сообщений ICMPv6.
otIcmp6EchoMode typedef
Режимы эхо-ответа ICMPv6.
otIcmp6Handler typedef
Эта структура реализует обработчик сообщений ICMPv6.
otIcmp6Header typedef
Этот тип представляет заголовок ICMPv6.
otIcmp6ReceiveCallback )(void *aContext, otMessage *aMessage, const otMessageInfo *aMessageInfo, const otIcmp6Header *aIcmpHeader) typedef
void(*
Этот обратный вызов позволяет OpenThread информировать приложение о полученном сообщении ICMPv6.
otIcmp6Type typedef
Типы сообщений 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 через интерфейс потока.
otIcmp6SetEchoMode ( otInstance *aInstance, otIcmp6EchoMode aMode)
void
Эта функция устанавливает, включена ли обработка эхо ICMPv6.

Структуры

otIcmp6Handler

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

otIcmp6Header

Эта структура представляет собой заголовок 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

Время истекло.

Typedefs

otIcmp6Code

enum otIcmp6Code otIcmp6Code

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

otIcmp6EchoMode

enum otIcmp6EchoMode otIcmp6EchoMode

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

otIcmp6Handler

struct otIcmp6Handler otIcmp6Handler

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

otIcmp6Header

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 через интерфейс потока.

Подробности
Параметры
[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.