Fix: add missing JUL loglevel handling
[lttng-tools.git] / include / lttng / lttng.h
index 0307536d387e600c8d8127b923883af3a56d5385..18dec2a8acfbf4da2eb07a63bb3174107f4a5509 100644 (file)
@@ -95,6 +95,22 @@ enum lttng_loglevel {
        LTTNG_LOGLEVEL_DEBUG                  = 14,
 };
 
+/*
+ * Available loglevels for the JUL domain. Those are an exact map from the
+ * class java.util.logging.Level.
+ */
+enum lttng_loglevel_jul {
+       LTTNG_LOGLEVEL_JUL_OFF                = INT32_MAX,
+       LTTNG_LOGLEVEL_JUL_SEVERE             = 1000,
+       LTTNG_LOGLEVEL_JUL_WARNING            = 900,
+       LTTNG_LOGLEVEL_JUL_INFO               = 800,
+       LTTNG_LOGLEVEL_JUL_CONFIG             = 700,
+       LTTNG_LOGLEVEL_JUL_FINE               = 500,
+       LTTNG_LOGLEVEL_JUL_FINER              = 400,
+       LTTNG_LOGLEVEL_JUL_FINEST             = 300,
+       LTTNG_LOGLEVEL_JUL_ALL                = INT32_MIN,
+};
+
 /*
  * LTTng consumer mode
  */
@@ -226,7 +242,7 @@ struct lttng_event_function_attr {
  *
  * The structures should be initialized to zero before use.
  */
-#define LTTNG_EVENT_PADDING1               15
+#define LTTNG_EVENT_PADDING1               14
 #define LTTNG_EVENT_PADDING2               LTTNG_SYMBOL_NAME_LEN + 32
 struct lttng_event {
        enum lttng_event_type type;
@@ -238,6 +254,7 @@ struct lttng_event {
        int32_t enabled;        /* Does not apply: -1 */
        pid_t pid;
        unsigned char filter;   /* filter enabled ? */
+       unsigned char exclusion; /* exclusions added ? */
 
        char padding[LTTNG_EVENT_PADDING1];
 
@@ -572,6 +589,23 @@ 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.
+ */
+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.
  *
This page took 0.02481 seconds and 4 git commands to generate.