35 #ifndef qcbor_private_h
36 #define qcbor_private_h
57 #ifdef QCBOR_CONFIG_DISABLE_EXP_AND_MANTISSA
58 #define QCBOR_DISABLE_EXP_AND_MANTISSA
64 #ifdef USEFULBUF_DISABLE_ALL_FLOAT
65 #ifndef QCBOR_DISABLE_FLOAT_HW_USE
66 #define QCBOR_DISABLE_FLOAT_HW_USE
68 #ifndef QCBOR_DISABLE_PREFERRED_FLOAT
69 #define QCBOR_DISABLE_PREFERRED_FLOAT
99 #ifdef USEFULBUF_DISABLE_ALL_FLOAT
100 #define FLOAT_ERR_CODE_NO_FLOAT(x) QCBOR_ERR_ALL_FLOAT_DISABLED
101 #define FLOAT_ERR_CODE_NO_HALF_PREC(x) QCBOR_ERR_ALL_FLOAT_DISABLED
102 #define FLOAT_ERR_CODE_NO_FLOAT_HW(x) QCBOR_ERR_ALL_FLOAT_DISABLED
103 #define FLOAT_ERR_CODE_NO_HALF_PREC_NO_FLOAT_HW(x) QCBOR_ERR_ALL_FLOAT_DISABLED
105 #define FLOAT_ERR_CODE_NO_FLOAT(x) x
106 #ifdef QCBOR_DISABLE_PREFERRED_FLOAT
107 #define FLOAT_ERR_CODE_NO_HALF_PREC(x) QCBOR_ERR_HALF_PRECISION_DISABLED
108 #define FLOAT_ERR_CODE_NO_HALF_PREC_NO_FLOAT_HW(x) QCBOR_ERR_HALF_PRECISION_DISABLED
110 #define FLOAT_ERR_CODE_NO_HALF_PREC(x) x
111 #ifdef QCBOR_DISABLE_FLOAT_HW_USE
112 #define FLOAT_ERR_CODE_NO_HALF_PREC_NO_FLOAT_HW(x) QCBOR_ERR_HW_FLOAT_DISABLED
114 #define FLOAT_ERR_CODE_NO_HALF_PREC_NO_FLOAT_HW(x) x
117 #ifdef QCBOR_DISABLE_FLOAT_HW_USE
118 #define FLOAT_ERR_CODE_NO_FLOAT_HW(x) QCBOR_ERR_HW_FLOAT_DISABLED
120 #define FLOAT_ERR_CODE_NO_FLOAT_HW(x) x
129 #define LEN_IS_ONE_BYTE 24
130 #define LEN_IS_TWO_BYTES 25
131 #define LEN_IS_FOUR_BYTES 26
132 #define LEN_IS_EIGHT_BYTES 27
133 #define ADDINFO_RESERVED1 28
134 #define ADDINFO_RESERVED2 29
135 #define ADDINFO_RESERVED3 30
136 #define LEN_IS_INDEFINITE 31
143 #define CBOR_TWENTY_FOUR 24
149 #define CBOR_SIMPLEV_FALSE 20
150 #define CBOR_SIMPLEV_TRUE 21
151 #define CBOR_SIMPLEV_NULL 22
152 #define CBOR_SIMPLEV_UNDEF 23
153 #define CBOR_SIMPLEV_ONEBYTE 24
154 #define HALF_PREC_FLOAT 25
155 #define SINGLE_PREC_FLOAT 26
156 #define DOUBLE_PREC_FLOAT 27
157 #define CBOR_SIMPLE_BREAK 31
158 #define CBOR_SIMPLEV_RESERVED_START CBOR_SIMPLEV_ONEBYTE
159 #define CBOR_SIMPLEV_RESERVED_END CBOR_SIMPLE_BREAK
169 #define QCBOR_MAX_ARRAY_OFFSET (UINT32_MAX - 100)
175 #define QCBOR_NUM_MAPPED_TAGS 4
178 #define QCBOR_MAX_TAGS_PER_ITEM1 4
287 #define QCBOR_COUNT_INDICATES_INDEFINITE_LENGTH UINT16_MAX
288 #define QCBOR_COUNT_INDICATES_ZERO_LENGTH UINT16_MAX-1
289 uint16_t uCountTotal;
290 uint16_t uCountCursor;
291 #define QCBOR_NON_BOUNDED_OFFSET UINT32_MAX
294 uint32_t uStartOffset;
299 uint32_t uSavedEndOffset;
301 uint32_t uBstrStartOffset;
328 UsefulBuf (* pfAllocator)(
void *pAllocateCxt,
void *pOldMem,
size_t uNewSize);
357 uint32_t uMemPoolSize;
358 uint32_t uMemPoolFreeOffset;
363 #define QCBOR_MAP_OFFSET_CACHE_INVALID UINT32_MAX
364 uint32_t uMapEndOffsetCache;
367 uint8_t bStringAllocateAll;
371 uint64_t auMappedTags[QCBOR_NUM_MAPPED_TAGS];
373 uint16_t uLastTags[QCBOR_MAX_TAGS_PER_ITEM1];
380 #define CBOR_MAJOR_NONE_TAG_LABEL_REORDER 10
381 #define CBOR_MAJOR_NONE_TYPE_OPEN_BSTR 12
385 #define QCBOR_INDEFINITE_LEN_TYPE_MODIFIER 0x80
386 #define CBOR_MAJOR_NONE_TYPE_ARRAY_INDEFINITE_LEN \
387 CBOR_MAJOR_TYPE_ARRAY + QCBOR_INDEFINITE_LEN_TYPE_MODIFIER
388 #define CBOR_MAJOR_NONE_TYPE_MAP_INDEFINITE_LEN \
389 CBOR_MAJOR_TYPE_MAP + QCBOR_INDEFINITE_LEN_TYPE_MODIFIER
390 #define CBOR_MAJOR_NONE_TYPE_SIMPLE_BREAK \
391 CBOR_MAJOR_TYPE_SIMPLE + QCBOR_INDEFINITE_LEN_TYPE_MODIFIER
398 #define QCBOR_STRING_LENGTH_INDEFINITE SIZE_MAX
402 #define C_ARRAY_COUNT(array, type) (sizeof(array)/sizeof(type))
struct q_useful_buf UsefulBuf
#define QCBOR_MAX_ARRAY_NESTING
Definition: qcbor_common.h:577
Definition: qcbor_private.h:248
Definition: qcbor_private.h:246
Definition: qcbor_private.h:198
Definition: qcbor_private.h:342
Definition: qcbor_private.h:221
Definition: qcbor_private.h:325
Definition: UsefulBuf.h:845