17#define CBOR_UNSIGNED 0
18#define CBOR_NEGATIVE 1
27#define CBOR_FALSE 0xF4
30#define CBOR_UNDEFINED 0xF7
166bool cbor_read_bytes(cbor_reader_t *r, uint8_t *out,
size_t max_len,
size_t *out_len);
177bool cbor_read_text(cbor_reader_t *r,
char *out,
size_t max_len,
size_t *out_len);
218 uint8_t *x, uint8_t *y);
void cbor_reader_init(cbor_reader_t *r, const uint8_t *data, size_t size)
CBOR reader implementation.
bool cbor_read_text(cbor_reader_t *r, char *out, size_t max_len, size_t *out_len)
Reads CBOR text string into output buffer.
int cbor_read_map(cbor_reader_t *r)
Reads CBOR map header and returns pair count.
int cbor_read_array(cbor_reader_t *r)
Reads CBOR array header and returns element count.
bool cbor_skip_item(cbor_reader_t *r)
Skips one complete CBOR item including nested container content.
bool cbor_reader_error(const cbor_reader_t *r)
Returns whether reader is in error state.
int cbor_reader_peek_type(const cbor_reader_t *r)
Peeks major type of next CBOR item.
bool cbor_read_bool(cbor_reader_t *r, bool *value)
Reads CBOR boolean simple value.
bool cbor_read_item(cbor_reader_t *r, cbor_item_t *item)
Reads next CBOR item metadata and optional inline payload pointer.
bool cbor_parse_cose_key(cbor_reader_t *r, int *kty, int *alg, uint8_t *x, uint8_t *y)
Parses COSE key map and extracts key type, algorithm, and coordinates.
bool cbor_read_int(cbor_reader_t *r, int64_t *value)
Reads CBOR integer (positive or negative).
bool cbor_read_uint(cbor_reader_t *r, uint64_t *value)
Reads CBOR unsigned integer.
bool cbor_read_bytes(cbor_reader_t *r, uint8_t *out, size_t max_len, size_t *out_len)
Reads CBOR byte-string into optional output buffer.
bool cbor_reader_available(const cbor_reader_t *r)
Returns whether unread data remains.
void cbor_encode_bytes(cbor_writer_t *w, const uint8_t *data, size_t len)
void cbor_encode_text_len(cbor_writer_t *w, const char *str, size_t len)
size_t cbor_writer_length(const cbor_writer_t *w)
void cbor_encode_cose_key_ed25519(cbor_writer_t *w, const uint8_t *pubkey)
void cbor_encode_uint(cbor_writer_t *w, uint64_t value)
void cbor_encode_bool(cbor_writer_t *w, bool value)
void cbor_encode_text(cbor_writer_t *w, const char *str)
void cbor_encode_int(cbor_writer_t *w, int64_t value)
void cbor_writer_init(cbor_writer_t *w, uint8_t *buffer, size_t size)
void cbor_encode_map(cbor_writer_t *w, size_t count)
bool cbor_writer_error(const cbor_writer_t *w)
void cbor_encode_cose_key_p256(cbor_writer_t *w, const uint8_t *x, const uint8_t *y)
void cbor_encode_array(cbor_writer_t *w, size_t count)
void cbor_encode_null(cbor_writer_t *w)