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 tracepoint_loglevel *loglevels;
+};
+
+struct tp_loglevel_iter {
+ struct lttng_probe_desc *desc;
+ const struct tracepoint_loglevel_entry *loglevel;
};
struct ust_pending_probe;
struct ltt_channel_ops ops;
};
-struct tracepoint_loglevel_enum_entry {
- const char *identifier;
- long value;
-};
-
-/* mapping between tracepoint and loglevel */
-struct tracepoint_loglevel {
- const char *name;
- const struct tracepoint_loglevel_enum_entry *loglevel;
-};
-
struct ltt_session *ltt_session_create(void);
int ltt_session_enable(struct ltt_session *session);
int ltt_session_disable(struct ltt_session *session);
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);