+/*
+ * Start tracing for *all* registered trace (kernel and user-space).
+ */
+extern int lttng_start_tracing(char *session_name);
+
+/*
+ * Stop tracing for *all* registered trace (kernel and user-space).
+ */
+extern int lttng_stop_tracing(char *session_name);
+
+/*
+ * Add context to event for a specific channel.
+ *
+ * If event_name is NULL, the context is applied to all event of the channel.
+ * If channel_name is NULL, a lookup of the event's channel is done.
+ * If both are NULL, the context is applied on all events of all channels.
+ */
+
+extern int lttng_add_context(struct lttng_domain *domain,
+ struct lttng_event_context *ctx, char *event_name, char *channel_name);
+
+/*
+ * Create or enable a kernel event.
+ *
+ * If the event you are trying to enable does not exist, it will be created,
+ * else it is enabled.
+ *
+ * If channel_name is NULL, the default channel is used (channel0).
+ */
+extern int lttng_enable_event(struct lttng_domain *domain, struct lttng_event *ev,
+ char *channel_name);
+
+/*
+ * Create or enable a kernel channel.
+ *
+ * If name is NULL, the default channel is enabled (channel0).
+ */
+extern int lttng_enable_channel(struct lttng_domain *domain, struct lttng_channel *chan);
+
+/*
+ * Disable kernel event.
+ *
+ * If channel_name is NULL, the default channel is used (channel0).
+ */
+extern int lttng_disable_event(struct lttng_domain *domain, char *name,
+ char *channel_name);
+
+/*
+ * Disable kernel channel.
+ *
+ * If channel_name is NULL, the default channel is disabled (channel0).
+ */
+extern int lttng_disable_channel(struct lttng_domain *domain, char *name);
+
+/*
+ * List kernel events.
+ *
+ * Return the size of the allocated event list. Caller must free(3) the data.
+ */
+extern int lttng_list_events(struct lttng_domain *domain, char **event_list);
+
+#endif /* _LTTNG_H */