+ side_arg_dynamic_field("a", side_arg_dynamic_struct(&mystruct)),
+ ),
+ side_attr_list()
+ );
+ }
+}
+
+static side_define_event(my_provider_event_float, "myprovider", "myeventfloat", SIDE_LOGLEVEL_DEBUG,
+ side_field_list(
+#if __HAVE_FLOAT16
+ side_field_float_binary16("binary16", side_attr_list()),
+#endif
+#if __HAVE_FLOAT32
+ side_field_float_binary32("binary32", side_attr_list()),
+#endif
+#if __HAVE_FLOAT64
+ side_field_float_binary64("binary64", side_attr_list()),
+#endif
+#if __HAVE_FLOAT128
+ side_field_float_binary128("binary128", side_attr_list()),
+#endif
+ ),
+ side_attr_list()
+);
+
+static
+void test_float(void)
+{
+ my_provider_event_float_enabled = 1;
+ side_event(my_provider_event_float,
+ side_arg_list(
+#if __HAVE_FLOAT16
+ side_arg_float_binary16(1.1),
+#endif
+#if __HAVE_FLOAT32
+ side_arg_float_binary32(2.2),
+#endif
+#if __HAVE_FLOAT64
+ side_arg_float_binary64(3.3),
+#endif
+#if __HAVE_FLOAT128
+ side_arg_float_binary128(4.4),
+#endif
+ )
+ );
+}
+
+static side_define_event_variadic(my_provider_event_variadic_float,
+ "myprovider", "myvariadicfloat", SIDE_LOGLEVEL_DEBUG,
+ side_field_list(),
+ side_attr_list()
+);
+
+static
+void test_variadic_float(void)
+{
+ my_provider_event_variadic_float_enabled = 1;
+ side_event_variadic(my_provider_event_variadic_float,
+ side_arg_list(),
+ side_arg_list(
+#if __HAVE_FLOAT16
+ side_arg_dynamic_field("binary16",
+ side_arg_dynamic_float_binary16(1.1, side_attr_list())
+ ),
+#endif
+#if __HAVE_FLOAT32
+ side_arg_dynamic_field("binary32",
+ side_arg_dynamic_float_binary32(2.2, side_attr_list())
+ ),
+#endif
+#if __HAVE_FLOAT64
+ side_arg_dynamic_field("binary64",
+ side_arg_dynamic_float_binary64(3.3, side_attr_list())
+ ),
+#endif
+#if __HAVE_FLOAT128
+ side_arg_dynamic_field("binary128",
+ side_arg_dynamic_float_binary128(4.4, side_attr_list())
+ ),
+#endif
+ ),
+ side_attr_list()
+ );
+}
+
+static side_define_enum(myenum,
+ side_enum_mapping_list(
+ side_enum_mapping_range("one-ten", 1, 10),
+ side_enum_mapping_range("100-200", 100, 200),
+ side_enum_mapping_value("200", 200),
+ side_enum_mapping_value("300", 300),
+ ),
+ side_attr_list()
+);
+
+static side_define_event(my_provider_event_enum, "myprovider", "myeventenum", SIDE_LOGLEVEL_DEBUG,
+ side_field_list(
+ side_field_enum("5", side_elem(side_type_u32(side_attr_list())), &myenum),
+ side_field_enum("400", side_elem(side_type_u64(side_attr_list())), &myenum),
+ side_field_enum("200", side_elem(side_type_u8(side_attr_list())), &myenum),
+ side_field_enum("-100", side_elem(side_type_s8(side_attr_list())), &myenum),
+ ),
+ side_attr_list()
+);
+
+static
+void test_enum(void)
+{
+ my_provider_event_enum_enabled = 1;
+ side_event(my_provider_event_enum,
+ side_arg_list(
+ side_arg_u32(5),
+ side_arg_u64(400),
+ side_arg_u8(200),
+ side_arg_s8(-100),
+ )
+ );
+}
+
+/* A bitmap enum maps bits to labels. */
+static side_define_enum_bitmap(myenum_bitmap,
+ side_enum_bitmap_mapping_list(
+ side_enum_bitmap_mapping_value("0", 0),
+ side_enum_bitmap_mapping_range("1-2", 1, 2),
+ side_enum_bitmap_mapping_range("2-4", 2, 4),
+ side_enum_bitmap_mapping_value("3", 3),
+ side_enum_bitmap_mapping_value("30", 30),
+ side_enum_bitmap_mapping_value("63", 63),
+ side_enum_bitmap_mapping_range("158-160", 158, 160),
+ side_enum_bitmap_mapping_value("159", 159),
+ side_enum_bitmap_mapping_range("500-700", 500, 700),
+ ),
+ side_attr_list()
+);
+
+static side_define_event(my_provider_event_enum_bitmap, "myprovider", "myeventenumbitmap", SIDE_LOGLEVEL_DEBUG,
+ side_field_list(
+ side_field_enum_bitmap("bit_0", side_elem(side_type_u32(side_attr_list())), &myenum_bitmap),
+ side_field_enum_bitmap("bit_1", side_elem(side_type_u32(side_attr_list())), &myenum_bitmap),
+ side_field_enum_bitmap("bit_2", side_elem(side_type_u8(side_attr_list())), &myenum_bitmap),
+ side_field_enum_bitmap("bit_3", side_elem(side_type_u8(side_attr_list())), &myenum_bitmap),
+ side_field_enum_bitmap("bit_30", side_elem(side_type_u32(side_attr_list())), &myenum_bitmap),
+ side_field_enum_bitmap("bit_31", side_elem(side_type_u32(side_attr_list())), &myenum_bitmap),
+ side_field_enum_bitmap("bit_63", side_elem(side_type_u64(side_attr_list())), &myenum_bitmap),
+ side_field_enum_bitmap("bits_1+63", side_elem(side_type_u64(side_attr_list())), &myenum_bitmap),
+ side_field_enum_bitmap("bit_159",
+ side_elem(side_type_array(side_elem(side_type_u32(side_attr_list())), 5, side_attr_list())),
+ &myenum_bitmap),
+ side_field_enum_bitmap("bit_159",
+ side_elem(side_type_vla(side_elem(side_type_u32(side_attr_list())), side_attr_list())),
+ &myenum_bitmap),
+ ),
+ side_attr_list()
+);
+
+static
+void test_enum_bitmap(void)
+{
+ my_provider_event_enum_bitmap_enabled = 1;
+ side_event_cond(my_provider_event_enum_bitmap) {
+ side_arg_define_vec(myarray,
+ side_arg_list(
+ side_arg_u32(0),
+ side_arg_u32(0),
+ side_arg_u32(0),
+ side_arg_u32(0),
+ side_arg_u32(0x80000000), /* bit 159 */