ICMPv6

Este módulo inclui funções que controlam a comunicação ICMPv6.

Resumo

Enumerações

otIcmp6Code{
  OT_ICMP6_CODE_DST_UNREACH_NO_ROUTE = 0,
  OT_ICMP6_CODE_FRAGM_REAS_TIME_EX = 1
}
enum
Códigos de mensagens 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
}
enum
Modos de resposta de eco 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
}
enum
Tipos de mensagens ICMPv6.

Typedefs

otIcmp6Code typedef
Códigos de mensagens ICMPv6.
otIcmp6EchoMode typedef
Modos de resposta de eco ICMPv6.
otIcmp6Handler typedef
Implementa o gerenciador de mensagens ICMPv6.
otIcmp6Header typedef
struct otIcmp6Header
Representa um cabeçalho ICMPv6.
otIcmp6ReceiveCallback)(void *aContext, otMessage *aMessage, const otMessageInfo *aMessageInfo, const otIcmp6Header *aIcmpHeader) typedef
void(*
Esse callback permite que o OpenThread informe ao aplicativo uma mensagem ICMPv6 recebida.
otIcmp6Type typedef
Tipos de mensagens ICMPv6.

Variáveis

OT_TOOL_PACKED_END

remotas

otIcmp6GetEchoMode(otInstance *aInstance)
Indica se o processamento de eco ICMPv6 está ativado ou não.
otIcmp6RegisterHandler(otInstance *aInstance, otIcmp6Handler *aHandler)
Registra um gerenciador para enviar mensagens ICMPv6 recebidas.
otIcmp6SendEchoRequest(otInstance *aInstance, otMessage *aMessage, const otMessageInfo *aMessageInfo, uint16_t aIdentifier)
Envia uma solicitação de eco ICMPv6 pela interface Thread.
otIcmp6SetEchoMode(otInstance *aInstance, otIcmp6EchoMode aMode)
void
Define se o processamento de eco ICMPv6 está ativado ou não.

Estruturas

otIcmp6Handler

Implementa o gerenciador de mensagens ICMPv6.

otIcmp6Header

Representa um cabeçalho ICMPv6.

Sindicatos

otIcmp6Header::OT_TOOL_PACKED_FIELD

Enumerações

otIcmp6Code

 otIcmp6Code

Códigos de mensagens ICMPv6.

Propriedades
OT_ICMP6_CODE_DST_UNREACH_NO_ROUTE

Destino inacessível sem rota.

OT_ICMP6_CODE_FRAGM_REAS_TIME_EX

O tempo de remontagem do fragmento foi excedido.

otIcmp6EchoMode

 otIcmp6EchoMode

Modos de resposta de eco ICMPv6.

Propriedades
OT_ICMP6_ECHO_HANDLER_ALL

Processamento de eco ICMPv6 ativado para solicitações unicast e multicast.

OT_ICMP6_ECHO_HANDLER_DISABLED

Processamento de eco ICMPv6 desativado.

OT_ICMP6_ECHO_HANDLER_MULTICAST_ONLY

Processamento de eco ICMPv6 ativado apenas para solicitações multicast.

OT_ICMP6_ECHO_HANDLER_UNICAST_ONLY

Processamento de eco ICMPv6 ativado apenas para solicitações unicast.

otIcmp6Type

 otIcmp6Type

Tipos de mensagens ICMPv6.

Propriedades
OT_ICMP6_TYPE_DST_UNREACH

Destino inacessível.

OT_ICMP6_TYPE_ECHO_REPLY

Resposta de eco.

OT_ICMP6_TYPE_ECHO_REQUEST

Solicitação de eco.

OT_ICMP6_TYPE_NEIGHBOR_ADVERT

Anúncio do vizinho.

OT_ICMP6_TYPE_NEIGHBOR_SOLICIT

Solicitação do vizinho.

OT_ICMP6_TYPE_PACKET_TO_BIG

Pacote grande.

OT_ICMP6_TYPE_PARAMETER_PROBLEM

Problema de parâmetro.

OT_ICMP6_TYPE_ROUTER_ADVERT

Anúncio do roteador.

OT_ICMP6_TYPE_ROUTER_SOLICIT

Solicitação do roteador.

OT_ICMP6_TYPE_TIME_EXCEEDED

Tempo excedido.

Typedefs

otIcmp6Code

enum otIcmp6Code otIcmp6Code

Códigos de mensagens ICMPv6.

otIcmp6EchoMode

enum otIcmp6EchoMode otIcmp6EchoMode

Modos de resposta de eco ICMPv6.

otIcmp6Handler

struct otIcmp6Handler otIcmp6Handler

Implementa o gerenciador de mensagens ICMPv6.

otIcmp6Header

struct otIcmp6Header otIcmp6Header

Representa um cabeçalho ICMPv6.

otIcmp6ReceiveCallback

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

Esse callback permite que o OpenThread informe ao aplicativo uma mensagem ICMPv6 recebida.

Detalhes
Parâmetros
[in] aContext
Um ponteiro para informações de contexto arbitrárias.
[in] aMessage
Um ponteiro para a mensagem recebida.
[in] aMessageInfo
Um ponteiro para informações da mensagem associadas ao aMessage.
[in] aIcmpHeader
Um ponteiro para o cabeçalho ICMPv6 recebido.

otIcmp6Type

enum otIcmp6Type otIcmp6Type

Tipos de mensagens ICMPv6.

Variáveis

OT_TOOL_PACKED_END

OT_TOOL_PACKED_BEGIN struct otIcmp6Header OT_TOOL_PACKED_END

remotas

otIcmp6GetEchoMode

otIcmp6EchoMode otIcmp6GetEchoMode(
  otInstance *aInstance
)

Indica se o processamento de eco ICMPv6 está ativado ou não.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
Valores de retorno
OT_ICMP6_ECHO_HANDLER_DISABLED
O processamento de eco ICMPv6 está desativado.
OT_ICMP6_ECHO_HANDLER_UNICAST_ONLY
Processamento de eco ICMPv6 ativado apenas para solicitações unicast
OT_ICMP6_ECHO_HANDLER_MULTICAST_ONLY
Processamento de eco ICMPv6 ativado apenas para solicitações multicast
OT_ICMP6_ECHO_HANDLER_ALL
Processamento de eco ICMPv6 ativado para solicitações unicast e multicast

otIcmp6RegisterHandler

otError otIcmp6RegisterHandler(
  otInstance *aInstance,
  otIcmp6Handler *aHandler
)

Registra um gerenciador para enviar mensagens ICMPv6 recebidas.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
[in] aHandler
Um ponteiro para um gerenciador contendo um callback chamado quando uma mensagem ICMPv6 é recebida.

otIcmp6SendEchoRequest

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

Envia uma solicitação de eco ICMPv6 pela interface Thread.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
[in] aMessage
Um ponteiro para o buffer de mensagem que contém o payload ICMPv6.
[in] aMessageInfo
Uma referência às informações da mensagem associadas ao aMessage.
[in] aIdentifier
Um identificador para ajudar na correspondência de respostas de eco a essa solicitação de eco. Pode ser zero.

otIcmp6SetEchoMode

void otIcmp6SetEchoMode(
  otInstance *aInstance,
  otIcmp6EchoMode aMode
)

Define se o processamento de eco ICMPv6 está ativado ou não.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
[in] aMode
Modo de processamento de eco ICMPv6.

Macros

OT_ICMP6_HEADER_DATA_SIZE

 OT_ICMP6_HEADER_DATA_SIZE 4

Tamanho do cabeçalho ICMPv6.

OT_ICMP6_ROUTER_ADVERT_MIN_SIZE

 OT_ICMP6_ROUTER_ADVERT_MIN_SIZE 16

Tamanho de uma mensagem de anúncio de roteador sem opções.

Recursos

Os tópicos de Referência da API OpenThread são originados do código-fonte, disponível no GitHub. Para mais informações ou para contribuir com nossa documentação, consulte Recursos.