+/*
+ * Create or enable an event (or events) for a channel.
+ *
+ * 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).
+ *
+ * The handle and ev params can not be NULL.
+ *
+ * Return 0 on success else a negative LTTng error code.
+ */
+extern int lttng_enable_event(struct lttng_handle *handle,
+ struct lttng_event *ev, const char *channel_name);
+
+/*
+ * Create or enable an event with a specific filter.
+ *
+ * If the event you are trying to enable does not exist, it will be created,
+ * else it is enabled.
+ * If ev is NULL, all events are enabled with that filter.
+ * If channel_name is NULL, the default channel is used (channel0) and created
+ * if not found.
+ * If filter_expression is NULL, an event without associated filter is
+ * created.
+ *
+ * Return 0 on success else a negative LTTng error code.
+ */
+extern int lttng_enable_event_with_filter(struct lttng_handle *handle,
+ struct lttng_event *event, const char *channel_name,
+ const char *filter_expression);
+
+/*
+ * Create or enable an event with a filter and/or exclusions.
+ *
+ * If the event you are trying to enable does not exist, it will be created,
+ * else it is enabled.
+ * If ev is NULL, all events are enabled with the filter and exclusion options.
+ * If channel_name is NULL, the default channel is used (channel0) and created
+ * if not found.
+ * If filter_expression is NULL, an event without associated filter is
+ * created.
+ * If exclusion count is zero, the event will be created without exclusions.
+ *
+ * Return 0 on success else a negative LTTng error code.
+ */
+extern int lttng_enable_event_with_exclusions(struct lttng_handle *handle,
+ struct lttng_event *event, const char *channel_name,
+ const char *filter_expression,
+ int exclusion_count, char **exclusion_names);
+
+/*
+ * Create or enable a channel.
+ *
+ * The chan and handle params can not be NULL.
+ *
+ * Return 0 on success else a negative LTTng error code.
+ */
+extern int lttng_enable_channel(struct lttng_handle *handle,
+ struct lttng_channel *chan);
+
+/*
+ * Disable event(s) of a channel and domain.
+ *
+ * If name is NULL, all events are disabled.
+ * If channel_name is NULL, the default channel is used (channel0).
+ *
+ * Return 0 on success else a negative LTTng error code.
+ */
+extern int lttng_disable_event(struct lttng_handle *handle,
+ const char *name, const char *channel_name);
+
+/*
+ * Disable channel.
+ *
+ * Name and handle CAN NOT be NULL.
+ *
+ * Return 0 on success else a negative LTTng error code.
+ */
+extern int lttng_disable_channel(struct lttng_handle *handle,
+ const char *name);