/* Enumeration entry (single value) */
#undef ctf_enum_value
#define ctf_enum_value(_string, _value) \
- { \
+ __LTTNG_COMPOUND_LITERAL(struct lttng_ust_enum_entry, { \
+ .struct_size = sizeof(struct lttng_ust_enum_entry), \
.start = { \
.value = lttng_is_signed_type(__typeof__(_value)) ? \
(long long) (_value) : (_value), \
.signedness = lttng_is_signed_type(__typeof__(_value)), \
}, \
.string = (_string), \
- },
+ }),
/* Enumeration entry (range) */
#undef ctf_enum_range
#define ctf_enum_range(_string, _range_start, _range_end) \
- { \
+ __LTTNG_COMPOUND_LITERAL(struct lttng_ust_enum_entry, { \
+ .struct_size = sizeof(struct lttng_ust_enum_entry), \
.start = { \
.value = lttng_is_signed_type(__typeof__(_range_start)) ? \
(long long) (_range_start) : (_range_start), \
.signedness = lttng_is_signed_type(__typeof__(_range_end)), \
}, \
.string = (_string), \
- },
+ }),
/* Enumeration entry (automatic value; follows the rules of CTF) */
#undef ctf_enum_auto
-#define ctf_enum_auto(_string) \
- { \
+#define ctf_enum_auto(_string) \
+ __LTTNG_COMPOUND_LITERAL(struct lttng_ust_enum_entry, { \
+ .struct_size = sizeof(struct lttng_ust_enum_entry), \
.start = { \
.value = -1ULL, \
.signedness = 0, \
.signedness = 0, \
}, \
.string = (_string), \
- .u = { \
- .extra = { \
- .options = LTTNG_ENUM_ENTRY_OPTION_IS_AUTO, \
- }, \
- }, \
- },
+ .options = LTTNG_ENUM_ENTRY_OPTION_IS_AUTO, \
+ }),
#undef TP_ENUM_VALUES
#define TP_ENUM_VALUES(...) \
#undef TRACEPOINT_ENUM
#define TRACEPOINT_ENUM(_provider, _name, _values) \
- const struct lttng_enum_entry __enum_values__##_provider##_##_name[] = { \
+ const struct lttng_ust_enum_entry *__enum_values__##_provider##_##_name[] = { \
_values \
ctf_enum_value("", 0) /* Dummy, 0-len array forbidden by C99. */ \
};
#undef TRACEPOINT_ENUM
#define TRACEPOINT_ENUM(_provider, _name, _values) \
- static const struct lttng_enum_desc __enum_##_provider##_##_name = { \
+ static const struct lttng_ust_enum_desc __enum_##_provider##_##_name = { \
+ .struct_size = sizeof(struct lttng_ust_enum_desc), \
.name = #_provider "_" #_name, \
.entries = __enum_values__##_provider##_##_name, \
.nr_entries = _TP_ARRAY_SIZE(__enum_values__##_provider##_##_name) - 1, \
if (caa_unlikely(!TP_RCU_LINK_TEST())) \
return; \
if (caa_unlikely(!cds_list_empty(&__event->filter_bytecode_runtime_head))) { \
- struct lttng_bytecode_runtime *__filter_bc_runtime; \
+ struct lttng_ust_bytecode_runtime *__filter_bc_runtime; \
int __filter_record = __event->has_enablers_without_bytecode; \
\
__event_prepare_interpreter_stack__##_provider##___##_name(__stackvar.__interpreter_stack_data, \
struct lttng_ust_event_recorder *__event_recorder = (struct lttng_ust_event_recorder *) __event->child; \
struct lttng_channel *__chan = __event_recorder->chan; \
struct lttng_ust_lib_ring_buffer_ctx __ctx; \
- struct lttng_stack_ctx __lttng_ctx; \
+ struct lttng_ust_stack_ctx __lttng_ctx; \
\
__event_len = __event_get_size__##_provider##___##_name(__stackvar.__dynamic_len, \
_TP_ARGS_DATA_VAR(_args)); \
__event_align = __event_get_align__##_provider##___##_name(_TP_ARGS_VAR(_args)); \
memset(&__lttng_ctx, 0, sizeof(__lttng_ctx)); \
+ __lttng_ctx.struct_size = sizeof(struct lttng_ust_stack_ctx); \
__lttng_ctx.event_recorder = __event_recorder; \
__lttng_ctx.chan_ctx = tp_rcu_dereference(__chan->ctx); \
__lttng_ctx.event_ctx = tp_rcu_dereference(__event_recorder->ctx); \