CoAP

Este módulo inclui funções que controlam a comunicação do CoAP.

Resumo

As funções neste módulo estão disponíveis quando o recurso da API CoAP (OPENTHREAD_CONFIG_COAP_API_ENABLE) está ativado.

Enumerações

otCoapBlockSzx enum
Expoentes de tamanho de bloco 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
Valores de código 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
Códigos de formato de conteúdo 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
Números de opção do CoAP.
otCoapType{
  OT_COAP_TYPE_CONFIRMABLE = 0,
  OT_COAP_TYPE_NON_CONFIRMABLE = 1,
  OT_COAP_TYPE_ACKNOWLEDGMENT = 2,
  OT_COAP_TYPE_RESET = 3
}
enum
Valores do tipo CoAP (número inteiro sem assinatura de 2 bits).

Typedefs

otCoapBlockSzx typedef
Expoentes de tamanho de bloco CoAP.
otCoapBlockwiseReceiveHook)(void *aContext, const uint8_t *aBlock, uint32_t aPosition, uint16_t aBlockLength, bool aMore, uint32_t aTotalLength) typedef
O ponteiro é chamado quando uma mensagem CoAP com uma opção de baldeação em bloco é recebida.
otCoapBlockwiseResource typedef
Representa um recurso CoAP com transferência por bloco.
otCoapBlockwiseTransmitHook)(void *aContext, uint8_t *aBlock, uint32_t aPosition, uint16_t *aBlockLength, bool *aMore) typedef
O ponteiro é chamado antes do envio do próximo bloco em uma baldeação em bloco.
otCoapCode typedef
enum otCoapCode
Valores de código CoAP.
otCoapOption typedef
struct otCoapOption
Representa uma opção de CoAP.
otCoapOptionContentFormat typedef
Códigos de formato de conteúdo CoAP.
otCoapOptionIterator typedef
Atuar como um iterador para as opções de CoAP.
otCoapOptionType typedef
Números de opção do CoAP.
otCoapRequestHandler)(void *aContext, otMessage *aMessage, const otMessageInfo *aMessageInfo) typedef
void(*
O ponteiro é chamado quando uma solicitação CoAP com um determinado Uri-Path é recebida.
otCoapResource typedef
Representa um recurso CoAP.
otCoapResponseHandler)(void *aContext, otMessage *aMessage, const otMessageInfo *aMessageInfo, otError aResult) typedef
void(*
O ponteiro é chamado quando uma resposta do CoAP é recebida ou quando atinge o tempo limite da solicitação.
otCoapTxParameters typedef
Representa os parâmetros de transmissão do CoAP.
otCoapType typedef
enum otCoapType
Valores do tipo CoAP (número inteiro sem assinatura de 2 bits).

Funções

otCoapAddBlockWiseResource(otInstance *aInstance, otCoapBlockwiseResource *aResource)
void
Adiciona um recurso em blocos ao servidor CoAP.
otCoapAddResource(otInstance *aInstance, otCoapResource *aResource)
void
Adiciona um recurso ao servidor CoAP.
otCoapBlockSizeFromExponent(otCoapBlockSzx aSize)
uint16_t
Converte um campo SZX de opção de bloco CoAP no tamanho real do bloco.
otCoapMessageAppendBlock1Option(otMessage *aMessage, uint32_t aNum, bool aMore, otCoapBlockSzx aSize)
Anexa uma opção Block1.
otCoapMessageAppendBlock2Option(otMessage *aMessage, uint32_t aNum, bool aMore, otCoapBlockSzx aSize)
Anexa uma opção Block2.
otCoapMessageAppendContentFormatOption(otMessage *aMessage, otCoapOptionContentFormat aContentFormat)
Anexa a opção de formato de conteúdo CoAP, conforme especificado em https://tools.ietf.org/html/rfc7252#page-92.
otCoapMessageAppendMaxAgeOption(otMessage *aMessage, uint32_t aMaxAge)
Anexa uma opção Max-Age.
otCoapMessageAppendObserveOption(otMessage *aMessage, uint32_t aObserve)
Anexa uma opção "Observar".
otCoapMessageAppendOption(otMessage *aMessage, uint16_t aNumber, uint16_t aLength, const void *aValue)
Anexa uma opção de CoAP em um cabeçalho.
otCoapMessageAppendProxyUriOption(otMessage *aMessage, const char *aUriPath)
Anexa uma opção Proxy-Uri.
otCoapMessageAppendUintOption(otMessage *aMessage, uint16_t aNumber, uint32_t aValue)
Anexa uma opção de CoAP de número inteiro sem assinatura, conforme especificado em https://tools.ietf.org/html/rfc7252#section-3.2.
otCoapMessageAppendUriPathOptions(otMessage *aMessage, const char *aUriPath)
Anexa uma opção de caminho do URI.
otCoapMessageAppendUriQueryOption(otMessage *aMessage, const char *aUriQuery)
Anexa uma única opção de consulta do URI.
otCoapMessageCodeToString(const otMessage *aMessage)
const char *
Retorna o código CoAP como uma string legível.
otCoapMessageGenerateToken(otMessage *aMessage, uint8_t aTokenLength)
void
Define o comprimento do token e aleatoriamente o valor dele.
otCoapMessageGetCode(const otMessage *aMessage)
Retorna o valor "Code".
otCoapMessageGetMessageId(const otMessage *aMessage)
uint16_t
Retorna o valor do ID da mensagem.
otCoapMessageGetToken(const otMessage *aMessage)
const uint8_t *
Retorna um ponteiro para o valor do token.
otCoapMessageGetTokenLength(const otMessage *aMessage)
uint8_t
Retorna o comprimento do token.
otCoapMessageGetType(const otMessage *aMessage)
Retorna o valor do tipo.
otCoapMessageInit(otMessage *aMessage, otCoapType aType, otCoapCode aCode)
void
Inicializa o cabeçalho CoAP.
otCoapMessageInitResponse(otMessage *aResponse, const otMessage *aRequest, otCoapType aType, otCoapCode aCode)
Inicializa uma mensagem de resposta.
otCoapMessageSetCode(otMessage *aMessage, otCoapCode aCode)
void
Define o valor "Code".
otCoapMessageSetPayloadMarker(otMessage *aMessage)
Adiciona o marcador de payload que indica o início do payload para o cabeçalho do CoAP.
otCoapMessageSetToken(otMessage *aMessage, const uint8_t *aToken, uint8_t aTokenLength)
Define o valor e o comprimento do token em um cabeçalho.
otCoapNewMessage(otInstance *aInstance, const otMessageSettings *aSettings)
Cria uma nova mensagem CoAP.
otCoapOptionIteratorGetFirstOption(otCoapOptionIterator *aIterator)
const otCoapOption *
Retorna um ponteiro para a primeira opção.
otCoapOptionIteratorGetFirstOptionMatching(otCoapOptionIterator *aIterator, uint16_t aOption)
const otCoapOption *
Retorna um ponteiro para a primeira opção correspondente ao número da opção especificado.
otCoapOptionIteratorGetNextOption(otCoapOptionIterator *aIterator)
const otCoapOption *
Retorna um ponteiro para a próxima opção.
otCoapOptionIteratorGetNextOptionMatching(otCoapOptionIterator *aIterator, uint16_t aOption)
const otCoapOption *
Retorna um ponteiro para a próxima opção correspondente ao número de opção especificado.
otCoapOptionIteratorGetOptionUintValue(otCoapOptionIterator *aIterator, uint64_t *aValue)
Preenche o valor da opção atual em aValue, supondo que o valor atual seja um número inteiro não assinado codificado de acordo com https://tools.ietf.org/html/rfc7252#section-3.2 (em inglês).
otCoapOptionIteratorGetOptionValue(otCoapOptionIterator *aIterator, void *aValue)
Preenche o valor da opção atual em aValue.
otCoapOptionIteratorInit(otCoapOptionIterator *aIterator, const otMessage *aMessage)
Inicializa um iterador para as opções na mensagem fornecida.
otCoapRemoveBlockWiseResource(otInstance *aInstance, otCoapBlockwiseResource *aResource)
void
Remove um recurso em blocos do servidor CoAP.
otCoapRemoveResource(otInstance *aInstance, otCoapResource *aResource)
void
Remove um recurso do servidor CoAP.
otCoapSendRequest(otInstance *aInstance, otMessage *aMessage, const otMessageInfo *aMessageInfo, otCoapResponseHandler aHandler, void *aContext)
Envia uma solicitação de CoAP.
otCoapSendRequestBlockWise(otInstance *aInstance, otMessage *aMessage, const otMessageInfo *aMessageInfo, otCoapResponseHandler aHandler, void *aContext, otCoapBlockwiseTransmitHook aTransmitHook, otCoapBlockwiseReceiveHook aReceiveHook)
Envia uma solicitação de CoAP em bloco.
otCoapSendRequestBlockWiseWithParameters(otInstance *aInstance, otMessage *aMessage, const otMessageInfo *aMessageInfo, otCoapResponseHandler aHandler, void *aContext, const otCoapTxParameters *aTxParameters, otCoapBlockwiseTransmitHook aTransmitHook, otCoapBlockwiseReceiveHook aReceiveHook)
Envia uma solicitação de CoAP por bloco com parâmetros de transmissão personalizados.
otCoapSendRequestWithParameters(otInstance *aInstance, otMessage *aMessage, const otMessageInfo *aMessageInfo, otCoapResponseHandler aHandler, void *aContext, const otCoapTxParameters *aTxParameters)
Envia uma solicitação de CoAP com parâmetros de transmissão personalizados.
otCoapSendResponse(otInstance *aInstance, otMessage *aMessage, const otMessageInfo *aMessageInfo)
Envia uma resposta de CoAP do servidor.
otCoapSendResponseBlockWise(otInstance *aInstance, otMessage *aMessage, const otMessageInfo *aMessageInfo, void *aContext, otCoapBlockwiseTransmitHook aTransmitHook)
Envia uma resposta CoAP em bloco do servidor.
otCoapSendResponseBlockWiseWithParameters(otInstance *aInstance, otMessage *aMessage, const otMessageInfo *aMessageInfo, const otCoapTxParameters *aTxParameters, void *aContext, otCoapBlockwiseTransmitHook aTransmitHook)
Envia uma resposta CoAP em bloco do servidor com parâmetros de transmissão personalizados.
otCoapSendResponseWithParameters(otInstance *aInstance, otMessage *aMessage, const otMessageInfo *aMessageInfo, const otCoapTxParameters *aTxParameters)
Envia uma resposta CoAP do servidor com parâmetros de transmissão personalizados.
otCoapSetDefaultHandler(otInstance *aInstance, otCoapRequestHandler aHandler, void *aContext)
void
Define o gerenciador padrão para solicitações CoAP não processadas.
otCoapStart(otInstance *aInstance, uint16_t aPort)
Inicia o servidor CoAP.
otCoapStop(otInstance *aInstance)
Interrompe o servidor CoAP.

Estruturas

otCoapBlockwiseResource (em inglês)

Representa um recurso CoAP com transferência por bloco.

otCoapOption (em inglês)

Representa uma opção de CoAP.

otCoapOptionIterator (link em inglês)

Atuar como um iterador para as opções de CoAP.

otCoapResource (em inglês)

Representa um recurso CoAP.

otCoapTxParameters (link em inglês)

Representa os parâmetros de transmissão do CoAP.

Enumerações

otCoapBlockSzx

 otCoapBlockSzx

Expoentes de tamanho de bloco CoAP.

Código otCoap

 otCoapCode

Valores de código CoAP.

Propriedades
OT_COAP_CODE_BAD_GATEWAY

Gateway inválido.

OT_COAP_CODE_BAD_OPTION

Opção ruim.

OT_COAP_CODE_BAD_REQUEST

Solicitação inválida.

OT_COAP_CODE_CHANGED

Alterado.

OT_COAP_CODE_CONTENT

Conteúdo.

OT_COAP_CODE_CONTINUE

RFC7959 Continuar.

OT_COAP_CODE_CREATED

Criado.

OT_COAP_CODE_DELETE

Excluir.

OT_COAP_CODE_DELETED

Excluída.

OT_COAP_CODE_EMPTY

O código da mensagem está vazio.

OT_COAP_CODE_FORBIDDEN

Proibido.

OT_COAP_CODE_GATEWAY_TIMEOUT

Tempo limite do gateway.

OT_COAP_CODE_GET

Obter.

OT_COAP_CODE_INTERNAL_ERROR

Erro interno do servidor.

OT_COAP_CODE_METHOD_NOT_ALLOWED

Método não permitido.

OT_COAP_CODE_NOT_ACCEPTABLE

Não aceitável.

OT_COAP_CODE_NOT_FOUND

Não encontrado

OT_COAP_CODE_NOT_IMPLEMENTED

Não implementado.

OT_COAP_CODE_POST

Postagem.

OT_COAP_CODE_PRECONDITION_FAILED

Falha na pré-condição.

OT_COAP_CODE_PROXY_NOT_SUPPORTED

Proxy indisponível.

OT_COAP_CODE_PUT

Colocar.

OT_COAP_CODE_REQUEST_INCOMPLETE

Entidade de solicitação RFC7959 incompleta.

OT_COAP_CODE_REQUEST_TOO_LARGE

Entidade de solicitação muito grande.

OT_COAP_CODE_RESPONSE_MIN

2,00

OT_COAP_CODE_SERVICE_UNAVAILABLE

Serviço indisponível.

OT_COAP_CODE_UNAUTHORIZED

Não autorizado.

OT_COAP_CODE_UNSUPPORTED_FORMAT

Formato de conteúdo incompatível.

OT_COAP_CODE_VALID

Válida.

otCoapOptionContentFormat

 otCoapOptionContentFormat

Códigos de formato de conteúdo CoAP.

A lista completa está documentada em https://www.iana.org/assignments/core-parameters/core-parameters.xhtml#content-formats.

Propriedades
OT_COAP_OPTION_CONTENT_FORMAT_CBOR

aplicativo/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

aplicativo/chave-cose: [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

aplicativo/cwt: [RFC8392]

OT_COAP_OPTION_CONTENT_FORMAT_EXI

application/exi: ["eficiente XML Interchange (EXI) Format 1.0 (Second Edition)", fevereiro de 2014]

OT_COAP_OPTION_CONTENT_FORMAT_JSON

application/json: [RFC7159]

OT_COAP_OPTION_CONTENT_FORMAT_JSON_PATCH_JSON

application/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

aplicativo/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

aplicativo/xml: [RFC3023]

otCoapOptionType

 otCoapOptionType

Números de opção do CoAP.

Propriedades
OT_COAP_OPTION_ACCEPT

Então, aceite-os para continuar.

OT_COAP_OPTION_BLOCK1

Block1 (RFC7959)

OT_COAP_OPTION_BLOCK2

Block2 (RFC7959)

OT_COAP_OPTION_CONTENT_FORMAT

Formato de conteúdo.

OT_COAP_OPTION_E_TAG

ETag

OT_COAP_OPTION_IF_MATCH

Se corresponder.

OT_COAP_OPTION_IF_NONE_MATCH

"If-None-Match".

OT_COAP_OPTION_LOCATION_PATH

Location-Path.

OT_COAP_OPTION_LOCATION_QUERY

Consulta de localização.

OT_COAP_OPTION_MAX_AGE

Idade máxima.

OT_COAP_OPTION_OBSERVE

Observe [RFC7641].

OT_COAP_OPTION_PROXY_SCHEME

Esquema de proxy.

OT_COAP_OPTION_PROXY_URI

URI proxy.

OT_COAP_OPTION_SIZE1

Tamanho1.

OT_COAP_OPTION_SIZE2

Tamanho2 (RFC7959)

OT_COAP_OPTION_URI_HOST

URI-Host.

OT_COAP_OPTION_URI_PATH

URI-Path.

OT_COAP_OPTION_URI_PORT

Uri-Port.

OT_COAP_OPTION_URI_QUERY

Uri-Query.

Tipo de otCoap

 otCoapType

Valores do tipo CoAP (número inteiro sem assinatura de 2 bits).

Propriedades
OT_COAP_TYPE_ACKNOWLEDGMENT

Reconhecimento.

OT_COAP_TYPE_CONFIRMABLE

Confirmável.

OT_COAP_TYPE_NON_CONFIRMABLE

Não confirmado.

OT_COAP_TYPE_RESET

Redefinir.

Typedefs

otCoapBlockSzx

enum otCoapBlockSzx otCoapBlockSzx

Expoentes de tamanho de bloco CoAP.

otCoapBlockwiseReceiveHook

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

O ponteiro é chamado quando uma mensagem CoAP com uma opção de baldeação em bloco é recebida.

Disponível quando a configuração OPENTHREAD_CONFIG_COAP_BLOCKWISE_TRANSFER_ENABLE está ativada.

Detalhes
Parâmetros
[in] aContext
Um ponteiro para o contexto específico do aplicativo.
[in] aBlock
Um ponteiro para o segmento do bloco.
[in] aPosition
A posição de aBlock em uma sequência em bytes.
[in] aBlockLength
O tamanho do segmento do bloco em bytes.
[in] aMore
Sinalize se houver mais segmentos de bloco seguindo.
[in] aTotalLength
O tamanho total em bytes das informações transferidas (indicado pela opção Size1 ou Size2).
Valores de retorno
OT_ERROR_NONE
Bloquear segmento armazenado.
OT_ERROR_NO_BUFS
Não há mais memória para armazenar blocos.
OT_ERROR_NO_FRAME_RECEIVED
Segmento de bloqueio ausente.

otCoapBlockwiseResource

struct otCoapBlockwiseResource otCoapBlockwiseResource

Representa um recurso CoAP com transferência por bloco.

otCoapBlockwiseTransmitHook

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

O ponteiro é chamado antes do envio do próximo bloco em uma baldeação em bloco.

Disponível quando a configuração OPENTHREAD_CONFIG_COAP_BLOCKWISE_TRANSFER_ENABLE está ativada.

Ao mudar o valor de aBlockLength, o tamanho do bloco de toda a troca é renegociado. É recomendável fazer isso depois que o primeiro bloco tiver sido recebido, já que mudanças posteriores podem causar problemas com outras implementações de CoAP.

Detalhes
Parâmetros
[in] aContext
Um ponteiro para o contexto específico do aplicativo.
[in,out] aBlock
Um ponteiro para o local em que o segmento do bloco pode ser gravado.
[in] aPosition
A posição em uma sequência a partir da qual obter o segmento do bloco.
[in,out] aBlockLength
Na entrada, o tamanho máximo do segmento do bloco em bytes.
[out] aMore
Um ponteiro para a sinalização, caso mais segmentos de bloco se sigam.
Valores de retorno
OT_ERROR_NONE
Nenhum erro ocorreu.
OT_ERROR_INVALID_ARGS
O bloqueio em aPosition não existe.

Código otCoap

enum otCoapCode otCoapCode

Valores de código CoAP.

otCoapOption

struct otCoapOption otCoapOption

Representa uma opção de CoAP.

otCoapOptionContentFormat

enum otCoapOptionContentFormat otCoapOptionContentFormat

Códigos de formato de conteúdo CoAP.

A lista completa está documentada em https://www.iana.org/assignments/core-parameters/core-parameters.xhtml#content-formats.

otCoapOptionIterator

struct otCoapOptionIterator otCoapOptionIterator

Atuar como um iterador para as opções de CoAP.

otCoapOptionType

enum otCoapOptionType otCoapOptionType

Números de opção do CoAP.

otCoapRequestHandler

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

O ponteiro é chamado quando uma solicitação CoAP com um determinado Uri-Path é recebida.

Detalhes
Parâmetros
[in] aContext
Um ponteiro para informações de contexto arbitrárias.
[in] aMessage
Um ponteiro para a mensagem.
[in] aMessageInfo
Um ponteiro para as informações da mensagem para aMessage.

otCoapResource

struct otCoapResource otCoapResource

Representa um recurso CoAP.

otCoapResponseHandler

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

O ponteiro é chamado quando uma resposta do CoAP é recebida ou quando atinge o tempo limite da solicitação.

Detalhes
Parâmetros
[in] aContext
Um ponteiro para o contexto específico do aplicativo.
[in] aMessage
Um ponteiro para o buffer de mensagem que contém a resposta. NULL se nenhuma resposta foi recebida.
[in] aMessageInfo
Um ponteiro para as informações da mensagem para aMessage. NULL se nenhuma resposta foi recebida.
[in] aResult
Resultado da transação de CoAP.
Valores de retorno
OT_ERROR_NONE
Uma resposta foi recebida.
OT_ERROR_ABORT
Uma transação CoAP foi redefinida pelo peering.
OT_ERROR_RESPONSE_TIMEOUT
Nenhuma resposta ou confirmação recebida durante o período de tempo limite.

otCoapTxParameters

struct otCoapTxParameters otCoapTxParameters

Representa os parâmetros de transmissão do CoAP.

Tipo de otCoap

enum otCoapType otCoapType

Valores do tipo CoAP (número inteiro sem assinatura de 2 bits).

Funções

otCoapAddBlockWiseResource

void otCoapAddBlockWiseResource(
  otInstance *aInstance,
  otCoapBlockwiseResource *aResource
)

Adiciona um recurso em blocos ao servidor CoAP.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
[in] aResource
Um ponteiro para o recurso.

otCoapAddResource

void otCoapAddResource(
  otInstance *aInstance,
  otCoapResource *aResource
)

Adiciona um recurso ao servidor CoAP.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
[in] aResource
Um ponteiro para o recurso.

otCoapBlockSizeFromExponent

uint16_t otCoapBlockSizeFromExponent(
  otCoapBlockSzx aSize
)

Converte um campo SZX de opção de bloco CoAP no tamanho real do bloco.

Detalhes
Parâmetros
[in] aSize
Expoente de tamanho do bloco.
Retorna
O valor real do expoente do tamanho.

otCoapMessageAttachBlock1Option

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

Anexa uma opção Block1.

Detalhes
Parâmetros
[in,out] aMessage
Um ponteiro para a mensagem CoAP.
[in] aNum
Número do bloco atual.
[in] aMore
Booleano para indicar que mais blocos devem ser enviados.
[in] aSize
Expoente de tamanho do bloco.
Valores de retorno
OT_ERROR_NONE
Opção anexada com sucesso.
OT_ERROR_INVALID_ARGS
O tipo da opção não é igual nem maior que o último tipo de opção.
OT_ERROR_NO_BUFS
O tamanho da opção excede o tamanho do buffer.

otCoapMessageAttachBlock2Option

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

Anexa uma opção Block2.

Detalhes
Parâmetros
[in,out] aMessage
Um ponteiro para a mensagem CoAP.
[in] aNum
Número do bloco atual.
[in] aMore
Booleano para indicar que mais blocos devem ser enviados.
[in] aSize
Expoente de tamanho do bloco.
Valores de retorno
OT_ERROR_NONE
Opção anexada com sucesso.
OT_ERROR_INVALID_ARGS
O tipo da opção não é igual nem maior que o último tipo de opção.
OT_ERROR_NO_BUFS
O tamanho da opção excede o tamanho do buffer.

otCoapMessageAttachContentFormatOption

otError otCoapMessageAppendContentFormatOption(
  otMessage *aMessage,
  otCoapOptionContentFormat aContentFormat
)

Anexa a opção de formato de conteúdo CoAP, conforme especificado em https://tools.ietf.org/html/rfc7252#page-92.

Esse precisa ser chamado antes de definir o otCoapMessageSetPayloadMarker se um payload for incluído na mensagem.

A função é um wrapper de conveniência em torno de otCoapMessageAttachUintOption. Se o código do tipo de formato desejado não estiver listado em otCoapOptionContentFormat, essa função base deverá ser usada.

Detalhes
Parâmetros
[in,out] aMessage
Um ponteiro para a mensagem CoAP.
[in] aContentFormat
Um dos formatos de conteúdo listados no otCoapOptionContentFormat acima.
Valores de retorno
OT_ERROR_NONE
Opção anexada com sucesso.
OT_ERROR_INVALID_ARGS
O tipo da opção não é igual nem maior que o último tipo de opção.
OT_ERROR_NO_BUFS
O tamanho da opção excede o tamanho do buffer.

otCoapMessageAttachMaxAgeOption

otError otCoapMessageAppendMaxAgeOption(
  otMessage *aMessage,
  uint32_t aMaxAge
)

Anexa uma opção Max-Age.

Detalhes
Parâmetros
[in,out] aMessage
Um ponteiro para a mensagem CoAP.
[in] aMaxAge
O valor Max-Age.
Valores de retorno
OT_ERROR_NONE
Opção anexada com sucesso.
OT_ERROR_INVALID_ARGS
O tipo da opção não é igual nem maior que o último tipo de opção.
OT_ERROR_NO_BUFS
O tamanho da opção excede o tamanho do buffer.

otCoapMessageAttachAcompanharOption

otError otCoapMessageAppendObserveOption(
  otMessage *aMessage,
  uint32_t aObserve
)

Anexa uma opção "Observar".

Detalhes
Parâmetros
[in,out] aMessage
Um ponteiro para a mensagem CoAP.
[in] aObserve
Observe o valor do campo.
Valores de retorno
OT_ERROR_NONE
Opção anexada com sucesso.
OT_ERROR_INVALID_ARGS
O tipo da opção não é igual nem maior que o último tipo de opção.
OT_ERROR_NO_BUFS
O tamanho da opção excede o tamanho do buffer.

otCoapMessageAttachOption

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

Anexa uma opção de CoAP em um cabeçalho.

Detalhes
Parâmetros
[in,out] aMessage
Um ponteiro para a mensagem CoAP.
[in] aNumber
O número da opção CoAP.
[in] aLength
O tamanho da opção CoAP.
[in] aValue
Um ponteiro para o valor de CoAP.
Valores de retorno
OT_ERROR_NONE
Opção anexada com sucesso.
OT_ERROR_INVALID_ARGS
O tipo da opção não é igual nem maior que o último tipo de opção.
OT_ERROR_NO_BUFS
O tamanho da opção excede o tamanho do buffer.

otCoapMessageAttachProxyUriOption

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

Anexa uma opção Proxy-Uri.

Detalhes
Parâmetros
[in,out] aMessage
Um ponteiro para a mensagem CoAP.
[in] aUriPath
Um ponteiro para uma string encerrada em NULL.
Valores de retorno
OT_ERROR_NONE
Opção anexada com sucesso.
OT_ERROR_INVALID_ARGS
O tipo da opção não é igual nem maior que o último tipo de opção.
OT_ERROR_NO_BUFS
O tamanho da opção excede o tamanho do buffer.

otCoapMessageAttachUintOption

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

Anexa uma opção de CoAP de número inteiro sem assinatura, conforme especificado em https://tools.ietf.org/html/rfc7252#section-3.2.

Detalhes
Parâmetros
[in,out] aMessage
Um ponteiro para a mensagem CoAP.
[in] aNumber
O número da opção CoAP.
[in] aValue
O valor inteiro sem assinatura da opção CoAP.
Valores de retorno
OT_ERROR_NONE
Opção anexada com sucesso.
OT_ERROR_INVALID_ARGS
O tipo da opção não é igual nem maior que o último tipo de opção.
OT_ERROR_NO_BUFS
O tamanho da opção excede o tamanho do buffer.
Consulte também:
otCoapMessageGetOptionUintValue

otCoapMessageAttachUriPathOptions

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

Anexa uma opção de caminho do URI.

Detalhes
Parâmetros
[in,out] aMessage
Um ponteiro para a mensagem CoAP.
[in] aUriPath
Um ponteiro para uma string encerrada em NULL.
Valores de retorno
OT_ERROR_NONE
Opção anexada com sucesso.
OT_ERROR_INVALID_ARGS
O tipo da opção não é igual nem maior que o último tipo de opção.
OT_ERROR_NO_BUFS
O tamanho da opção excede o tamanho do buffer.

otCoapMessageAttachUriQueryOption

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

Anexa uma única opção de consulta do URI.

Detalhes
Parâmetros
[in,out] aMessage
Um ponteiro para a mensagem CoAP.
[in] aUriQuery
Um ponteiro para uma string encerrada como NULL, que precisa conter um único par de chave=valor.
Valores de retorno
OT_ERROR_NONE
Opção anexada com sucesso.
OT_ERROR_INVALID_ARGS
O tipo da opção não é igual nem maior que o último tipo de opção.
OT_ERROR_NO_BUFS
O tamanho da opção excede o tamanho do buffer.

otCoapMessageCodeToString

const char * otCoapMessageCodeToString(
  const otMessage *aMessage
)

Retorna o código CoAP como uma string legível.

@ retorna o código CoAP como string.

Detalhes
Parâmetros
[in] aMessage
Um ponteiro para a mensagem CoAP.

otCoapMessageGenerateToken

void otCoapMessageGenerateToken(
  otMessage *aMessage,
  uint8_t aTokenLength
)

Define o comprimento do token e aleatoriamente o valor dele.

Detalhes
Parâmetros
[in,out] aMessage
Um ponteiro para a mensagem CoAP.
[in] aTokenLength
O comprimento de um token a ser definido.

otCoapMessageGetCode

otCoapCode otCoapMessageGetCode(
  const otMessage *aMessage
)

Retorna o valor "Code".

Detalhes
Parâmetros
[in] aMessage
Um ponteiro para a mensagem CoAP.
Retorna
O valor "Code".

otCoapMessageGetMessageId

uint16_t otCoapMessageGetMessageId(
  const otMessage *aMessage
)

Retorna o valor do ID da mensagem.

Detalhes
Parâmetros
[in] aMessage
Um ponteiro para a mensagem CoAP.
Retorna
O valor do ID da mensagem.

otCoapMessageGetToken

const uint8_t * otCoapMessageGetToken(
  const otMessage *aMessage
)

Retorna um ponteiro para o valor do token.

Detalhes
Parâmetros
[in] aMessage
Um ponteiro para a mensagem CoAP.
Retorna
Um ponteiro para o valor do token.

otCoapMessageGetTokenLength

uint8_t otCoapMessageGetTokenLength(
  const otMessage *aMessage
)

Retorna o comprimento do token.

Detalhes
Parâmetros
[in] aMessage
Um ponteiro para a mensagem CoAP.
Retorna
O tamanho do token.

otCoapMessageGetType

otCoapType otCoapMessageGetType(
  const otMessage *aMessage
)

Retorna o valor do tipo.

Detalhes
Parâmetros
[in] aMessage
Um ponteiro para a mensagem CoAP.
Retorna
O valor "Tipo".

otCoapMessageInit

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

Inicializa o cabeçalho CoAP.

Detalhes
Parâmetros
[in,out] aMessage
Um ponteiro para a mensagem CoAP a ser inicializada.
[in] aType
Tipo de mensagem CoAP.
[in] aCode
Código da mensagem do CoAP.

otCoapMessageInitResponse

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

Inicializa uma mensagem de resposta.

Detalhes
Parâmetros
[in,out] aResponse
Um ponteiro para a mensagem de resposta do CoAP.
[in] aRequest
Um ponteiro para a mensagem de solicitação de CoAP.
[in] aType
Tipo de mensagem CoAP.
[in] aCode
Código da mensagem do CoAP.
Valores de retorno
OT_ERROR_NONE
A mensagem de resposta foi inicializada.
OT_ERROR_NO_BUFS
Buffers de mensagem insuficientes disponíveis para inicializar a mensagem de resposta.

otCoapMessageSetCode

void otCoapMessageSetCode(
  otMessage *aMessage,
  otCoapCode aCode
)

Define o valor "Code".

Detalhes
Parâmetros
[in,out] aMessage
Um ponteiro para a mensagem CoAP a ser inicializada.
[in] aCode
Código da mensagem do CoAP.

otCoapMessageSetPayloadMarker

otError otCoapMessageSetPayloadMarker(
  otMessage *aMessage
)

Adiciona o marcador de payload que indica o início do payload para o cabeçalho do CoAP.

Detalhes
Parâmetros
[in,out] aMessage
Um ponteiro para a mensagem CoAP.
Valores de retorno
OT_ERROR_NONE
Marcador de payload adicionado.
OT_ERROR_NO_BUFS
O marcador de payload do cabeçalho excede o tamanho do buffer.

otCoapMessageSetToken

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

Define o valor e o comprimento do token em um cabeçalho.

Detalhes
Parâmetros
[in,out] aMessage
Um ponteiro para a mensagem CoAP.
[in] aToken
Um ponteiro para o valor do token.
[in] aTokenLength
A duração de aToken.
Valores de retorno
OT_ERROR_NONE
O valor do token foi definido.
OT_ERROR_NO_BUFS
Buffers insuficientes para definir o valor do token.

otCoapNewMessage

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

Cria uma nova mensagem CoAP.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
[in] aSettings
Um ponteiro para as configurações da mensagem ou NULL para definir as configurações padrão.
Retorna
Um ponteiro para o buffer de mensagem ou NULL se nenhum buffer de mensagem estiver disponível ou se os parâmetros forem inválidos.

otCoapOptionIteratorGetFirstOption

const otCoapOption * otCoapOptionIteratorGetFirstOption(
  otCoapOptionIterator *aIterator
)

Retorna um ponteiro para a primeira opção.

Detalhes
Parâmetros
[in,out] aIterator
Um ponteiro para o iterador de opções de mensagens CoAP.
Retorna
Um ponteiro para a primeira opção. Se nenhuma opção estiver presente, o ponteiro NULL será retornado.

otCoapOptionIteratorGetFirstOptionMatching

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

Retorna um ponteiro para a primeira opção correspondente ao número da opção especificado.

Detalhes
Parâmetros
[in] aIterator
Um ponteiro para o iterador de opções de mensagens CoAP.
[in] aOption
O número da opção buscado.
Retorna
Um ponteiro para a primeira opção de correspondência. Se nenhuma opção correspondente estiver presente, o ponteiro NULL será retornado.

otCoapOptionIteratorGetNextOption

const otCoapOption * otCoapOptionIteratorGetNextOption(
  otCoapOptionIterator *aIterator
)

Retorna um ponteiro para a próxima opção.

Detalhes
Parâmetros
[in,out] aIterator
Um ponteiro para o iterador de opções de mensagens CoAP.
Retorna
Um ponteiro para a próxima opção. Se não houver mais opções presentes, o ponteiro NULL será retornado.

otCoapOptionIteratorGetNextOptionMatching

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

Retorna um ponteiro para a próxima opção correspondente ao número de opção especificado.

Detalhes
Parâmetros
[in] aIterator
Um ponteiro para o iterador de opções de mensagens CoAP.
[in] aOption
O número da opção buscado.
Retorna
Um ponteiro para a próxima opção de correspondência. Se nenhuma outra opção correspondente estiver presente, o ponteiro NULL será retornado.

otCoapOptionIteratorGetOptionUintValue

otError otCoapOptionIteratorGetOptionUintValue(
  otCoapOptionIterator *aIterator,
  uint64_t *aValue
)

Preenche o valor da opção atual em aValue, supondo que o valor atual seja um número inteiro não assinado codificado de acordo com https://tools.ietf.org/html/rfc7252#section-3.2 (em inglês).

Detalhes
Parâmetros
[in,out] aIterator
Um ponteiro para o iterador de opções de mensagens CoAP.
[out] aValue
Um ponteiro para um número inteiro sem assinatura para receber o valor da opção.
Valores de retorno
OT_ERROR_NONE
Valor preenchido.
OT_ERROR_NOT_FOUND
Nenhuma opção no momento.
OT_ERROR_NO_BUFS
O valor é muito longo para caber em um uint64_t.
Consulte também:
otCoapMessageAttachUintOption

otCoapOptionIteratorGetOptionValue

otError otCoapOptionIteratorGetOptionValue(
  otCoapOptionIterator *aIterator,
  void *aValue
)

Preenche o valor da opção atual em aValue.

Detalhes
Parâmetros
[in,out] aIterator
Um ponteiro para o iterador de opções de mensagens CoAP.
[out] aValue
Um ponteiro para um buffer para receber o valor da opção.
Valores de retorno
OT_ERROR_NONE
Valor preenchido.
OT_ERROR_NOT_FOUND
Nenhuma opção no momento.

otCoapOptionIteratorInit

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

Inicializa um iterador para as opções na mensagem fornecida.

Detalhes
Parâmetros
[in,out] aIterator
Um ponteiro para o iterador de opções de mensagens CoAP.
[in] aMessage
Um ponteiro para a mensagem CoAP.
Valores de retorno
OT_ERROR_NONE
Inicializado com sucesso.
OT_ERROR_PARSE
O estado da mensagem é inconsistente.

otCoapRemoveBlockWiseResource

void otCoapRemoveBlockWiseResource(
  otInstance *aInstance,
  otCoapBlockwiseResource *aResource
)

Remove um recurso em blocos do servidor CoAP.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
[in] aResource
Um ponteiro para o recurso.

otCoapRemoveResource

void otCoapRemoveResource(
  otInstance *aInstance,
  otCoapResource *aResource
)

Remove um recurso do servidor CoAP.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
[in] aResource
Um ponteiro para o recurso.

otCoapSendRequest

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

Envia uma solicitação de CoAP.

Se você espera uma resposta para uma solicitação, as respectivas informações de função e contexto precisam ser fornecidas. Se nenhuma resposta for esperada, esses argumentos deverão ser ponteiros NULL.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
[in] aMessage
Um ponteiro para a mensagem a ser enviada.
[in] aMessageInfo
Um ponteiro para as informações da mensagem associadas ao aMessage.
[in] aHandler
Um ponteiro de função que precisa ser chamado na recepção de resposta ou no tempo limite.
[in] aContext
Um ponteiro para informações de contexto arbitrárias. Poderá ser NULL se não for usado.
Valores de retorno
OT_ERROR_NONE
A mensagem CoAP foi enviada.
OT_ERROR_NO_BUFS
Falha ao alocar dados de retransmissão.

otCoapSendRequestBlockWise

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

Envia uma solicitação de CoAP em bloco.

Disponível quando a configuração OPENTHREAD_CONFIG_COAP_BLOCKWISE_TRANSFER_ENABLE está ativada.

Se você espera uma resposta para uma solicitação, as respectivas informações de função e contexto precisam ser fornecidas. Se for esperado que a resposta seja em bloco, uma respectiva função de gancho precisará ser fornecida. Se nenhuma resposta for esperada, esses argumentos deverão ser ponteiros NULL.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
[in] aMessage
Um ponteiro para a mensagem a ser enviada.
[in] aMessageInfo
Um ponteiro para as informações da mensagem associadas ao aMessage.
[in] aHandler
Um ponteiro de função que precisa ser chamado na recepção de resposta ou no tempo limite.
[in] aContext
Um ponteiro para informações de contexto arbitrárias. Poderá ser NULL se não for usado.
[in] aTransmitHook
Um ponteiro para uma função de gancho para transferência de saída em bloco.
[in] aReceiveHook
Um ponteiro para uma função de gancho para transferência de entrada em bloco.
Valores de retorno
OT_ERROR_NONE
A mensagem CoAP foi enviada.
OT_ERROR_NO_BUFS
Falha ao alocar dados de retransmissão.

otCoapSendRequestBlockWiseWithParameters

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

Envia uma solicitação de CoAP por bloco com parâmetros de transmissão personalizados.

Disponível quando a configuração OPENTHREAD_CONFIG_COAP_BLOCKWISE_TRANSFER_ENABLE está ativada.

Se você espera uma resposta para uma solicitação, as respectivas informações de função e contexto precisam ser fornecidas. Se for esperado que a resposta seja em bloco, uma respectiva função de gancho precisará ser fornecida. Se nenhuma resposta for esperada, esses argumentos deverão ser ponteiros NULL.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
[in] aMessage
Um ponteiro para a mensagem a ser enviada.
[in] aMessageInfo
Um ponteiro para as informações da mensagem associadas ao aMessage.
[in] aHandler
Um ponteiro de função que precisa ser chamado na recepção de resposta ou no tempo limite.
[in] aContext
Um ponteiro para informações de contexto arbitrárias. Poderá ser NULL se não for usado.
[in] aTxParameters
Um ponteiro para transmitir parâmetros dessa solicitação. Use NULL para padrões.
[in] aTransmitHook
Um ponteiro para uma função de gancho para transferência de saída em bloco.
[in] aReceiveHook
Um ponteiro para uma função de gancho para transferência de entrada em bloco.
Valores de retorno
OT_ERROR_NONE
A mensagem CoAP foi enviada.
OT_ERROR_NO_BUFS
Falha ao alocar dados de retransmissão.
OT_ERROR_INVALID_ARGS
Foram fornecidos argumentos inválidos.

otCoapSendRequestWithParameters

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

Envia uma solicitação de CoAP com parâmetros de transmissão personalizados.

Se você espera uma resposta para uma solicitação, as respectivas informações de função e contexto precisam ser fornecidas. Se nenhuma resposta for esperada, esses argumentos deverão ser ponteiros NULL.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
[in] aMessage
Um ponteiro para a mensagem a ser enviada.
[in] aMessageInfo
Um ponteiro para as informações da mensagem associadas ao aMessage.
[in] aHandler
Um ponteiro de função que precisa ser chamado na recepção de resposta ou no tempo limite.
[in] aContext
Um ponteiro para informações de contexto arbitrárias. Poderá ser NULL se não for usado.
[in] aTxParameters
Um ponteiro para transmitir parâmetros dessa solicitação. Use NULL para padrões. Caso contrário, os parâmetros fornecidos devem atender às seguintes condições:
  1. mMaxRetransmit não é maior que OT_COAP_MAX_RETRANSMIT.
  2. mAckRandomFactorNumerator / mAckRandomFactorDenominator não pode ser inferior a 1.0.
  3. O tempo de vida útil da troca calculado não pode ultrapassar uint32_t.
Valores de retorno
OT_ERROR_NONE
A mensagem CoAP foi enviada.
OT_ERROR_NO_BUFS
Falha ao alocar dados de retransmissão.
OT_ERROR_INVALID_ARGS
Foram fornecidos argumentos inválidos.

otCoapSendResponse

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

Envia uma resposta de CoAP do servidor.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
[in] aMessage
Um ponteiro para a resposta do CoAP a ser enviada.
[in] aMessageInfo
Um ponteiro para as informações da mensagem associadas ao aMessage.
Valores de retorno
OT_ERROR_NONE
A mensagem de resposta do CoAP foi colocada na fila.
OT_ERROR_NO_BUFS
Buffers insuficientes disponíveis para enviar a resposta do CoAP.

otCoapSendResponseBlockWise

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

Envia uma resposta CoAP em bloco do servidor.

Disponível quando a configuração OPENTHREAD_CONFIG_COAP_BLOCKWISE_TRANSFER_ENABLE está ativada.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
[in] aMessage
Um ponteiro para a resposta do CoAP a ser enviada.
[in] aMessageInfo
Um ponteiro para as informações da mensagem associadas ao aMessage.
[in] aContext
Um ponteiro para informações de contexto arbitrárias. Poderá ser NULL se não for usado.
[in] aTransmitHook
Um ponteiro para uma função de gancho para transferência de saída em bloco.
Valores de retorno
OT_ERROR_NONE
A mensagem de resposta do CoAP foi colocada na fila.
OT_ERROR_NO_BUFS
Buffers insuficientes disponíveis para enviar a resposta do CoAP.

otCoapSendResponseBlockWiseWithParameters

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

Envia uma resposta CoAP em bloco do servidor com parâmetros de transmissão personalizados.

Disponível quando a configuração OPENTHREAD_CONFIG_COAP_BLOCKWISE_TRANSFER_ENABLE está ativada.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
[in] aMessage
Um ponteiro para a resposta do CoAP a ser enviada.
[in] aMessageInfo
Um ponteiro para as informações da mensagem associadas ao aMessage.
[in] aTxParameters
Um ponteiro para transmitir parâmetros para essa resposta. Use NULL para padrões.
[in] aContext
Um ponteiro para informações de contexto arbitrárias. Poderá ser NULL se não for usado.
[in] aTransmitHook
Um ponteiro para uma função de gancho para transferência de saída em bloco.
Valores de retorno
OT_ERROR_NONE
A mensagem de resposta do CoAP foi colocada na fila.
OT_ERROR_NO_BUFS
Buffers insuficientes disponíveis para enviar a resposta do CoAP.
OT_ERROR_INVALID_ARGS
Foram fornecidos argumentos inválidos.

otCoapSendResponseWithParameters

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

Envia uma resposta CoAP do servidor com parâmetros de transmissão personalizados.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
[in] aMessage
Um ponteiro para a resposta do CoAP a ser enviada.
[in] aMessageInfo
Um ponteiro para as informações da mensagem associadas ao aMessage.
[in] aTxParameters
Um ponteiro para transmitir parâmetros para essa resposta. Use NULL para padrões.
Valores de retorno
OT_ERROR_NONE
A mensagem de resposta do CoAP foi colocada na fila.
OT_ERROR_NO_BUFS
Buffers insuficientes disponíveis para enviar a resposta do CoAP.
OT_ERROR_INVALID_ARGS
Foram fornecidos argumentos inválidos.

otCoapSetDefaultHandler

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

Define o gerenciador padrão para solicitações CoAP não processadas.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
[in] aHandler
Um ponteiro de função que precisa ser chamado quando uma solicitação não processada chegar.
[in] aContext
Um ponteiro para informações de contexto arbitrárias. Poderá ser NULL se não for usado.

otCoapStart

otError otCoapStart(
  otInstance *aInstance,
  uint16_t aPort
)

Inicia o servidor CoAP.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
[in] aPort
A porta UDP local a ser vinculada.
Valores de retorno
OT_ERROR_NONE
O servidor CoAP foi iniciado.
OT_ERROR_FAILED
Falha ao iniciar o servidor CoAP.

otCoapStop

otError otCoapStop(
  otInstance *aInstance
)

Interrompe o servidor CoAP.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
Valores de retorno
OT_ERROR_NONE
O servidor CoAP foi interrompido.

Macros

OT_COAP_CODE

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

Macro auxiliar para definir valores de código CoAP.

OT_COAP_DEFAULT_TOKEN_LENGTH

 OT_COAP_DEFAULT_TOKEN_LENGTH 2

Tamanho padrão do token.

OT_COAP_MAX_RETRANSMIT

 OT_COAP_MAX_RETRANSMIT 20

Retransmissão máxima com suporte do OpenThread.

OT_COAP_MAX_TOKEN_LENGTH

 OT_COAP_MAX_TOKEN_LENGTH 8

Tamanho máximo do token, conforme especificado (RFC 7252).

PRG_COAP_MIN_ACK_TIMEOUT

 OT_COAP_MIN_ACK_TIMEOUT 1000

Tempo limite mínimo de ACK em milissegundos compatível com o OpenThread.

Porta padrão do OT

 OT_DEFAULT_COAP_PORT 5683

Porta CoAP padrão, conforme especificado no RFC 7252.

Recursos

Os tópicos de Referência da API OpenThread se originam no código-fonte, disponível no GitHub (link em inglês). Para mais informações ou para contribuir com nossa documentação, consulte Recursos.