X-Git-Url: http://git.liburcu.org/?a=blobdiff_plain;f=lttng-events.h;h=f74f9d52cccb81302b18c242712cb2941009a4e1;hb=3aed4dca825a63757a3c95b9d41019660f83e02d;hp=4093bd8abd6a39567bd33213cb33746218c9f3f0;hpb=149b9a9d86d7351ee9a44ce391884cc12e922124;p=lttng-modules.git diff --git a/lttng-events.h b/lttng-events.h index 4093bd8a..f74f9d52 100644 --- a/lttng-events.h +++ b/lttng-events.h @@ -285,6 +285,13 @@ struct lttng_enabler_ref { struct lttng_enabler *ref; /* backward ref */ }; +struct lttng_uprobe_handler { + struct lttng_event *event; + loff_t offset; + struct uprobe_consumer up_consumer; + struct list_head node; +}; + /* * lttng_event structure is referred to by the tracing fast path. It must be * kept small. @@ -311,9 +318,8 @@ struct lttng_event { char *symbol_name; } ftrace; struct { - struct uprobe_consumer up_consumer; struct inode *inode; - loff_t offset; + struct list_head head; } uprobe; } u; struct list_head list; /* Event list in session */ @@ -777,19 +783,26 @@ void lttng_kprobes_destroy_private(struct lttng_event *event) } #endif +int lttng_event_add_callsite(struct lttng_event *event, + struct lttng_kernel_event_callsite *callsite); #ifdef CONFIG_UPROBES int lttng_uprobes_register(const char *name, - const char *path, - uint64_t offset, - struct lttng_event *event); + int fd, struct lttng_event *event); +int lttng_uprobes_add_callsite(struct lttng_event *event, + struct lttng_kernel_event_callsite *callsite); void lttng_uprobes_unregister(struct lttng_event *event); void lttng_uprobes_destroy_private(struct lttng_event *event); #else static inline int lttng_uprobes_register(const char *name, - const char *path, - uint64_t offset, - struct lttng_event *event) + int fd, struct lttng_event *event) +{ + return -ENOSYS; +} + +static inline +int lttng_uprobes_add_callsite(struct lttng_event *event, + struct lttng_kernel_callsite_uprobe *callsite) { return -ENOSYS; }