X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=blobdiff_plain;f=include%2Flttng-sessiond-comm.h;h=c72a2471e85005b0727a4ecc882ccb2fb56779ec;hp=74d7dc99cef1385c518e13286f6085313292da3a;hb=6df2e2c977b698cc6b8f15c90b649516674028f9;hpb=67e407978a700da256ab4f58736002826c7be7c1 diff --git a/include/lttng-sessiond-comm.h b/include/lttng-sessiond-comm.h index 74d7dc99c..c72a2471e 100644 --- a/include/lttng-sessiond-comm.h +++ b/include/lttng-sessiond-comm.h @@ -26,8 +26,10 @@ * These declarations should NOT be considered stable API. */ +#define _GNU_SOURCE #include #include +#include #define LTTNG_RUNDIR "/var/run/lttng" #define LTTNG_HOME_RUNDIR "%s/.lttng" @@ -227,6 +229,8 @@ struct lttcomm_consumer_msg { 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; @@ -287,6 +291,12 @@ extern ssize_t lttcomm_recv_fds_unix_sock(int sock, int *fds, size_t nb_fd); 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 */