die Botschaft und

Dieses Modul enthält Funktionen zur Bearbeitung von OpenThread-Nachrichtenpuffern.

Zusammenfassung

Aufzählungen

otMessageOrigin{
  OT_MESSAGE_ORIGIN_THREAD_NETIF = 0,
  OT_MESSAGE_ORIGIN_HOST_TRUSTED = 1,
  OT_MESSAGE_ORIGIN_HOST_UNTRUSTED = 2
}
enum
Definiert die OpenThread-Nachrichtenquellen.
otMessagePriority{
  OT_MESSAGE_PRIORITY_LOW = 0,
  OT_MESSAGE_PRIORITY_NORMAL = 1,
  OT_MESSAGE_PRIORITY_HIGH = 2
}
enum
Definiert die Prioritätsstufen für OpenThread-Nachrichten.

Typedefs

otBufferInfo typedef
struct otBufferInfo
Stellt die Informationen zum Nachrichtenpuffer für verschiedene Warteschlangen dar, die vom OpenThread-Stack verwendet werden.
otMessage typedef
struct otMessage
Eine intransparente Darstellung eines OpenThread-Nachrichtenpuffers.
otMessageOrigin typedef
Definiert die OpenThread-Nachrichtenquellen.
otMessagePriority typedef
Definiert die Prioritätsstufen für OpenThread-Nachrichten.
otMessageQueueInfo typedef
Stellt Informationen zu einer Nachrichtenwarteschlange dar.
otMessageSettings typedef
Stellt eine Nachrichteneinstellungen dar.

Funktionen

otMessageAppend(otMessage *aMessage, const void *aBuf, uint16_t aLength)
Hängen Sie Byte an eine Nachricht an.
otMessageFree(otMessage *aMessage)
void
Geben Sie einen zugewiesenen Nachrichtenpuffer kostenlos.
otMessageGetBufferInfo(otInstance *aInstance, otBufferInfo *aBufferInfo)
void
Rufen Sie die Informationen zum Nachrichtenpuffer ab.
otMessageGetLength(const otMessage *aMessage)
uint16_t
Rufen Sie die Länge der Nachricht in Byte ab.
otMessageGetOffset(const otMessage *aMessage)
uint16_t
Ruft den Nachrichtenversatz in Byte ab.
otMessageGetOrigin(const otMessage *aMessage)
Ruft den Nachrichtenursprung ab.
otMessageGetRss(const otMessage *aMessage)
int8_t
Gibt den durchschnittlichen RSS-Wert (empfangene Signalstärke) für die Nachricht zurück.
otMessageIsLinkSecurityEnabled(const otMessage *aMessage)
bool
Gibt an, ob die Linksicherheit für die Nachricht aktiviert ist.
otMessageIsLoopbackToHostAllowed(const otMessage *aMessage)
bool
Gibt an, ob die Nachricht zurück an den Host gesendet werden darf.
otMessageIsMulticastLoopEnabled(otMessage *aMessage)
bool
Gibt an, ob die angegebene Nachricht im Fall einer Multicast-Zieladresse zurückgeführt werden kann.
otMessageQueueDequeue(otMessageQueue *aQueue, otMessage *aMessage)
void
Entfernt eine Nachricht aus der angegebenen Nachrichtenwarteschlange.
otMessageQueueEnqueue(otMessageQueue *aQueue, otMessage *aMessage)
void
Fügt eine Nachricht am Ende der angegebenen Nachrichtenwarteschlange hinzu.
otMessageQueueEnqueueAtHead(otMessageQueue *aQueue, otMessage *aMessage)
void
Fügt eine Nachricht am Anfang/Anfang der angegebenen Nachrichtenwarteschlange hinzu.
otMessageQueueGetHead(otMessageQueue *aQueue)
Gibt einen Zeiger auf die Nachricht am Anfang der Warteschlange zurück.
otMessageQueueGetNext(otMessageQueue *aQueue, const otMessage *aMessage)
Gibt einen Zeiger auf die nächste Nachricht in der Warteschlange zurück, indem sie von Kopf bis Ende vorwärts iteriert wird.
otMessageQueueInit(otMessageQueue *aQueue)
void
Initialisieren Sie die Nachrichtenwarteschlange.
otMessageRead(const otMessage *aMessage, uint16_t aOffset, void *aBuf, uint16_t aLength)
uint16_t
Bytes aus einer Nachricht lesen.
otMessageResetBufferInfo(otInstance *aInstance)
void
Setzen Sie den Informationszähler für den Nachrichtenpuffer zurück, der die maximale Anzahl gleichzeitig verwendeter Puffer verfolgt.
otMessageSetDirectTransmission(otMessage *aMessage, bool aEnabled)
void
Legt fest/erzwingt, dass die Nachricht über eine direkte Übertragung weitergeleitet wird.
otMessageSetLength(otMessage *aMessage, uint16_t aLength)
Legen Sie die Nachrichtenlänge in Byte fest.
otMessageSetLoopbackToHostAllowed(otMessage *aMessage, bool aAllowLoopbackToHost)
void
Legt fest, ob die Nachricht zurück an den Host gesendet werden darf.
otMessageSetMulticastLoopEnabled(otMessage *aMessage, bool aEnabled)
void
Steuert, ob die angegebene Nachricht bei einer Multicast-Zieladresse zurückgeführt werden kann.
otMessageSetOffset(otMessage *aMessage, uint16_t aOffset)
void
Legen Sie den Nachrichtenoffset in Byte fest.
otMessageSetOrigin(otMessage *aMessage, otMessageOrigin aOrigin)
void
Legt den Ursprung der Nachricht fest.
otMessageWrite(otMessage *aMessage, uint16_t aOffset, const void *aBuf, uint16_t aLength)
int
Bytes in eine Nachricht schreiben.

Strukturen

otBufferInfo

Stellt die Informationen zum Nachrichtenpuffer für verschiedene Warteschlangen dar, die vom OpenThread-Stack verwendet werden.

otMessageQueue

Stellt eine OpenThread-Nachrichtenwarteschlange dar.

otMessageQueueInfo

Stellt Informationen zu einer Nachrichtenwarteschlange dar.

otMessageSettings

Stellt eine Nachrichteneinstellungen dar.

Aufzählungen

otMessageOrigin

 otMessageOrigin

Definiert die OpenThread-Nachrichtenquellen.

Attribute
OT_MESSAGE_ORIGIN_HOST_TRUSTED

Nachricht von einer vertrauenswürdigen Quelle auf dem Host.

OT_MESSAGE_ORIGIN_HOST_UNTRUSTED

Nachricht von einer nicht vertrauenswürdigen Quelle auf dem Host.

OT_MESSAGE_ORIGIN_THREAD_NETIF

Nachricht von Thread-Netif.

otMessagePriority

 otMessagePriority

Definiert die Prioritätsstufen für OpenThread-Nachrichten.

Attribute
OT_MESSAGE_PRIORITY_HIGH

Hohe Prioritätsstufe.

OT_MESSAGE_PRIORITY_LOW

Niedrige Prioritätsstufe.

OT_MESSAGE_PRIORITY_NORMAL

Normale Prioritätsstufe.

Typedefs

otBufferInfo

struct otBufferInfo otBufferInfo

Stellt die Informationen zum Nachrichtenpuffer für verschiedene Warteschlangen dar, die vom OpenThread-Stack verwendet werden.

otMessage

struct otMessage otMessage

Eine intransparente Darstellung eines OpenThread-Nachrichtenpuffers.

otMessageOrigin

enum otMessageOrigin otMessageOrigin

Definiert die OpenThread-Nachrichtenquellen.

otMessagePriority

enum otMessagePriority otMessagePriority

Definiert die Prioritätsstufen für OpenThread-Nachrichten.

otMessageQueueInfo

struct otMessageQueueInfo otMessageQueueInfo

Stellt Informationen zu einer Nachrichtenwarteschlange dar.

otMessageSettings

struct otMessageSettings otMessageSettings

Stellt eine Nachrichteneinstellungen dar.

Funktionen

otMessageAppend

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

Hängen Sie Byte an eine Nachricht an.

Details
Parameter
[in] aMessage
Ein Zeiger auf einen Nachrichtenpuffer.
[in] aBuf
Ein Zeiger auf die Daten, die angefügt werden sollen.
[in] aLength
Anzahl der anzuhängenden Byte.
Rückgabewerte
OT_ERROR_NONE
An Nachricht angehängt
OT_ERROR_NO_BUFS
Keine Puffer zum Erweitern der Nachricht verfügbar.
Weitere Informationen:
otMessageFree
otMessageGetLength
otMessageSetLength
otMessageGetOffset
otMessageSetOffset
otMessageRead
otMessageWrite

otMessageFree

void otMessageFree(
  otMessage *aMessage
)

Geben Sie einen zugewiesenen Nachrichtenpuffer kostenlos.

Details
Parameter
[in] aMessage
Ein Zeiger auf einen Nachrichtenpuffer.
Weitere Informationen:
otMessageAppend
otMessageGetLength
otMessageSetLength
otMessageGetOffset
otMessageSetOffset
otMessageRead
otMessageWrite

otMessageGetBufferInfo

void otMessageGetBufferInfo(
  otInstance *aInstance,
  otBufferInfo *aBufferInfo
)

Rufen Sie die Informationen zum Nachrichtenpuffer ab.

Details
Parameter
[in] aInstance
Ein Zeiger auf die OpenThread-Instanz.
[out] aBufferInfo
Ein Zeiger, an den die Informationen zum Nachrichtenpuffer geschrieben werden.

otMessageGetLength

uint16_t otMessageGetLength(
  const otMessage *aMessage
)

Rufen Sie die Länge der Nachricht in Byte ab.

Details
Parameter
[in] aMessage
Ein Zeiger auf einen Nachrichtenpuffer.
Rückgabe
Die Länge der Nachricht in Byte.
Weitere Informationen:
otMessageFree
otMessageAppend
otMessageSetLength
otMessageGetOffset
otMessageSetOffset
otMessageRead
otMessageWrite
otMessageSetLength

otMessageGetOffset

uint16_t otMessageGetOffset(
  const otMessage *aMessage
)

Ruft den Nachrichtenversatz in Byte ab.

Details
Parameter
[in] aMessage
Ein Zeiger auf einen Nachrichtenpuffer.
Rückgabe
Der Nachrichtenversatzwert.
Weitere Informationen:
otMessageFree
otMessageAppend
otMessageGetLength
otMessageSetLength
otMessageSetOffset
otMessageRead
otMessageWrite

otMessageGetOrigin

otMessageOrigin otMessageGetOrigin(
  const otMessage *aMessage
)

Ruft den Nachrichtenursprung ab.

Details
Parameter
[in] aMessage
Ein Zeiger auf einen Nachrichtenpuffer.
Rückgabe
Der Nachrichtenursprung.

otMessageGetRss

int8_t otMessageGetRss(
  const otMessage *aMessage
)

Gibt den durchschnittlichen RSS-Wert (empfangene Signalstärke) für die Nachricht zurück.

Details
Rückgabe
Der durchschnittliche RSS-Wert (in dBm) oder OT_RADIO_RSSI_INVALID, wenn kein durchschnittlicher RSS-Wert verfügbar ist.

otMessageIsLinkSecurityEnabled

bool otMessageIsLinkSecurityEnabled(
  const otMessage *aMessage
)

Gibt an, ob die Linksicherheit für die Nachricht aktiviert ist.

Details
Parameter
[in] aMessage
Ein Zeiger auf einen Nachrichtenpuffer.
Rückgabewerte
TRUE
Wenn die Linksicherheit aktiviert ist.
FALSE
Wenn die Linksicherheit nicht aktiviert ist.

otMessageIsLoopbackToHostAllowed

bool otMessageIsLoopbackToHostAllowed(
  const otMessage *aMessage
)

Gibt an, ob die Nachricht zurück an den Host gesendet werden darf.

Details
Parameter
[in] aMessage
Ein Zeiger auf einen Nachrichtenpuffer.
Rückgabewerte
TRUE
Ob die Nachricht in einer Schleife zurück an den Host gesendet werden darf.
FALSE
Wenn die Nachricht nicht zurück an den Host gesendet werden darf.

otMessageIsMulticastLoopEnabled

bool otMessageIsMulticastLoopEnabled(
  otMessage *aMessage
)

Gibt an, ob die angegebene Nachricht im Fall einer Multicast-Zieladresse zurückgeführt werden kann.

Wenn aMessage zusammen mit einem otMessageInfo verwendet wird, hat das Feld mMulticastLoop aus der otMessageInfo-Struktur Vorrang und wird anstelle des für aMessage festgelegten Werts verwendet.

Diese API ist hauptsächlich für die Verwendung zusammen mit otIp6Send() vorgesehen, da hier eine bereits vorbereitete IPv6-Nachricht erwartet wird.

Details
Parameter
[in] aMessage
Ein Zeiger auf die Nachricht.

otMessageQueueDequeue

void otMessageQueueDequeue(
  otMessageQueue *aQueue,
  otMessage *aMessage
)

Entfernt eine Nachricht aus der angegebenen Nachrichtenwarteschlange.

Details
Parameter
[in] aQueue
Ein Zeiger auf die Nachrichtenwarteschlange.
[in] aMessage
Die zu entfernende Nachricht.

otMessageQueueEnqueue

void otMessageQueueEnqueue(
  otMessageQueue *aQueue,
  otMessage *aMessage
)

Fügt eine Nachricht am Ende der angegebenen Nachrichtenwarteschlange hinzu.

Details
Parameter
[in] aQueue
Ein Zeiger auf die Nachrichtenwarteschlange.
[in] aMessage
Die hinzuzufügende Nachricht.

otMessageQueueEnqueueAtHead

void otMessageQueueEnqueueAtHead(
  otMessageQueue *aQueue,
  otMessage *aMessage
)

Fügt eine Nachricht am Anfang/Anfang der angegebenen Nachrichtenwarteschlange hinzu.

Details
Parameter
[in] aQueue
Ein Zeiger auf die Nachrichtenwarteschlange.
[in] aMessage
Die hinzuzufügende Nachricht.

otMessageQueueGetHead

otMessage * otMessageQueueGetHead(
  otMessageQueue *aQueue
)

Gibt einen Zeiger auf die Nachricht am Anfang der Warteschlange zurück.

Details
Parameter
[in] aQueue
Ein Zeiger auf eine Nachrichtenwarteschlange.
Rückgabe
Ein Zeiger auf die Nachricht am Anfang der Warteschlange oder NULL, wenn die Warteschlange leer ist.

otMessageQueueGetNext

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

Gibt einen Zeiger auf die nächste Nachricht in der Warteschlange zurück, indem sie von Kopf bis Ende vorwärts iteriert wird.

Details
Parameter
[in] aQueue
Ein Zeiger auf eine Nachrichtenwarteschlange.
[in] aMessage
Ein Zeiger auf den aktuellen Nachrichtenpuffer.
Rückgabe
Ein Zeiger auf die nächste Nachricht in der Warteschlange nach aMessage oder NULL, wenn aMessage is the tail of queue. NULL is returned ifaMessageis not in the queueaQueue`.

otMessageQueueInit

void otMessageQueueInit(
  otMessageQueue *aQueue
)

Initialisieren Sie die Nachrichtenwarteschlange.

MUSS einmal und nur einmal für eine otMessageQueue-Instanz vor allen anderen otMessageQueue-Funktionen aufgerufen werden. Das Verhalten ist nicht definiert, wenn andere Warteschlangen-APIs mit einem otMessageQueue verwendet werden, bevor er initialisiert wird, oder wenn er mehr als einmal initialisiert wird.

Details
Parameter
[in] aQueue
Ein Zeiger auf eine Nachrichtenwarteschlange.

otMessageRead

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

Bytes aus einer Nachricht lesen.

Details
Parameter
[in] aMessage
Ein Zeiger auf einen Nachrichtenpuffer.
[in] aOffset
Ein Offset in Byte.
[in] aBuf
Ein Zeiger auf einen Puffer, in den Nachrichtenbyte gelesen werden.
[in] aLength
Anzahl der zu lesenden Byte.
Rückgabe
Die Anzahl der gelesenen Byte.
Weitere Informationen:
otMessageFree
otMessageAppend
otMessageGetLength
otMessageSetLength
otMessageGetOffset
otMessageSetOffset
otMessageWrite

otMessageResetBufferInfo

void otMessageResetBufferInfo(
  otInstance *aInstance
)

Setzen Sie den Informationszähler für den Nachrichtenpuffer zurück, der die maximale Anzahl gleichzeitig verwendeter Puffer verfolgt.

Dadurch wird mMaxUsedBuffers in otBufferInfo zurückgesetzt.

Details
Parameter
[in] aInstance
Ein Zeiger auf die OpenThread-Instanz.

otMessageSetDirectTransmission

void otMessageSetDirectTransmission(
  otMessage *aMessage,
  bool aEnabled
)

Legt fest/erzwingt, dass die Nachricht über eine direkte Übertragung weitergeleitet wird.

Die Standardeinstellung für neue Nachrichten ist false.

Details
Parameter
[in] aMessage
Ein Zeiger auf einen Nachrichtenpuffer.
[in] aEnabled
Wenn true, wird die Nachricht zur direkten Übertragung gezwungen. Bei false folgt die Nachricht dem normalen Ablauf.

otMessageSetLength

otError otMessageSetLength(
  otMessage *aMessage,
  uint16_t aLength
)

Legen Sie die Nachrichtenlänge in Byte fest.

Details
Parameter
[in] aMessage
Ein Zeiger auf einen Nachrichtenpuffer.
[in] aLength
Eine Länge in Byte.
Rückgabewerte
OT_ERROR_NONE
Die Nachrichtenlänge wurde festgelegt.
OT_ERROR_NO_BUFS
Keine Puffer zum Erweitern der Nachricht verfügbar.
Weitere Informationen:
otMessageFree
otMessageAppend
otMessageGetLength
otMessageGetOffset
otMessageSetOffset
otMessageRead
otMessageWrite

otMessageSetLoopbackToHostAllowed

void otMessageSetLoopbackToHostAllowed(
  otMessage *aMessage,
  bool aAllowLoopbackToHost
)

Legt fest, ob die Nachricht zurück an den Host gesendet werden darf.

Details
Parameter
[in] aMessage
Ein Zeiger auf einen Nachrichtenpuffer.
[in] aAllowLoopbackToHost
Gibt an, ob die Nachricht an den Host zurückgesendet werden kann.

otMessageSetMulticastLoopEnabled

void otMessageSetMulticastLoopEnabled(
  otMessage *aMessage,
  bool aEnabled
)

Steuert, ob die angegebene Nachricht bei einer Multicast-Zieladresse zurückgeführt werden kann.

Details
Parameter
[in] aMessage
Ein Zeiger auf die Nachricht.
[in] aEnabled
Der Konfigurationswert.

otMessageSetOffset

void otMessageSetOffset(
  otMessage *aMessage,
  uint16_t aOffset
)

Legen Sie den Nachrichtenoffset in Byte fest.

Details
Parameter
[in] aMessage
Ein Zeiger auf einen Nachrichtenpuffer.
[in] aOffset
Ein Offset in Byte.
Weitere Informationen:
otMessageFree
otMessageAppend
otMessageGetLength
otMessageSetLength
otMessageGetOffset
otMessageRead
otMessageWrite

otMessageSetOrigin

void otMessageSetOrigin(
  otMessage *aMessage,
  otMessageOrigin aOrigin
)

Legt den Ursprung der Nachricht fest.

Details
Parameter
[in] aMessage
Ein Zeiger auf einen Nachrichtenpuffer.
[in] aOrigin
Der Nachrichtenursprung.

otMessageWrite

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

Bytes in eine Nachricht schreiben.

Details
Parameter
[in] aMessage
Ein Zeiger auf einen Nachrichtenpuffer.
[in] aOffset
Ein Offset in Byte.
[in] aBuf
Ein Zeiger auf einen Puffer, aus dem Nachrichtenbyte geschrieben werden.
[in] aLength
Anzahl der zu schreibenden Byte.
Rückgabe
Die Anzahl der geschriebenen Byte.
Weitere Informationen:
otMessageFree
otMessageAppend
otMessageGetLength
otMessageSetLength
otMessageGetOffset
otMessageSetOffset
otMessageRead

Ressourcen

OpenThread API-Referenzthemen stammen aus dem Quellcode, der auf GitHub verfügbar ist. Weitere Informationen finden Sie unter Ressourcen. Dort können Sie auch einen Beitrag zu unserer Dokumentation leisten.