UDP

Ce module inclut des fonctions qui contrôlent la communication UDP.

Résumé

Énumérations

otNetifIdentifier{
  OT_NETIF_UNSPECIFIED = 0,
  OT_NETIF_THREAD,
  OT_NETIF_BACKBONE
}
enum
Cette énumération définit les identifiants d'interface réseau OpenThread.

Typedefs

otNetifIdentifier Typedef
Cette énumération définit les identifiants d'interface réseau OpenThread.
otUdpHandler)(void *aContext, const otMessage *aMessage, const otMessageInfo *aMessageInfo) Typedef
bool(*
Ce rappel permet à OpenThread de fournir des gestionnaires spécifiques pour certains messages UDP.
otUdpReceive)(void *aContext, otMessage *aMessage, const otMessageInfo *aMessageInfo) Typedef
void(*
Ce rappel permet à OpenThread d'informer l'application d'un message UDP reçu.
otUdpReceiver Typedef
struct otUdpReceiver
Cette structure représente un récepteur UDP.
otUdpSocket Typedef
struct otUdpSocket
Cette structure représente un socket UDP.

Functions

otUdpAddReceiver(otInstance *aInstance, otUdpReceiver *aUdpReceiver)
Cette fonction ajoute un récepteur UDP.
otUdpBind(otInstance *aInstance, otUdpSocket *aSocket, const otSockAddr *aSockName, otNetifIdentifier aNetif)
Lier un socket UDP/IPv6
otUdpClose(otInstance *aInstance, otUdpSocket *aSocket)
Fermez un socket UDP/IPv6.
otUdpConnect(otInstance *aInstance, otUdpSocket *aSocket, const otSockAddr *aSockName)
Connectez un socket UDP/IPv6.
otUdpGetSockets(otInstance *aInstance)
Cette fonction récupère la tête de la liste des sockets UDP associés.
otUdpIsOpen(otInstance *aInstance, const otUdpSocket *aSocket)
bool
Vérifiez si un socket UDP est ouvert.
otUdpNewMessage(otInstance *aInstance, const otMessageSettings *aSettings)
Allouez un nouveau tampon de message pour l'envoi d'un message UDP.
otUdpOpen(otInstance *aInstance, otUdpSocket *aSocket, otUdpReceive aCallback, void *aContext)
Ouvrez un socket UDP/IPv6.
otUdpRemoveReceiver(otInstance *aInstance, otUdpReceiver *aUdpReceiver)
Cette fonction supprime un récepteur UDP.
otUdpSend(otInstance *aInstance, otUdpSocket *aSocket, otMessage *aMessage, const otMessageInfo *aMessageInfo)
Envoyez un message UDP/IPv6.
otUdpSendDatagram(otInstance *aInstance, otMessage *aMessage, otMessageInfo *aMessageInfo)
Cette fonction envoie un message UDP sans socket.

Structure

otUdpReceiver

Cette structure représente un récepteur UDP.

otUdpSocket

Cette structure représente un socket UDP.

Énumérations

OTNetifIdentifier

 otNetifIdentifier

Cette énumération définit les identifiants d'interface réseau OpenThread.

Properties
OT_NETIF_BACKBONE

Interface Backbone.

OT_NETIF_THREAD

Interface Thread.

OT_NETIF_UNSPECIFIED

Interface réseau non spécifiée.

Typedefs

OTNetifIdentifier

enum otNetifIdentifier otNetifIdentifier

Cette énumération définit les identifiants d'interface réseau OpenThread.

otUdpHandler

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

Ce rappel permet à OpenThread de fournir des gestionnaires spécifiques pour certains messages UDP.

Détails
Valeurs renvoyées
true
Le message est traité par ce destinataire et ne doit pas être traité.
false
Le message n'est pas géré par ce destinataire.

OTUDPReceiver

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

Ce rappel permet à OpenThread d'informer l'application d'un message UDP reçu.

otUdpReceiver

struct otUdpReceiver otUdpReceiver

Cette structure représente un récepteur UDP.

OtdpSocket

struct otUdpSocket otUdpSocket

Cette structure représente un socket UDP.

Functions

otUdpAddReceiver

otError otUdpAddReceiver(
  otInstance *aInstance,
  otUdpReceiver *aUdpReceiver
)

Cette fonction ajoute un récepteur UDP.

Détails
Paramètres
[in] aInstance
Pointeur vers une instance OpenThread.
[in] aUdpReceiver
Pointeur vers le récepteur UDP.
Valeurs renvoyées
OT_ERROR_NONE
Le destinataire a bien été ajouté.
OT_ERROR_ALREADY
Le récepteur UDP a déjà été ajouté.

OTUDPBind

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

Lier un socket UDP/IPv6

Détails
Paramètres
[in] aInstance
Pointeur vers une instance OpenThread.
[in] aSocket
Pointeur vers une structure de socket UDP.
[in] aSockName
Pointeur vers une structure d'adresses de socket IPv6.
[in] aNetif
Interface réseau à lier.
Valeurs renvoyées
OT_ERROR_NONE
L'opération de liaison a réussi.
OT_ERROR_FAILED
Échec de la liaison du socket UDP.

OtdpClose

otError otUdpClose(
  otInstance *aInstance,
  otUdpSocket *aSocket
)

Fermez un socket UDP/IPv6.

Détails
Paramètres
[in] aInstance
Pointeur vers une instance OpenThread.
[in] aSocket
Pointeur vers une structure de socket UDP.
Valeurs renvoyées
OT_ERROR_NONE
Le socket a bien été fermé.
OT_ERROR_FAILED
Échec de la fermeture du socket UDP.

OtdpConnect

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

Connectez un socket UDP/IPv6.

Détails
Paramètres
[in] aInstance
Pointeur vers une instance OpenThread.
[in] aSocket
Pointeur vers une structure de socket UDP.
[in] aSockName
Pointeur vers une structure d'adresses de socket IPv6.
Valeurs renvoyées
OT_ERROR_NONE
L'opération de connexion a réussi.
OT_ERROR_FAILED
Échec de la connexion du socket UDP.

otUdpGetSockets

otUdpSocket * otUdpGetSockets(
  otInstance *aInstance
)

Cette fonction récupère la tête de la liste des sockets UDP associés.

Détails
Paramètres
[in] aInstance
Pointeur vers une instance OpenThread.
Renvoie
Pointeur vers le début de la liste des sockets UDP.

OTUdpIsOpen

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

Vérifiez si un socket UDP est ouvert.

Détails
Paramètres
[in] aInstance
Pointeur vers une instance OpenThread.
[in] aSocket
Pointeur vers une structure de socket UDP.
Renvoie
Indique si le socket UDP est ouvert.

OtdpNewMessage

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

Allouez un nouveau tampon de message pour l'envoi d'un message UDP.

Détails
Paramètres
[in] aInstance
Pointeur vers une instance OpenThread.
[in] aSettings
Un pointeur vers les paramètres du message ou NULL pour utiliser les paramètres par défaut.
Renvoie
Pointeur vers le tampon du message ou NULL si aucun tampon de message n'est disponible ou si les paramètres ne sont pas valides.
Voir également:
otMessageFree

OtdpOpen

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

Ouvrez un socket UDP/IPv6.

Détails
Paramètres
[in] aInstance
Pointeur vers une instance OpenThread.
[in] aSocket
Pointeur vers une structure de socket UDP.
[in] aCallback
Pointeur vers la fonction de rappel de l'application.
[in] aContext
Pointeur vers le contexte spécifique à l'application
Valeurs renvoyées
OT_ERROR_NONE
Le socket a bien été ouvert.
OT_ERROR_FAILED
Échec de l'ouverture du socket.

otUdpRemoveReceiver

otError otUdpRemoveReceiver(
  otInstance *aInstance,
  otUdpReceiver *aUdpReceiver
)

Cette fonction supprime un récepteur UDP.

Détails
Paramètres
[in] aInstance
Pointeur vers une instance OpenThread.
[in] aUdpReceiver
Pointeur vers le récepteur UDP.
Valeurs renvoyées
OT_ERROR_NONE
Le destinataire a bien été supprimé.
OT_ERROR_NOT_FOUND
Le récepteur UDP n'a pas été ajouté.

OOTdPSend

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

Envoyez un message UDP/IPv6.

Si la valeur renvoyée est OT_ERROR_NONE, OpenThread devient propriétaire de aMessage et l'appelant ne doit plus faire référence à aMessage. Si la valeur renvoyée n'est pas OT_ERROR_NONE, l'appelant conserve la propriété de aMessage, y compris en libérant aMessage si le tampon du message n'est plus nécessaire.

Détails
Paramètres
[in] aInstance
Pointeur vers une instance OpenThread.
[in] aSocket
Pointeur vers une structure de socket UDP.
[in] aMessage
Pointeur vers un tampon de message.
[in] aMessageInfo
Pointeur vers une structure d'informations sur le message.

Détails
Valeurs renvoyées
OT_ERROR_NONE
L'envoi du message a bien été planifié.
OT_ERROR_INVALID_ARGS
Les arguments fournis ne sont pas valides.
OT_ERROR_NO_BUFS
Mémoire disponible insuffisante pour ajouter les en-têtes UDP et IPv6.

OTUdpSendDatagram

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

Cette fonction envoie un message UDP sans socket.

Détails
Paramètres
[in] aInstance
Pointeur vers une instance OpenThread.
[in] aMessage
Pointeur vers un message sans en-tête UDP.
[in] aMessageInfo
Pointeur vers les informations d'un message associé à aMessage.
Valeurs renvoyées
OT_ERROR_NONE
Le message a bien été placé en file d'attente dans une interface de sortie.
OT_ERROR_NO_BUFS
Mémoire disponible insuffisante pour ajouter les en-têtes IPv6.

Resources

Les sujets de référence de l'API OpenThread proviennent du code source, disponible sur GitHub. Pour en savoir plus ou pour contribuer à notre documentation, consultez la page Ressources.