UDP Este módulo inclui funções que controlam a comunicação UDP.
Resumo Typedefs otUdpHandler )(void *aContext, const otMessage *aMessage, const otMessageInfo *aMessageInfo)
typedef bool(*
Este retorno de chamada permite que o OpenThread forneça manipuladores específicos para certas mensagens UDP.
otUdpReceive )(void *aContext, otMessage *aMessage, const otMessageInfo *aMessageInfo)
typedef void(*
Este retorno de chamada permite que o OpenThread informe o aplicativo de uma mensagem UDP recebida.
otUdpReceiver
typedef Esta estrutura representa um receptor UDP.
otUdpSocket
typedef Essa estrutura representa um soquete UDP.
Funções otUdpAddReceiver ( otInstance *aInstance, otUdpReceiver *aUdpReceiver)
Esta função adiciona um receptor UDP.
otUdpBind ( otInstance *aInstance, otUdpSocket *aSocket, const otSockAddr *aSockName)
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)
Esta função obtém o cabeçalho da lista vinculada de Sockets UDP.
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)
Esta função 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)
Esta função envia uma mensagem UDP sem socket.
Typedefs otUdpHandler bool(* otUdpHandler)(void *aContext, const otMessage *aMessage, const otMessageInfo *aMessageInfo) Este retorno de chamada permite que o OpenThread forneça manipuladores específicos para certas mensagens UDP.
Detalhes Valores Retornados true
A mensagem é tratada por este receptor e não deve ser processada posteriormente.
false
A mensagem não é tratada por este receptor.
otUdpReceive void(* otUdpReceive)(void *aContext, otMessage *aMessage, const otMessageInfo *aMessageInfo) Este retorno de chamada permite que o OpenThread informe o aplicativo de uma mensagem UDP recebida.
otUdpReceiver struct otUdpReceiver otUdpReceiver Esta estrutura representa um receptor UDP.
otUdpSocket struct otUdpSocket otUdpSocket Essa estrutura representa um soquete UDP.
Funções otUdpAddReceiver otError otUdpAddReceiver(
otInstance *aInstance,
otUdpReceiver *aUdpReceiver
) Esta função adiciona um receptor UDP.
Detalhes Parâmetros [in] aInstance
Um ponteiro para uma instância OpenThread.
[in] aUdpReceiver
Um ponteiro para o receptor UDP.
Valores Retornados OT_ERROR_NONE
O receptor foi adicionado com sucesso.
OT_ERROR_ALREADY
O receptor UDP já foi adicionado.
otUdpBind otError otUdpBind(
otInstance *aInstance,
otUdpSocket *aSocket,
const otSockAddr *aSockName
) Vincule um soquete UDP / IPv6.
Detalhes Parâmetros [in] aInstance
Um ponteiro para uma instância OpenThread.
[in] aSocket
Um ponteiro para uma estrutura de soquete UDP.
[in] aSockName
Um ponteiro para uma estrutura de endereço de soquete IPv6.
Valores Retornados OT_ERROR_NONE
A operação de vinculação foi bem-sucedida.
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 OpenThread.
[in] aSocket
Um ponteiro para uma estrutura de soquete UDP.
Valores Retornados OT_ERROR_NONE
O soquete foi fechado com sucesso.
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 OpenThread.
[in] aSocket
Um ponteiro para uma estrutura de soquete UDP.
[in] aSockName
Um ponteiro para uma estrutura de endereço de soquete IPv6.
Valores Retornados OT_ERROR_NONE
A operação de conexão foi bem-sucedida.
OT_ERROR_FAILED
Falha ao conectar o soquete UDP.
otUdpGetSockets otUdpSocket * otUdpGetSockets(
otInstance *aInstance
) Esta função obtém o cabeçalho da lista vinculada de Sockets UDP.
Detalhes Parâmetros [in] aInstance
Um ponteiro para uma instância OpenThread.
Devoluções Um ponteiro para o início da lista vinculada de soquetes UDP.
otUdpNewMessage otMessage * otUdpNewMessage(
otInstance *aInstance,
const otMessageSettings *aSettings
) Aloque um novo buffer de mensagem para enviar uma mensagem UDP.
Nota: Se aSettings
for 'NULL', a segurança da camada de link é habilitada e a prioridade da mensagem é definida como OT_MESSAGE_PRIORITY_NORMAL por padrão.
Detalhes Parâmetros [in] aInstance
Um ponteiro para uma instância OpenThread.
[in] aSettings
Um ponteiro para as configurações de mensagem ou NULL para usar as configurações padrão.
Devoluções Um ponteiro para o buffer de mensagem ou NULL se nenhum buffer de mensagem estiver disponível ou os parâmetros forem inválidos.
Veja 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 OpenThread.
[in] aSocket
Um ponteiro para uma estrutura de soquete UDP.
[in] aCallback
Um ponteiro para a função de retorno de chamada do aplicativo.
[in] aContext
Um ponteiro para o contexto específico do aplicativo.
Valores Retornados OT_ERROR_NONE
O soquete foi aberto com sucesso.
OT_ERROR_FAILED
Falha ao abrir o soquete.
otUdpRemoveReceiver otError otUdpRemoveReceiver(
otInstance *aInstance,
otUdpReceiver *aUdpReceiver
) Esta função remove um receptor UDP.
Detalhes Parâmetros [in] aInstance
Um ponteiro para uma instância OpenThread.
[in] aUdpReceiver
Um ponteiro para o receptor UDP.
Valores Retornados OT_ERROR_NONE
O receptor foi removido com sucesso.
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, OpenThread assume a propriedade de aMessage
e o chamador não deve mais fazer referência a aMessage
. Se o valor de retorno não for OT_ERROR_NONE, o chamador retém a propriedade de aMessage
, incluindo a liberação de aMessage
se o buffer de mensagem não for mais necessário.
Detalhes Parâmetros [in] aInstance
Um ponteiro para uma instância 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ção da mensagem.
Detalhes Valores Retornados OT_ERROR_NONE
A mensagem foi agendada para envio com sucesso.
OT_ERROR_INVALID_ARGS
Argumentos inválidos são fornecidos.
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
) Esta função envia uma mensagem UDP sem socket.
Detalhes Parâmetros [in] aInstance
Um ponteiro para uma instância OpenThread.
[in] aMessage
Um ponteiro para uma mensagem sem cabeçalho UDP.
[in] aMessageInfo
Um ponteiro para uma informação mensagem associada aMessage
.
Valores Retornados OT_ERROR_NONE
Enfileirou a mensagem com sucesso em uma interface de saída.
OT_ERROR_NO_BUFS
Buffer disponível insuficiente para adicionar os cabeçalhos IPv6.