struct perf_event_attr *attr;
} perf_counter;
} u;
+ void (*destroy)(struct lttng_ctx_field *field);
};
struct lttng_ctx {
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,
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,
void lttng_kprobes_unregister(struct ltt_event *event)
{
}
+
+static inline
+void lttng_kprobes_destroy_private(struct ltt_event *event)
+{
+}
#endif
#ifdef CONFIG_DYNAMIC_FTRACE
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,
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;
+
#endif /* _LTT_EVENTS_H */