mirror of
https://github.com/zephyrproject-rtos/zephyr
synced 2025-08-07 08:05:42 +00:00
Add support for parsing and serializing of following integer types: 'int8_t', 'uint8_t', 'int16_t', 'uint16_t' and 'uint32_t'. The generic integer token JSON_TOK_INT and JSON_TOK_UINT, in combination with the field size (set by JSON_OBJ_DESCR_PRIM) allows to parse different integer types, for example: struct foo { int64_t i64; uint32_t u32; int16_t i16; uint8_t u8; }; struct json_obj_descr foo_descr[] = { JSON_OBJ_DESCR_PRIM(struct foo, i64, JSON_TOK_INT), JSON_OBJ_DESCR_PRIM(struct foo, u32, JSON_TOK_UINT), JSON_OBJ_DESCR_PRIM(struct foo, i16, JSON_TOK_INT), JSON_OBJ_DESCR_PRIM(struct foo, u8, JSON_TOK_UINT), }; These tokens also support parsing and serializing enums: enum unsigned_enum { UA=0, UB=1, UC=2 }; enum signed_enum { SA=-1, SB=0, SC=1 }; struct foo { enum unsigned_enum u; enum signed_enum s; }; struct json_obj_descr foo_descr[] = { JSON_OBJ_DESCR_PRIM(struct foo, u, JSON_TOK_UINT), JSON_OBJ_DESCR_PRIM(struct foo, s, JSON_TOK_INT), }; Signed-off-by: Christoph Winklhofer <cj.winklhofer@gmail.com> |
||
---|---|---|
.. | ||
src | ||
CMakeLists.txt | ||
prj.conf | ||
testcase.yaml |