+struct tracepoint_loglevel_entry {
+ const char *identifier;
+ long value;
+};
+
+struct loglevel_entry;
+
+/*
+ * Entry describing a per-session active loglevel, along with the event
+ * attribute and channel information configuring the events that need to
+ * be enabled.
+ */
+struct session_loglevel {
+ 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 loglevels */
+ struct cds_list_head session_list;
+ struct loglevel_entry *entry;
+ unsigned int enabled:1;
+};
+
+/*
+ * Entry describing an active loglevel (per name) for all sessions.
+ */
+struct loglevel_entry {
+ struct cds_hlist_node hlist;
+ struct cds_list_head session_list;
+ char name[0];
+};
+
+/*
+ * 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;
+ struct wildcard_entry *entry;
+ unsigned int enabled:1;
+};
+
+/*
+ * Entry describing an active wildcard (per name) for all sessions.
+ */
+struct wildcard_entry {
+ struct cds_list_head list;
+ struct cds_list_head session_list;
+ char name[0];
+};
+