#ifndef _LTT_SESSION_H
#define _LTT_SESSION_H
+#include <lttng/lttng.h>
+#include <urcu/list.h>
+#include <uuid/uuid.h>
+
/* Global session list */
struct ltt_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 lttng_traces;
+ struct ltt_kernel_session *kernel_session;
+ unsigned int ust_trace_count;
+ unsigned int kern_session_count;
pid_t ust_consumer;
- pid_t lttng_consumer;
};
/* Prototypes */
-int create_session(char *name, uuid_t *session_id);
-int destroy_session(uuid_t *uuid);
-void get_lttng_session(struct lttng_session *lt);
+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 */