struct lttng_channel_ops {
struct channel *(*channel_create)(const char *name,
- struct lttng_channel *lttng_chan,
+ void *priv,
void *buf_addr,
size_t subbuf_size, size_t num_subbuf,
unsigned int switch_timer_interval,
char creation_time[LTTNG_KERNEL_SESSION_CREATION_TIME_ISO8601_LEN];
};
+struct lttng_event_notifier_group {
+ struct file *file; /* File associated to event notifier group */
+ struct list_head node; /* event notifier group list */
+ struct lttng_ctx *ctx; /* Contexts for filters. */
+ struct lttng_channel_ops *ops;
+ struct lttng_transport *transport;
+ struct channel *chan; /* Ring buffer channel for event notifier group. */
+ struct lib_ring_buffer *buf; /* Ring buffer for event notifier group. */
+};
+
struct lttng_metadata_cache {
char *data; /* Metadata cache */
unsigned int cache_alloc; /* Metadata allocated size (bytes) */
int lttng_session_statedump(struct lttng_session *session);
void metadata_cache_destroy(struct kref *kref);
+struct lttng_event_notifier_group *lttng_event_notifier_group_create(void);
+void lttng_event_notifier_group_destroy(
+ struct lttng_event_notifier_group *event_notifier_group);
+
struct lttng_channel *lttng_channel_create(struct lttng_session *session,
const char *transport_name,
void *buf_addr,
int lttng_probe_register(struct lttng_probe_desc *desc);
void lttng_probe_unregister(struct lttng_probe_desc *desc);
-const struct lttng_event_desc *lttng_event_get(const char *name);
-void lttng_event_put(const struct lttng_event_desc *desc);
+const struct lttng_event_desc *lttng_event_desc_get(const char *name);
+void lttng_event_desc_put(const struct lttng_event_desc *desc);
int lttng_probes_init(void);
void lttng_probes_exit(void);