struct side_type_description side_type;
};
+enum side_event_flags {
+ SIDE_EVENT_FLAG_VARIADIC = (1 << 0),
+};
+
struct side_event_description {
uint32_t version;
uint32_t enabled;
uint32_t loglevel; /* enum side_loglevel */
uint32_t nr_fields;
+ uint64_t flags;
const char *provider_name;
const char *event_name;
const struct side_event_field *fields;
side_event_cond(desc) \
side_event_call_variadic(desc, SIDE_PARAM(sav), SIDE_PARAM(var))
-#define side_define_event(_identifier, _provider, _event, _loglevel, _fields) \
+#define _side_define_event(_identifier, _provider, _event, _loglevel, _fields, _flags) \
struct side_event_description _identifier = { \
.version = 0, \
.enabled = 0, \
.loglevel = _loglevel, \
.nr_fields = SIDE_ARRAY_SIZE(SIDE_PARAM(_fields)), \
+ .flags = (_flags), \
.provider_name = _provider, \
.event_name = _event, \
.fields = _fields, \
}
+#define side_define_event(_identifier, _provider, _event, _loglevel, _fields) \
+ _side_define_event(_identifier, _provider, _event, _loglevel, SIDE_PARAM(_fields), 0)
+
+#define side_define_event_variadic(_identifier, _provider, _event, _loglevel, _fields) \
+ _side_define_event(_identifier, _provider, _event, _loglevel, SIDE_PARAM(_fields), \
+ SIDE_EVENT_FLAG_VARIADIC)
+
#define side_declare_event(_identifier) \
struct side_event_description _identifier