UDP

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

Résumé

Énumérations

otNetifIdentifier{
  OT_NETIF_UNSPECIFIED = 0,
  OT_NETIF_THREAD,
  OT_NETIF_BACKBONE
}
enum
Définit les identifiants de l'interface réseau OpenThread.

Typedefs

otNetifIdentifier typedef
Définit les identifiants de l'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
Représente un récepteur UDP.
otUdpSocket typedef
struct otUdpSocket
Représente un socket UDP.

distantes

otUdpAddReceiver(otInstance *aInstance, otUdpReceiver *aUdpReceiver)
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)
Récupère l'en-tête de la liste associée des sockets UDP.
otUdpIsOpen(otInstance *aInstance, const otUdpSocket *aSocket)
bool
Vérifiez si un socket UDP est ouvert.
otUdpNewMessage(otInstance *aInstance, const otMessageSettings *aSettings)
Allouer 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)
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)
Envoie un message UDP sans socket.

Structs

otUdpReceiver

Représente un récepteur UDP.

otUdpSocket

Représente un socket UDP.

Énumérations

otNetifIdentifier

 otNetifIdentifier

Définit les identifiants de l'interface réseau OpenThread.

Propriétés
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

Définit les identifiants de l'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 de retour
true
Le message est géré par ce destinataire et ne doit pas être traité plus avant.
false
Ce message n'est pas géré par ce destinataire.

otUdpReceive

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

Représente un récepteur UDP.

otUdpSocket

struct otUdpSocket otUdpSocket

Représente un socket UDP.

distantes

otUdpAddReceiver

otError otUdpAddReceiver(
  otInstance *aInstance,
  otUdpReceiver *aUdpReceiver
)

Ajoute un récepteur UDP.

Détails
Paramètres
[in] aInstance
Un pointeur vers une instance OpenThread.
[in] aUdpReceiver
Pointeur vers le récepteur UDP.
Valeurs de retour
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
Un 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 de retour
OT_ERROR_NONE
L'opération de liaison a réussi.
OT_ERROR_FAILED
Échec de la liaison du socket UDP.

otUdpClose

otError otUdpClose(
  otInstance *aInstance,
  otUdpSocket *aSocket
)

Fermez un socket UDP/IPv6.

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

otUdpConnect

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

Connectez un socket UDP/IPv6.

Détails
Paramètres
[in] aInstance
Un 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 de retour
OT_ERROR_NONE
L'opération de connexion a réussi.
OT_ERROR_FAILED
Échec de la connexion au socket UDP.

otUdpGetSockets

otUdpSocket * otUdpGetSockets(
  otInstance *aInstance
)

Récupère l'en-tête de la liste associée des sockets UDP.

Détails
Paramètres
[in] aInstance
Un pointeur vers une instance OpenThread.
Renvoie
Pointeur vers l'en-tête de la liste des sockets UDP associés.

otUdpIsOpen

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

Vérifiez si un socket UDP est ouvert.

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

otUdpNewMessage

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

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

Détails
Paramètres
[in] aInstance
Un pointeur vers une instance OpenThread.
[in] aSettings
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 aussi:
otMessageFree

otUdpOpen

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

Ouvrez un socket UDP/IPv6.

Détails
Paramètres
[in] aInstance
Un 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 un contexte spécifique à l'application.
Valeurs de retour
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
)

Supprime un récepteur UDP.

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

otUdpSend

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 référencer 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 la mémoire tampon du message n'est plus nécessaire.

Détails
Paramètres
[in] aInstance
Un 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 la structure d'informations d'un message.

Détails
Valeurs de retour
OT_ERROR_NONE
L'envoi du message a bien été programmé.
OT_ERROR_INVALID_ARGS
Des arguments non valides sont fournis.
OT_ERROR_NO_BUFS
Tampon disponible insuffisant pour ajouter les en-têtes UDP et IPv6.

otUdpSendDatagram

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

Envoie un message UDP sans socket.

Détails
Paramètres
[in] aInstance
Un 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és à aMessage.
Valeurs de retour
OT_ERROR_NONE
Le message a bien été placé en file d'attente dans une interface de sortie.
OT_ERROR_NO_BUFS
Tampon disponible insuffisant pour ajouter les en-têtes IPv6.
OT_ERROR_INVALID_ARGS
Des arguments non valides sont fournis.

Ressources

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 section Ressources.