X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=blobdiff_plain;f=include%2Flttng%2Ftrigger%2Ftrigger.h;fp=include%2Flttng%2Ftrigger%2Ftrigger.h;h=e92897fd541e79accfeac412393dd780e1014a4d;hp=feffc6a8f9fb0f1c05c8b1f19b9cb1f308988a7e;hb=64eafdf60552bbd7e22fb1c8fc8fc2b42a3cf68b;hpb=0db0f8e075e3790a2707736d2a4d086b123f3160 diff --git a/include/lttng/trigger/trigger.h b/include/lttng/trigger/trigger.h index feffc6a8f..e92897fd5 100644 --- a/include/lttng/trigger/trigger.h +++ b/include/lttng/trigger/trigger.h @@ -8,6 +8,8 @@ #ifndef LTTNG_TRIGGER_H #define LTTNG_TRIGGER_H +#include + struct lttng_action; struct lttng_condition; struct lttng_trigger; @@ -21,6 +23,16 @@ enum lttng_register_trigger_status { LTTNG_REGISTER_TRIGGER_STATUS_INVALID = -1, }; +enum lttng_trigger_status { + LTTNG_TRIGGER_STATUS_OK = 0, + LTTNG_TRIGGER_STATUS_ERROR = -1, + LTTNG_TRIGGER_STATUS_UNKNOWN = -2, + LTTNG_TRIGGER_STATUS_INVALID = -3, + LTTNG_TRIGGER_STATUS_UNSET = -4, + LTTNG_TRIGGER_STATUS_UNSUPPORTED = -5, + LTTNG_TRIGGER_STATUS_PERMISSION_DENIED = -6, +}; + /* * Create a trigger object associating a condition and an action. * @@ -42,6 +54,28 @@ enum lttng_register_trigger_status { extern struct lttng_trigger *lttng_trigger_create( struct lttng_condition *condition, struct lttng_action *action); +/* + * Set the user identity (uid) of a trigger. + * + * Only available for the root user (uid 0). + * + * Returns LTTNG_TRIGGER_STATUS_OK on success, + * LTTNG_TRIGGER_STATUS_EPERM if not authorized, + * LTTNG_TRIGGER_STATUS_INVALID if invalid parameters are passed. + */ +extern enum lttng_trigger_status lttng_trigger_set_owner_uid( + struct lttng_trigger *trigger, uid_t uid); + +/* + * Get the user identity (uid) of a trigger. + * + * Returns LTTNG_TRIGGER_STATUS_OK on success, + * LTTNG_TRIGGER_STATUS_UNSET if unset, + * LTTNG_TRIGGER_STATUS_INVALID if invalid parameters are passed. + */ +extern enum lttng_trigger_status lttng_trigger_get_owner_uid( + const struct lttng_trigger *trigger, uid_t *uid); + /* * Get the condition of a trigger. *