+ char padding[LTTNG_UST_PROBE_DESC_PADDING];
+};
+
+/* Data structures used by the tracer. */
+
+enum lttng_enabler_type {
+ LTTNG_ENABLER_WILDCARD,
+ LTTNG_ENABLER_EVENT,
+};
+
+/*
+ * Enabler field, within whatever object is enabling an event. Target of
+ * backward reference.
+ */
+struct lttng_enabler {
+ enum lttng_enabler_type type;
+
+ /* head list of struct lttng_ust_filter_bytecode_node */
+ struct cds_list_head filter_bytecode_head;
+ struct cds_list_head node; /* per-session list of enablers */
+
+ struct lttng_ust_event event_param;
+ struct lttng_channel *chan;
+ struct lttng_ctx *ctx;
+ unsigned int enabled:1;
+};
+
+struct tp_list_entry {
+ struct lttng_ust_tracepoint_iter tp;
+ struct cds_list_head head;
+};
+
+struct lttng_ust_tracepoint_list {
+ struct tp_list_entry *iter;
+ struct cds_list_head head;
+};
+
+struct tp_field_list_entry {
+ struct lttng_ust_field_iter field;
+ struct cds_list_head head;
+};
+
+struct lttng_ust_field_list {
+ struct tp_field_list_entry *iter;
+ struct cds_list_head head;