ICMP6

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

Resumo

Enumerações

otIcmp6Code{
  OT_ICMP6_CODE_DST_UNREACH_NO_ROUTE = 0,
  OT_ICMP6_CODE_FRAGM_REAS_TIME_EX = 1
}
tipo enumerado
Códigos de mensagem 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
}
tipo enumerado
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
}
tipo enumerado
Tipos de mensagem ICMPv6.

Typedefs

otIcmp6Code typedef
Códigos de mensagem 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 o aplicativo de uma mensagem ICMPv6 recebida.
otIcmp6Type typedef
Tipos de mensagem ICMPv6.

Variáveis.

OT_TOOL_PACKED_END

Funções

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

Estruturas

otIcmp6Handler (em inglês)

Implementa o gerenciador de mensagens ICMPv6.

otIcmp6Header (em inglês)

Representa um cabeçalho ICMPv6.

Sindicatos

otIcmp6Header::OT_TOOL_PACKED_FIELD

Enumerações

Código otIcmp6

 otIcmp6Code

Códigos de mensagem ICMPv6.

Propriedades
OT_ICMP6_CODE_DST_UNREACH_NO_ROUTE

Destino inacessível sem rota.

OT_ICMP6_CODE_FRAGM_REAS_TIME_EX

Tempo de remontagem de fragmento 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 mensagem 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úncios de vizinhos.

OT_ICMP6_TYPE_NEIGHBOR_SOLICIT

Solicitação de Vizinhos.

OT_ICMP6_TYPE_PACKET_TO_BIG

Pacote para grande.

OT_ICMP6_TYPE_PARAMETER_PROBLEM

Problema no parâmetro.

OT_ICMP6_TYPE_ROUTER_ADVERT

Anúncio de roteador.

OT_ICMP6_TYPE_ROUTER_SOLICIT

Solicitação de roteador.

OT_ICMP6_TYPE_TIME_EXCEEDED

Tempo excedido.

Typedefs

Código otIcmp6

enum otIcmp6Code otIcmp6Code

Códigos de mensagem 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 o aplicativo de 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 mensagens de informações associadas a aMessage.
[in] aIcmpHeader
Um ponteiro para o cabeçalho ICMPv6 recebido.

otIcmp6Type

enum otIcmp6Type otIcmp6Type

Tipos de mensagem ICMPv6.

Variáveis.

OT_TOOL_PACKED_END

OT_TOOL_PACKED_BEGIN struct otIcmp6Header OT_TOOL_PACKED_END

Funções

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 fornecer mensagens ICMPv6 recebidas.

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

OtIcmp6SendEchoRequest

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

Envia uma solicitação Echo ICMPv6 por meio da interface do 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 a informações de mensagens associadas a aMessage.
[in] aIdentifier
Um identificador para auxiliar na correspondência das respostas de eco a esta 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
O modo de processamento Echo ICMPv6.

Macros

PR_ICMP6_HEADER_DATA_SIZE

 OT_ICMP6_HEADER_DATA_SIZE 4

Tamanho do cabeçalho ICMPv6.

PR_ICMP6_ROUTER_ADVERT_MIN_SIZE

 OT_ICMP6_ROUTER_ADVERT_MIN_SIZE 16

Tamanho de uma mensagem do 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.