struct ltt_channel;
struct ltt_session;
+enum instrum_type itype {
+ INSTRUM_TRACEPOINTS,
+};
+
/*
* ltt_event structure is referred to by the tracing fast path. It must be
* kept small.
struct ltt_event {
unsigned int id;
struct ltt_channel *chan;
+ void *probe;
void *filter;
char *name;
+ enum instrum_type itype;
struct list_head list; /* Event list */
};
struct ltt_session *session;
unsigned int free_event_id; /* Next event ID to allocate */
struct list_head list; /* Channel list */
- char name[PATH_MAX];
+ wait_queue_head_t notify_wait; /* Channel addition notif. waitqueue */
};
struct ltt_session {
struct list_head chan; /* Channel list head */
struct list_head events; /* Event list head */
struct list_head list; /* Session list */
- char name[PATH_MAX];
};
-struct ltt_session *ltt_session_create(char *name);
+struct ltt_session *ltt_session_create(void);
int ltt_session_destroy(struct ltt_session *session);
-struct ltt_channel *ltt_channel_create(struct ltt_session *session, char *name,
+struct ltt_channel *ltt_channel_create(struct ltt_session *session,
int overwrite, void *buf_addr,
size_t subbuf_size, size_t num_subbuf,
unsigned int switch_timer_interval,
unsigned int read_timer_interval);
int _ltt_channel_destroy(struct ltt_channel *chan);
-struct ltt_event *ltt_event_create(struct ltt_channel *chan, char *name,
+struct ltt_event *ltt_event_create(struct ltt_channel *chan,
+ enum instrum_type itype,
+ char *name,
void *filter);
int _ltt_event_destroy(struct ltt_event *event);