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,
OT_ICMP6_TYPE_NEIGHBOR_SOLICIT = 135,
OT_ICMP6_TYPE_NEIGHBOR_ADVERT = 136
}
перечисление
Типы сообщений 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.

otIcmp6Header

Представляет заголовок ICMPv6.

Союзы

otIcmp6Header::OT_TOOL_PACKED_FIELD

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

otIcmp6Код

 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_NEIGHBOR_ADVERT

Соседская реклама.

OT_ICMP6_TYPE_NEIGHBOR_SOLICIT

Обращение к соседям.

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

Время превышено.

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

otIcmp6Код

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 через интерфейс 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 Echo.

Макросы

OT_ICMP6_HEADER_DATA_SIZE

 OT_ICMP6_HEADER_DATA_SIZE 4

Размер заголовка ICMPv6.

OT_ICMP6_ROUTER_ADVERT_MIN_SIZE

 OT_ICMP6_ROUTER_ADVERT_MIN_SIZE 16

Размер рекламного сообщения маршрутизатора без каких-либо параметров.

Ресурсы

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