|
libcoap
4.1.1
|
Data Structures | |
| struct | coap_block_t |
| Structure of Block options. More... | |
Macros | |
| #define | COAP_MAX_BLOCK_SZX 4 |
| The largest value for the SZX component in a Block option. More... | |
| #define | COAP_OPT_BLOCK_LAST(opt) (COAP_OPT_LENGTH(opt) ? (COAP_OPT_VALUE(opt) + (COAP_OPT_LENGTH(opt)-1)) : 0) |
Returns the value of the least significant byte of a Block option opt. More... | |
| #define | COAP_OPT_BLOCK_MORE(opt) (COAP_OPT_LENGTH(opt) ? (*COAP_OPT_BLOCK_LAST(opt) & 0x08) : 0) |
Returns the value of the More-bit of a Block option opt. More... | |
| #define | COAP_OPT_BLOCK_SZX(opt) (COAP_OPT_LENGTH(opt) ? (*COAP_OPT_BLOCK_LAST(opt) & 0x07) : 0) |
Returns the value of the SZX-field of a Block option opt. More... | |
Functions | |
| unsigned int | coap_opt_block_num (const coap_opt_t *block_opt) |
Returns the value of field num in the given block option block_opt. More... | |
| static int | coap_more_blocks (size_t data_len, unsigned int num, unsigned short szx) |
Checks if more than num blocks are required to deliver data_len bytes of data for a block size of 1 << (szx + 4). More... | |
| static void | coap_opt_block_set_m (coap_opt_t *block_opt, int m) |
Sets the More-bit in block_opt. More... | |
| int | coap_get_block (coap_pdu_t *pdu, unsigned short type, coap_block_t *block) |
Initializes block from pdu. More... | |
| int | coap_write_block_opt (coap_block_t *block, unsigned short type, coap_pdu_t *pdu, size_t data_length) |
Writes a block option of type type to message pdu. More... | |
| int | coap_add_block (coap_pdu_t *pdu, unsigned int len, const unsigned char *data, unsigned int block_num, unsigned char block_szx) |
Adds the block_num block of size 1 << (block_szx + 4) from source data to pdu. More... | |
| #define COAP_MAX_BLOCK_SZX 4 |
| #define COAP_OPT_BLOCK_LAST | ( | opt | ) | (COAP_OPT_LENGTH(opt) ? (COAP_OPT_VALUE(opt) + (COAP_OPT_LENGTH(opt)-1)) : 0) |
| #define COAP_OPT_BLOCK_MORE | ( | opt | ) | (COAP_OPT_LENGTH(opt) ? (*COAP_OPT_BLOCK_LAST(opt) & 0x08) : 0) |
| #define COAP_OPT_BLOCK_SZX | ( | opt | ) | (COAP_OPT_LENGTH(opt) ? (*COAP_OPT_BLOCK_LAST(opt) & 0x07) : 0) |
| int coap_add_block | ( | coap_pdu_t * | pdu, |
| unsigned int | len, | ||
| const unsigned char * | data, | ||
| unsigned int | block_num, | ||
| unsigned char | block_szx | ||
| ) |
Adds the block_num block of size 1 << (block_szx + 4) from source data to pdu.
| pdu | The message to add the block |
| len | The length of data. |
| data | The source data to fill the block with |
| block_num | The actual block number |
| block_szx | Encoded size of block block_number |
1 on success, 0 otherwise. | int coap_get_block | ( | coap_pdu_t * | pdu, |
| unsigned short | type, | ||
| coap_block_t * | block | ||
| ) |
Initializes block from pdu.
type must be either COAP_OPTION_BLOCK1 or COAP_OPTION_BLOCK2. When option type was found in pdu, block is initialized with values from this option and the function returns the value 1. Otherwise, 0 is returned.
| pdu | The pdu to search for option type. |
| type | The option to search for (must be COAP_OPTION_BLOCK1 or COAP_OPTION_BLOCK2) |
| block | The block structure to initilize. |
1 on success, 0 otherwise.
|
inlinestatic |
| unsigned int coap_opt_block_num | ( | const coap_opt_t * | block_opt | ) |
|
inlinestatic |
| int coap_write_block_opt | ( | coap_block_t * | block, |
| unsigned short | type, | ||
| coap_pdu_t * | pdu, | ||
| size_t | data_length | ||
| ) |
Writes a block option of type type to message pdu.
If the requested block size is too large to fit in pdu, it is reduced accordingly. An exception is made for the final block when less space is required. The actual length of the resource is specified in data_length.
This function may change *block to reflect the values written to pdu. As the function takes into consideration the remaining space pdu, no more options should be added after coap_write_block_opt() has returned.
| block | The block structure to use. On return, this object is updated according to the values that have been written to pdu. |
| type | COAP_OPTION_BLOCK1 or COAP_OPTION_BLOCK2 |
| pdu | The message where the block option should be written. |
| data_length | The length of the actual data that will be added the pdu by calling coap_add_block(). |
1 on success, or a negative value on error.
1.8.6