static struct bt_format *fmt_read;
+void bt_dummy_hook(void);
+void bt_lttng_live_hook(void);
+void bt_ctf_hook(void);
+void bt_ctf_text_hook(void);
+void bt_ctf_metadata_hook(void);
+
static
void strlower(char *str)
{
return ret;
}
+void call_plugins_hooks(void)
+{
+ bt_dummy_hook();
+ bt_lttng_live_hook();
+ bt_ctf_hook();
+ bt_ctf_text_hook();
+ bt_ctf_metadata_hook();
+}
+
int main(int argc, char **argv)
{
int ret, partial_error = 0, open_success = 0;
struct bt_context *ctx;
int i;
+ call_plugins_hooks();
+
opt_input_paths = g_ptr_array_new();
ret = parse_options(argc, argv);
#include <unistd.h>
#include <stdlib.h>
+void bt_dummy_hook(void)
+{
+ /*
+ * Dummy function to prevent the linker from discarding this format as
+ * "unused" in static builds.
+ */
+}
+
static
int bt_dummy_write_event(struct bt_stream_pos *ppos, struct ctf_stream_definition *stream)
{
.close_trace = ctf_metadata_close_trace,
};
+void bt_ctf_metadata_hook(void)
+{
+ /*
+ * Dummy function to prevent the linker from discarding this format as
+ * "unused" in static builds.
+ */
+}
+
static
int ctf_metadata_trace_pre_handler(struct bt_stream_pos *ppos,
struct bt_trace_descriptor *td)
(gpointer) (unsigned long) callsite_name);
}
+void bt_ctf_text_hook(void)
+{
+ /*
+ * Dummy function to prevent the linker from discarding this format as
+ * "unused" in static builds.
+ */
+}
+
int print_field(struct bt_definition *definition)
{
/* Print all fields in verbose mode */
.convert_index_timestamp = ctf_convert_index_timestamp,
};
+void bt_ctf_hook(void)
+{
+ /*
+ * Dummy function to prevent the linker from discarding this format as
+ * "unused" in static builds.
+ */
+}
+
static
uint64_t ctf_timestamp_begin(struct bt_trace_descriptor *descriptor,
struct bt_trace_handle *handle, enum bt_clock_type type)
static volatile int should_quit;
+void bt_lttng_live_hook(void)
+{
+ /*
+ * Dummy function to prevent the linker from discarding this format as
+ * "unused" in static builds.
+ */
+}
+
int lttng_live_should_quit(void)
{
return should_quit;