struct lttng_condition *condition;
struct lttng_action *action;
+ char *name;
/* For now only the uid portion of the credentials is used. */
struct lttng_credentials creds;
};
struct lttng_trigger_comm {
- /* length excludes its own length. */
- uint32_t length;
/*
* Credentials, only the uid portion is used for now.
* Used as an override when desired by the root user.
*/
uint64_t uid;
- /* A condition and action object follow. */
+ /*
+ * Length of the variable length payload (name, condition, and
+ * an action).
+ */
+ uint32_t length;
+ /* Includes '\0' terminator. */
+ uint32_t name_length;
+ /* A null-terminated name, a condition, and an action follow. */
char payload[];
} LTTNG_PACKED;
LTTNG_HIDDEN
bool lttng_trigger_validate(struct lttng_trigger *trigger);
+LTTNG_HIDDEN
+int lttng_trigger_assign_name(
+ struct lttng_trigger *dst, const struct lttng_trigger *src);
+
+LTTNG_HIDDEN
+int lttng_trigger_generate_name(struct lttng_trigger *trigger,
+ uint64_t unique_id);
+
LTTNG_HIDDEN
bool lttng_trigger_is_equal(
const struct lttng_trigger *a, const struct lttng_trigger *b);