Go to the documentation of this file.
28 #define COAP_ACK_TIMEOUT 2
29 #define COAP_ACK_RANDOM_FACTOR 1.5
30 #define COAP_MAX_RETRANSMIT 4
32 #define COAP_DEFAULT_LEISURE 5
33 #define COAP_PROBING_RATE 1
35 #define COAP_MAX_TRANSMIT_SPAN 45
36 #define COAP_MAX_TRANSMIT_WAIT 93
37 #define COAP_MAX_LATENCY 100
38 #define COAP_PROCESSING_DELAY 2
39 #define COAP_MAX_RTT 202
40 #define COAP_EXCHANGE_LIFETIME 247
41 #define COAP_NON_LIFETIME 145
44 #define COAP_OPTIONS_LENGTH 16
59 { 5,
"if-none-match" },
61 { 8,
"location-path" },
63 { 12,
"content-format" },
67 { 20,
"location-query" },
69 { 39,
"proxy-scheme" },
344 uint16_t *option_number,
size_t *option_length, uint8_t **value);
445 static inline uint8_t
pcoap_build_code(uint8_t _class, uint8_t detail) {
return (_class << 5) | detail; }
pcoap_code
Message Codes.
Definition: picocoap.h:119
Definition: picocoap.h:111
enum coap_error pcoap_error
Status Codes.
pcoap_option_number
Option Numbers.
Definition: picocoap.h:157
static uint8_t pcoap_get_code_detail(pcoap_pdu *pdu)
Get Message Code Detail.
Definition: picocoap.h:287
size_t len
Definition: picocoap.h:205
Definition: picocoap.h:86
Definition: picocoap.h:161
coap_error
Status Codes.
Definition: picocoap.h:80
Definition: picocoap.h:171
static pcoap_code pcoap_get_code(pcoap_pdu *pdu)
Get Message Code.
Definition: picocoap.h:269
pcoap_payload pcoap_get_payload(pcoap_pdu *pdu)
Get Option.
Definition: picocoap.c:270
Definition: picocoap.h:172
Definition: picocoap.h:90
Definition: picocoap.h:141
uint16_t id
Definition: picocoap.h:51
Definition: picocoap.h:128
Definition: picocoap.h:174
static uint16_t pcoap_get_mid(pcoap_pdu *pdu)
Get Message ID.
Definition: picocoap.h:296
Definition: picocoap.h:169
Definition: picocoap.h:160
uint8_t pcoap_get_token(pcoap_pdu *pdu, uint8_t *ptr)
Get Message Token.
Definition: picocoap.c:114
Definition: picocoap.h:163
pcoap_error pcoap_validate_pkt(pcoap_pdu *pdu)
Validate Packet.
Definition: picocoap.c:71
pcoap_error pcoap_set_payload(pcoap_pdu *pdu, uint8_t *payload, size_t payload_len)
Add Message Option.
Definition: picocoap.c:477
Definition: picocoap.h:122
Definition: picocoap.h:129
CoAP Option.
Definition: picocoap.h:193
Definition: picocoap.h:127
Definition: picocoap.h:148
uint8_t * buf
Definition: picocoap.h:183
pcoap_error pcoap_set_type(pcoap_pdu *pdu, pcoap_type mtype)
Set Message Type.
Definition: picocoap.c:342
static struct pcoap_option_names coap_options[COAP_OPTIONS_LENGTH]
Definition: picocoap.h:55
Definition: picocoap.h:89
coap_version
Protocol Versions.
Definition: picocoap.h:98
Definition: picocoap.h:158
pcoap_error pcoap_set_version(pcoap_pdu *pdu, pcoap_version ver)
Set Version.
Definition: picocoap.c:328
Definition: picocoap.h:159
Definition: picocoap.h:84
static uint8_t pcoap_get_code_class(pcoap_pdu *pdu)
Get Message Code Class.
Definition: picocoap.h:278
size_t len
pointer to buffer
Definition: picocoap.h:184
size_t len
size of buffer
Definition: picocoap.h:195
Definition: picocoap.h:130
Definition: picocoap.h:135
Definition: picocoap.h:170
pcoap_error pcoap_set_token(pcoap_pdu *pdu, uint8_t *token, uint8_t tkl)
Set Message Token.
Definition: picocoap.c:385
Definition: picocoap.h:108
Definition: picocoap.h:83
static pcoap_type pcoap_get_type(pcoap_pdu *pdu)
Get Message Type.
Definition: picocoap.h:249
Definition: picocoap.h:110
Definition: picocoap.h:81
uint8_t pcoap_get_coap_offset(pcoap_pdu *pdu)
Finds the length of the CoAP header.
Definition: picocoap.c:25
pcoap_error pcoap_decode_option(uint8_t *pkt_ptr, size_t pkt_len, uint16_t *option_number, size_t *option_length, uint8_t **value)
Internal Method.
Definition: picocoap.c:210
struct pcoap_option pcoap_option
CoAP Option.
pcoap_error pcoap_set_mid(pcoap_pdu *pdu, uint16_t mid)
Set Message ID.
Definition: picocoap.c:370
Definition: picocoap.h:134
Definition: picocoap.h:168
Definition: picocoap.h:50
Definition: picocoap.h:165
Definition: picocoap.h:164
Definition: picocoap.h:87
coap_type
Message Types.
Definition: picocoap.h:107
Definition: picocoap.h:147
Definition: picocoap.h:140
int8_t pcoap_build_option_header(uint8_t *buf, size_t max_len, int32_t opt_delta, int32_t opt_len)
Internal Method.
Definition: picocoap.c:570
Definition: picocoap.h:88
static uint8_t pcoap_get_tkl(pcoap_pdu *pdu)
Get Token Length.
Definition: picocoap.h:259
enum coap_version pcoap_version
Protocol Versions.
uint8_t * val
length of current message
Definition: picocoap.h:206
Definition: picocoap.h:124
pcoap_error pcoap_init_pdu(pcoap_pdu *pdu)
Initialize Packet.
Definition: picocoap.c:309
Definition: picocoap.h:139
Definition: picocoap.h:137
Definition: picocoap.h:99
Definition: picocoap.h:166
#define COAP_OPTIONS_LENGTH
Definition: picocoap.h:44
pcoap_option pcoap_get_option(pcoap_pdu *pdu, pcoap_option *last)
Get Option.
Definition: picocoap.c:131
struct pcoap_pdu pcoap_pdu
Packet Data Unit.
Definition: picocoap.h:149
uint16_t num
Definition: picocoap.h:194
Definition: picocoap.h:85
Definition: picocoap.h:145
enum coap_type pcoap_type
Message Types.
Definition: picocoap.h:121
uint8_t * val
length of the value
Definition: picocoap.h:196
Definition: picocoap.h:138
int8_t pcoap_compute_option_header_len(int32_t opt_delta, int32_t opt_len)
Internal Method.
Definition: picocoap.c:621
Definition: picocoap.h:173
Definition: picocoap.h:167
Definition: picocoap.h:142
CoAP Payload.
Definition: picocoap.h:204
Packet Data Unit.
Definition: picocoap.h:182
pcoap_error pcoap_add_option(pcoap_pdu *pdu, int32_t opt_num, uint8_t *value, uint16_t opt_len)
Add Message Option.
Definition: picocoap.c:415
Definition: picocoap.h:146
Definition: picocoap.h:133
size_t max
length of current message
Definition: picocoap.h:185
static pcoap_version pcoap_get_version(pcoap_pdu *pdu)
Get Version.
Definition: picocoap.h:239
char name[16]
Definition: picocoap.h:52
Definition: picocoap.h:123
Definition: picocoap.h:125
Definition: picocoap.h:82
Definition: picocoap.h:131
Definition: picocoap.h:144
Definition: picocoap.h:162
pcoap_error pcoap_set_code(pcoap_pdu *pdu, pcoap_code code)
Set Message Code.
Definition: picocoap.c:356
static uint8_t pcoap_build_code(uint8_t _class, uint8_t detail)
Build Message Code from Class and Detail.
Definition: picocoap.h:445
Definition: picocoap.h:132
Definition: picocoap.h:109
pcoap_option pcoap_get_option_by_num(pcoap_pdu *pdu, pcoap_option_number num, uint8_t occ)
Get Option by Option Number.
Definition: picocoap.c:180
Definition: picocoap.h:143
struct pcoap_payload pcoap_payload
CoAP Payload.
Definition: picocoap.h:136
pcoap_error pcoap_adjust_option_deltas(uint8_t *opts, size_t *opts_len, size_t max_len, int32_t offset)
Internal Method.
Definition: picocoap.c:517