#define _LTT_SESSION_H
#include <lttng/lttng.h>
+#include <urcu/list.h>
#include <uuid/uuid.h>
/* Global session list */
struct cds_list_head head;
};
+extern struct ltt_session_list ltt_session_list;
+
/* ltt-session - This data structure contains information needed
* to identify a tracing session for both LTTng and UST.
*/
struct ltt_session {
- char *name;
struct cds_list_head list;
+ char *name;
+ char *path;
uuid_t uuid;
struct cds_list_head ust_traces;
- struct cds_list_head kernel_traces;
+ struct ltt_kernel_session *kernel_session;
unsigned int ust_trace_count;
- unsigned int kern_trace_count;
+ unsigned int kern_session_count;
pid_t ust_consumer;
- pid_t kernel_consumer;
};
/* Prototypes */
-int create_session(char *name, uuid_t *session_id);
-int destroy_session(uuid_t *uuid);
+int create_session(char *name, char *path);
+int destroy_session(char *name);
void get_lttng_session(struct lttng_session *sessions);
struct ltt_session *find_session_by_uuid(uuid_t session_id);
struct ltt_session *find_session_by_name(char *name);
unsigned int get_session_count(void);
+struct ltt_session_list *get_session_list(void);
#endif /* _LTT_SESSION_H */