X-Git-Url: http://git.annexia.org/?p=libguestfs.git;a=blobdiff_plain;f=src%2Fgenerator.ml;h=f41413e82f0751d0186bb06fcbe8fa876fc173b1;hp=29e665133a8b4673a7e644ea73bbaa90e6ced99d;hb=62e41312acd0f7fe7f3622a73d6f6efc27b1b511;hpb=b6b2004db1056d628a4d8c30dd61b14fb18cf876 diff --git a/src/generator.ml b/src/generator.ml index 29e6651..f41413e 100755 --- a/src/generator.ml +++ b/src/generator.ml @@ -4318,6 +4318,22 @@ and generate_daemon_actions () = ) ["pv", pv_cols; "vg", vg_cols; "lv", lv_cols] +(* Generate a list of function names, for debugging in the daemon.. *) +and generate_daemon_names () = + generate_header CStyle GPLv2; + + pr "#include \n"; + pr "\n"; + pr "#include \"daemon.h\"\n"; + pr "\n"; + + pr "/* This array is indexed by proc_nr. See guestfs_protocol.x. */\n"; + pr "const char *function_names[] = {\n"; + List.iter ( + fun (name, _, proc_nr, _, _, _, _) -> pr " [%d] = \"%s\",\n" proc_nr name + ) daemon_functions; + pr "};\n"; + (* Generate the tests. *) and generate_tests () = generate_header CStyle GPLv2; @@ -8610,6 +8626,10 @@ Run it from the top source directory using the command generate_daemon_actions (); close (); + let close = output_to "daemon/names.c" in + generate_daemon_names (); + close (); + let close = output_to "capitests/tests.c" in generate_tests (); close ();