* These declarations should NOT be considered stable API.
*/
+#define _GNU_SOURCE
#include <limits.h>
#include <lttng/lttng.h>
+#include <sys/socket.h>
#define LTTNG_RUNDIR "/var/run/lttng"
+#define LTTNG_HOME_RUNDIR "%s/.lttng"
/* Default unix socket path */
-#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"
+#define DEFAULT_GLOBAL_CLIENT_UNIX_SOCK LTTNG_RUNDIR "/client-lttng-sessiond"
+#define DEFAULT_GLOBAL_APPS_UNIX_SOCK LTTNG_RUNDIR "/apps-lttng-sessiond"
+#define DEFAULT_HOME_APPS_UNIX_SOCK LTTNG_HOME_RUNDIR "/apps-lttng-sessiond"
+#define DEFAULT_HOME_CLIENT_UNIX_SOCK LTTNG_HOME_RUNDIR "/client-lttng-sessiond"
/* Queue size of listen(2) */
#define LTTNG_SESSIOND_COMM_MAX_LISTEN 64
LTTCOMM_KERN_NO_SESSION, /* No kernel session found */
LTTCOMM_KERN_LIST_FAIL, /* Kernel listing events failed */
LTTCOMM_UST_SESS_FAIL, /* UST create session failed */
+ LTTCOMM_UST_CHAN_EXIST, /* UST channel already exist */
+ LTTCOMM_UST_CHAN_FAIL, /* UST create channel failed */
LTTCOMM_UST_CHAN_NOT_FOUND, /* UST channel not found */
- LTTCOMM_UST_CHAN_FAIL, /* UST create channel failed */
+ LTTCOMM_UST_CHAN_DISABLE_FAIL, /* UST disable channel failed */
+ LTTCOMM_UST_CHAN_ENABLE_FAIL, /* UST enable channel failed */
+ LTTCOMM_UST_CONTEXT_FAIL, /* UST add context failed */
+ LTTCOMM_UST_ENABLE_FAIL, /* UST enable event failed */
+ LTTCOMM_UST_DISABLE_FAIL, /* UST disable event failed */
+ LTTCOMM_UST_META_FAIL, /* UST open metadata failed */
+ LTTCOMM_UST_START_FAIL, /* UST start trace failed */
+ LTTCOMM_UST_STOP_FAIL, /* UST stop trace failed */
+ LTTCOMM_UST_CONSUMER64_FAIL, /* 64-bit UST consumer start failed */
+ LTTCOMM_UST_CONSUMER32_FAIL, /* 32-bit UST consumer start failed */
+ LTTCOMM_UST_STREAM_FAIL, /* UST create stream failed */
+ LTTCOMM_UST_DIR_FAIL, /* UST trace directory creation failed */
+ LTTCOMM_UST_DIR_EXIST, /* UST trace directory exist */
+ LTTCOMM_UST_NO_SESSION, /* No UST session found */
+ LTTCOMM_UST_LIST_FAIL, /* UST listing events failed */
+ LTTCOMM_UST_EVENT_EXIST, /* UST event exist */
+ LTTCOMM_UST_EVENT_NOT_FOUND, /* UST event not found */
+ LTTCOMM_UST_CONTEXT_EXIST, /* UST context exist */
+
CONSUMERD_COMMAND_SOCK_READY, /* when consumerd command socket ready */
CONSUMERD_SUCCESS_RECV_FD, /* success on receiving fds */
CONSUMERD_ERROR_RECV_FD, /* error on receiving fds */
uint32_t state; /* enum lttcomm_consumer_fd_state */
enum lttng_event_output output; /* use splice or mmap to consume this fd */
uint64_t mmap_len;
+ uid_t uid; /* User ID owning the session */
+ gid_t gid; /* Group ID owning the session */
char path_name[PATH_MAX];
} stream;
} u;
};
-#ifdef CONFIG_LTTNG_TOOLS_HAVE_UST
+#ifdef HAVE_LIBLTTNG_UST_CTL
-#include <ust/lttng-ust-abi.h>
+#include <lttng/ust-abi.h>
/*
* Data structure for the commands sent from sessiond to UST.
} u;
};
-#endif /* CONFIG_LTTNG_TOOLS_HAVE_UST */
+#endif /* HAVE_LIBLTTNG_UST_CTL */
extern int lttcomm_create_unix_sock(const char *pathname);
extern int lttcomm_connect_unix_sock(const char *pathname);
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 ssize_t lttcomm_send_creds_unix_sock(int sock, void *buf, size_t len);
+extern ssize_t lttcomm_recv_creds_unix_sock(int sock, void *buf, size_t len,
+ struct ucred *creds);
+
extern const char *lttcomm_get_readable_code(enum lttcomm_return_code code);
+extern int lttcomm_setsockopt_creds_unix_sock(int sock);
#endif /* _LTTNG_SESSIOND_COMM_H */