X-Git-Url: http://git.liburcu.org/?a=blobdiff_plain;f=lttng-events.h;h=f5a7d23dd7b89b40320281975fe656ceba78fd47;hb=b90a7f303d6a661ad7b93cbdb249b741be305aed;hp=f6fe151886debe591ff295c800a80b5e5d81e5db;hpb=56377c91f874d50ea03d1f3f4698c77f69cbf83c;p=lttng-modules.git diff --git a/lttng-events.h b/lttng-events.h index f6fe1518..f5a7d23d 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,27 @@ 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, - int fd, - 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, - int fd, - 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_event_callsite *callsite) { return -ENOSYS; }