#include <limits.h>
#include <uuid/uuid.h>
+#define LTTNG_RUNDIR "/var/run/lttng"
+
/* Default unix socket path */
-#define DEFAULT_GLOBAL_CLIENT_UNIX_SOCK "/tmp/client-ltt-sessiond"
-#define DEFAULT_GLOBAL_APPS_UNIX_SOCK "/tmp/apps-ltt-sessiond"
+#define DEFAULT_GLOBAL_CLIENT_UNIX_SOCK LTTNG_RUNDIR "/client-ltt-sessiond"
+#define DEFAULT_GLOBAL_APPS_UNIX_SOCK LTTNG_RUNDIR "/apps-ltt-sessiond"
#define DEFAULT_HOME_APPS_UNIX_SOCK "%s/.apps-ltt-sessiond"
#define DEFAULT_HOME_CLIENT_UNIX_SOCK "%s/.client-ltt-sessiond"
+/* Kernel consumer path */
+#define KCONSUMERD_PATH LTTNG_RUNDIR "/kconsumerd"
+#define KCONSUMERD_CMD_SOCK_PATH KCONSUMERD_PATH "/command"
+#define KCONSUMERD_ERR_SOCK_PATH KCONSUMERD_PATH "/error"
+
/* Queue size of listen(2) */
#define MAX_LISTEN 10
LTTNG_GET_SUBBUF_NUM_SIZE,
LTTNG_LIST_MARKERS,
LTTNG_LIST_SESSIONS,
+ LTTNG_LIST_TRACES,
LTTNG_LIST_TRACE_EVENTS,
LTTNG_SETUP_TRACE,
LTTNG_SET_SOCK_PATH,
LTTCOMM_CREATE_FAIL, /* Create trace fail */
LTTCOMM_SESSION_FAIL, /* Create session fail */
LTTCOMM_START_FAIL, /* Start tracing fail */
+ LTTCOMM_STOP_FAIL, /* Stop tracing fail */
LTTCOMM_LIST_FAIL, /* Listing apps fail */
LTTCOMM_NO_APPS, /* No traceable application */
LTTCOMM_NO_SESS, /* No sessions available */
+ LTTCOMM_NO_TRACE, /* No trace exist */
LTTCOMM_FATAL, /* Session daemon had a fatal error */
+ LTTCOMM_NO_TRACEABLE, /* Error for non traceable app */
+ LTTCOMM_SELECT_SESS, /* Must select a session */
+ LTTCOMM_EXIST_SESS, /* Session name already exist */
LTTCOMM_NR, /* Last element */
};
struct lttcomm_session_msg {
/* Common data to almost all command */
enum lttcomm_command_type cmd_type;
- char session_id[37];
+ uuid_t session_id;
char trace_name[NAME_MAX];
char session_name[NAME_MAX];
pid_t pid;
struct lttcomm_lttng_msg {
enum lttcomm_command_type cmd_type;
enum lttcomm_return_code ret_code;
- char session_id[37];
+ uuid_t session_id;
pid_t pid;
char trace_name[NAME_MAX];
unsigned int size_payload;
extern int lttcomm_connect_unix_sock(const char *pathname);
extern int lttcomm_accept_unix_sock(int sock);
extern int lttcomm_listen_unix_sock(int sock);
+extern int lttcomm_close_unix_sock(int sock);
extern ssize_t lttcomm_recv_unix_sock(int sock, void *buf, size_t len);
extern ssize_t lttcomm_send_unix_sock(int sock, void *buf, size_t len);
extern const char *lttcomm_get_readable_code(enum lttcomm_return_code code);