struct lttng_channel;
struct lttng_kernel_session;
-struct lttng_metadata_cache;
struct lttng_kernel_ring_buffer_ctx;
-struct perf_event;
-struct perf_event_attr;
-struct lib_ring_buffer_config;
/* Type description */
nofilter:1; /* do not consider for filter */
};
+#ifndef PARAMS
+#define PARAMS(args...) args
+#endif
+
#define lttng_kernel_static_type_integer(_size, _alignment, _signedness, _byte_order, _base) \
((const struct lttng_kernel_type_common *) __LTTNG_COMPOUND_LITERAL(const struct lttng_kernel_type_integer, { \
.parent = { \
.encoding = lttng_kernel_string_encoding_##_encoding, \
}))
-#define lttng_kernel_static_type_struct(_nr_fields, _fields, _alignment) \
- ((const struct lttng_kernel_type_common *) __LTTNG_COMPOUND_LITERAL(const struct lttng_kernel_type_struct, { \
+#define lttng_kernel_static_type_struct_init(_nr_fields, _fields, _alignment) \
+ { \
.parent = { \
.type = lttng_kernel_type_struct, \
}, \
.nr_fields = (_nr_fields), \
.fields = _fields, \
.alignment = (_alignment), \
- }))
+ }
+
+#define lttng_kernel_static_type_struct(_nr_fields, _fields, _alignment) \
+ ((const struct lttng_kernel_type_common *) __LTTNG_COMPOUND_LITERAL(const struct lttng_kernel_type_struct, \
+ lttng_kernel_static_type_struct_init(_nr_fields, PARAMS(_fields), _alignment) \
+ ))
#define lttng_kernel_static_type_variant(_nr_choices, _choices, _tag_name, _alignment) \
((const struct lttng_kernel_type_common *) __LTTNG_COMPOUND_LITERAL(const struct lttng_kernel_type_variant, { \
const char __user *src, size_t len);
};
-#define LTTNG_EVENT_HT_BITS 12
-#define LTTNG_EVENT_HT_SIZE (1U << LTTNG_EVENT_HT_BITS)
-
-struct lttng_event_ht {
- struct hlist_head table[LTTNG_EVENT_HT_SIZE];
-};
-
-#define LTTNG_EVENT_NOTIFIER_HT_BITS 12
-#define LTTNG_EVENT_NOTIFIER_HT_SIZE (1U << LTTNG_EVENT_NOTIFIER_HT_BITS)
-
-struct lttng_event_notifier_ht {
- struct hlist_head table[LTTNG_EVENT_NOTIFIER_HT_SIZE];
-};
-
struct lttng_channel {
unsigned int id;
struct channel *chan; /* Channel buffers */