X-Git-Url: http://git.liburcu.org/?a=blobdiff_plain;f=liblttng-ust%2Ftracepoint-internal.h;h=3cc95e566b909fe3b705390af0c14d16018ca4c3;hb=f56a7aba42af986be4de9b4917dbdcb22fed10e0;hp=c883c7bda62ef8ce1bf9e3d10de9894237ac5ead;hpb=4ab44fbe7377ad603da7dccebf2e0af6b768fa91;p=lttng-ust.git diff --git a/liblttng-ust/tracepoint-internal.h b/liblttng-ust/tracepoint-internal.h index c883c7bd..3cc95e56 100644 --- a/liblttng-ust/tracepoint-internal.h +++ b/liblttng-ust/tracepoint-internal.h @@ -20,28 +20,24 @@ */ #include +#include #include +#define TRACE_DEFAULT TRACE_DEBUG_LINE + struct tracepoint_lib { - struct cds_list_head list; - struct tracepoint tracepoints_start; + struct cds_list_head list; /* list of registered libs */ + struct lttng_ust_tracepoint * const *tracepoints_start; int tracepoints_count; + struct cds_list_head callsites; }; -struct tracepoint_iter { - struct tracepoint_lib *lib; - struct tracepoint * const *tracepoint; - -extern int tracepoint_probe_register_noupdate(const char *name, void *callback, void *priv); -extern int tracepoint_probe_unregister_noupdate(const char *name, void *callback, void *priv); -extern int tracepoint_probe_update_all(void); - -extern void tracepoint_iter_start(struct tracepoint_iter *iter); -extern void tracepoint_iter_next(struct tracepoint_iter *iter); -extern void tracepoint_iter_stop(struct tracepoint_iter *iter); -extern void tracepoint_iter_reset(struct tracepoint_iter *iter); -extern int tracepoint_get_iter_range(struct tracepoint * const **tracepoint, - struct tracepoint * const *begin, struct tracepoint * const *end); +extern int tracepoint_probe_register_noupdate(const char *name, + void (*callback)(void), void *priv, + const char *signature); +extern int tracepoint_probe_unregister_noupdate(const char *name, + void (*callback)(void), void *priv); +extern void tracepoint_probe_update_all(void); /* * call after disconnection of last probe implemented within a @@ -49,10 +45,12 @@ extern int tracepoint_get_iter_range(struct tracepoint * const **tracepoint, */ static inline void tracepoint_synchronize_unregister(void) { - synchronize_rcu(); + synchronize_rcu_bp(); } extern void init_tracepoint(void); extern void exit_tracepoint(void); +void *lttng_ust_tp_check_weak_hidden(void); + #endif /* _LTTNG_TRACEPOINT_INTERNAL_H */