Coap

Dieses Modul enthält Funktionen zur Steuerung der CoAP-Kommunikation.

Zusammenfassung

Die Funktionen in diesem Modul sind verfügbar, wenn die CoAP API-Funktion (OPENTHREAD_CONFIG_COAP_API_ENABLE) aktiviert ist.

Aufzählungen

otCoapBlockSzx enum
CoAP-Blockgrößen-Exponenten.
otCoapCode{
  OT_COAP_CODE_EMPTY = (((( 0 )&0x7) << 5) | (( 0 )&0x1f)),
  OT_COAP_CODE_GET = (((( 0 )&0x7) << 5) | (( 1 )&0x1f)),
  OT_COAP_CODE_POST = (((( 0 )&0x7) << 5) | (( 2 )&0x1f)),
  OT_COAP_CODE_PUT = (((( 0 )&0x7) << 5) | (( 3 )&0x1f)),
  OT_COAP_CODE_DELETE = (((( 0 )&0x7) << 5) | (( 4 )&0x1f)),
  OT_COAP_CODE_RESPONSE_MIN = (((( 2 )&0x7) << 5) | (( 0 )&0x1f)),
  OT_COAP_CODE_CREATED = (((( 2 )&0x7) << 5) | (( 1 )&0x1f)),
  OT_COAP_CODE_DELETED = (((( 2 )&0x7) << 5) | (( 2 )&0x1f)),
  OT_COAP_CODE_VALID = (((( 2 )&0x7) << 5) | (( 3 )&0x1f)),
  OT_COAP_CODE_CHANGED = (((( 2 )&0x7) << 5) | (( 4 )&0x1f)),
  OT_COAP_CODE_CONTENT = (((( 2 )&0x7) << 5) | (( 5 )&0x1f)),
  OT_COAP_CODE_CONTINUE = (((( 2 )&0x7) << 5) | (( 31 )&0x1f)),
  OT_COAP_CODE_BAD_REQUEST = (((( 4 )&0x7) << 5) | (( 0 )&0x1f)),
  OT_COAP_CODE_UNAUTHORIZED = (((( 4 )&0x7) << 5) | (( 1 )&0x1f)),
  OT_COAP_CODE_BAD_OPTION = (((( 4 )&0x7) << 5) | (( 2 )&0x1f)),
  OT_COAP_CODE_FORBIDDEN = (((( 4 )&0x7) << 5) | (( 3 )&0x1f)),
  OT_COAP_CODE_NOT_FOUND = (((( 4 )&0x7) << 5) | (( 4 )&0x1f)),
  OT_COAP_CODE_METHOD_NOT_ALLOWED = (((( 4 )&0x7) << 5) | (( 5 )&0x1f)),
  OT_COAP_CODE_NOT_ACCEPTABLE = (((( 4 )&0x7) << 5) | (( 6 )&0x1f)),
  OT_COAP_CODE_REQUEST_INCOMPLETE = (((( 4 )&0x7) << 5) | (( 8 )&0x1f)),
  OT_COAP_CODE_PRECONDITION_FAILED = (((( 4 )&0x7) << 5) | (( 12 )&0x1f)),
  OT_COAP_CODE_REQUEST_TOO_LARGE = (((( 4 )&0x7) << 5) | (( 13 )&0x1f)),
  OT_COAP_CODE_UNSUPPORTED_FORMAT = (((( 4 )&0x7) << 5) | (( 15 )&0x1f)),
  OT_COAP_CODE_INTERNAL_ERROR = (((( 5 )&0x7) << 5) | (( 0 )&0x1f)),
  OT_COAP_CODE_NOT_IMPLEMENTED = (((( 5 )&0x7) << 5) | (( 1 )&0x1f)),
  OT_COAP_CODE_BAD_GATEWAY = (((( 5 )&0x7) << 5) | (( 2 )&0x1f)),
  OT_COAP_CODE_SERVICE_UNAVAILABLE = (((( 5 )&0x7) << 5) | (( 3 )&0x1f)),
  OT_COAP_CODE_GATEWAY_TIMEOUT = (((( 5 )&0x7) << 5) | (( 4 )&0x1f)),
  OT_COAP_CODE_PROXY_NOT_SUPPORTED = (((( 5 )&0x7) << 5) | (( 5 )&0x1f))
}
enum
CoAP-Codewerte.
otCoapOptionContentFormat{
  OT_COAP_OPTION_CONTENT_FORMAT_TEXT_PLAIN = 0,
  OT_COAP_OPTION_CONTENT_FORMAT_COSE_ENCRYPT0 = 16,
  OT_COAP_OPTION_CONTENT_FORMAT_COSE_MAC0 = 17,
  OT_COAP_OPTION_CONTENT_FORMAT_COSE_SIGN1 = 18,
  OT_COAP_OPTION_CONTENT_FORMAT_LINK_FORMAT = 40,
  OT_COAP_OPTION_CONTENT_FORMAT_XML = 41,
  OT_COAP_OPTION_CONTENT_FORMAT_OCTET_STREAM = 42,
  OT_COAP_OPTION_CONTENT_FORMAT_EXI = 47,
  OT_COAP_OPTION_CONTENT_FORMAT_JSON = 50,
  OT_COAP_OPTION_CONTENT_FORMAT_JSON_PATCH_JSON = 51,
  OT_COAP_OPTION_CONTENT_FORMAT_MERGE_PATCH_JSON = 52,
  OT_COAP_OPTION_CONTENT_FORMAT_CBOR = 60,
  OT_COAP_OPTION_CONTENT_FORMAT_CWT = 61,
  OT_COAP_OPTION_CONTENT_FORMAT_COSE_ENCRYPT = 96,
  OT_COAP_OPTION_CONTENT_FORMAT_COSE_MAC = 97,
  OT_COAP_OPTION_CONTENT_FORMAT_COSE_SIGN = 98,
  OT_COAP_OPTION_CONTENT_FORMAT_COSE_KEY = 101,
  OT_COAP_OPTION_CONTENT_FORMAT_COSE_KEY_SET = 102,
  OT_COAP_OPTION_CONTENT_FORMAT_SENML_JSON = 110,
  OT_COAP_OPTION_CONTENT_FORMAT_SENSML_JSON = 111,
  OT_COAP_OPTION_CONTENT_FORMAT_SENML_CBOR = 112,
  OT_COAP_OPTION_CONTENT_FORMAT_SENSML_CBOR = 113,
  OT_COAP_OPTION_CONTENT_FORMAT_SENML_EXI = 114,
  OT_COAP_OPTION_CONTENT_FORMAT_SENSML_EXI = 115,
  OT_COAP_OPTION_CONTENT_FORMAT_COAP_GROUP_JSON = 256,
  OT_COAP_OPTION_CONTENT_FORMAT_SENML_XML = 310,
  OT_COAP_OPTION_CONTENT_FORMAT_SENSML_XML = 311
}
enum
CoAP-Inhaltsformatcodes.
otCoapOptionType{
  OT_COAP_OPTION_IF_MATCH = 1,
  OT_COAP_OPTION_URI_HOST = 3,
  OT_COAP_OPTION_E_TAG = 4,
  OT_COAP_OPTION_IF_NONE_MATCH = 5,
  OT_COAP_OPTION_OBSERVE = 6,
  OT_COAP_OPTION_URI_PORT = 7,
  OT_COAP_OPTION_LOCATION_PATH = 8,
  OT_COAP_OPTION_URI_PATH = 11,
  OT_COAP_OPTION_CONTENT_FORMAT = 12,
  OT_COAP_OPTION_MAX_AGE = 14,
  OT_COAP_OPTION_URI_QUERY = 15,
  OT_COAP_OPTION_ACCEPT = 17,
  OT_COAP_OPTION_LOCATION_QUERY = 20,
  OT_COAP_OPTION_BLOCK2 = 23,
  OT_COAP_OPTION_BLOCK1 = 27,
  OT_COAP_OPTION_SIZE2 = 28,
  OT_COAP_OPTION_PROXY_URI = 35,
  OT_COAP_OPTION_PROXY_SCHEME = 39,
  OT_COAP_OPTION_SIZE1 = 60
}
enum
CoAP-Optionsnummern.
otCoapType{
  OT_COAP_TYPE_CONFIRMABLE = 0,
  OT_COAP_TYPE_NON_CONFIRMABLE = 1,
  OT_COAP_TYPE_ACKNOWLEDGMENT = 2,
  OT_COAP_TYPE_RESET = 3
}
enum
CoAP-Typ-Werte (2-Bit-Ganzzahl ohne Vorzeichen).

Typedefs

otCoapBlockSzx typdef
CoAP-Blockgrößen-Exponenten.
otCoapBlockwiseReceiveHook)(void *aContext, const uint8_t *aBlock, uint32_t aPosition, uint16_t aBlockLength, bool aMore, uint32_t aTotalLength) typdef
Der Pointer wird aufgerufen, wenn eine CoAP-Nachricht mit einer Option für eine blockweise Übertragung empfangen wird.
otCoapBlockwiseResource typdef
Stellt eine CoAP-Ressource mit blockweiser Übertragung dar.
otCoapBlockwiseTransmitHook)(void *aContext, uint8_t *aBlock, uint32_t aPosition, uint16_t *aBlockLength, bool *aMore) typdef
Der Zeiger wird aufgerufen, bevor der nächste Block in einer Block-Übertragung gesendet wird.
otCoapCode typdef
enum otCoapCode
CoAP-Codewerte.
otCoapOption typdef
struct otCoapOption
Stellt eine CoAP-Option dar.
otCoapOptionContentFormat typdef
CoAP-Inhaltsformatcodes.
otCoapOptionIterator typdef
Fungiert als Iteration für CoAP-Optionen.
otCoapOptionType typdef
CoAP-Optionsnummern.
otCoapRequestHandler)(void *aContext, otMessage *aMessage, const otMessageInfo *aMessageInfo) typdef
void(*
Der Zeiger wird aufgerufen, wenn eine CoAP-Anfrage mit einem bestimmten Uri-Pfad empfangen wird.
otCoapResource typdef
Stellt eine CoAP-Ressource dar.
otCoapResponseHandler)(void *aContext, otMessage *aMessage, const otMessageInfo *aMessageInfo, otError aResult) typdef
void(*
Der Zeiger wird beim Empfang einer CoAP-Antwort oder bei der Zeitüberschreitung bei der Anforderung aufgerufen.
otCoapTxParameters typdef
Stellt die CoAP-Übertragungsparameter dar.
otCoapType typdef
enum otCoapType
CoAP-Typ-Werte (2-Bit-Ganzzahl ohne Vorzeichen).

Funktionen

otCoapAddBlockWiseResource(otInstance *aInstance, otCoapBlockwiseResource *aResource)
void
Fügt dem CoAP-Server eine blockbasierte Ressource hinzu.
otCoapAddResource(otInstance *aInstance, otCoapResource *aResource)
void
Fügt dem CoAP-Server eine Ressource hinzu.
otCoapBlockSizeFromExponent(otCoapBlockSzx aSize)
uint16_t
Wandelt ein SZX-Feld der CoAP-Blockoption in die tatsächliche Blockgröße um.
otCoapMessageAppendBlock1Option(otMessage *aMessage, uint32_t aNum, bool aMore, otCoapBlockSzx aSize)
Fügt eine Block1-Option hinzu.
otCoapMessageAppendBlock2Option(otMessage *aMessage, uint32_t aNum, bool aMore, otCoapBlockSzx aSize)
Fügt eine Block2-Option hinzu.
otCoapMessageAppendContentFormatOption(otMessage *aMessage, otCoapOptionContentFormat aContentFormat)
Hängt die CoAP-Option für das Inhaltsformat an, wie unter https://tools.ietf.org/html/rfc7252#page-92 angegeben.
otCoapMessageAppendMaxAgeOption(otMessage *aMessage, uint32_t aMaxAge)
Fügt eine Option für das maximale Alter hinzu.
otCoapMessageAppendObserveOption(otMessage *aMessage, uint32_t aObserve)
Fügt die Option „Beobachten“ hinzu.
otCoapMessageAppendOption(otMessage *aMessage, uint16_t aNumber, uint16_t aLength, const void *aValue)
Hängt eine CoAP-Option in einen Header ein.
otCoapMessageAppendProxyUriOption(otMessage *aMessage, const char *aUriPath)
Fügt eine Proxy-Uri-Option hinzu.
otCoapMessageAppendUintOption(otMessage *aMessage, uint16_t aNumber, uint32_t aValue)
Hängt eine unsignierte Ganzzahl-CoAP-Option an, wie unter https://tools.ietf.org/html/rfc7252#section-3.2 angegeben.
otCoapMessageAppendUriPathOptions(otMessage *aMessage, const char *aUriPath)
Fügt eine Uri-Pfadoption hinzu.
otCoapMessageAppendUriQueryOption(otMessage *aMessage, const char *aUriQuery)
Fügt eine einzelne URI-Abfrageoption hinzu.
otCoapMessageCodeToString(const otMessage *aMessage)
const char *
Gibt den CoAP-Code als menschenlesbare Zeichenfolge zurück.
otCoapMessageGenerateToken(otMessage *aMessage, uint8_t aTokenLength)
void
Legt die Länge des Tokens fest und bestimmt den Wert zufällig.
otCoapMessageGetCode(const otMessage *aMessage)
Gibt den Codewert zurück.
otCoapMessageGetMessageId(const otMessage *aMessage)
uint16_t
Gibt den Wert der Nachrichten-ID zurück.
otCoapMessageGetToken(const otMessage *aMessage)
const uint8_t *
Gibt einen Zeiger auf den Tokenwert zurück.
otCoapMessageGetTokenLength(const otMessage *aMessage)
uint8_t
Gibt die Länge des Tokens zurück.
otCoapMessageGetType(const otMessage *aMessage)
Gibt den Wert für den Typ zurück.
otCoapMessageInit(otMessage *aMessage, otCoapType aType, otCoapCode aCode)
void
Initialisiert den CoAP-Header.
otCoapMessageInitResponse(otMessage *aResponse, const otMessage *aRequest, otCoapType aType, otCoapCode aCode)
Initialisiert eine Antwortnachricht.
otCoapMessageSetCode(otMessage *aMessage, otCoapCode aCode)
void
Legt den Codewert fest.
otCoapMessageSetPayloadMarker(otMessage *aMessage)
Fügt dem CoAP-Header eine Nutzlastmarkierung hinzu, die den Beginn der Nutzlast angibt.
otCoapMessageSetToken(otMessage *aMessage, const uint8_t *aToken, uint8_t aTokenLength)
Legt den Wert und die Länge des Tokens in einem Header fest.
otCoapNewMessage(otInstance *aInstance, const otMessageSettings *aSettings)
Erstellt eine neue CoAP-Nachricht.
otCoapOptionIteratorGetFirstOption(otCoapOptionIterator *aIterator)
const otCoapOption *
Gibt einen Zeiger auf die erste Option zurück.
otCoapOptionIteratorGetFirstOptionMatching(otCoapOptionIterator *aIterator, uint16_t aOption)
const otCoapOption *
Gibt einen Zeiger auf die erste Option zurück, die der angegebenen Optionsnummer entspricht.
otCoapOptionIteratorGetNextOption(otCoapOptionIterator *aIterator)
const otCoapOption *
Gibt einen Zeiger zur nächsten Option zurück.
otCoapOptionIteratorGetNextOptionMatching(otCoapOptionIterator *aIterator, uint16_t aOption)
const otCoapOption *
Gibt einen Zeiger auf die nächste Option zurück, die der angegebenen Optionsnummer entspricht.
otCoapOptionIteratorGetOptionUintValue(otCoapOptionIterator *aIterator, uint64_t *aValue)
Füllt den aktuellen Optionswert in aValue aus. Dabei wird davon ausgegangen, dass der aktuelle Wert eine nach https://tools.ietf.org/html/rfc7252#section-3.2 codierte Ganzzahl ohne Vorzeichen ist.
otCoapOptionIteratorGetOptionValue(otCoapOptionIterator *aIterator, void *aValue)
Fügt den aktuellen Optionswert in aValue ein.
otCoapOptionIteratorInit(otCoapOptionIterator *aIterator, const otMessage *aMessage)
Initialisiert einen Iterator für die Optionen in der angegebenen Nachricht.
otCoapRemoveBlockWiseResource(otInstance *aInstance, otCoapBlockwiseResource *aResource)
void
Entfernt eine blockweise Ressource vom CoAP-Server.
otCoapRemoveResource(otInstance *aInstance, otCoapResource *aResource)
void
Entfernt eine Ressource vom CoAP-Server.
otCoapSendRequest(otInstance *aInstance, otMessage *aMessage, const otMessageInfo *aMessageInfo, otCoapResponseHandler aHandler, void *aContext)
Sendet eine CoAP-Anfrage.
otCoapSendRequestBlockWise(otInstance *aInstance, otMessage *aMessage, const otMessageInfo *aMessageInfo, otCoapResponseHandler aHandler, void *aContext, otCoapBlockwiseTransmitHook aTransmitHook, otCoapBlockwiseReceiveHook aReceiveHook)
Sendet eine CoAP-Anfrage blockweise.
otCoapSendRequestBlockWiseWithParameters(otInstance *aInstance, otMessage *aMessage, const otMessageInfo *aMessageInfo, otCoapResponseHandler aHandler, void *aContext, const otCoapTxParameters *aTxParameters, otCoapBlockwiseTransmitHook aTransmitHook, otCoapBlockwiseReceiveHook aReceiveHook)
Sendet eine CoAP-Anfrage blockweise mit benutzerdefinierten Übertragungsparametern.
otCoapSendRequestWithParameters(otInstance *aInstance, otMessage *aMessage, const otMessageInfo *aMessageInfo, otCoapResponseHandler aHandler, void *aContext, const otCoapTxParameters *aTxParameters)
Sendet eine CoAP-Anfrage mit benutzerdefinierten Übertragungsparametern.
otCoapSendResponse(otInstance *aInstance, otMessage *aMessage, const otMessageInfo *aMessageInfo)
Sendet eine CoAP-Antwort vom Server.
otCoapSendResponseBlockWise(otInstance *aInstance, otMessage *aMessage, const otMessageInfo *aMessageInfo, void *aContext, otCoapBlockwiseTransmitHook aTransmitHook)
Sendet blockweise eine CoAP-Antwort vom Server.
otCoapSendResponseBlockWiseWithParameters(otInstance *aInstance, otMessage *aMessage, const otMessageInfo *aMessageInfo, const otCoapTxParameters *aTxParameters, void *aContext, otCoapBlockwiseTransmitHook aTransmitHook)
Sendet eine CoAP-Antwort blockweise vom Server mit benutzerdefinierten Übertragungsparametern.
otCoapSendResponseWithParameters(otInstance *aInstance, otMessage *aMessage, const otMessageInfo *aMessageInfo, const otCoapTxParameters *aTxParameters)
Sendet vom Server eine CoAP-Antwort mit benutzerdefinierten Übertragungsparametern.
otCoapSetDefaultHandler(otInstance *aInstance, otCoapRequestHandler aHandler, void *aContext)
void
Legt den Standard-Handler für unbearbeitete CoAP-Anfragen fest.
otCoapStart(otInstance *aInstance, uint16_t aPort)
Startet den CoAP-Server.
otCoapStop(otInstance *aInstance)
Stoppt den CoAP-Server.

Structs

otCoapBlockwiseResource

Stellt eine CoAP-Ressource mit blockweiser Übertragung dar.

otCoapOption

Stellt eine CoAP-Option dar.

otCoapOptionIterator

Fungiert als Iteration für CoAP-Optionen.

otCoapResource

Stellt eine CoAP-Ressource dar.

otCoapTxParameter

Stellt die CoAP-Übertragungsparameter dar.

Aufzählungen

OTCoapBlockSzx

 otCoapBlockSzx

CoAP-Blockgrößen-Exponenten.

otCoap-Code

 otCoapCode

CoAP-Codewerte.

Attribute
OT_COAP_CODE_BAD_GATEWAY

Ungültiges Gateway.

OT_COAP_CODE_BAD_OPTION

Ungültige Option.

OT_COAP_CODE_BAD_REQUEST

Ungültige Anfrage.

OT_COAP_CODE_CHANGED

Geändert.

OT_COAP_CODE_CONTENT

Inhalt.

OT_COAP_CODE_CONTINUE

RFC7959 Weiter.

OT_COAP_CODE_CREATED

Erstellt

OT_COAP_CODE_DELETE

Löschen

OT_COAP_CODE_DELETED

Gelöscht.

OT_COAP_CODE_EMPTY

Leerer Nachrichtencode.

OT_COAP_CODE_FORBIDDEN

Unzulässig.

OT_COAP_CODE_GATEWAY_TIMEOUT

Gateway-Zeitüberschreitung.

OT_COAP_CODE_GET

Du. Kannst.

OT_COAP_CODE_INTERNAL_ERROR

Interner Serverfehler

OT_COAP_CODE_METHOD_NOT_ALLOWED

Methode nicht zulässig.

OT_COAP_CODE_NOT_ACCEPTABLE

Nicht zulässig.

OT_COAP_CODE_NOT_FOUND

Nicht gefunden

OT_COAP_CODE_NOT_IMPLEMENTED

Nicht implementiert.

OT_COAP_CODE_POST

Beitrag.

OT_COAP_CODE_PRECONDITION_FAILED

Vorbedingung fehlgeschlagen.

OT_COAP_CODE_PROXY_NOT_SUPPORTED

Proxys werden nicht unterstützt.

OT_COAP_CODE_PUT

Put.

OT_COAP_CODE_REQUEST_INCOMPLETE

RFC7959-Anfrageentität unvollständig.

OT_COAP_CODE_REQUEST_TOO_LARGE

Anfrageentität zu groß.

OT_COAP_CODE_RESPONSE_MIN

2

OT_COAP_CODE_SERVICE_UNAVAILABLE

Dienst nicht verfügbar.

OT_COAP_CODE_UNAUTHORIZED

Nicht autorisiert.

OT_COAP_CODE_UNSUPPORTED_FORMAT

Nicht unterstütztes Inhaltsformat.

OT_COAP_CODE_VALID

Gültig.

otCoapOptionContentFormat

 otCoapOptionContentFormat

CoAP-Inhaltsformatcodes.

Die vollständige Liste finden Sie unter https://www.iana.org/assignments/core-parameters/core-parameters.xhtml#content-formats.

Attribute
OT_COAP_OPTION_CONTENT_FORMAT_CBOR

application/cbor: [RFC7049]

OT_COAP_OPTION_CONTENT_FORMAT_COAP_GROUP_JSON

application/coap-group+json: [RFC7390]

OT_COAP_OPTION_CONTENT_FORMAT_COSE_ENCRYPT

application/cose; cose-type="cose-encrypt": [RFC8152]

OT_COAP_OPTION_CONTENT_FORMAT_COSE_ENCRYPT0

application/cose; cose-type="cose-encrypt0": [RFC8152]

OT_COAP_OPTION_CONTENT_FORMAT_COSE_KEY

Application/cose-key: [RFC8152]

OT_COAP_OPTION_CONTENT_FORMAT_COSE_KEY_SET

application/cose-key-set: [RFC8152]

OT_COAP_OPTION_CONTENT_FORMAT_COSE_MAC

application/cose; cose-type="cose-mac": [RFC8152]

OT_COAP_OPTION_CONTENT_FORMAT_COSE_MAC0

application/cose; cose-type="cose-mac0": [RFC8152]

OT_COAP_OPTION_CONTENT_FORMAT_COSE_SIGN

application/cose; cose-type="cose-sign": [RFC8152]

OT_COAP_OPTION_CONTENT_FORMAT_COSE_SIGN1

application/cose; cose-type="cose-sign1": [RFC8152]

OT_COAP_OPTION_CONTENT_FORMAT_CWT

application/cwt: [RFC8392]

OT_COAP_OPTION_CONTENT_FORMAT_EXI

application/exi: ["Effective XML Interchange (EXI) Format 1.0 (Second Edition)", Februar 2014]

OT_COAP_OPTION_CONTENT_FORMAT_JSON

Anwendung/JSON: [RFC7159]

OT_COAP_OPTION_CONTENT_FORMAT_JSON_PATCH_JSON

Anwendung/json-patch+json: [RFC6902]

OT_COAP_OPTION_CONTENT_FORMAT_LINK_FORMAT

application/link-format: [RFC6690]

OT_COAP_OPTION_CONTENT_FORMAT_MERGE_PATCH_JSON

application/merge-patch+json: [RFC7396]

OT_COAP_OPTION_CONTENT_FORMAT_OCTET_STREAM

application/octet-stream: [RFC2045][RFC2046]

OT_COAP_OPTION_CONTENT_FORMAT_SENML_CBOR

application/senml+cbor: [RFC8428]

OT_COAP_OPTION_CONTENT_FORMAT_SENML_EXI

application/senml-exi: [RFC8428]

OT_COAP_OPTION_CONTENT_FORMAT_SENML_JSON

application/senml+json: [RFC8428]

OT_COAP_OPTION_CONTENT_FORMAT_SENML_XML

application/senml+xml: [RFC8428]

OT_COAP_OPTION_CONTENT_FORMAT_SENSML_CBOR

application/sensml+cbor: [RFC8428]

OT_COAP_OPTION_CONTENT_FORMAT_SENSML_EXI

application/sensml-exi: [RFC8428]

OT_COAP_OPTION_CONTENT_FORMAT_SENSML_JSON

application/sensml+json: [RFC8428]

OT_COAP_OPTION_CONTENT_FORMAT_SENSML_XML

application/sensml+xml: [RFC8428]

OT_COAP_OPTION_CONTENT_FORMAT_TEXT_PLAIN

text/plain; charset=utf-8: [RFC2046][RFC3676][RFC5147]

OT_COAP_OPTION_CONTENT_FORMAT_XML

application/xml: [RFC3023]

otCoapOptionType

 otCoapOptionType

CoAP-Optionsnummern.

Attribute
OT_COAP_OPTION_ACCEPT

Akzeptieren Sie sie.

OT_COAP_OPTION_BLOCK1

Block1 (RFC7959)

OT_COAP_OPTION_BLOCK2

Block2 (RFC7959)

OT_COAP_OPTION_CONTENT_FORMAT

Inhaltsformat.

OT_COAP_OPTION_E_TAG

ETag

OT_COAP_OPTION_IF_MATCH

If-Match

OT_COAP_OPTION_IF_NONE_MATCH

If-None-Match.

OT_COAP_OPTION_LOCATION_PATH

Location-Path:

OT_COAP_OPTION_LOCATION_QUERY

Location-Query.

OT_COAP_OPTION_MAX_AGE

Höchstalter.

OT_COAP_OPTION_OBSERVE

Beachten Sie [RFC7641].

OT_COAP_OPTION_PROXY_SCHEME

Proxy-Schema.

OT_COAP_OPTION_PROXY_URI

Proxy-Uri

OT_COAP_OPTION_SIZE1

Größe1.

OT_COAP_OPTION_SIZE2

Größe 2 (RFC7959)

OT_COAP_OPTION_URI_HOST

URI-Host.

OT_COAP_OPTION_URI_PATH

URI-Pfad

OT_COAP_OPTION_URI_PORT

Uri-Port.

OT_COAP_OPTION_URI_QUERY

URI-Abfrage

otCoap-Typ

 otCoapType

CoAP-Typ-Werte (2-Bit-Ganzzahl ohne Vorzeichen).

Attribute
OT_COAP_TYPE_ACKNOWLEDGMENT

Zustimmung.

OT_COAP_TYPE_CONFIRMABLE

Confirmable (Bestätigung möglich).

OT_COAP_TYPE_NON_CONFIRMABLE

Nicht prüfbar.

OT_COAP_TYPE_RESET

Zurücksetzen.

Typedefs

OTCoapBlockSzx

enum otCoapBlockSzx otCoapBlockSzx

CoAP-Blockgrößen-Exponenten.

otCoapBlockwiseReceiveHook

otError(* otCoapBlockwiseReceiveHook)(void *aContext, const uint8_t *aBlock, uint32_t aPosition, uint16_t aBlockLength, bool aMore, uint32_t aTotalLength)

Der Pointer wird aufgerufen, wenn eine CoAP-Nachricht mit einer Option für eine blockweise Übertragung empfangen wird.

Ist verfügbar, wenn die Konfiguration OPENTHREAD_CONFIG_COAP_BLOCKWISE_TRANSFER_ENABLE aktiviert ist.

Details
Parameter
[in] aContext
Ein Verweis auf anwendungsspezifischen Kontext.
[in] aBlock
Ein Zeiger auf das Blocksegment.
[in] aPosition
Die Position von aBlock in einer Sequenz in Byte.
[in] aBlockLength
Die Länge des Blocksegments in Byte.
[in] aMore
Melden Sie, wenn weitere Blocksegmente folgen.
[in] aTotalLength
Die Gesamtlänge in Byte der übertragenen Informationen (angezeigt durch die Option Größe1 oder Größe2).
Rückgabewerte
OT_ERROR_NONE
Das Segment wurde blockiert.
OT_ERROR_NO_BUFS
Kein Arbeitsspeicher mehr zum Speichern von Blöcken.
OT_ERROR_NO_FRAME_RECEIVED
Blocksegment fehlt.

otCoapBlockwiseResource

struct otCoapBlockwiseResource otCoapBlockwiseResource

Stellt eine CoAP-Ressource mit blockweiser Übertragung dar.

otCoapBlockwiseTransmitHook

otError(* otCoapBlockwiseTransmitHook)(void *aContext, uint8_t *aBlock, uint32_t aPosition, uint16_t *aBlockLength, bool *aMore)

Der Zeiger wird aufgerufen, bevor der nächste Block in einer Block-Übertragung gesendet wird.

Ist verfügbar, wenn die Konfiguration OPENTHREAD_CONFIG_COAP_BLOCKWISE_TRANSFER_ENABLE aktiviert ist.

Wenn Sie den Wert von aBlockLength ändern, wird die Blockgröße der gesamten Anzeigenplattform neu ausgehandelt. Es wird empfohlen, dies nach Erhalt des ersten Blocks zu tun, da spätere Änderungen zu Problemen mit anderen CoAP-Implementierungen führen können.

Details
Parameter
[in] aContext
Ein Verweis auf anwendungsspezifischen Kontext.
[in,out] aBlock
Ein Zeiger, in den das Blocksegment geschrieben werden kann.
[in] aPosition
Die Position in einer Sequenz, von der das Blocksegment abgerufen werden soll.
[in,out] aBlockLength
Bei Eintrag die maximale Blocksegmentlänge in Byte.
[out] aMore
Ein Zeiger auf die Markierung, wenn weitere Blocksegmente folgen.
Rückgabewerte
OT_ERROR_NONE
Es ist kein Fehler aufgetreten.
OT_ERROR_INVALID_ARGS
Der Block aPosition ist nicht vorhanden.

otCoap-Code

enum otCoapCode otCoapCode

CoAP-Codewerte.

OTCoapOption

struct otCoapOption otCoapOption

Stellt eine CoAP-Option dar.

otCoapOptionContentFormat

enum otCoapOptionContentFormat otCoapOptionContentFormat

CoAP-Inhaltsformatcodes.

Die vollständige Liste finden Sie unter https://www.iana.org/assignments/core-parameters/core-parameters.xhtml#content-formats.

otCoapOptionIterator

struct otCoapOptionIterator otCoapOptionIterator

Fungiert als Iteration für CoAP-Optionen.

otCoapOptionType

enum otCoapOptionType otCoapOptionType

CoAP-Optionsnummern.

otCoapRequestHandler

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

Der Zeiger wird aufgerufen, wenn eine CoAP-Anfrage mit einem bestimmten Uri-Pfad empfangen wird.

Details
Parameter
[in] aContext
Ein Zeiger auf beliebige Kontextinformationen.
[in] aMessage
Ein Zeiger auf die Nachricht.
[in] aMessageInfo
Ein Verweis auf die Nachrichteninformationen für aMessage.

otCoap-Ressource

struct otCoapResource otCoapResource

Stellt eine CoAP-Ressource dar.

otCoapResponseHandler

void(* otCoapResponseHandler)(void *aContext, otMessage *aMessage, const otMessageInfo *aMessageInfo, otError aResult)

Der Zeiger wird beim Empfang einer CoAP-Antwort oder bei der Zeitüberschreitung bei der Anforderung aufgerufen.

Details
Parameter
[in] aContext
Ein Verweis auf anwendungsspezifischen Kontext.
[in] aMessage
Ein Zeiger auf den Nachrichtenpuffer, der die Antwort enthält. NULL, wenn keine Antwort empfangen wurde.
[in] aMessageInfo
Ein Verweis auf die Nachrichteninformationen für aMessage. NULL, wenn keine Antwort empfangen wurde.
[in] aResult
Ein Ergebnis der CoAP-Transaktion.
Rückgabewerte
OT_ERROR_NONE
Wir haben eine Antwort erhalten.
OT_ERROR_ABORT
Eine CoAP-Transaktion wurde durch einen Peer zurückgesetzt.
OT_ERROR_RESPONSE_TIMEOUT
Während des Zeitlimits wurde keine Antwort oder Bestätigung empfangen.

otCoapTxParameter

struct otCoapTxParameters otCoapTxParameters

Stellt die CoAP-Übertragungsparameter dar.

otCoap-Typ

enum otCoapType otCoapType

CoAP-Typ-Werte (2-Bit-Ganzzahl ohne Vorzeichen).

Funktionen

otCoapAddBlockWiseResource

void otCoapAddBlockWiseResource(
  otInstance *aInstance,
  otCoapBlockwiseResource *aResource
)

Fügt dem CoAP-Server eine blockbasierte Ressource hinzu.

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

otCoapAddResource

void otCoapAddResource(
  otInstance *aInstance,
  otCoapResource *aResource
)

Fügt dem CoAP-Server eine Ressource hinzu.

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

otCoapBlockSizeFromExponent

uint16_t otCoapBlockSizeFromExponent(
  otCoapBlockSzx aSize
)

Wandelt ein SZX-Feld der CoAP-Blockoption in die tatsächliche Blockgröße um.

Details
Parameter
[in] aSize
Exponent der Blockgröße.
Rückgabe
Der tatsächliche Wert des Exponenten der Größe.

otCoapMessageAttachBlock1Option

otError otCoapMessageAppendBlock1Option(
  otMessage *aMessage,
  uint32_t aNum,
  bool aMore,
  otCoapBlockSzx aSize
)

Fügt eine Block1-Option hinzu.

Details
Parameter
[in,out] aMessage
Ein Zeiger auf die CoAP-Nachricht.
[in] aNum
Aktuelle Blocknummer.
[in] aMore
Boolescher Wert, der angibt, dass mehr Blöcke gesendet werden sollen.
[in] aSize
Blockgrößen-Exponent.
Rückgabewerte
OT_ERROR_NONE
Die Option wurde angehängt.
OT_ERROR_INVALID_ARGS
Der Optionstyp ist nicht gleich oder größer als der letzte Optionstyp.
OT_ERROR_NO_BUFS
Die Länge der Option überschreitet die Puffergröße.

otCoapMessageAttachBlock2Option

otError otCoapMessageAppendBlock2Option(
  otMessage *aMessage,
  uint32_t aNum,
  bool aMore,
  otCoapBlockSzx aSize
)

Fügt eine Block2-Option hinzu.

Details
Parameter
[in,out] aMessage
Ein Zeiger auf die CoAP-Nachricht.
[in] aNum
Aktuelle Blocknummer.
[in] aMore
Boolescher Wert, der angibt, dass mehr Blöcke gesendet werden sollen.
[in] aSize
Blockgrößen-Exponent.
Rückgabewerte
OT_ERROR_NONE
Die Option wurde angehängt.
OT_ERROR_INVALID_ARGS
Der Optionstyp ist nicht gleich oder größer als der letzte Optionstyp.
OT_ERROR_NO_BUFS
Die Länge der Option überschreitet die Puffergröße.

otCoapMessageAttachContentFormatOption

otError otCoapMessageAppendContentFormatOption(
  otMessage *aMessage,
  otCoapOptionContentFormat aContentFormat
)

Hängt die CoAP-Option für das Inhaltsformat an, wie unter https://tools.ietf.org/html/rfc7252#page-92 angegeben.

Dies muss vor der Festlegung von otCoapMessageSetPayloadMarker aufgerufen werden, wenn eine Nutzlast in der Nachricht enthalten sein soll.

Die Funktion ist ein Convenience-Wrapper um otCoapMessageAttachUintOption. Wenn der gewünschte Formattyp-Code nicht in otCoapOptionContentFormat aufgeführt ist, sollte stattdessen diese Basisfunktion verwendet werden.

Details
Parameter
[in,out] aMessage
Ein Zeiger auf die CoAP-Nachricht.
[in] aContentFormat
Eines der oben unter otCoapOptionContentFormat aufgeführten Inhaltsformate.
Rückgabewerte
OT_ERROR_NONE
Die Option wurde angehängt.
OT_ERROR_INVALID_ARGS
Der Optionstyp ist nicht gleich oder größer als der letzte Optionstyp.
OT_ERROR_NO_BUFS
Die Länge der Option überschreitet die Puffergröße.

otCoapMessageAnhängenMaxAgeOption

otError otCoapMessageAppendMaxAgeOption(
  otMessage *aMessage,
  uint32_t aMaxAge
)

Fügt eine Option für das maximale Alter hinzu.

Details
Parameter
[in,out] aMessage
Ein Zeiger auf die CoAP-Nachricht.
[in] aMaxAge
Der Wert für das maximale Alter.
Rückgabewerte
OT_ERROR_NONE
Die Option wurde angehängt.
OT_ERROR_INVALID_ARGS
Der Optionstyp ist nicht gleich oder größer als der letzte Optionstyp.
OT_ERROR_NO_BUFS
Die Länge der Option überschreitet die Puffergröße.

otCoapMessageAttachObserveOption

otError otCoapMessageAppendObserveOption(
  otMessage *aMessage,
  uint32_t aObserve
)

Fügt die Option „Beobachten“ hinzu.

Details
Parameter
[in,out] aMessage
Ein Zeiger auf die CoAP-Nachricht.
[in] aObserve
Beobachten Sie den Feldwert.
Rückgabewerte
OT_ERROR_NONE
Die Option wurde angehängt.
OT_ERROR_INVALID_ARGS
Der Optionstyp ist nicht gleich oder größer als der letzte Optionstyp.
OT_ERROR_NO_BUFS
Die Länge der Option überschreitet die Puffergröße.

otCoapMessageAttachOption

otError otCoapMessageAppendOption(
  otMessage *aMessage,
  uint16_t aNumber,
  uint16_t aLength,
  const void *aValue
)

Hängt eine CoAP-Option in einen Header ein.

Details
Parameter
[in,out] aMessage
Ein Zeiger auf die CoAP-Nachricht.
[in] aNumber
Die Nummer der CoAP-Option.
[in] aLength
Länge der CoAP-Option.
[in] aValue
Ein Zeiger auf den CoAP-Wert.
Rückgabewerte
OT_ERROR_NONE
Die Option wurde angehängt.
OT_ERROR_INVALID_ARGS
Der Optionstyp ist nicht gleich oder größer als der letzte Optionstyp.
OT_ERROR_NO_BUFS
Die Länge der Option überschreitet die Puffergröße.

otCoapMessageAttachProxyUriOption

otError otCoapMessageAppendProxyUriOption(
  otMessage *aMessage,
  const char *aUriPath
)

Fügt eine Proxy-Uri-Option hinzu.

Details
Parameter
[in,out] aMessage
Ein Zeiger auf die CoAP-Nachricht.
[in] aUriPath
Ein Zeiger auf einen NULL-terminierten String.
Rückgabewerte
OT_ERROR_NONE
Die Option wurde angehängt.
OT_ERROR_INVALID_ARGS
Der Optionstyp ist nicht gleich oder größer als der letzte Optionstyp.
OT_ERROR_NO_BUFS
Die Länge der Option überschreitet die Puffergröße.

otCoapMessageAttachUintOption

otError otCoapMessageAppendUintOption(
  otMessage *aMessage,
  uint16_t aNumber,
  uint32_t aValue
)

Hängt eine unsignierte Ganzzahl-CoAP-Option an, wie unter https://tools.ietf.org/html/rfc7252#section-3.2 angegeben.

Details
Parameter
[in,out] aMessage
Ein Zeiger auf die CoAP-Nachricht.
[in] aNumber
Die Nummer der CoAP-Option.
[in] aValue
Vorzeichenloser ganzzahliger Wert der CoAP-Option.
Rückgabewerte
OT_ERROR_NONE
Die Option wurde angehängt.
OT_ERROR_INVALID_ARGS
Der Optionstyp ist nicht gleich oder größer als der letzte Optionstyp.
OT_ERROR_NO_BUFS
Die Länge der Option überschreitet die Puffergröße.
Siehe auch:
otCoapMessageGetOptionUintValue

otCoapMessageAttachUriPathOptions

otError otCoapMessageAppendUriPathOptions(
  otMessage *aMessage,
  const char *aUriPath
)

Fügt eine Uri-Pfadoption hinzu.

Details
Parameter
[in,out] aMessage
Ein Zeiger auf die CoAP-Nachricht.
[in] aUriPath
Ein Zeiger auf einen NULL-terminierten String.
Rückgabewerte
OT_ERROR_NONE
Die Option wurde angehängt.
OT_ERROR_INVALID_ARGS
Der Optionstyp ist nicht gleich oder größer als der letzte Optionstyp.
OT_ERROR_NO_BUFS
Die Länge der Option überschreitet die Puffergröße.

otCoapMessageAttachUriQueryOption

otError otCoapMessageAppendUriQueryOption(
  otMessage *aMessage,
  const char *aUriQuery
)

Fügt eine einzelne URI-Abfrageoption hinzu.

Details
Parameter
[in,out] aMessage
Ein Zeiger auf die CoAP-Nachricht.
[in] aUriQuery
Ein Zeiger auf einen NULL-terminierten String, der ein einzelnes Schlüssel/Wert-Paar enthalten sollte.
Rückgabewerte
OT_ERROR_NONE
Die Option wurde angehängt.
OT_ERROR_INVALID_ARGS
Der Optionstyp ist nicht gleich oder größer als der letzte Optionstyp.
OT_ERROR_NO_BUFS
Die Länge der Option überschreitet die Puffergröße.

otCoapMessageCodeToString

const char * otCoapMessageCodeToString(
  const otMessage *aMessage
)

Gibt den CoAP-Code als menschenlesbare Zeichenfolge zurück.

@ gibt den CoAP-Code als String zurück.

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

otCoapMessageGenerateToken

void otCoapMessageGenerateToken(
  otMessage *aMessage,
  uint8_t aTokenLength
)

Legt die Länge des Tokens fest und bestimmt den Wert zufällig.

Details
Parameter
[in,out] aMessage
Ein Zeiger auf die CoAP-Nachricht.
[in] aTokenLength
Die Länge eines Tokens, das festgelegt werden soll.

otCoapMessageGetCode

otCoapCode otCoapMessageGetCode(
  const otMessage *aMessage
)

Gibt den Codewert zurück.

Details
Parameter
[in] aMessage
Ein Zeiger auf die CoAP-Nachricht.
Rückgabe
Der Codewert.

otCoapMessageGetMessageId

uint16_t otCoapMessageGetMessageId(
  const otMessage *aMessage
)

Gibt den Wert der Nachrichten-ID zurück.

Details
Parameter
[in] aMessage
Ein Zeiger auf die CoAP-Nachricht.
Rückgabe
Der Wert der Nachrichten-ID.

otCoapMessageGetToken

const uint8_t * otCoapMessageGetToken(
  const otMessage *aMessage
)

Gibt einen Zeiger auf den Tokenwert zurück.

Details
Parameter
[in] aMessage
Ein Zeiger auf die CoAP-Nachricht.
Rückgabe
Ein Zeiger auf den Tokenwert.

otCoapMessageGetTokenLength

uint8_t otCoapMessageGetTokenLength(
  const otMessage *aMessage
)

Gibt die Länge des Tokens zurück.

Details
Parameter
[in] aMessage
Ein Zeiger auf die CoAP-Nachricht.
Rückgabe
Die Länge des Tokens.

otCoapMessageGetType

otCoapType otCoapMessageGetType(
  const otMessage *aMessage
)

Gibt den Wert für den Typ zurück.

Details
Parameter
[in] aMessage
Ein Zeiger auf die CoAP-Nachricht.
Rückgabe
Wert für Typ

otCoapMessageInit

void otCoapMessageInit(
  otMessage *aMessage,
  otCoapType aType,
  otCoapCode aCode
)

Initialisiert den CoAP-Header.

Details
Parameter
[in,out] aMessage
Ein Zeiger auf die zu initialisierende CoAP-Nachricht.
[in] aType
CoAP-Nachrichtentyp.
[in] aCode
CoAP-Nachrichtencode.

otCoapMessageInitResponse

otError otCoapMessageInitResponse(
  otMessage *aResponse,
  const otMessage *aRequest,
  otCoapType aType,
  otCoapCode aCode
)

Initialisiert eine Antwortnachricht.

Details
Parameter
[in,out] aResponse
Ein Zeiger auf die CoAP-Antwortnachricht.
[in] aRequest
Ein Zeiger auf die CoAP-Anfragenachricht.
[in] aType
CoAP-Nachrichtentyp.
[in] aCode
CoAP-Nachrichtencode.
Rückgabewerte
OT_ERROR_NONE
Die Antwortnachricht wurde initialisiert.
OT_ERROR_NO_BUFS
Nicht genügend Nachrichtenpuffer zum Initialisieren der Antwortnachricht verfügbar.

otCoapMessageSetCode

void otCoapMessageSetCode(
  otMessage *aMessage,
  otCoapCode aCode
)

Legt den Codewert fest.

Details
Parameter
[in,out] aMessage
Ein Zeiger auf die zu initialisierende CoAP-Nachricht.
[in] aCode
CoAP-Nachrichtencode.

otCoapMessageSetPayloadMarker

otError otCoapMessageSetPayloadMarker(
  otMessage *aMessage
)

Fügt dem CoAP-Header eine Nutzlastmarkierung hinzu, die den Beginn der Nutzlast angibt.

Details
Parameter
[in,out] aMessage
Ein Zeiger auf die CoAP-Nachricht.
Rückgabewerte
OT_ERROR_NONE
Nutzlastmarkierung erfolgreich hinzugefügt.
OT_ERROR_NO_BUFS
Die Header-Nutzlastmarkierung überschreitet die Puffergröße.

otCoapMessageSetToken

otError otCoapMessageSetToken(
  otMessage *aMessage,
  const uint8_t *aToken,
  uint8_t aTokenLength
)

Legt den Wert und die Länge des Tokens in einem Header fest.

Details
Parameter
[in,out] aMessage
Ein Zeiger auf die CoAP-Nachricht.
[in] aToken
Ein Zeiger auf den Tokenwert.
[in] aTokenLength
Die Länge von aToken.
Rückgabewerte
OT_ERROR_NONE
Der Wert für das Token wurde festgelegt.
OT_ERROR_NO_BUFS
Nicht genügend Puffer, um den Wert des Tokens festzulegen.

otCoapNewMessage

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

Erstellt eine neue CoAP-Nachricht.

Details
Parameter
[in] aInstance
Ein Zeiger auf eine OpenThread-Instanz.
[in] aSettings
Ein Verweis auf die Nachrichteneinstellungen oder NULL zum Festlegen der Standardeinstellungen.
Rückgabe
Ein Zeiger auf den Nachrichtenpuffer oder NULL, wenn keine Nachrichtenpuffer verfügbar sind oder die Parameter ungültig sind.

otCoapOptionIteratorGetFirstOption

const otCoapOption * otCoapOptionIteratorGetFirstOption(
  otCoapOptionIterator *aIterator
)

Gibt einen Zeiger auf die erste Option zurück.

Details
Parameter
[in,out] aIterator
Ein Zeiger auf den CoAP-Nachrichtenoption-iterator.
Rückgabe
Ein Zeiger auf die erste Option. Wenn keine Option vorhanden ist, wird ein NULL-Zeiger zurückgegeben.

otCoapOptionIteratorGetFirstOptionMatching

const otCoapOption * otCoapOptionIteratorGetFirstOptionMatching(
  otCoapOptionIterator *aIterator,
  uint16_t aOption
)

Gibt einen Zeiger auf die erste Option zurück, die der angegebenen Optionsnummer entspricht.

Details
Parameter
[in] aIterator
Ein Zeiger auf den CoAP-Nachrichtenoption-iterator.
[in] aOption
Die gesuchte Optionsnummer.
Rückgabe
Ein Zeiger auf die erste Übereinstimmungsoption. Wenn keine Übereinstimmungsoption vorhanden ist, wird ein NULL-Zeiger zurückgegeben.

otCoapOptionIteratorGetNextOption

const otCoapOption * otCoapOptionIteratorGetNextOption(
  otCoapOptionIterator *aIterator
)

Gibt einen Zeiger zur nächsten Option zurück.

Details
Parameter
[in,out] aIterator
Ein Zeiger auf den CoAP-Nachrichtenoption-iterator.
Rückgabe
Ein Zeiger zur nächsten Option. Wenn keine weiteren Optionen vorhanden sind, wird ein NULL-Zeiger zurückgegeben.

otCoapOptionIteratorGetNextOptionMatching

const otCoapOption * otCoapOptionIteratorGetNextOptionMatching(
  otCoapOptionIterator *aIterator,
  uint16_t aOption
)

Gibt einen Zeiger auf die nächste Option zurück, die der angegebenen Optionsnummer entspricht.

Details
Parameter
[in] aIterator
Ein Zeiger auf den CoAP-Nachrichtenoption-iterator.
[in] aOption
Die gesuchte Optionsnummer.
Rückgabe
Ein Zeiger auf die nächste Übereinstimmungsoption. Wenn keine weitere Übereinstimmungsoption vorhanden ist, wird der NULL-Zeiger zurückgegeben.

otCoapOptionIteratorGetOptionUintValue

otError otCoapOptionIteratorGetOptionUintValue(
  otCoapOptionIterator *aIterator,
  uint64_t *aValue
)

Füllt den aktuellen Optionswert in aValue aus. Dabei wird davon ausgegangen, dass der aktuelle Wert eine nach https://tools.ietf.org/html/rfc7252#section-3.2 codierte Ganzzahl ohne Vorzeichen ist.

Details
Parameter
[in,out] aIterator
Ein Zeiger auf den CoAP-Nachrichtenoption-iterator.
[out] aValue
Ein Zeiger auf eine vorzeichenlose Ganzzahl zum Empfangen des Optionswerts.
Rückgabewerte
OT_ERROR_NONE
Der Wert wurde ausgefüllt.
OT_ERROR_NOT_FOUND
Keine aktuelle Option.
OT_ERROR_NO_BUFS
Der Wert ist zu lang für eine uint64_t.
Weitere Informationen:
otCoapMessageAttachUintOption

otCoapOptionIteratorGetOptionValue

otError otCoapOptionIteratorGetOptionValue(
  otCoapOptionIterator *aIterator,
  void *aValue
)

Fügt den aktuellen Optionswert in aValue ein.

Details
Parameter
[in,out] aIterator
Ein Zeiger auf den CoAP-Nachrichtenoption-iterator.
[out] aValue
Ein Zeiger auf einen Puffer, um den Optionswert zu erhalten.
Rückgabewerte
OT_ERROR_NONE
Der Wert wurde ausgefüllt.
OT_ERROR_NOT_FOUND
Keine aktuelle Option.

otCoapOptionIteratorInit

otError otCoapOptionIteratorInit(
  otCoapOptionIterator *aIterator,
  const otMessage *aMessage
)

Initialisiert einen Iterator für die Optionen in der angegebenen Nachricht.

Details
Parameter
[in,out] aIterator
Ein Zeiger auf den CoAP-Nachrichtenoption-iterator.
[in] aMessage
Ein Zeiger auf die CoAP-Nachricht.
Rückgabewerte
OT_ERROR_NONE
Initialisiert.
OT_ERROR_PARSE
Der Nachrichtenstatus ist inkonsistent.

otCoapRemoveBlockWiseResource

void otCoapRemoveBlockWiseResource(
  otInstance *aInstance,
  otCoapBlockwiseResource *aResource
)

Entfernt eine blockweise Ressource vom CoAP-Server.

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

otCoapRemoveResource

void otCoapRemoveResource(
  otInstance *aInstance,
  otCoapResource *aResource
)

Entfernt eine Ressource vom CoAP-Server.

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

otCoapSendRequest

otError otCoapSendRequest(
  otInstance *aInstance,
  otMessage *aMessage,
  const otMessageInfo *aMessageInfo,
  otCoapResponseHandler aHandler,
  void *aContext
)

Sendet eine CoAP-Anfrage.

Wenn eine Antwort auf eine Anfrage erwartet wird, sollten die entsprechenden Funktions- und Kontextinformationen bereitgestellt werden. Wenn keine Antwort erwartet wird, sollten diese Argumente NULL-Zeiger sein.

Details
Parameter
[in] aInstance
Ein Zeiger auf eine OpenThread-Instanz.
[in] aMessage
Ein Zeiger auf die zu sendende Nachricht.
[in] aMessageInfo
Ein Verweis auf die mit aMessage verknüpften Nachrichteninformationen.
[in] aHandler
Ein Funktionszeiger, der beim Empfang einer Antwort oder bei einer Zeitüberschreitung aufgerufen wird.
[in] aContext
Ein Zeiger auf beliebige Kontextinformationen. Kann NULL sein, wenn nicht verwendet.
Rückgabewerte
OT_ERROR_NONE
CoAP-Nachricht wurde gesendet.
OT_ERROR_NO_BUFS
Fehler beim Zuweisen der Daten zur erneuten Übertragung.

otCoapSendRequestBlockWise

otError otCoapSendRequestBlockWise(
  otInstance *aInstance,
  otMessage *aMessage,
  const otMessageInfo *aMessageInfo,
  otCoapResponseHandler aHandler,
  void *aContext,
  otCoapBlockwiseTransmitHook aTransmitHook,
  otCoapBlockwiseReceiveHook aReceiveHook
)

Sendet eine CoAP-Anfrage blockweise.

Ist verfügbar, wenn die Konfiguration OPENTHREAD_CONFIG_COAP_BLOCKWISE_TRANSFER_ENABLE aktiviert ist.

Wenn eine Antwort auf eine Anfrage erwartet wird, sollten die entsprechenden Funktions- und Kontextinformationen bereitgestellt werden. Wenn erwartet wird, dass die Antwort blockweise erfolgt, sollte eine entsprechende Hook-Funktion bereitgestellt werden. Wenn keine Antwort erwartet wird, sollten diese Argumente NULL-Zeiger sein.

Details
Parameter
[in] aInstance
Ein Zeiger auf eine OpenThread-Instanz.
[in] aMessage
Ein Zeiger auf die zu sendende Nachricht.
[in] aMessageInfo
Ein Verweis auf die mit aMessage verknüpften Nachrichteninformationen.
[in] aHandler
Ein Funktionszeiger, der beim Empfang einer Antwort oder bei einer Zeitüberschreitung aufgerufen wird.
[in] aContext
Ein Zeiger auf beliebige Kontextinformationen. Kann NULL sein, wenn nicht verwendet.
[in] aTransmitHook
Ein Zeiger auf eine Hook-Funktion für eine ausgehende blockweise Übertragung.
[in] aReceiveHook
Ein Zeiger auf eine Hook-Funktion für eingehende blockweise Übertragungen.
Rückgabewerte
OT_ERROR_NONE
CoAP-Nachricht wurde gesendet.
OT_ERROR_NO_BUFS
Fehler beim Zuweisen der Daten zur erneuten Übertragung.

otCoapSendRequestBlockWiseWithParameters

otError otCoapSendRequestBlockWiseWithParameters(
  otInstance *aInstance,
  otMessage *aMessage,
  const otMessageInfo *aMessageInfo,
  otCoapResponseHandler aHandler,
  void *aContext,
  const otCoapTxParameters *aTxParameters,
  otCoapBlockwiseTransmitHook aTransmitHook,
  otCoapBlockwiseReceiveHook aReceiveHook
)

Sendet eine CoAP-Anfrage blockweise mit benutzerdefinierten Übertragungsparametern.

Ist verfügbar, wenn die Konfiguration OPENTHREAD_CONFIG_COAP_BLOCKWISE_TRANSFER_ENABLE aktiviert ist.

Wenn eine Antwort auf eine Anfrage erwartet wird, sollten die entsprechenden Funktions- und Kontextinformationen bereitgestellt werden. Wenn erwartet wird, dass die Antwort blockweise erfolgt, sollte eine entsprechende Hook-Funktion bereitgestellt werden. Wenn keine Antwort erwartet wird, sollten diese Argumente NULL-Zeiger sein.

Details
Parameter
[in] aInstance
Ein Zeiger auf eine OpenThread-Instanz.
[in] aMessage
Ein Zeiger auf die zu sendende Nachricht.
[in] aMessageInfo
Ein Verweis auf die mit aMessage verknüpften Nachrichteninformationen.
[in] aHandler
Ein Funktionszeiger, der beim Empfang einer Antwort oder bei einer Zeitüberschreitung aufgerufen wird.
[in] aContext
Ein Zeiger auf beliebige Kontextinformationen. Kann NULL sein, wenn nicht verwendet.
[in] aTxParameters
Ein Zeiger auf Übertragungsparameter für diese Anfrage. Verwenden Sie NULL für Standardeinstellungen.
[in] aTransmitHook
Ein Zeiger auf eine Hook-Funktion für eine ausgehende blockweise Übertragung.
[in] aReceiveHook
Ein Zeiger auf eine Hook-Funktion für eingehende blockweise Übertragungen.
Rückgabewerte
OT_ERROR_NONE
CoAP-Nachricht wurde gesendet.
OT_ERROR_NO_BUFS
Fehler beim Zuweisen der Daten zur erneuten Übertragung.
OT_ERROR_INVALID_ARGS
Es werden ungültige Argumente angegeben.

otCoapSendRequestWithParameters

otError otCoapSendRequestWithParameters(
  otInstance *aInstance,
  otMessage *aMessage,
  const otMessageInfo *aMessageInfo,
  otCoapResponseHandler aHandler,
  void *aContext,
  const otCoapTxParameters *aTxParameters
)

Sendet eine CoAP-Anfrage mit benutzerdefinierten Übertragungsparametern.

Wenn eine Antwort auf eine Anfrage erwartet wird, sollten die entsprechenden Funktions- und Kontextinformationen bereitgestellt werden. Wenn keine Antwort erwartet wird, sollten diese Argumente NULL-Zeiger sein.

Details
Parameter
[in] aInstance
Ein Zeiger auf eine OpenThread-Instanz.
[in] aMessage
Ein Zeiger auf die zu sendende Nachricht.
[in] aMessageInfo
Ein Verweis auf die mit aMessage verknüpften Nachrichteninformationen.
[in] aHandler
Ein Funktionszeiger, der beim Empfang einer Antwort oder bei einer Zeitüberschreitung aufgerufen wird.
[in] aContext
Ein Zeiger auf beliebige Kontextinformationen. Kann NULL sein, wenn nicht verwendet.
[in] aTxParameters
Ein Zeiger auf Übertragungsparameter für diese Anfrage. Verwenden Sie NULL für Standardeinstellungen. Andernfalls müssen die angegebenen Parameter die folgenden Bedingungen erfüllen:
  1. mMaxRetransmit ist nicht höher als OT_COAP_MAX_RETRANSMIT.
  2. „mAckRandomFactorNumerator / mAckRandomFactorDenominator“ darf nicht unter 1,0 liegen.
  3. Die berechnete Lebensdauer einer Anzeigenplattform darf uint32_t nicht überlaufen.
Rückgabewerte
OT_ERROR_NONE
CoAP-Nachricht wurde gesendet.
OT_ERROR_NO_BUFS
Fehler beim Zuweisen der Daten zur erneuten Übertragung.
OT_ERROR_INVALID_ARGS
Es werden ungültige Argumente angegeben.

otCoapSendResponse

otError otCoapSendResponse(
  otInstance *aInstance,
  otMessage *aMessage,
  const otMessageInfo *aMessageInfo
)

Sendet eine CoAP-Antwort vom Server.

Details
Parameter
[in] aInstance
Ein Zeiger auf eine OpenThread-Instanz.
[in] aMessage
Ein Zeiger auf die zu sendende CoAP-Antwort.
[in] aMessageInfo
Ein Verweis auf die mit aMessage verknüpften Nachrichteninformationen.
Rückgabewerte
OT_ERROR_NONE
CoAP-Antwortnachricht wurde in die Warteschlange eingereiht.
OT_ERROR_NO_BUFS
Nicht genügend Puffer zum Senden der CoAP-Antwort verfügbar.

otCoapSendResponseBlockWise

otError otCoapSendResponseBlockWise(
  otInstance *aInstance,
  otMessage *aMessage,
  const otMessageInfo *aMessageInfo,
  void *aContext,
  otCoapBlockwiseTransmitHook aTransmitHook
)

Sendet blockweise eine CoAP-Antwort vom Server.

Ist verfügbar, wenn die Konfiguration OPENTHREAD_CONFIG_COAP_BLOCKWISE_TRANSFER_ENABLE aktiviert ist.

Details
Parameter
[in] aInstance
Ein Zeiger auf eine OpenThread-Instanz.
[in] aMessage
Ein Zeiger auf die zu sendende CoAP-Antwort.
[in] aMessageInfo
Ein Verweis auf die mit aMessage verknüpften Nachrichteninformationen.
[in] aContext
Ein Zeiger auf beliebige Kontextinformationen. Kann NULL sein, wenn nicht verwendet.
[in] aTransmitHook
Ein Zeiger auf eine Hook-Funktion für eine ausgehende blockweise Übertragung.
Rückgabewerte
OT_ERROR_NONE
CoAP-Antwortnachricht wurde in die Warteschlange eingereiht.
OT_ERROR_NO_BUFS
Nicht genügend Puffer zum Senden der CoAP-Antwort verfügbar.

otCoapSendResponseBlockWiseWithParameters

otError otCoapSendResponseBlockWiseWithParameters(
  otInstance *aInstance,
  otMessage *aMessage,
  const otMessageInfo *aMessageInfo,
  const otCoapTxParameters *aTxParameters,
  void *aContext,
  otCoapBlockwiseTransmitHook aTransmitHook
)

Sendet eine CoAP-Antwort blockweise vom Server mit benutzerdefinierten Übertragungsparametern.

Ist verfügbar, wenn die Konfiguration OPENTHREAD_CONFIG_COAP_BLOCKWISE_TRANSFER_ENABLE aktiviert ist.

Details
Parameter
[in] aInstance
Ein Zeiger auf eine OpenThread-Instanz.
[in] aMessage
Ein Zeiger auf die zu sendende CoAP-Antwort.
[in] aMessageInfo
Ein Verweis auf die mit aMessage verknüpften Nachrichteninformationen.
[in] aTxParameters
Ein Verweis auf Übertragungsparameter für diese Antwort. Verwenden Sie NULL für Standardeinstellungen.
[in] aContext
Ein Zeiger auf beliebige Kontextinformationen. Kann NULL sein, wenn nicht verwendet.
[in] aTransmitHook
Ein Zeiger auf eine Hook-Funktion für eine ausgehende blockweise Übertragung.
Rückgabewerte
OT_ERROR_NONE
CoAP-Antwortnachricht wurde in die Warteschlange eingereiht.
OT_ERROR_NO_BUFS
Nicht genügend Puffer zum Senden der CoAP-Antwort verfügbar.
OT_ERROR_INVALID_ARGS
Es werden ungültige Argumente angegeben.

otCoapSendResponseWithParameters

otError otCoapSendResponseWithParameters(
  otInstance *aInstance,
  otMessage *aMessage,
  const otMessageInfo *aMessageInfo,
  const otCoapTxParameters *aTxParameters
)

Sendet vom Server eine CoAP-Antwort mit benutzerdefinierten Übertragungsparametern.

Details
Parameter
[in] aInstance
Ein Zeiger auf eine OpenThread-Instanz.
[in] aMessage
Ein Zeiger auf die zu sendende CoAP-Antwort.
[in] aMessageInfo
Ein Verweis auf die mit aMessage verknüpften Nachrichteninformationen.
[in] aTxParameters
Ein Verweis auf Übertragungsparameter für diese Antwort. Verwenden Sie NULL für Standardeinstellungen.
Rückgabewerte
OT_ERROR_NONE
CoAP-Antwortnachricht wurde in die Warteschlange eingereiht.
OT_ERROR_NO_BUFS
Nicht genügend Puffer zum Senden der CoAP-Antwort verfügbar.
OT_ERROR_INVALID_ARGS
Es werden ungültige Argumente angegeben.

otCoapSetDefaultHandler

void otCoapSetDefaultHandler(
  otInstance *aInstance,
  otCoapRequestHandler aHandler,
  void *aContext
)

Legt den Standard-Handler für unbearbeitete CoAP-Anfragen fest.

Details
Parameter
[in] aInstance
Ein Zeiger auf eine OpenThread-Instanz.
[in] aHandler
Ein Funktionszeiger, der aufgerufen wird, wenn eine unbearbeitete Anforderung eingeht.
[in] aContext
Ein Zeiger auf beliebige Kontextinformationen. Kann NULL sein, wenn nicht verwendet.

otCoapStart

otError otCoapStart(
  otInstance *aInstance,
  uint16_t aPort
)

Startet den CoAP-Server.

Details
Parameter
[in] aInstance
Ein Zeiger auf eine OpenThread-Instanz.
[in] aPort
Der lokale UDP-Port, an den die Bindung erfolgen soll.
Rückgabewerte
OT_ERROR_NONE
CoAP-Server wurde gestartet.
OT_ERROR_FAILED
Der CoAP-Server konnte nicht gestartet werden.

OTCoapStop

otError otCoapStop(
  otInstance *aInstance
)

Stoppt den CoAP-Server.

Details
Parameter
[in] aInstance
Ein Zeiger auf eine OpenThread-Instanz.
Rückgabewerte
OT_ERROR_NONE
Der CoAP-Server wurde beendet.

Makros

OT_COAP_CODE

 OT_COAP_CODE ((((c)&0x7) << 5) | ((d)&0x1f))

Hilfsmakro zur Definition von CoAP-Codewerten.

OT_COAP_DEFAULT_TOKEN_LENGTH

 OT_COAP_DEFAULT_TOKEN_LENGTH 2

Standardlänge des Tokens.

OT_COAP_MAX_RETRANSMIT

 OT_COAP_MAX_RETRANSMIT 20

Maximale Anzahl von Neuübertragungen wird von OpenThread unterstützt.

OT_COAP_MAX_TOKEN_LENGTH

 OT_COAP_MAX_TOKEN_LENGTH 8

Maximale Tokenlänge wie angegeben (RFC 7252).

OT_COAP_MIN_ACK_TIMEOUT

 OT_COAP_MIN_ACK_TIMEOUT 1000

Minimales ACK-Zeitlimit in Millisekunden, das von OpenThread unterstützt wird.

OT_DEFAULT_COAP_PORT

 OT_DEFAULT_COAP_PORT 5683

Standard-CoAP-Port, wie in RFC 7252 angegeben.

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.