|
libcoap 4.3.5-develop-4c3f4af
|
Helpers for handling options in CoAP PDUs. More...
Go to the source code of this file.
Data Structures | |
| struct | coap_option_t |
| Representation of CoAP options. More... | |
| struct | coap_opt_filter_t |
| struct | coap_opt_iterator_t |
| Iterator to run through PDU options. More... | |
| struct | coap_optlist_t |
| Representation of chained list of CoAP options to install. More... | |
Macros | |
| #define | NULL 0 |
| #define | COAP_OPTION_CONTENT_TYPE COAP_OPTION_CONTENT_FORMAT |
| #define | COAP_MAX_OPT 65534 |
| the highest option number we know | |
| #define | COAP_SIGNALING_OPTION_MAX_MESSAGE_SIZE COAP_SIG_OPT_MAX_MESSAGE_SIZE |
| #define | COAP_SIGNALING_OPTION_BLOCK_WISE_TRANSFER COAP_SIG_OPT_BLOCK_WISE_TRANSFER |
| #define | COAP_SIGNALING_OPTION_EXTENDED_TOKEN_LENGTH COAP_SIG_OPT_EXTENDED_TOKEN_LENGTH |
| #define | COAP_SIGNALING_OPTION_CUSTODY COAP_SIG_OPT_CUSTODY |
| #define | COAP_SIGNALING_OPTION_ALTERNATIVE_ADDRESS COAP_SIG_OPT_ALTERNATIVE_ADDRESS |
| #define | COAP_SIGNALING_OPTION_HOLD_OFF COAP_SIG_OPT_HOLD_OFF |
| #define | COAP_SIGNALING_OPTION_BAD_CSM_OPTION COAP_SIG_OPT_BAD_CSM_OPTION |
| #define | PCHAR(p) |
| #define | COAP_OPT_FILTER_SHORT 6 |
| The number of option types below 256 that can be stored in an option filter. | |
| #define | COAP_OPT_FILTER_LONG 2 |
| The number of option types above 255 that can be stored in an option filter. | |
| #define | COAP_OPT_ALL NULL |
| Pre-defined filter that includes all options. | |
Typedefs | |
| typedef uint16_t | coap_option_num_t |
| typedef enum coap_code_opt_num_t | coap_code_opt_num_t |
| typedef enum coap_sig_csm_opt_t | coap_sig_csm_opt_t |
| typedef enum coap_sig_ping_opt_t | coap_sig_ping_opt_t |
| typedef enum coap_sig_release_opt_t | coap_sig_release_opt_t |
| typedef enum coap_sig_abort_opt_t | coap_sig_abort_opt_t |
| typedef uint8_t | coap_opt_t |
| Use byte-oriented access methods here because sliding a complex struct coap_opt_t over the data buffer may cause bus error on certain platforms. | |
| typedef struct coap_opt_filter_t | coap_opt_filter_t |
| typedef struct coap_optlist_t | coap_optlist_t |
| Representation of chained list of CoAP options to install. | |
Functions | |
| size_t | coap_opt_parse (const coap_opt_t *opt, size_t length, coap_option_t *result) |
Parses the option pointed to by opt into result. | |
| size_t | coap_opt_size (const coap_opt_t *opt) |
| Returns the size of the given option, taking into account a possible option jump. | |
| void | coap_option_filter_clear (coap_opt_filter_t *filter) |
Clears filter filter. | |
| int | coap_option_filter_set (coap_opt_filter_t *filter, coap_option_num_t number) |
Sets the corresponding entry for number in filter. | |
| int | coap_option_filter_unset (coap_opt_filter_t *filter, coap_option_num_t number) |
Clears the corresponding entry for number in filter. | |
| int | coap_option_filter_get (coap_opt_filter_t *filter, coap_option_num_t number) |
Checks if number is contained in filter. | |
| coap_opt_iterator_t * | coap_option_iterator_init (const coap_pdu_t *pdu, coap_opt_iterator_t *oi, const coap_opt_filter_t *filter) |
Initializes the given option iterator oi to point to the beginning of the pdu's option list. | |
| coap_opt_t * | coap_option_next (coap_opt_iterator_t *oi) |
Updates the iterator oi to point to the next option. | |
| coap_opt_t * | coap_check_option (const coap_pdu_t *pdu, coap_option_num_t number, coap_opt_iterator_t *oi) |
Retrieves the first option of number number from pdu. | |
| size_t | coap_opt_setheader (coap_opt_t *opt, size_t maxlen, uint16_t delta, size_t length) |
Encodes the given delta and length values into opt. | |
| size_t | coap_opt_encode_size (uint16_t delta, size_t length) |
Compute storage bytes needed for an option with given delta and length. | |
| size_t | coap_opt_encode (coap_opt_t *opt, size_t n, uint16_t delta, const uint8_t *val, size_t length) |
Encodes option with given delta into opt. | |
| uint32_t | coap_opt_length (const coap_opt_t *opt) |
| Returns the length of the given option. | |
| const uint8_t * | coap_opt_value (const coap_opt_t *opt) |
| Returns a pointer to the value of the given option. | |
| coap_optlist_t * | coap_new_optlist (coap_option_num_t number, size_t length, const uint8_t *data) |
| Create a new optlist entry. | |
| int | coap_add_optlist_pdu (coap_pdu_t *pdu, coap_optlist_t **optlist_chain) |
The current optlist of optlist_chain is first sorted (as per RFC7272 ordering requirements) and then added to the pdu. | |
| int | coap_sort_optlist (coap_optlist_t **options) |
| Sorts the optlist chain. | |
| int | coap_insert_optlist (coap_optlist_t **optlist_chain, coap_optlist_t *optlist) |
Adds optlist to the given optlist_chain. | |
| void | coap_delete_optlist (coap_optlist_t *optlist_chain) |
Removes all entries from the optlist_chain, freeing off their memory usage. | |
| COAP_STATIC_INLINE COAP_DEPRECATED int | coap_option_setb (coap_opt_filter_t *filter, coap_option_num_t type) |
Sets the corresponding bit for type in filter. | |
| COAP_STATIC_INLINE COAP_DEPRECATED int | coap_option_clrb (coap_opt_filter_t *filter, coap_option_num_t type) |
Clears the corresponding bit for type in filter. | |
| COAP_STATIC_INLINE COAP_DEPRECATED int | coap_option_getb (coap_opt_filter_t *filter, coap_option_num_t type) |
Gets the corresponding bit for type in filter. | |
Helpers for handling options in CoAP PDUs.
Definition in file coap_option.h.
| #define COAP_MAX_OPT 65534 |
the highest option number we know
Definition at line 107 of file coap_option.h.
| #define COAP_OPTION_CONTENT_TYPE COAP_OPTION_CONTENT_FORMAT |
Definition at line 102 of file coap_option.h.
| #define COAP_SIGNALING_OPTION_ALTERNATIVE_ADDRESS COAP_SIG_OPT_ALTERNATIVE_ADDRESS |
Definition at line 140 of file coap_option.h.
| #define COAP_SIGNALING_OPTION_BAD_CSM_OPTION COAP_SIG_OPT_BAD_CSM_OPTION |
Definition at line 142 of file coap_option.h.
| #define COAP_SIGNALING_OPTION_BLOCK_WISE_TRANSFER COAP_SIG_OPT_BLOCK_WISE_TRANSFER |
Definition at line 137 of file coap_option.h.
| #define COAP_SIGNALING_OPTION_CUSTODY COAP_SIG_OPT_CUSTODY |
Definition at line 139 of file coap_option.h.
| #define COAP_SIGNALING_OPTION_EXTENDED_TOKEN_LENGTH COAP_SIG_OPT_EXTENDED_TOKEN_LENGTH |
Definition at line 138 of file coap_option.h.
| #define COAP_SIGNALING_OPTION_HOLD_OFF COAP_SIG_OPT_HOLD_OFF |
Definition at line 141 of file coap_option.h.
| #define COAP_SIGNALING_OPTION_MAX_MESSAGE_SIZE COAP_SIG_OPT_MAX_MESSAGE_SIZE |
Definition at line 136 of file coap_option.h.
| #define NULL 0 |
Definition at line 30 of file coap_option.h.
| #define PCHAR | ( | p | ) |
Definition at line 149 of file coap_option.h.
| typedef enum coap_code_opt_num_t coap_code_opt_num_t |
| typedef uint8_t coap_opt_t |
Use byte-oriented access methods here because sliding a complex struct coap_opt_t over the data buffer may cause bus error on certain platforms.
Definition at line 148 of file coap_option.h.
| typedef uint16_t coap_option_num_t |
Definition at line 37 of file coap_option.h.
| typedef enum coap_sig_abort_opt_t coap_sig_abort_opt_t |
| typedef enum coap_sig_csm_opt_t coap_sig_csm_opt_t |
| typedef enum coap_sig_ping_opt_t coap_sig_ping_opt_t |
| typedef enum coap_sig_release_opt_t coap_sig_release_opt_t |
| enum coap_code_opt_num_t |
Definition at line 70 of file coap_option.h.
| enum coap_sig_abort_opt_t |
| Enumerator | |
|---|---|
| COAP_SIG_OPT_BAD_CSM_OPTION | |
Definition at line 131 of file coap_option.h.
| enum coap_sig_csm_opt_t |
| Enumerator | |
|---|---|
| COAP_SIG_OPT_MAX_MESSAGE_SIZE | |
| COAP_SIG_OPT_BLOCK_WISE_TRANSFER | |
| COAP_SIG_OPT_EXTENDED_TOKEN_LENGTH | |
Definition at line 113 of file coap_option.h.
| enum coap_sig_ping_opt_t |
| Enumerator | |
|---|---|
| COAP_SIG_OPT_CUSTODY | |
Definition at line 120 of file coap_option.h.
| Enumerator | |
|---|---|
| COAP_SIG_OPT_ALTERNATIVE_ADDRESS | |
| COAP_SIG_OPT_HOLD_OFF | |
Definition at line 125 of file coap_option.h.
| size_t coap_opt_parse | ( | const coap_opt_t * | opt, |
| size_t | length, | ||
| coap_option_t * | result ) |
Parses the option pointed to by opt into result.
This function returns the number of bytes that have been parsed, or 0 on error. An error is signaled when illegal delta or length values are encountered or when option parsing would result in reading past the option (i.e. beyond opt + length).
| opt | The beginning of the option to parse. |
| length | The maximum length of opt. |
| result | A pointer to the coap_option_t structure that is filled with actual values iff coap_opt_parse() > 0. |
0 on error. Definition at line 41 of file coap_option.c.
| size_t coap_opt_size | ( | const coap_opt_t * | opt | ) |
Returns the size of the given option, taking into account a possible option jump.
| opt | An option jump or the beginning of the option. |
opt and the end of the option starting at opt. In case of an error, this function returns 0 as options need at least one byte storage space. Definition at line 284 of file coap_option.c.
| COAP_STATIC_INLINE COAP_DEPRECATED int coap_option_clrb | ( | coap_opt_filter_t * | filter, |
| coap_option_num_t | type ) |
Clears the corresponding bit for type in filter.
This function returns 1 if bit was cleared or -1 on error (i.e. bit not set).
| filter | The filter object to change. |
| type | The type for which the bit should be cleared. |
1 if bit was set, -1 otherwise. Definition at line 547 of file coap_option.h.
| COAP_STATIC_INLINE COAP_DEPRECATED int coap_option_getb | ( | coap_opt_filter_t * | filter, |
| coap_option_num_t | type ) |
Gets the corresponding bit for type in filter.
This function returns 1 if the bit is set 0 if not.
| filter | The filter object to read bit from. |
| type | The type for which the bit should be read. |
1 if bit was set, 0 if not. Definition at line 563 of file coap_option.h.
| COAP_STATIC_INLINE COAP_DEPRECATED int coap_option_setb | ( | coap_opt_filter_t * | filter, |
| coap_option_num_t | type ) |
Sets the corresponding bit for type in filter.
This function returns 1 if bit was set or -1 on error (i.e. when the given type does not fit in the filter).
| filter | The filter object to change. |
| type | The type for which the bit should be set. |
1 if bit was set, -1 otherwise. Definition at line 531 of file coap_option.h.