-/*
+/*
* Copyright (C) 2011 - David Goulet <david.goulet@polymtl.ca>
*
* This program is free software; you can redistribute it and/or
#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;
* 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;
+ pid_t kernel_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 */