COAP

Questo modulo include funzioni che controllano la comunicazione CoAP.

Riepilogo

Le funzioni in questo modulo sono disponibili quando la funzionalità dell'API CoAP (OPENTHREAD_CONFIG_COAP_API_ENABLE) è abilitata.

Enumerazioni

otCoapBlockSzx enum
Esponenti di dimensione blocco CoAP.
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
Valori del codice CoAP.
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
Codici dei formati dei contenuti CoAP.
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
Numeri di opzione CoAP.
otCoapType{
  OT_COAP_TYPE_CONFIRMABLE = 0,
  OT_COAP_TYPE_NON_CONFIRMABLE = 1,
  OT_COAP_TYPE_ACKNOWLEDGMENT = 2,
  OT_COAP_TYPE_RESET = 3
}
enum
Valori di tipo CoAP (numero intero senza segno a 2 bit).

Typedef

otCoapBlockSzx typedef
Esponenti di dimensione blocco CoAP.
otCoapBlockwiseReceiveHook)(void *aContext, const uint8_t *aBlock, uint32_t aPosition, uint16_t aBlockLength, bool aMore, uint32_t aTotalLength) typedef
Il puntatore viene chiamato quando viene ricevuto un messaggio CoAP con un'opzione di trasferimento a blocchi.
otCoapBlockwiseResource typedef
Rappresenta una risorsa CoAP con trasferimento a blocchi.
otCoapBlockwiseTransmitHook)(void *aContext, uint8_t *aBlock, uint32_t aPosition, uint16_t *aBlockLength, bool *aMore) typedef
Il puntatore viene chiamato prima del blocco successivo in un trasferimento a blocchi.
otCoapCode typedef
enum otCoapCode
Valori del codice CoAP.
otCoapOption typedef
struct otCoapOption
Rappresenta un'opzione CoAP.
otCoapOptionContentFormat typedef
Codici dei formati dei contenuti CoAP.
otCoapOptionIterator typedef
Agisce da iteratore per le opzioni CoAP.
otCoapOptionType typedef
Numeri di opzione CoAP.
otCoapRequestHandler)(void *aContext, otMessage *aMessage, const otMessageInfo *aMessageInfo) typedef
void(*
Il puntatore viene chiamato quando viene ricevuta una richiesta CoAP con un determinato Uri-Path.
otCoapResource typedef
Rappresenta una risorsa CoAP.
otCoapResponseHandler)(void *aContext, otMessage *aMessage, const otMessageInfo *aMessageInfo, otError aResult) typedef
void(*
Il puntatore viene chiamato quando viene ricevuta una risposta CoAP o al timeout della richiesta.
otCoapTxParameters typedef
Rappresenta i parametri di trasmissione CoAP.
otCoapType typedef
enum otCoapType
Valori di tipo CoAP (numero intero senza segno a 2 bit).

Funzioni

otCoapAddBlockWiseResource(otInstance *aInstance, otCoapBlockwiseResource *aResource)
void
Aggiunge una risorsa a livello di blocco al server CoAP.
otCoapAddResource(otInstance *aInstance, otCoapResource *aResource)
void
Aggiunge una risorsa al server CoAP.
otCoapBlockSizeFromExponent(otCoapBlockSzx aSize)
uint16_t
Converte un campo SZX dell'opzione Blocco CoAP nella dimensione effettiva del blocco.
otCoapMessageAppendBlock1Option(otMessage *aMessage, uint32_t aNum, bool aMore, otCoapBlockSzx aSize)
Aggiunge un'opzione Block1.
otCoapMessageAppendBlock2Option(otMessage *aMessage, uint32_t aNum, bool aMore, otCoapBlockSzx aSize)
Aggiunge un'opzione Block2.
otCoapMessageAppendContentFormatOption(otMessage *aMessage, otCoapOptionContentFormat aContentFormat)
Accoda l'opzione CoAP per il formato dei contenuti come specificato in https://tools.ietf.org/html/RFC7252#page-92.
otCoapMessageAppendMaxAgeOption(otMessage *aMessage, uint32_t aMaxAge)
Aggiungi un'opzione Max-Age.
otCoapMessageAppendObserveOption(otMessage *aMessage, uint32_t aObserve)
Aggiunge un'opzione di osservazione.
otCoapMessageAppendOption(otMessage *aMessage, uint16_t aNumber, uint16_t aLength, const void *aValue)
Accoda un'opzione CoAP in un'intestazione.
otCoapMessageAppendProxyUriOption(otMessage *aMessage, const char *aUriPath)
Aggiungi un'opzione URI proxy.
otCoapMessageAppendUintOption(otMessage *aMessage, uint16_t aNumber, uint32_t aValue)
Accoda un'opzione CoAP con numero intero senza segno, come specificato in https://tools.ietf.org/html/RFC7252#section-3.2.
otCoapMessageAppendUriPathOptions(otMessage *aMessage, const char *aUriPath)
Accoda un'opzione Uri-Path.
otCoapMessageAppendUriQueryOption(otMessage *aMessage, const char *aUriQuery)
Accoda una singola opzione URI.
otCoapMessageCodeToString(const otMessage *aMessage)
const char *
Restituisce il codice CoAP come stringa leggibile.
otCoapMessageGenerateToken(otMessage *aMessage, uint8_t aTokenLength)
void
Imposta la lunghezza del token e ne randomizza il valore.
otCoapMessageGetCode(const otMessage *aMessage)
Restituisce il valore del codice.
otCoapMessageGetMessageId(const otMessage *aMessage)
uint16_t
Restituisce il valore dell'ID messaggio.
otCoapMessageGetToken(const otMessage *aMessage)
const uint8_t *
Restituisce un puntatore al valore del token.
otCoapMessageGetTokenLength(const otMessage *aMessage)
uint8_t
Restituisce la lunghezza del token.
otCoapMessageGetType(const otMessage *aMessage)
Restituisce il valore del tipo.
otCoapMessageInit(otMessage *aMessage, otCoapType aType, otCoapCode aCode)
void
Inizializza l'intestazione CoAP.
otCoapMessageInitResponse(otMessage *aResponse, const otMessage *aRequest, otCoapType aType, otCoapCode aCode)
Inizializza un messaggio di risposta.
otCoapMessageSetCode(otMessage *aMessage, otCoapCode aCode)
void
Imposta il valore Codice.
otCoapMessageSetPayloadMarker(otMessage *aMessage)
Aggiunge un indicatore di payload che indica l'inizio del payload all'intestazione CoAP.
otCoapMessageSetToken(otMessage *aMessage, const uint8_t *aToken, uint8_t aTokenLength)
Imposta il valore e la lunghezza del token in un'intestazione.
otCoapNewMessage(otInstance *aInstance, const otMessageSettings *aSettings)
Crea un nuovo messaggio CoAP.
otCoapOptionIteratorGetFirstOption(otCoapOptionIterator *aIterator)
const otCoapOption *
Restituisce un puntatore alla prima opzione.
otCoapOptionIteratorGetFirstOptionMatching(otCoapOptionIterator *aIterator, uint16_t aOption)
const otCoapOption *
Restituisce un puntatore alla prima opzione corrispondente al numero di opzione specificato.
otCoapOptionIteratorGetNextOption(otCoapOptionIterator *aIterator)
const otCoapOption *
Restituisce un puntatore all'opzione successiva.
otCoapOptionIteratorGetNextOptionMatching(otCoapOptionIterator *aIterator, uint16_t aOption)
const otCoapOption *
Restituisce un puntatore all'opzione successiva corrispondente al numero di opzione specificato.
otCoapOptionIteratorGetOptionUintValue(otCoapOptionIterator *aIterator, uint64_t *aValue)
Riempi il valore dell'opzione corrente in aValue supponendo che il valore corrente sia un numero intero senza segno codificato secondo https://tools.ietf.org/html/RFC7252#section-3.2.
otCoapOptionIteratorGetOptionValue(otCoapOptionIterator *aIterator, void *aValue)
Inserisci il valore dell'opzione corrente in aValue.
otCoapOptionIteratorInit(otCoapOptionIterator *aIterator, const otMessage *aMessage)
Inizializza un iteratore per le opzioni nel messaggio specificato.
otCoapRemoveBlockWiseResource(otInstance *aInstance, otCoapBlockwiseResource *aResource)
void
Rimuove una risorsa a livello di blocco dal server CoAP.
otCoapRemoveResource(otInstance *aInstance, otCoapResource *aResource)
void
Rimuove una risorsa dal server CoAP.
otCoapSendRequest(otInstance *aInstance, otMessage *aMessage, const otMessageInfo *aMessageInfo, otCoapResponseHandler aHandler, void *aContext)
Invia una richiesta CoAP.
otCoapSendRequestBlockWise(otInstance *aInstance, otMessage *aMessage, const otMessageInfo *aMessageInfo, otCoapResponseHandler aHandler, void *aContext, otCoapBlockwiseTransmitHook aTransmitHook, otCoapBlockwiseReceiveHook aReceiveHook)
Invia una richiesta CoAP a livello di blocco.
otCoapSendRequestBlockWiseWithParameters(otInstance *aInstance, otMessage *aMessage, const otMessageInfo *aMessageInfo, otCoapResponseHandler aHandler, void *aContext, const otCoapTxParameters *aTxParameters, otCoapBlockwiseTransmitHook aTransmitHook, otCoapBlockwiseReceiveHook aReceiveHook)
Invia una richiesta CoAP a blocchi con parametri di trasmissione personalizzati.
otCoapSendRequestWithParameters(otInstance *aInstance, otMessage *aMessage, const otMessageInfo *aMessageInfo, otCoapResponseHandler aHandler, void *aContext, const otCoapTxParameters *aTxParameters)
Invia una richiesta CoAP con parametri di trasmissione personalizzati.
otCoapSendResponse(otInstance *aInstance, otMessage *aMessage, const otMessageInfo *aMessageInfo)
Invia una risposta CoAP dal server.
otCoapSendResponseBlockWise(otInstance *aInstance, otMessage *aMessage, const otMessageInfo *aMessageInfo, void *aContext, otCoapBlockwiseTransmitHook aTransmitHook)
Invia una risposta CoAP a blocchi dal server.
otCoapSendResponseBlockWiseWithParameters(otInstance *aInstance, otMessage *aMessage, const otMessageInfo *aMessageInfo, const otCoapTxParameters *aTxParameters, void *aContext, otCoapBlockwiseTransmitHook aTransmitHook)
Invia una risposta CoAP a blocchi dal server con parametri di trasmissione personalizzati.
otCoapSendResponseWithParameters(otInstance *aInstance, otMessage *aMessage, const otMessageInfo *aMessageInfo, const otCoapTxParameters *aTxParameters)
Invia una risposta CoAP dal server con parametri di trasmissione personalizzati.
otCoapSetDefaultHandler(otInstance *aInstance, otCoapRequestHandler aHandler, void *aContext)
void
Imposta il gestore predefinito per le richieste CoAP non gestite.
otCoapStart(otInstance *aInstance, uint16_t aPort)
Avvia il server CoAP.
otCoapStop(otInstance *aInstance)
Arresta il server CoAP.

Strutture

Risorsa otCoapBlockwise

Rappresenta una risorsa CoAP con trasferimento a blocchi.

otCoapOption

Rappresenta un'opzione CoAP.

otCoapOptionIterator

Agisce da iteratore per le opzioni CoAP.

Risorsa otCoap

Rappresenta una risorsa CoAP.

Parametri otCoapTx

Rappresenta i parametri di trasmissione CoAP.

Enumerazioni

otCoapBlockSzx

 otCoapBlockSzx

Esponenti di dimensione blocco CoAP.

Codice otCoap

 otCoapCode

Valori del codice CoAP.

Proprietà
OT_COAP_CODE_BAD_GATEWAY

Gateway non valido.

OT_COAP_CODE_BAD_OPTION

Opzione non valida.

OT_COAP_CODE_BAD_REQUEST

Richiesta non valida.

OT_COAP_CODE_CHANGED

Modificato.

OT_COAP_CODE_CONTENT

Contenuti.

OT_COAP_CODE_CONTINUE

RFC7959 Continua.

OT_COAP_CODE_CREATED

Creata.

OT_COAP_CODE_DELETE

Elimina.

OT_COAP_CODE_DELETED

Eliminata.

OT_COAP_CODE_EMPTY

Codice messaggio vuoto.

OT_COAP_CODE_FORBIDDEN

Non consentito.

OT_COAP_CODE_GATEWAY_TIMEOUT

Timeout del gateway.

OT_COAP_CODE_GET

Scarica.

OT_COAP_CODE_INTERNAL_ERROR

Errore interno del server.

OT_COAP_CODE_METHOD_NOT_ALLOWED

Metodo non consentito.

OT_COAP_CODE_NOT_ACCEPTABLE

Non accettabile.

OT_COAP_CODE_NOT_FOUND

Non trovato.

OT_COAP_CODE_NOT_IMPLEMENTED

Non implementato.

OT_COAP_CODE_POST

Post.

OT_COAP_CODE_PRECONDITION_FAILED

Precondizione non riuscita.

OT_COAP_CODE_PROXY_NOT_SUPPORTED

Proxy non supportato.

OT_COAP_CODE_PUT

Metti.

OT_COAP_CODE_REQUEST_INCOMPLETE

Entità della richiesta RFC7959 incompleta.

OT_COAP_CODE_REQUEST_TOO_LARGE

Entità richiesta troppo grande.

OT_COAP_CODE_RESPONSE_MIN

2.00

OT_COAP_CODE_SERVICE_UNAVAILABLE

Servizio non disponibile.

OT_COAP_CODE_UNAUTHORIZED

Non autorizzato.

OT_COAP_CODE_UNSUPPORTED_FORMAT

Formato dei contenuti non supportato.

OT_COAP_CODE_VALID

Valida.

Formato otCoapOptionContentFormat

 otCoapOptionContentFormat

Codici dei formati dei contenuti CoAP.

L'elenco completo è documentato all'indirizzo https://www.iana.org/assignments/core-parameters/core-parameters.xhtml#content-formats

Proprietà
OT_COAP_OPTION_CONTENT_FORMAT_CBOR

applicazione/cbor: [RFC7049]

OT_COAP_OPTION_CONTENT_FORMAT_COAP_GROUP_JSON

applicazione/coap-group+json: [RFC7390]

OT_COAP_OPTION_CONTENT_FORMAT_COSE_ENCRYPT

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

OT_COAP_OPTION_CONTENT_FORMAT_COSE_ENCRYPT0

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

OT_COAP_OPTION_CONTENT_FORMAT_COSE_KEY

applicazione/chiave-cose: [RFC8152]

OT_COAP_OPTION_CONTENT_FORMAT_COSE_KEY_SET

applicazione/cose-key-set: [RFC8152]

OT_COAP_OPTION_CONTENT_FORMAT_COSE_MAC

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

OT_COAP_OPTION_CONTENT_FORMAT_COSE_MAC0

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

OT_COAP_OPTION_CONTENT_FORMAT_COSE_SIGN

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

OT_COAP_OPTION_CONTENT_FORMAT_COSE_SIGN1

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

OT_COAP_OPTION_CONTENT_FORMAT_CWT

applicazione/cwt: [RFC8392]

OT_COAP_OPTION_CONTENT_FORMAT_EXI

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

OT_COAP_OPTION_CONTENT_FORMAT_JSON

applicazione/json: [RFC7159]

OT_COAP_OPTION_CONTENT_FORMAT_JSON_PATCH_JSON

application/json-patch+json: [RFC6902]

OT_COAP_OPTION_CONTENT_FORMAT_LINK_FORMAT

formato applicazione/link: [RFC6690]

OT_COAP_OPTION_CONTENT_FORMAT_MERGE_PATCH_JSON

application/merge-patch+json: [RFC7396]

OT_COAP_OPTION_CONTENT_FORMAT_OCTET_STREAM

applicazione/ottetto-stream: [RFC2045][RFC2046]

OT_COAP_OPTION_CONTENT_FORMAT_SENML_CBOR

applicazione/senml+cbor: [RFC8428]

OT_COAP_OPTION_CONTENT_FORMAT_SENML_EXI

applicazione/senml-exi: [RFC8428]

OT_COAP_OPTION_CONTENT_FORMAT_SENML_JSON

applicazione/senml+json: [RFC8428]

OT_COAP_OPTION_CONTENT_FORMAT_SENML_XML

applicazione/senml+xml: [RFC8428]

OT_COAP_OPTION_CONTENT_FORMAT_SENSML_CBOR

applicazione/sensml+cbor: [RFC8428]

OT_COAP_OPTION_CONTENT_FORMAT_SENSML_EXI

applicazione/sensml-exi: [RFC8428]

OT_COAP_OPTION_CONTENT_FORMAT_SENSML_JSON

applicazione/sensml+json: [RFC8428]

OT_COAP_OPTION_CONTENT_FORMAT_SENSML_XML

applicazione/sensml+xml: [RFC8428]

OT_COAP_OPTION_CONTENT_FORMAT_TEXT_PLAIN

testo/normale; charset=utf-8: [RFC2046][RFC3676][RFC5147]

OT_COAP_OPTION_CONTENT_FORMAT_XML

applicazione/xml: [RFC3023]

OtCoapOptionType

 otCoapOptionType

Numeri di opzione CoAP.

Proprietà
OT_COAP_OPTION_ACCEPT

Accettali.

OT_COAP_OPTION_BLOCK1

Blocco1 (RFC7959)

OT_COAP_OPTION_BLOCK2

Blocco2 (RFC7959)

OT_COAP_OPTION_CONTENT_FORMAT

Formato dei contenuti.

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

Percorso-località.

OT_COAP_OPTION_LOCATION_QUERY

Query-località.

OT_COAP_OPTION_MAX_AGE

Max-Age (Età massima).

OT_COAP_OPTION_OBSERVE

Osservare [RFC7641].

OT_COAP_OPTION_PROXY_SCHEME

Schema proxy.

OT_COAP_OPTION_PROXY_URI

URI proxy.

OT_COAP_OPTION_SIZE1

Taglia1.

OT_COAP_OPTION_SIZE2

Taglia2 (RFC7959)

OT_COAP_OPTION_URI_HOST

URI-Host.

OT_COAP_OPTION_URI_PATH

Percorso URI.

OT_COAP_OPTION_URI_PORT

URI-Port.

OT_COAP_OPTION_URI_QUERY

URI.

Tipo otCoap

 otCoapType

Valori di tipo CoAP (numero intero senza segno a 2 bit).

Proprietà
OT_COAP_TYPE_ACKNOWLEDGMENT

Accettazione.

OT_COAP_TYPE_CONFIRMABLE

Confermabile.

OT_COAP_TYPE_NON_CONFIRMABLE

Non confermabile.

OT_COAP_TYPE_RESET

Ripristina.

Typedef

otCoapBlockSzx

enum otCoapBlockSzx otCoapBlockSzx

Esponenti di dimensione blocco CoAP.

Hook otCoapBlockwiseFetch

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

Il puntatore viene chiamato quando viene ricevuto un messaggio CoAP con un'opzione di trasferimento a blocchi.

È disponibile quando la configurazione OPENTHREAD_CONFIG_COAP_BLOCKWISE_TRANSFER_ENABLE è abilitata.

Dettagli
Parametri
[in] aContext
Un puntatore al contesto specifico dell'applicazione.
[in] aBlock
Un puntatore al segmento del blocco.
[in] aPosition
La posizione di aBlock in una sequenza in byte.
[in] aBlockLength
La lunghezza del segmento del blocco in byte.
[in] aMore
Segnala se vengono seguiti altri segmenti del blocco.
[in] aTotalLength
La lunghezza totale in byte delle informazioni trasferite (indicate da un'opzione di dimensione 1 o 2).
Valori restituiti
OT_ERROR_NONE
Il segmento del blocco è stato memorizzato.
OT_ERROR_NO_BUFS
Niente più memoria per archiviare i blocchi.
OT_ERROR_NO_FRAME_RECEIVED
Blocco segmento mancante.

otCoapBlockwiseResource

struct otCoapBlockwiseResource otCoapBlockwiseResource

Rappresenta una risorsa CoAP con trasferimento a blocchi.

Hook otCoapBlockwise

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

Il puntatore viene chiamato prima del blocco successivo in un trasferimento a blocchi.

È disponibile quando la configurazione OPENTHREAD_CONFIG_COAP_BLOCKWISE_TRANSFER_ENABLE è abilitata.

Modificando il valore di aBlockLength, viene rinegoziata la dimensione del blocco dell'intera piattaforma di scambio pubblicitario. Ti consigliamo di eseguire questa operazione dopo aver ricevuto il primo blocco, poiché le modifiche successive potrebbero causare problemi con altre implementazioni CoAP.

Dettagli
Parametri
[in] aContext
Un puntatore al contesto specifico dell'applicazione.
[in,out] aBlock
Un puntatore in cui è possibile scrivere il segmento del blocco.
[in] aPosition
La posizione in una sequenza da cui ottenere il segmento di blocco.
[in,out] aBlockLength
All'ingresso, la lunghezza massima del segmento del blocco in byte.
[out] aMore
Un puntatore al flag se seguiranno altri segmenti del blocco.
Valori restituiti
OT_ERROR_NONE
Non si è verificato alcun errore.
OT_ERROR_INVALID_ARGS
Il blocco in aPosition non esiste.

Codice otCoap

enum otCoapCode otCoapCode

Valori del codice CoAP.

Opzione OtCoapOption

struct otCoapOption otCoapOption

Rappresenta un'opzione CoAP.

Formato otCoapOptionContentFormat

enum otCoapOptionContentFormat otCoapOptionContentFormat

Codici dei formati dei contenuti CoAP.

L'elenco completo è documentato all'indirizzo https://www.iana.org/assignments/core-parameters/core-parameters.xhtml#content-formats

otCoapOptionIterator

struct otCoapOptionIterator otCoapOptionIterator

Agisce da iteratore per le opzioni CoAP.

OtCoapOptionType

enum otCoapOptionType otCoapOptionType

Numeri di opzione CoAP.

otCoapRequestHandler

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

Il puntatore viene chiamato quando viene ricevuta una richiesta CoAP con un determinato Uri-Path.

Dettagli
Parametri
[in] aContext
Un puntatore a informazioni di contesto arbitrarie.
[in] aMessage
Un puntatore al messaggio.
[in] aMessageInfo
Un puntatore alle informazioni del messaggio per aMessage.

Risorsa otCoap

struct otCoapResource otCoapResource

Rappresenta una risorsa CoAP.

otCoapResponseHandler

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

Il puntatore viene chiamato quando viene ricevuta una risposta CoAP o al timeout della richiesta.

Dettagli
Parametri
[in] aContext
Un puntatore al contesto specifico dell'applicazione.
[in] aMessage
Un puntatore al buffer dei messaggi contenente la risposta. NULL se non è stata ricevuta alcuna risposta.
[in] aMessageInfo
Un puntatore alle informazioni del messaggio per aMessage. NULL se non è stata ricevuta alcuna risposta.
[in] aResult
Un risultato della transazione CoAP.
Valori restituiti
OT_ERROR_NONE
È stata ricevuta una risposta.
OT_ERROR_ABORT
Una transazione CoAP è stata reimpostata dal peer.
OT_ERROR_RESPONSE_TIMEOUT
Nessuna risposta o conferma ricevuta durante il periodo di timeout.

Parametri otCoapTx

struct otCoapTxParameters otCoapTxParameters

Rappresenta i parametri di trasmissione CoAP.

Tipo otCoap

enum otCoapType otCoapType

Valori di tipo CoAP (numero intero senza segno a 2 bit).

Funzioni

Risorsa otCoapAddBlockWise

void otCoapAddBlockWiseResource(
  otInstance *aInstance,
  otCoapBlockwiseResource *aResource
)

Aggiunge una risorsa a livello di blocco al server CoAP.

Dettagli
Parametri
[in] aInstance
Un puntatore a un'istanza OpenThread.
[in] aResource
Un puntatore alla risorsa.

RisorsaAddCoap

void otCoapAddResource(
  otInstance *aInstance,
  otCoapResource *aResource
)

Aggiunge una risorsa al server CoAP.

Dettagli
Parametri
[in] aInstance
Un puntatore a un'istanza OpenThread.
[in] aResource
Un puntatore alla risorsa.

DimensioneBlocco OtCoapDaEsponente

uint16_t otCoapBlockSizeFromExponent(
  otCoapBlockSzx aSize
)

Converte un campo SZX dell'opzione Blocco CoAP nella dimensione effettiva del blocco.

Dettagli
Parametri
[in] aSize
Esponente della dimensione del blocco.
Restituisce
Il valore dell'esponente della dimensione effettiva.

Opzione otCoapMessageAppendBlock1Option

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

Aggiunge un'opzione Block1.

Dettagli
Parametri
[in,out] aMessage
Un puntatore al messaggio CoAP.
[in] aNum
Numero del blocco attuale.
[in] aMore
Valore booleano per indicare che è necessario inviare più blocchi.
[in] aSize
Esponente dimensione blocco.
Valori restituiti
OT_ERROR_NONE
Opzione aggiunta correttamente.
OT_ERROR_INVALID_ARGS
Il tipo di opzione non è uguale o maggiore dell'ultimo tipo di opzione.
OT_ERROR_NO_BUFS
La lunghezza dell'opzione supera la dimensione del buffer.

Opzione otCoapMessageAppendBlock2Option

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

Aggiunge un'opzione Block2.

Dettagli
Parametri
[in,out] aMessage
Un puntatore al messaggio CoAP.
[in] aNum
Numero del blocco attuale.
[in] aMore
Valore booleano per indicare che è necessario inviare più blocchi.
[in] aSize
Esponente dimensione blocco.
Valori restituiti
OT_ERROR_NONE
Opzione aggiunta correttamente.
OT_ERROR_INVALID_ARGS
Il tipo di opzione non è uguale o maggiore dell'ultimo tipo di opzione.
OT_ERROR_NO_BUFS
La lunghezza dell'opzione supera la dimensione del buffer.

otCoapMessageAppendContentFormatOption

otError otCoapMessageAppendContentFormatOption(
  otMessage *aMessage,
  otCoapOptionContentFormat aContentFormat
)

Accoda l'opzione CoAP per il formato dei contenuti come specificato in https://tools.ietf.org/html/RFC7252#page-92.

Se nel messaggio deve essere incluso un payload, deve essere chiamato prima di impostare otCoapMessageSetPayloadMarker.

La funzione è un wrapper di convenienza per otCoapMessageAppendUintOption. Se il codice del tipo di formato desiderato non è elencato in otCoapOptionContentFormat, è necessario utilizzare questa funzione di base.

Dettagli
Parametri
[in,out] aMessage
Un puntatore al messaggio CoAP.
[in] aContentFormat
Uno dei formati di contenuti elencati in otCoapOptionContentFormat sopra.
Valori restituiti
OT_ERROR_NONE
Opzione aggiunta correttamente.
OT_ERROR_INVALID_ARGS
Il tipo di opzione non è uguale o maggiore dell'ultimo tipo di opzione.
OT_ERROR_NO_BUFS
La lunghezza dell'opzione supera la dimensione del buffer.

otCoapMessageAppendMaxAgeOption

otError otCoapMessageAppendMaxAgeOption(
  otMessage *aMessage,
  uint32_t aMaxAge
)

Aggiungi un'opzione Max-Age.

Dettagli
Parametri
[in,out] aMessage
Un puntatore al messaggio CoAP.
[in] aMaxAge
Il valore Max-Age.
Valori restituiti
OT_ERROR_NONE
Opzione aggiunta correttamente.
OT_ERROR_INVALID_ARGS
Il tipo di opzione non è uguale o maggiore dell'ultimo tipo di opzione.
OT_ERROR_NO_BUFS
La lunghezza dell'opzione supera la dimensione del buffer.

otCoapMessageAppendExampleOption

otError otCoapMessageAppendObserveOption(
  otMessage *aMessage,
  uint32_t aObserve
)

Aggiunge un'opzione di osservazione.

Dettagli
Parametri
[in,out] aMessage
Un puntatore al messaggio CoAP.
[in] aObserve
Osservare il valore del campo.
Valori restituiti
OT_ERROR_NONE
Opzione aggiunta correttamente.
OT_ERROR_INVALID_ARGS
Il tipo di opzione non è uguale o maggiore dell'ultimo tipo di opzione.
OT_ERROR_NO_BUFS
La lunghezza dell'opzione supera la dimensione del buffer.

otCoapMessageAppendOption

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

Accoda un'opzione CoAP in un'intestazione.

Dettagli
Parametri
[in,out] aMessage
Un puntatore al messaggio CoAP.
[in] aNumber
Il numero dell'opzione CoAP.
[in] aLength
La lunghezza dell'opzione CoAP.
[in] aValue
Un puntatore al valore CoAP.
Valori restituiti
OT_ERROR_NONE
Opzione aggiunta correttamente.
OT_ERROR_INVALID_ARGS
Il tipo di opzione non è uguale o maggiore dell'ultimo tipo di opzione.
OT_ERROR_NO_BUFS
La lunghezza dell'opzione supera la dimensione del buffer.

otCoapMessageAppendProxyUriOption

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

Aggiungi un'opzione URI proxy.

Dettagli
Parametri
[in,out] aMessage
Un puntatore al messaggio CoAP.
[in] aUriPath
Un puntatore a una stringa con terminazione NULL.
Valori restituiti
OT_ERROR_NONE
Opzione aggiunta correttamente.
OT_ERROR_INVALID_ARGS
Il tipo di opzione non è uguale o maggiore dell'ultimo tipo di opzione.
OT_ERROR_NO_BUFS
La lunghezza dell'opzione supera la dimensione del buffer.

otCoapMessageAppendUintOption

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

Accoda un'opzione CoAP con numero intero senza segno, come specificato in https://tools.ietf.org/html/RFC7252#section-3.2.

Dettagli
Parametri
[in,out] aMessage
Un puntatore al messaggio CoAP.
[in] aNumber
Il numero dell'opzione CoAP.
[in] aValue
Il valore intero senza segno dell'opzione CoAP.
Valori restituiti
OT_ERROR_NONE
Opzione aggiunta correttamente.
OT_ERROR_INVALID_ARGS
Il tipo di opzione non è uguale o maggiore dell'ultimo tipo di opzione.
OT_ERROR_NO_BUFS
La lunghezza dell'opzione supera la dimensione del buffer.
Vedi anche:
otCoapMessageGetOptionUintValue

otCoapMessageAppendUriPathOptions

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

Accoda un'opzione Uri-Path.

Dettagli
Parametri
[in,out] aMessage
Un puntatore al messaggio CoAP.
[in] aUriPath
Un puntatore a una stringa con terminazione NULL.
Valori restituiti
OT_ERROR_NONE
Opzione aggiunta correttamente.
OT_ERROR_INVALID_ARGS
Il tipo di opzione non è uguale o maggiore dell'ultimo tipo di opzione.
OT_ERROR_NO_BUFS
La lunghezza dell'opzione supera la dimensione del buffer.

Opzione otCoapMessageAppendUriQueryOption

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

Accoda una singola opzione URI.

Dettagli
Parametri
[in,out] aMessage
Un puntatore al messaggio CoAP.
[in] aUriQuery
Un puntatore alla stringa con terminazione NULL, che deve contenere una singola coppia chiave=valore.
Valori restituiti
OT_ERROR_NONE
Opzione aggiunta correttamente.
OT_ERROR_INVALID_ARGS
Il tipo di opzione non è uguale o maggiore dell'ultimo tipo di opzione.
OT_ERROR_NO_BUFS
La lunghezza dell'opzione supera la dimensione del buffer.

otCoapMessageCodeToString

const char * otCoapMessageCodeToString(
  const otMessage *aMessage
)

Restituisce il codice CoAP come stringa leggibile.

@ restituisce il codice CoAP come stringa.

Dettagli
Parametri
[in] aMessage
Un puntatore al messaggio CoAP.

otCoapMessageGeneraToken

void otCoapMessageGenerateToken(
  otMessage *aMessage,
  uint8_t aTokenLength
)

Imposta la lunghezza del token e ne randomizza il valore.

Dettagli
Parametri
[in,out] aMessage
Un puntatore al messaggio CoAP.
[in] aTokenLength
La lunghezza di un token da impostare.

otCoapMessageGetCode

otCoapCode otCoapMessageGetCode(
  const otMessage *aMessage
)

Restituisce il valore del codice.

Dettagli
Parametri
[in] aMessage
Un puntatore al messaggio CoAP.
Restituisce
Il valore Codice.

ID messaggio otCoapMessageGetMessage

uint16_t otCoapMessageGetMessageId(
  const otMessage *aMessage
)

Restituisce il valore dell'ID messaggio.

Dettagli
Parametri
[in] aMessage
Un puntatore al messaggio CoAP.
Restituisce
Il valore dell'ID messaggio.

otCoapMessageGetToken

const uint8_t * otCoapMessageGetToken(
  const otMessage *aMessage
)

Restituisce un puntatore al valore del token.

Dettagli
Parametri
[in] aMessage
Un puntatore al messaggio CoAP.
Restituisce
Un puntatore al valore del token.

otCoapMessageGetTokenLength

uint8_t otCoapMessageGetTokenLength(
  const otMessage *aMessage
)

Restituisce la lunghezza del token.

Dettagli
Parametri
[in] aMessage
Un puntatore al messaggio CoAP.
Restituisce
La lunghezza del token.

otCoapMessageGetType

otCoapType otCoapMessageGetType(
  const otMessage *aMessage
)

Restituisce il valore del tipo.

Dettagli
Parametri
[in] aMessage
Un puntatore al messaggio CoAP.
Restituisce
Il valore del tipo.

Avvio del messaggio otCoap

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

Inizializza l'intestazione CoAP.

Dettagli
Parametri
[in,out] aMessage
Un puntatore al messaggio CoAP da inizializzare.
[in] aType
Tipo di messaggio CoAP.
[in] aCode
Codice messaggio CoAP.

otCoapMessageInitResponse

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

Inizializza un messaggio di risposta.

Dettagli
Parametri
[in,out] aResponse
Un puntatore al messaggio di risposta CoAP.
[in] aRequest
Un puntatore al messaggio di richiesta CoAP.
[in] aType
Tipo di messaggio CoAP.
[in] aCode
Codice messaggio CoAP.
Valori restituiti
OT_ERROR_NONE
Messaggio di risposta inizializzato.
OT_ERROR_NO_BUFS
buffer messaggi disponibili insufficienti per inizializzare il messaggio di risposta.

otCoapMessageSetCode

void otCoapMessageSetCode(
  otMessage *aMessage,
  otCoapCode aCode
)

Imposta il valore Codice.

Dettagli
Parametri
[in,out] aMessage
Un puntatore al messaggio CoAP da inizializzare.
[in] aCode
Codice messaggio CoAP.

otCoapMessageSetPayloadMarker

otError otCoapMessageSetPayloadMarker(
  otMessage *aMessage
)

Aggiunge un indicatore di payload che indica l'inizio del payload all'intestazione CoAP.

Dettagli
Parametri
[in,out] aMessage
Un puntatore al messaggio CoAP.
Valori restituiti
OT_ERROR_NONE
Indicatore di payload aggiunto correttamente.
OT_ERROR_NO_BUFS
L'indicatore di payload dell'intestazione supera la dimensione del buffer.

otCoapMessageSetToken

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

Imposta il valore e la lunghezza del token in un'intestazione.

Dettagli
Parametri
[in,out] aMessage
Un puntatore al messaggio CoAP.
[in] aToken
Un puntatore al valore del token.
[in] aTokenLength
La lunghezza di aToken.
Valori restituiti
OT_ERROR_NONE
Valore del token impostato.
OT_ERROR_NO_BUFS
buffer insufficienti per impostare il valore del token.

otCoapNuovoMessaggio

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

Crea un nuovo messaggio CoAP.

Dettagli
Parametri
[in] aInstance
Un puntatore a un'istanza OpenThread.
[in] aSettings
Un puntatore alle impostazioni del messaggio oppure NULL per configurare le impostazioni predefinite.
Restituisce
Un puntatore al buffer dei messaggi o NULL se non sono disponibili buffer dei messaggi o se i parametri non sono validi.

otCoapOptionIteratorGetFirstOption

const otCoapOption * otCoapOptionIteratorGetFirstOption(
  otCoapOptionIterator *aIterator
)

Restituisce un puntatore alla prima opzione.

Dettagli
Parametri
[in,out] aIterator
Un puntatore all'iteratore dell'opzione del messaggio CoAP.
Restituisce
Un puntatore alla prima opzione. Se non è presente alcuna opzione, viene restituito il puntatore NULL.

otCoapOptionIteratorGetFirstOpzioneCorrispondenza

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

Restituisce un puntatore alla prima opzione corrispondente al numero di opzione specificato.

Dettagli
Parametri
[in] aIterator
Un puntatore all'iteratore dell'opzione del messaggio CoAP.
[in] aOption
Il numero di opzione cercato.
Restituisce
Un puntatore alla prima opzione di corrispondenza. Se non è presente alcuna opzione di corrispondenza, viene restituito il puntatore NULL.

otCoapOptionIteratorGetNextOption

const otCoapOption * otCoapOptionIteratorGetNextOption(
  otCoapOptionIterator *aIterator
)

Restituisce un puntatore all'opzione successiva.

Dettagli
Parametri
[in,out] aIterator
Un puntatore all'iteratore dell'opzione del messaggio CoAP.
Restituisce
Un puntatore all'opzione successiva. Se non sono presenti altre opzioni, viene restituito il puntatore NULL.

otCoapOptionIteratorGetNextOptionMatching

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

Restituisce un puntatore all'opzione successiva corrispondente al numero di opzione specificato.

Dettagli
Parametri
[in] aIterator
Un puntatore all'iteratore dell'opzione del messaggio CoAP.
[in] aOption
Il numero di opzione cercato.
Restituisce
Un puntatore all'opzione di corrispondenza successiva. Se non è presente un'altra opzione di corrispondenza, viene restituito il puntatore NULL.

otCoapOptionIteratorGetOptionUintValue

otError otCoapOptionIteratorGetOptionUintValue(
  otCoapOptionIterator *aIterator,
  uint64_t *aValue
)

Riempi il valore dell'opzione corrente in aValue supponendo che il valore corrente sia un numero intero senza segno codificato secondo https://tools.ietf.org/html/RFC7252#section-3.2.

Dettagli
Parametri
[in,out] aIterator
Un puntatore all'iteratore dell'opzione del messaggio CoAP.
[out] aValue
Un puntatore a un numero intero senza segno per ricevere il valore dell'opzione.
Valori restituiti
OT_ERROR_NONE
Valore inserito correttamente.
OT_ERROR_NOT_FOUND
Nessuna opzione corrente.
OT_ERROR_NO_BUFS
Il valore è troppo lungo per rientrare in uint64_t.
Vedi anche:
otCoapMessageAppendUintOption

otCoapOptionIteratorGetOptionValue

otError otCoapOptionIteratorGetOptionValue(
  otCoapOptionIterator *aIterator,
  void *aValue
)

Inserisci il valore dell'opzione corrente in aValue.

Dettagli
Parametri
[in,out] aIterator
Un puntatore all'iteratore dell'opzione del messaggio CoAP.
[out] aValue
Un puntatore a un buffer per ricevere il valore dell'opzione.
Valori restituiti
OT_ERROR_NONE
Valore inserito correttamente.
OT_ERROR_NOT_FOUND
Nessuna opzione corrente.

otCoapOptionIteratorInit

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

Inizializza un iteratore per le opzioni nel messaggio specificato.

Dettagli
Parametri
[in,out] aIterator
Un puntatore all'iteratore dell'opzione del messaggio CoAP.
[in] aMessage
Un puntatore al messaggio CoAP.
Valori restituiti
OT_ERROR_NONE
Inizializzazione riuscita.
OT_ERROR_PARSE
Lo stato del messaggio non è coerente.

otCoapRemoveBlockWiseResource

void otCoapRemoveBlockWiseResource(
  otInstance *aInstance,
  otCoapBlockwiseResource *aResource
)

Rimuove una risorsa a livello di blocco dal server CoAP.

Dettagli
Parametri
[in] aInstance
Un puntatore a un'istanza OpenThread.
[in] aResource
Un puntatore alla risorsa.

RimozioneRisorsa otCoap

void otCoapRemoveResource(
  otInstance *aInstance,
  otCoapResource *aResource
)

Rimuove una risorsa dal server CoAP.

Dettagli
Parametri
[in] aInstance
Un puntatore a un'istanza OpenThread.
[in] aResource
Un puntatore alla risorsa.

Richiesta di invio otCoap

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

Invia una richiesta CoAP.

Se è prevista una risposta a una richiesta, è necessario fornire le rispettive informazioni sulla funzione e sul contesto. Se non è prevista alcuna risposta, questi argomenti devono essere puntatori NULL.

Dettagli
Parametri
[in] aInstance
Un puntatore a un'istanza OpenThread.
[in] aMessage
Un puntatore al messaggio da inviare.
[in] aMessageInfo
Un puntatore alle informazioni del messaggio associate a aMessage.
[in] aHandler
Un puntatore a funzione che deve essere chiamato alla ricezione o al timeout della risposta.
[in] aContext
Un puntatore a informazioni di contesto arbitrarie. Può essere NULL se non utilizzato.
Valori restituiti
OT_ERROR_NONE
Messaggio CoAP inviato.
OT_ERROR_NO_BUFS
Impossibile allocare i dati di ritrasmissione.

otCoapSendRequestBlockWise

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

Invia una richiesta CoAP a livello di blocco.

È disponibile quando la configurazione OPENTHREAD_CONFIG_COAP_BLOCKWISE_TRANSFER_ENABLE è abilitata.

Se è prevista una risposta a una richiesta, è necessario fornire le rispettive informazioni sulla funzione e sul contesto. Se la risposta dovrebbe avvenire a livello di blocco, è necessario fornire una rispettiva funzione hook. Se non è prevista alcuna risposta, questi argomenti devono essere puntatori NULL.

Dettagli
Parametri
[in] aInstance
Un puntatore a un'istanza OpenThread.
[in] aMessage
Un puntatore al messaggio da inviare.
[in] aMessageInfo
Un puntatore alle informazioni del messaggio associate a aMessage.
[in] aHandler
Un puntatore a funzione che deve essere chiamato alla ricezione o al timeout della risposta.
[in] aContext
Un puntatore a informazioni di contesto arbitrarie. Può essere NULL se non utilizzato.
[in] aTransmitHook
Un puntatore a una funzione hook per il trasferimento a livello di blocco in uscita.
[in] aReceiveHook
Un puntatore a una funzione hook per il trasferimento a blocchi in entrata.
Valori restituiti
OT_ERROR_NONE
Messaggio CoAP inviato.
OT_ERROR_NO_BUFS
Impossibile allocare i dati di ritrasmissione.

otCoapSendRequestBlockWiseWithParameters

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

Invia una richiesta CoAP a blocchi con parametri di trasmissione personalizzati.

È disponibile quando la configurazione OPENTHREAD_CONFIG_COAP_BLOCKWISE_TRANSFER_ENABLE è abilitata.

Se è prevista una risposta a una richiesta, è necessario fornire le rispettive informazioni sulla funzione e sul contesto. Se la risposta dovrebbe avvenire a livello di blocco, è necessario fornire una rispettiva funzione hook. Se non è prevista alcuna risposta, questi argomenti devono essere puntatori NULL.

Dettagli
Parametri
[in] aInstance
Un puntatore a un'istanza OpenThread.
[in] aMessage
Un puntatore al messaggio da inviare.
[in] aMessageInfo
Un puntatore alle informazioni del messaggio associate a aMessage.
[in] aHandler
Un puntatore a funzione che deve essere chiamato alla ricezione o al timeout della risposta.
[in] aContext
Un puntatore a informazioni di contesto arbitrarie. Può essere NULL se non utilizzato.
[in] aTxParameters
Un puntatore ai parametri di trasmissione per questa richiesta. Utilizza NULL per i valori predefiniti.
[in] aTransmitHook
Un puntatore a una funzione hook per il trasferimento a livello di blocco in uscita.
[in] aReceiveHook
Un puntatore a una funzione hook per il trasferimento a blocchi in entrata.
Valori restituiti
OT_ERROR_NONE
Messaggio CoAP inviato.
OT_ERROR_NO_BUFS
Impossibile allocare i dati di ritrasmissione.
OT_ERROR_INVALID_ARGS
Vengono forniti argomenti non validi.

otCoapSendRequestWithParameters

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

Invia una richiesta CoAP con parametri di trasmissione personalizzati.

Se è prevista una risposta a una richiesta, è necessario fornire le rispettive informazioni sulla funzione e sul contesto. Se non è prevista alcuna risposta, questi argomenti devono essere puntatori NULL.

Dettagli
Parametri
[in] aInstance
Un puntatore a un'istanza OpenThread.
[in] aMessage
Un puntatore al messaggio da inviare.
[in] aMessageInfo
Un puntatore alle informazioni del messaggio associate a aMessage.
[in] aHandler
Un puntatore a funzione che deve essere chiamato alla ricezione o al timeout della risposta.
[in] aContext
Un puntatore a informazioni di contesto arbitrarie. Può essere NULL se non utilizzato.
[in] aTxParameters
Un puntatore ai parametri di trasmissione per questa richiesta. Utilizza NULL per i valori predefiniti. In caso contrario, i parametri specificati devono soddisfare le seguenti condizioni:
  1. mMaxRetransmit non è superiore a OT_COAP_MAX_RETRANSMIT.
  2. mAckRandomFactorNumerator / mAckRandomFactorDenominator non deve essere inferiore a 1,0.
  3. La durata calcolata della piattaforma di scambio non deve superare uint32_t.
Valori restituiti
OT_ERROR_NONE
Messaggio CoAP inviato.
OT_ERROR_NO_BUFS
Impossibile allocare i dati di ritrasmissione.
OT_ERROR_INVALID_ARGS
Vengono forniti argomenti non validi.

otCoapSendResponse

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

Invia una risposta CoAP dal server.

Dettagli
Parametri
[in] aInstance
Un puntatore a un'istanza OpenThread.
[in] aMessage
Un puntatore alla risposta CoAP da inviare.
[in] aMessageInfo
Un puntatore alle informazioni del messaggio associate a aMessage.
Valori restituiti
OT_ERROR_NONE
Messaggio di risposta CoAP accodato.
OT_ERROR_NO_BUFS
buffer insufficienti per inviare la risposta CoAP.

otCoapSendResponseBlockWise

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

Invia una risposta CoAP a blocchi dal server.

È disponibile quando la configurazione OPENTHREAD_CONFIG_COAP_BLOCKWISE_TRANSFER_ENABLE è abilitata.

Dettagli
Parametri
[in] aInstance
Un puntatore a un'istanza OpenThread.
[in] aMessage
Un puntatore alla risposta CoAP da inviare.
[in] aMessageInfo
Un puntatore alle informazioni del messaggio associate a aMessage.
[in] aContext
Un puntatore a informazioni di contesto arbitrarie. Può essere NULL se non utilizzato.
[in] aTransmitHook
Un puntatore a una funzione hook per il trasferimento a livello di blocco in uscita.
Valori restituiti
OT_ERROR_NONE
Messaggio di risposta CoAP accodato.
OT_ERROR_NO_BUFS
buffer insufficienti per inviare la risposta CoAP.

otCoapSendResponseBlockWiseWithParameters

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

Invia una risposta CoAP a blocchi dal server con parametri di trasmissione personalizzati.

È disponibile quando la configurazione OPENTHREAD_CONFIG_COAP_BLOCKWISE_TRANSFER_ENABLE è abilitata.

Dettagli
Parametri
[in] aInstance
Un puntatore a un'istanza OpenThread.
[in] aMessage
Un puntatore alla risposta CoAP da inviare.
[in] aMessageInfo
Un puntatore alle informazioni del messaggio associate a aMessage.
[in] aTxParameters
Un puntatore ai parametri di trasmissione per questa risposta. Utilizza NULL per i valori predefiniti.
[in] aContext
Un puntatore a informazioni di contesto arbitrarie. Può essere NULL se non utilizzato.
[in] aTransmitHook
Un puntatore a una funzione hook per il trasferimento a livello di blocco in uscita.
Valori restituiti
OT_ERROR_NONE
Messaggio di risposta CoAP accodato.
OT_ERROR_NO_BUFS
buffer insufficienti per inviare la risposta CoAP.
OT_ERROR_INVALID_ARGS
Vengono forniti argomenti non validi.

otCoapSendResponseWithParameters

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

Invia una risposta CoAP dal server con parametri di trasmissione personalizzati.

Dettagli
Parametri
[in] aInstance
Un puntatore a un'istanza OpenThread.
[in] aMessage
Un puntatore alla risposta CoAP da inviare.
[in] aMessageInfo
Un puntatore alle informazioni del messaggio associate a aMessage.
[in] aTxParameters
Un puntatore ai parametri di trasmissione per questa risposta. Utilizza NULL per i valori predefiniti.
Valori restituiti
OT_ERROR_NONE
Messaggio di risposta CoAP accodato.
OT_ERROR_NO_BUFS
buffer insufficienti per inviare la risposta CoAP.
OT_ERROR_INVALID_ARGS
Vengono forniti argomenti non validi.

otCoapSetDefaultHandler

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

Imposta il gestore predefinito per le richieste CoAP non gestite.

Dettagli
Parametri
[in] aInstance
Un puntatore a un'istanza OpenThread.
[in] aHandler
Un puntatore a funzione che viene chiamato quando arriva una richiesta non gestita.
[in] aContext
Un puntatore a informazioni di contesto arbitrarie. Può essere NULL se non utilizzato.

otCoapStart

otError otCoapStart(
  otInstance *aInstance,
  uint16_t aPort
)

Avvia il server CoAP.

Dettagli
Parametri
[in] aInstance
Un puntatore a un'istanza OpenThread.
[in] aPort
La porta UDP locale a cui eseguire l'associazione.
Valori restituiti
OT_ERROR_NONE
Avvio del server CoAP riuscito.
OT_ERROR_FAILED
Impossibile avviare il server CoAP.

otCoapStop

otError otCoapStop(
  otInstance *aInstance
)

Arresta il server CoAP.

Dettagli
Parametri
[in] aInstance
Un puntatore a un'istanza OpenThread.
Valori restituiti
OT_ERROR_NONE
Arresto del server CoAP riuscito.

Macro

CODICE_COAP_OT

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

Macro di supporto per definire i valori del codice CoAP.

OT_COAP_DEFAULT_TOKEN_LENGTH

 OT_COAP_DEFAULT_TOKEN_LENGTH 2

Lunghezza predefinita del token.

OT_COAP_MAX_RETRANSMIT

 OT_COAP_MAX_RETRANSMIT 20

Massima ritrasmissione supportata da OpenThread.

OT_COAP_MAX_TOKEN_LENGTH

 OT_COAP_MAX_TOKEN_LENGTH 8

Lunghezza massima del token specificata (RFC 7252).

OT_COAP_MIN_ACK_TIMEOUT

 OT_COAP_MIN_ACK_TIMEOUT 1000

Timeout ACK minimo in millisecondi supportato da OpenThread.

OT_DEFAULT_COAP_PORTA

 OT_DEFAULT_COAP_PORT 5683

Porta CoAP predefinita, come specificato in RFC 7252.

Risorse

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