#include <linux/list.h>
#include <linux/uuid.h>
+#include <linux/kprobes.h>
#include "ltt-debugfs-abi.h"
struct ltt_channel;
struct lttng_event_field {
const char *name;
- const struct lttng_type type;
+ struct lttng_type type;
};
struct lttng_event_desc {
const struct lttng_event_desc *desc;
void *filter;
enum lttng_kernel_instrumentation instrumentation;
+ union {
+ struct {
+ struct kprobe kp;
+ char *symbol_name;
+ } kprobe;
+ } u;
struct list_head list; /* Event list */
int metadata_dumped:1;
};
struct ltt_event *ltt_event_create(struct ltt_channel *chan,
char *name,
- enum lttng_kernel_instrumentation instrumentation,
- const struct lttng_event_desc *event_desc,
+ struct lttng_kernel_event *event_param,
void *filter);
int ltt_event_unregister(struct ltt_event *event);
int ltt_probes_init(void);
void ltt_probes_exit(void);
+int lttng_kprobes_register(const char *name,
+ const char *symbol_name,
+ uint64_t offset,
+ uint64_t addr,
+ struct ltt_event *event);
+void lttng_kprobes_unregister(struct ltt_event *event);
+
#endif /* _LTT_EVENTS_H */