-#ifndef _UST_LTTNG_EVENTS_H
-#define _UST_LTTNG_EVENTS_H
+#ifndef _LTTNG_UST_EVENTS_H
+#define _LTTNG_UST_EVENTS_H
/*
- * ust/lttng-events.h
+ * lttng/ust-events.h
*
* Copyright 2010 (c) - Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
*
* Holds LTTng per-session event registry.
*
- * Dual LGPL v2.1/GPL v2 license.
+ * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
+ * OR IMPLIED. ANY USE IS AT YOUR OWN RISK.
+ *
+ * Permission is hereby granted to use or copy this program
+ * for any purpose, provided the above notices are retained on all copies.
+ * Permission to modify the code and to distribute modified code is granted,
+ * provided the above notices are retained, and a notice that the code was
+ * modified is included with the above copyright notice.
*/
#include <urcu/list.h>
unsigned int allocated_fields;
};
+struct tracepoint_loglevel_entry {
+ const char *identifier;
+ long value;
+};
+
struct lttng_event_desc {
const char *name;
void *probe_callback;
const struct lttng_event_ctx *ctx; /* context */
const struct lttng_event_field *fields; /* event payload */
unsigned int nr_fields;
+ const struct tracepoint_loglevel_entry **loglevel;
};
struct lttng_probe_desc {
- const struct lttng_event_desc *event_desc;
+ const char *provider;
+ const struct lttng_event_desc **event_desc;
unsigned int nr_events;
+ const struct tracepoint_loglevel_entry **loglevels;
+ unsigned int nr_loglevels;
struct cds_list_head head; /* chain registered probes */
};
+struct tp_list_entry {
+ struct lttng_ust_tracepoint_iter tp;
+ struct cds_list_head head;
+};
+
+struct lttng_ust_tracepoint_list {
+ struct tp_list_entry *iter;
+ struct cds_list_head head;
+};
+
struct ust_pending_probe;
/*
} u;
struct cds_list_head list; /* Event list */
struct ust_pending_probe *pending_probe;
- int metadata_dumped:1;
+ unsigned int metadata_dumped:1;
};
struct channel;
unsigned int switch_timer_interval,
unsigned int read_timer_interval,
int *shm_fd, int *wait_fd,
- uint64_t *memory_map_size);
+ uint64_t *memory_map_size,
+ struct ltt_channel *chan_priv_init);
void (*channel_destroy)(struct ltt_channel *ltt_chan);
struct lttng_ust_lib_ring_buffer *(*buffer_read_open)(struct channel *chan,
struct lttng_ust_shm_handle *handle,
struct ltt_channel_ops *ops;
int header_type; /* 0: unset, 1: compact, 2: large */
struct lttng_ust_shm_handle *handle; /* shared-memory handle */
- int metadata_dumped:1;
+ unsigned int metadata_dumped:1;
/* Channel ID, available for consumer too */
unsigned int id;
struct cds_list_head list; /* Session list */
unsigned int free_chan_id; /* Next chan ID to allocate */
uuid_t uuid; /* Trace session unique ID */
- int metadata_dumped:1;
+ unsigned int metadata_dumped:1;
};
struct ltt_transport {
unsigned int switch_timer_interval,
unsigned int read_timer_interval,
int *shm_fd, int *wait_fd,
- uint64_t *memory_map_size);
+ uint64_t *memory_map_size,
+ struct ltt_channel *chan_priv_init);
struct ltt_channel *ltt_global_channel_create(struct ltt_session *session,
int overwrite, void *buf_addr,
size_t subbuf_size, size_t num_subbuf,
int *shm_fd, int *wait_fd,
uint64_t *memory_map_size);
-struct ltt_event *ltt_event_create(struct ltt_channel *chan,
- struct lttng_ust_event *event_param,
- void *filter);
+int ltt_event_create(struct ltt_channel *chan,
+ struct lttng_ust_event *event_param,
+ void *filter,
+ struct ltt_event **event);
int ltt_channel_enable(struct ltt_channel *channel);
int ltt_channel_disable(struct ltt_channel *channel);
const struct lttng_ust_lib_ring_buffer_client_cb *lttng_client_callbacks_discard;
const struct lttng_ust_lib_ring_buffer_client_cb *lttng_client_callbacks_overwrite;
-struct cds_list_head ltt_transport_list;
struct ltt_transport *ltt_transport_find(const char *name);
-#endif /* _UST_LTTNG_EVENTS_H */
+int ltt_probes_get_event_list(struct lttng_ust_tracepoint_list *list);
+void ltt_probes_prune_event_list(struct lttng_ust_tracepoint_list *list);
+struct lttng_ust_tracepoint_iter *
+ lttng_ust_tracepoint_list_get_iter_next(struct lttng_ust_tracepoint_list *list);
+
+#endif /* _LTTNG_UST_EVENTS_H */