X-Git-Url: http://git.efficios.com/?p=babeltrace.git;a=blobdiff_plain;f=formats%2Fregistry.c;h=17bc3bce7d36a3d68a9975ee5ac4b7d5c006b0e5;hp=4f9dc244a3618451c54e0f4265563d0a7a0bc739;hb=7fb210365ad968646a0088d80f709165bf068950;hpb=34ac0e6c566323f5dd7c52214998b1cf2d3641b5 diff --git a/formats/registry.c b/formats/registry.c index 4f9dc244..17bc3bce 100644 --- a/formats/registry.c +++ b/formats/registry.c @@ -19,6 +19,7 @@ #include #include #include +#include static int init_done; void __attribute__((constructor)) format_init(void); @@ -39,6 +40,23 @@ struct format *bt_lookup_format(GQuark qname) (gconstpointer) (unsigned long) qname); } +static void show_format(gpointer key, gpointer value, gpointer user_data) +{ + FILE *fp = user_data; + + fprintf(fp, "format: %s\n", + g_quark_to_string((GQuark) (unsigned long) key)); +} + +void bt_fprintf_format_list(FILE *fp) +{ + fprintf(fp, "Formats available:\n"); + if (!init_done) + return; + g_hash_table_foreach(format_registry, show_format, fp); + fprintf(fp, "End of formats available.\n"); +} + int bt_register_format(struct format *format) { if (!init_done)