UDP

Esse módulo inclui funções que controlam a comunicação UDP.

Resumo

Enumerações

otNetifIdentifier{
  OT_NETIF_UNSPECIFIED = 0,
  OT_NETIF_THREAD,
  OT_NETIF_BACKBONE
}
enum
Define os identificadores da interface de rede do OpenThread.

Typedefs

otNetifIdentifier typedef
Define os identificadores da interface de rede do OpenThread.
otUdpHandler)(void *aContext, const otMessage *aMessage, const otMessageInfo *aMessageInfo) typedef
bool(*
Esse callback permite que o OpenThread forneça gerenciadores específicos para determinadas mensagens UDP.
otUdpReceive)(void *aContext, otMessage *aMessage, const otMessageInfo *aMessageInfo) typedef
void(*
Esse callback permite que o OpenThread informe o aplicativo sobre uma mensagem UDP recebida.
otUdpReceiver typedef
struct otUdpReceiver
Representa um receptor UDP.
otUdpSocket typedef
struct otUdpSocket
Representa um soquete UDP.

remotas

otUdpAddReceiver(otInstance *aInstance, otUdpReceiver *aUdpReceiver)
Adiciona um receptor UDP.
otUdpBind(otInstance *aInstance, otUdpSocket *aSocket, const otSockAddr *aSockName, otNetifIdentifier aNetif)
Vincule um soquete UDP/IPv6.
otUdpClose(otInstance *aInstance, otUdpSocket *aSocket)
Feche um soquete UDP/IPv6.
otUdpConnect(otInstance *aInstance, otUdpSocket *aSocket, const otSockAddr *aSockName)
Conecte um soquete UDP/IPv6.
otUdpGetSockets(otInstance *aInstance)
Recebe o cabeçalho da lista vinculada de soquetes UDP.
otUdpIsOpen(otInstance *aInstance, const otUdpSocket *aSocket)
bool
Verifique se um soquete UDP está aberto.
otUdpNewMessage(otInstance *aInstance, const otMessageSettings *aSettings)
Aloque um novo buffer de mensagem para enviar uma mensagem UDP.
otUdpOpen(otInstance *aInstance, otUdpSocket *aSocket, otUdpReceive aCallback, void *aContext)
Abra um soquete UDP/IPv6.
otUdpRemoveReceiver(otInstance *aInstance, otUdpReceiver *aUdpReceiver)
Remove um receptor UDP.
otUdpSend(otInstance *aInstance, otUdpSocket *aSocket, otMessage *aMessage, const otMessageInfo *aMessageInfo)
Envie uma mensagem UDP/IPv6.
otUdpSendDatagram(otInstance *aInstance, otMessage *aMessage, otMessageInfo *aMessageInfo)
Envia uma mensagem UDP sem soquete.

Estruturas

otUdpReceiver

Representa um receptor UDP.

otUdpSocket

Representa um soquete UDP.

Enumerações

otNetifIdentifier

 otNetifIdentifier

Define os identificadores da interface de rede do OpenThread.

Propriedades
OT_NETIF_BACKBONE

A interface Backbone.

OT_NETIF_THREAD

A interface Thread.

OT_NETIF_UNSPECIFIED

Interface de rede não especificada.

Typedefs

otNetifIdentifier

enum otNetifIdentifier otNetifIdentifier

Define os identificadores da interface de rede do OpenThread.

otUdpHandler

bool(* otUdpHandler)(void *aContext, const otMessage *aMessage, const otMessageInfo *aMessageInfo)

Esse callback permite que o OpenThread forneça gerenciadores específicos para determinadas mensagens UDP.

Detalhes
Valores de retorno
true
A mensagem é tratada por este receptor e não deve ser processada.
false
A mensagem não é processada por este destinatário.

otUdpReceive

void(* otUdpReceive)(void *aContext, otMessage *aMessage, const otMessageInfo *aMessageInfo)

Esse callback permite que o OpenThread informe o aplicativo sobre uma mensagem UDP recebida.

otUdpReceiver

struct otUdpReceiver otUdpReceiver

Representa um receptor UDP.

otUdpSocket

struct otUdpSocket otUdpSocket

Representa um soquete UDP.

remotas

otUdpAddReceiver

otError otUdpAddReceiver(
  otInstance *aInstance,
  otUdpReceiver *aUdpReceiver
)

Adiciona um receptor UDP.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
[in] aUdpReceiver
Um ponteiro para o receptor UDP.
Valores de retorno
OT_ERROR_NONE
O receptor foi adicionado.
OT_ERROR_ALREADY
O receptor UDP já foi adicionado.

otUdpBind

otError otUdpBind(
  otInstance *aInstance,
  otUdpSocket *aSocket,
  const otSockAddr *aSockName,
  otNetifIdentifier aNetif
)

Vincule um soquete UDP/IPv6.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
[in] aSocket
Um ponteiro para uma estrutura de soquete UDP.
[in] aSockName
Um ponteiro para uma estrutura de endereços de soquete IPv6.
[in] aNetif
A interface de rede que será vinculada.
Valores de retorno
OT_ERROR_NONE
A operação de vinculação foi concluída.
OT_ERROR_FAILED
Falha ao vincular o soquete UDP.

otUdpClose

otError otUdpClose(
  otInstance *aInstance,
  otUdpSocket *aSocket
)

Feche um soquete UDP/IPv6.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
[in] aSocket
Um ponteiro para uma estrutura de soquete UDP.
Valores de retorno
OT_ERROR_NONE
O soquete foi fechado.
OT_ERROR_FAILED
Falha ao fechar o soquete UDP.

otUdpConnect

otError otUdpConnect(
  otInstance *aInstance,
  otUdpSocket *aSocket,
  const otSockAddr *aSockName
)

Conecte um soquete UDP/IPv6.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
[in] aSocket
Um ponteiro para uma estrutura de soquete UDP.
[in] aSockName
Um ponteiro para uma estrutura de endereços de soquete IPv6.
Valores de retorno
OT_ERROR_NONE
A operação de conexão foi concluída.
OT_ERROR_FAILED
Falha ao conectar o soquete UDP.

otUdpGetSockets

otUdpSocket * otUdpGetSockets(
  otInstance *aInstance
)

Recebe o cabeçalho da lista vinculada de soquetes UDP.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
Retorna
Um ponteiro para o cabeçalho da lista vinculada de soquetes UDP.

otUdpIsOpen

bool otUdpIsOpen(
  otInstance *aInstance,
  const otUdpSocket *aSocket
)

Verifique se um soquete UDP está aberto.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
[in] aSocket
Um ponteiro para uma estrutura de soquete UDP.
Retorna
Se o soquete UDP está aberto.

otUdpNewMessage

otMessage * otUdpNewMessage(
  otInstance *aInstance,
  const otMessageSettings *aSettings
)

Aloque um novo buffer de mensagem para enviar uma mensagem UDP.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
[in] aSettings
Um ponteiro para as configurações da mensagem ou NULL para usar as configurações padrão.
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.
Consulte também:
otMessageFree

otUdpOpen

otError otUdpOpen(
  otInstance *aInstance,
  otUdpSocket *aSocket,
  otUdpReceive aCallback,
  void *aContext
)

Abra um soquete UDP/IPv6.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
[in] aSocket
Um ponteiro para uma estrutura de soquete UDP.
[in] aCallback
Um ponteiro para a função de callback do aplicativo.
[in] aContext
Um ponteiro para o contexto específico do aplicativo.
Valores de retorno
OT_ERROR_NONE
O soquete foi aberto.
OT_ERROR_FAILED
Falha ao abrir o soquete.

otUdpRemoveReceiver

otError otUdpRemoveReceiver(
  otInstance *aInstance,
  otUdpReceiver *aUdpReceiver
)

Remove um receptor UDP.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
[in] aUdpReceiver
Um ponteiro para o receptor UDP.
Valores de retorno
OT_ERROR_NONE
O receptor foi removido.
OT_ERROR_NOT_FOUND
O receptor UDP não foi adicionado.

otUdpSend

otError otUdpSend(
  otInstance *aInstance,
  otUdpSocket *aSocket,
  otMessage *aMessage,
  const otMessageInfo *aMessageInfo
)

Envie uma mensagem UDP/IPv6.

Se o valor de retorno for OT_ERROR_NONE, o OpenThread assumirá a propriedade de aMessage, e o autor da chamada não deverá mais referenciar aMessage. Se o valor de retorno não for OT_ERROR_NONE, o autor da chamada manterá a propriedade de aMessage, incluindo liberar aMessage se o buffer de mensagem não for mais necessário.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
[in] aSocket
Um ponteiro para uma estrutura de soquete UDP.
[in] aMessage
Um ponteiro para um buffer de mensagem.
[in] aMessageInfo
Um ponteiro para uma estrutura de informações da mensagem.

Detalhes
Valores de retorno
OT_ERROR_NONE
O envio da mensagem foi programado.
OT_ERROR_INVALID_ARGS
Foram fornecidos argumentos inválidos.
OT_ERROR_NO_BUFS
Buffer disponível insuficiente para adicionar os cabeçalhos UDP e IPv6.

otUdpSendDatagram

otError otUdpSendDatagram(
  otInstance *aInstance,
  otMessage *aMessage,
  otMessageInfo *aMessageInfo
)

Envia uma mensagem UDP sem soquete.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
[in] aMessage
Um ponteiro para uma mensagem sem cabeçalho UDP.
[in] aMessageInfo
Um ponteiro para uma informação de mensagem associada ao aMessage.
Valores de retorno
OT_ERROR_NONE
A mensagem foi enfileirada com sucesso em uma interface de saída.
OT_ERROR_NO_BUFS
Buffer disponível insuficiente para adicionar os cabeçalhos IPv6.
OT_ERROR_INVALID_ARGS
Foram fornecidos argumentos inválidos.

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.