+ char padding[LTTNG_UST_PROBE_DESC_PADDING];
+};
+
+/* Data structures used by the tracer. */
+
+/*
+ * Entry describing a per-session active wildcard, along with the event
+ * attribute and channel information configuring the events that need to
+ * be enabled.
+ */
+struct session_wildcard {
+ struct ltt_channel *chan;
+ struct lttng_ctx *ctx; /* TODO */
+ struct lttng_ust_event event_param;
+ struct cds_list_head events; /* list of events enabled */
+ struct cds_list_head list; /* per-session list of wildcards */
+ struct cds_list_head session_list; /* node of session wildcard list */
+ struct wildcard_entry *entry;
+ unsigned int enabled:1;
+};
+
+/*
+ * Entry describing an active wildcard (per name) for all sessions.
+ */
+struct wildcard_entry {
+ /* node of global wildcards list */
+ struct cds_list_head list;
+ /* head of session list to which this wildcard apply */
+ struct cds_list_head session_list;
+ enum lttng_ust_loglevel_type loglevel_type;
+ int loglevel;
+ char name[0];
+};
+
+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;