Contiki-NG
Loading...
Searching...
No Matches
cbor.h File Reference

CBOR API. More...

#include <stdbool.h>
#include <stddef.h>
#include <stdint.h>

Go to the source code of this file.

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.
 

Detailed Description

CBOR API.

Definition in file cbor.h.