* 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-lttng-sessiond"
#define DEFAULT_GLOBAL_APPS_UNIX_SOCK LTTNG_RUNDIR "/apps-lttng-sessiond"
-#define DEFAULT_HOME_APPS_UNIX_SOCK "%s/.apps-lttng-sessiond"
-#define DEFAULT_HOME_CLIENT_UNIX_SOCK "%s/.client-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
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 */