Add support for UST application registration
[lttng-tools.git] / include / lttng-sessiond-comm.h
index f57b0cd5f51bad2de8701b506b013dbe3d791406..4deec5fc8d4fd00163fb1ee110a41e26ef523997 100644 (file)
@@ -28,6 +28,7 @@
 
 #include <limits.h>
 #include <lttng/lttng.h>
+#include <lttng-ust.h>
 
 #define LTTNG_RUNDIR                        "/var/run/lttng"
 
@@ -40,8 +41,8 @@
 /* Queue size of listen(2) */
 #define MAX_LISTEN 10
 
-/* Get the error code index from 0 since
- * LTTCOMM_OK start at 1000
+/*
+ * Get the error code index from 0 since LTTCOMM_OK start at 1000
  */
 #define LTTCOMM_ERR_INDEX(code) (code - LTTCOMM_OK)
 
@@ -63,6 +64,7 @@ enum lttcomm_sessiond_command {
        LTTNG_LIST_EVENTS,
        LTTNG_LIST_SESSIONS,
        LTTNG_LIST_TRACEPOINTS,
+       LTTNG_REGISTER_CONSUMER,
        LTTNG_START_TRACE,
        LTTNG_STOP_TRACE,
 };
@@ -91,6 +93,7 @@ enum lttcomm_return_code {
        LTTCOMM_SELECT_SESS,                    /* Must select a session */
        LTTCOMM_EXIST_SESS,                             /* Session name already exist */
        LTTCOMM_NO_EVENT,                               /* No event found */
+       LTTCOMM_CONNECT_FAIL,           /* Unable to connect to unix socket */
        LTTCOMM_KERN_NA,                                /* Kernel tracer unavalable */
        LTTCOMM_KERN_EVENT_EXIST,       /* Kernel event already exists */
        LTTCOMM_KERN_SESS_FAIL,                 /* Kernel create session failed */
@@ -154,6 +157,10 @@ struct lttcomm_session_msg {
                        char event_name[NAME_MAX];
                        struct lttng_event_context ctx;
                } context;
+               /* Use by register_consumer */
+               struct {
+                       char path[PATH_MAX];
+               } reg;
                /* List */
                struct {
                        char channel_name[NAME_MAX];
@@ -196,6 +203,33 @@ struct lttcomm_kconsumerd_msg {
        enum lttng_event_output output; /* use splice or mmap to consume this fd */
 };
 
+/*
+ * Data structure for the commands sent from sessiond to UST.
+ */
+struct lttcomm_ust_msg {
+       uint32_t handle;
+       uint32_t cmd;
+       union {
+               struct lttng_ust_tracer_version version;
+               struct lttng_ust_channel channel;
+               struct lttng_ust_event event;
+               struct lttng_ust_context context;
+       } u;
+};
+
+/*
+ * Data structure for the response from UST to the session daemon.
+ * cmd_type is sent back in the reply for validation.
+ */
+struct lttcomm_ust_reply {
+       uint32_t handle;
+       uint32_t cmd;
+       uint32_t ret_code;      /* enum lttcomm_return_code */
+       uint32_t ret_val;       /* return value */
+       union {
+       } u;
+};
+
 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);
This page took 0.023968 seconds and 4 git commands to generate.