UST periodical metadata flush
[lttng-tools.git] / src / common / sessiond-comm / sessiond-comm.h
index 60a3eade6171faf18f886078723ed48b2c1cc2f5..63d4eda078866b17342089aae7382e5aebf243a2 100644 (file)
@@ -138,6 +138,24 @@ enum lttcomm_sock_domain {
        LTTCOMM_INET6     = 1,
 };
 
+enum lttcomm_metadata_command {
+       LTTCOMM_METADATA_REQUEST = 1,
+};
+
+/*
+ * Commands sent from the consumerd to the sessiond to request if new metadata
+ * is available. This message is used to find the per UID _or_ per PID registry
+ * for the channel key. For per UID lookup, the triplet
+ * bits_per_long/uid/session_id is used. On lookup failure, we search for the
+ * per PID registry indexed by session id ignoring the other values.
+ */
+struct lttcomm_metadata_request_msg {
+       unsigned int session_id; /* Tracing session id */
+       uint32_t bits_per_long; /* Consumer ABI */
+       uint32_t uid;
+       uint64_t key; /* Metadata channel key. */
+} LTTNG_PACKED;
+
 struct lttcomm_sockaddr {
        enum lttcomm_sock_domain type;
        union {
@@ -309,6 +327,7 @@ struct lttcomm_consumer_msg {
                        uint64_t relayd_id;                     /* Relayd id if apply. */
                        uint64_t key;                           /* Unique channel key. */
                        unsigned char uuid[UUID_STR_LEN];       /* uuid for ust tracer. */
+                       uint32_t chan_id;                       /* Channel ID on the tracer side. */
                } LTTNG_PACKED ask_channel;
                struct {
                        uint64_t key;
@@ -327,6 +346,9 @@ struct lttcomm_consumer_msg {
                struct {
                        uint64_t key;   /* Metadata channel key. */
                } LTTNG_PACKED setup_metadata;
+               struct {
+                       uint64_t key;   /* Channel key. */
+               } LTTNG_PACKED flush_channel;
        } u;
 } LTTNG_PACKED;
 
This page took 0.023782 seconds and 4 git commands to generate.