X-Git-Url: http://git.annexia.org/?a=blobdiff_plain;f=src%2Fgenerator.ml;h=9393bdec725f143883c6a7e9d07f4069d164617c;hb=dd922bedb7c3e85fbbe1eed10e371aec47138a1d;hp=4824438e9e1f8617830bd7d146f743da600a4a4d;hpb=8966b137660fff6619905e842ef793c4c9ed4f6e;p=libguestfs.git diff --git a/src/generator.ml b/src/generator.ml index 4824438..9393bde 100755 --- a/src/generator.ml +++ b/src/generator.ml @@ -3560,6 +3560,15 @@ an external journal on the journal with UUID C. See also C."); + ("modprobe", (RErr, [String "module"]), 194, [], + [InitNone, Always, TestRun [["modprobe"; "ext2"]]], + "load a kernel module", + "\ +This loads a kernel module in the appliance. + +The kernel module must have been whitelisted when libguestfs +was built (see C in the source)."); + ] let all_functions = non_daemon_functions @ daemon_functions @@ -3822,6 +3831,10 @@ let pod2text_memo : ((int * string * string), string list) Hashtbl.t = v with _ -> Hashtbl.create 13 +let pod2text_memo_updated () = + let chan = open_out pod2text_memo_filename in + output_value chan pod2text_memo; + close_out chan (* Useful functions. * Note we don't want to use any external OCaml libraries which @@ -4528,7 +4541,7 @@ and generate_client_actions () = static int check_reply_header (guestfs_h *g, const struct guestfs_message_header *hdr, - int proc_nr, int serial) + unsigned int proc_nr, unsigned int serial) { if (hdr->prog != GUESTFS_PROGRAM) { error (g, \"wrong program (%%d/%%d)\", hdr->prog, GUESTFS_PROGRAM); @@ -6129,11 +6142,6 @@ and generate_fish_cmds () = ) cols; pr "}\n"; pr "\n"; - pr "static void print_%s (struct guestfs_%s *%s)\n" typ typ typ; - pr "{\n"; - pr " print_%s_indent (%s, \"\");\n" typ typ; - pr "}\n"; - pr "\n"; ) structs; (* Emit a print_TYPE_list function definition only if that function is used. *) @@ -6145,6 +6153,18 @@ and generate_fish_cmds () = | typ, _ -> () (* empty *) ) rstructs_used; + (* Emit a print_TYPE function definition only if that function is used. *) + List.iter ( + function + | typ, RStructOnly -> + pr "static void print_%s (struct guestfs_%s *%s)\n" typ typ typ; + pr "{\n"; + pr " print_%s_indent (%s, \"\");\n" typ typ; + pr "}\n"; + pr "\n"; + | typ, _ -> () (* empty *) + ) rstructs_used; + (* run_ actions *) List.iter ( fun (name, style, _, flags, _, _, _) -> @@ -7965,9 +7985,7 @@ and pod2text ~width name longdesc = failwithf "pod2text: process signalled or stopped by signal %d" i ); Hashtbl.add pod2text_memo key lines; - let chan = open_out pod2text_memo_filename in - output_value chan pod2text_memo; - close_out chan; + pod2text_memo_updated (); lines (* Generate ruby bindings. *)