From 15f170240291c682cdf8ec13c689ce5d389628d8 Mon Sep 17 00:00:00 2001 From: Mathieu Desnoyers Date: Thu, 21 Sep 2023 11:28:14 +0100 Subject: [PATCH] trace.h: Use side_enum_t for side_attr_type enum Signed-off-by: Mathieu Desnoyers --- include/side/trace.h | 30 +++++++++++++++--------------- src/tracer.c | 4 ++-- 2 files changed, 17 insertions(+), 17 deletions(-) diff --git a/include/side/trace.h b/include/side/trace.h index 1c5aafc..5d31cfe 100644 --- a/include/side/trace.h +++ b/include/side/trace.h @@ -266,7 +266,7 @@ struct side_type_raw_string { } SIDE_PACKED; struct side_attr_value { - uint32_t type; /* enum side_attr_type */ + side_enum_t(enum side_attr_type, uint32_t) type; union { uint8_t bool_value; struct side_type_raw_string string_value; @@ -689,23 +689,23 @@ struct side_event_description { SIDE_COMPOUND_LITERAL(const struct side_attr, __VA_ARGS__) #define side_attr_null(_val) { .type = SIDE_ATTR_TYPE_NULL } -#define side_attr_bool(_val) { .type = SIDE_ATTR_TYPE_BOOL, .u = { .bool_value = !!(_val) } } -#define side_attr_u8(_val) { .type = SIDE_ATTR_TYPE_U8, .u = { .integer_value = { .side_u8 = (_val) } } } -#define side_attr_u16(_val) { .type = SIDE_ATTR_TYPE_U16, .u = { .integer_value = { .side_u16 = (_val) } } } -#define side_attr_u32(_val) { .type = SIDE_ATTR_TYPE_U32, .u = { .integer_value = { .side_u32 = (_val) } } } -#define side_attr_u64(_val) { .type = SIDE_ATTR_TYPE_U64, .u = { .integer_value = { .side_u64 = (_val) } } } -#define side_attr_s8(_val) { .type = SIDE_ATTR_TYPE_S8, .u = { .integer_value = { .side_s8 = (_val) } } } -#define side_attr_s16(_val) { .type = SIDE_ATTR_TYPE_S16, .u = { .integer_value = { .side_s16 = (_val) } } } -#define side_attr_s32(_val) { .type = SIDE_ATTR_TYPE_S32, .u = { .integer_value = { .side_s32 = (_val) } } } -#define side_attr_s64(_val) { .type = SIDE_ATTR_TYPE_S64, .u = { .integer_value = { .side_s64 = (_val) } } } -#define side_attr_float_binary16(_val) { .type = SIDE_ATTR_TYPE_FLOAT_BINARY16, .u = { .float_value = { .side_float_binary16 = (_val) } } } -#define side_attr_float_binary32(_val) { .type = SIDE_ATTR_TYPE_FLOAT_BINARY32, .u = { .float_value = { .side_float_binary32 = (_val) } } } -#define side_attr_float_binary64(_val) { .type = SIDE_ATTR_TYPE_FLOAT_BINARY64, .u = { .float_value = { .side_float_binary64 = (_val) } } } -#define side_attr_float_binary128(_val) { .type = SIDE_ATTR_TYPE_FLOAT_BINARY128, .u = { .float_value = { .side_float_binary128 = (_val) } } } +#define side_attr_bool(_val) { .type = SIDE_ENUM_INIT(SIDE_ATTR_TYPE_BOOL), .u = { .bool_value = !!(_val) } } +#define side_attr_u8(_val) { .type = SIDE_ENUM_INIT(SIDE_ATTR_TYPE_U8), .u = { .integer_value = { .side_u8 = (_val) } } } +#define side_attr_u16(_val) { .type = SIDE_ENUM_INIT(SIDE_ATTR_TYPE_U16), .u = { .integer_value = { .side_u16 = (_val) } } } +#define side_attr_u32(_val) { .type = SIDE_ENUM_INIT(SIDE_ATTR_TYPE_U32), .u = { .integer_value = { .side_u32 = (_val) } } } +#define side_attr_u64(_val) { .type = SIDE_ENUM_INIT(SIDE_ATTR_TYPE_U64), .u = { .integer_value = { .side_u64 = (_val) } } } +#define side_attr_s8(_val) { .type = SIDE_ENUM_INIT(SIDE_ATTR_TYPE_S8), .u = { .integer_value = { .side_s8 = (_val) } } } +#define side_attr_s16(_val) { .type = SIDE_ENUM_INIT(SIDE_ATTR_TYPE_S16), .u = { .integer_value = { .side_s16 = (_val) } } } +#define side_attr_s32(_val) { .type = SIDE_ENUM_INIT(SIDE_ATTR_TYPE_S32), .u = { .integer_value = { .side_s32 = (_val) } } } +#define side_attr_s64(_val) { .type = SIDE_ENUM_INIT(SIDE_ATTR_TYPE_S64), .u = { .integer_value = { .side_s64 = (_val) } } } +#define side_attr_float_binary16(_val) { .type = SIDE_ENUM_INIT(SIDE_ATTR_TYPE_FLOAT_BINARY16), .u = { .float_value = { .side_float_binary16 = (_val) } } } +#define side_attr_float_binary32(_val) { .type = SIDE_ENUM_INIT(SIDE_ATTR_TYPE_FLOAT_BINARY32), .u = { .float_value = { .side_float_binary32 = (_val) } } } +#define side_attr_float_binary64(_val) { .type = SIDE_ENUM_INIT(SIDE_ATTR_TYPE_FLOAT_BINARY64), .u = { .float_value = { .side_float_binary64 = (_val) } } } +#define side_attr_float_binary128(_val) { .type = SIDE_ENUM_INIT(SIDE_ATTR_TYPE_FLOAT_BINARY128), .u = { .float_value = { .side_float_binary128 = (_val) } } } #define _side_attr_string(_val, _byte_order, _unit_size) \ { \ - .type = SIDE_ATTR_TYPE_STRING, \ + .type = SIDE_ENUM_INIT(SIDE_ATTR_TYPE_STRING), \ .u = { \ .string_value = { \ .p = SIDE_PTR_INIT(_val), \ diff --git a/src/tracer.c b/src/tracer.c index 017b4f8..b11db80 100644 --- a/src/tracer.c +++ b/src/tracer.c @@ -186,7 +186,7 @@ int64_t get_attr_integer_value(const struct side_attr *attr) { int64_t val; - switch (attr->value.type) { + switch (side_enum_get(attr->value.type)) { case SIDE_ATTR_TYPE_U8: val = attr->value.u.integer_value.side_u8; break; @@ -265,7 +265,7 @@ void tracer_print_attr_type(const char *separator, const struct side_attr *attr) printf("{ key%s \"%s\", value%s ", separator, utf8_str, separator); if (utf8_str != side_ptr_get(attr->key.p)) free(utf8_str); - switch (attr->value.type) { + switch (side_enum_get(attr->value.type)) { case SIDE_ATTR_TYPE_BOOL: printf("%s", attr->value.u.bool_value ? "true" : "false"); break; -- 2.34.1