Add context management infrastructure
[lttng-modules.git] / ltt-events.h
index 4179fb7c6720e7107f78d2d492f393d8fbc00227..bacef0a82e69c92f4dca34291a70db7426ccb86b 100644 (file)
@@ -125,6 +125,7 @@ struct lttng_ctx_field {
                        struct perf_event_attr *attr;
                } perf_counter;
        } u;
+       void (*destroy)(struct lttng_ctx_field *field);
 };
 
 struct lttng_ctx {
@@ -261,6 +262,8 @@ const struct lttng_event_desc *ltt_event_get(const char *name);
 void ltt_event_put(const struct lttng_event_desc *desc);
 int ltt_probes_init(void);
 void ltt_probes_exit(void);
+struct lttng_ctx_field *lttng_append_context(struct lttng_ctx **ctx);
+void lttng_destroy_context(struct lttng_ctx *ctx);
 
 #ifdef CONFIG_KPROBES
 int lttng_kprobes_register(const char *name,
@@ -269,6 +272,7 @@ int lttng_kprobes_register(const char *name,
                uint64_t addr,
                struct ltt_event *event);
 void lttng_kprobes_unregister(struct ltt_event *event);
+void lttng_kprobes_destroy_private(struct ltt_event *event);
 #else
 static inline
 int lttng_kprobes_register(const char *name,
@@ -284,6 +288,11 @@ static inline
 void lttng_kprobes_unregister(struct ltt_event *event)
 {
 }
+
+static inline
+void lttng_kprobes_destroy_private(struct ltt_event *event)
+{
+}
 #endif
 
 #ifdef CONFIG_DYNAMIC_FTRACE
@@ -291,6 +300,7 @@ int lttng_ftrace_register(const char *name,
                          const char *symbol_name,
                          struct ltt_event *event);
 void lttng_ftrace_unregister(struct ltt_event *event);
+void lttng_ftrace_destroy_private(struct ltt_event *event);
 #else
 static inline
 int lttng_ftrace_register(const char *name,
@@ -304,6 +314,11 @@ static inline
 void lttng_ftrace_unregister(struct ltt_event *event)
 {
 }
+
+static inline
+void lttng_ftrace_destroy_private(struct ltt_event *event)
+{
+}
 #endif
 
 extern const struct file_operations lttng_tracepoint_list_fops;
This page took 0.02381 seconds and 4 git commands to generate.