11 #if defined(HAVE_ASSERT_H) && !defined(assert)
18 #define min(a,b) ((a) < (b) ? (a) : (b))
44 size_t start, want, avail;
51 warn(
"coap_write_block_opt: skipped unknown option\n");
55 start = block->
num << (block->
szx + 4);
56 if (data_length <= start) {
57 debug(
"illegal block requested\n");
62 want = 1 << (block->
szx + 4);
66 block->
m = want < data_length - start;
73 if (data_length - start <= avail) {
82 debug(
"not enough space, even the smallest block does not fit");
85 debug(
"decrease block size for %d to %d\n", avail,
coap_fls(avail) - 5);
89 block->
num <<= szx - block->
szx;
104 unsigned int block_num,
unsigned char block_szx) {
106 start = block_num << (block_szx + 4);
112 min(len - start, (
unsigned int)(1 << (block_szx + 4))),