summaryrefslogtreecommitdiffstats
path: root/generator/xdr.ml
diff options
context:
space:
mode:
authorRichard W.M. Jones <rjones@redhat.com>2012-09-24 09:45:33 +0100
committerRichard W.M. Jones <rjones@redhat.com>2012-09-24 09:46:24 +0100
commit790c1a0c7b141e3e4f37c3f670c19e039873dcbe (patch)
treeae4af7322c0ad3ca60f422a50c9418c3b964eba6 /generator/xdr.ml
parentdb6a8512402f068815f882928662af0d8f5eec83 (diff)
downloadlibguestfs-790c1a0c7b141e3e4f37c3f670c19e039873dcbe.tar.gz
libguestfs-790c1a0c7b141e3e4f37c3f670c19e039873dcbe.tar.xz
libguestfs-790c1a0c7b141e3e4f37c3f670c19e039873dcbe.zip
generator: xdr: Re-code procedure table.
This is just code motion.
Diffstat (limited to 'generator/xdr.ml')
-rw-r--r--generator/xdr.ml20
1 files changed, 13 insertions, 7 deletions
diff --git a/generator/xdr.ml b/generator/xdr.ml
index 9fd31832..b45f2c46 100644
--- a/generator/xdr.ml
+++ b/generator/xdr.ml
@@ -166,16 +166,22 @@ let generate_xdr () =
pr "/* Table of procedure numbers. */\n";
pr "enum guestfs_procedure {\n";
- List.iter (
- function
- | { name = shortname; proc_nr = Some proc_nr } ->
- pr " GUESTFS_PROC_%s = %d,\n" (String.uppercase shortname) proc_nr
- | { proc_nr = None } -> assert false
- ) daemon_functions;
- pr " GUESTFS_PROC_NR_PROCS\n";
+ let rec loop = function
+ | [] -> ()
+ | { proc_nr = None } :: _ -> assert false
+ | { name = shortname; proc_nr = Some proc_nr } :: [] ->
+ pr " GUESTFS_PROC_%s = %d\n" (String.uppercase shortname) proc_nr
+ | { name = shortname; proc_nr = Some proc_nr } :: rest ->
+ pr " GUESTFS_PROC_%s = %d,\n" (String.uppercase shortname) proc_nr;
+ loop rest
+ in
+ loop daemon_functions;
pr "};\n";
pr "\n";
+ pr "const GUESTFS_MAX_PROC_NR = %d;\n" max_proc_nr;
+ pr "\n";
+
pr "/* The remote procedure call protocol. */\n";
pr "\n";