+extern int lttng_unregister_trigger(const struct lttng_trigger *trigger);
+
+/*
+ * List triggers for the current user.
+ *
+ * On success, a newly-allocated trigger set is returned.
+ *
+ * The trigger set must be destroyed by the caller (see
+ * lttng_triggers_destroy()).
+ *
+ * Returns LTTNG_OK on success, else a suitable LTTng error code.
+ */
+extern enum lttng_error_code lttng_list_triggers(
+ struct lttng_triggers **triggers);
+
+/*
+ * Get a trigger from the set at a given index.
+ *
+ * Note that the trigger set maintains the ownership of the returned trigger.
+ * It must not be destroyed by the user, nor should a reference to it be held
+ * beyond the lifetime of the trigger set.
+ *
+ * Returns a trigger, or NULL on error.
+ */
+extern const struct lttng_trigger *lttng_triggers_get_at_index(
+ const struct lttng_triggers *triggers, unsigned int index);
+
+/*
+ * Get the number of triggers in a trigger set.
+ *
+ * Return LTTNG_TRIGGER_STATUS_OK on success,
+ * LTTNG_TRIGGER_STATUS_INVALID when invalid parameters are passed.
+ */
+extern enum lttng_trigger_status lttng_triggers_get_count(
+ const struct lttng_triggers *triggers, unsigned int *count);
+
+/*
+ * Destroy a trigger set.
+ */
+extern void lttng_triggers_destroy(struct lttng_triggers *triggers);
+