IPv6
Esse módulo inclui funções que controlam a comunicação IPv6.
Resumo
Enumerações |
|
---|---|
anonymous enum{
|
enum Números de Protocolo de Internet. |
anonymous enum{
|
enum Origens de endereço IPv6. |
anonymous enum{
|
enum Status de ECN, representados no cabeçalho IP. |
Typedefs |
|
---|---|
otBorderRoutingCounters
|
typedefstruct otBorderRoutingCounters
Representa os contadores de pacotes encaminhados pelo roteamento de borda. |
otIp6Address
|
typedefstruct otIp6Address
Representa um endereço IPv6. |
otIp6AddressCallback)(const otIp6AddressInfo *aAddressInfo, bool aIsAdded, void *aContext)
|
typedefvoid(*
O ponteiro é chamado quando um endereço IPv6 interno é adicionado ou removido. |
otIp6AddressComponents
|
typedefstruct otIp6AddressComponents
Representa os componentes de um endereço IPv6. |
otIp6AddressInfo
|
typedefstruct otIp6AddressInfo
Representa informações de endereço IPv6. |
otIp6InterfaceIdentifier
|
typedefstruct otIp6InterfaceIdentifier
Representa o identificador de interface de um endereço IPv6. |
otIp6NetworkPrefix
|
typedefstruct otIp6NetworkPrefix
Representa o prefixo de rede de um endereço IPv6 (os 64 bits mais significativos do endereço). |
otIp6Prefix
|
typedefstruct otIp6Prefix
Representa um prefixo IPv6. |
otIp6ReceiveCallback)(otMessage *aMessage, void *aContext)
|
typedefvoid(*
O ponteiro é chamado quando um datagrama IPv6 é recebido. |
otIp6RegisterMulticastListenersCallback)(void *aContext, otError aError, uint8_t aMlrStatus, const otIp6Address *aFailedAddresses, uint8_t aFailedAddressNum)
|
typedefvoid(*
O ponteiro é chamado com resultados de otIp6RegisterMulticastListeners . |
otIp6SlaacPrefixFilter)(otInstance *aInstance, const otIp6Prefix *aPrefix)
|
typedefbool(*
O ponteiro 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
Representa os endereços de soquete IPv6 local e de peering. |
otNetifAddress
|
typedefstruct otNetifAddress
Representa um endereço unicast da interface de rede IPv6. |
otNetifMulticastAddress
|
typedefstruct otNetifMulticastAddress
Representa um endereço multicast da interface de rede IPv6. |
otPacketsAndBytes
|
typedefstruct otPacketsAndBytes
Representa os contadores de pacotes e bytes. |
otSockAddr
|
typedefstruct otSockAddr
Representa um endereço de soquete IPv6. |
Variáveis |
|
---|---|
OT_TOOL_PACKED_END
|
remotas |
|
---|---|
otIp6AddUnicastAddress(otInstance *aInstance, const otNetifAddress *aAddress)
|
Adiciona um endereço de interface de rede à interface Thread.
|
otIp6AddUnsecurePort(otInstance *aInstance, uint16_t aPort)
|
Adiciona uma porta à lista de portas não seguras permitidas.
|
otIp6AddressFromString(const char *aString, otIp6Address *aAddress)
|
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
Converte um determinado endereço IPv6 em uma string legível.
|
otIp6ArePrefixesEqual(const otIp6Prefix *aFirst, const otIp6Prefix *aSecond)
|
bool
Teste se os dois prefixos IPv6 são iguais.
|
otIp6GetBorderRoutingCounters(otInstance *aInstance)
|
const otBorderRoutingCounters *
Acessa os contadores do Border Routing.
|
otIp6GetMulticastAddresses(otInstance *aInstance)
|
const otNetifMulticastAddress *
Recebe a lista de endereços multicast IPv6 inscritos na interface Thread.
|
otIp6GetPrefix(const otIp6Address *aAddress, uint8_t aLength, otIp6Prefix *aPrefix)
|
void
Recebe um prefixo com
aLength de aAddress . |
otIp6GetUnicastAddresses(otInstance *aInstance)
|
const otNetifAddress *
Recebe a lista de endereços IPv6 atribuídos à interface Thread.
|
otIp6GetUnsecurePorts(otInstance *aInstance, uint8_t *aNumEntries)
|
const uint16_t *
Retorna um ponteiro para a lista de portas não seguras.
|
otIp6HasUnicastAddress(otInstance *aInstance, const otIp6Address *aAddress)
|
bool
Indica se um endereço IPv6 unicast está atribuído à interface Thread.
|
otIp6IsAddressEqual(const otIp6Address *aFirst, const otIp6Address *aSecond)
|
bool
Teste se dois endereços IPv6 são iguais.
|
otIp6IsAddressUnspecified(const otIp6Address *aAddress)
|
bool
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á ativa ou não.
|
otIp6IsMulticastPromiscuousEnabled(otInstance *aInstance)
|
bool
Verifica se o modo promíscuo multicast está ativado na interface Thread.
|
otIp6IsReceiveFilterEnabled(otInstance *aInstance)
|
bool
Indica se o tráfego de controle do Thread é filtrado ao entregar datagramas IPv6 com o callback especificado em otIp6SetReceiveCallback().
|
otIp6IsSlaacEnabled(otInstance *aInstance)
|
bool
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 para enviar uma mensagem IPv6.
|
otIp6PrefixFromString(const char *aString, otIp6Prefix *aPrefix)
|
Converte uma string de prefixo IPv6 legível em uma representação binária.
|
otIp6PrefixMatch(const otIp6Address *aFirst, const otIp6Address *aSecond)
|
uint8_t
Retorna o tamanho de correspondência do prefixo (bits) para dois endereços IPv6.
|
otIp6PrefixToString(const otIp6Prefix *aPrefix, char *aBuffer, uint16_t aSize)
|
void
Converte determinado prefixo IPv6 em uma string legível.
|
otIp6ProtoToString(uint8_t aIpProto)
|
const char *
Converte 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)
|
Registra listeners multicast no roteador de backbone principal.
|
otIp6RemoveAllUnsecurePorts(otInstance *aInstance)
|
void
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)
|
Remove uma porta da lista de portas não seguras permitidas.
|
otIp6ResetBorderRoutingCounters(otInstance *aInstance)
|
void
Redefine os contadores do Roteamento de Borda.
|
otIp6SelectSourceAddress(otInstance *aInstance, otMessageInfo *aMessageInfo)
|
Executa a seleção de endereço de origem do OpenThread.
|
otIp6Send(otInstance *aInstance, otMessage *aMessage)
|
Envia um datagrama IPv6 pela interface Thread.
|
otIp6SetAddressCallback(otInstance *aInstance, otIp6AddressCallback aCallback, void *aCallbackContext)
|
void
Registra um callback para notificar mudanças de endereços IPv6 internos.
|
otIp6SetEnabled(otInstance *aInstance, bool aEnabled)
|
Substitui a interface IPv6 para cima ou para baixo.
|
otIp6SetMeshLocalIid(otInstance *aInstance, const otIp6InterfaceIdentifier *aIid)
|
Define o IID da malha local (para fins de teste).
|
otIp6SetMulticastPromiscuousEnabled(otInstance *aInstance, bool aEnabled)
|
void
Ativa ou desativa o modo promíscuo de multicast na interface Thread.
|
otIp6SetReceiveCallback(otInstance *aInstance, otIp6ReceiveCallback aCallback, void *aCallbackContext)
|
void
Registra um callback para fornecer datagramas IPv6 recebidos.
|
otIp6SetReceiveFilterEnabled(otInstance *aInstance, bool aEnabled)
|
void
Define se o tráfego de controle da linha de execução é filtrado ao enviar datagramas IPv6 por meio do callback especificado em otIp6SetReceiveCallback().
|
otIp6SetSlaacEnabled(otInstance *aInstance, bool aEnabled)
|
void
Ativa/desativa o módulo SLAAC.
|
otIp6SetSlaacPrefixFilter(otInstance *aInstance, otIp6SlaacPrefixFilter aFilter)
|
void
Define o gerenciador de filtros do módulo SLAAC.
|
otIp6SockAddrToString(const otSockAddr *aSockAddr, char *aBuffer, uint16_t aSize)
|
void
Converte 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 da interface de rede.
|
otIp6UnsubscribeMulticastAddress(otInstance *aInstance, const otIp6Address *aAddress)
|
Cancela a inscrição na interface Thread para um endereço multicast da interface de rede.
|
Estruturas |
|
---|---|
otBorderRoutingCounters |
Representa os contadores de pacotes encaminhados pelo roteamento de borda. |
otIp6Address |
Representa um endereço IPv6. |
otIp6AddressComponents |
Representa os componentes de um endereço IPv6. |
otIp6AddressInfo |
Representa informações de endereço IPv6. |
otIp6InterfaceIdentifier |
Representa o identificador de interface de um endereço IPv6. |
otIp6NetworkPrefix |
Representa o prefixo de rede de um endereço IPv6 (os 64 bits mais significativos do endereço). |
otIp6Prefix |
Representa um prefixo IPv6. |
otMessageInfo |
Representa os endereços de soquete IPv6 local e de peering. |
otNetifAddress |
Representa um endereço unicast da interface de rede IPv6. |
otNetifMulticastAddress |
Representa um endereço multicast da interface de rede IPv6. |
otPacketsAndBytes |
Representa os contadores de pacotes e bytes. |
otSockAddr |
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 a salto IPv6. |
OT_IP6_PROTO_ICMP6
|
ICMP para IPv6. |
OT_IP6_PROTO_IP6
|
Encapsulamento do 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
|
Endereço atribuído DHCPv6. |
OT_ADDRESS_ORIGIN_MANUAL
|
Endereço atribuído manualmente. |
OT_ADDRESS_ORIGIN_SLAAC
|
Endereço atribuído SLAAC. |
OT_ADDRESS_ORIGIN_THREAD
|
Endereço atribuído da linha de execução (ALOC, RLOC, MLEID etc.) |
enumeração anônima
anonymous enum
Status de ECN, representados no cabeçalho IP.
Propriedades | |
---|---|
OT_ECN_CAPABLE_0
|
ECT(0) |
OT_ECN_CAPABLE_1
|
ECT(1) |
OT_ECN_MARKED
|
Congestionamento encontrado (CE) |
OT_ECN_NOT_CAPABLE
|
Não ECT. |
Typedefs
otBorderRoutingCounters
struct otBorderRoutingCounters otBorderRoutingCounters
Representa os contadores de pacotes encaminhados pelo roteamento de borda.
otIp6AddressCallback
void(* otIp6AddressCallback)(const otIp6AddressInfo *aAddressInfo, bool aIsAdded, void *aContext)
O ponteiro é chamado quando um endereço IPv6 interno é adicionado ou removido.
Detalhes | |||||||
---|---|---|---|---|---|---|---|
Parâmetros |
|
otIp6AddressComponents
struct otIp6AddressComponents otIp6AddressComponents
Representa os componentes de um endereço IPv6.
otIp6InterfaceIdentifier
struct otIp6InterfaceIdentifier otIp6InterfaceIdentifier
Representa o identificador de interface de um endereço IPv6.
otIp6NetworkPrefix
struct otIp6NetworkPrefix otIp6NetworkPrefix
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)
O ponteiro é 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)
O ponteiro é chamado com resultados de otIp6RegisterMulticastListeners
.
Detalhes | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parâmetros |
|
otIp6RegisterMulticastListeners
otIp6SlaacPrefixFilter
bool(* otIp6SlaacPrefixFilter)(otInstance *aInstance, const otIp6Prefix *aPrefix)
O ponteiro 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 ele está prestes a adicionar um endereço SLAAC com base em um prefixo. O 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
Representa os endereços de soquete IPv6 local e de peering.
otNetifAddress
struct otNetifAddress otNetifAddress
Representa um endereço unicast da interface de rede IPv6.
otNetifMulticastAddress
struct otNetifMulticastAddress otNetifMulticastAddress
Representa um endereço multicast da interface de rede IPv6.
otPacketsAndBytes
struct otPacketsAndBytes otPacketsAndBytes
Representa os contadores de pacotes e bytes.
Variáveis
OT_TOOL_PACKED_END
OT_TOOL_PACKED_BEGIN struct otIp6InterfaceIdentifier OT_TOOL_PACKED_END
remotas
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 aceita apenas 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 |
|
otIp6AddUnsecurePort
otError otIp6AddUnsecurePort( otInstance *aInstance, uint16_t aPort )
Adiciona uma porta à lista de portas não seguras permitidas.
Detalhes | |||||||
---|---|---|---|---|---|---|---|
Parâmetros |
|
||||||
Valores de retorno |
|
otIp6AddressFromString
otError otIp6AddressFromString( const char *aString, otIp6Address *aAddress )
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 )
Converte um determinado endereço IPv6 em uma string legível.
A string do endereço IPv6 é formatada como 16 valores hexadecimais separados por ":" (por exemplo, "%x:%x:%x:...:%x").
Se a string resultante não couber em aBuffer
(dentro dos caracteres aSize
), ela será truncada, mas a gerada sempre será terminada com valor nulo.
Detalhes | |||||||
---|---|---|---|---|---|---|---|
Parâmetros |
|
otIp6ArePrefixesEqual
bool otIp6ArePrefixesEqual( const otIp6Prefix *aFirst, const otIp6Prefix *aSecond )
Teste se os dois prefixos IPv6 são iguais.
Detalhes | |||||
---|---|---|---|---|---|
Parâmetros |
|
||||
Valores de retorno |
|
otIp6GetBorderRoutingCounters
const otBorderRoutingCounters * otIp6GetBorderRoutingCounters( otInstance *aInstance )
Acessa os contadores do Border Routing.
O recurso de tempo de build OPENTHREAD_CONFIG_IP6_BR_COUNTERS_ENABLE
precisa estar ativado.
Detalhes | |||
---|---|---|---|
Parâmetros |
|
||
Retorna |
Um ponteiro para os contadores do Border Routing.
|
otIp6GetMulticastAddresses
const otNetifMulticastAddress * otIp6GetMulticastAddresses( otInstance *aInstance )
Recebe a lista de endereços multicast IPv6 inscritos na interface Thread.
Detalhes | |||
---|---|---|---|
Parâmetros |
|
||
Retorna |
Um ponteiro para o primeiro endereço multicast da interface de rede.
|
otIp6GetPrefix
void otIp6GetPrefix( const otIp6Address *aAddress, uint8_t aLength, otIp6Prefix *aPrefix )
Recebe um prefixo com aLength
de aAddress
.
Detalhes | |||||||
---|---|---|---|---|---|---|---|
Parâmetros |
|
otIp6GetUnicastAddresses
const otNetifAddress * otIp6GetUnicastAddresses( otInstance *aInstance )
Recebe a lista de endereços IPv6 atribuídos à interface 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 )
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.
|
otIp6HasUnicastAddress
bool otIp6HasUnicastAddress( otInstance *aInstance, const otIp6Address *aAddress )
Indica se um endereço IPv6 unicast está atribuído à interface Thread.
Detalhes | |||||
---|---|---|---|---|---|
Parâmetros |
|
||||
Valores de retorno |
|
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 )
Indica se um determinado endereço IPv6 é ou não o endereço não especificado.
Detalhes | |||||
---|---|---|---|---|---|
Parâmetros |
|
||||
Valores de retorno |
|
otIp6IsEnabled
bool otIp6IsEnabled( otInstance *aInstance )
Indica se a interface IPv6 está ativa 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 Thread.
Detalhes | |||
---|---|---|---|
Parâmetros |
|
otIp6SetMulticastPromiscuousEnabled
otIp6IsReceiveFilterEnabled
bool otIp6IsReceiveFilterEnabled( otInstance *aInstance )
Indica se o tráfego de controle do Thread é filtrado ao entregar datagramas IPv6 com o callback especificado em otIp6SetReceiveCallback().
Detalhes | |||
---|---|---|---|
Parâmetros |
|
||
Retorna |
TRUE se o tráfego de controle de conversas for filtrado; caso contrário, FALSE.
|
otIp6SetReceiveCallback
otIp6SetReceiveFilterEnabled
otIp6IsSlaacEnabled
bool otIp6IsSlaacEnabled( otInstance *aInstance )
Indica se o módulo SLAAC está ativado ou não.
O recurso de tempo de build OPENTHREAD_CONFIG_IP6_SLAAC_ENABLE
precisa estar 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 de mensagem ou NULL se nenhum buffer de mensagem estiver disponível ou se 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 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 )
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 tamanho de prefixo.
Detalhes | |||||
---|---|---|---|---|---|
Parâmetros |
|
||||
Valores de retorno |
|
otIp6PrefixMatch
uint8_t otIp6PrefixMatch( const otIp6Address *aFirst, const otIp6Address *aSecond )
Retorna o tamanho de correspondência do prefixo (bits) para dois endereços IPv6.
Detalhes | |||||
---|---|---|---|---|---|
Parâmetros |
|
||||
Retorna |
O prefixo corresponde ao comprimento em bits.
|
otIp6PrefixToString
void otIp6PrefixToString( const otIp6Prefix *aPrefix, char *aBuffer, uint16_t aSize )
Converte 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 gerada sempre será terminada com valor nulo.
Detalhes | |||||||
---|---|---|---|---|---|---|---|
Parâmetros |
|
otIp6ProtoToString
const char * otIp6ProtoToString( uint8_t aIpProto )
Converte 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 )
Registra listeners multicast no roteador de backbone principal.
É preciso ativar OPENTHREAD_CONFIG_TMF_PROXY_MLR_ENABLE
e OPENTHREAD_CONFIG_COMMISSIONER_ENABLE
.
Detalhes | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parâmetros |
|
||||||||||||
Valores de retorno |
|
otIp6RegisterMulticastListenersCallback
otIp6RemoveAllUnsecurePorts
void otIp6RemoveAllUnsecurePorts( otInstance *aInstance )
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 |
|
otIp6RemoveUnsecurePort
otError otIp6RemoveUnsecurePort( otInstance *aInstance, uint16_t aPort )
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 do Roteamento de Borda.
Detalhes | |||
---|---|---|---|
Parâmetros |
|
otIp6SelectSourceAddress
otError otIp6SelectSourceAddress( otInstance *aInstance, otMessageInfo *aMessageInfo )
Executa a seleção de endereço de origem do OpenThread.
Detalhes | |||||
---|---|---|---|---|---|
Parâmetros |
|
||||
Valores de retorno |
|
otIp6Send
otError otIp6Send( otInstance *aInstance, otMessage *aMessage )
Envia um datagrama IPv6 pela interface 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 )
Registra um callback para notificar mudanças de endereços IPv6 internos.
Detalhes | |||||||
---|---|---|---|---|---|---|---|
Parâmetros |
|
otIp6SetEnabled
otError otIp6SetEnabled( otInstance *aInstance, bool aEnabled )
Substitui a interface IPv6 para cima ou para baixo.
Chame esse evento para ativar ou desativar a comunicação IPv6.
Detalhes | |||||
---|---|---|---|---|---|
Parâmetros |
|
||||
Valores de retorno |
|
otIp6SetMeshLocalIid
otError otIp6SetMeshLocalIid( otInstance *aInstance, const otIp6InterfaceIdentifier *aIid )
Define o IID da malha local (para fins de teste).
Exige OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE
.
Detalhes | |||||
---|---|---|---|---|---|
Parâmetros |
|
||||
Valores de retorno |
|
otIp6SetMulticastPromiscuousEnabled
void otIp6SetMulticastPromiscuousEnabled( otInstance *aInstance, bool aEnabled )
Ativa ou desativa o modo promíscuo de multicast na interface Thread.
Detalhes | |||||
---|---|---|---|---|---|
Parâmetros |
|
otIp6IsMulticastPromiscuousEnabled
otIp6SetReceiveCallback
void otIp6SetReceiveCallback( otInstance *aInstance, otIp6ReceiveCallback aCallback, void *aCallbackContext )
Registra um callback para fornecer datagramas IPv6 recebidos.
Por padrão, esse callback não transmite o tráfego de controle do Thread. Consulte otIp6SetReceiveFilterEnabled() para mudar a configuração do filtro de tráfego do controle de linha de execução.
Detalhes | |||||||
---|---|---|---|---|---|---|---|
Parâmetros |
|
otIp6IsReceiveFilterEnabled
otIp6SetReceiveFilterEnabled
otIp6SetReceiveFilterEnabled
void otIp6SetReceiveFilterEnabled( otInstance *aInstance, bool aEnabled )
Define se o tráfego de controle da linha de execução é filtrado ao enviar datagramas IPv6 por meio do callback especificado em otIp6SetReceiveCallback().
Detalhes | |||||
---|---|---|---|---|---|
Parâmetros |
|
otIp6SetReceiveCallback
otIsReceiveIp6FilterEnabled
otIp6SetSlaacEnabled
void otIp6SetSlaacEnabled( otInstance *aInstance, bool aEnabled )
Ativa/desativa o módulo SLAAC.
O recurso de tempo de build OPENTHREAD_CONFIG_IP6_SLAAC_ENABLE
precisa estar ativado.
Quando o módulo SLAAC está ativado, os endereços SLAAC (com base em prefixos na malha em 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 )
Define o gerenciador de filtros do módulo SLAAC.
O recurso de tempo de build OPENTHREAD_CONFIG_IP6_SLAAC_ENABLE
precisa estar ativado.
O gerenciador de filtros é chamado pelo módulo SLAAC quando ele está prestes a adicionar um endereço SLAAC com base em um prefixo para decidir se o endereço precisa 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 )
Converte determinado endereço de soquete IPv6 em uma string legível.
A string de endereço do soquete IPv6 é formatada como [address
]:port
, em que address
é mostrado 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 gerada sempre será terminada com valor nulo.
Detalhes | |||||||
---|---|---|---|---|---|---|---|
Parâmetros |
|
otIp6SubscribeMulticastAddress
otError otIp6SubscribeMulticastAddress( otInstance *aInstance, const otIp6Address *aAddress )
Inscreve a interface Thread em um endereço multicast da interface de rede.
O transmitido na instância aAddress
será copiado pela interface Thread. A interface Thread aceita apenas 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 |
|
otIp6UnsubscribeMulticastAddress
otError otIp6UnsubscribeMulticastAddress( otInstance *aInstance, const otIp6Address *aAddress )
Cancela a inscrição na interface Thread para um endereço multicast da interface de rede.
Detalhes | |||||||
---|---|---|---|---|---|---|---|
Parâmetros |
|
||||||
Valores de retorno |
|
Macros
OT_IP6_ADDRESS_SIZE
OT_IP6_ADDRESS_SIZE 16
Tamanho de um endereço IPv6 (bytes)
OT_IP6_ADDRESS_STRING_SIZE
OT_IP6_ADDRESS_STRING_SIZE 40
Tamanho recomendado para representação de string de um endereço IPv6.
OT_IP6_HEADER_PROTO_OFFSET
OT_IP6_HEADER_PROTO_OFFSET 6
Deslocamento do campo proto no cabeçalho IPv6 (bytes)
OT_IP6_HEADER_SIZE
OT_IP6_HEADER_SIZE 40
Tamanho de um cabeçalho IPv6 (bytes)
OT_IP6_IID_SIZE
OT_IP6_IID_SIZE 8
Tamanho de um identificador de interface IPv6 (bytes)
OT_IP6_MAX_MLR_ADDRESSES
OT_IP6_MAX_MLR_ADDRESSES 15
Número máximo de endereços IPv6 compatíveis com o registro de listener multicast.
OT_IP6_PREFIX_BITSIZE
OT_IP6_PREFIX_BITSIZE (OT_IP6_PREFIX_SIZE * 8)
Tamanho de um prefixo IPv6 (bits)
OT_IP6_PREFIX_SIZE
OT_IP6_PREFIX_SIZE 8
Tamanho de um prefixo IPv6 (bytes)
OT_IP6_PREFIX_STRING_SIZE
OT_IP6_PREFIX_STRING_SIZE 45
Tamanho recomendado para a representação de string de um prefixo IPv6.
OT_IP6_SOCK_ADDR_STRING_SIZE
OT_IP6_SOCK_ADDR_STRING_SIZE 48
Tamanho recomendado para a 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.