trace.h: Use side_enum_t for side_attr_type enum
authorMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Thu, 21 Sep 2023 10:28:14 +0000 (11:28 +0100)
committerMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Thu, 21 Sep 2023 10:28:14 +0000 (11:28 +0100)
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
include/side/trace.h
src/tracer.c

index 1c5aafcc6b6b556e0b3b844accf0f09d0d780719..5d31cfe797f97f48ebb136c6997e28f0b41fa042 100644 (file)
@@ -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), \
index 017b4f8062500a0977098d6c3db9ec3475c27eec..b11db80f06f79e2ff37c2105e2117aac7ebb725b 100644 (file)
@@ -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;
This page took 0.034475 seconds and 4 git commands to generate.