11 #if defined(HAVE_ASSERT_H) && !defined(assert)
18 #define min(a,b) ((a) < (b) ? (a) : (b))
62 size_t start, want, avail;
69 warn(
"coap_write_block_opt: skipped unknown option\n");
73 start = block->
num << (block->
szx + 4);
74 if (data_length <= start) {
75 debug(
"illegal block requested\n");
80 want = 1 << (block->
szx + 4);
84 block->
m = want < data_length - start;
91 if (data_length - start <= avail) {
100 debug(
"not enough space, even the smallest block does not fit");
103 debug(
"decrease block size for %d to %d\n", avail,
coap_fls(avail) - 5);
107 block->
num <<= szx - block->
szx;
122 unsigned int block_num,
unsigned char block_szx) {
124 start = block_num << (block_szx + 4);
130 min(len - start, (
unsigned int)(1 << (block_szx + 4))),