#ifndef _LTT_SESSION_H
#define _LTT_SESSION_H
-#include <lttng/liblttngctl.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;
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);
+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 */