[libvirt] [PATCH] remote generator: Add skipgen/autogen flags to .x files

Matthias Bolte matthias.bolte at googlemail.com
Wed May 11 19:28:39 UTC 2011


Make procedure parsing more robust, by allowing arbitrary
amounts of whitespaces.

Also make some error messages more verbose.
---
 cfg.mk                       |    2 +-
 daemon/remote_generator.pl   |  165 ++++-----------
 src/remote/qemu_protocol.x   |    5 +-
 src/remote/remote_protocol.x |  463 +++++++++++++++++++++---------------------
 4 files changed, 282 insertions(+), 353 deletions(-)

diff --git a/cfg.mk b/cfg.mk
index 9ee0dd0..f0ca000 100644
--- a/cfg.mk
+++ b/cfg.mk
@@ -614,7 +614,7 @@ exclude_file_name_regexp--sc_prohibit_asprintf = \
 exclude_file_name_regexp--sc_prohibit_can_not = ^po/
 
 exclude_file_name_regexp--sc_prohibit_close = \
-  (\.py$$|^docs/|(src/util/files\.c|src/libvirt\.c)$$)
+  (\.py$$|^docs/|(src/util/files\.c|src/libvirt\.c|daemon/remote_generator\.pl)$$)
 
 exclude_file_name_regexp--sc_prohibit_doubled_word = ^po/
 
diff --git a/daemon/remote_generator.pl b/daemon/remote_generator.pl
index 79d2021..bce6261 100755
--- a/daemon/remote_generator.pl
+++ b/daemon/remote_generator.pl
@@ -23,9 +23,11 @@ use Getopt::Std;
 our ($opt_p, $opt_t, $opt_a, $opt_r, $opt_d, $opt_c, $opt_b, $opt_k);
 getopts ('ptardcbk');
 
-my $structprefix = $ARGV[0];
+my $structprefix = shift or die "missing prefix argument";
+my $protocol = shift or die "missing protocol argument";
+my @autogen;
+
 my $procprefix = uc $structprefix;
-shift;
 
 # Convert name_of_call to NameOfCall.
 sub name_to_ProcName {
@@ -41,7 +43,7 @@ sub name_to_ProcName {
 
 # Read the input file (usually remote_protocol.x) and form an
 # opinion about the name, args and return type of each RPC.
-my ($name, $ProcName, $id, %calls, @calls);
+my ($name, $ProcName, $id, $flags, $gen, %calls, @calls);
 
 # only generate a close method if -c was passed
 if ($opt_c) {
@@ -59,7 +61,9 @@ my $collect_args_members = 0;
 my $collect_ret_members = 0;
 my $last_name;
 
-while (<>) {
+open PROTOCOL, "<$protocol" or die "cannot open $protocol: $!";
+
+while (<PROTOCOL>) {
     if ($collect_args_members) {
         if (/^};/) {
             $collect_args_members = 0;
@@ -124,11 +128,28 @@ while (<>) {
 
         $collect_args_members = 0;
         $collect_ret_members = 0;
-    } elsif (/^\s*${procprefix}_PROC_(.*?)\s+=\s+(\d+),?$/) {
+    } elsif (/^\s*${procprefix}_PROC_(.*?)\s*=\s*(\d+)\s*,?(.*)$/) {
         $name = lc $1;
         $id = $2;
+        $flags = $3;
         $ProcName = name_to_ProcName ($name);
 
+        if ($opt_b or $opt_k) {
+            if (!($flags =~ m/^\s*\/\*\s*(\S+)\s+(\S+)\s*\*\/\s*$/)) {
+                die "invalid generator flags for ${procprefix}_PROC_${name}"
+            }
+
+            $gen = $opt_b ? $1 : $2;
+
+            if ($gen eq "autogen") {
+                push(@autogen, $ProcName);
+            } elsif ($gen eq "skipgen") {
+                # ignore it
+            } else {
+                die "invalid generator flags for ${procprefix}_PROC_${name}"
+            }
+        }
+
         $calls[$id] = $calls{$name};
 
         $collect_args_members = 0;
@@ -139,6 +160,8 @@ while (<>) {
     }
 }
 
+close(PROTOCOL);
+
 #----------------------------------------------------------------------
 # Output
 
@@ -238,63 +261,15 @@ elsif ($opt_t) {
 
 # Bodies for dispatch functions ("remote_dispatch_bodies.h").
 elsif ($opt_b) {
-    # list of functions that currently are not generatable
-    my @ungeneratable;
-
-    if ($structprefix eq "remote") {
-        @ungeneratable = ("Close",
-                          "DomainEventsDeregisterAny",
-                          "DomainEventsRegisterAny",
-                          "DomainMigratePrepareTunnel",
-                          "DomainOpenConsole",
-                          "DomainPinVcpu",
-                          "DomainSetSchedulerParameters",
-                          "DomainSetMemoryParameters",
-                          "DomainSetBlkioParameters",
-                          "Open",
-                          "StorageVolUpload",
-                          "StorageVolDownload",
-
-                          "AuthList",
-                          "AuthSaslInit",
-                          "AuthSaslStart",
-                          "AuthSaslStep",
-                          "AuthPolkit",
-
-                          "DomainBlockPeek",
-                          "DomainCreateWithFlags",
-                          "DomainEventsDeregister",
-                          "DomainEventsRegister",
-                          "DomainGetBlkioParameters",
-                          "DomainGetMemoryParameters",
-                          "DomainGetSchedulerParameters",
-                          "DomainGetSchedulerType",
-                          "DomainGetSecurityLabel",
-                          "DomainGetVcpus",
-                          "DomainMemoryPeek",
-                          "DomainMemoryStats",
-                          "DomainMigratePrepare",
-                          "DomainMigratePrepare2",
-                          "GetType",
-                          "NodeDeviceGetParent",
-                          "NodeGetSecurityModel",
-                          "SecretGetValue");
-    } elsif ($structprefix eq "qemu") {
-        @ungeneratable = ("MonitorCommand");
-    }
-
-    my %ug = map { $_ => 1 } @ungeneratable;
+    my %generate = map { $_ => 1 } @autogen;
     my @keys = sort (keys %calls);
 
     foreach (@keys) {
         # skip things which are REMOTE_MESSAGE
         next if $calls{$_}->{msg};
 
-        if (exists($ug{$calls{$_}->{ProcName}})) {
-            print "\n/* ${structprefix}Dispatch$calls{$_}->{ProcName} has " .
-                  "to be implemented manually */\n";
-            next;
-        }
+        # skip procedures not on generate list
+        next if ! exists($generate{$calls{$_}->{ProcName}});
 
         my $has_node_device = 0;
         my @vars_list = ();
@@ -550,6 +525,8 @@ elsif ($opt_b) {
                     } else {
                         $single_ret_by_ref = 1;
                     }
+                } elsif ($ret_member =~ m/^(\/)?\*/) {
+                    # ignore comments
                 } else {
                     die "unhandled type for return value: $ret_member";
                 }
@@ -756,63 +733,7 @@ elsif ($opt_b) {
 
 # Bodies for client functions ("remote_client_bodies.h").
 elsif ($opt_k) {
-    # list of functions that currently are not generatable
-    my @ungeneratable;
-
-    if ($structprefix eq "remote") {
-        @ungeneratable = ("Close",
-                          "DomainEventsDeregisterAny",
-                          "DomainEventsRegisterAny",
-                          "DomainMigratePrepareTunnel",
-                          "DomainOpenConsole",
-                          "DomainSetSchedulerParameters",
-                          "DomainSetMemoryParameters",
-                          "DomainSetBlkioParameters",
-                          "Open",
-                          "StorageVolUpload",
-                          "StorageVolDownload",
-
-                          "AuthList",
-                          "AuthSaslInit",
-                          "AuthSaslStart",
-                          "AuthSaslStep",
-                          "AuthPolkit",
-
-                          "DomainCreate",
-                          "DomainDestroy",
-                          "FindStoragePoolSources",
-                          "IsSecure",
-                          "SupportsFeature",
-                          "NodeGetCellsFreeMemory",
-                          "ListDomains",
-                          "GetURI",
-                          "NodeDeviceDettach",
-                          "NodeDeviceReset",
-                          "NodeDeviceReAttach",
-
-                          "DomainBlockPeek",
-                          "DomainCreateWithFlags",
-                          "DomainEventsDeregister",
-                          "DomainEventsRegister",
-                          "DomainGetBlkioParameters",
-                          "DomainGetMemoryParameters",
-                          "DomainGetSchedulerParameters",
-                          "DomainGetSchedulerType",
-                          "DomainGetSecurityLabel",
-                          "DomainGetVcpus",
-                          "DomainMemoryPeek",
-                          "DomainMemoryStats",
-                          "DomainMigratePrepare",
-                          "DomainMigratePrepare2",
-                          "GetType",
-                          "NodeDeviceGetParent",
-                          "NodeGetSecurityModel",
-                          "SecretGetValue");
-    } elsif ($structprefix eq "qemu") {
-        @ungeneratable = ("MonitorCommand");
-    }
-
-    my %ug = map { $_ => 1 } @ungeneratable;
+    my %generate = map { $_ => 1 } @autogen;
     my @keys = sort (keys %calls);
 
     foreach (@keys) {
@@ -821,11 +742,8 @@ elsif ($opt_k) {
         # skip things which are REMOTE_MESSAGE
         next if $call->{msg};
 
-        if (exists($ug{$call->{ProcName}})) {
-            print "\n/* ${structprefix}Dispatch$call->{ProcName} has to " .
-                  "be implemented manually */\n";
-            next;
-        }
+        # skip procedures not on generate list
+        next if ! exists($generate{$call->{ProcName}});
 
         # handle arguments to the function
         my @args_list = ();
@@ -1005,11 +923,13 @@ elsif ($opt_k) {
                         push(@ret_list, "memcpy(result->$3, ret.$3, sizeof result->$3);");
                     } elsif ($ret_member =~ m/<\S+>;/ or $ret_member =~ m/\[\S+\];/) {
                         # just make all other array types fail
-                        die "unhandled type for multi-return-value: $ret_member";
+                        die "unhandled type for multi-return-value for " .
+                            "procedure $call->{name}: $ret_member";
                     } elsif ($ret_member =~ m/^(unsigned )?(char|short|int|hyper) (\S+);/) {
                         push(@ret_list, "result->$3 = ret.$3;");
                     } else {
-                        die "unhandled type for multi-return-value: $ret_member";
+                        die "unhandled type for multi-return-value for " .
+                            "procedure $call->{name}: $ret_member";
                     }
                 } elsif ($ret_member =~ m/^remote_nonnull_string (\S+)<(\S+)>;/) {
                     $single_ret_as_list = 1;
@@ -1095,8 +1015,11 @@ elsif ($opt_k) {
                     } else {
                         die "unhandled type for return value: $ret_member";
                     }
+                } elsif ($ret_member =~ m/^(\/)?\*/) {
+                    # ignore comments
                 } else {
-                    die "unhandled type for return value: $ret_member";
+                    die "unhandled type for return value for procedure " .
+                        "$call->{name}: $ret_member";
                 }
             }
         }
diff --git a/src/remote/qemu_protocol.x b/src/remote/qemu_protocol.x
index 9eed73f..fa453f4 100644
--- a/src/remote/qemu_protocol.x
+++ b/src/remote/qemu_protocol.x
@@ -42,5 +42,8 @@ const QEMU_PROGRAM = 0x20008087;
 const QEMU_PROTOCOL_VERSION = 1;
 
 enum qemu_procedure {
-    QEMU_PROC_MONITOR_COMMAND = 1
+    /* Each function must have a two-word comment.  The first word is
+     * whether remote_generator.pl handles daemon, the second whether
+     * it handles src/remote.  */
+    QEMU_PROC_MONITOR_COMMAND = 1 /* skipgen skipgen */
 };
diff --git a/src/remote/remote_protocol.x b/src/remote/remote_protocol.x
index 2cf6022..0b88353 100644
--- a/src/remote/remote_protocol.x
+++ b/src/remote/remote_protocol.x
@@ -1953,236 +1953,239 @@ const REMOTE_PROGRAM = 0x20008086;
 const REMOTE_PROTOCOL_VERSION = 1;
 
 enum remote_procedure {
-    REMOTE_PROC_OPEN = 1,
-    REMOTE_PROC_CLOSE = 2,
-    REMOTE_PROC_GET_TYPE = 3,
-    REMOTE_PROC_GET_VERSION = 4,
-    REMOTE_PROC_GET_MAX_VCPUS = 5,
-    REMOTE_PROC_NODE_GET_INFO = 6,
-    REMOTE_PROC_GET_CAPABILITIES = 7,
-    REMOTE_PROC_DOMAIN_ATTACH_DEVICE = 8,
-    REMOTE_PROC_DOMAIN_CREATE = 9,
-    REMOTE_PROC_DOMAIN_CREATE_XML = 10,
-
-    REMOTE_PROC_DOMAIN_DEFINE_XML = 11,
-    REMOTE_PROC_DOMAIN_DESTROY = 12,
-    REMOTE_PROC_DOMAIN_DETACH_DEVICE = 13,
-    REMOTE_PROC_DOMAIN_GET_XML_DESC = 14,
-    REMOTE_PROC_DOMAIN_GET_AUTOSTART = 15,
-    REMOTE_PROC_DOMAIN_GET_INFO = 16,
-    REMOTE_PROC_DOMAIN_GET_MAX_MEMORY = 17,
-    REMOTE_PROC_DOMAIN_GET_MAX_VCPUS = 18,
-    REMOTE_PROC_DOMAIN_GET_OS_TYPE = 19,
-    REMOTE_PROC_DOMAIN_GET_VCPUS = 20,
-
-    REMOTE_PROC_LIST_DEFINED_DOMAINS = 21,
-    REMOTE_PROC_DOMAIN_LOOKUP_BY_ID = 22,
-    REMOTE_PROC_DOMAIN_LOOKUP_BY_NAME = 23,
-    REMOTE_PROC_DOMAIN_LOOKUP_BY_UUID = 24,
-    REMOTE_PROC_NUM_OF_DEFINED_DOMAINS = 25,
-    REMOTE_PROC_DOMAIN_PIN_VCPU = 26,
-    REMOTE_PROC_DOMAIN_REBOOT = 27,
-    REMOTE_PROC_DOMAIN_RESUME = 28,
-    REMOTE_PROC_DOMAIN_SET_AUTOSTART = 29,
-    REMOTE_PROC_DOMAIN_SET_MAX_MEMORY = 30,
-
-    REMOTE_PROC_DOMAIN_SET_MEMORY = 31,
-    REMOTE_PROC_DOMAIN_SET_VCPUS = 32,
-    REMOTE_PROC_DOMAIN_SHUTDOWN = 33,
-    REMOTE_PROC_DOMAIN_SUSPEND = 34,
-    REMOTE_PROC_DOMAIN_UNDEFINE = 35,
-    REMOTE_PROC_LIST_DEFINED_NETWORKS = 36,
-    REMOTE_PROC_LIST_DOMAINS = 37,
-    REMOTE_PROC_LIST_NETWORKS = 38,
-    REMOTE_PROC_NETWORK_CREATE = 39,
-    REMOTE_PROC_NETWORK_CREATE_XML = 40,
-
-    REMOTE_PROC_NETWORK_DEFINE_XML = 41,
-    REMOTE_PROC_NETWORK_DESTROY = 42,
-    REMOTE_PROC_NETWORK_GET_XML_DESC = 43,
-    REMOTE_PROC_NETWORK_GET_AUTOSTART = 44,
-    REMOTE_PROC_NETWORK_GET_BRIDGE_NAME = 45,
-    REMOTE_PROC_NETWORK_LOOKUP_BY_NAME = 46,
-    REMOTE_PROC_NETWORK_LOOKUP_BY_UUID = 47,
-    REMOTE_PROC_NETWORK_SET_AUTOSTART = 48,
-    REMOTE_PROC_NETWORK_UNDEFINE = 49,
-    REMOTE_PROC_NUM_OF_DEFINED_NETWORKS = 50,
-
-    REMOTE_PROC_NUM_OF_DOMAINS = 51,
-    REMOTE_PROC_NUM_OF_NETWORKS = 52,
-    REMOTE_PROC_DOMAIN_CORE_DUMP = 53,
-    REMOTE_PROC_DOMAIN_RESTORE = 54,
-    REMOTE_PROC_DOMAIN_SAVE = 55,
-    REMOTE_PROC_DOMAIN_GET_SCHEDULER_TYPE = 56,
-    REMOTE_PROC_DOMAIN_GET_SCHEDULER_PARAMETERS = 57,
-    REMOTE_PROC_DOMAIN_SET_SCHEDULER_PARAMETERS = 58,
-    REMOTE_PROC_GET_HOSTNAME = 59,
-    REMOTE_PROC_SUPPORTS_FEATURE = 60,
-
-    REMOTE_PROC_DOMAIN_MIGRATE_PREPARE = 61,
-    REMOTE_PROC_DOMAIN_MIGRATE_PERFORM = 62,
-    REMOTE_PROC_DOMAIN_MIGRATE_FINISH = 63,
-    REMOTE_PROC_DOMAIN_BLOCK_STATS = 64,
-    REMOTE_PROC_DOMAIN_INTERFACE_STATS = 65,
-    REMOTE_PROC_AUTH_LIST = 66,
-    REMOTE_PROC_AUTH_SASL_INIT = 67,
-    REMOTE_PROC_AUTH_SASL_START = 68,
-    REMOTE_PROC_AUTH_SASL_STEP = 69,
-    REMOTE_PROC_AUTH_POLKIT = 70,
-
-    REMOTE_PROC_NUM_OF_STORAGE_POOLS = 71,
-    REMOTE_PROC_LIST_STORAGE_POOLS = 72,
-    REMOTE_PROC_NUM_OF_DEFINED_STORAGE_POOLS = 73,
-    REMOTE_PROC_LIST_DEFINED_STORAGE_POOLS = 74,
-    REMOTE_PROC_FIND_STORAGE_POOL_SOURCES = 75,
-    REMOTE_PROC_STORAGE_POOL_CREATE_XML = 76,
-    REMOTE_PROC_STORAGE_POOL_DEFINE_XML = 77,
-    REMOTE_PROC_STORAGE_POOL_CREATE = 78,
-    REMOTE_PROC_STORAGE_POOL_BUILD = 79,
-    REMOTE_PROC_STORAGE_POOL_DESTROY = 80,
-
-    REMOTE_PROC_STORAGE_POOL_DELETE = 81,
-    REMOTE_PROC_STORAGE_POOL_UNDEFINE = 82,
-    REMOTE_PROC_STORAGE_POOL_REFRESH = 83,
-    REMOTE_PROC_STORAGE_POOL_LOOKUP_BY_NAME = 84,
-    REMOTE_PROC_STORAGE_POOL_LOOKUP_BY_UUID = 85,
-    REMOTE_PROC_STORAGE_POOL_LOOKUP_BY_VOLUME = 86,
-    REMOTE_PROC_STORAGE_POOL_GET_INFO = 87,
-    REMOTE_PROC_STORAGE_POOL_GET_XML_DESC = 88,
-    REMOTE_PROC_STORAGE_POOL_GET_AUTOSTART = 89,
-    REMOTE_PROC_STORAGE_POOL_SET_AUTOSTART = 90,
-
-    REMOTE_PROC_STORAGE_POOL_NUM_OF_VOLUMES = 91,
-    REMOTE_PROC_STORAGE_POOL_LIST_VOLUMES = 92,
-    REMOTE_PROC_STORAGE_VOL_CREATE_XML = 93,
-    REMOTE_PROC_STORAGE_VOL_DELETE = 94,
-    REMOTE_PROC_STORAGE_VOL_LOOKUP_BY_NAME = 95,
-    REMOTE_PROC_STORAGE_VOL_LOOKUP_BY_KEY = 96,
-    REMOTE_PROC_STORAGE_VOL_LOOKUP_BY_PATH = 97,
-    REMOTE_PROC_STORAGE_VOL_GET_INFO = 98,
-    REMOTE_PROC_STORAGE_VOL_GET_XML_DESC = 99,
-    REMOTE_PROC_STORAGE_VOL_GET_PATH = 100,
-
-    REMOTE_PROC_NODE_GET_CELLS_FREE_MEMORY = 101,
-    REMOTE_PROC_NODE_GET_FREE_MEMORY = 102,
-    REMOTE_PROC_DOMAIN_BLOCK_PEEK = 103,
-    REMOTE_PROC_DOMAIN_MEMORY_PEEK = 104,
-    REMOTE_PROC_DOMAIN_EVENTS_REGISTER = 105,
-    REMOTE_PROC_DOMAIN_EVENTS_DEREGISTER = 106,
-    REMOTE_PROC_DOMAIN_EVENT_LIFECYCLE = 107,
-    REMOTE_PROC_DOMAIN_MIGRATE_PREPARE2 = 108,
-    REMOTE_PROC_DOMAIN_MIGRATE_FINISH2 = 109,
-    REMOTE_PROC_GET_URI = 110,
-
-    REMOTE_PROC_NODE_NUM_OF_DEVICES = 111,
-    REMOTE_PROC_NODE_LIST_DEVICES = 112,
-    REMOTE_PROC_NODE_DEVICE_LOOKUP_BY_NAME = 113,
-    REMOTE_PROC_NODE_DEVICE_GET_XML_DESC = 114,
-    REMOTE_PROC_NODE_DEVICE_GET_PARENT = 115,
-    REMOTE_PROC_NODE_DEVICE_NUM_OF_CAPS = 116,
-    REMOTE_PROC_NODE_DEVICE_LIST_CAPS = 117,
-    REMOTE_PROC_NODE_DEVICE_DETTACH = 118,
-    REMOTE_PROC_NODE_DEVICE_RE_ATTACH = 119,
-    REMOTE_PROC_NODE_DEVICE_RESET = 120,
-
-    REMOTE_PROC_DOMAIN_GET_SECURITY_LABEL = 121,
-    REMOTE_PROC_NODE_GET_SECURITY_MODEL = 122,
-    REMOTE_PROC_NODE_DEVICE_CREATE_XML = 123,
-    REMOTE_PROC_NODE_DEVICE_DESTROY = 124,
-    REMOTE_PROC_STORAGE_VOL_CREATE_XML_FROM = 125,
-    REMOTE_PROC_NUM_OF_INTERFACES = 126,
-    REMOTE_PROC_LIST_INTERFACES = 127,
-    REMOTE_PROC_INTERFACE_LOOKUP_BY_NAME = 128,
-    REMOTE_PROC_INTERFACE_LOOKUP_BY_MAC_STRING = 129,
-    REMOTE_PROC_INTERFACE_GET_XML_DESC = 130,
-
-    REMOTE_PROC_INTERFACE_DEFINE_XML = 131,
-    REMOTE_PROC_INTERFACE_UNDEFINE = 132,
-    REMOTE_PROC_INTERFACE_CREATE = 133,
-    REMOTE_PROC_INTERFACE_DESTROY = 134,
-    REMOTE_PROC_DOMAIN_XML_FROM_NATIVE = 135,
-    REMOTE_PROC_DOMAIN_XML_TO_NATIVE = 136,
-    REMOTE_PROC_NUM_OF_DEFINED_INTERFACES = 137,
-    REMOTE_PROC_LIST_DEFINED_INTERFACES = 138,
-    REMOTE_PROC_NUM_OF_SECRETS = 139,
-    REMOTE_PROC_LIST_SECRETS = 140,
-
-    REMOTE_PROC_SECRET_LOOKUP_BY_UUID = 141,
-    REMOTE_PROC_SECRET_DEFINE_XML = 142,
-    REMOTE_PROC_SECRET_GET_XML_DESC = 143,
-    REMOTE_PROC_SECRET_SET_VALUE = 144,
-    REMOTE_PROC_SECRET_GET_VALUE = 145,
-    REMOTE_PROC_SECRET_UNDEFINE = 146,
-    REMOTE_PROC_SECRET_LOOKUP_BY_USAGE = 147,
-    REMOTE_PROC_DOMAIN_MIGRATE_PREPARE_TUNNEL = 148,
-    REMOTE_PROC_IS_SECURE = 149,
-    REMOTE_PROC_DOMAIN_IS_ACTIVE = 150,
-
-    REMOTE_PROC_DOMAIN_IS_PERSISTENT = 151,
-    REMOTE_PROC_NETWORK_IS_ACTIVE = 152,
-    REMOTE_PROC_NETWORK_IS_PERSISTENT = 153,
-    REMOTE_PROC_STORAGE_POOL_IS_ACTIVE = 154,
-    REMOTE_PROC_STORAGE_POOL_IS_PERSISTENT = 155,
-    REMOTE_PROC_INTERFACE_IS_ACTIVE = 156,
-    REMOTE_PROC_GET_LIB_VERSION = 157,
-    REMOTE_PROC_CPU_COMPARE = 158,
-    REMOTE_PROC_DOMAIN_MEMORY_STATS = 159,
-    REMOTE_PROC_DOMAIN_ATTACH_DEVICE_FLAGS = 160,
-
-    REMOTE_PROC_DOMAIN_DETACH_DEVICE_FLAGS = 161,
-    REMOTE_PROC_CPU_BASELINE = 162,
-    REMOTE_PROC_DOMAIN_GET_JOB_INFO = 163,
-    REMOTE_PROC_DOMAIN_ABORT_JOB = 164,
-    REMOTE_PROC_STORAGE_VOL_WIPE = 165,
-    REMOTE_PROC_DOMAIN_MIGRATE_SET_MAX_DOWNTIME = 166,
-    REMOTE_PROC_DOMAIN_EVENTS_REGISTER_ANY = 167,
-    REMOTE_PROC_DOMAIN_EVENTS_DEREGISTER_ANY = 168,
-    REMOTE_PROC_DOMAIN_EVENT_REBOOT = 169,
-    REMOTE_PROC_DOMAIN_EVENT_RTC_CHANGE = 170,
-
-    REMOTE_PROC_DOMAIN_EVENT_WATCHDOG = 171,
-    REMOTE_PROC_DOMAIN_EVENT_IO_ERROR = 172,
-    REMOTE_PROC_DOMAIN_EVENT_GRAPHICS = 173,
-    REMOTE_PROC_DOMAIN_UPDATE_DEVICE_FLAGS = 174,
-    REMOTE_PROC_NWFILTER_LOOKUP_BY_NAME = 175,
-    REMOTE_PROC_NWFILTER_LOOKUP_BY_UUID = 176,
-    REMOTE_PROC_NWFILTER_GET_XML_DESC = 177,
-    REMOTE_PROC_NUM_OF_NWFILTERS = 178,
-    REMOTE_PROC_LIST_NWFILTERS = 179,
-    REMOTE_PROC_NWFILTER_DEFINE_XML = 180,
-
-    REMOTE_PROC_NWFILTER_UNDEFINE = 181,
-    REMOTE_PROC_DOMAIN_MANAGED_SAVE = 182,
-    REMOTE_PROC_DOMAIN_HAS_MANAGED_SAVE_IMAGE = 183,
-    REMOTE_PROC_DOMAIN_MANAGED_SAVE_REMOVE = 184,
-    REMOTE_PROC_DOMAIN_SNAPSHOT_CREATE_XML = 185,
-    REMOTE_PROC_DOMAIN_SNAPSHOT_GET_XML_DESC = 186,
-    REMOTE_PROC_DOMAIN_SNAPSHOT_NUM = 187,
-    REMOTE_PROC_DOMAIN_SNAPSHOT_LIST_NAMES = 188,
-    REMOTE_PROC_DOMAIN_SNAPSHOT_LOOKUP_BY_NAME = 189,
-    REMOTE_PROC_DOMAIN_HAS_CURRENT_SNAPSHOT = 190,
-
-    REMOTE_PROC_DOMAIN_SNAPSHOT_CURRENT = 191,
-    REMOTE_PROC_DOMAIN_REVERT_TO_SNAPSHOT = 192,
-    REMOTE_PROC_DOMAIN_SNAPSHOT_DELETE = 193,
-    REMOTE_PROC_DOMAIN_GET_BLOCK_INFO = 194,
-    REMOTE_PROC_DOMAIN_EVENT_IO_ERROR_REASON = 195,
-    REMOTE_PROC_DOMAIN_CREATE_WITH_FLAGS = 196,
-    REMOTE_PROC_DOMAIN_SET_MEMORY_PARAMETERS = 197,
-    REMOTE_PROC_DOMAIN_GET_MEMORY_PARAMETERS = 198,
-    REMOTE_PROC_DOMAIN_SET_VCPUS_FLAGS = 199,
-    REMOTE_PROC_DOMAIN_GET_VCPUS_FLAGS = 200,
-
-    REMOTE_PROC_DOMAIN_OPEN_CONSOLE = 201,
-    REMOTE_PROC_DOMAIN_IS_UPDATED = 202,
-    REMOTE_PROC_GET_SYSINFO = 203,
-    REMOTE_PROC_DOMAIN_SET_MEMORY_FLAGS = 204,
-    REMOTE_PROC_DOMAIN_SET_BLKIO_PARAMETERS = 205,
-    REMOTE_PROC_DOMAIN_GET_BLKIO_PARAMETERS = 206,
-    REMOTE_PROC_DOMAIN_MIGRATE_SET_MAX_SPEED = 207,
-    REMOTE_PROC_STORAGE_VOL_UPLOAD = 208,
-    REMOTE_PROC_STORAGE_VOL_DOWNLOAD = 209,
-    REMOTE_PROC_DOMAIN_INJECT_NMI = 210
+    /* Each function must have a two-word comment.  The first word is
+     * whether remote_generator.pl handles daemon, the second whether
+     * it handles src/remote.  */
+    REMOTE_PROC_OPEN = 1, /* skipgen skipgen */
+    REMOTE_PROC_CLOSE = 2, /* skipgen skipgen */
+    REMOTE_PROC_GET_TYPE = 3, /* skipgen skipgen */
+    REMOTE_PROC_GET_VERSION = 4, /* autogen autogen */
+    REMOTE_PROC_GET_MAX_VCPUS = 5, /* autogen autogen */
+    REMOTE_PROC_NODE_GET_INFO = 6, /* autogen autogen */
+    REMOTE_PROC_GET_CAPABILITIES = 7, /* autogen autogen */
+    REMOTE_PROC_DOMAIN_ATTACH_DEVICE = 8, /* autogen autogen */
+    REMOTE_PROC_DOMAIN_CREATE = 9, /* autogen skipgen */
+    REMOTE_PROC_DOMAIN_CREATE_XML = 10, /* autogen autogen */
+
+    REMOTE_PROC_DOMAIN_DEFINE_XML = 11, /* autogen autogen */
+    REMOTE_PROC_DOMAIN_DESTROY = 12, /* autogen skipgen */
+    REMOTE_PROC_DOMAIN_DETACH_DEVICE = 13, /* autogen autogen */
+    REMOTE_PROC_DOMAIN_GET_XML_DESC = 14, /* autogen autogen */
+    REMOTE_PROC_DOMAIN_GET_AUTOSTART = 15, /* autogen autogen */
+    REMOTE_PROC_DOMAIN_GET_INFO = 16, /* autogen autogen */
+    REMOTE_PROC_DOMAIN_GET_MAX_MEMORY = 17, /* autogen autogen */
+    REMOTE_PROC_DOMAIN_GET_MAX_VCPUS = 18, /* autogen autogen */
+    REMOTE_PROC_DOMAIN_GET_OS_TYPE = 19, /* autogen autogen */
+    REMOTE_PROC_DOMAIN_GET_VCPUS = 20, /* skipgen skipgen */
+
+    REMOTE_PROC_LIST_DEFINED_DOMAINS = 21, /* autogen autogen */
+    REMOTE_PROC_DOMAIN_LOOKUP_BY_ID = 22, /* autogen autogen */
+    REMOTE_PROC_DOMAIN_LOOKUP_BY_NAME = 23, /* autogen autogen */
+    REMOTE_PROC_DOMAIN_LOOKUP_BY_UUID = 24, /* autogen autogen */
+    REMOTE_PROC_NUM_OF_DEFINED_DOMAINS = 25, /* autogen autogen */
+    REMOTE_PROC_DOMAIN_PIN_VCPU = 26, /* skipgen autogen */
+    REMOTE_PROC_DOMAIN_REBOOT = 27, /* autogen autogen */
+    REMOTE_PROC_DOMAIN_RESUME = 28, /* autogen autogen */
+    REMOTE_PROC_DOMAIN_SET_AUTOSTART = 29, /* autogen autogen */
+    REMOTE_PROC_DOMAIN_SET_MAX_MEMORY = 30, /* autogen autogen */
+
+    REMOTE_PROC_DOMAIN_SET_MEMORY = 31, /* autogen autogen */
+    REMOTE_PROC_DOMAIN_SET_VCPUS = 32, /* autogen autogen */
+    REMOTE_PROC_DOMAIN_SHUTDOWN = 33, /* autogen autogen */
+    REMOTE_PROC_DOMAIN_SUSPEND = 34, /* autogen autogen */
+    REMOTE_PROC_DOMAIN_UNDEFINE = 35, /* autogen autogen */
+    REMOTE_PROC_LIST_DEFINED_NETWORKS = 36, /* autogen autogen */
+    REMOTE_PROC_LIST_DOMAINS = 37, /* autogen skipgen */
+    REMOTE_PROC_LIST_NETWORKS = 38, /* autogen autogen */
+    REMOTE_PROC_NETWORK_CREATE = 39, /* autogen autogen */
+    REMOTE_PROC_NETWORK_CREATE_XML = 40, /* autogen autogen */
+
+    REMOTE_PROC_NETWORK_DEFINE_XML = 41, /* autogen autogen */
+    REMOTE_PROC_NETWORK_DESTROY = 42, /* autogen autogen */
+    REMOTE_PROC_NETWORK_GET_XML_DESC = 43, /* autogen autogen */
+    REMOTE_PROC_NETWORK_GET_AUTOSTART = 44, /* autogen autogen */
+    REMOTE_PROC_NETWORK_GET_BRIDGE_NAME = 45, /* autogen autogen */
+    REMOTE_PROC_NETWORK_LOOKUP_BY_NAME = 46, /* autogen autogen */
+    REMOTE_PROC_NETWORK_LOOKUP_BY_UUID = 47, /* autogen autogen */
+    REMOTE_PROC_NETWORK_SET_AUTOSTART = 48, /* autogen autogen */
+    REMOTE_PROC_NETWORK_UNDEFINE = 49, /* autogen autogen */
+    REMOTE_PROC_NUM_OF_DEFINED_NETWORKS = 50, /* autogen autogen */
+
+    REMOTE_PROC_NUM_OF_DOMAINS = 51, /* autogen autogen */
+    REMOTE_PROC_NUM_OF_NETWORKS = 52, /* autogen autogen */
+    REMOTE_PROC_DOMAIN_CORE_DUMP = 53, /* autogen autogen */
+    REMOTE_PROC_DOMAIN_RESTORE = 54, /* autogen autogen */
+    REMOTE_PROC_DOMAIN_SAVE = 55, /* autogen autogen */
+    REMOTE_PROC_DOMAIN_GET_SCHEDULER_TYPE = 56, /* skipgen skipgen */
+    REMOTE_PROC_DOMAIN_GET_SCHEDULER_PARAMETERS = 57, /* skipgen skipgen */
+    REMOTE_PROC_DOMAIN_SET_SCHEDULER_PARAMETERS = 58, /* skipgen skipgen */
+    REMOTE_PROC_GET_HOSTNAME = 59, /* autogen autogen */
+    REMOTE_PROC_SUPPORTS_FEATURE = 60, /* autogen skipgen */
+
+    REMOTE_PROC_DOMAIN_MIGRATE_PREPARE = 61, /* skipgen skipgen */
+    REMOTE_PROC_DOMAIN_MIGRATE_PERFORM = 62, /* autogen autogen */
+    REMOTE_PROC_DOMAIN_MIGRATE_FINISH = 63, /* autogen autogen */
+    REMOTE_PROC_DOMAIN_BLOCK_STATS = 64, /* autogen autogen */
+    REMOTE_PROC_DOMAIN_INTERFACE_STATS = 65, /* autogen autogen */
+    REMOTE_PROC_AUTH_LIST = 66, /* skipgen skipgen */
+    REMOTE_PROC_AUTH_SASL_INIT = 67, /* skipgen skipgen */
+    REMOTE_PROC_AUTH_SASL_START = 68, /* skipgen skipgen */
+    REMOTE_PROC_AUTH_SASL_STEP = 69, /* skipgen skipgen */
+    REMOTE_PROC_AUTH_POLKIT = 70, /* skipgen skipgen */
+
+    REMOTE_PROC_NUM_OF_STORAGE_POOLS = 71, /* autogen autogen */
+    REMOTE_PROC_LIST_STORAGE_POOLS = 72, /* autogen autogen */
+    REMOTE_PROC_NUM_OF_DEFINED_STORAGE_POOLS = 73, /* autogen autogen */
+    REMOTE_PROC_LIST_DEFINED_STORAGE_POOLS = 74, /* autogen autogen */
+    REMOTE_PROC_FIND_STORAGE_POOL_SOURCES = 75, /* autogen skipgen */
+    REMOTE_PROC_STORAGE_POOL_CREATE_XML = 76, /* autogen autogen */
+    REMOTE_PROC_STORAGE_POOL_DEFINE_XML = 77, /* autogen autogen */
+    REMOTE_PROC_STORAGE_POOL_CREATE = 78, /* autogen autogen */
+    REMOTE_PROC_STORAGE_POOL_BUILD = 79, /* autogen autogen */
+    REMOTE_PROC_STORAGE_POOL_DESTROY = 80, /* autogen autogen */
+
+    REMOTE_PROC_STORAGE_POOL_DELETE = 81, /* autogen autogen */
+    REMOTE_PROC_STORAGE_POOL_UNDEFINE = 82, /* autogen autogen */
+    REMOTE_PROC_STORAGE_POOL_REFRESH = 83, /* autogen autogen */
+    REMOTE_PROC_STORAGE_POOL_LOOKUP_BY_NAME = 84, /* autogen autogen */
+    REMOTE_PROC_STORAGE_POOL_LOOKUP_BY_UUID = 85, /* autogen autogen */
+    REMOTE_PROC_STORAGE_POOL_LOOKUP_BY_VOLUME = 86, /* autogen autogen */
+    REMOTE_PROC_STORAGE_POOL_GET_INFO = 87, /* autogen autogen */
+    REMOTE_PROC_STORAGE_POOL_GET_XML_DESC = 88, /* autogen autogen */
+    REMOTE_PROC_STORAGE_POOL_GET_AUTOSTART = 89, /* autogen autogen */
+    REMOTE_PROC_STORAGE_POOL_SET_AUTOSTART = 90, /* autogen autogen */
+
+    REMOTE_PROC_STORAGE_POOL_NUM_OF_VOLUMES = 91, /* autogen autogen */
+    REMOTE_PROC_STORAGE_POOL_LIST_VOLUMES = 92, /* autogen autogen */
+    REMOTE_PROC_STORAGE_VOL_CREATE_XML = 93, /* autogen autogen */
+    REMOTE_PROC_STORAGE_VOL_DELETE = 94, /* autogen autogen */
+    REMOTE_PROC_STORAGE_VOL_LOOKUP_BY_NAME = 95, /* autogen autogen */
+    REMOTE_PROC_STORAGE_VOL_LOOKUP_BY_KEY = 96, /* autogen autogen */
+    REMOTE_PROC_STORAGE_VOL_LOOKUP_BY_PATH = 97, /* autogen autogen */
+    REMOTE_PROC_STORAGE_VOL_GET_INFO = 98, /* autogen autogen */
+    REMOTE_PROC_STORAGE_VOL_GET_XML_DESC = 99, /* autogen autogen */
+    REMOTE_PROC_STORAGE_VOL_GET_PATH = 100, /* autogen autogen */
+
+    REMOTE_PROC_NODE_GET_CELLS_FREE_MEMORY = 101, /* autogen skipgen */
+    REMOTE_PROC_NODE_GET_FREE_MEMORY = 102, /* autogen autogen */
+    REMOTE_PROC_DOMAIN_BLOCK_PEEK = 103, /* skipgen skipgen */
+    REMOTE_PROC_DOMAIN_MEMORY_PEEK = 104, /* skipgen skipgen */
+    REMOTE_PROC_DOMAIN_EVENTS_REGISTER = 105, /* skipgen skipgen */
+    REMOTE_PROC_DOMAIN_EVENTS_DEREGISTER = 106, /* skipgen skipgen */
+    REMOTE_PROC_DOMAIN_EVENT_LIFECYCLE = 107, /* autogen autogen */
+    REMOTE_PROC_DOMAIN_MIGRATE_PREPARE2 = 108, /* skipgen skipgen */
+    REMOTE_PROC_DOMAIN_MIGRATE_FINISH2 = 109, /* autogen autogen */
+    REMOTE_PROC_GET_URI = 110, /* autogen skipgen */
+
+    REMOTE_PROC_NODE_NUM_OF_DEVICES = 111, /* autogen autogen */
+    REMOTE_PROC_NODE_LIST_DEVICES = 112, /* autogen autogen */
+    REMOTE_PROC_NODE_DEVICE_LOOKUP_BY_NAME = 113, /* autogen autogen */
+    REMOTE_PROC_NODE_DEVICE_GET_XML_DESC = 114, /* autogen autogen */
+    REMOTE_PROC_NODE_DEVICE_GET_PARENT = 115, /* skipgen skipgen */
+    REMOTE_PROC_NODE_DEVICE_NUM_OF_CAPS = 116, /* autogen autogen */
+    REMOTE_PROC_NODE_DEVICE_LIST_CAPS = 117, /* autogen autogen */
+    REMOTE_PROC_NODE_DEVICE_DETTACH = 118, /* autogen skipgen */
+    REMOTE_PROC_NODE_DEVICE_RE_ATTACH = 119, /* autogen skipgen */
+    REMOTE_PROC_NODE_DEVICE_RESET = 120, /* autogen skipgen */
+
+    REMOTE_PROC_DOMAIN_GET_SECURITY_LABEL = 121, /* skipgen skipgen */
+    REMOTE_PROC_NODE_GET_SECURITY_MODEL = 122, /* skipgen skipgen */
+    REMOTE_PROC_NODE_DEVICE_CREATE_XML = 123, /* autogen autogen */
+    REMOTE_PROC_NODE_DEVICE_DESTROY = 124, /* autogen autogen */
+    REMOTE_PROC_STORAGE_VOL_CREATE_XML_FROM = 125, /* autogen autogen */
+    REMOTE_PROC_NUM_OF_INTERFACES = 126, /* autogen autogen */
+    REMOTE_PROC_LIST_INTERFACES = 127, /* autogen autogen */
+    REMOTE_PROC_INTERFACE_LOOKUP_BY_NAME = 128, /* autogen autogen */
+    REMOTE_PROC_INTERFACE_LOOKUP_BY_MAC_STRING = 129, /* autogen autogen */
+    REMOTE_PROC_INTERFACE_GET_XML_DESC = 130, /* autogen autogen */
+
+    REMOTE_PROC_INTERFACE_DEFINE_XML = 131, /* autogen autogen */
+    REMOTE_PROC_INTERFACE_UNDEFINE = 132, /* autogen autogen */
+    REMOTE_PROC_INTERFACE_CREATE = 133, /* autogen autogen */
+    REMOTE_PROC_INTERFACE_DESTROY = 134, /* autogen autogen */
+    REMOTE_PROC_DOMAIN_XML_FROM_NATIVE = 135, /* autogen autogen */
+    REMOTE_PROC_DOMAIN_XML_TO_NATIVE = 136, /* autogen autogen */
+    REMOTE_PROC_NUM_OF_DEFINED_INTERFACES = 137, /* autogen autogen */
+    REMOTE_PROC_LIST_DEFINED_INTERFACES = 138, /* autogen autogen */
+    REMOTE_PROC_NUM_OF_SECRETS = 139, /* autogen autogen */
+    REMOTE_PROC_LIST_SECRETS = 140, /* autogen autogen */
+
+    REMOTE_PROC_SECRET_LOOKUP_BY_UUID = 141, /* autogen autogen */
+    REMOTE_PROC_SECRET_DEFINE_XML = 142, /* autogen autogen */
+    REMOTE_PROC_SECRET_GET_XML_DESC = 143, /* autogen autogen */
+    REMOTE_PROC_SECRET_SET_VALUE = 144, /* autogen autogen */
+    REMOTE_PROC_SECRET_GET_VALUE = 145, /* skipgen skipgen */
+    REMOTE_PROC_SECRET_UNDEFINE = 146, /* autogen autogen */
+    REMOTE_PROC_SECRET_LOOKUP_BY_USAGE = 147, /* autogen autogen */
+    REMOTE_PROC_DOMAIN_MIGRATE_PREPARE_TUNNEL = 148, /* skipgen skipgen */
+    REMOTE_PROC_IS_SECURE = 149, /* autogen skipgen */
+    REMOTE_PROC_DOMAIN_IS_ACTIVE = 150, /* autogen autogen */
+
+    REMOTE_PROC_DOMAIN_IS_PERSISTENT = 151, /* autogen autogen */
+    REMOTE_PROC_NETWORK_IS_ACTIVE = 152, /* autogen autogen */
+    REMOTE_PROC_NETWORK_IS_PERSISTENT = 153, /* autogen autogen */
+    REMOTE_PROC_STORAGE_POOL_IS_ACTIVE = 154, /* autogen autogen */
+    REMOTE_PROC_STORAGE_POOL_IS_PERSISTENT = 155, /* autogen autogen */
+    REMOTE_PROC_INTERFACE_IS_ACTIVE = 156, /* autogen autogen */
+    REMOTE_PROC_GET_LIB_VERSION = 157, /* autogen autogen */
+    REMOTE_PROC_CPU_COMPARE = 158, /* autogen autogen */
+    REMOTE_PROC_DOMAIN_MEMORY_STATS = 159, /* skipgen skipgen */
+    REMOTE_PROC_DOMAIN_ATTACH_DEVICE_FLAGS = 160, /* autogen autogen */
+
+    REMOTE_PROC_DOMAIN_DETACH_DEVICE_FLAGS = 161, /* autogen autogen */
+    REMOTE_PROC_CPU_BASELINE = 162, /* autogen autogen */
+    REMOTE_PROC_DOMAIN_GET_JOB_INFO = 163, /* autogen autogen */
+    REMOTE_PROC_DOMAIN_ABORT_JOB = 164, /* autogen autogen */
+    REMOTE_PROC_STORAGE_VOL_WIPE = 165, /* autogen autogen */
+    REMOTE_PROC_DOMAIN_MIGRATE_SET_MAX_DOWNTIME = 166, /* autogen autogen */
+    REMOTE_PROC_DOMAIN_EVENTS_REGISTER_ANY = 167, /* skipgen skipgen */
+    REMOTE_PROC_DOMAIN_EVENTS_DEREGISTER_ANY = 168, /* skipgen skipgen */
+    REMOTE_PROC_DOMAIN_EVENT_REBOOT = 169, /* autogen autogen */
+    REMOTE_PROC_DOMAIN_EVENT_RTC_CHANGE = 170, /* autogen autogen */
+
+    REMOTE_PROC_DOMAIN_EVENT_WATCHDOG = 171, /* autogen autogen */
+    REMOTE_PROC_DOMAIN_EVENT_IO_ERROR = 172, /* autogen autogen */
+    REMOTE_PROC_DOMAIN_EVENT_GRAPHICS = 173, /* autogen autogen */
+    REMOTE_PROC_DOMAIN_UPDATE_DEVICE_FLAGS = 174, /* autogen autogen */
+    REMOTE_PROC_NWFILTER_LOOKUP_BY_NAME = 175, /* autogen autogen */
+    REMOTE_PROC_NWFILTER_LOOKUP_BY_UUID = 176, /* autogen autogen */
+    REMOTE_PROC_NWFILTER_GET_XML_DESC = 177, /* autogen autogen */
+    REMOTE_PROC_NUM_OF_NWFILTERS = 178, /* autogen autogen */
+    REMOTE_PROC_LIST_NWFILTERS = 179, /* autogen autogen */
+    REMOTE_PROC_NWFILTER_DEFINE_XML = 180, /* autogen autogen */
+
+    REMOTE_PROC_NWFILTER_UNDEFINE = 181, /* autogen autogen */
+    REMOTE_PROC_DOMAIN_MANAGED_SAVE = 182, /* autogen autogen */
+    REMOTE_PROC_DOMAIN_HAS_MANAGED_SAVE_IMAGE = 183, /* autogen autogen */
+    REMOTE_PROC_DOMAIN_MANAGED_SAVE_REMOVE = 184, /* autogen autogen */
+    REMOTE_PROC_DOMAIN_SNAPSHOT_CREATE_XML = 185, /* autogen autogen */
+    REMOTE_PROC_DOMAIN_SNAPSHOT_GET_XML_DESC = 186, /* autogen autogen */
+    REMOTE_PROC_DOMAIN_SNAPSHOT_NUM = 187, /* autogen autogen */
+    REMOTE_PROC_DOMAIN_SNAPSHOT_LIST_NAMES = 188, /* autogen autogen */
+    REMOTE_PROC_DOMAIN_SNAPSHOT_LOOKUP_BY_NAME = 189, /* autogen autogen */
+    REMOTE_PROC_DOMAIN_HAS_CURRENT_SNAPSHOT = 190, /* autogen autogen */
+
+    REMOTE_PROC_DOMAIN_SNAPSHOT_CURRENT = 191, /* autogen autogen */
+    REMOTE_PROC_DOMAIN_REVERT_TO_SNAPSHOT = 192, /* autogen autogen */
+    REMOTE_PROC_DOMAIN_SNAPSHOT_DELETE = 193, /* autogen autogen */
+    REMOTE_PROC_DOMAIN_GET_BLOCK_INFO = 194, /* autogen autogen */
+    REMOTE_PROC_DOMAIN_EVENT_IO_ERROR_REASON = 195, /* autogen autogen */
+    REMOTE_PROC_DOMAIN_CREATE_WITH_FLAGS = 196, /* skipgen skipgen */
+    REMOTE_PROC_DOMAIN_SET_MEMORY_PARAMETERS = 197, /* skipgen skipgen */
+    REMOTE_PROC_DOMAIN_GET_MEMORY_PARAMETERS = 198, /* skipgen skipgen */
+    REMOTE_PROC_DOMAIN_SET_VCPUS_FLAGS = 199, /* autogen autogen */
+    REMOTE_PROC_DOMAIN_GET_VCPUS_FLAGS = 200, /* autogen autogen */
+
+    REMOTE_PROC_DOMAIN_OPEN_CONSOLE = 201, /* skipgen skipgen */
+    REMOTE_PROC_DOMAIN_IS_UPDATED = 202, /* autogen autogen */
+    REMOTE_PROC_GET_SYSINFO = 203, /* autogen autogen */
+    REMOTE_PROC_DOMAIN_SET_MEMORY_FLAGS = 204, /* autogen autogen */
+    REMOTE_PROC_DOMAIN_SET_BLKIO_PARAMETERS = 205, /* skipgen skipgen */
+    REMOTE_PROC_DOMAIN_GET_BLKIO_PARAMETERS = 206, /* skipgen skipgen */
+    REMOTE_PROC_DOMAIN_MIGRATE_SET_MAX_SPEED = 207, /* autogen autogen */
+    REMOTE_PROC_STORAGE_VOL_UPLOAD = 208, /* skipgen skipgen */
+    REMOTE_PROC_STORAGE_VOL_DOWNLOAD = 209, /* skipgen skipgen */
+    REMOTE_PROC_DOMAIN_INJECT_NMI = 210 /* autogen autogen */
 
     /*
      * Notice how the entries are grouped in sets of 10 ?
-- 
1.7.0.4




More information about the libvir-list mailing list