5 #ifndef OPENTITAN_SW_DEVICE_SILICON_CREATOR_LIB_CERT_CBOR_H_
6 #define OPENTITAN_SW_DEVICE_SILICON_CREATOR_LIB_CERT_CBOR_H_
8 #include "sw/device/silicon_creator/lib/error.h"
23 static inline void cbor_out_init(
cbor_out_t *p,
void *buf) {
34 static inline size_t cbor_out_size(
cbor_out_t *p) {
return p->offset; }
42 size_t cbor_calc_arg_size(uint64_t value);
50 size_t cbor_calc_int_size(int64_t value);
60 size_t cbor_write_raw_bytes(
cbor_out_t *p,
const uint8_t *raw,
size_t raw_size);
69 size_t cbor_write_int(
cbor_out_t *p, int64_t value);
78 size_t cbor_write_bstr_header(
cbor_out_t *p,
size_t bstr_size);
88 static inline size_t cbor_write_bstr(
cbor_out_t *p,
const uint8_t *bstr,
91 sz += cbor_write_bstr_header(p, bstr_size);
92 sz += cbor_write_raw_bytes(p, bstr, bstr_size);
103 size_t cbor_write_tstr_header(
cbor_out_t *p,
size_t tstr_size);
113 static inline size_t cbor_write_tstr(
cbor_out_t *p,
const uint8_t *tstr,
116 sz += cbor_write_tstr_header(p, tstr_size);
117 sz += cbor_write_raw_bytes(p, tstr, tstr_size);
128 size_t cbor_write_array_header(
cbor_out_t *p,
size_t num_elements);
137 size_t cbor_write_map_header(
cbor_out_t *p,
size_t num_pairs);