struct ltt_channel;
struct ltt_session;
+struct lib_ring_buffer_ctx;
/*
* ltt_event structure is referred to by the tracing fast path. It must be
unsigned int read_timer_interval);
void (*channel_destroy)(struct channel *chan);
struct lib_ring_buffer *(*buffer_read_open)(struct channel *chan);
- struct lib_ring_buffer *(*buffer_read_close)(struct lib_ring_buffer *buf);
+ void (*buffer_read_close)(struct lib_ring_buffer *buf);
+ int (*event_reserve)(struct lib_ring_buffer_ctx *ctx);
+ void (*event_commit)(struct lib_ring_buffer_ctx *ctx);
+ void (*event_write)(struct lib_ring_buffer_ctx *ctx, const void *src,
+ size_t len);
};
struct ltt_channel {
char *name,
enum instrum_type itype,
void *probe, void *filter);
-int _ltt_event_destroy(struct ltt_event *event);
+int _ltt_event_unregister(struct ltt_event *event);
+void _ltt_event_destroy(struct ltt_event *event);
void ltt_transport_register(struct ltt_transport *transport);
void ltt_transport_unregister(struct ltt_transport *transport);
+int ltt_debugfs_abi_init(void);
+void ltt_debugfs_abi_exit(void);
+
+int ltt_probe_register(const char *name, void *cb);
+void ltt_probe_unregister(const char *name);
+void *ltt_probe_get(const char *name);
+void ltt_probe_put(void *cb);
+int ltt_probes_init(void);
+void ltt_probes_exit(void);
+
#endif /* _LTT_EVENTS_H */