libcoap 4.3.2rc2

Data Structures | Macros | Typedefs | Enumerations | Functions
PDU
Application API

API for PDUs. More...

## Data Structures
struct | coap_option

## Macros
#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_BERT_BASE 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_TOKEN_DEFAULT_MAX 8
#define | COAP_TOKEN_EXT_MAX 65804 /* 13 + 256 + 65535 */
#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_Q_BLOCK1 19 /* CU__E_U, uint, 0-3 B, RFC9177 */
#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_Q_BLOCK2 31 /* CU_RE_U, uint, 0-3 B, RFC9177 */
#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_ECHO 252 /* _N__E_U, opaque, 0-40 B, RFC9175 */
#define | COAP_OPTION_NORESPONSE 258 /* _U-_E_U, uint, 0-1 B, RFC7967 */
#define | COAP_OPTION_RTAG 292 /* ___RE_U, opaque, 0-8 B, RFC9175 */
#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_EXTENDED_TOKEN_LENGTH 6
#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_COAP_GROUP_JSON 256 /* application/coap-group+json */
#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_APPLICATION_ACE_CBOR 19 /* application/ace+cbor */
#define | COAP_MEDIATYPE_APPLICATION_MB_CBOR_SEQ 272 /* application/missing-blocks+cbor-seq */
#define | COAP_MEDIATYPE_APPLICATION_OSCORE 10001 /* application/oscore */
#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))

## Typedefs
typedef enum coap_pdu_type_t | coap_pdu_type_t
| CoAP PDU message type definitions. More...
typedef enum coap_request_t | coap_request_t
| CoAP PDU Request methods. More...
typedef enum coap_pdu_signaling_proto_t | coap_pdu_signaling_proto_t
typedef int | coap_mid_t
| coap_mid_t is used to store the CoAP Message ID of a CoAP PDU. More...
typedef enum coap_proto_t | coap_proto_t
| CoAP protocol types. More...
typedef enum coap_pdu_code_t | coap_pdu_code_t
| Set of codes available for a PDU. More...

## Enumerations
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_PROTO_WS , COAP_PROTO_WSS , COAP_PROTO_LAST }
| 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_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...

## Functions
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_pdu_parse (coap_proto_t proto, const uint8_t *data, size_t length, coap_pdu_t *pdu)
| Parses `data` into the CoAP PDU structure given in `result`. 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. 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...

## Detailed Description

API for PDUs.

## Macro Definition Documentation

## ◆ COAP_BERT_BASE

#define COAP_BERT_BASE 1152

Definition at line 44 of file coap_pdu.h.

## ◆ COAP_DEFAULT_HOP_LIMIT

#define COAP_DEFAULT_HOP_LIMIT 16

Definition at line 47 of file coap_pdu.h.

## ◆ COAP_DEFAULT_MAX_AGE

#define COAP_DEFAULT_MAX_AGE 60 /* default maximum object lifetime in seconds */

Definition at line 39 of file coap_pdu.h.

## ◆ COAP_DEFAULT_MTU

#define COAP_DEFAULT_MTU 1152

Definition at line 41 of file coap_pdu.h.

## ◆ COAP_DEFAULT_PORT

#define COAP_DEFAULT_PORT 5683 /* CoAP default UDP/TCP port */

Definition at line 37 of file coap_pdu.h.

## ◆ COAP_DEFAULT_SCHEME

#define COAP_DEFAULT_SCHEME "coap" /* the default scheme for CoAP URIs */

Definition at line 50 of file coap_pdu.h.

## ◆ COAP_DEFAULT_URI_WELLKNOWN

#define COAP_DEFAULT_URI_WELLKNOWN ".well-known/core"

well-known resources URI

Definition at line 53 of file coap_pdu.h.

## ◆ COAP_ERROR_PHRASE_LENGTH

#define COAP_ERROR_PHRASE_LENGTH 32

maximum length of error phrase

Definition at line 170 of file coap_pdu.h.

## ◆ COAP_INVALID_MID

#define COAP_INVALID_MID -1

Indicates an invalid message id.

Definition at line 258 of file coap_pdu.h.

## ◆ COAP_INVALID_TID

#define COAP_INVALID_TID COAP_INVALID_MID

Indicates an invalid message id.

Deprecated:
  Use COAP_INVALID_MID instead.

Definition at line 264 of file coap_pdu.h.

## ◆ COAP_MAX_OPT

#define COAP_MAX_OPT 65535

the highest option number we know

Definition at line 144 of file coap_pdu.h.

## ◆ COAP_MEDIATYPE_APPLICATION_ACE_CBOR

#define COAP_MEDIATYPE_APPLICATION_ACE_CBOR 19 /* application/ace+cbor */

Definition at line 243 of file coap_pdu.h.

## ◆ COAP_MEDIATYPE_APPLICATION_CBOR

#define COAP_MEDIATYPE_APPLICATION_CBOR 60 /* application/cbor */

Definition at line 212 of file coap_pdu.h.

## ◆ COAP_MEDIATYPE_APPLICATION_COAP_GROUP_JSON

#define COAP_MEDIATYPE_APPLICATION_COAP_GROUP_JSON 256 /* application/coap-group+json */

Definition at line 216 of file coap_pdu.h.

## ◆ COAP_MEDIATYPE_APPLICATION_COSE_ENCRYPT

#define COAP_MEDIATYPE_APPLICATION_COSE_ENCRYPT 96 /* application/cose; cose-type="cose-encrypt" */

Definition at line 221 of file coap_pdu.h.

## ◆ COAP_MEDIATYPE_APPLICATION_COSE_ENCRYPT0

#define COAP_MEDIATYPE_APPLICATION_COSE_ENCRYPT0 16 /* application/cose; cose-type="cose-encrypt0" */

Definition at line 222 of file coap_pdu.h.

## ◆ COAP_MEDIATYPE_APPLICATION_COSE_KEY

#define COAP_MEDIATYPE_APPLICATION_COSE_KEY 101 /* application/cose-key */

Definition at line 226 of file coap_pdu.h.

## ◆ COAP_MEDIATYPE_APPLICATION_COSE_KEY_SET

#define COAP_MEDIATYPE_APPLICATION_COSE_KEY_SET 102 /* application/cose-key-set */

Definition at line 227 of file coap_pdu.h.

## ◆ COAP_MEDIATYPE_APPLICATION_COSE_MAC

#define COAP_MEDIATYPE_APPLICATION_COSE_MAC 97 /* application/cose; cose-type="cose-mac" */

Definition at line 223 of file coap_pdu.h.

## ◆ COAP_MEDIATYPE_APPLICATION_COSE_MAC0

#define COAP_MEDIATYPE_APPLICATION_COSE_MAC0 17 /* application/cose; cose-type="cose-mac0" */

Definition at line 224 of file coap_pdu.h.

## ◆ COAP_MEDIATYPE_APPLICATION_COSE_SIGN

#define COAP_MEDIATYPE_APPLICATION_COSE_SIGN 98 /* application/cose; cose-type="cose-sign" */

Definition at line 219 of file coap_pdu.h.

## ◆ COAP_MEDIATYPE_APPLICATION_COSE_SIGN1

#define COAP_MEDIATYPE_APPLICATION_COSE_SIGN1 18 /* application/cose; cose-type="cose-sign1" */

Definition at line 220 of file coap_pdu.h.

## ◆ COAP_MEDIATYPE_APPLICATION_CWT

#define COAP_MEDIATYPE_APPLICATION_CWT 61 /* application/cwt, RFC 8392 */

Definition at line 213 of file coap_pdu.h.

## ◆ COAP_MEDIATYPE_APPLICATION_DOTS_CBOR

#define COAP_MEDIATYPE_APPLICATION_DOTS_CBOR 271 /* application/dots+cbor */

Definition at line 240 of file coap_pdu.h.

## ◆ COAP_MEDIATYPE_APPLICATION_EXI

#define COAP_MEDIATYPE_APPLICATION_EXI 47 /* application/exi */

Definition at line 210 of file coap_pdu.h.

## ◆ COAP_MEDIATYPE_APPLICATION_JSON

#define COAP_MEDIATYPE_APPLICATION_JSON 50 /* application/json */

Definition at line 211 of file coap_pdu.h.

## ◆ COAP_MEDIATYPE_APPLICATION_LINK_FORMAT

#define COAP_MEDIATYPE_APPLICATION_LINK_FORMAT 40 /* application/link-format */

Definition at line 206 of file coap_pdu.h.

## ◆ COAP_MEDIATYPE_APPLICATION_MB_CBOR_SEQ

#define COAP_MEDIATYPE_APPLICATION_MB_CBOR_SEQ 272 /* application/missing-blocks+cbor-seq */

Definition at line 246 of file coap_pdu.h.

## ◆ COAP_MEDIATYPE_APPLICATION_OCTET_STREAM

#define COAP_MEDIATYPE_APPLICATION_OCTET_STREAM 42 /* application/octet-stream */

Definition at line 208 of file coap_pdu.h.

## ◆ COAP_MEDIATYPE_APPLICATION_OSCORE

#define COAP_MEDIATYPE_APPLICATION_OSCORE 10001 /* application/oscore */

Definition at line 249 of file coap_pdu.h.

## ◆ COAP_MEDIATYPE_APPLICATION_RDF_XML

#define COAP_MEDIATYPE_APPLICATION_RDF_XML 43 /* application/rdf+xml */

Definition at line 209 of file coap_pdu.h.

## ◆ COAP_MEDIATYPE_APPLICATION_SENML_CBOR

#define COAP_MEDIATYPE_APPLICATION_SENML_CBOR 112 /* application/senml+cbor */

Definition at line 232 of file coap_pdu.h.

## ◆ COAP_MEDIATYPE_APPLICATION_SENML_EXI

#define COAP_MEDIATYPE_APPLICATION_SENML_EXI 114 /* application/senml-exi */

Definition at line 234 of file coap_pdu.h.

## ◆ COAP_MEDIATYPE_APPLICATION_SENML_JSON

#define COAP_MEDIATYPE_APPLICATION_SENML_JSON 110 /* application/senml+json */

Definition at line 230 of file coap_pdu.h.

## ◆ COAP_MEDIATYPE_APPLICATION_SENML_XML

#define COAP_MEDIATYPE_APPLICATION_SENML_XML 310 /* application/senml+xml */

Definition at line 236 of file coap_pdu.h.

## ◆ COAP_MEDIATYPE_APPLICATION_SENSML_CBOR

#define COAP_MEDIATYPE_APPLICATION_SENSML_CBOR 113 /* application/sensml+cbor */

Definition at line 233 of file coap_pdu.h.

## ◆ COAP_MEDIATYPE_APPLICATION_SENSML_EXI

#define COAP_MEDIATYPE_APPLICATION_SENSML_EXI 115 /* application/sensml-exi */

Definition at line 235 of file coap_pdu.h.

## ◆ COAP_MEDIATYPE_APPLICATION_SENSML_JSON

#define COAP_MEDIATYPE_APPLICATION_SENSML_JSON 111 /* application/sensml+json */

Definition at line 231 of file coap_pdu.h.

## ◆ COAP_MEDIATYPE_APPLICATION_SENSML_XML

#define COAP_MEDIATYPE_APPLICATION_SENSML_XML 311 /* application/sensml+xml */

Definition at line 237 of file coap_pdu.h.

## ◆ COAP_MEDIATYPE_APPLICATION_XML

#define COAP_MEDIATYPE_APPLICATION_XML 41 /* application/xml */

Definition at line 207 of file coap_pdu.h.

## ◆ COAP_MEDIATYPE_TEXT_PLAIN

#define COAP_MEDIATYPE_TEXT_PLAIN 0 /* text/plain (UTF-8) */

Definition at line 205 of file coap_pdu.h.

## ◆ COAP_OPTION_ACCEPT

#define COAP_OPTION_ACCEPT 17 /* C___E__, uint, 0-2 B, RFC7252 */

Definition at line 130 of file coap_pdu.h.

## ◆ COAP_OPTION_BLOCK1

#define COAP_OPTION_BLOCK1 27 /* CU-_E_U, uint, 0-3 B, RFC7959 */

Definition at line 134 of file coap_pdu.h.

## ◆ COAP_OPTION_BLOCK2

#define COAP_OPTION_BLOCK2 23 /* CU-_E_U, uint, 0-3 B, RFC7959 */

Definition at line 133 of file coap_pdu.h.

## ◆ COAP_OPTION_CONTENT_FORMAT

#define COAP_OPTION_CONTENT_FORMAT 12 /* ____E__, uint, 0-2 B, RFC7252 */

Definition at line 124 of file coap_pdu.h.

## ◆ COAP_OPTION_CONTENT_TYPE

#define COAP_OPTION_CONTENT_TYPE COAP_OPTION_CONTENT_FORMAT

Definition at line 125 of file coap_pdu.h.

## ◆ COAP_OPTION_DATA

#define COAP_OPTION_DATA | ( |  | option | ) | ((unsigned char *)&(option) + sizeof(coap_option))

Definition at line 280 of file coap_pdu.h.

## ◆ COAP_OPTION_ECHO

#define COAP_OPTION_ECHO 252 /* _N__E_U, opaque, 0-40 B, RFC9175 */

Definition at line 140 of file coap_pdu.h.

## ◆ COAP_OPTION_ETAG

#define COAP_OPTION_ETAG 4 /* ___RE__, opaque, 1-8 B, RFC7252 */

Definition at line 117 of file coap_pdu.h.

## ◆ COAP_OPTION_HOP_LIMIT

#define COAP_OPTION_HOP_LIMIT 16 /* ______U, uint, 1 B, RFC8768 */

Definition at line 129 of file coap_pdu.h.

## ◆ COAP_OPTION_IF_MATCH

#define COAP_OPTION_IF_MATCH 1 /* C__RE__, opaque, 0-8 B, RFC7252 */

Definition at line 115 of file coap_pdu.h.

## ◆ COAP_OPTION_IF_NONE_MATCH

#define COAP_OPTION_IF_NONE_MATCH 5 /* C___E__, empty, 0 B, RFC7252 */

Definition at line 118 of file coap_pdu.h.

## ◆ COAP_OPTION_KEY

#define COAP_OPTION_KEY | ( |  | option | ) | (option).key

Definition at line 278 of file coap_pdu.h.

## ◆ COAP_OPTION_LENGTH

#define COAP_OPTION_LENGTH | ( |  | option | ) | (option).length

Definition at line 279 of file coap_pdu.h.

## ◆ COAP_OPTION_LOCATION_PATH

#define COAP_OPTION_LOCATION_PATH 8 /* ___RE__, String, 0-255 B, RFC7252 */

Definition at line 121 of file coap_pdu.h.

## ◆ COAP_OPTION_LOCATION_QUERY

#define COAP_OPTION_LOCATION_QUERY 20 /* ___RE__, String, 0-255 B, RFC7252 */

Definition at line 132 of file coap_pdu.h.

## ◆ COAP_OPTION_MAXAGE

#define COAP_OPTION_MAXAGE 14 /* _U-_E_U, uint, 0-4 B, RFC7252 */

Definition at line 127 of file coap_pdu.h.

## ◆ COAP_OPTION_NORESPONSE

#define COAP_OPTION_NORESPONSE 258 /* _U-_E_U, uint, 0-1 B, RFC7967 */

Definition at line 141 of file coap_pdu.h.

## ◆ COAP_OPTION_OBSERVE

#define COAP_OPTION_OBSERVE 6 /* _U-_E_U, empty/uint,0/0-3 B, RFC7641 */

Definition at line 119 of file coap_pdu.h.

## ◆ COAP_OPTION_OSCORE

#define COAP_OPTION_OSCORE 9 /* C_____U, *, 0-255 B, RFC8613 */

Definition at line 122 of file coap_pdu.h.

## ◆ COAP_OPTION_PROXY_SCHEME

#define COAP_OPTION_PROXY_SCHEME 39 /* CU-___U, String, 1-255 B, RFC7252 */

Definition at line 138 of file coap_pdu.h.

## ◆ COAP_OPTION_PROXY_URI

#define COAP_OPTION_PROXY_URI 35 /* CU-___U, String, 1-1034 B, RFC7252 */

Definition at line 137 of file coap_pdu.h.

## ◆ COAP_OPTION_Q_BLOCK1

#define COAP_OPTION_Q_BLOCK1 19 /* CU__E_U, uint, 0-3 B, RFC9177 */

Definition at line 131 of file coap_pdu.h.

## ◆ COAP_OPTION_Q_BLOCK2

#define COAP_OPTION_Q_BLOCK2 31 /* CU_RE_U, uint, 0-3 B, RFC9177 */

Definition at line 136 of file coap_pdu.h.

## ◆ COAP_OPTION_RTAG

#define COAP_OPTION_RTAG 292 /* ___RE_U, opaque, 0-8 B, RFC9175 */

Definition at line 142 of file coap_pdu.h.

## ◆ COAP_OPTION_SIZE1

#define COAP_OPTION_SIZE1 60 /* __N_E_U, uint, 0-4 B, RFC7252 */

Definition at line 139 of file coap_pdu.h.

## ◆ COAP_OPTION_SIZE2

#define COAP_OPTION_SIZE2 28 /* __N_E_U, uint, 0-4 B, RFC7959 */

Definition at line 135 of file coap_pdu.h.

## ◆ COAP_OPTION_URI_HOST

#define COAP_OPTION_URI_HOST 3 /* CU-___U, String, 1-255 B, RFC7252 */

Definition at line 116 of file coap_pdu.h.

## ◆ COAP_OPTION_URI_PATH

#define COAP_OPTION_URI_PATH 11 /* CU-RE__, String, 0-255 B, RFC7252 */

Definition at line 123 of file coap_pdu.h.

## ◆ COAP_OPTION_URI_PORT

#define COAP_OPTION_URI_PORT 7 /* CU-___U, uint, 0-2 B, RFC7252 */

Definition at line 120 of file coap_pdu.h.

## ◆ COAP_OPTION_URI_QUERY

#define COAP_OPTION_URI_QUERY 15 /* CU-RE__, String, 1-255 B, RFC7252 */

Definition at line 128 of file coap_pdu.h.

## ◆ COAP_RESPONSE_CLASS

#define COAP_RESPONSE_CLASS | ( |  | C | ) | (((C) >> 5) & 0xFF)

Definition at line 155 of file coap_pdu.h.

## ◆ COAP_RESPONSE_CODE

#define COAP_RESPONSE_CODE | ( |  | N | ) | (((N)/100 << 5) | (N)%100)

Definition at line 152 of file coap_pdu.h.

## ◆ COAP_SIGNALING_CODE

#define COAP_SIGNALING_CODE | ( |  | N | ) | (((N)/100 << 5) | (N)%100)

Definition at line 178 of file coap_pdu.h.

## ◆ COAP_SIGNALING_OPTION_ALTERNATIVE_ADDRESS

#define COAP_SIGNALING_OPTION_ALTERNATIVE_ADDRESS 2

Definition at line 197 of file coap_pdu.h.

## ◆ COAP_SIGNALING_OPTION_BAD_CSM_OPTION

#define COAP_SIGNALING_OPTION_BAD_CSM_OPTION 2

Definition at line 201 of file coap_pdu.h.

## ◆ COAP_SIGNALING_OPTION_BLOCK_WISE_TRANSFER

#define COAP_SIGNALING_OPTION_BLOCK_WISE_TRANSFER 4

Definition at line 190 of file coap_pdu.h.

## ◆ COAP_SIGNALING_OPTION_CUSTODY

#define COAP_SIGNALING_OPTION_CUSTODY 2

Definition at line 194 of file coap_pdu.h.

## ◆ COAP_SIGNALING_OPTION_EXTENDED_TOKEN_LENGTH

#define COAP_SIGNALING_OPTION_EXTENDED_TOKEN_LENGTH 6

Definition at line 191 of file coap_pdu.h.

## ◆ COAP_SIGNALING_OPTION_HOLD_OFF

#define COAP_SIGNALING_OPTION_HOLD_OFF 4

Definition at line 198 of file coap_pdu.h.

## ◆ COAP_SIGNALING_OPTION_MAX_MESSAGE_SIZE

#define COAP_SIGNALING_OPTION_MAX_MESSAGE_SIZE 2

Definition at line 189 of file coap_pdu.h.

## ◆ COAP_TOKEN_DEFAULT_MAX

#define COAP_TOKEN_DEFAULT_MAX 8

Definition at line 56 of file coap_pdu.h.

## ◆ COAP_TOKEN_EXT_MAX

#define COAP_TOKEN_EXT_MAX 65804 /* 13 + 256 + 65535 */

Definition at line 57 of file coap_pdu.h.

## ◆ COAPS_DEFAULT_PORT

#define COAPS_DEFAULT_PORT 5684 /* CoAP default UDP/TCP port for secure transmission */

Definition at line 38 of file coap_pdu.h.

## Typedef Documentation

## ◆ coap_mid_t

typedef int coap_mid_t

coap_mid_t is used to store the CoAP Message ID of a CoAP PDU.

Valid message ids are 0 to 2^16. Negative values are error codes.

Definition at line 255 of file coap_pdu.h.

## ◆ coap_pdu_code_t

typedef enum coap_pdu_code_t coap_pdu_code_t

Set of codes available for a PDU.

## ◆ coap_pdu_signaling_proto_t

typedef enum coap_pdu_signaling_proto_t coap_pdu_signaling_proto_t

## ◆ coap_pdu_type_t

typedef enum coap_pdu_type_t coap_pdu_type_t

CoAP PDU message type definitions.

## ◆ coap_proto_t

typedef enum coap_proto_t coap_proto_t

CoAP protocol types.

## ◆ coap_request_t

typedef enum coap_request_t coap_request_t

CoAP PDU Request methods.

## Enumeration Type Documentation

## ◆ coap_pdu_code_t

enum coap_pdu_code_t

Set of codes available for a PDU.

Enumerator
COAP_EMPTY_CODE |
COAP_REQUEST_CODE_GET |
COAP_REQUEST_CODE_POST |
COAP_REQUEST_CODE_PUT |
COAP_REQUEST_CODE_DELETE |
COAP_REQUEST_CODE_FETCH |
COAP_REQUEST_CODE_PATCH |
COAP_REQUEST_CODE_IPATCH |
COAP_RESPONSE_CODE_CREATED |
COAP_RESPONSE_CODE_DELETED |
COAP_RESPONSE_CODE_VALID |
COAP_RESPONSE_CODE_CHANGED |
COAP_RESPONSE_CODE_CONTENT |
COAP_RESPONSE_CODE_CONTINUE |
COAP_RESPONSE_CODE_BAD_REQUEST |
COAP_RESPONSE_CODE_UNAUTHORIZED |
COAP_RESPONSE_CODE_BAD_OPTION |
COAP_RESPONSE_CODE_FORBIDDEN |
COAP_RESPONSE_CODE_NOT_FOUND |
COAP_RESPONSE_CODE_NOT_ALLOWED |
COAP_RESPONSE_CODE_NOT_ACCEPTABLE |
COAP_RESPONSE_CODE_INCOMPLETE |
COAP_RESPONSE_CODE_CONFLICT |
COAP_RESPONSE_CODE_PRECONDITION_FAILED |
COAP_RESPONSE_CODE_REQUEST_TOO_LARGE |
COAP_RESPONSE_CODE_UNSUPPORTED_CONTENT_FORMAT |
COAP_RESPONSE_CODE_UNPROCESSABLE |
COAP_RESPONSE_CODE_TOO_MANY_REQUESTS |
COAP_RESPONSE_CODE_INTERNAL_ERROR |
COAP_RESPONSE_CODE_NOT_IMPLEMENTED |
COAP_RESPONSE_CODE_BAD_GATEWAY |
COAP_RESPONSE_CODE_SERVICE_UNAVAILABLE |
COAP_RESPONSE_CODE_GATEWAY_TIMEOUT |
COAP_RESPONSE_CODE_PROXYING_NOT_SUPPORTED |
COAP_RESPONSE_CODE_HOP_LIMIT_REACHED |
COAP_SIGNALING_CODE_CSM |
COAP_SIGNALING_CODE_PING |
COAP_SIGNALING_CODE_PONG |
COAP_SIGNALING_CODE_RELEASE |
COAP_SIGNALING_CODE_ABORT |

Definition at line 318 of file coap_pdu.h.

## ◆ coap_pdu_signaling_proto_t

enum coap_pdu_signaling_proto_t

Enumerator
COAP_SIGNALING_CSM |
COAP_SIGNALING_PING |
COAP_SIGNALING_PONG |
COAP_SIGNALING_RELEASE |
COAP_SIGNALING_ABORT |

Definition at line 180 of file coap_pdu.h.

## ◆ coap_pdu_type_t

enum coap_pdu_type_t

CoAP PDU message type definitions.

Enumerator
COAP_MESSAGE_CON |
COAP_MESSAGE_NON |
COAP_MESSAGE_ACK |
COAP_MESSAGE_RST |

Definition at line 64 of file coap_pdu.h.

## ◆ coap_proto_t

enum coap_proto_t

CoAP protocol types.

Enumerator
COAP_PROTO_NONE |
COAP_PROTO_UDP |
COAP_PROTO_DTLS |
COAP_PROTO_TCP |
COAP_PROTO_TLS |
COAP_PROTO_WS |
COAP_PROTO_WSS |
COAP_PROTO_LAST |

Definition at line 304 of file coap_pdu.h.

## ◆ coap_request_t

enum coap_request_t

CoAP PDU Request methods.

Enumerator
COAP_REQUEST_GET |
COAP_REQUEST_POST |
COAP_REQUEST_PUT |
COAP_REQUEST_DELETE |
COAP_REQUEST_FETCH |
COAP_REQUEST_PATCH |
COAP_REQUEST_IPATCH |

Definition at line 74 of file coap_pdu.h.

## Function Documentation

## ◆ coap_add_data()

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.

This function will fail if data has already been added to the `pdu`.

Parameters

  pdu | The PDU where the data is to be added.
  len | The length of the data.
  data | The data to add.

Returns
  `1` if success, else `0` if failure.

Definition at line 766 of file coap_pdu.c.

## ◆ coap_add_data_after()

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.

This function will fail if data has already been added to the `pdu`.

The actual data must be copied at the returned location.

Parameters

  pdu | The PDU where the data is to be added.
  len | The length of the data.

Returns
  Where to copy the data of len to, or `NULL` is error.

Definition at line 778 of file coap_pdu.c.

## ◆ coap_add_option()

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.

This function will fail if data has already been added to the `pdu`.

Hence data must be added after optional coap_add_option() has been called.

Note: Where possible, the option data needs to be stripped of leading zeros (big endian) to reduce the amount of data needed in the PDU, as well as in some cases the maximum data size of an opton can be exceeded if not stripped and hence be illegal. This is done by using coap_encode_var_safe() or coap_encode_var_safe8().

Parameters

  pdu | The PDU where the option is to be added.
  number | The number of the new option.
  len | The length of the new option.
  data | The data of the new option.

Returns
  The overall length of the option or `0` on failure.

Definition at line 691 of file coap_pdu.c.

## ◆ coap_add_token()

int coap_add_token | ( | coap_pdu_t * | pdu,
|  | size_t | len,
|  | const uint8_t * | data
| ) |  |

Adds token of length `len` to `pdu`.

This function will fail if a token has already been added to the `pdu`.

Hence options and data must be added after optional coap_add_token() has been called.

Parameters

  pdu | The PDU where the token is to be added.
  len | The length of the new token.
  data | The token to add.

Returns
  A value greater than zero on success, or `0` on error.

Definition at line 304 of file coap_pdu.c.

## ◆ coap_delete_pdu()

void coap_delete_pdu | ( | coap_pdu_t * | pdu | ) |

Dispose of an CoAP PDU and frees associated storage.

Not that in general you should not call this function directly. When a PDU is sent with coap_send(), coap_delete_pdu() will be called automatically for you.

Parameters

  pdu | The PDU for free off.

Definition at line 163 of file coap_pdu.c.

## ◆ coap_get_data()

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.

Returns 0 on error or 1 if *len and *data have correct values. Note that these values are destroyed with the pdu.

Parameters

  pdu | The specified PDU.
  len | Returns the length of the current data
  data | Returns the ptr to the current data

Returns
  `1` if len and data are correctly filled in, else `0` if there is no data.

Definition at line 797 of file coap_pdu.c.

## ◆ coap_get_data_large()

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.

Note: The data pointed to on return is destroyed when the PDU is destroyed.

Parameters

  pdu | The specified PDU.
  len | Returns the length of the current data
  data | Returns the ptr to the current data
  offset | Returns the offset of the current data from the start of the body comprising of many blocks (RFC7959)
  total | Returns the total size of the body. If offset + length < total, then there is more data to follow.

Returns
  `1` if len, data, offset and total are correctly filled in, else `0` if there is no data.

Definition at line 805 of file coap_pdu.c.

## ◆ coap_new_pdu()

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.

Parameters

  type | The type of the PDU (one of COAP_MESSAGE_CON, COAP_MESSAGE_NON, COAP_MESSAGE_ACK, COAP_MESSAGE_RST).
  code | The message code of the PDU.
  session | The session that will be using this PDU

Returns
  The skeletal PDU or `NULL` if failure.

Definition at line 153 of file coap_pdu.c.

## ◆ coap_pdu_duplicate()

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.

Specific options can be ignored and not copied across. The PDU data payload is not copied across.

Parameters

  old_pdu | The PDU to duplicate
  session | The session that will be using this PDU.
  token_length | The length of the token to use in this duplicated PDU.
  token | The token to use in this duplicated PDU.
  drop_options | A list of options not to copy into the duplicated PDU. If `NULL`, then all options are copied across.

Returns
  The duplicated PDU or `NULL` if failure.

Definition at line 179 of file coap_pdu.c.

## ◆ coap_pdu_get_code()

coap_pdu_code_t coap_pdu_get_code | ( | const coap_pdu_t * | pdu | ) |

Gets the PDU code associated with `pdu`.

Parameters

  pdu | The PDU object.

Returns
  The PDU code.

Definition at line 1494 of file coap_pdu.c.

## ◆ coap_pdu_get_mid()

coap_mid_t coap_pdu_get_mid | ( | const coap_pdu_t * | pdu | ) |

Gets the message id associated with `pdu`.

Parameters

  pdu | The PDU object.

Returns
  The message id.

Definition at line 1521 of file coap_pdu.c.

## ◆ coap_pdu_get_token()

coap_bin_const_t coap_pdu_get_token | ( | const coap_pdu_t * | pdu | ) |

Gets the token associated with `pdu`.

Parameters

  pdu | The PDU object.

Returns
  The token information.

Definition at line 1516 of file coap_pdu.c.

## ◆ coap_pdu_get_type()

coap_pdu_type_t coap_pdu_get_type | ( | const coap_pdu_t * | pdu | ) |

Gets the PDU type associated with `pdu`.

Parameters

  pdu | The PDU object.

Returns
  The PDU type.

Definition at line 1505 of file coap_pdu.c.

## ◆ coap_pdu_init()

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.

The function returns a pointer to the node coap_pdu_t object on success, or `NULL` on error. The storage allocated for the result must be released with coap_delete_pdu() if coap_send() is not called.

Parameters

  type | The type of the PDU (one of COAP_MESSAGE_CON, COAP_MESSAGE_NON, COAP_MESSAGE_ACK, COAP_MESSAGE_RST).
  code | The message code of the PDU.
  mid | The message id to set or 0 if unknown / not applicable.
  size | The maximum allowed number of byte for the message.

Returns
  A pointer to the new PDU object or `NULL` on error.

Definition at line 97 of file coap_pdu.c.

## ◆ coap_pdu_parse()

int coap_pdu_parse | ( | coap_proto_t | proto,
|  | const uint8_t * | data,
|  | size_t | length,
|  | coap_pdu_t * | pdu
| ) |  |

Parses `data` into the CoAP PDU structure given in `result`.

The target pdu must be large enough to hold the token, options and data. This function returns `0` on error or a number greater than zero on success.

Parameters

  proto | Session's protocol
  data | The raw data to parse as CoAP PDU.
  length | The actual size of `data`.
  pdu | The PDU structure to fill. Note that the structure must provide space to hold the token, optional options and optional data.

Returns
  1 on success or `0` on error.

Definition at line 1382 of file coap_pdu.c.

## ◆ coap_pdu_set_code()

void coap_pdu_set_code | ( | coap_pdu_t * | pdu,
|  | coap_pdu_code_t | code
| ) |  |

Sets the PDU code in the `pdu`.

Parameters

  pdu | The PDU object.
  code | The code to set in the PDU.

Definition at line 1499 of file coap_pdu.c.

## ◆ coap_pdu_set_mid()

void coap_pdu_set_mid | ( | coap_pdu_t * | pdu,
|  | coap_mid_t | mid
| ) |  |

Sets the message id in the `pdu`.

Parameters

  pdu | The PDU object.
  mid | The message id value to set in the PDU.

Definition at line 1526 of file coap_pdu.c.

## ◆ coap_pdu_set_type()

void coap_pdu_set_type | ( | coap_pdu_t * | pdu,
|  | coap_pdu_type_t | type
| ) |  |

Sets the PDU type in the `pdu`.

Parameters

  pdu | The PDU object.
  type | The type to set for the PDU.

Definition at line 1510 of file coap_pdu.c.

## ◆ coap_response_phrase()

const char * coap_response_phrase | ( | unsigned char | code | ) |

Returns a human-readable response phrase for the specified CoAP response `code`.

This function returns `NULL` if not found.

Parameters

  code | The response code for which the literal phrase should be retrieved.

Returns
  A zero-terminated string describing the error, or `NULL` if not found.

Definition at line 872 of file coap_pdu.c.