Benjamin Valentin
2751708341
nanocoap: add payload helper functions
...
This adds two functions `coap_payload_add()` and `coap_payload_advance()`.
- `coap_payload_add()` will add n bytes to the payload buffer and advance
payload pointer accordingly.
const char hello[] = "Hello CoAP!";
coap_payload_add(pkt, hello, sizeof(hello));
- `coap_payload_advance()` will advance the payload buffer after data
has been added to it.
int len = snprintf(pkt->payload, pkt->payload_len, "%s %s!", "Hello", "CoAP");
coap_payload_advance(pkt, len);
I considered adding an additional parameter to keep track of the total request size
(returned size from coap_opt_finish() incremented by each added payload fragment),
but decided against it to keep consistency with the existing API.
2020-05-01 13:58:22 +02:00
Cenk Gündoğan
5e42e26a6e
nanocoap: add const qualifier to pkt of coap_opt_get_opaque()
2020-03-25 13:38:21 +01:00
1d5010e126
nanocoap: make separate tree handling function
...
This refactors nanocoap to seperate out the resource tree parsing. It
allows for calling the tree handler with custom resource trees. The
advantage is that a resource with COAP_MATCH_SUBTREE can parse a new
separate resource tree.
2020-03-23 15:08:53 +01:00
Ken Bannister
e6b20b4ce7
net/nanocoap: Fix return value doc for coap_opt_add_uqueryX()
2020-03-12 08:44:26 -04:00
Aiman Ismail
64f9658472
nanocoap: add coap_opt_add_uquery2()
2020-03-05 19:06:14 +01:00
chrysn
83c889320d
nanocoap: State handler idempotentcy requirement
...
Closes: https://github.com/RIOT-OS/RIOT/issues/12938
2020-02-11 11:12:08 +01:00
Ken Bannister
0ed4fe2da6
net/coap: move/rename function to add query option
2020-01-29 09:23:47 -05:00
Francois Berder
4a31f94cfc
many typo fixes
...
Signed-off-by: Francois Berder <18538310+francois-berder@users.noreply.github.com>
2019-11-23 22:39:07 +01:00
1aa1e2c8cc
sys/net/nanocoap: return ENOENT if parsing option failed
...
This fixes a potential use of uninitialized len in subsequent function calls.
This was reported by scan-build
2019-10-30 17:03:06 +01:00
Ken Bannister
fe8bb49e39
Merge pull request #12231 from kb2ma/coap/refine_api_purpose
...
net/nanocoap: rebalance application vs. option API doc
2019-10-15 18:25:50 -04:00
Ken Bannister
2abcbc0d20
net/coap: add generic get block function
2019-10-02 05:51:59 -04:00
Ken Bannister
5eaa51e426
net/nanocoap: remove unused function
2019-10-02 05:51:59 -04:00
Ken Bannister
dae9c4ab89
net/nanocoap: use coap_opt_add_uint() and remove unused
2019-10-02 05:51:59 -04:00
Ken Bannister
233dd31e17
net/nanocoap: add generic uint block option
2019-10-02 05:51:59 -04:00
benpicco
e942f86837
Merge pull request #11056 from kb2ma/coap/pkt_api_block_write
...
net/gcoap: add/use Packet API Block implementation
2019-09-24 21:43:33 +02:00
Ken Bannister
d9d8d92429
net/nanocoap: reinsert doc to add options in order
2019-09-15 05:37:26 -04:00
Ken Bannister
0c5706969c
net/nanocoap: refactor Options API doc
2019-09-14 10:56:38 -04:00
Ken Bannister
55c18947bd
net/nanocoap: doc emphasize application API
2019-09-14 08:13:50 -04:00
Ken Bannister
39eddce078
net/nanocoap: add function to retrieve opaque option
2019-09-11 05:40:14 -04:00
Sebastian Meiling
9f5951d216
Merge pull request #10214 from bergzand/pr/nanocoap/flags_uint32t
...
nanocoap: change method flag type to uint16_t
2019-09-09 12:33:17 +03:00
Sebastian Meiling
c78ae0e33c
Merge pull request #12074 from kb2ma/coap/options_iterate
...
net/nanocoap: iterate options
2019-09-09 10:51:23 +03:00
4d399bf444
nanocoap: change method flag type to uint32_t
2019-09-09 09:40:14 +02:00
7bd9e68867
nanocoap: Add method flags for rfc8132
2019-09-05 13:00:22 +02:00
Ken Bannister
4e89741b79
net/nanocoap: add function to iterate over options
2019-08-24 06:51:29 -04:00
Ken Bannister
78ea07d5e7
net/nanocoap: make coap_pkt_t param const
2019-08-21 13:20:49 -04:00
Ken Bannister
513ddfd79c
net/nanocoap: add Packet API block write functions
2019-08-02 09:46:24 -04:00
Ken Bannister
64b4e0ad2d
net/nanocoap: add block slicer init function
2019-07-30 13:10:10 -04:00
Ken Bannister
a6f919ef3e
net/nanocoap: refactor block2_finish()
2019-07-30 13:10:10 -04:00
Ken Bannister
69efaa1d56
net/nanocoap: add block init helper function
2019-07-30 13:10:10 -04:00
Ken Bannister
9dce54b54b
net/nanocoap: refactor block option control use
2019-07-22 05:42:08 -04:00
Ken Bannister
4311f17e81
net/nanocoap: refactor block option put
2019-07-22 05:42:08 -04:00
Emmanuel Baccelli
4c3e49ee40
Merge pull request #11475 from kaspar030/add_iotpush_copyrights
...
add copyrights from IOTPUSH project
2019-05-02 12:42:17 +02:00
0ec9c57b2b
add copyrights from IOTPUSH project
2019-05-02 12:09:37 +02:00
Ken Bannister
d6f2d12789
net/nanocoap: move detailed module doc to nanocoap_sock
2019-04-25 12:32:03 -04:00
Ken Bannister
9ce19a9bea
net/nanocoap: rename Options APIs for clarity
2019-04-18 22:02:39 -04:00
Ken Bannister
bcb2fa464d
net/nanocoap: reference new function sections
2019-04-18 22:02:39 -04:00
Ken Bannister
06fab4a79f
net/nanocoap: create function groups in module doc
2019-04-18 22:02:39 -04:00
chrysn
09dc930d3a
nanocoap: add some const qualifiers
2019-04-12 11:04:47 +02:00
chrysn
a51460984b
nanocoap: Add coap_opt_add_opaque
...
This option complements the existing coap_opt_add_{uint,string} and even
more special-purpose functions; its implementation is trivial given the
existing static _add_opt_pkt function.
The method is useful when working with ETags (ETag, If-Match options).
2019-04-12 11:04:47 +02:00
88171698e0
Merge pull request #10931 from kb2ma/nanocoap/pktapi_opt_enospc
...
net/nanocoap: Packet API return error if buffer full
2019-04-03 14:49:44 +02:00
Ken Bannister
23e11f8a7d
net/nanocoap: clarify API buffer space doc
2019-03-19 05:30:04 -04:00
Ken Bannister
5bf2fc6227
net/nanocoap: return error from coap_opt_finish if no space
2019-03-19 05:30:04 -04:00
Ken Bannister
3cdf43607c
net/nanocoap: Return error from coap_opt_add_xxx() if no space
2019-03-19 05:30:04 -04:00
Leandro Lanzieri
6bb4158c31
sys/net/application_layer/nanocoap: Add path prefix opt
...
This adds a prefix option for the methods field of a coap resource and
modifies the way the path is matched on a request to accept prefix
matching.
2019-03-17 14:26:11 +01:00
Ken Bannister
a6b49a178d
net/nanocoap: add inline function for Content-Format
2019-01-27 08:56:26 -05:00
Ken Bannister
e1bebed512
net/nanocoap: make reply doc more specific
2019-01-23 16:36:20 -05:00
Ken Bannister
5e9a2c0925
net/nanocoap: allow user to configure macros
2019-01-02 13:12:05 -05:00
Ken Bannister
c17cf650ca
net/nanocoap: remove obsolete macro
2018-12-31 07:17:29 -05:00
Ken Bannister
424a01ddc1
net/gcoap: remove gcoap attributes from coap_pkt_t
2018-11-24 07:09:25 -05:00
Ken Bannister
fa5ab4eeb6
net/gcoap: Add format option to nanocoap
2018-11-24 07:09:25 -05:00