IPv6
Este módulo inclui funções que controlam a comunicação IPv6.
Resumo
Enumerações |
|
---|---|
anonymous enum{
|
tipo enumerado Números de protocolo de Internet. |
anonymous enum{
|
tipo enumerado Origens de endereço IPv6. |
anonymous enum{
|
tipo enumerado Status ECN, representados como no cabeçalho IP. |
Typedefs |
|
---|---|
otBorderRoutingCounters
|
typedefstruct otBorderRoutingCounters
Essa estrutura representa os contadores de pacotes encaminhados por roteamento de borda. |
otIp6Address
|
typedefstruct otIp6Address
Essa estrutura representa um endereço IPv6. |
otIp6AddressCallback)(const otIp6AddressInfo *aAddressInfo, bool aIsAdded, void *aContext)
|
typedefvoid(*
Esse ponteiro de função é chamado quando um endereço IPv6 interno é adicionado ou removido. |
otIp6AddressComponents
|
typedefstruct otIp6AddressComponents
Esta estrutura representa os componentes de um endereço IPv6. |
otIp6AddressInfo
|
typedefstruct otIp6AddressInfo
|
otIp6InterfaceIdentifier
|
typedefstruct otIp6InterfaceIdentifier
Esta estrutura representa o identificador de interface de um endereço IPv6. |
otIp6NetworkPrefix
|
typedefstruct otIp6NetworkPrefix
Essa estrutura representa o prefixo de rede de um endereço IPv6 (os 64 bits mais significativos do endereço). |
otIp6Prefix
|
typedefstruct otIp6Prefix
Essa estrutura representa um prefixo IPv6. |
otIp6ReceiveCallback)(otMessage *aMessage, void *aContext)
|
typedefvoid(*
Esse ponteiro de função é chamado quando um datagrama IPv6 é recebido. |
otIp6RegisterMulticastListenersCallback)(void *aContext, otError aError, uint8_t aMlrStatus, const otIp6Address *aFailedAddresses, uint8_t aFailedAddressNum)
|
typedefvoid(*
Esse ponteiro de função é chamado com os resultados de otIp6RegisterMulticastListeners . |
otIp6SlaacPrefixFilter)(otInstance *aInstance, const otIp6Prefix *aPrefix)
|
typedefbool(*
Esse ponteiro de função permite que o usuário filtre prefixos e não permita que um endereço SLAAC com base em um prefixo seja adicionado. |
otMessageInfo
|
typedefstruct otMessageInfo
Essa estrutura representa os endereços de soquetes IPv6 locais e pares. |
otNetifAddress
|
typedefstruct otNetifAddress
Essa estrutura representa um endereço unicast de interface de rede IPv6. |
otNetifMulticastAddress
|
typedefstruct otNetifMulticastAddress
Essa estrutura representa um endereço multicast de interface de rede IPv6. |
otPacketsAndBytes
|
typedefstruct otPacketsAndBytes
Essa estrutura representa os contadores para pacotes e bytes. |
otSockAddr
|
typedefstruct otSockAddr
Essa estrutura representa um endereço de soquete IPv6. |
Variáveis |
|
---|---|
OT_TOOL_PACKED_END
|
Funções |
|
---|---|
otIp6AddUnicastAddress(otInstance *aInstance, const otNetifAddress *aAddress)
|
Adiciona um endereço de interface de rede à interface Thread.
|
otIp6AddUnsecurePort(otInstance *aInstance, uint16_t aPort)
|
Esta função adiciona uma porta à lista de portas não seguras permitidas.
|
otIp6AddressFromString(const char *aString, otIp6Address *aAddress)
|
Essa função converte uma string de endereço IPv6 legível em uma representação binária.
|
otIp6AddressToString(const otIp6Address *aAddress, char *aBuffer, uint16_t aSize)
|
void
Essa função converte um determinado endereço IPv6 em uma string legível.
|
otIp6ArePrefixesEqual(const otIp6Prefix *aFirst, const otIp6Prefix *aSecond)
|
bool
Teste se dois prefixos IPv6 são iguais.
|
otIp6GetBorderRoutingCounters(otInstance *aInstance)
|
const otBorderRoutingCounters *
Obtém os contadores de Roteamento de borda.
|
otIp6GetMulticastAddresses(otInstance *aInstance)
|
const otNetifMulticastAddress *
Obtém a lista de endereços multicast IPv6 inscritos na interface Thread.
|
otIp6GetPrefix(const otIp6Address *aAddress, uint8_t aLength, otIp6Prefix *aPrefix)
|
void
Esse método recebe um prefixo com
aLength de aAddress . |
otIp6GetUnicastAddresses(otInstance *aInstance)
|
const otNetifAddress *
Obtém a lista de endereços IPv6 atribuídos à interface da Thread.
|
otIp6GetUnsecurePorts(otInstance *aInstance, uint8_t *aNumEntries)
|
const uint16_t *
Essa função retorna um ponteiro para a lista de portas não seguras.
|
otIp6IsAddressEqual(const otIp6Address *aFirst, const otIp6Address *aSecond)
|
bool
Teste se dois endereços IPv6 são iguais.
|
otIp6IsAddressUnspecified(const otIp6Address *aAddress)
|
bool
Esta função indica se um determinado endereço IPv6 é ou não o endereço não especificado.
|
otIp6IsEnabled(otInstance *aInstance)
|
bool
Indica se a interface IPv6 está ativada ou não.
|
otIp6IsMulticastPromiscuousEnabled(otInstance *aInstance)
|
bool
Verifica se o modo promíscuo multicast está ativado na interface do Thread.
|
otIp6IsReceiveFilterEnabled(otInstance *aInstance)
|
bool
Essa função indica se o tráfego de controle do Thread é filtrado ao enviar datagramas IPv6 por meio do callback especificado em otIp6SetReceiveCallback().
|
otIp6IsSlaacEnabled(otInstance *aInstance)
|
bool
Esta função indica se o módulo SLAAC está ativado ou não.
|
otIp6NewMessage(otInstance *aInstance, const otMessageSettings *aSettings)
|
Aloque um novo buffer de mensagem para enviar uma mensagem IPv6.
|
otIp6NewMessageFromBuffer(otInstance *aInstance, const uint8_t *aData, uint16_t aDataLength, const otMessageSettings *aSettings)
|
Aloque um novo buffer de mensagem e grave o datagrama IPv6 no buffer de mensagem para enviar uma mensagem IPv6.
|
otIp6PrefixFromString(const char *aString, otIp6Prefix *aPrefix)
|
Essa função converte uma string de prefixo IPv6 legível em uma representação binária.
|
otIp6PrefixMatch(const otIp6Address *aFirst, const otIp6Address *aSecond)
|
uint8_t
Essa função retorna o tamanho da correspondência de prefixo (bits) de dois endereços IPv6.
|
otIp6PrefixToString(const otIp6Prefix *aPrefix, char *aBuffer, uint16_t aSize)
|
void
Essa função converte um determinado prefixo IPv6 em uma string legível.
|
otIp6ProtoToString(uint8_t aIpProto)
|
const char *
Essa função converte um determinado número de protocolo IP em uma string legível.
|
otIp6RegisterMulticastListeners(otInstance *aInstance, const otIp6Address *aAddresses, uint8_t aAddressNum, const uint32_t *aTimeout, otIp6RegisterMulticastListenersCallback aCallback, void *aContext)
|
Esta função registra escutas multicast no roteador de backbone principal.
|
otIp6RemoveAllUnsecurePorts(otInstance *aInstance)
|
void
Essa função remove todas as portas da lista de portas não seguras permitidas.
|
otIp6RemoveUnicastAddress(otInstance *aInstance, const otIp6Address *aAddress)
|
Remove um endereço de interface de rede da interface Thread.
|
otIp6RemoveUnsecurePort(otInstance *aInstance, uint16_t aPort)
|
Essa função remove uma porta da lista de portas não seguras permitidas.
|
otIp6ResetBorderRoutingCounters(otInstance *aInstance)
|
void
Redefine os contadores de Roteamento de borda.
|
otIp6SelectSourceAddress(otInstance *aInstance, otMessageInfo *aMessageInfo)
|
Essa função executa a seleção de endereços de origem do OpenThread.
|
otIp6Send(otInstance *aInstance, otMessage *aMessage)
|
Essa função envia um datagrama IPv6 por meio da interface do Thread.
|
otIp6SetAddressCallback(otInstance *aInstance, otIp6AddressCallback aCallback, void *aCallbackContext)
|
void
Esta função registra um retorno de chamada para notificar as alterações de endereço IPv6 internas.
|
otIp6SetEnabled(otInstance *aInstance, bool aEnabled)
|
Aumenta ou diminui a interface IPv6.
|
otIp6SetMeshLocalIid(otInstance *aInstance, const otIp6InterfaceIdentifier *aIid)
|
Essa função define o IID da rede mesh local (para fins de teste).
|
otIp6SetMulticastPromiscuousEnabled(otInstance *aInstance, bool aEnabled)
|
void
Ativa ou desativa o modo promíscuo multicast na interface do Thread.
|
otIp6SetReceiveCallback(otInstance *aInstance, otIp6ReceiveCallback aCallback, void *aCallbackContext)
|
void
Esta função registra um retorno de chamada para fornecer datagramas IPv6 recebidos.
|
otIp6SetReceiveFilterEnabled(otInstance *aInstance, bool aEnabled)
|
void
Essa função define se o tráfego de controle do Thread é filtrado ao enviar datagramas IPv6 por meio do callback especificado em otIp6SetReceiveCallback().
|
otIp6SetSlaacEnabled(otInstance *aInstance, bool aEnabled)
|
void
Esta função ativa/desativa o módulo SLAAC.
|
otIp6SetSlaacPrefixFilter(otInstance *aInstance, otIp6SlaacPrefixFilter aFilter)
|
void
Esta função define o gerenciador de filtros do módulo SLAAC.
|
otIp6SockAddrToString(const otSockAddr *aSockAddr, char *aBuffer, uint16_t aSize)
|
void
Essa função converte um determinado endereço de soquete IPv6 em uma string legível.
|
otIp6SubscribeMulticastAddress(otInstance *aInstance, const otIp6Address *aAddress)
|
Inscreve a interface Thread em um endereço multicast de interface de rede.
|
otIp6UnsubscribeMulticastAddress(otInstance *aInstance, const otIp6Address *aAddress)
|
Cancela a inscrição da interface Thread em um endereço multicast de interface de rede.
|
Estruturas |
|
---|---|
otBorderRoutingCounters (em inglês) |
Essa estrutura representa os contadores de pacotes encaminhados por roteamento de borda. |
otIp6Address (link em inglês) |
Essa estrutura representa um endereço IPv6. |
otIp6AddressComponents (em inglês) |
Esta estrutura representa os componentes de um endereço IPv6. |
otIp6AddressInfo (em inglês) |
Essa estrutura representa as informações de endereço IPv6. |
otIp6InterfaceIdentifier (em inglês) |
Esta estrutura representa o identificador de interface de um endereço IPv6. |
otIp6NetworkPrefix (em inglês) |
Essa estrutura representa o prefixo de rede de um endereço IPv6 (os 64 bits mais significativos do endereço). |
otIp6Prefix (em inglês) |
Essa estrutura representa um prefixo IPv6. |
otMessageInfo. |
Essa estrutura representa os endereços de soquetes IPv6 locais e pares. |
otNetifAddress (em inglês) |
Essa estrutura representa um endereço unicast de interface de rede IPv6. |
otNetifMulticastAddress (em inglês) |
Essa estrutura representa um endereço multicast de interface de rede IPv6. |
otPacketsAndBytes (em inglês) |
Essa estrutura representa os contadores para pacotes e bytes. |
otSockAddr (em inglês) |
Essa estrutura representa um endereço de soquete IPv6. |
Sindicatos |
|
---|---|
otIp6InterfaceIdentifier:: |
Enumerações
enumeração anônima
anonymous enum
Números de protocolo de Internet.
Propriedades | |
---|---|
OT_IP6_PROTO_DST_OPTS
|
Opções de destino para IPv6. |
OT_IP6_PROTO_FRAGMENT
|
Cabeçalho de fragmento para IPv6. |
OT_IP6_PROTO_HOP_OPTS
|
Opção de salto por salto do IPv6. |
OT_IP6_PROTO_ICMP6
|
ICMP para IPv6. |
OT_IP6_PROTO_IP6
|
Encapsulamento de IPv6. |
OT_IP6_PROTO_NONE
|
Nenhum cabeçalho a seguir para IPv6. |
OT_IP6_PROTO_ROUTING
|
Cabeçalho de roteamento para IPv6. |
OT_IP6_PROTO_TCP
|
Protocolo de controle de transmissão. |
OT_IP6_PROTO_UDP
|
Datagrama do usuário. |
enumeração anônima
anonymous enum
Origens de endereço IPv6.
Propriedades | |
---|---|
OT_ADDRESS_ORIGIN_DHCPV6
|
DHCPv6 atribuído. |
OT_ADDRESS_ORIGIN_MANUAL
|
Endereço atribuído manualmente. |
OT_ADDRESS_ORIGIN_SLAAC
|
Endereço atribuído do SLAAC. |
OT_ADDRESS_ORIGIN_THREAD
|
Endereço atribuído da conversa (ALOC, RLOC, MLEID etc.) |
enumeração anônima
anonymous enum
Status ECN, representados como no cabeçalho IP.
Propriedades | |
---|---|
OT_ECN_CAPABLE_0
|
ECT(0) |
OT_ECN_CAPABLE_1
|
ECT(1) |
OT_ECN_MARKED
|
Congestão encontrada (CE) |
OT_ECN_NOT_CAPABLE
|
Não eletrocardiograma. |
Typedefs
OtBorderRoutingCounters
struct otBorderRoutingCounters otBorderRoutingCounters
Essa estrutura representa os contadores de pacotes encaminhados por roteamento de borda.
OtIp6AddressCallback
void(* otIp6AddressCallback)(const otIp6AddressInfo *aAddressInfo, bool aIsAdded, void *aContext)
Esse ponteiro de função é chamado quando um endereço IPv6 interno é adicionado ou removido.
Detalhes | |||||||
---|---|---|---|---|---|---|---|
Parâmetros |
|
OtIp6AddressComponents
struct otIp6AddressComponents otIp6AddressComponents
Esta estrutura representa os componentes de um endereço IPv6.
OtIp6AddressInfo
struct otIp6AddressInfo otIp6AddressInfo
OtIp6InterfaceIdentifier
struct otIp6InterfaceIdentifier otIp6InterfaceIdentifier
Esta estrutura representa o identificador de interface de um endereço IPv6.
otIp6NetworkPrefix
struct otIp6NetworkPrefix otIp6NetworkPrefix
Essa estrutura representa o prefixo de rede de um endereço IPv6 (os 64 bits mais significativos do endereço).
OtIp6ReceiveCallback
void(* otIp6ReceiveCallback)(otMessage *aMessage, void *aContext)
Esse ponteiro de função é chamado quando um datagrama IPv6 é recebido.
Detalhes | |||||
---|---|---|---|---|---|
Parâmetros |
|
OtIp6RegisterMulticastListenersCallback
void(* otIp6RegisterMulticastListenersCallback)(void *aContext, otError aError, uint8_t aMlrStatus, const otIp6Address *aFailedAddresses, uint8_t aFailedAddressNum)
Esse ponteiro de função é chamado com os resultados de otIp6RegisterMulticastListeners
.
Detalhes | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parâmetros |
|
otIp6RegisterMulticastListeners
otIp6SlaacPrefixFilter
bool(* otIp6SlaacPrefixFilter)(otInstance *aInstance, const otIp6Prefix *aPrefix)
Esse ponteiro de função permite que o usuário filtre prefixos e não permita que um endereço SLAAC com base em um prefixo seja adicionado.
otIp6SetSlaacPrefixFilter()
pode ser usado para definir o gerenciador de filtros. O gerenciador de filtros é invocado pelo módulo SLAAC quando está prestes a adicionar um endereço SLAAC com base em um prefixo. Seu valor de retorno booleano determina se o endereço é filtrado (não adicionado) ou não.
Detalhes | |||||
---|---|---|---|---|---|
Parâmetros |
|
||||
Valores de retorno |
|
OtMessageInfo
struct otMessageInfo otMessageInfo
Essa estrutura representa os endereços de soquetes IPv6 locais e pares.
Endereço otNetif
struct otNetifAddress otNetifAddress
Essa estrutura representa um endereço unicast de interface de rede IPv6.
OtNetifMulticastAddress
struct otNetifMulticastAddress otNetifMulticastAddress
Essa estrutura representa um endereço multicast de interface de rede IPv6.
OtPacketsAndBytes
struct otPacketsAndBytes otPacketsAndBytes
Essa estrutura representa os contadores para pacotes e bytes.
Variáveis
OT_TOOL_PACKED_END
OT_TOOL_PACKED_BEGIN struct otIp6InterfaceIdentifier OT_TOOL_PACKED_END
Funções
OtIp6AddUnicastAddress
otError otIp6AddUnicastAddress( otInstance *aInstance, const otNetifAddress *aAddress )
Adiciona um endereço de interface de rede à interface Thread.
A instância transmitida aAddress
é copiada pela interface Thread. A interface Thread só oferece suporte a um número fixo de endereços unicast adicionados externamente. Consulte os OPENTHREAD_CONFIG_IP6_MAX_EXT_UCAST_ADDRS
.
Detalhes | |||||||
---|---|---|---|---|---|---|---|
Parâmetros |
|
||||||
Valores de retorno |
|
Janela de adição
otError otIp6AddUnsecurePort( otInstance *aInstance, uint16_t aPort )
Esta função adiciona uma porta à lista de portas não seguras permitidas.
Detalhes | |||||||
---|---|---|---|---|---|---|---|
Parâmetros |
|
||||||
Valores de retorno |
|
OtIp6AddressFromString
otError otIp6AddressFromString( const char *aString, otIp6Address *aAddress )
Essa função converte uma string de endereço IPv6 legível em uma representação binária.
Detalhes | |||||
---|---|---|---|---|---|
Parâmetros |
|
||||
Valores de retorno |
|
OtIp6AddressToString
void otIp6AddressToString( const otIp6Address *aAddress, char *aBuffer, uint16_t aSize )
Essa função converte um determinado endereço IPv6 em uma string legível.
A string do endereço IPv6 é formatada como 16 valores hexadecimais separados por ':' (isto é, "%x:%x:%x:...:%x").
Se a string resultante não couber em aBuffer
(dentro dos caracteres aSize
), ela será truncada, mas a string de saída será sempre terminada com nulo.
Detalhes | |||||||
---|---|---|---|---|---|---|---|
Parâmetros |
|
OtIp6ArePrefixesEqual
bool otIp6ArePrefixesEqual( const otIp6Prefix *aFirst, const otIp6Prefix *aSecond )
Teste se dois prefixos IPv6 são iguais.
Detalhes | |||||
---|---|---|---|---|---|
Parâmetros |
|
||||
Valores de retorno |
|
otIp6GetBorderRoutingCounters
const otBorderRoutingCounters * otIp6GetBorderRoutingCounters( otInstance *aInstance )
Obtém os contadores de Roteamento de borda.
Essa função requer que o recurso de tempo de build OPENTHREAD_CONFIG_IP6_BR_COUNTERS_ENABLE
esteja ativado.
Detalhes | |||
---|---|---|---|
Parâmetros |
|
||
Retorna |
Um ponteiro para os contadores de Border Routing.
|
otIp6GetMulticastAddresses
const otNetifMulticastAddress * otIp6GetMulticastAddresses( otInstance *aInstance )
Obtém a lista de endereços multicast IPv6 inscritos na interface Thread.
Detalhes | |||
---|---|---|---|
Parâmetros |
|
||
Retorna |
Um ponteiro para o primeiro endereço multicast de interface de rede.
|
otIp6GetPrefix
void otIp6GetPrefix( const otIp6Address *aAddress, uint8_t aLength, otIp6Prefix *aPrefix )
Esse método recebe um prefixo com aLength
de aAddress
.
Detalhes | |||||||
---|---|---|---|---|---|---|---|
Parâmetros |
|
OtIp6GetUnicastAddresses
const otNetifAddress * otIp6GetUnicastAddresses( otInstance *aInstance )
Obtém a lista de endereços IPv6 atribuídos à interface da Thread.
Detalhes | |||
---|---|---|---|
Parâmetros |
|
||
Retorna |
Um ponteiro para o primeiro endereço de interface de rede.
|
OtIp6GetUnsecurePorts
const uint16_t * otIp6GetUnsecurePorts( otInstance *aInstance, uint8_t *aNumEntries )
Essa função retorna um ponteiro para a lista de portas não seguras.
Detalhes | |||||
---|---|---|---|---|---|
Parâmetros |
|
||||
Retorna |
Um ponteiro para a lista de portas não seguras.
|
OtIp6IsAddressEqual
bool otIp6IsAddressEqual( const otIp6Address *aFirst, const otIp6Address *aSecond )
Teste se dois endereços IPv6 são iguais.
Detalhes | |||||
---|---|---|---|---|---|
Parâmetros |
|
||||
Valores de retorno |
|
OtIp6IsAddressUnspecified
bool otIp6IsAddressUnspecified( const otIp6Address *aAddress )
Esta função indica se um determinado endereço IPv6 é ou não o endereço não especificado.
Detalhes | |||||
---|---|---|---|---|---|
Parâmetros |
|
||||
Valores de retorno |
|
OIIp6IsEnabled
bool otIp6IsEnabled( otInstance *aInstance )
Indica se a interface IPv6 está ativada ou não.
Detalhes | |||||
---|---|---|---|---|---|
Parâmetros |
|
||||
Valores de retorno |
|
OtIp6IsMulticastPromiscuousEnabled
bool otIp6IsMulticastPromiscuousEnabled( otInstance *aInstance )
Verifica se o modo promíscuo multicast está ativado na interface do Thread.
Detalhes | |||
---|---|---|---|
Parâmetros |
|
otIp6SetMulticastPromiscuousEnabled
otIp6IsReceiveFilterEnabled
bool otIp6IsReceiveFilterEnabled( otInstance *aInstance )
Essa função indica se o tráfego de controle do Thread é filtrado ao enviar datagramas IPv6 por meio do callback especificado em otIp6SetReceiveCallback().
Detalhes | |||
---|---|---|---|
Parâmetros |
|
||
Retorna |
Verdadeiro se o tráfego de controle da linha de execução for filtrado. Caso contrário, será falso.
|
otIp6SetReceiveCallback
otIp6SetReceiveFilterEnabled
OtIp6IsSlaacEnabled
bool otIp6IsSlaacEnabled( otInstance *aInstance )
Esta função indica se o módulo SLAAC está ativado ou não.
Essa função requer que o recurso de tempo de build OPENTHREAD_CONFIG_IP6_SLAAC_ENABLE
esteja ativado.
Detalhes | |||||
---|---|---|---|---|---|
Valores de retorno |
|
otIp6NewMessage
otMessage * otIp6NewMessage( otInstance *aInstance, const otMessageSettings *aSettings )
Aloque um novo buffer de mensagem para enviar uma mensagem IPv6.
Detalhes | |||||
---|---|---|---|---|---|
Parâmetros |
|
||||
Retorna |
Um ponteiro para o buffer da mensagem ou NULL se nenhum buffer de mensagem estiver disponível ou os parâmetros forem inválidos.
|
otMessageFree
otIp6NewMessageFromBuffer
otMessage * otIp6NewMessageFromBuffer( otInstance *aInstance, const uint8_t *aData, uint16_t aDataLength, const otMessageSettings *aSettings )
Aloque um novo buffer de mensagem e grave o datagrama IPv6 no buffer de mensagem para enviar uma mensagem IPv6.
Detalhes | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parâmetros |
|
||||||||
Retorna |
Um ponteiro para a mensagem ou NULL se um cabeçalho IPv6 malformado ou buffers de mensagem insuficientes estiverem disponíveis.
|
otMessageFree
OtIp6PrefixFromString
otError otIp6PrefixFromString( const char *aString, otIp6Prefix *aPrefix )
Essa função converte uma string de prefixo IPv6 legível em uma representação binária.
O parâmetro aString
precisa ser uma string no formato "
é um endereço IPv6 e
é um comprimento de prefixo.
Detalhes | |||||
---|---|---|---|---|---|
Parâmetros |
|
||||
Valores de retorno |
|
otIp6PrefixMatch
uint8_t otIp6PrefixMatch( const otIp6Address *aFirst, const otIp6Address *aSecond )
Essa função retorna o tamanho da correspondência de prefixo (bits) de dois endereços IPv6.
Detalhes | |||||
---|---|---|---|---|---|
Parâmetros |
|
||||
Retorna |
O tamanho da correspondência de prefixo em bits.
|
OtIp6PrefixToString
void otIp6PrefixToString( const otIp6Prefix *aPrefix, char *aBuffer, uint16_t aSize )
Essa função converte um determinado prefixo IPv6 em uma string legível.
A string do endereço IPv6 é formatada como "%x:%x:%x:...[::]/plen".
Se a string resultante não couber em aBuffer
(dentro dos caracteres aSize
), ela será truncada, mas a string de saída será sempre terminada com nulo.
Detalhes | |||||||
---|---|---|---|---|---|---|---|
Parâmetros |
|
OtIp6ProtoToString
const char * otIp6ProtoToString( uint8_t aIpProto )
Essa função converte um determinado número de protocolo IP em uma string legível.
Detalhes | |||
---|---|---|---|
Parâmetros |
|
||
Retorna |
Uma string que representa
aIpProto . |
otIp6RegisterMulticastListeners
otError otIp6RegisterMulticastListeners( otInstance *aInstance, const otIp6Address *aAddresses, uint8_t aAddressNum, const uint32_t *aTimeout, otIp6RegisterMulticastListenersCallback aCallback, void *aContext )
Esta função registra escutas multicast no roteador de backbone principal.
Observação: disponível apenas quando OPENTHREAD_CONFIG_TMF_PROXY_MLR_ENABLE
e OPENTHREAD_CONFIG_COMMISSIONER_ENABLE
estão ativados)
Detalhes | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parâmetros |
|
||||||||||||
Valores de retorno |
|
otIp6RegisterMulticastListenersCallback
otIp6RemoveAllUnsecurePorts
void otIp6RemoveAllUnsecurePorts( otInstance *aInstance )
Essa função remove todas as portas da lista de portas não seguras permitidas.
Detalhes | |||
---|---|---|---|
Parâmetros |
|
OtIp6RemoveUnicastAddress
otError otIp6RemoveUnicastAddress( otInstance *aInstance, const otIp6Address *aAddress )
Remove um endereço de interface de rede da interface Thread.
Detalhes | |||||||
---|---|---|---|---|---|---|---|
Parâmetros |
|
||||||
Valores de retorno |
|
Chave de remoção de protocolo insegura
otError otIp6RemoveUnsecurePort( otInstance *aInstance, uint16_t aPort )
Essa função remove uma porta da lista de portas não seguras permitidas.
Detalhes | |||||||
---|---|---|---|---|---|---|---|
Parâmetros |
|
||||||
Valores de retorno |
|
otIp6ResetBorderRoutingCounters
void otIp6ResetBorderRoutingCounters( otInstance *aInstance )
Redefine os contadores de Roteamento de borda.
Detalhes | |||
---|---|---|---|
Parâmetros |
|
OtIp6SelectSourceAddress
otError otIp6SelectSourceAddress( otInstance *aInstance, otMessageInfo *aMessageInfo )
Essa função executa a seleção de endereços de origem do OpenThread.
Detalhes | |||||
---|---|---|---|---|---|
Parâmetros |
|
||||
Valores de retorno |
|
otIp6Send
otError otIp6Send( otInstance *aInstance, otMessage *aMessage )
Essa função envia um datagrama IPv6 por meio da interface do Thread.
O autor da chamada transfere a propriedade de aMessage
ao fazer esta chamada. O OpenThread liberará aMessage
quando o processamento for concluído, inclusive quando um valor diferente de OT_ERROR_NONE
for retornado.
Detalhes | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parâmetros |
|
||||||||||||
Valores de retorno |
|
OtIp6SetAddressCallback
void otIp6SetAddressCallback( otInstance *aInstance, otIp6AddressCallback aCallback, void *aCallbackContext )
Esta função registra um retorno de chamada para notificar as alterações de endereço IPv6 internas.
Detalhes | |||||||
---|---|---|---|---|---|---|---|
Parâmetros |
|
OtIp6SetEnabled
otError otIp6SetEnabled( otInstance *aInstance, bool aEnabled )
Aumenta ou diminui a interface IPv6.
Chame essa função para ativar ou desativar a comunicação IPv6.
Detalhes | |||||
---|---|---|---|---|---|
Parâmetros |
|
||||
Valores de retorno |
|
otIp6SetMeshLocalIid
otError otIp6SetMeshLocalIid( otInstance *aInstance, const otIp6InterfaceIdentifier *aIid )
Essa função define o IID da rede mesh local (para fins de teste).
Disponível apenas quando OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE
está ativado.
Detalhes | |||||
---|---|---|---|---|---|
Parâmetros |
|
||||
Valores de retorno |
|
OtIp6SetMulticastPromiscuousEnabled
void otIp6SetMulticastPromiscuousEnabled( otInstance *aInstance, bool aEnabled )
Ativa ou desativa o modo promíscuo multicast na interface do Thread.
Detalhes | |||||
---|---|---|---|---|---|
Parâmetros |
|
otIp6IsMulticastPromiscuousEnabled
OtIp6SetReceiveCallback
void otIp6SetReceiveCallback( otInstance *aInstance, otIp6ReceiveCallback aCallback, void *aCallbackContext )
Esta função registra um retorno de chamada para fornecer datagramas IPv6 recebidos.
Por padrão, esse callback não passa o tráfego de controle do Thread. Consulte otIp6SetReceiveFilterEnabled() para alterar a configuração do filtro de tráfego de controle do Thread.
Detalhes | |||||||
---|---|---|---|---|---|---|---|
Parâmetros |
|
otIp6IsReceiveFilterEnabled
otIp6SetReceiveFilterEnabled
OtIp6SetReceiveFilterEnabled
void otIp6SetReceiveFilterEnabled( otInstance *aInstance, bool aEnabled )
Essa função define se o tráfego de controle do Thread é filtrado ao enviar datagramas IPv6 por meio do callback especificado em otIp6SetReceiveCallback().
Detalhes | |||||
---|---|---|---|---|---|
Parâmetros |
|
otIp6SetReceiveCallback
otIsReceiveIp6FilterEnabled
OtIp6SetSlaacEnabled
void otIp6SetSlaacEnabled( otInstance *aInstance, bool aEnabled )
Esta função ativa/desativa o módulo SLAAC.
Essa função requer que o recurso de tempo de build OPENTHREAD_CONFIG_IP6_SLAAC_ENABLE
esteja ativado.
Quando o módulo SLAAC está ativado, os endereços SLAAC (com base em prefixos de malha nos dados de rede) são adicionados à interface. Quando o módulo SLAAC é desativado, qualquer endereço SLAAC adicionado anteriormente é removido.
Detalhes | |||||
---|---|---|---|---|---|
Parâmetros |
|
OtIp6SetSlaacPrefixFilter
void otIp6SetSlaacPrefixFilter( otInstance *aInstance, otIp6SlaacPrefixFilter aFilter )
Esta função define o gerenciador de filtros do módulo SLAAC.
Essa função requer que o recurso de tempo de build OPENTHREAD_CONFIG_IP6_SLAAC_ENABLE
esteja ativado.
O gerenciador de filtros é chamado pelo módulo SLAAC quando está prestes a adicionar um endereço SLAAC com base em um prefixo para decidir se o endereço deve ser adicionado ou não.
Um gerenciador de filtro NULL desativa a filtragem e permite que todos os endereços SLAAC sejam adicionados.
Se essa função não for chamada, o filtro padrão usado pelo módulo SLAAC será NULL (a filtragem está desativada).
Detalhes | |||||
---|---|---|---|---|---|
Parâmetros |
|
OtIp6SockAddrToString
void otIp6SockAddrToString( const otSockAddr *aSockAddr, char *aBuffer, uint16_t aSize )
Essa função converte um determinado endereço de soquete IPv6 em uma string legível.
A string do endereço do soquete IPv6 é formatada como [address
]:port
, em que address
é exibido como 16 valores hexadecimais separados por :
e port
é o número da porta em formato decimal, por exemplo "[%x:%x:...:%x]:%u".
Se a string resultante não couber em aBuffer
(dentro dos caracteres aSize
), ela será truncada, mas a string de saída será sempre terminada com nulo.
Detalhes | |||||||
---|---|---|---|---|---|---|---|
Parâmetros |
|
OtIp6SubscribeMulticastAddress
otError otIp6SubscribeMulticastAddress( otInstance *aInstance, const otIp6Address *aAddress )
Inscreve a interface Thread em um endereço multicast de interface de rede.
O aAddress
transmitido na instância será copiado pela interface da linha de execução. A interface Thread só é compatível com um número fixo de endereços multicast adicionados externamente. Consulte os OPENTHREAD_CONFIG_IP6_MAX_EXT_MCAST_ADDRS
.
Detalhes | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parâmetros |
|
||||||||||
Valores de retorno |
|
OtIp6CancelMulticastAddress
otError otIp6UnsubscribeMulticastAddress( otInstance *aInstance, const otIp6Address *aAddress )
Cancela a inscrição da interface Thread em um endereço multicast de interface de rede.
Detalhes | |||||||
---|---|---|---|---|---|---|---|
Parâmetros |
|
||||||
Valores de retorno |
|
Macros
PR_IP6_ADDRESS_SIZE
OT_IP6_ADDRESS_SIZE 16
Tamanho de um endereço IPv6 (bytes)
PR_IP6_ADDRESS_STRING_SIZE
OT_IP6_ADDRESS_STRING_SIZE 40
Tamanho recomendado para representação de string de um endereço IPv6.
PR_IP6_IID_SIZE
OT_IP6_IID_SIZE 8
Tamanho de um identificador de interface IPv6 (bytes)
PR_IP6_MAX_MLR_ADDRESSES
OT_IP6_MAX_MLR_ADDRESSES 15
Número máximo de endereços IPv6 compatíveis com o registro de ouvinte do multicast.
PR_IP6_PREFIX_BITSIZE
OT_IP6_PREFIX_BITSIZE (OT_IP6_PREFIX_SIZE * 8)
Tamanho de um prefixo IPv6 (bits)
PR_IP6_PREFIX_SIZE
OT_IP6_PREFIX_SIZE 8
Tamanho de um prefixo IPv6 (bytes)
PR_IP6_PREFIX_STRING_SIZE
OT_IP6_PREFIX_STRING_SIZE 45
Tamanho recomendado para representação de string de um prefixo IPv6.
PR_IP6_SOCK_ADDR_STRING_SIZE
OT_IP6_SOCK_ADDR_STRING_SIZE 48
Tamanho recomendado para representação de string de um endereço de soquete IPv6.
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.