-#define side_attr_bool(val) { .type = SIDE_ATTR_TYPE_BOOL, .u = { .side_bool = !!(val) } }
-#define side_attr_u8(val) { .type = SIDE_ATTR_TYPE_U8, .u = { .side_u8 = (val) } }
-#define side_attr_u16(val) { .type = SIDE_ATTR_TYPE_U16, .u = { .side_u16 = (val) } }
-#define side_attr_u32(val) { .type = SIDE_ATTR_TYPE_U32, .u = { .side_u32 = (val) } }
-#define side_attr_u64(val) { .type = SIDE_ATTR_TYPE_U64, .u = { .side_u64 = (val) } }
-#define side_attr_s8(val) { .type = SIDE_ATTR_TYPE_S8, .u = { .side_s8 = (val) } }
-#define side_attr_s16(val) { .type = SIDE_ATTR_TYPE_S16, .u = { .side_s16 = (val) } }
-#define side_attr_s32(val) { .type = SIDE_ATTR_TYPE_S32, .u = { .side_s32 = (val) } }
-#define side_attr_s64(val) { .type = SIDE_ATTR_TYPE_S64, .u = { .side_s64 = (val) } }
-#define side_attr_float_binary16(val) { .type = SIDE_ATTR_TYPE_FLOAT_BINARY16, .u = { .side_float_binary16 = (val) } }
-#define side_attr_float_binary32(val) { .type = SIDE_ATTR_TYPE_FLOAT_BINARY32, .u = { .side_float_binary32 = (val) } }
-#define side_attr_float_binary64(val) { .type = SIDE_ATTR_TYPE_FLOAT_BINARY64, .u = { .side_float_binary64 = (val) } }
-#define side_attr_float_binary128(val) { .type = SIDE_ATTR_TYPE_FLOAT_BINARY128, .u = { .side_float_binary128 = (val) } }
-#define side_attr_string(val) { .type = SIDE_ATTR_TYPE_STRING, .u = { .string = (val) } }
-
-#define side_event_cond(desc) if (side_unlikely((desc)->enabled))
-
-#define side_event_call(desc, _sav) \
- { \
- const struct side_arg_vec side_sav[] = { _sav }; \
- const struct side_arg_vec_description sav_desc = { \
- .sav = side_sav, \
- .len = SIDE_ARRAY_SIZE(side_sav), \
- }; \
- side_call(desc, &sav_desc); \
- }
-
-#define side_event(desc, sav) \
- side_event_cond(desc) \
- side_event_call(desc, SIDE_PARAM(sav))
-
-#define side_event_call_variadic(desc, _sav, _var_fields) \
- { \
- const struct side_arg_vec side_sav[] = { _sav }; \
- const struct side_arg_vec_description sav_desc = { \
- .sav = side_sav, \
- .len = SIDE_ARRAY_SIZE(side_sav), \
- }; \
- const struct side_arg_dynamic_event_field side_fields[] = { _var_fields }; \
- const struct side_arg_dynamic_event_struct var_struct = { \
- .fields = side_fields, \
- .len = SIDE_ARRAY_SIZE(side_fields), \
- }; \
- side_call_variadic(desc, &sav_desc, &var_struct); \
- }
-
-#define side_event_variadic(desc, sav, var) \
- side_event_cond(desc) \
- side_event_call_variadic(desc, SIDE_PARAM(sav), SIDE_PARAM(var))
-
-#define side_define_enum(_identifier, _mappings) \