constants.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2024-2025 Carl Seifert
3  * Copyright (C) 2024-2025 TU Dresden
4  * Copyright (C) 2018 Freie Universität Berlin
5  *
6  * This file is subject to the terms and conditions of the GNU Lesser General
7  * Public License v2.1. See the file LICENSE in the top level directory for
8  * more details.
9  */
10 
11 #pragma once
12 
13 #include <stdint.h>
14 
15 #include "macros/utils.h"
16 
17 #include "net/unicoap/config.h"
18 
27 #ifdef __cplusplus
28 extern "C" {
29 #endif
30 
35 /* MARK: - CoAP PDUs */
41 typedef enum {
47 
51 #define UNICOAP_PAYLOAD_MARKER (0xFF)
52 
56 #define UNICOAP_ETAG_LENGTH_MAX (8)
57 
67 #define UNICOAP_TOKEN_LENGTH_FIXED_WIDTH 4
70 /* MARK: - RFC 7252 message types */
78 #define UNICOAP_RFC7252_MESSAGE_TYPE_FIXED_WIDTH 3
79 
83 typedef enum {
86 
89 
92 
95 } __attribute__((__packed__)) unicoap_rfc7252_message_type_t;
98 /* MARK: - Message codes */
106 #define UNICOAP_CODE_EMPTY (0)
107 
108 /* This function is needed by this header, yet public use is discouraged. */
109 #ifndef DOXYGEN
113 # define UNICOAP_CODE(suffix, detail) ((CONCAT(UNICOAP_CODE_CLASS_, suffix) << 5) | detail)
114 #endif
115 
121 typedef enum {
124 
127 
130 
133 
136 } __attribute__((__packed__)) unicoap_code_class_t;
137 
141 typedef enum {
144 
147 
150 
153 
156 
159 
162 } __attribute__((__packed__)) unicoap_method_t;
163 
164 /* We want to allow casting the code field in the pdu to this enum.
165  * This enum is used in a union in unicoap_message_t.
166  * The static_asserts in this header guarantee usage of these enums is safe in a union
167  * with an uint8_t code field. */
168 static_assert(sizeof(unicoap_method_t) == sizeof(uint8_t),
169  "Method enum is too wide, please file an issue.");
170 
177 typedef enum {
183 
189 
195 
201 
207 } __attribute__((__packed__)) unicoap_signal_t;
208 
209 static_assert(sizeof(unicoap_signal_t) == sizeof(uint8_t),
210  "Signal enum is too wide, please file an issue.");
211 
215 typedef enum {
221  UNICOAP_STATUS_CREATED = UNICOAP_CODE(RESPONSE_SUCCESS, 1),
222 
228  UNICOAP_STATUS_DELETED = UNICOAP_CODE(RESPONSE_SUCCESS, 2),
229 
235  UNICOAP_STATUS_VALID = UNICOAP_CODE(RESPONSE_SUCCESS, 3),
236 
242  UNICOAP_STATUS_CHANGED = UNICOAP_CODE(RESPONSE_SUCCESS, 4),
243 
249  UNICOAP_STATUS_CONTENT = UNICOAP_CODE(RESPONSE_SUCCESS, 5),
250 
256  UNICOAP_STATUS_CONTINUE = UNICOAP_CODE(RESPONSE_SUCCESS, 31),
257 
263  UNICOAP_STATUS_BAD_REQUEST = UNICOAP_CODE(RESPONSE_CLIENT_FAILURE, 0),
264 
270  UNICOAP_STATUS_UNAUTHORIZED = UNICOAP_CODE(RESPONSE_CLIENT_FAILURE, 1),
271 
277  UNICOAP_STATUS_BAD_OPTION = UNICOAP_CODE(RESPONSE_CLIENT_FAILURE, 2),
278 
284  UNICOAP_STATUS_FORBIDDEN = UNICOAP_CODE(RESPONSE_CLIENT_FAILURE, 3),
285 
291  UNICOAP_STATUS_PATH_NOT_FOUND = UNICOAP_CODE(RESPONSE_CLIENT_FAILURE, 4),
292 
298  UNICOAP_STATUS_METHOD_NOT_ALLOWED = UNICOAP_CODE(RESPONSE_CLIENT_FAILURE, 5),
299 
305  UNICOAP_STATUS_NOT_ACCEPTABLE = UNICOAP_CODE(RESPONSE_CLIENT_FAILURE, 6),
306 
312  UNICOAP_STATUS_REQUEST_ENTITY_INCOMPLETE = UNICOAP_CODE(RESPONSE_CLIENT_FAILURE, 8),
313 
319  UNICOAP_STATUS_CONFLICT = UNICOAP_CODE(RESPONSE_CLIENT_FAILURE, 9),
320 
326  UNICOAP_STATUS_PRECONDITION_FAILED = UNICOAP_CODE(RESPONSE_CLIENT_FAILURE, 12),
327 
334  UNICOAP_STATUS_REQUEST_ENTITY_TOO_LARGE = UNICOAP_CODE(RESPONSE_CLIENT_FAILURE, 13),
335 
341  UNICOAP_STATUS_UNSUPPORTED_CONTENT_FORMAT = UNICOAP_CODE(RESPONSE_CLIENT_FAILURE, 15),
342 
348  UNICOAP_STATUS_UNPROCESSABLE_ENTITY = UNICOAP_CODE(RESPONSE_CLIENT_FAILURE, 22),
349 
355  UNICOAP_STATUS_TOO_MANY_REQUESTS = UNICOAP_CODE(RESPONSE_CLIENT_FAILURE, 29),
356 
362  UNICOAP_STATUS_INTERNAL_SERVER_ERROR = UNICOAP_CODE(RESPONSE_SERVER_FAILURE, 0),
363 
369  UNICOAP_STATUS_NOT_IMPLEMENTED = UNICOAP_CODE(RESPONSE_SERVER_FAILURE, 1),
370 
376  UNICOAP_STATUS_BAD_GATEWAY = UNICOAP_CODE(RESPONSE_SERVER_FAILURE, 2),
377 
383  UNICOAP_STATUS_SERVICE_UNAVAILABLE = UNICOAP_CODE(RESPONSE_SERVER_FAILURE, 3),
384 
390  UNICOAP_STATUS_GATEWAY_TIMEOUT = UNICOAP_CODE(RESPONSE_SERVER_FAILURE, 4),
391 
397  UNICOAP_STATUS_PROXYING_NOT_SUPPORTED = UNICOAP_CODE(RESPONSE_SERVER_FAILURE, 5),
398 } __attribute__((__packed__)) unicoap_status_t;
399 
400 static_assert(sizeof(unicoap_status_t) == sizeof(uint8_t),
401  "Status enum is too wide, please file an issue.");
409 /* MARK: - Option numbers */
419 typedef enum {
426 
433 
440 
447 
454 
461 
468 
478 
485 
492 
499 
508 
517 
524 
533 
540 
550 
559 
568 
580 
589 
596 
603 
617 
627 
633 
643 
651 
659 
667 
675 
683 
691 } __attribute__((__packed__)) unicoap_option_number_t;
692 
693 static_assert(sizeof(unicoap_option_number_t) == sizeof(uint16_t),
694  "unicoap_option_number_t has unexpected size");
702 /* MARK: - Content-Format values */
703 /* Please see the generator in iana/contenttype.js */
713 typedef enum {
721 
727 
733 
739 
745 
751 
757 
763 
769 
775 
782 
788 
794 
800 
806 
812 
818 
824 
830 
836 
842 
848 
854 
860 
866 
872 
878 
884 
890 
896 
902 
908 
914 
920 
926 
932 
939 
945 
951 
957 
963 
969 
975 
981 
987 
993 
999 
1005 
1011 
1019 
1026 
1034 
1041 
1049 
1056 
1062 
1068 
1074 
1080 
1086 
1092 
1098 
1104 
1110 
1116 
1122 
1128 
1134 
1140 
1146 
1152 
1158 
1165 
1171 
1177 
1184 
1191 
1198 
1205 
1211 
1217 
1223 
1229 
1235 
1241 
1247 
1253 } __attribute__((__packed__)) unicoap_content_format_t;
1257 #ifdef __cplusplus
1258 }
1259 #endif
#define static_assert(cond,...)
static_assert for c-version < c11
Definition: assert.h:153
Various helper macros.
unicoap_code_class_t
Message code class.
Definition: constants.h:121
unicoap_protocol_version_t
CoAP version number.
Definition: constants.h:41
unicoap_status_t
CoAP response status codes.
Definition: constants.h:215
unicoap_signal_t
CoAP Signal Message Codes (7.xx range)
Definition: constants.h:177
unicoap_rfc7252_message_type_t
RFC 7252 message type.
Definition: constants.h:83
unicoap_method_t
CoAP request method codes (0.xx range)
Definition: constants.h:141
@ UNICOAP_CODE_CLASS_RESPONSE_SUCCESS
Message class for success responses.
Definition: constants.h:126
@ UNICOAP_CODE_CLASS_RESPONSE_CLIENT_FAILURE
Message class for responses indicating a client error.
Definition: constants.h:129
@ UNICOAP_CODE_CLASS_RESPONSE_SERVER_FAILURE
Message class for responses indicating a server error.
Definition: constants.h:132
@ UNICOAP_CODE_CLASS_SIGNAL
Signaling message.
Definition: constants.h:135
@ UNICOAP_CODE_CLASS_REQUEST
Message class for requests.
Definition: constants.h:123
@ UNICOAP_COAP_VERSION_1
Identifier for CoAP version 1 (RFC 7252)
Definition: constants.h:45
@ UNICOAP_STATUS_REQUEST_ENTITY_INCOMPLETE
4.08 Request Entity Incomplete
Definition: constants.h:312
@ UNICOAP_STATUS_GATEWAY_TIMEOUT
5.04 Gateway Timeout
Definition: constants.h:390
@ UNICOAP_STATUS_BAD_GATEWAY
5.02 Bad Gateway
Definition: constants.h:376
@ UNICOAP_STATUS_FORBIDDEN
4.03 Forbidden
Definition: constants.h:284
@ UNICOAP_STATUS_UNPROCESSABLE_ENTITY
Unprocessable Entity.
Definition: constants.h:348
@ UNICOAP_STATUS_PATH_NOT_FOUND
4.04 Not Found
Definition: constants.h:291
@ UNICOAP_STATUS_TOO_MANY_REQUESTS
4.29 Too Many Requests
Definition: constants.h:355
@ UNICOAP_STATUS_CONTINUE
2.31 Continue
Definition: constants.h:256
@ UNICOAP_STATUS_INTERNAL_SERVER_ERROR
5.00 Internal Server Error
Definition: constants.h:362
@ UNICOAP_STATUS_PRECONDITION_FAILED
4.12 Precondition Failed
Definition: constants.h:326
@ UNICOAP_STATUS_CONFLICT
4.09 Conflict
Definition: constants.h:319
@ UNICOAP_STATUS_NOT_IMPLEMENTED
5.01 Not Implemented
Definition: constants.h:369
@ UNICOAP_STATUS_METHOD_NOT_ALLOWED
4.05 Method Not Allowed
Definition: constants.h:298
@ UNICOAP_STATUS_UNSUPPORTED_CONTENT_FORMAT
4.15 Unsupported Content Format
Definition: constants.h:341
@ UNICOAP_STATUS_NOT_ACCEPTABLE
4.06 Not Acceptable
Definition: constants.h:305
@ UNICOAP_STATUS_CONTENT
2.05 Content
Definition: constants.h:249
@ UNICOAP_STATUS_DELETED
2.02 Deleted
Definition: constants.h:228
@ UNICOAP_STATUS_SERVICE_UNAVAILABLE
5.03 Service Unavailable
Definition: constants.h:383
@ UNICOAP_STATUS_REQUEST_ENTITY_TOO_LARGE
4.13 Request Entity Too Large
Definition: constants.h:334
@ UNICOAP_STATUS_CHANGED
2.04 Changed
Definition: constants.h:242
@ UNICOAP_STATUS_PROXYING_NOT_SUPPORTED
5.05 Proxying Not Supported
Definition: constants.h:397
@ UNICOAP_STATUS_BAD_REQUEST
4.00 Bad Request
Definition: constants.h:263
@ UNICOAP_STATUS_UNAUTHORIZED
4.01 Unauthorized
Definition: constants.h:270
@ UNICOAP_STATUS_CREATED
2.01 Create
Definition: constants.h:221
@ UNICOAP_STATUS_BAD_OPTION
4.02 Bad Option
Definition: constants.h:277
@ UNICOAP_STATUS_VALID
2.03 Valid
Definition: constants.h:235
@ UNICOAP_SIGNAL_PING
Ping message.
Definition: constants.h:188
@ UNICOAP_SIGNAL_CAPABILITIES_SETTINGS
Capabilities and settings message (CSM)
Definition: constants.h:182
@ UNICOAP_SIGNAL_PONG
Pong message.
Definition: constants.h:194
@ UNICOAP_SIGNAL_RELEASE
Release message.
Definition: constants.h:200
@ UNICOAP_SIGNAL_ABORT
Abort message.
Definition: constants.h:206
@ UNICOAP_TYPE_RST
An reset message.
Definition: constants.h:94
@ UNICOAP_TYPE_CON
A confirmable message.
Definition: constants.h:85
@ UNICOAP_TYPE_ACK
An acknowledgement message.
Definition: constants.h:91
@ UNICOAP_TYPE_NON
A non-confirmable message.
Definition: constants.h:88
@ UNICOAP_METHOD_PATCH
PATCH request (RFC 8132)
Definition: constants.h:158
@ UNICOAP_METHOD_GET
GET request (no paylod)
Definition: constants.h:143
@ UNICOAP_METHOD_IPATCH
iPATCH request (RFC 8132)
Definition: constants.h:161
@ UNICOAP_METHOD_DELETE
DELETE request (no payload, remove resource)
Definition: constants.h:152
@ UNICOAP_METHOD_FETCH
FETCH request (RFC 8132)
Definition: constants.h:155
@ UNICOAP_METHOD_PUT
PUT request (update resource with payload)
Definition: constants.h:149
@ UNICOAP_METHOD_POST
POST request (resource processes payload)
Definition: constants.h:146
unicoap_content_format_t
Content-Format option values
Definition: constants.h:713
@ UNICOAP_FORMAT_AIF_JSON
Content type application/aif+json
Definition: constants.h:1067
@ UNICOAP_FORMAT_JSON
Content type application/json
Definition: constants.h:793
@ UNICOAP_FORMAT_TEXT
Content type text/plain; charset=utf-8
Definition: constants.h:720
@ UNICOAP_FORMAT_ACE_GROUPCOMM_CBOR
Content type application/ace-groupcomm+cbor
Definition: constants.h:950
@ UNICOAP_FORMAT_XML_ZSTD
Content type application/xml in zstd coding.
Definition: constants.h:1234
@ UNICOAP_FORMAT_TEXT_ZSTD
Content type text/plain;charset=utf-8 in zstd coding.
Definition: constants.h:1228
@ UNICOAP_FORMAT_OSCORE
Content type application/oscore
Definition: constants.h:1139
@ UNICOAP_FORMAT_SENSML_JSON
Content type application/sensml+json
Definition: constants.h:883
@ UNICOAP_FORMAT_SENSML_EXI
Content type application/sensml-exi
Definition: constants.h:907
@ UNICOAP_FORMAT_ACE_TRL_CBOR
Content type application/ace-trl+cbor
Definition: constants.h:956
@ UNICOAP_FORMAT_UCCS_CBOR
Content type application/uccs+cbor
Definition: constants.h:1127
@ UNICOAP_FORMAT_EAT_CWT_PSA_LEGACY
Content type application/eat+cwt; eat_profile=\"tag:psacertified.org,2019:psa\#legacy\\"
Definition: constants.h:1157
@ UNICOAP_FORMAT_MERGE_PATCH_JSON
Content type application/merge-patch+json
Definition: constants.h:805
@ UNICOAP_FORMAT_EDHOC_CBOR_SEQ
Content type application/edhoc+cbor-seq
Definition: constants.h:835
@ UNICOAP_FORMAT_CBOR_DEFLATE
Content type application/cbor in deflate coding.
Definition: constants.h:1204
@ UNICOAP_FORMAT_SENML_XML
Content type application/senml+xml
Definition: constants.h:1073
@ UNICOAP_FORMAT_COSE_SIGN1
Content type application/cose; cose-type=\"cose-sign1\\"
Definition: constants.h:738
@ UNICOAP_FORMAT_OCF_CBOR
Content type application/vnd.ocf+cbor
Definition: constants.h:1133
@ UNICOAP_FORMAT_SDF_JSON
Content type application/sdf+json
Definition: constants.h:1121
@ UNICOAP_FORMAT_CBOR
Content type application/cbor
Definition: constants.h:811
@ UNICOAP_FORMAT_YANG_DATA_CBOR_NAME
Content type application/yang-data+cbor; id=name
Definition: constants.h:1103
@ UNICOAP_FORMAT_EXI
Content type application/exi
Definition: constants.h:787
@ UNICOAP_FORMAT_LINK
Content type application/link-format
Definition: constants.h:768
@ UNICOAP_FORMAT_YANG_SID_JSON
Content type application/yang-sid+json
Definition: constants.h:944
@ UNICOAP_FORMAT_SENSML_XML
Content type application/sensml+xml
Definition: constants.h:1079
@ UNICOAP_FORMAT_PKCS7_MIME_SERVER_GENERATED_KEY
Content type application/pkcs7-mime; smime-type=server-generated-key
Definition: constants.h:1018
@ UNICOAP_FORMAT_COSE_ENCRYPT0
Content type application/cose; cose-type=\"cose-encrypt0\\"
Definition: constants.h:726
@ UNICOAP_FORMAT_COSE_KEY_SET
Content type application/cose-key-set
Definition: constants.h:871
@ UNICOAP_FORMAT_CID_EDHOC_CBOR_SEQ
Content type application/cid-edhoc+cbor-seq
Definition: constants.h:841
@ UNICOAP_FORMAT_EAT_UCS_CBOR
Content type application/eat-ucs+cbor
Definition: constants.h:986
@ UNICOAP_FORMAT_TD_JSON
Content type application/td+json
Definition: constants.h:1109
@ UNICOAP_FORMAT_PKCS7_MIME_CERTS_ONLY
Content type application/pkcs7-mime; smime-type=certs-only
Definition: constants.h:1025
@ UNICOAP_FORMAT_TOC_CBOR_INTEL
Content type application/toc+cbor;profile=2.16.840.1.113741.1.16.1
Definition: constants.h:1183
@ UNICOAP_FORMAT_SENML_ETCH_JSON
Content type application/senml-etch+json
Definition: constants.h:1085
@ UNICOAP_FORMAT_MISSING_BLOCKS_CBOR_SEQ
Content type application/missing-blocks+cbor-seq
Definition: constants.h:1010
@ UNICOAP_FORMAT_PKCS8
Content type application/pkcs8
Definition: constants.h:1033
@ UNICOAP_FORMAT_SENML_EXI
Content type application/senml-exi
Definition: constants.h:901
@ UNICOAP_FORMAT_OMA_LWM2M_TLV
Content type application/vnd.oma.lwm2m+tlv
Definition: constants.h:1210
@ UNICOAP_FORMAT_COAP_GROUP_JSON
Content type application/coap-group+json
Definition: constants.h:919
@ UNICOAP_FORMAT_TEXT_CSS
Content type text/css
Definition: constants.h:1246
@ UNICOAP_FORMAT_IMAGE_JPEG
Content type image/jpeg
Definition: constants.h:756
@ UNICOAP_FORMAT_COSE_KEY
Content type application/cose-key
Definition: constants.h:865
@ UNICOAP_FORMAT_JSON_PATCH_JSON
Content type application/json-patch+json
Definition: constants.h:799
@ UNICOAP_FORMAT_YANG_DATA_CBOR
Content type application/yang-data+cbor
Definition: constants.h:1097
@ UNICOAP_FORMAT_XML
Content type application/xml
Definition: constants.h:774
@ UNICOAP_FORMAT_EAT_CWT_INTEL
Content type application/eat+cwt; eat_profile=2.16.840.1.113741.1.16.1
Definition: constants.h:1164
@ UNICOAP_FORMAT_JSON_ZSTD
Content type application/json in zstd coding.
Definition: constants.h:1240
@ UNICOAP_FORMAT_PKIXCMP
Content type application/pkixcmp
Definition: constants.h:938
@ UNICOAP_FORMAT_COSE_MAC0
Content type application/cose; cose-type=\"cose-mac0\\"
Definition: constants.h:732
@ UNICOAP_FORMAT_IMAGE_PNG
Content type image/png
Definition: constants.h:762
@ UNICOAP_FORMAT_CE_CBOR_INTEL
Content type application/ce+cbor;profile=2.16.840.1.113741.1.16.1
Definition: constants.h:1190
@ UNICOAP_FORMAT_ACE_CBOR
Content type application/ace+cbor
Definition: constants.h:744
@ UNICOAP_FORMAT_SENML_ETCH_CBOR
Content type application/senml-etch+cbor
Definition: constants.h:1091
@ UNICOAP_FORMAT_PKIX_CERT
Content type application/pkix-cert
Definition: constants.h:1055
@ UNICOAP_FORMAT_OMA_LWM2M_CBOR
Content type application/vnd.oma.lwm2m+cbor
Definition: constants.h:1222
@ UNICOAP_FORMAT_JAVASCRIPT
Content type application/javascript
Definition: constants.h:1145
@ UNICOAP_FORMAT_SENML_CBOR
Content type application/senml+cbor
Definition: constants.h:889
@ UNICOAP_FORMAT_SWID_CBOR
Content type application/swid+cbor
Definition: constants.h:931
@ UNICOAP_FORMAT_CONCISE_PROBLEM_DETAILS_CBOR
Content type application/concise-problem-details+cbor
Definition: constants.h:925
@ UNICOAP_FORMAT_AIF_CBOR
Content type application/aif+cbor
Definition: constants.h:1061
@ UNICOAP_FORMAT_IMAGE_GIF
Content type image/gif
Definition: constants.h:750
@ UNICOAP_FORMAT_COSE_MAC
Content type application/cose; cose-type=\"cose-mac\\"
Definition: constants.h:853
@ UNICOAP_FORMAT_COSE_SIGN
Content type application/cose; cose-type=\"cose-sign\\"
Definition: constants.h:859
@ UNICOAP_FORMAT_EAT_CWT_PSA_TFM
Content type application/eat+cwt; eat_profile=\"tag:psacertified.org,2023:psa\#tfm\\"
Definition: constants.h:1151
@ UNICOAP_FORMAT_YANG_DATA_CBOR_SID
Content type application/yang-data+cbor; id=sid
Definition: constants.h:913
@ UNICOAP_FORMAT_IMAGE_SVG_XML
Content type image/svg+xml
Definition: constants.h:1252
@ UNICOAP_FORMAT_SENML_JSON
Content type application/senml+json
Definition: constants.h:877
@ UNICOAP_FORMAT_CBOR_SEQ
Content type application/cbor-seq
Definition: constants.h:829
@ UNICOAP_FORMAT_DOTS_CBOR
Content type application/dots+cbor
Definition: constants.h:1004
@ UNICOAP_FORMAT_EAT_CWT
Content type application/eat+cwt
Definition: constants.h:962
@ UNICOAP_FORMAT_PKCS10
Content type application/pkcs10
Definition: constants.h:1048
@ UNICOAP_FORMAT_COSE_ENCRYPT
Content type application/cose; cose-type=\"cose-encrypt\\"
Definition: constants.h:847
@ UNICOAP_FORMAT_EAT_JWT
Content type application/eat+jwt
Definition: constants.h:968
@ UNICOAP_FORMAT_OMA_LWM2M_JSON
Content type application/vnd.oma.lwm2m+json
Definition: constants.h:1216
@ UNICOAP_FORMAT_CE_CBOR
Content type application/ce+cbor
Definition: constants.h:1176
@ UNICOAP_FORMAT_EAT_BUN_JSON
Content type application/eat-bun+json
Definition: constants.h:980
@ UNICOAP_FORMAT_CWT
Content type application/cwt
Definition: constants.h:817
@ UNICOAP_FORMAT_JSON_DEFLATE
Content type application/json in deflate coding.
Definition: constants.h:1197
@ UNICOAP_FORMAT_CSRATTRS
Content type application/csrattrs
Definition: constants.h:1040
@ UNICOAP_FORMAT_OCTET_STREAM
Content type application/octet-stream
Definition: constants.h:781
@ UNICOAP_FORMAT_TOC_CBOR
Content type application/toc+cbor
Definition: constants.h:1170
@ UNICOAP_FORMAT_SENSML_CBOR
Content type application/sensml+cbor
Definition: constants.h:895
@ UNICOAP_FORMAT_COAP_EAP
Content type application/coap-eap
Definition: constants.h:998
@ UNICOAP_FORMAT_EAT_BUN_CBOR
Content type application/eat-bun+cbor
Definition: constants.h:974
@ UNICOAP_FORMAT_MULTIPART_CORE
Content type application/multipart-core
Definition: constants.h:823
@ UNICOAP_FORMAT_TM_JSON
Content type application/tm+json
Definition: constants.h:1115
@ UNICOAP_FORMAT_EAT_UCS_JSON
Content type application/eat-ucs+json
Definition: constants.h:992
unicoap_option_number_t
CoAP option number.
Definition: constants.h:419
@ UNICOAP_OPTION_URI_PORT
Uri-Port
Definition: constants.h:460
@ UNICOAP_OPTION_MAX_AGE
Max-Age option
Definition: constants.h:498
@ UNICOAP_SIGNALING_ABORT_OPTION_BAD_CSM
Bad-CSM-Option option Applies to 7.05 UNICOAP_SIGNAL_ABORT message.
Definition: constants.h:690
@ UNICOAP_OPTION_REQUEST_TAG
Request-Tag option.
Definition: constants.h:642
@ UNICOAP_OPTION_URI_HOST
Uri-Host option
Definition: constants.h:432
@ UNICOAP_OPTION_CONTENT_FORMAT
Content-Format option
Definition: constants.h:491
@ UNICOAP_OPTION_OBSERVE
Observe option
Definition: constants.h:453
@ UNICOAP_OPTION_ECHO
Echo option.
Definition: constants.h:626
@ UNICOAP_OPTION_IF_MATCH
If-Match option
Definition: constants.h:425
@ UNICOAP_OPTION_NO_RESPONSE
suppress CoAP response
Definition: constants.h:632
@ UNICOAP_OPTION_PROXY_URI
Proxy-Uri option
Definition: constants.h:595
@ UNICOAP_SIGNALING_RELEASE_OPTION_HOLD_OFF
Hold-Off option Applies to 7.04 UNICOAP_SIGNAL_RELEASE message.
Definition: constants.h:682
@ UNICOAP_OPTION_Q_BLOCK2
Q-Block2 option.
Definition: constants.h:588
@ UNICOAP_OPTION_EDHOC
EDHOC option.
Definition: constants.h:549
@ UNICOAP_OPTION_OSCORE
OSCORE option.
Definition: constants.h:477
@ UNICOAP_OPTION_BLOCK2
Block2 option
Definition: constants.h:558
@ UNICOAP_SIGNALING_CSM_OPTION_BLOCKWISE_TRANSFER
Blockwise-Transfer option Applies to 7.01 UNICOAP_SIGNAL_CAPABILITIES_SETTINGS message.
Definition: constants.h:658
@ UNICOAP_OPTION_SIZE2
Size2 option.
Definition: constants.h:579
@ UNICOAP_OPTION_URI_PATH
Uri-Path option
Definition: constants.h:484
@ UNICOAP_OPTION_BLOCK1
Block1 option
Definition: constants.h:567
@ UNICOAP_OPTION_ETAG
ETag option
Definition: constants.h:439
@ UNICOAP_OPTION_LOCATION_QUERY
Location-Query option
Definition: constants.h:539
@ UNICOAP_OPTION_IF_NONE_MATCH
If-None-Match option
Definition: constants.h:446
@ UNICOAP_SIGNALING_PING_PONG_OPTION_CUSTODY
Custody option Applies to 7.02 UNICOAP_SIGNAL_PING and 7.03 UNICOAP_SIGNAL_PONG message.
Definition: constants.h:666
@ UNICOAP_OPTION_LOCATION_PATH
Location-Path option
Definition: constants.h:467
@ UNICOAP_SIGNALING_RELEASE_OPTION_ALTERNATIVE_ADDRESS
Alternative-Address option Applies to 7.04 UNICOAP_SIGNAL_RELEASE message.
Definition: constants.h:674
@ UNICOAP_OPTION_SIZE1
Size1 option.
Definition: constants.h:616
@ UNICOAP_OPTION_Q_BLOCK1
Q-Block1 option
Definition: constants.h:532
@ UNICOAP_OPTION_PROXY_SCHEME
Proxy-Scheme option
Definition: constants.h:602
@ UNICOAP_OPTION_URI_QUERY
Uri-Query option
Definition: constants.h:507
@ UNICOAP_SIGNALING_CSM_OPTION_MAX_MESSAGE_SIZE
Max-Message-Size option Applies to 7.01 UNICOAP_SIGNAL_CAPABILITIES_SETTINGS message.
Definition: constants.h:650
@ UNICOAP_OPTION_HOP_LIMIT
Hop-Limit option
Definition: constants.h:516
@ UNICOAP_OPTION_ACCEPT
Accept option
Definition: constants.h:523
Compile-time configuration parameters.