X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=blobdiff_plain;f=src%2Fcommon%2Fsessiond-comm%2Fsessiond-comm.h;h=63d4eda078866b17342089aae7382e5aebf243a2;hp=60a3eade6171faf18f886078723ed48b2c1cc2f5;hb=331744e34f56a5aec69b05d356d6901e67926acc;hpb=d88aee689d5bd0067f362a323cb69c37717df59f diff --git a/src/common/sessiond-comm/sessiond-comm.h b/src/common/sessiond-comm/sessiond-comm.h index 60a3eade6..63d4eda07 100644 --- a/src/common/sessiond-comm/sessiond-comm.h +++ b/src/common/sessiond-comm/sessiond-comm.h @@ -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;