Messaggio

Questo modulo include funzioni che manipolano i buffer dei messaggi OpenThread.

Riepilogo

Enumerazioni

otMessageOrigin{
  OT_MESSAGE_ORIGIN_THREAD_NETIF = 0,
  OT_MESSAGE_ORIGIN_HOST_TRUSTED = 1,
  OT_MESSAGE_ORIGIN_HOST_UNTRUSTED = 2
}
enum
Definisce le origini dei messaggi OpenThread.
otMessagePriority{
  OT_MESSAGE_PRIORITY_LOW = 0,
  OT_MESSAGE_PRIORITY_NORMAL = 1,
  OT_MESSAGE_PRIORITY_HIGH = 2
}
enum
Definisce i livelli di priorità dei messaggi OpenThread.

Typedef

otBufferInfo typedef
struct otBufferInfo
Rappresenta le informazioni del buffer dei messaggi per diverse code utilizzate dallo stack OpenThread.
otMessage typedef
struct otMessage
Una rappresentazione opaca del buffer di un messaggio OpenThread.
otMessageOrigin typedef
Definisce le origini dei messaggi OpenThread.
otMessagePriority typedef
Definisce i livelli di priorità dei messaggi OpenThread.
otMessageQueueInfo typedef
Rappresenta le informazioni su una coda di messaggi.
otMessageSettings typedef
Rappresenta le impostazioni di un messaggio.

Funzioni

otMessageAppend(otMessage *aMessage, const void *aBuf, uint16_t aLength)
Aggiungere byte a un messaggio.
otMessageFree(otMessage *aMessage)
void
Libera un buffer dei messaggi allocato.
otMessageGetBufferInfo(otInstance *aInstance, otBufferInfo *aBufferInfo)
void
Recupera le informazioni sul buffer dei messaggi.
otMessageGetLength(const otMessage *aMessage)
uint16_t
Ottieni la lunghezza del messaggio in byte.
otMessageGetOffset(const otMessage *aMessage)
uint16_t
Ottieni l'offset del messaggio in byte.
otMessageGetOrigin(const otMessage *aMessage)
Restituisce l'origine del messaggio.
otMessageGetRss(const otMessage *aMessage)
int8_t
Restituisce il valore RSS medio (intensità del segnale ricevuto) associato al messaggio.
otMessageIsLinkSecurityEnabled(const otMessage *aMessage)
bool
Indica se la sicurezza dei link è attivata o meno per il messaggio.
otMessageIsLoopbackToHostAllowed(const otMessage *aMessage)
bool
Indica se il messaggio può essere reindirizzato all'host o meno.
otMessageIsMulticastLoopEnabled(otMessage *aMessage)
bool
Indica se il messaggio specificato può essere richiamato in loop in un caso di un indirizzo di destinazione multicast.
otMessageQueueDequeue(otMessageQueue *aQueue, otMessage *aMessage)
void
Rimuove un messaggio dalla coda messaggi specificata.
otMessageQueueEnqueue(otMessageQueue *aQueue, otMessage *aMessage)
void
Aggiunge un messaggio alla fine della coda di messaggi specificata.
otMessageQueueEnqueueAtHead(otMessageQueue *aQueue, otMessage *aMessage)
void
Aggiunge un messaggio all'inizio o all'inizio della coda messaggi specificata.
otMessageQueueGetHead(otMessageQueue *aQueue)
Restituisce un puntatore al messaggio in cima alla coda.
otMessageQueueGetNext(otMessageQueue *aQueue, const otMessage *aMessage)
Restituisce un puntatore al messaggio successivo nella coda eseguendo l'iterazione in avanti (da head a tail).
otMessageQueueInit(otMessageQueue *aQueue)
void
Inizializzare la coda dei messaggi.
otMessageRead(const otMessage *aMessage, uint16_t aOffset, void *aBuf, uint16_t aLength)
uint16_t
Legge i byte di un messaggio.
otMessageResetBufferInfo(otInstance *aInstance)
void
Reimposta il contatore di informazioni del buffer dei messaggi che monitora il numero massimo di buffer in uso contemporaneamente.
otMessageSetDirectTransmission(otMessage *aMessage, bool aEnabled)
void
Imposta/forza l'inoltro del messaggio tramite trasmissione diretta.
otMessageSetLength(otMessage *aMessage, uint16_t aLength)
Imposta la lunghezza del messaggio in byte.
otMessageSetLoopbackToHostAllowed(otMessage *aMessage, bool aAllowLoopbackToHost)
void
Consente di stabilire se consentire o meno il loop del messaggio nell'host.
otMessageSetMulticastLoopEnabled(otMessage *aMessage, bool aEnabled)
void
Consente di stabilire se è possibile eseguire il loop del messaggio specificato in un caso di indirizzo di destinazione multicast.
otMessageSetOffset(otMessage *aMessage, uint16_t aOffset)
void
Imposta l'offset del messaggio in byte.
otMessageSetOrigin(otMessage *aMessage, otMessageOrigin aOrigin)
void
Imposta l'origine del messaggio.
otMessageWrite(otMessage *aMessage, uint16_t aOffset, const void *aBuf, uint16_t aLength)
int
Scrivere byte in un messaggio.

Strutture

otBufferInfo

Rappresenta le informazioni del buffer dei messaggi per diverse code utilizzate dallo stack OpenThread.

otMessageQueue

Rappresenta una coda di messaggi OpenThread.

otMessageQueueInfo

Rappresenta le informazioni su una coda di messaggi.

otMessageSettings

Rappresenta le impostazioni di un messaggio.

Enumerazioni

otMessageOrigin

 otMessageOrigin

Definisce le origini dei messaggi OpenThread.

Proprietà
OT_MESSAGE_ORIGIN_HOST_TRUSTED

Messaggio da una fonte attendibile sull'host.

OT_MESSAGE_ORIGIN_HOST_UNTRUSTED

Messaggio da una fonte non attendibile sull'host.

OT_MESSAGE_ORIGIN_THREAD_NETIF

Messaggio da Thread Netif.

otMessagePriority

 otMessagePriority

Definisce i livelli di priorità dei messaggi OpenThread.

Proprietà
OT_MESSAGE_PRIORITY_HIGH

Livello di priorità alta.

OT_MESSAGE_PRIORITY_LOW

Livello di priorità bassa.

OT_MESSAGE_PRIORITY_NORMAL

Livello di priorità normale.

Typedef

otBufferInfo

struct otBufferInfo otBufferInfo

Rappresenta le informazioni del buffer dei messaggi per diverse code utilizzate dallo stack OpenThread.

otMessage

struct otMessage otMessage

Una rappresentazione opaca del buffer di un messaggio OpenThread.

otMessageOrigin

enum otMessageOrigin otMessageOrigin

Definisce le origini dei messaggi OpenThread.

otMessagePriority

enum otMessagePriority otMessagePriority

Definisce i livelli di priorità dei messaggi OpenThread.

otMessageQueueInfo

struct otMessageQueueInfo otMessageQueueInfo

Rappresenta le informazioni su una coda di messaggi.

otMessageSettings

struct otMessageSettings otMessageSettings

Rappresenta le impostazioni di un messaggio.

Funzioni

otMessageAppend

otError otMessageAppend(
  otMessage *aMessage,
  const void *aBuf,
  uint16_t aLength
)

Aggiungere byte a un messaggio.

Dettagli
Parametri
[in] aMessage
Un puntatore al buffer di un messaggio.
[in] aBuf
Un puntatore ai dati da aggiungere.
[in] aLength
Numero di byte da accodare.
Valori restituiti
OT_ERROR_NONE
Aggiunta al messaggio riuscita
OT_ERROR_NO_BUFS
Nessun buffer disponibile per espandere il messaggio.
Vedi anche:
otMessageFree
otMessageGetLength
otMessageSetLength
otMessageGetOffset
otMessageSetOffset
otMessageRead
otMessageWrite

otMessageFree

void otMessageFree(
  otMessage *aMessage
)

Libera un buffer dei messaggi allocato.

Dettagli
Parametri
[in] aMessage
Un puntatore al buffer di un messaggio.
Vedi anche:
otMessageAppend
otMessageGetLength
otMessageSetLength
otMessageGetOffset
otMessageSetOffset
otMessageRead
otMessageWrite

otMessageGetBufferInfo

void otMessageGetBufferInfo(
  otInstance *aInstance,
  otBufferInfo *aBufferInfo
)

Recupera le informazioni sul buffer dei messaggi.

Dettagli
Parametri
[in] aInstance
Un puntatore all'istanza OpenThread.
[out] aBufferInfo
Un puntatore in cui vengono scritte le informazioni relative al buffer del messaggio.

otMessageGetLength

uint16_t otMessageGetLength(
  const otMessage *aMessage
)

Ottieni la lunghezza del messaggio in byte.

Dettagli
Parametri
[in] aMessage
Un puntatore al buffer di un messaggio.
Restituisce
La lunghezza del messaggio in byte.
Vedi anche:
otMessageFree
otMessageAppend
otMessageSetLength
otMessageGetOffset
otMessageSetOffset
otMessageRead
otMessageWriteo
SetLength
otMessageSetLength

otMessageGetOffset

uint16_t otMessageGetOffset(
  const otMessage *aMessage
)

Ottieni l'offset del messaggio in byte.

Dettagli
Parametri
[in] aMessage
Un puntatore al buffer di un messaggio.
Restituisce
Il valore dell'offset del messaggio.
Vedi anche:
otMessageFree
otMessageAppend
otMessageGetLength
otMessageSetLength
otMessageSetOffset
otMessageRead
otMessageWrite

otMessageGetOrigin

otMessageOrigin otMessageGetOrigin(
  const otMessage *aMessage
)

Restituisce l'origine del messaggio.

Dettagli
Parametri
[in] aMessage
Un puntatore al buffer di un messaggio.
Restituisce
L'origine del messaggio.

otMessageGetRss

int8_t otMessageGetRss(
  const otMessage *aMessage
)

Restituisce il valore RSS medio (intensità del segnale ricevuto) associato al messaggio.

Dettagli
Restituisce
Il valore RSS medio (in dBm) o OT_Radio_RSSI_INVALID se non è disponibile alcun RSS medio.

otMessageIsLinkSecurityEnabled

bool otMessageIsLinkSecurityEnabled(
  const otMessage *aMessage
)

Indica se la sicurezza dei link è attivata o meno per il messaggio.

Dettagli
Parametri
[in] aMessage
Un puntatore al buffer di un messaggio.
Valori restituiti
TRUE
Se la sicurezza dei link è attivata.
FALSE
Se la sicurezza dei link non è abilitata.

otMessageIsLoopbackToHostAllowed

bool otMessageIsLoopbackToHostAllowed(
  const otMessage *aMessage
)

Indica se il messaggio può essere reindirizzato all'host o meno.

Dettagli
Parametri
[in] aMessage
Un puntatore al buffer di un messaggio.
Valori restituiti
TRUE
Se è consentito eseguire il loop del messaggio all'host.
FALSE
Se non è consentito eseguire il loop del messaggio all'host.

otMessageIsMulticastLoopEnabled

bool otMessageIsMulticastLoopEnabled(
  otMessage *aMessage
)

Indica se il messaggio specificato può essere richiamato in loop in un caso di un indirizzo di destinazione multicast.

Se viene utilizzato aMessage insieme a un otMessageInfo, il campo mMulticastLoop della struttura otMessageInfo ha la precedenza e verrà utilizzato al posto del valore impostato su aMessage.

Questa API è principalmente destinata all'uso insieme a otIp6Send(), che prevede un messaggio IPv6 già preparato.

Dettagli
Parametri
[in] aMessage
Un puntatore al messaggio.

otMessageQueueDequeue

void otMessageQueueDequeue(
  otMessageQueue *aQueue,
  otMessage *aMessage
)

Rimuove un messaggio dalla coda messaggi specificata.

Dettagli
Parametri
[in] aQueue
Un puntatore alla coda dei messaggi.
[in] aMessage
Il messaggio da rimuovere.

otMessageQueueEnqueue

void otMessageQueueEnqueue(
  otMessageQueue *aQueue,
  otMessage *aMessage
)

Aggiunge un messaggio alla fine della coda di messaggi specificata.

Dettagli
Parametri
[in] aQueue
Un puntatore alla coda dei messaggi.
[in] aMessage
Il messaggio da aggiungere.

otMessageQueueEnqueueAtHead

void otMessageQueueEnqueueAtHead(
  otMessageQueue *aQueue,
  otMessage *aMessage
)

Aggiunge un messaggio all'inizio o all'inizio della coda messaggi specificata.

Dettagli
Parametri
[in] aQueue
Un puntatore alla coda dei messaggi.
[in] aMessage
Il messaggio da aggiungere.

otMessageQueueGetHead

otMessage * otMessageQueueGetHead(
  otMessageQueue *aQueue
)

Restituisce un puntatore al messaggio in cima alla coda.

Dettagli
Parametri
[in] aQueue
Un puntatore a una coda di messaggi.
Restituisce
Un puntatore al messaggio in coda o NULL se la coda è vuota.

otMessageQueueGetNext

otMessage * otMessageQueueGetNext(
  otMessageQueue *aQueue,
  const otMessage *aMessage
)

Restituisce un puntatore al messaggio successivo nella coda eseguendo l'iterazione in avanti (da head a tail).

Dettagli
Parametri
[in] aQueue
Un puntatore a una coda di messaggi.
[in] aMessage
Un puntatore al buffer dei messaggi corrente.
Restituisce
Un puntatore al messaggio successivo nella coda dopo aMessage o NULL se aMessage is the tail of queue. NULL is returned ifaMessageis not in the queueaQueue".

otMessageQueueInit

void otMessageQueueInit(
  otMessageQueue *aQueue
)

Inizializzare la coda dei messaggi.

DEVE essere chiamata una volta e una sola volta per un'istanza otMessageQueue prima di qualsiasi altra funzione otMessageQueue. Il comportamento non è definito se vengono utilizzate altre API di coda con un otMessageQueue prima di essere inizializzato o se viene inizializzato più di una volta.

Dettagli
Parametri
[in] aQueue
Un puntatore a una coda di messaggi.

otMessageRead

uint16_t otMessageRead(
  const otMessage *aMessage,
  uint16_t aOffset,
  void *aBuf,
  uint16_t aLength
)

Legge i byte di un messaggio.

Dettagli
Parametri
[in] aMessage
Un puntatore al buffer di un messaggio.
[in] aOffset
Un offset in byte.
[in] aBuf
Un puntatore a un buffer in cui vengono letti i byte dei messaggi.
[in] aLength
Numero di byte da leggere.
Restituisce
Il numero di byte letti.
Vedi anche:
otMessageFree
otMessageAppend
otMessageGetLength
otMessageSetLength
otMessageGetOffset
otMessageSetOffset
otMessageWrite

otMessageResetBufferInfo

void otMessageResetBufferInfo(
  otInstance *aInstance
)

Reimposta il contatore di informazioni del buffer dei messaggi che monitora il numero massimo di buffer in uso contemporaneamente.

Questa operazione reimposta mMaxUsedBuffers in otBufferInfo.

Dettagli
Parametri
[in] aInstance
Un puntatore all'istanza OpenThread.

otMessageSetDirectTransmission

void otMessageSetDirectTransmission(
  otMessage *aMessage,
  bool aEnabled
)

Imposta/forza l'inoltro del messaggio tramite trasmissione diretta.

L'impostazione predefinita per un nuovo messaggio è false.

Dettagli
Parametri
[in] aMessage
Un puntatore al buffer di un messaggio.
[in] aEnabled
Se true, il messaggio viene forzato a utilizzare la trasmissione diretta. Se false, il messaggio segue la procedura normale.

otMessageSetLength

otError otMessageSetLength(
  otMessage *aMessage,
  uint16_t aLength
)

Imposta la lunghezza del messaggio in byte.

Dettagli
Parametri
[in] aMessage
Un puntatore al buffer di un messaggio.
[in] aLength
Lunghezza in byte.
Valori restituiti
OT_ERROR_NONE
La lunghezza del messaggio è stata impostata.
OT_ERROR_NO_BUFS
Nessun buffer disponibile per espandere il messaggio.
Vedi anche:
otMessageFree
otMessageAppend
otMessageGetLength
otMessageGetOffset
otMessageSetOffset
otMessageRead
otMessageWrite

otMessageSetLoopbackToHostAllowed

void otMessageSetLoopbackToHostAllowed(
  otMessage *aMessage,
  bool aAllowLoopbackToHost
)

Consente di stabilire se consentire o meno il loop del messaggio nell'host.

Dettagli
Parametri
[in] aMessage
Un puntatore al buffer di un messaggio.
[in] aAllowLoopbackToHost
Indica se consentire il loop del messaggio all'host.

otMessageSetMulticastLoopEnabled

void otMessageSetMulticastLoopEnabled(
  otMessage *aMessage,
  bool aEnabled
)

Consente di stabilire se è possibile eseguire il loop del messaggio specificato in un caso di indirizzo di destinazione multicast.

Dettagli
Parametri
[in] aMessage
Un puntatore al messaggio.
[in] aEnabled
Il valore di configurazione.

otMessageSetOffset

void otMessageSetOffset(
  otMessage *aMessage,
  uint16_t aOffset
)

Imposta l'offset del messaggio in byte.

Dettagli
Parametri
[in] aMessage
Un puntatore al buffer di un messaggio.
[in] aOffset
Un offset in byte.
Vedi anche:
otMessageFree
otMessageAppend
otMessageGetLength
otMessageSetLength
otMessageGetOffset
otMessageRead
otMessageWrite

otMessageSetOrigin

void otMessageSetOrigin(
  otMessage *aMessage,
  otMessageOrigin aOrigin
)

Imposta l'origine del messaggio.

Dettagli
Parametri
[in] aMessage
Un puntatore al buffer di un messaggio.
[in] aOrigin
L'origine del messaggio.

otMessageWrite

int otMessageWrite(
  otMessage *aMessage,
  uint16_t aOffset,
  const void *aBuf,
  uint16_t aLength
)

Scrivere byte in un messaggio.

Dettagli
Parametri
[in] aMessage
Un puntatore al buffer di un messaggio.
[in] aOffset
Un offset in byte.
[in] aBuf
Un puntatore a un buffer da cui vengono scritti i byte dei messaggi.
[in] aLength
Numero di byte da scrivere.
Restituisce
Il numero di byte scritti.
Vedi anche:
otMessageFree
otMessageAppend
otMessageGetLength
otMessageSetLength
otMessageGetOffset
otMessageSetOffset
otMessageRead

Risorse

Gli argomenti di riferimento dell'API OpenThread provengono dal codice sorgente, disponibile su GitHub. Per saperne di più o per contribuire alla nostra documentazione, consulta la sezione Risorse.