Add ustctl command to regenerate the statedump
[lttng-ust.git] / include / lttng / ust-ctl.h
index 916eb28049fd35df0e49ad045d5a2b5bfd00cd7f..08122a79da002d43fe778812bf9f5b639801a2ad 100644 (file)
@@ -59,6 +59,17 @@ struct ustctl_consumer_channel_attr {
  * API used by sessiond.
  */
 
+struct lttng_ust_context_attr {
+       enum lttng_ust_context_type ctx;
+       union {
+               struct lttng_ust_perf_counter_ctx perf_counter;
+               struct {
+                       char *provider_name;
+                       char *ctx_name;
+               } app_ctx;
+       } u;
+};
+
 /*
  * Error values: all the following functions return:
  * >= 0: Success (LTTNG_UST_OK)
@@ -69,7 +80,7 @@ int ustctl_create_session(int sock);
 int ustctl_create_event(int sock, struct lttng_ust_event *ev,
                struct lttng_ust_object_data *channel_data,
                struct lttng_ust_object_data **event_data);
-int ustctl_add_context(int sock, struct lttng_ust_context *ctx,
+int ustctl_add_context(int sock, struct lttng_ust_context_attr *ctx,
                struct lttng_ust_object_data *obj_data,
                struct lttng_ust_object_data **context_data);
 int ustctl_set_filter(int sock, struct lttng_ust_filter_bytecode *bytecode,
@@ -241,10 +252,17 @@ int ustctl_get_stream_id(struct ustctl_consumer_stream *stream,
                uint64_t *stream_id);
 int ustctl_get_current_timestamp(struct ustctl_consumer_stream *stream,
                uint64_t *ts);
+int ustctl_get_sequence_number(struct ustctl_consumer_stream *stream,
+               uint64_t *seq);
+int ustctl_get_instance_id(struct ustctl_consumer_stream *stream,
+               uint64_t *id);
 
 /* returns whether UST has perf counters support. */
 int ustctl_has_perf_counters(void);
 
+/* Regenerate the statedump. */
+int ustctl_regenerate_statedump(int sock, int handle);
+
 /* event registry management */
 
 enum ustctl_socket_type {
@@ -305,12 +323,19 @@ struct ustctl_float_type {
        char padding[USTCTL_UST_FLOAT_TYPE_PADDING];
 } LTTNG_PACKED;
 
+#define USTCTL_UST_ENUM_VALUE_PADDING  15
+struct ustctl_enum_value {
+       uint64_t value;
+       uint8_t signedness;
+       char padding[USTCTL_UST_ENUM_VALUE_PADDING];
+} LTTNG_PACKED;
+
 #define USTCTL_UST_ENUM_ENTRY_PADDING  32
 struct ustctl_enum_entry {
-       uint64_t start, end;            /* start and end are inclusive */
+       struct ustctl_enum_value start, end; /* start and end are inclusive */
        char string[LTTNG_UST_SYM_NAME_LEN];
        char padding[USTCTL_UST_ENUM_ENTRY_PADDING];
-};
+} LTTNG_PACKED;
 
 #define USTCTL_UST_BASIC_TYPE_PADDING  296
 union _ustctl_basic_type {
This page took 0.024202 seconds and 4 git commands to generate.