Home
last modified time | relevance | path

Searched refs:state (Results 1 – 18 of 18) sorted by relevance

/zcbor-latest/src/
Dzcbor_decode.c35 static bool initial_checks(zcbor_state_t *state) in initial_checks() argument
43 static bool type_check(zcbor_state_t *state, zcbor_major_type_t exp_major_type) in type_check() argument
45 if (!initial_checks(state)) { in type_check()
48 zcbor_major_type_t major_type = ZCBOR_MAJOR_TYPE(*state->payload); in type_check()
59 if (!initial_checks(state)) { \
66 if (!type_check(state, exp_major_type)) { \
71 static void err_restore(zcbor_state_t *state, int err) in err_restore() argument
73 state->payload = state->payload_bak; in err_restore()
74 state->elem_count++; in err_restore()
75 zcbor_error(state, err); in err_restore()
[all …]
Dzcbor_encode.c43 static bool encode_header_byte(zcbor_state_t *state, in encode_header_byte() argument
51 *(state->payload_mut) = (uint8_t)((major_type << 5) | (additional & 0x1F)); in encode_header_byte()
52 zcbor_trace(state, "value_encode"); in encode_header_byte()
53 state->payload_mut++; in encode_header_byte()
60 static bool value_encode_len(zcbor_state_t *state, zcbor_major_type_t major_type, in value_encode_len() argument
65 if ((state->payload + 1 + result_len) > state->payload_end) { in value_encode_len()
69 if (!encode_header_byte(state, major_type, in value_encode_len()
75 memcpy(state->payload_mut, u8_result, result_len); in value_encode_len()
76 state->payload_mut += result_len; in value_encode_len()
79 *(state->payload_mut++) = u8_result[result_len - 1]; in value_encode_len()
[all …]
Dzcbor_common.c20 bool zcbor_new_backup(zcbor_state_t *state, size_t new_elem_count) in zcbor_new_backup() argument
24 if ((state->constant_state->current_backup) in zcbor_new_backup()
25 >= state->constant_state->num_backups) { in zcbor_new_backup()
29 state->payload_moved = false; in zcbor_new_backup()
31 (state->constant_state->current_backup)++; in zcbor_new_backup()
35 size_t i = (state->constant_state->current_backup) - 1; in zcbor_new_backup()
37 memcpy(&state->constant_state->backup_list[i], state, in zcbor_new_backup()
40 state->elem_count = new_elem_count; in zcbor_new_backup()
48 bool zcbor_process_backup(zcbor_state_t *state, uint32_t flags, in zcbor_process_backup() argument
52 zcbor_state_t local_copy = *state; in zcbor_process_backup()
[all …]
/zcbor-latest/include/
Dzcbor_decode.h66 bool zcbor_int32_decode(zcbor_state_t *state, int32_t *result); /* pint/nint */
67 bool zcbor_int64_decode(zcbor_state_t *state, int64_t *result); /* pint/nint */
68 bool zcbor_uint32_decode(zcbor_state_t *state, uint32_t *result); /* pint */
69 bool zcbor_uint64_decode(zcbor_state_t *state, uint64_t *result); /* pint */
70 bool zcbor_size_decode(zcbor_state_t *state, size_t *result); /* pint */
71 bool zcbor_int_decode(zcbor_state_t *state, void *result, size_t result_size); /* pint/nint */
72 bool zcbor_uint_decode(zcbor_state_t *state, void *result, size_t result_size); /* pint */
73 bool zcbor_bstr_decode(zcbor_state_t *state, struct zcbor_string *result); /* bstr */
74 bool zcbor_tstr_decode(zcbor_state_t *state, struct zcbor_string *result); /* tstr */
75 bool zcbor_tag_decode(zcbor_state_t *state, uint32_t *result); /* CBOR tag */
[all …]
Dzcbor_encode.h62 bool zcbor_int32_put(zcbor_state_t *state, int32_t input); /* pint/nint */
63 bool zcbor_int64_put(zcbor_state_t *state, int64_t input); /* pint/nint */
64 bool zcbor_uint32_put(zcbor_state_t *state, uint32_t input); /* pint */
65 bool zcbor_uint64_put(zcbor_state_t *state, uint64_t input); /* pint */
66 bool zcbor_size_put(zcbor_state_t *state, size_t input); /* pint */
67 bool zcbor_tag_put(zcbor_state_t *state, uint32_t tag); /* CBOR tag */
68 bool zcbor_bool_put(zcbor_state_t *state, bool input); /* boolean CBOR simple value */
69 bool zcbor_nil_put(zcbor_state_t *state, const void *unused); /* 'nil' CBOR simple value */
70 bool zcbor_undefined_put(zcbor_state_t *state, const void *unused); /* 'undefined' CBOR simple valu…
71 bool zcbor_float16_put(zcbor_state_t *state, float input); /* IEEE754 float16 */
[all …]
Dzcbor_common.h163 #define ZCBOR_ENFORCE_CANONICAL(state) (state->constant_state \ argument
164 ? state->constant_state->enforce_canonical : ZCBOR_ENFORCE_CANONICAL_DEFAULT)
168 #define ZCBOR_MANUALLY_PROCESS_ELEM(state) (state->constant_state \ argument
169 ? state->constant_state->manually_process_elem : ZCBOR_MANUALLY_PROCESS_ELEM_DEFAULT)
206 zcbor_trace_file(state); \
221 zcbor_error(state, err); \
234 ZCBOR_ERR_IF(state->payload >= state->payload_end, ZCBOR_ERR_NO_PAYLOAD)
239 if (!zcbor_check_error(state)) { \
298 bool zcbor_new_backup(zcbor_state_t *state, size_t new_elem_count);
304 bool zcbor_process_backup(zcbor_state_t *state, uint32_t flags, size_t max_elem_count);
[all …]
Dzcbor_print.h27 #define zcbor_trace_raw(state) (zcbor_do_print("rem: %zu, cur: 0x%x, ec: 0x%zx, err: %d",\ argument
28 (size_t)state->payload_end - (size_t)state->payload, *state->payload, state->elem_count, \
29 state->constant_state ? state->constant_state->error : 0))
30 #define zcbor_trace(state, appendix) do { \ argument
31 zcbor_trace_raw(state); \
34 #define zcbor_trace_file(state) do { \ argument
35 zcbor_trace_raw(state); \
48 #define zcbor_trace(state, appendix)
49 #define zcbor_trace_file(state) ((void)state)
/zcbor-latest/samples/pet/src/
Dpet_decode.c23 #define log_result(state, result, func) do { \ argument
25 zcbor_trace_file(state); \
26 zcbor_log("%s error: %s\r\n", func, zcbor_error_str(zcbor_peek_error(state))); \
32 static bool decode_Pet(zcbor_state_t *state, struct Pet *result);
36 zcbor_state_t *state, struct Pet *result) in decode_Pet() argument
40state) && ((((zcbor_list_start_decode(state) && ((zcbor_multi_decode(1, 3, &(*result).names_count,… in decode_Pet()
41 && ((zcbor_bstr_decode(state, (&(*result).birthday))) in decode_Pet()
42 …(*result).birthday.len == 8)) || (zcbor_error(state, ZCBOR_ERR_WRONG_RANGE), false))) || (zcbor_er… in decode_Pet()
43 …&& ((((zcbor_uint_decode(state, &(*result).species_choice, sizeof((*result).species_choice)))) && … in decode_Pet()
45 … (zcbor_error(state, ZCBOR_ERR_WRONG_VALUE), false)))))) || (zcbor_list_map_end_force_decode(state in decode_Pet()
[all …]
Dpet_encode.c23 #define log_result(state, result, func) do { \ argument
25 zcbor_trace_file(state); \
26 zcbor_log("%s error: %s\r\n", func, zcbor_error_str(zcbor_peek_error(state))); \
32 static bool encode_Pet(zcbor_state_t *state, const struct Pet *input);
36 zcbor_state_t *state, const struct Pet *input) in encode_Pet() argument
40state, 3) && ((((zcbor_list_start_encode(state, 3) && ((zcbor_multi_encode_minmax(1, 3, &(*input).… in encode_Pet()
41 …((*input).birthday.len == 8)) || (zcbor_error(state, ZCBOR_ERR_WRONG_RANGE), false))) || (zcbor_er… in encode_Pet()
42 && (zcbor_bstr_encode(state, (&(*input).birthday)))) in encode_Pet()
43 && ((((*input).species_choice == Pet_species_cat_c) ? ((zcbor_uint32_put(state, (1)))) in encode_Pet()
44 : (((*input).species_choice == Pet_species_dog_c) ? ((zcbor_uint32_put(state, (2)))) in encode_Pet()
[all …]
/zcbor-latest/tests/encode/test2_simple/src/
Dmain.c62 ZCBOR_STATE_E(state, 4, payload, sizeof(payload), 1); in ZTEST()
75 bool res = zcbor_list_start_encode(state, 0); in ZTEST()
78 res = res && zcbor_list_start_encode(state, 0); in ZTEST()
80 res = res && zcbor_tstr_put_lit(state, "first"); in ZTEST()
82 res = res && zcbor_tstr_put_lit(state, "second"); in ZTEST()
84 res = res && zcbor_list_end_encode(state, 0); in ZTEST()
91 res = res && zcbor_bstr_encode(state, &timestamp_str); in ZTEST()
93 res = res && zcbor_uint32_put(state, 2 /* dog */); in ZTEST()
95 res = res && zcbor_list_end_encode(state, 0); in ZTEST()
100 zassert_equal(sizeof(exp_output), state->payload - payload, "%d != %d\r\n", in ZTEST()
[all …]
/zcbor-latest/samples/hello_world/
DREADME.md5 It shows how to instantiate zcbor state variables, and how to use them with the encoding and decodi…
/zcbor-latest/tests/unit/test1_unit_tests/src/
Dmain.c877 bool zcbor_simple_put(zcbor_state_t *state, uint8_t input);
878 bool zcbor_simple_encode(zcbor_state_t *state, uint8_t *input);
879 bool zcbor_simple_expect(zcbor_state_t *state, uint8_t expected);
880 bool zcbor_simple_pexpect(zcbor_state_t *state, uint8_t *expected);
881 bool zcbor_simple_decode(zcbor_state_t *state, uint8_t *result);
1145 void decode_inner_map(zcbor_state_t *state, void *result) in decode_inner_map() argument
1147 zassert_true(zcbor_unordered_map_start_decode(state), NULL); in decode_inner_map()
1148 …zassert_true(zcbor_unordered_map_search((zcbor_decoder_t *)zcbor_bool_pexpect, state, &(bool){fals… in decode_inner_map()
1149 zassert_true(zcbor_undefined_expect(state, NULL), NULL); in decode_inner_map()
1150 zcbor_elem_processed(state); in decode_inner_map()
[all …]
/zcbor-latest/
DMIGRATION_GUIDE.md43 `zcbor_trace_file` and `zcbor_trace`, both of which take a ``state`` parameter.
DARCHITECTURE.md188 All decoding/encoding functions operate on a state variable of type `zcbor_state_t` which keeps tra…
202 In these cases, the code attempts to decode the object. If it fails, it restores the state to befor…
209 All functions (generated and not) have the same API structure: `bool <name>(zcbor_state_t *state, <…
217 There are also housekeeping functions for managing state and logging.
DREADME.md64 The zcbor state object
82 /** Initialize a decoding state (could include an array of backup states).
86 /** Initialize an encoding state (could include an array of backup states).
100 …ONICAL` increases code size and makes the encoding library more often use state backups. When deco…
103 …error` functionality. Note that it also has to be enabled in the state variable (`state->constant_…
105 … a whole. Enabling increases code size and memory usage, and requires the state variable to posses…
DRELEASE_NOTES.md386 * Add error value to state, which is populated when a function fails (returns `false`).
393 …* New helper macros for instantiating state variables: `ZCBOR_STATE_D()` and `ZCBOR_STATE_E()` for…
433 * zcbor_decode.c: Fix `zcbor_any_skip()` so it reverts the state correctly on fail.
DLICENSE131 5. Submission of Contributions. Unless You explicitly state otherwise,
/zcbor-latest/tests/decode/test5_corner_cases/src/
Dmain.c845 static bool my_decode_EmptyMap(zcbor_state_t *state, void *unused) in my_decode_EmptyMap() argument
848 int res = cbor_decode_EmptyMap(state->payload, in my_decode_EmptyMap()
849 state->payload_end - state->payload, NULL, &payload_len_out); in my_decode_EmptyMap()
852 state->payload += payload_len_out; in my_decode_EmptyMap()
866 ZCBOR_STATE_D(state, 0, payload4, sizeof(payload4), 3, 0); in ZTEST()
875 zassert_true(zcbor_multi_decode(3, 3, &num_decode, my_decode_EmptyMap, state, NULL, 0), NULL); in ZTEST()