X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=blobdiff_plain;f=liblttsessiondcomm%2Fliblttsessiondcomm.h;h=83dcdc377ddbeaeebcc7eb35d8a54389185efc99;hp=b52d1dd5b5c19655e617967e773d49ef9d14a15f;hb=87378cf56f08f23cd6715a923ba10d98343902d7;hpb=fac6795d6e2c60e79bdc7dab42da94d2025a57d3 diff --git a/liblttsessiondcomm/liblttsessiondcomm.h b/liblttsessiondcomm/liblttsessiondcomm.h index b52d1dd5b..83dcdc377 100644 --- a/liblttsessiondcomm/liblttsessiondcomm.h +++ b/liblttsessiondcomm/liblttsessiondcomm.h @@ -31,15 +31,10 @@ /* Queue size of listen(2) */ #define MAX_LISTEN 10 -/* Maximum amount of PID the list_apps command - * can send back to the lttng client. - */ -#define MAX_APPS_PID 20 - /* Get the error code index from 0 since * LTTCOMM_OK start at 1000 */ -#define LTTCOMM_ERR_INDEX(code) code - LTTCOMM_OK +#define LTTCOMM_ERR_INDEX(code) (code - LTTCOMM_OK) enum lttcomm_command_type { LTTNG_CREATE_SESSION, @@ -78,6 +73,9 @@ enum lttcomm_return_code { LTTCOMM_SESSION_FAIL, /* Create session fail */ LTTCOMM_START_FAIL, /* Start tracing fail */ LTTCOMM_LIST_FAIL, /* Listing apps fail */ + LTTCOMM_NO_APPS, /* No traceable application */ + LTTCOMM_NO_SESS, /* No sessions available */ + LTTCOMM_FATAL, /* Session daemon had a fatal error */ LTTCOMM_NR, /* Last element */ }; @@ -118,7 +116,11 @@ struct lttcomm_session_msg { }; /* - * Data structure for the lttng client response + * Data structure for the lttng client response. + * + * This data structure is the control struct use in + * the header of the transmission. NEVER put variable + * size data in here. */ struct lttcomm_lttng_msg { enum lttcomm_command_type cmd_type; @@ -126,19 +128,14 @@ struct lttcomm_lttng_msg { uuid_t session_id; pid_t pid; char trace_name[NAME_MAX]; - union { - /* UST_LIST_APPS */ - struct { - size_t size; - pid_t pids[MAX_APPS_PID]; - } list_apps; - } u; + unsigned int size_payload; }; extern int lttcomm_create_unix_sock(const char *pathname); 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);