lttng-ctl: Introduce lttng_log_level_rule
[lttng-tools.git] / include / lttng / event-rule / tracepoint-internal.h
index 227fe6de92aa1f885e9cdf1160f2c577aabe0211..6c4d438d5d02f63b599be29979d85db1eb60ae6a 100644 (file)
 
 #include <common/payload-view.h>
 #include <common/macros.h>
+#include <common/optional.h>
 #include <lttng/domain.h>
 #include <lttng/event-rule/event-rule-internal.h>
 #include <lttng/event-rule/tracepoint.h>
 #include <lttng/event.h>
+#include <lttng/log-level-rule-internal.h>
 
 struct lttng_event_rule_tracepoint {
        struct lttng_event_rule parent;
@@ -27,11 +29,8 @@ struct lttng_event_rule_tracepoint {
        /* Filter. */
        char *filter_expression;
 
-       /* Loglevel. */
-       struct {
-               enum lttng_loglevel_type type;
-               int value;
-       } loglevel;
+       /* Log level. */
+       struct lttng_log_level_rule *log_level_rule;
 
        /* Exclusions. */
        struct lttng_dynamic_pointer_array exclusions;
@@ -46,19 +45,19 @@ struct lttng_event_rule_tracepoint {
 struct lttng_event_rule_tracepoint_comm {
        /* enum lttng_domain_type. */
        int8_t domain_type;
-       /* enum lttng_event_logleven_type. */
-       int8_t loglevel_type;
-       int32_t loglevel_value;
        /* Includes terminator `\0`. */
        uint32_t pattern_len;
        /* Includes terminator `\0`. */
        uint32_t filter_expression_len;
+       /*  enum lttng_log_level_rule_comm + payload if any */
+       uint32_t log_level_rule_len;
        uint32_t exclusions_count;
        uint32_t exclusions_len;
        /*
         * Payload is composed of, in that order:
         *   - pattern (null terminated),
         *   - filter expression (null terminated),
+        *   - log level rule serialized object,
         *   - exclusions (32 bit length + null terminated string).
         */
        char payload[];
This page took 0.023074 seconds and 4 git commands to generate.