![]() |
Contiki-NG
|
Files | |
| file | cbor.c |
| CBOR implementation. | |
| file | cbor.h |
| CBOR API. | |
Data Structures | |
| struct | cbor_nesting_record_t |
| Structure of a nesting record. More... | |
| struct | cbor_writer_state_t |
| Structure of the internal state of a CBOR writer. More... | |
| struct | cbor_reader_state_t |
| Structure of the internal state of a CBOR reader. More... | |
Macros | |
| #define | CBOR_MAX_NESTING (8) |
| Defines how many arrays and maps can be open simultaneously while writing. | |
Typedefs | |
| typedef enum cbor_major_type_t | cbor_major_type_t |
| Enumeration of major types. | |
| typedef enum cbor_simple_value_t | cbor_simple_value_t |
| Enumeration of simple values. | |
| typedef enum cbor_size_t | cbor_size_t |
| Enumeration of size information in various major types. | |
| typedef struct cbor_nesting_record_t | cbor_nesting_record_t |
| Structure of a nesting record. | |
| typedef struct cbor_writer_state_t | cbor_writer_state_t |
| Structure of the internal state of a CBOR writer. | |
| typedef struct cbor_reader_state_t | cbor_reader_state_t |
| Structure of the internal state of a CBOR reader. | |
Enumerations | |
| enum | cbor_major_type_t |
| Enumeration of major types. | |
| enum | cbor_simple_value_t |
| Enumeration of simple values. | |
| enum | cbor_size_t { CBOR_SIZE_NONE = -1 , CBOR_SIZE_1 = 0x18 , CBOR_SIZE_2 = 0x19 , CBOR_SIZE_4 = 0x1A , CBOR_SIZE_8 = 0x1B } |
| Enumeration of size information in various major types. More... | |
Functions | |
| void | cbor_init_writer (cbor_writer_state_t *state, uint8_t *buffer, size_t buffer_size) |
| Prepares for writing CBOR output. | |
| size_t | cbor_end_writer (cbor_writer_state_t *state) |
| Finishes writing CBOR output. | |
| void | cbor_break_writer (cbor_writer_state_t *state) |
| Marks the CBOR output as erroneous. | |
| void | cbor_write_object (cbor_writer_state_t *state, const void *object, size_t object_size) |
| Appends an arbitrary CBOR object. | |
| void | cbor_write_unsigned (cbor_writer_state_t *state, uint64_t value) |
| Appends an unsigned integer. | |
| void | cbor_write_signed (cbor_writer_state_t *state, int64_t value) |
| Appends a signed integer. | |
| void | cbor_write_data (cbor_writer_state_t *state, const uint8_t *data, size_t data_size) |
| Appends a byte string. | |
| void | cbor_write_text (cbor_writer_state_t *state, const char *text, size_t text_size) |
| Appends a text string. | |
| void | cbor_write_null (cbor_writer_state_t *state) |
Appends the simple value null. | |
| void | cbor_write_undefined (cbor_writer_state_t *state) |
Appends the simple value undefined. | |
| void | cbor_write_bool (cbor_writer_state_t *state, bool boolean) |
| Appends a boolean simple value. | |
| void | cbor_open_data (cbor_writer_state_t *state) |
| Encloses subsequent CBOR objects in a byte string. | |
| void | cbor_close_data (cbor_writer_state_t *state) |
| Stops enclosing subsequent CBOR objects in the innermost byte string. | |
| void | cbor_open_array (cbor_writer_state_t *state) |
| Adds subsequent CBOR objects to an array. | |
| void | cbor_close_array (cbor_writer_state_t *state) |
| Stops adding subsequent CBOR objects to the innermost array. | |
| void | cbor_open_map (cbor_writer_state_t *state) |
| Adds subsequent entries to a map. | |
| void | cbor_close_map (cbor_writer_state_t *state) |
| Stops adding subsequent entries to the innermost map. | |
| void | cbor_init_reader (cbor_reader_state_t *state, const uint8_t *cbor, size_t cbor_size) |
| Prepares for reading CBOR input. | |
| cbor_major_type_t | cbor_peek_next (cbor_reader_state_t *state) |
| Inspects the next major type. | |
| bool | cbor_end_reader (cbor_reader_state_t *state) |
| Ensures that no bytes remain unread. | |
| cbor_size_t | cbor_read_unsigned (cbor_reader_state_t *state, uint64_t *value) |
| Reads an unsigned integer. | |
| cbor_size_t | cbor_read_signed (cbor_reader_state_t *state, int64_t *value) |
| Reads a signed integer. | |
| const uint8_t * | cbor_read_data (cbor_reader_state_t *state, size_t *data_size) |
| Reads a byte string. | |
| const char * | cbor_read_text (cbor_reader_state_t *state, size_t *text_size) |
| Reads a text string. | |
| cbor_simple_value_t | cbor_read_simple (cbor_reader_state_t *state) |
| Reads a simple value. | |
| size_t | cbor_read_array (cbor_reader_state_t *state) |
| Reads the number of elements of an array. | |
| size_t | cbor_read_map (cbor_reader_state_t *state) |
| Reads the number of entries of a map. | |
Functions for reading and writing CBOR.
| enum cbor_size_t |
| void cbor_break_writer | ( | cbor_writer_state_t * | state | ) |
Marks the CBOR output as erroneous.
| state | State of the CBOR writer. |
Definition at line 62 of file cbor.c.
Referenced by cbor_close_array(), cbor_close_data(), and cbor_close_map().
| void cbor_close_array | ( | cbor_writer_state_t * | state | ) |
Stops adding subsequent CBOR objects to the innermost array.
| state | State of the CBOR writer. |
Definition at line 266 of file cbor.c.
References cbor_break_writer(), and CBOR_MAX_NESTING.
| void cbor_close_data | ( | cbor_writer_state_t * | state | ) |
Stops enclosing subsequent CBOR objects in the innermost byte string.
| state | State of the CBOR writer. |
Definition at line 249 of file cbor.c.
References cbor_break_writer(), and CBOR_MAX_NESTING.
| void cbor_close_map | ( | cbor_writer_state_t * | state | ) |
Stops adding subsequent entries to the innermost map.
| state | State of the CBOR writer. |
Definition at line 282 of file cbor.c.
References cbor_break_writer(), and CBOR_MAX_NESTING.
| bool cbor_end_reader | ( | cbor_reader_state_t * | state | ) |
| size_t cbor_end_writer | ( | cbor_writer_state_t * | state | ) |
Finishes writing CBOR output.
| state | State of the CBOR writer. |
0 on error. Definition at line 54 of file cbor.c.
References CBOR_MAX_NESTING.
| void cbor_init_reader | ( | cbor_reader_state_t * | state, |
| const uint8_t * | cbor, | ||
| size_t | cbor_size ) |
| void cbor_init_writer | ( | cbor_writer_state_t * | state, |
| uint8_t * | buffer, | ||
| size_t | buffer_size ) |
Prepares for writing CBOR output.
| state | State of the CBOR writer. |
| buffer | Buffer for holding CBOR output. |
| buffer_size | Size of buffer in bytes. |
Definition at line 44 of file cbor.c.
References CBOR_MAX_NESTING.
| void cbor_open_array | ( | cbor_writer_state_t * | state | ) |
| void cbor_open_data | ( | cbor_writer_state_t * | state | ) |
| void cbor_open_map | ( | cbor_writer_state_t * | state | ) |
| cbor_major_type_t cbor_peek_next | ( | cbor_reader_state_t * | state | ) |
Inspects the next major type.
| state | State of the CBOR reader. |
CBOR_MAJOR_TYPE_NONE). Definition at line 301 of file cbor.c.
Referenced by cbor_read_array(), cbor_read_data(), cbor_read_map(), cbor_read_signed(), and cbor_read_text().
| size_t cbor_read_array | ( | cbor_reader_state_t * | state | ) |
Reads the number of elements of an array.
| state | State of the CBOR reader. |
SIZE_MAX on error. Definition at line 442 of file cbor.c.
References cbor_peek_next().
| const uint8_t * cbor_read_data | ( | cbor_reader_state_t * | state, |
| size_t * | data_size ) |
Reads a byte string.
| state | State of the CBOR reader. |
| data_size | Size of the byte string in bytes. |
NULL on error. Definition at line 402 of file cbor.c.
References cbor_peek_next().
| size_t cbor_read_map | ( | cbor_reader_state_t * | state | ) |
Reads the number of entries of a map.
| state | State of the CBOR reader. |
SIZE_MAX on error. Definition at line 451 of file cbor.c.
References cbor_peek_next().
| cbor_size_t cbor_read_signed | ( | cbor_reader_state_t * | state, |
| int64_t * | value ) |
Reads a signed integer.
| state | State of the CBOR reader. |
| value | Buffer to store the signed integer. |
CBOR_SIZE_NONE on error. Definition at line 364 of file cbor.c.
References cbor_peek_next(), cbor_read_unsigned(), and CBOR_SIZE_NONE.
| cbor_simple_value_t cbor_read_simple | ( | cbor_reader_state_t * | state | ) |
| const char * cbor_read_text | ( | cbor_reader_state_t * | state, |
| size_t * | text_size ) |
Reads a text string.
| state | State of the CBOR reader. |
| text_size | Number of characters in the text string. |
NULL on error. Definition at line 411 of file cbor.c.
References cbor_peek_next().
| cbor_size_t cbor_read_unsigned | ( | cbor_reader_state_t * | state, |
| uint64_t * | value ) |
Reads an unsigned integer.
| state | State of the CBOR reader. |
| value | Buffer to store the unsigned integer. |
CBOR_SIZE_NONE on error. Definition at line 316 of file cbor.c.
References CBOR_SIZE_1, CBOR_SIZE_2, CBOR_SIZE_4, CBOR_SIZE_8, and CBOR_SIZE_NONE.
Referenced by cbor_read_signed().
| void cbor_write_bool | ( | cbor_writer_state_t * | state, |
| bool | boolean ) |
| void cbor_write_data | ( | cbor_writer_state_t * | state, |
| const uint8_t * | data, | ||
| size_t | data_size ) |
| void cbor_write_null | ( | cbor_writer_state_t * | state | ) |
| void cbor_write_object | ( | cbor_writer_state_t * | state, |
| const void * | object, | ||
| size_t | object_size ) |
| void cbor_write_signed | ( | cbor_writer_state_t * | state, |
| int64_t | value ) |
Appends a signed integer.
| state | State of the CBOR writer. |
| value | Signed integer. |
Definition at line 176 of file cbor.c.
References cbor_write_unsigned().
| void cbor_write_text | ( | cbor_writer_state_t * | state, |
| const char * | text, | ||
| size_t | text_size ) |
| void cbor_write_undefined | ( | cbor_writer_state_t * | state | ) |
| void cbor_write_unsigned | ( | cbor_writer_state_t * | state, |
| uint64_t | value ) |
Appends an unsigned integer.
| state | State of the CBOR writer. |
| value | Unsigned integer. |
Definition at line 169 of file cbor.c.
Referenced by cbor_write_signed().