CoAP

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

Resumo

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

Enumerações

otCoapBlockSzx tipo enumerado
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))
}
tipo enumerado
CoAP Code.
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
}
tipo enumerado
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
}
tipo enumerado
Números de opção CoAP.
otCoapType{
  OT_COAP_TYPE_CONFIRMABLE = 0,
  OT_COAP_TYPE_NON_CONFIRMABLE = 1,
  OT_COAP_TYPE_ACKNOWLEDGMENT = 2,
  OT_COAP_TYPE_RESET = 3
}
tipo enumerado
Valores do tipo CoAP (número inteiro não assinado 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 transferência em blocos é recebida.
otCoapBlockwiseResource typedef
Representa um recurso CoAP com transferência em blocos.
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 transferência em blocos.
otCoapCode typedef
enum otCoapCode
CoAP Code.
otCoapOption typedef
struct otCoapOption
Representa uma opção de CoAP.
otCoapOptionContentFormat typedef
Códigos de formato de conteúdo CoAP.
otCoapOptionIterator typedef
Funciona como iterador para opções de CoAP.
otCoapOptionType typedef
Números de opção CoAP.
otCoapRequestHandler)(void *aContext, otMessage *aMessage, const otMessageInfo *aMessageInfo) typedef
void(*
O ponteiro é chamado quando uma solicitação CoAP com um determinado URI é 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 CoAP é recebida ou no 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 não assinado de 2 bits).

Funções

otCoapAddBlockWiseResource(otInstance *aInstance, otCoapBlockwiseResource *aResource)
void
Adiciona um recurso de bloqueio de 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 da opção de bloco CoAP para o tamanho do bloco real.
otCoapMessageAppendBlock1Option(otMessage *aMessage, uint32_t aNum, bool aMore, otCoapBlockSzx aSize)
Anexa uma opção de Block1.
otCoapMessageAppendBlock2Option(otMessage *aMessage, uint32_t aNum, bool aMore, otCoapBlockSzx aSize)
Anexa uma opção de Block2.
otCoapMessageAppendContentFormatOption(otMessage *aMessage, otCoapOptionContentFormat aContentFormat)
Acrescenta a opção CoAP de formato de conteúdo conforme especificado em https://tools.ietf.org/html/rfc7252#page-92.
otCoapMessageAppendMaxAgeOption(otMessage *aMessage, uint32_t aMaxAge)
Anexa uma opção de idade máxima.
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 de Proxy-Uri.
otCoapMessageAppendUintOption(otMessage *aMessage, uint16_t aNumber, uint32_t aValue)
Anexa uma opção de CoAP de número inteiro não assinado, conforme especificado em https://tools.ietf.org/html/rfc7252#section-3.2.
otCoapMessageAppendUriPathOptions(otMessage *aMessage, const char *aUriPath)
Anexa uma opção de Uri-Path.
otCoapMessageAppendUriQueryOption(otMessage *aMessage, const char *aUriQuery)
Anexa uma única opção Uri-Query.
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 tamanho do token e randomiza seu valor.
otCoapMessageGetCode(const otMessage *aMessage)
Retorna o valor Code.
otCoapMessageGetMessageId(const otMessage *aMessage)
uint16_t
Retorna o valor do código 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 tamanho do token.
otCoapMessageGetType(const otMessage *aMessage)
Retorna o valor Type.
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 um marcador de payload que indica o início do payload para o cabeçalho 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 de 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.
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 termos de bloco 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 CoAP.
otCoapSendRequestBlockWise(otInstance *aInstance, otMessage *aMessage, const otMessageInfo *aMessageInfo, otCoapResponseHandler aHandler, void *aContext, otCoapBlockwiseTransmitHook aTransmitHook, otCoapBlockwiseReceiveHook aReceiveHook)
Envia uma solicitação CoAP em blocos.
otCoapSendRequestBlockWiseWithParameters(otInstance *aInstance, otMessage *aMessage, const otMessageInfo *aMessageInfo, otCoapResponseHandler aHandler, void *aContext, const otCoapTxParameters *aTxParameters, otCoapBlockwiseTransmitHook aTransmitHook, otCoapBlockwiseReceiveHook aReceiveHook)
Envia uma solicitação CoAP em blocos 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 CoAP com parâmetros de transmissão personalizados.
otCoapSendResponse(otInstance *aInstance, otMessage *aMessage, const otMessageInfo *aMessageInfo)
Envia uma resposta CoAP do servidor.
otCoapSendResponseBlockWise(otInstance *aInstance, otMessage *aMessage, const otMessageInfo *aMessageInfo, void *aContext, otCoapBlockwiseTransmitHook aTransmitHook)
Envia uma resposta CoAP em blocos do servidor.
otCoapSendResponseBlockWiseWithParameters(otInstance *aInstance, otMessage *aMessage, const otMessageInfo *aMessageInfo, const otCoapTxParameters *aTxParameters, void *aContext, otCoapBlockwiseTransmitHook aTransmitHook)
Envia uma resposta CoAP em blocos 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 em blocos.

otCoapOption (em inglês)

Representa uma opção de CoAP.

otCoapOptionIterator (em inglês)

Funciona como iterador para opções de CoAP.

otCoapResource (em inglês)

Representa um recurso CoAP.

otCoapTxParameters (em inglês)

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

Enumerações

OtCoapBlockSzx

 otCoapBlockSzx

Expoentes de tamanho de bloco CoAP.

Código ocoap

 otCoapCode

CoAP Code.

Propriedades
OT_COAP_CODE_BAD_GATEWAY

Gateway inválido.

OT_COAP_CODE_BAD_OPTION

Opção inválida.

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

Código de mensagem 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 incompatível.

OT_COAP_CODE_PUT

Put.

OT_COAP_CODE_REQUEST_INCOMPLETE

A entidade de solicitação RFC7959 está 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 não suportado.

OT_COAP_CODE_VALID

Válida.

Formato de conteúdo da opção

 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

application/cbor: [RFC7049]

OT_COAP_OPTION_CONTENT_FORMAT_COAP_GROUP_JSON

application/coap-group+json: [RFC7390]

OT_COAP_OPTION_CONTENT_FORMAT_COSE_ENCRYPT

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

OT_COAP_OPTION_CONTENT_FORMAT_COSE_ENCRYPT0

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

OT_COAP_OPTION_CONTENT_FORMAT_COSE_KEY

application/cose-key: [RFC8152]

OT_COAP_OPTION_CONTENT_FORMAT_COSE_KEY_SET

application/cose-key-set: [RFC8152]

OT_COAP_OPTION_CONTENT_FORMAT_COSE_MAC

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

OT_COAP_OPTION_CONTENT_FORMAT_COSE_MAC0

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

OT_COAP_OPTION_CONTENT_FORMAT_COSE_SIGN

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

OT_COAP_OPTION_CONTENT_FORMAT_COSE_SIGN1

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

OT_COAP_OPTION_CONTENT_FORMAT_CWT

aplicativo/cwt: [RFC8392]

OT_COAP_OPTION_CONTENT_FORMAT_EXI

application/exi: ["Efficient XML Interchange (EXI) Format 1.0 (Segunda edição)", fevereiro de 2014]

OT_COAP_OPTION_CONTENT_FORMAT_JSON

aplicativo/json: [RFC7159]

OT_COAP_OPTION_CONTENT_FORMAT_JSON_PATCH_JSON

application/json-patch+json: [RFC6902]

OT_COAP_OPTION_CONTENT_FORMAT_LINK_FORMAT

formato de aplicativo/link: [RFC6690]

OT_COAP_OPTION_CONTENT_FORMAT_MERGE_PATCH_JSON

application/merge-patch+json: [RFC7396]

OT_COAP_OPTION_CONTENT_FORMAT_OCTET_STREAM

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

OT_COAP_OPTION_CONTENT_FORMAT_SENML_CBOR

application/senml+cbor: [RFC8428]

OT_COAP_OPTION_CONTENT_FORMAT_SENML_EXI

aplicativo/senml-exi: [RFC8428]

OT_COAP_OPTION_CONTENT_FORMAT_SENML_JSON

aplicativo/senml+json: [RFC8428]

OT_COAP_OPTION_CONTENT_FORMAT_SENML_XML

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

aplicativo/sensml+json: [RFC8428]

OT_COAP_OPTION_CONTENT_FORMAT_SENSML_XML

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

Tipo de opção de otCoap

 otCoapOptionType

Números de opção CoAP.

Propriedades
OT_COAP_OPTION_ACCEPT

Então, aceite-os para continuar.

OT_COAP_OPTION_BLOCK1

Bloco1 (RFC7959)

OT_COAP_OPTION_BLOCK2

Bloco2 (RFC7959)

OT_COAP_OPTION_CONTENT_FORMAT

Formato de conteúdo.

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

Caminho do local.

OT_COAP_OPTION_LOCATION_QUERY

Consulta de local.

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 de proxy.

OT_COAP_OPTION_SIZE1

Tamanho1.

OT_COAP_OPTION_SIZE2

Tamanho 2 (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 não assinado de 2 bits).

Propriedades
OT_COAP_TYPE_ACKNOWLEDGMENT

Reconhecimento.

OT_COAP_TYPE_CONFIRMABLE

Pode ser confirmado.

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 transferência em blocos é recebida.

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

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

Recurso de bloqueio de interface

struct otCoapBlockwiseResource otCoapBlockwiseResource

Representa um recurso CoAP com transferência em blocos.

OtCoapBlockwiseBroadcastHook

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 transferência em blocos.

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

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

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

Código ocoap

enum otCoapCode otCoapCode

CoAP Code.

Opção otcoap

struct otCoapOption otCoapOption

Representa uma opção de CoAP.

Formato de conteúdo da opção

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

Funciona como iterador para opções de CoAP.

Tipo de opção de otCoap

enum otCoapOptionType otCoapOptionType

Números de opção CoAP.

OtCoapRequestHandler

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

O ponteiro é chamado quando uma solicitação CoAP com um determinado URI é 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 de aMessage.

Recurso de otCoap

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 CoAP é recebida ou no tempo limite da solicitação.

Detalhes
Parâmetros
[in] aContext
Um ponteiro para contexto específico do aplicativo.
[in] aMessage
Um ponteiro para o buffer de mensagem que contém a resposta. NULL se nenhuma resposta for recebida.
[in] aMessageInfo
Um ponteiro para as informações da mensagem de aMessage. NULL se nenhuma resposta for recebida.
[in] aResult
Resultado da transação do CoAP.
Valores de retorno
OT_ERROR_NONE
Uma resposta foi recebida.
OT_ERROR_ABORT
Uma transação CoAP foi redefinida pelo par.
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 não assinado de 2 bits).

Funções

Recurso de adição de blocos

void otCoapAddBlockWiseResource(
  otInstance *aInstance,
  otCoapBlockwiseResource *aResource
)

Adiciona um recurso de bloqueio de blocos ao servidor CoAP.

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

Recurso de adição

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 da opção de bloco CoAP para o tamanho do bloco real.

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

Opção otCoapMessageAppendBlock1

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

Anexa uma opção de Block1.

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

Opção otCoapMessageAppendBlock2Option

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

Anexa uma opção de Block2.

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

OtCoapMessageAppendContentFormatOption

otError otCoapMessageAppendContentFormatOption(
  otMessage *aMessage,
  otCoapOptionContentFormat aContentFormat
)

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

Isso precisa ser chamado antes da configuração de otCoapMessageSetPayloadMarker se um payload for incluído na mensagem.

A função é um wrapper de conveniência em torno de otCoapMessageAppendUintOption e, 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.
OT_ERROR_INVALID_ARGS
O tipo de opção não é igual ou maior do que o último tipo de opção.
OT_ERROR_NO_BUFS
O tamanho da opção excede o tamanho do buffer.

OtCoapMessageAppendMaxAgeOption

otError otCoapMessageAppendMaxAgeOption(
  otMessage *aMessage,
  uint32_t aMaxAge
)

Anexa uma opção de idade máxima.

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

OtCoapMessageAppendobserveOption

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.
OT_ERROR_INVALID_ARGS
O tipo de opção não é igual ou maior do que o último tipo de opção.
OT_ERROR_NO_BUFS
O tamanho da opção excede o tamanho do buffer.

OtCoapMessageAppendOption

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 CoAP.
Valores de retorno
OT_ERROR_NONE
Opção anexada.
OT_ERROR_INVALID_ARGS
O tipo de opção não é igual ou maior do que o último tipo de opção.
OT_ERROR_NO_BUFS
O tamanho da opção excede o tamanho do buffer.

OtCoapMessageAppendProxyUriOption

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

Anexa uma opção de Proxy-Uri.

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

OtCoapMessageAppendUintOption

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

Anexa uma opção de CoAP de número inteiro não assinado, 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 não assinado da opção CoAP.
Valores de retorno
OT_ERROR_NONE
Opção anexada.
OT_ERROR_INVALID_ARGS
O tipo de opção não é igual ou maior do 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

OtCoapMessageAppendUriPathOptions

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

Anexa uma opção de Uri-Path.

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

OtCoapMessageAppendUriQueryOption

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

Anexa uma única opção Uri-Query.

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

OpCoapMessageCodeToString

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 tamanho do token e randomiza seu valor.

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

Código da mensagem otpa

otCoapCode otCoapMessageGetCode(
  const otMessage *aMessage
)

Retorna o valor Code.

Detalhes
Parâmetros
[in] aMessage
Um ponteiro para a mensagem CoAP.
Retorna
O valor do código.

OtCoapMessageGetMessageId

uint16_t otCoapMessageGetMessageId(
  const otMessage *aMessage
)

Retorna o valor do código 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 tamanho 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 Type.

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 de mensagem 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 CoAP.
[in] aRequest
Um ponteiro para a mensagem de solicitação do CoAP.
[in] aType
Tipo de mensagem CoAP.
[in] aCode
Código de mensagem 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.

Código da mensagem otCoapMessageSet

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 de mensagem CoAP.

OtCoapMessageSetPayloadMarker

otError otCoapMessageSetPayloadMarker(
  otMessage *aMessage
)

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

Detalhes
Parâmetros
[in,out] aMessage
Um ponteiro para a mensagem CoAP.
Valores de retorno
OT_ERROR_NONE
Marcador de payload adicionado com sucesso.
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
O tamanho 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 de mensagem ou NULL para definir as configurações padrão.
Retorna
Um ponteiro para o buffer da mensagem ou NULL se nenhum buffer de mensagem estiver disponível ou 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ção de mensagem 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 de opção especificado.

Detalhes
Parâmetros
[in] aIterator
Um ponteiro para o iterador de opção de mensagem CoAP.
[in] aOption
O número de opções desejado.
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ção de mensagem CoAP.
Retorna
Um ponteiro para a próxima opção. Se não houver mais opções, 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ção de mensagem CoAP.
[in] aOption
O número de opções desejado.
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.

Detalhes
Parâmetros
[in,out] aIterator
Um ponteiro para o iterador de opção de mensagem CoAP.
[out] aValue
Um ponteiro para um número inteiro sem sinal para receber o valor da opção.
Valores de retorno
OT_ERROR_NONE
O valor foi preenchido.
OT_ERROR_NOT_FOUND
Nenhuma opção atual.
OT_ERROR_NO_BUFS
O valor é muito longo para caber em um uint64_t.
Consulte também:
otCoapMessageAppendUintOption

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ção de mensagem CoAP.
[out] aValue
Um ponteiro para um buffer para receber o valor da opção.
Valores de retorno
OT_ERROR_NONE
O valor foi preenchido.
OT_ERROR_NOT_FOUND
Nenhuma opção atual.

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ção de mensagem CoAP.
[in] aMessage
Um ponteiro para a mensagem CoAP.
Valores de retorno
OT_ERROR_NONE
Inicialização bem-sucedida.
OT_ERROR_PARSE
O estado da mensagem é inconsistente.

Recurso Remover remoção de bloqueios

void otCoapRemoveBlockWiseResource(
  otInstance *aInstance,
  otCoapBlockwiseResource *aResource
)

Remove um recurso em termos de bloco do servidor CoAP.

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

Recurso otCoapRemove

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 CoAP.

Se for esperada uma resposta de uma solicitação, forneça as respectivas informações de função e contexto. Se nenhuma resposta for esperada, esses argumentos devem 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 a aMessage.
[in] aHandler
Um ponteiro de função que será chamado na recepção da 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 CoAP em blocos.

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

Se for esperada uma resposta de uma solicitação, forneça as respectivas informações de função e contexto. Se se espera que a resposta seja do tipo bloco, uma respectiva função de gancho deve ser fornecida. Se nenhuma resposta for esperada, esses argumentos devem 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 a aMessage.
[in] aHandler
Um ponteiro de função que será chamado na recepção da 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 hook para transferência de saída em blocos.
[in] aReceiveHook
Um ponteiro para uma função hook para transferência com entrada por 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 CoAP em blocos com parâmetros de transmissão personalizados.

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

Se for esperada uma resposta de uma solicitação, forneça as respectivas informações de função e contexto. Se se espera que a resposta seja do tipo bloco, uma respectiva função de gancho deve ser fornecida. Se nenhuma resposta for esperada, esses argumentos devem 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 a aMessage.
[in] aHandler
Um ponteiro de função que será chamado na recepção da 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 para esta solicitação. Use NULL para os valores padrão.
[in] aTransmitHook
Um ponteiro para uma função hook para transferência de saída em blocos.
[in] aReceiveHook
Um ponteiro para uma função hook para transferência com entrada por bloco.
Valores de retorno
OT_ERROR_NONE
A mensagem CoAP foi enviada.
OT_ERROR_NO_BUFS
Falha ao alocar dados de retransmissão.

OtCoapSendRequestWithParameters

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

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

Se for esperada uma resposta de uma solicitação, forneça as respectivas informações de função e contexto. Se nenhuma resposta for esperada, esses argumentos devem 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 a aMessage.
[in] aHandler
Um ponteiro de função que será chamado na recepção da 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 para esta solicitação. Use NULL para os valores padrão. Caso contrário, os parâmetros fornecidos devem atender às seguintes condições:
  1. mMaxRetransmit não é mais que OT_COAP_MAX_RETRANSMIT.
  2. mAckRandomFactorNumerator / mAckRandomFactorDenominator não pode estar abaixo de 1,0.
  3. O tempo de vida útil da troca calculado não pode estourar uint32_t.
Valores de retorno
OT_ERROR_INVALID_ARGS
aTxParameters não é uma entrada válida.
OT_ERROR_NONE
A mensagem CoAP foi enviada.
OT_ERROR_NO_BUFS
Falha ao alocar dados de retransmissão.

OtCoapSendResponse

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

Envia uma resposta CoAP do servidor.

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

OtCoapSendResponseBlockWise

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

Envia uma resposta CoAP em blocos 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 CoAP a ser enviada.
[in] aMessageInfo
Um ponteiro para as informações da mensagem associadas a 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 hook para transferência de saída em blocos.
Valores de retorno
OT_ERROR_NONE
A mensagem de resposta CoAP foi adicionada à fila.
OT_ERROR_NO_BUFS
Buffers insuficientes disponíveis para enviar a resposta CoAP.

OtCoapSendResponseBlockWiseWithParameters

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

Envia uma resposta CoAP em blocos 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 CoAP a ser enviada.
[in] aMessageInfo
Um ponteiro para as informações da mensagem associadas a aMessage.
[in] aTxParameters
Um ponteiro para parâmetros de transmissão desta resposta. Use NULL para os valores padrão.
[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 hook para transferência de saída em blocos.
Valores de retorno
OT_ERROR_NONE
A mensagem de resposta CoAP foi adicionada à fila.
OT_ERROR_NO_BUFS
Buffers insuficientes disponíveis para enviar a resposta CoAP.

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 CoAP a ser enviada.
[in] aMessageInfo
Um ponteiro para as informações da mensagem associadas a aMessage.
[in] aTxParameters
Um ponteiro para parâmetros de transmissão desta resposta. Use NULL para os valores padrão.
Valores de retorno
OT_ERROR_NONE
A mensagem de resposta CoAP foi adicionada à fila.
OT_ERROR_NO_BUFS
Buffers insuficientes disponíveis para enviar a resposta CoAP.

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 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 para vinculação.
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

PRO_COAP_CODE

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

Macro auxiliar para definir valores de código CoAP.

PR_COAP_DEFAULT_TOKEN_LENGTH

 OT_COAP_DEFAULT_TOKEN_LENGTH 2

Tamanho padrão do token.

PR_COAP_MAX_RETRANSMIT

 OT_COAP_MAX_RETRANSMIT 20

Retransmissão máxima compatível com OpenThread.

PR_COAP_MAX_TOKEN_LENGTH

 OT_COAP_MAX_TOKEN_LENGTH 8

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

PRÓX_COAP_MIN_ACK_TIMEOUT

 OT_COAP_MIN_ACK_TIMEOUT 1000

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

PRO_DEFAULT_COAP_PORT

 OT_DEFAULT_COAP_PORT 5683

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

Recursos

Os tópicos de referência da API OpenThread são originados do código-fonte, disponível no GitHub. Para mais informações ou para contribuir com nossa documentação, consulte Recursos.