|
#define | COAP_DEFAULT_PORT 5683 /* CoAP default UDP/TCP port */ |
|
#define | COAPS_DEFAULT_PORT 5684 /* CoAP default UDP/TCP port for secure transmission */ |
|
#define | COAP_DEFAULT_MAX_AGE 60 /* default maximum object lifetime in seconds */ |
|
#define | COAP_DEFAULT_MTU 1152 |
|
#define | COAP_DEFAULT_HOP_LIMIT 16 |
|
#define | COAP_DEFAULT_SCHEME "coap" /* the default scheme for CoAP URIs */ |
|
#define | COAP_DEFAULT_URI_WELLKNOWN ".well-known/core" |
| well-known resources URI More...
|
|
#define | COAP_OPTION_IF_MATCH 1 /* C__RE__, opaque, 0-8 B, RFC7252 */ |
|
#define | COAP_OPTION_URI_HOST 3 /* CU-___U, String, 1-255 B, RFC7252 */ |
|
#define | COAP_OPTION_ETAG 4 /* ___RE__, opaque, 1-8 B, RFC7252 */ |
|
#define | COAP_OPTION_IF_NONE_MATCH 5 /* C___E__, empty, 0 B, RFC7252 */ |
|
#define | COAP_OPTION_OBSERVE 6 /* _U-_E_U, empty/uint,0/0-3 B, RFC7641 */ |
|
#define | COAP_OPTION_URI_PORT 7 /* CU-___U, uint, 0-2 B, RFC7252 */ |
|
#define | COAP_OPTION_LOCATION_PATH 8 /* ___RE__, String, 0-255 B, RFC7252 */ |
|
#define | COAP_OPTION_OSCORE 9 /* C_____U, *, 0-255 B, RFC8613 */ |
|
#define | COAP_OPTION_URI_PATH 11 /* CU-RE__, String, 0-255 B, RFC7252 */ |
|
#define | COAP_OPTION_CONTENT_FORMAT 12 /* ____E__, uint, 0-2 B, RFC7252 */ |
|
#define | COAP_OPTION_CONTENT_TYPE COAP_OPTION_CONTENT_FORMAT |
|
#define | COAP_OPTION_MAXAGE 14 /* _U-_E_U, uint, 0-4 B, RFC7252 */ |
|
#define | COAP_OPTION_URI_QUERY 15 /* CU-RE__, String, 1-255 B, RFC7252 */ |
|
#define | COAP_OPTION_HOP_LIMIT 16 /* ______U, uint, 1 B, RFC8768 */ |
|
#define | COAP_OPTION_ACCEPT 17 /* C___E__, uint, 0-2 B, RFC7252 */ |
|
#define | COAP_OPTION_LOCATION_QUERY 20 /* ___RE__, String, 0-255 B, RFC7252 */ |
|
#define | COAP_OPTION_BLOCK2 23 /* CU-_E_U, uint, 0-3 B, RFC7959 */ |
|
#define | COAP_OPTION_BLOCK1 27 /* CU-_E_U, uint, 0-3 B, RFC7959 */ |
|
#define | COAP_OPTION_SIZE2 28 /* __N_E_U, uint, 0-4 B, RFC7959 */ |
|
#define | COAP_OPTION_PROXY_URI 35 /* CU-___U, String, 1-1034 B, RFC7252 */ |
|
#define | COAP_OPTION_PROXY_SCHEME 39 /* CU-___U, String, 1-255 B, RFC7252 */ |
|
#define | COAP_OPTION_SIZE1 60 /* __N_E_U, uint, 0-4 B, RFC7252 */ |
|
#define | COAP_OPTION_NORESPONSE 258 /* _U-_E_U, uint, 0-1 B, RFC7967 */ |
|
#define | COAP_MAX_OPT 65535 |
| the highest option number we know More...
|
|
#define | COAP_RESPONSE_CODE(N) (((N)/100 << 5) | (N)%100) |
|
#define | COAP_RESPONSE_CLASS(C) (((C) >> 5) & 0xFF) |
|
#define | COAP_ERROR_PHRASE_LENGTH 32 |
| maximum length of error phrase More...
|
|
#define | COAP_SIGNALING_CODE(N) (((N)/100 << 5) | (N)%100) |
|
#define | COAP_SIGNALING_OPTION_MAX_MESSAGE_SIZE 2 |
|
#define | COAP_SIGNALING_OPTION_BLOCK_WISE_TRANSFER 4 |
|
#define | COAP_SIGNALING_OPTION_CUSTODY 2 |
|
#define | COAP_SIGNALING_OPTION_ALTERNATIVE_ADDRESS 2 |
|
#define | COAP_SIGNALING_OPTION_HOLD_OFF 4 |
|
#define | COAP_SIGNALING_OPTION_BAD_CSM_OPTION 2 |
|
#define | COAP_MEDIATYPE_TEXT_PLAIN 0 /* text/plain (UTF-8) */ |
|
#define | COAP_MEDIATYPE_APPLICATION_LINK_FORMAT 40 /* application/link-format */ |
|
#define | COAP_MEDIATYPE_APPLICATION_XML 41 /* application/xml */ |
|
#define | COAP_MEDIATYPE_APPLICATION_OCTET_STREAM 42 /* application/octet-stream */ |
|
#define | COAP_MEDIATYPE_APPLICATION_RDF_XML 43 /* application/rdf+xml */ |
|
#define | COAP_MEDIATYPE_APPLICATION_EXI 47 /* application/exi */ |
|
#define | COAP_MEDIATYPE_APPLICATION_JSON 50 /* application/json */ |
|
#define | COAP_MEDIATYPE_APPLICATION_CBOR 60 /* application/cbor */ |
|
#define | COAP_MEDIATYPE_APPLICATION_CWT 61 /* application/cwt, RFC 8392 */ |
|
#define | COAP_MEDIATYPE_APPLICATION_COSE_SIGN 98 /* application/cose; cose-type="cose-sign" */ |
|
#define | COAP_MEDIATYPE_APPLICATION_COSE_SIGN1 18 /* application/cose; cose-type="cose-sign1" */ |
|
#define | COAP_MEDIATYPE_APPLICATION_COSE_ENCRYPT 96 /* application/cose; cose-type="cose-encrypt" */ |
|
#define | COAP_MEDIATYPE_APPLICATION_COSE_ENCRYPT0 16 /* application/cose; cose-type="cose-encrypt0" */ |
|
#define | COAP_MEDIATYPE_APPLICATION_COSE_MAC 97 /* application/cose; cose-type="cose-mac" */ |
|
#define | COAP_MEDIATYPE_APPLICATION_COSE_MAC0 17 /* application/cose; cose-type="cose-mac0" */ |
|
#define | COAP_MEDIATYPE_APPLICATION_COSE_KEY 101 /* application/cose-key */ |
|
#define | COAP_MEDIATYPE_APPLICATION_COSE_KEY_SET 102 /* application/cose-key-set */ |
|
#define | COAP_MEDIATYPE_APPLICATION_SENML_JSON 110 /* application/senml+json */ |
|
#define | COAP_MEDIATYPE_APPLICATION_SENSML_JSON 111 /* application/sensml+json */ |
|
#define | COAP_MEDIATYPE_APPLICATION_SENML_CBOR 112 /* application/senml+cbor */ |
|
#define | COAP_MEDIATYPE_APPLICATION_SENSML_CBOR 113 /* application/sensml+cbor */ |
|
#define | COAP_MEDIATYPE_APPLICATION_SENML_EXI 114 /* application/senml-exi */ |
|
#define | COAP_MEDIATYPE_APPLICATION_SENSML_EXI 115 /* application/sensml-exi */ |
|
#define | COAP_MEDIATYPE_APPLICATION_SENML_XML 310 /* application/senml+xml */ |
|
#define | COAP_MEDIATYPE_APPLICATION_SENSML_XML 311 /* application/sensml+xml */ |
|
#define | COAP_MEDIATYPE_APPLICATION_DOTS_CBOR 271 /* application/dots+cbor */ |
|
#define | COAP_MEDIATYPE_ANY 0xff /* any media type */ |
|
#define | COAP_INVALID_MID -1 |
| Indicates an invalid message id. More...
|
|
#define | COAP_INVALID_TID COAP_INVALID_MID |
| Indicates an invalid message id. More...
|
|
#define | COAP_OPTION_KEY(option) (option).key |
|
#define | COAP_OPTION_LENGTH(option) (option).length |
|
#define | COAP_OPTION_DATA(option) ((unsigned char *)&(option) + sizeof(coap_option)) |
|
|
enum | coap_pdu_type_t { COAP_MESSAGE_CON
, COAP_MESSAGE_NON
, COAP_MESSAGE_ACK
, COAP_MESSAGE_RST
} |
| CoAP PDU message type definitions. More...
|
|
enum | coap_request_t {
COAP_REQUEST_GET = 1
, COAP_REQUEST_POST
, COAP_REQUEST_PUT
, COAP_REQUEST_DELETE
,
COAP_REQUEST_FETCH
, COAP_REQUEST_PATCH
, COAP_REQUEST_IPATCH
} |
| CoAP PDU Request methods. More...
|
|
enum | coap_pdu_signaling_proto_t {
COAP_SIGNALING_CSM = COAP_SIGNALING_CODE(701)
, COAP_SIGNALING_PING = COAP_SIGNALING_CODE(702)
, COAP_SIGNALING_PONG = COAP_SIGNALING_CODE(703)
, COAP_SIGNALING_RELEASE = COAP_SIGNALING_CODE(704)
,
COAP_SIGNALING_ABORT = COAP_SIGNALING_CODE(705)
} |
|
enum | coap_proto_t {
COAP_PROTO_NONE = 0
, COAP_PROTO_UDP
, COAP_PROTO_DTLS
, COAP_PROTO_TCP
,
COAP_PROTO_TLS
} |
| CoAP protocol types. More...
|
|
enum | coap_pdu_code_t {
COAP_EMPTY_CODE = 0
, COAP_REQUEST_CODE_GET = COAP_REQUEST_GET
, COAP_REQUEST_CODE_POST = COAP_REQUEST_POST
, COAP_REQUEST_CODE_PUT = COAP_REQUEST_PUT
,
COAP_REQUEST_CODE_DELETE = COAP_REQUEST_DELETE
, COAP_REQUEST_CODE_FETCH = COAP_REQUEST_FETCH
, COAP_REQUEST_CODE_PATCH = COAP_REQUEST_PATCH
, COAP_REQUEST_CODE_IPATCH = COAP_REQUEST_IPATCH
,
COAP_RESPONSE_CODE_OK = COAP_RESPONSE_CODE(200)
, COAP_RESPONSE_CODE_CREATED = COAP_RESPONSE_CODE(201)
, COAP_RESPONSE_CODE_DELETED = COAP_RESPONSE_CODE(202)
, COAP_RESPONSE_CODE_VALID = COAP_RESPONSE_CODE(203)
,
COAP_RESPONSE_CODE_CHANGED = COAP_RESPONSE_CODE(204)
, COAP_RESPONSE_CODE_CONTENT = COAP_RESPONSE_CODE(205)
, COAP_RESPONSE_CODE_CONTINUE = COAP_RESPONSE_CODE(231)
, COAP_RESPONSE_CODE_BAD_REQUEST = COAP_RESPONSE_CODE(400)
,
COAP_RESPONSE_CODE_UNAUTHORIZED = COAP_RESPONSE_CODE(401)
, COAP_RESPONSE_CODE_BAD_OPTION = COAP_RESPONSE_CODE(402)
, COAP_RESPONSE_CODE_FORBIDDEN = COAP_RESPONSE_CODE(403)
, COAP_RESPONSE_CODE_NOT_FOUND = COAP_RESPONSE_CODE(404)
,
COAP_RESPONSE_CODE_NOT_ALLOWED = COAP_RESPONSE_CODE(405)
, COAP_RESPONSE_CODE_NOT_ACCEPTABLE = COAP_RESPONSE_CODE(406)
, COAP_RESPONSE_CODE_INCOMPLETE = COAP_RESPONSE_CODE(408)
, COAP_RESPONSE_CODE_CONFLICT = COAP_RESPONSE_CODE(409)
,
COAP_RESPONSE_CODE_PRECONDITION_FAILED = COAP_RESPONSE_CODE(412)
, COAP_RESPONSE_CODE_REQUEST_TOO_LARGE = COAP_RESPONSE_CODE(413)
, COAP_RESPONSE_CODE_UNSUPPORTED_CONTENT_FORMAT = COAP_RESPONSE_CODE(415)
, COAP_RESPONSE_CODE_UNPROCESSABLE = COAP_RESPONSE_CODE(422)
,
COAP_RESPONSE_CODE_TOO_MANY_REQUESTS = COAP_RESPONSE_CODE(429)
, COAP_RESPONSE_CODE_INTERNAL_ERROR = COAP_RESPONSE_CODE(500)
, COAP_RESPONSE_CODE_NOT_IMPLEMENTED = COAP_RESPONSE_CODE(501)
, COAP_RESPONSE_CODE_BAD_GATEWAY = COAP_RESPONSE_CODE(502)
,
COAP_RESPONSE_CODE_SERVICE_UNAVAILABLE = COAP_RESPONSE_CODE(503)
, COAP_RESPONSE_CODE_GATEWAY_TIMEOUT = COAP_RESPONSE_CODE(504)
, COAP_RESPONSE_CODE_PROXYING_NOT_SUPPORTED = COAP_RESPONSE_CODE(505)
, COAP_RESPONSE_CODE_HOP_LIMIT_REACHED = COAP_RESPONSE_CODE(508)
,
COAP_SIGNALING_CODE_CSM = COAP_SIGNALING_CSM
, COAP_SIGNALING_CODE_PING = COAP_SIGNALING_PING
, COAP_SIGNALING_CODE_PONG = COAP_SIGNALING_PONG
, COAP_SIGNALING_CODE_RELEASE = COAP_SIGNALING_RELEASE
,
COAP_SIGNALING_CODE_ABORT = COAP_SIGNALING_ABORT
} |
| Set of codes available for a PDU. More...
|
|
|
const char * | coap_response_phrase (unsigned char code) |
| Returns a human-readable response phrase for the specified CoAP response code . More...
|
|
coap_pdu_t * | coap_pdu_init (coap_pdu_type_t type, coap_pdu_code_t code, coap_mid_t mid, size_t size) |
| Creates a new CoAP PDU with at least enough storage space for the given size maximum message size. More...
|
|
coap_pdu_t * | coap_new_pdu (coap_pdu_type_t type, coap_pdu_code_t code, coap_session_t *session) |
| Creates a new CoAP PDU. More...
|
|
void | coap_delete_pdu (coap_pdu_t *pdu) |
| Dispose of an CoAP PDU and frees associated storage. More...
|
|
coap_pdu_t * | coap_pdu_duplicate (const coap_pdu_t *old_pdu, coap_session_t *session, size_t token_length, const uint8_t *token, coap_opt_filter_t *drop_options) |
| Duplicate an existing PDU. More...
|
|
int | coap_add_token (coap_pdu_t *pdu, size_t len, const uint8_t *data) |
| Adds token of length len to pdu . More...
|
|
size_t | coap_add_option (coap_pdu_t *pdu, coap_option_num_t number, size_t len, const uint8_t *data) |
| Adds option of given number to pdu that is passed as first parameter. More...
|
|
int | coap_add_data (coap_pdu_t *pdu, size_t len, const uint8_t *data) |
| Adds given data to the pdu that is passed as first parameter. More...
|
|
uint8_t * | coap_add_data_after (coap_pdu_t *pdu, size_t len) |
| Adds given data to the pdu that is passed as first parameter but does not copy it. More...
|
|
int | coap_get_data (const coap_pdu_t *pdu, size_t *len, const uint8_t **data) |
| Retrieves the length and data pointer of specified PDU. More...
|
|
int | coap_get_data_large (const coap_pdu_t *pdu, size_t *len, const uint8_t **data, size_t *offset, size_t *total) |
| Retrieves the data from a PDU, with support for large bodies of data that spans multiple PDUs. More...
|
|
coap_pdu_code_t | coap_pdu_get_code (const coap_pdu_t *pdu) |
| Gets the PDU code associated with pdu . More...
|
|
void | coap_pdu_set_code (coap_pdu_t *pdu, coap_pdu_code_t code) |
| Sets the PDU code in the pdu . More...
|
|
coap_pdu_type_t | coap_pdu_get_type (const coap_pdu_t *pdu) |
| Gets the PDU type associated with pdu . More...
|
|
void | coap_pdu_set_type (coap_pdu_t *pdu, coap_pdu_type_t type) |
| Sets the PDU type in the pdu . More...
|
|
coap_bin_const_t | coap_pdu_get_token (const coap_pdu_t *pdu) |
| Gets the token associated with pdu . More...
|
|
coap_mid_t | coap_pdu_get_mid (const coap_pdu_t *pdu) |
| Gets the message id associated with pdu . More...
|
|
void | coap_pdu_set_mid (coap_pdu_t *pdu, coap_mid_t mid) |
| Sets the message id in the pdu . More...
|
|
API functions for PDUs.