return ret;
}
-int lttng_event_get_filter_string(struct lttng_event *event,
- const char **filter_string)
+int lttng_event_get_filter_expression(struct lttng_event *event,
+ const char **filter_expression)
{
int ret = 0;
struct lttcomm_event_extended_header *ext_header;
- if (!event || !filter_string) {
+ if (!event || !filter_expression) {
ret = -LTTNG_ERR_INVALID;
goto end;
}
* This can happen since the lttng_event structure is
* used for other tasks where this pointer is never set.
*/
- *filter_string = NULL;
+ *filter_expression = NULL;
goto end;
}
if (ext_header->filter_len) {
- *filter_string = ((const char *) (ext_header)) +
- sizeof(*ext_header);
+ *filter_expression = ((const char *) (ext_header)) +
+ sizeof(*ext_header);
} else {
- *filter_string = NULL;
+ *filter_expression = NULL;
}
end:
return 0;
}
+/*
+ * Regenerate the metadata for a session.
+ * Return 0 on success, a negative error code on error.
+ */
+int lttng_metadata_regenerate(const char *session_name)
+{
+ int ret;
+ struct lttcomm_session_msg lsm;
+
+ if (!session_name) {
+ ret = -LTTNG_ERR_INVALID;
+ goto end;
+ }
+
+ memset(&lsm, 0, sizeof(lsm));
+ lsm.cmd_type = LTTNG_METADATA_REGENERATE;
+
+ lttng_ctl_copy_string(lsm.session.name, session_name,
+ sizeof(lsm.session.name));
+
+ ret = lttng_ctl_ask_sessiond(&lsm, NULL);
+ if (ret < 0) {
+ goto end;
+ }
+
+ ret = 0;
+end:
+ return ret;
+}
+
/*
* lib constructor.
*/