From a98541bfb411834362d1b8864bf20143c0666e7d Mon Sep 17 00:00:00 2001 From: "Daniel P. Berrange" Date: Wed, 17 Apr 2013 13:04:27 +0100 Subject: [PATCH] Switch to a more extensible annotation system for RPC protocols Currently the RPC protocol files can contain annotations after the protocol enum eg REMOTE_PROC_DOMAIN_SNAPSHOT_LIST_CHILDREN_NAMES = 247, /* autogen autogen priority:high */ This is not very extensible as the number of annotations grows. Change it to use /** * @generate: both * @priority: high */ REMOTE_PROC_DOMAIN_SNAPSHOT_LIST_CHILDREN_NAMES = 247, Signed-off-by: Daniel P. Berrange --- src/locking/lock_protocol.x | 74 +- src/remote/lxc_protocol.x | 39 +- src/remote/qemu_protocol.x | 53 +- src/remote/remote_protocol.x | 2042 ++++++++++++++++++++++++++++------ src/rpc/gendispatch.pl | 67 +- 5 files changed, 1854 insertions(+), 421 deletions(-) diff --git a/src/locking/lock_protocol.x b/src/locking/lock_protocol.x index 5f40f9afd3..f69f2e8a84 100644 --- a/src/locking/lock_protocol.x +++ b/src/locking/lock_protocol.x @@ -77,19 +77,69 @@ const VIR_LOCK_SPACE_PROTOCOL_PROGRAM = 0xEA7BEEF; const VIR_LOCK_SPACE_PROTOCOL_PROGRAM_VERSION = 1; enum virLockSpaceProtocolProcedure { - /* 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. Additional flags can be specified after a - * pipe. + /* Each function must be preceeded by a comment providing one or + * more annotations: + * + * - @generate: none|client|server|both + * + * Whether to generate the dispatch stubs for the server + * and/or client code. + * + * - @readstream: paramnumber + * - @writestream: paramnumber + * + * The @readstream or @writestream annotations let daemon and src/remote + * create a stream. The direction is defined from the src/remote point + * of view. A readstream transfers data from daemon to src/remote. The + * specifies at which offset the stream parameter is inserted + * in the function parameter list. + * + * - @priority: low|high + * + * Each API that might eventually access hypervisor's monitor (and thus + * block) MUST fall into low priority. However, there are some exceptions + * to this rule, e.g. domainDestroy. Other APIs MAY be marked as high + * priority. If in doubt, it's safe to choose low. Low is taken as default, + * and thus can be left out. */ - VIR_LOCK_SPACE_PROTOCOL_PROC_REGISTER = 1, /* skipgen skipgen */ - VIR_LOCK_SPACE_PROTOCOL_PROC_RESTRICT = 2, /* skipgen skipgen */ - VIR_LOCK_SPACE_PROTOCOL_PROC_NEW = 3, /* skipgen skipgen */ - VIR_LOCK_SPACE_PROTOCOL_PROC_CREATE_RESOURCE = 4, /* skipgen skipgen */ - VIR_LOCK_SPACE_PROTOCOL_PROC_DELETE_RESOURCE = 5, /* skipgen skipgen */ - VIR_LOCK_SPACE_PROTOCOL_PROC_ACQUIRE_RESOURCE = 6, /* skipgen skipgen */ - VIR_LOCK_SPACE_PROTOCOL_PROC_RELEASE_RESOURCE = 7, /* skipgen skipgen */ + /** + * @generate: none + */ + VIR_LOCK_SPACE_PROTOCOL_PROC_REGISTER = 1, + + /** + * @generate: none + */ + VIR_LOCK_SPACE_PROTOCOL_PROC_RESTRICT = 2, + + /** + * @generate: none + */ + VIR_LOCK_SPACE_PROTOCOL_PROC_NEW = 3, + + /** + * @generate: none + */ + VIR_LOCK_SPACE_PROTOCOL_PROC_CREATE_RESOURCE = 4, - VIR_LOCK_SPACE_PROTOCOL_PROC_CREATE_LOCKSPACE = 8 /* skipgen skipgen */ + /** + * @generate: none + */ + VIR_LOCK_SPACE_PROTOCOL_PROC_DELETE_RESOURCE = 5, + + /** + * @generate: none + */ + VIR_LOCK_SPACE_PROTOCOL_PROC_ACQUIRE_RESOURCE = 6, + + /** + * @generate: none + */ + VIR_LOCK_SPACE_PROTOCOL_PROC_RELEASE_RESOURCE = 7, + + /** + * @generate: none + */ + VIR_LOCK_SPACE_PROTOCOL_PROC_CREATE_LOCKSPACE = 8 }; diff --git a/src/remote/lxc_protocol.x b/src/remote/lxc_protocol.x index 1453f8940b..f6cd590813 100644 --- a/src/remote/lxc_protocol.x +++ b/src/remote/lxc_protocol.x @@ -37,13 +37,34 @@ const LXC_PROGRAM = 0x00068000; const LXC_PROTOCOL_VERSION = 1; enum lxc_procedure { - /* Each function must have a three-word comment. The first word is - * whether gendispatch.pl handles daemon, the second whether - * it handles src/remote. - * The last argument describes priority of API. There are two accepted - * values: low, high; Each API that might eventually access hypervisor's - * monitor (and thus block) MUST fall into low priority. However, there - * are some exceptions to this rule, e.g. domainDestroy. Other APIs MAY - * be marked as high priority. If in doubt, it's safe to choose low. */ - LXC_PROC_DOMAIN_OPEN_NAMESPACE = 1 /* skipgen skipgen priority:low */ + /* Each function must be preceded by a comment providing one or + * more annotations: + * + * - @generate: none|client|server|both + * + * Whether to generate the dispatch stubs for the server + * and/or client code. + * + * - @readstream: paramnumber + * - @writestream: paramnumber + * + * The @readstream or @writestream annotations let daemon and src/remote + * create a stream. The direction is defined from the src/remote point + * of view. A readstream transfers data from daemon to src/remote. The + * specifies at which offset the stream parameter is inserted + * in the function parameter list. + * + * - @priority: low|high + * + * Each API that might eventually access hypervisor's monitor (and thus + * block) MUST fall into low priority. However, there are some exceptions + * to this rule, e.g. domainDestroy. Other APIs MAY be marked as high + * priority. If in doubt, it's safe to choose low. Low is taken as default, + * and thus can be left out. + */ + /** + * @generate: none + * @priority: low + */ + LXC_PROC_DOMAIN_OPEN_NAMESPACE = 1 }; diff --git a/src/remote/qemu_protocol.x b/src/remote/qemu_protocol.x index d555cbb836..2ac8c1b901 100644 --- a/src/remote/qemu_protocol.x +++ b/src/remote/qemu_protocol.x @@ -63,15 +63,46 @@ const QEMU_PROGRAM = 0x20008087; const QEMU_PROTOCOL_VERSION = 1; enum qemu_procedure { - /* Each function must have a three-word comment. The first word is - * whether gendispatch.pl handles daemon, the second whether - * it handles src/remote. - * The last argument describes priority of API. There are two accepted - * values: low, high; Each API that might eventually access hypervisor's - * monitor (and thus block) MUST fall into low priority. However, there - * are some exceptions to this rule, e.g. domainDestroy. Other APIs MAY - * be marked as high priority. If in doubt, it's safe to choose low. */ - QEMU_PROC_MONITOR_COMMAND = 1, /* skipgen skipgen priority:low */ - QEMU_PROC_DOMAIN_ATTACH = 2, /* autogen autogen priority:low */ - QEMU_PROC_DOMAIN_AGENT_COMMAND = 3 /* autogen autogen priority:low */ + /* Each function must be preceded by a comment providing one or + * more annotations: + * + * - @generate: none|client|server|both + * + * Whether to generate the dispatch stubs for the server + * and/or client code. + * + * - @readstream: paramnumber + * - @writestream: paramnumber + * + * The @readstream or @writestream annotations let daemon and src/remote + * create a stream. The direction is defined from the src/remote point + * of view. A readstream transfers data from daemon to src/remote. The + * specifies at which offset the stream parameter is inserted + * in the function parameter list. + * + * - @priority: low|high + * + * Each API that might eventually access hypervisor's monitor (and thus + * block) MUST fall into low priority. However, there are some exceptions + * to this rule, e.g. domainDestroy. Other APIs MAY be marked as high + * priority. If in doubt, it's safe to choose low. Low is taken as default, + * and thus can be left out. + */ + /** + * @generate: none + * @priority: low + */ + QEMU_PROC_MONITOR_COMMAND = 1, + + /** + * @generate: both + * @priority: low + */ + QEMU_PROC_DOMAIN_ATTACH = 2, + + /** + * @generate: both + * @priority: low + */ + QEMU_PROC_DOMAIN_AGENT_COMMAND = 3 }; diff --git a/src/remote/remote_protocol.x b/src/remote/remote_protocol.x index b957b8e677..e531b973c8 100644 --- a/src/remote/remote_protocol.x +++ b/src/remote/remote_protocol.x @@ -1922,7 +1922,7 @@ struct remote_node_device_destroy_args { }; -/** +/* * Events Register/Deregister: * It would seem rpcgen does not like both args, and ret * to be null. It will not generate the prototype otherwise. @@ -2745,370 +2745,1684 @@ const REMOTE_PROGRAM = 0x20008086; const REMOTE_PROTOCOL_VERSION = 1; enum remote_procedure { - /* Each function must have a three-word comment. The first word is - * whether gendispatch.pl handles daemon, the second whether - * it handles src/remote. Additional flags can be specified after a - * pipe. - * The last argument describes priority of API. There are two accepted - * values: low, high; Each API that might eventually access hypervisor's - * monitor (and thus block) MUST fall into low priority. However, there - * are some exceptions to this rule, e.g. domainDestroy. Other APIs MAY - * be marked as high priority. If in doubt, it's safe to choose low. - * Low is taken as default, and thus can be left out. + /* Each function must be preceded by a comment providing one or + * more annotations: + * + * - @generate: none|client|server|both + * + * Whether to generate the dispatch stubs for the server + * and/or client code. + * + * - @readstream: paramnumber + * - @writestream: paramnumber * - * The (readstream|writestream)@ flag lets daemon and src/remote - * create a stream. The direction is defined from the src/remote point - * of view. A readstream transfers data from daemon to src/remote. The - * specifies at which offset the stream parameter is inserted - * in the function parameter list. */ - REMOTE_PROC_OPEN = 1, /* skipgen skipgen priority:high */ - REMOTE_PROC_CLOSE = 2, /* skipgen skipgen priority:high */ - REMOTE_PROC_GET_TYPE = 3, /* autogen skipgen priority:high */ - REMOTE_PROC_GET_VERSION = 4, /* autogen autogen priority:high */ - REMOTE_PROC_GET_MAX_VCPUS = 5, /* autogen autogen priority:high */ - REMOTE_PROC_NODE_GET_INFO = 6, /* autogen autogen priority:high */ - 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 priority:high */ - REMOTE_PROC_DOMAIN_DESTROY = 12, /* autogen autogen priority:high */ - 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 priority:high */ - REMOTE_PROC_DOMAIN_GET_INFO = 16, /* autogen autogen */ - REMOTE_PROC_DOMAIN_GET_MAX_MEMORY = 17, /* autogen autogen priority:high */ - REMOTE_PROC_DOMAIN_GET_MAX_VCPUS = 18, /* autogen autogen priority:high */ - REMOTE_PROC_DOMAIN_GET_OS_TYPE = 19, /* autogen autogen priority:high */ - REMOTE_PROC_DOMAIN_GET_VCPUS = 20, /* skipgen skipgen priority:high */ - - REMOTE_PROC_LIST_DEFINED_DOMAINS = 21, /* autogen autogen priority:high */ - REMOTE_PROC_DOMAIN_LOOKUP_BY_ID = 22, /* autogen autogen priority:high */ - REMOTE_PROC_DOMAIN_LOOKUP_BY_NAME = 23, /* autogen autogen priority:high */ - REMOTE_PROC_DOMAIN_LOOKUP_BY_UUID = 24, /* autogen autogen priority:high */ - REMOTE_PROC_NUM_OF_DEFINED_DOMAINS = 25, /* autogen autogen priority:high */ - REMOTE_PROC_DOMAIN_PIN_VCPU = 26, /* autogen autogen */ - REMOTE_PROC_DOMAIN_REBOOT = 27, /* autogen autogen */ - REMOTE_PROC_DOMAIN_RESUME = 28, /* autogen autogen */ - REMOTE_PROC_DOMAIN_SET_AUTOSTART = 29, /* autogen autogen priority:high */ - REMOTE_PROC_DOMAIN_SET_MAX_MEMORY = 30, /* autogen autogen priority:high */ - - 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 priority:high */ - REMOTE_PROC_LIST_DEFINED_NETWORKS = 36, /* autogen autogen priority:high */ - REMOTE_PROC_LIST_DOMAINS = 37, /* autogen skipgen priority:high */ - REMOTE_PROC_LIST_NETWORKS = 38, /* autogen autogen priority:high */ - REMOTE_PROC_NETWORK_CREATE = 39, /* autogen autogen */ - REMOTE_PROC_NETWORK_CREATE_XML = 40, /* autogen autogen */ - - REMOTE_PROC_NETWORK_DEFINE_XML = 41, /* autogen autogen priority:high */ - REMOTE_PROC_NETWORK_DESTROY = 42, /* autogen autogen priority:high */ - REMOTE_PROC_NETWORK_GET_XML_DESC = 43, /* autogen autogen priority:high */ - REMOTE_PROC_NETWORK_GET_AUTOSTART = 44, /* autogen autogen priority:high */ - REMOTE_PROC_NETWORK_GET_BRIDGE_NAME = 45, /* autogen autogen priority:high */ - REMOTE_PROC_NETWORK_LOOKUP_BY_NAME = 46, /* autogen autogen priority:high */ - REMOTE_PROC_NETWORK_LOOKUP_BY_UUID = 47, /* autogen autogen priority:high */ - REMOTE_PROC_NETWORK_SET_AUTOSTART = 48, /* autogen autogen priority:high */ - REMOTE_PROC_NETWORK_UNDEFINE = 49, /* autogen autogen priority:high */ - REMOTE_PROC_NUM_OF_DEFINED_NETWORKS = 50, /* autogen autogen priority:high */ - - REMOTE_PROC_NUM_OF_DOMAINS = 51, /* autogen autogen priority:high */ - REMOTE_PROC_NUM_OF_NETWORKS = 52, /* autogen autogen priority:high */ - 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 autogen */ - REMOTE_PROC_DOMAIN_SET_SCHEDULER_PARAMETERS = 58, /* autogen autogen */ - REMOTE_PROC_GET_HOSTNAME = 59, /* autogen autogen priority:high */ - REMOTE_PROC_SUPPORTS_FEATURE = 60, /* skipgen autogen priority:high */ - - 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 priority:high */ - REMOTE_PROC_AUTH_LIST = 66, /* skipgen skipgen priority:high */ - REMOTE_PROC_AUTH_SASL_INIT = 67, /* skipgen skipgen priority:high */ - REMOTE_PROC_AUTH_SASL_START = 68, /* skipgen skipgen priority:high */ - REMOTE_PROC_AUTH_SASL_STEP = 69, /* skipgen skipgen priority:high */ - REMOTE_PROC_AUTH_POLKIT = 70, /* skipgen skipgen priority:high */ - - REMOTE_PROC_NUM_OF_STORAGE_POOLS = 71, /* autogen autogen priority:high */ - REMOTE_PROC_LIST_STORAGE_POOLS = 72, /* autogen autogen priority:high */ - REMOTE_PROC_NUM_OF_DEFINED_STORAGE_POOLS = 73, /* autogen autogen priority:high */ - REMOTE_PROC_LIST_DEFINED_STORAGE_POOLS = 74, /* autogen autogen priority:high */ - 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 priority:high */ - REMOTE_PROC_STORAGE_POOL_CREATE = 78, /* autogen autogen */ - REMOTE_PROC_STORAGE_POOL_BUILD = 79, /* autogen autogen */ - REMOTE_PROC_STORAGE_POOL_DESTROY = 80, /* autogen autogen priority:high */ - - REMOTE_PROC_STORAGE_POOL_DELETE = 81, /* autogen autogen */ - REMOTE_PROC_STORAGE_POOL_UNDEFINE = 82, /* autogen autogen priority:high */ - REMOTE_PROC_STORAGE_POOL_REFRESH = 83, /* autogen autogen */ - REMOTE_PROC_STORAGE_POOL_LOOKUP_BY_NAME = 84, /* autogen autogen priority:high */ - REMOTE_PROC_STORAGE_POOL_LOOKUP_BY_UUID = 85, /* autogen autogen priority:high */ - REMOTE_PROC_STORAGE_POOL_LOOKUP_BY_VOLUME = 86, /* autogen autogen priority:high */ - REMOTE_PROC_STORAGE_POOL_GET_INFO = 87, /* autogen autogen priority:high */ - REMOTE_PROC_STORAGE_POOL_GET_XML_DESC = 88, /* autogen autogen priority:high */ - REMOTE_PROC_STORAGE_POOL_GET_AUTOSTART = 89, /* autogen autogen priority:high */ - REMOTE_PROC_STORAGE_POOL_SET_AUTOSTART = 90, /* autogen autogen priority:high */ - - REMOTE_PROC_STORAGE_POOL_NUM_OF_VOLUMES = 91, /* autogen autogen priority:high */ - REMOTE_PROC_STORAGE_POOL_LIST_VOLUMES = 92, /* autogen autogen priority:high */ - 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 priority:high */ - REMOTE_PROC_STORAGE_VOL_LOOKUP_BY_KEY = 96, /* autogen autogen priority:high */ - REMOTE_PROC_STORAGE_VOL_LOOKUP_BY_PATH = 97, /* autogen autogen priority:high */ - REMOTE_PROC_STORAGE_VOL_GET_INFO = 98, /* autogen autogen priority:high */ - REMOTE_PROC_STORAGE_VOL_GET_XML_DESC = 99, /* autogen autogen priority:high */ - REMOTE_PROC_STORAGE_VOL_GET_PATH = 100, /* autogen autogen priority:high */ - - REMOTE_PROC_NODE_GET_CELLS_FREE_MEMORY = 101, /* autogen skipgen priority:high */ - REMOTE_PROC_NODE_GET_FREE_MEMORY = 102, /* autogen autogen priority:high */ - REMOTE_PROC_DOMAIN_BLOCK_PEEK = 103, /* skipgen skipgen */ - REMOTE_PROC_DOMAIN_MEMORY_PEEK = 104, /* skipgen skipgen */ - REMOTE_PROC_DOMAIN_EVENTS_REGISTER = 105, /* skipgen skipgen priority:high */ - REMOTE_PROC_DOMAIN_EVENTS_DEREGISTER = 106, /* skipgen skipgen priority:high */ - 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 priority:high */ - - REMOTE_PROC_NODE_NUM_OF_DEVICES = 111, /* autogen autogen priority:high */ - REMOTE_PROC_NODE_LIST_DEVICES = 112, /* autogen autogen priority:high */ - REMOTE_PROC_NODE_DEVICE_LOOKUP_BY_NAME = 113, /* autogen autogen priority:high */ - REMOTE_PROC_NODE_DEVICE_GET_XML_DESC = 114, /* autogen autogen */ - REMOTE_PROC_NODE_DEVICE_GET_PARENT = 115, /* skipgen autogen priority:high */ - REMOTE_PROC_NODE_DEVICE_NUM_OF_CAPS = 116, /* autogen autogen priority:high */ - REMOTE_PROC_NODE_DEVICE_LIST_CAPS = 117, /* autogen autogen priority:high */ - 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 priority:high */ - REMOTE_PROC_NODE_GET_SECURITY_MODEL = 122, /* skipgen skipgen priority:high */ - REMOTE_PROC_NODE_DEVICE_CREATE_XML = 123, /* autogen autogen */ - REMOTE_PROC_NODE_DEVICE_DESTROY = 124, /* autogen autogen priority:high */ - REMOTE_PROC_STORAGE_VOL_CREATE_XML_FROM = 125, /* autogen autogen */ - REMOTE_PROC_NUM_OF_INTERFACES = 126, /* autogen autogen priority:high */ - REMOTE_PROC_LIST_INTERFACES = 127, /* autogen autogen priority:high */ - REMOTE_PROC_INTERFACE_LOOKUP_BY_NAME = 128, /* autogen autogen priority:high */ - REMOTE_PROC_INTERFACE_LOOKUP_BY_MAC_STRING = 129, /* autogen autogen priority:high */ - REMOTE_PROC_INTERFACE_GET_XML_DESC = 130, /* autogen autogen */ - - REMOTE_PROC_INTERFACE_DEFINE_XML = 131, /* autogen autogen priority:high */ - REMOTE_PROC_INTERFACE_UNDEFINE = 132, /* autogen autogen priority:high */ - REMOTE_PROC_INTERFACE_CREATE = 133, /* autogen autogen */ - REMOTE_PROC_INTERFACE_DESTROY = 134, /* autogen autogen priority:high */ - 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 priority:high */ - REMOTE_PROC_LIST_DEFINED_INTERFACES = 138, /* autogen autogen priority:high */ - REMOTE_PROC_NUM_OF_SECRETS = 139, /* autogen autogen priority:high */ - REMOTE_PROC_LIST_SECRETS = 140, /* autogen autogen priority:high */ - - REMOTE_PROC_SECRET_LOOKUP_BY_UUID = 141, /* autogen autogen priority:high */ - REMOTE_PROC_SECRET_DEFINE_XML = 142, /* autogen autogen priority:high */ - REMOTE_PROC_SECRET_GET_XML_DESC = 143, /* autogen autogen priority:high */ - REMOTE_PROC_SECRET_SET_VALUE = 144, /* autogen autogen priority:high */ - REMOTE_PROC_SECRET_GET_VALUE = 145, /* skipgen skipgen priority:high */ - REMOTE_PROC_SECRET_UNDEFINE = 146, /* autogen autogen priority:high */ - REMOTE_PROC_SECRET_LOOKUP_BY_USAGE = 147, /* autogen autogen priority:high */ - REMOTE_PROC_DOMAIN_MIGRATE_PREPARE_TUNNEL = 148, /* autogen autogen | writestream@1 */ - REMOTE_PROC_IS_SECURE = 149, /* autogen skipgen priority:high */ - REMOTE_PROC_DOMAIN_IS_ACTIVE = 150, /* autogen autogen priority:high */ - - REMOTE_PROC_DOMAIN_IS_PERSISTENT = 151, /* autogen autogen priority:high */ - REMOTE_PROC_NETWORK_IS_ACTIVE = 152, /* autogen autogen priority:high */ - REMOTE_PROC_NETWORK_IS_PERSISTENT = 153, /* autogen autogen priority:high */ - REMOTE_PROC_STORAGE_POOL_IS_ACTIVE = 154, /* autogen autogen priority:high */ - REMOTE_PROC_STORAGE_POOL_IS_PERSISTENT = 155, /* autogen autogen priority:high */ - REMOTE_PROC_INTERFACE_IS_ACTIVE = 156, /* autogen autogen priority:high */ - REMOTE_PROC_GET_LIB_VERSION = 157, /* autogen autogen priority:high */ - REMOTE_PROC_CPU_COMPARE = 158, /* autogen autogen priority:high */ - 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 priority:high */ - REMOTE_PROC_DOMAIN_EVENTS_DEREGISTER_ANY = 168, /* skipgen skipgen priority:high */ - 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 priority:high */ - REMOTE_PROC_NWFILTER_LOOKUP_BY_UUID = 176, /* autogen autogen priority:high */ - REMOTE_PROC_NWFILTER_GET_XML_DESC = 177, /* autogen autogen priority:high */ - REMOTE_PROC_NUM_OF_NWFILTERS = 178, /* autogen autogen priority:high */ - REMOTE_PROC_LIST_NWFILTERS = 179, /* autogen autogen priority:high */ - REMOTE_PROC_NWFILTER_DEFINE_XML = 180, /* autogen autogen priority:high */ - - REMOTE_PROC_NWFILTER_UNDEFINE = 181, /* autogen autogen priority:high */ - 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 priority:high */ - REMOTE_PROC_DOMAIN_SNAPSHOT_NUM = 187, /* autogen autogen priority:high */ - REMOTE_PROC_DOMAIN_SNAPSHOT_LIST_NAMES = 188, /* autogen autogen priority:high */ - REMOTE_PROC_DOMAIN_SNAPSHOT_LOOKUP_BY_NAME = 189, /* autogen autogen priority:high */ - 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, /* autogen autogen */ - REMOTE_PROC_DOMAIN_SET_MEMORY_PARAMETERS = 197, /* autogen autogen */ - 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, /* autogen autogen | readstream@2 */ - REMOTE_PROC_DOMAIN_IS_UPDATED = 202, /* autogen autogen priority:high */ - REMOTE_PROC_GET_SYSINFO = 203, /* autogen autogen priority:high */ - REMOTE_PROC_DOMAIN_SET_MEMORY_FLAGS = 204, /* autogen autogen */ - REMOTE_PROC_DOMAIN_SET_BLKIO_PARAMETERS = 205, /* autogen autogen */ - 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, /* autogen autogen | writestream@1 */ - REMOTE_PROC_STORAGE_VOL_DOWNLOAD = 209, /* autogen autogen | readstream@1 */ - REMOTE_PROC_DOMAIN_INJECT_NMI = 210, /* autogen autogen */ - - REMOTE_PROC_DOMAIN_SCREENSHOT = 211, /* autogen autogen | readstream@1 */ - REMOTE_PROC_DOMAIN_GET_STATE = 212, /* skipgen skipgen priority:high */ - REMOTE_PROC_DOMAIN_MIGRATE_BEGIN3 = 213, /* skipgen skipgen */ - REMOTE_PROC_DOMAIN_MIGRATE_PREPARE3 = 214, /* skipgen skipgen */ - REMOTE_PROC_DOMAIN_MIGRATE_PREPARE_TUNNEL3 = 215, /* autogen skipgen | writestream@1 */ - REMOTE_PROC_DOMAIN_MIGRATE_PERFORM3 = 216, /* skipgen skipgen */ - REMOTE_PROC_DOMAIN_MIGRATE_FINISH3 = 217, /* skipgen skipgen */ - REMOTE_PROC_DOMAIN_MIGRATE_CONFIRM3 = 218, /* skipgen skipgen */ - REMOTE_PROC_DOMAIN_SET_SCHEDULER_PARAMETERS_FLAGS = 219, /* autogen autogen */ - REMOTE_PROC_INTERFACE_CHANGE_BEGIN = 220, /* autogen autogen */ - - REMOTE_PROC_INTERFACE_CHANGE_COMMIT = 221, /* autogen autogen */ - REMOTE_PROC_INTERFACE_CHANGE_ROLLBACK = 222, /* autogen autogen */ - REMOTE_PROC_DOMAIN_GET_SCHEDULER_PARAMETERS_FLAGS = 223, /* skipgen autogen */ - REMOTE_PROC_DOMAIN_EVENT_CONTROL_ERROR = 224, /* skipgen skipgen */ - REMOTE_PROC_DOMAIN_PIN_VCPU_FLAGS = 225, /* autogen autogen */ - REMOTE_PROC_DOMAIN_SEND_KEY = 226, /* autogen autogen */ - REMOTE_PROC_NODE_GET_CPU_STATS = 227, /* skipgen skipgen priority:high */ - REMOTE_PROC_NODE_GET_MEMORY_STATS = 228, /* skipgen skipgen priority:high */ - REMOTE_PROC_DOMAIN_GET_CONTROL_INFO = 229, /* autogen autogen priority:high */ - REMOTE_PROC_DOMAIN_GET_VCPU_PIN_INFO = 230, /* skipgen skipgen */ - - REMOTE_PROC_DOMAIN_UNDEFINE_FLAGS = 231, /* autogen autogen priority:high */ - REMOTE_PROC_DOMAIN_SAVE_FLAGS = 232, /* autogen autogen */ - REMOTE_PROC_DOMAIN_RESTORE_FLAGS = 233, /* autogen autogen */ - REMOTE_PROC_DOMAIN_DESTROY_FLAGS = 234, /* autogen autogen priority:high */ - REMOTE_PROC_DOMAIN_SAVE_IMAGE_GET_XML_DESC = 235, /* autogen autogen priority:high */ - REMOTE_PROC_DOMAIN_SAVE_IMAGE_DEFINE_XML = 236, /* autogen autogen priority:high */ - REMOTE_PROC_DOMAIN_BLOCK_JOB_ABORT = 237, /* autogen autogen */ - REMOTE_PROC_DOMAIN_GET_BLOCK_JOB_INFO = 238, /* skipgen skipgen */ - REMOTE_PROC_DOMAIN_BLOCK_JOB_SET_SPEED = 239, /* autogen autogen */ - REMOTE_PROC_DOMAIN_BLOCK_PULL = 240, /* autogen autogen */ - - REMOTE_PROC_DOMAIN_EVENT_BLOCK_JOB = 241, /* skipgen skipgen */ - REMOTE_PROC_DOMAIN_MIGRATE_GET_MAX_SPEED = 242, /* autogen autogen */ - REMOTE_PROC_DOMAIN_BLOCK_STATS_FLAGS = 243, /* skipgen skipgen */ - REMOTE_PROC_DOMAIN_SNAPSHOT_GET_PARENT = 244, /* autogen autogen priority:high */ - REMOTE_PROC_DOMAIN_RESET = 245, /* autogen autogen */ - REMOTE_PROC_DOMAIN_SNAPSHOT_NUM_CHILDREN = 246, /* autogen autogen priority:high */ - REMOTE_PROC_DOMAIN_SNAPSHOT_LIST_CHILDREN_NAMES = 247, /* autogen autogen priority:high */ - REMOTE_PROC_DOMAIN_EVENT_DISK_CHANGE = 248, /* skipgen skipgen */ - REMOTE_PROC_DOMAIN_OPEN_GRAPHICS = 249, /* skipgen skipgen */ - REMOTE_PROC_NODE_SUSPEND_FOR_DURATION = 250, /* autogen autogen */ - - REMOTE_PROC_DOMAIN_BLOCK_RESIZE = 251, /* autogen autogen */ - REMOTE_PROC_DOMAIN_SET_BLOCK_IO_TUNE = 252, /* autogen autogen */ - REMOTE_PROC_DOMAIN_GET_BLOCK_IO_TUNE = 253, /* skipgen skipgen */ - REMOTE_PROC_DOMAIN_SET_NUMA_PARAMETERS = 254, /* autogen autogen */ - REMOTE_PROC_DOMAIN_GET_NUMA_PARAMETERS = 255, /* skipgen skipgen */ - REMOTE_PROC_DOMAIN_SET_INTERFACE_PARAMETERS = 256, /* autogen autogen */ - REMOTE_PROC_DOMAIN_GET_INTERFACE_PARAMETERS = 257, /* skipgen skipgen */ - REMOTE_PROC_DOMAIN_SHUTDOWN_FLAGS = 258, /* autogen autogen */ - REMOTE_PROC_STORAGE_VOL_WIPE_PATTERN = 259, /* autogen autogen */ - REMOTE_PROC_STORAGE_VOL_RESIZE = 260, /* autogen autogen */ - - REMOTE_PROC_DOMAIN_PM_SUSPEND_FOR_DURATION = 261, /* autogen autogen */ - REMOTE_PROC_DOMAIN_GET_CPU_STATS = 262, /* skipgen skipgen */ - REMOTE_PROC_DOMAIN_GET_DISK_ERRORS = 263, /* skipgen skipgen */ - REMOTE_PROC_DOMAIN_SET_METADATA = 264, /* autogen autogen */ - REMOTE_PROC_DOMAIN_GET_METADATA = 265, /* autogen autogen */ - REMOTE_PROC_DOMAIN_BLOCK_REBASE = 266, /* autogen autogen */ - REMOTE_PROC_DOMAIN_PM_WAKEUP = 267, /* autogen autogen */ - REMOTE_PROC_DOMAIN_EVENT_TRAY_CHANGE = 268, /* autogen autogen */ - REMOTE_PROC_DOMAIN_EVENT_PMWAKEUP = 269, /* autogen autogen */ - REMOTE_PROC_DOMAIN_EVENT_PMSUSPEND = 270, /* autogen autogen */ - - REMOTE_PROC_DOMAIN_SNAPSHOT_IS_CURRENT = 271, /* autogen autogen */ - REMOTE_PROC_DOMAIN_SNAPSHOT_HAS_METADATA = 272, /* autogen autogen */ - REMOTE_PROC_CONNECT_LIST_ALL_DOMAINS = 273, /* skipgen skipgen priority:high */ - REMOTE_PROC_DOMAIN_LIST_ALL_SNAPSHOTS = 274, /* skipgen skipgen priority:high */ - REMOTE_PROC_DOMAIN_SNAPSHOT_LIST_ALL_CHILDREN = 275, /* skipgen skipgen priority:high */ - REMOTE_PROC_DOMAIN_EVENT_BALLOON_CHANGE = 276, /* autogen autogen */ - REMOTE_PROC_DOMAIN_GET_HOSTNAME = 277, /* autogen autogen */ - REMOTE_PROC_DOMAIN_GET_SECURITY_LABEL_LIST = 278, /* skipgen skipgen priority:high */ - REMOTE_PROC_DOMAIN_PIN_EMULATOR = 279, /* skipgen skipgen */ - REMOTE_PROC_DOMAIN_GET_EMULATOR_PIN_INFO = 280, /* skipgen skipgen */ - - REMOTE_PROC_CONNECT_LIST_ALL_STORAGE_POOLS = 281, /* skipgen skipgen priority:high */ - REMOTE_PROC_STORAGE_POOL_LIST_ALL_VOLUMES = 282, /* skipgen skipgen priority:high */ - REMOTE_PROC_CONNECT_LIST_ALL_NETWORKS = 283, /* skipgen skipgen priority:high */ - REMOTE_PROC_CONNECT_LIST_ALL_INTERFACES = 284, /* skipgen skipgen priority:high */ - REMOTE_PROC_CONNECT_LIST_ALL_NODE_DEVICES = 285, /* skipgen skipgen priority:high */ - REMOTE_PROC_CONNECT_LIST_ALL_NWFILTERS = 286, /* skipgen skipgen priority:high */ - REMOTE_PROC_CONNECT_LIST_ALL_SECRETS = 287, /* skipgen skipgen priority:high */ - REMOTE_PROC_NODE_SET_MEMORY_PARAMETERS = 288, /* autogen autogen */ - REMOTE_PROC_NODE_GET_MEMORY_PARAMETERS = 289, /* skipgen skipgen */ - REMOTE_PROC_DOMAIN_BLOCK_COMMIT = 290, /* autogen autogen */ - - REMOTE_PROC_NETWORK_UPDATE = 291, /* autogen autogen priority:high */ - REMOTE_PROC_DOMAIN_EVENT_PMSUSPEND_DISK = 292, /* autogen autogen */ - REMOTE_PROC_NODE_GET_CPU_MAP = 293, /* skipgen skipgen */ - REMOTE_PROC_DOMAIN_FSTRIM = 294, /* autogen autogen */ - REMOTE_PROC_DOMAIN_SEND_PROCESS_SIGNAL = 295, /* autogen autogen */ - REMOTE_PROC_DOMAIN_OPEN_CHANNEL = 296, /* autogen autogen | readstream@2 */ - REMOTE_PROC_NODE_DEVICE_LOOKUP_SCSI_HOST_BY_WWN = 297, /* autogen autogen priority:high */ - REMOTE_PROC_DOMAIN_GET_JOB_STATS = 298, /* skipgen skipgen */ - REMOTE_PROC_DOMAIN_MIGRATE_GET_COMPRESSION_CACHE = 299, /* autogen autogen */ - REMOTE_PROC_DOMAIN_MIGRATE_SET_COMPRESSION_CACHE = 300 /* autogen autogen */ - - /* - * Notice how the entries are grouped in sets of 10 ? - * Nice isn't it. Please keep it this way when adding more. + * The @readstream or @writestream annotations let daemon and src/remote + * create a stream. The direction is defined from the src/remote point + * of view. A readstream transfers data from daemon to src/remote. The + * specifies at which offset the stream parameter is inserted + * in the function parameter list. * - * Each function must have a three-word comment. The first word is - * whether gendispatch.pl handles daemon, the second whether - * it handles src/remote. Additional flags can be specified after a - * pipe. - * The last argument describes priority of API. There are two accepted - * values: low, high; Each API that might eventually access hypervisor's - * monitor (and thus block) MUST fall into low priority. However, there - * are some exceptions to this rule, e.g. domainDestroy. Other APIs MAY - * be marked as high priority. If in doubt, it's safe to choose low. - * Low is taken as default, and thus can be left out. + * - @priority: low|high * - * The (readstream|writestream)@ flag lets daemon and src/remote - * create a stream. The direction is defined from the src/remote point - * of view. A readstream transfers data from daemon to src/remote. The - * specifies at which offset the stream parameter is inserted - * in the function parameter list. */ + * Each API that might eventually access hypervisor's monitor (and thus + * block) MUST fall into low priority. However, there are some exceptions + * to this rule, e.g. domainDestroy. Other APIs MAY be marked as high + * priority. If in doubt, it's safe to choose low. Low is taken as default, + * and thus can be left out. + */ + + /** + * @generate: none + * @priority: high + */ + REMOTE_PROC_OPEN = 1, + + /** + * @generate: none + * @priority: high + */ + REMOTE_PROC_CLOSE = 2, + + /** + * @generate: server + * @priority: high + */ + REMOTE_PROC_GET_TYPE = 3, + + /** + * @generate: both + * @priority: high + */ + REMOTE_PROC_GET_VERSION = 4, + + /** + * @generate: both + * @priority: high + */ + REMOTE_PROC_GET_MAX_VCPUS = 5, + + /** + * @generate: both + * @priority: high + */ + REMOTE_PROC_NODE_GET_INFO = 6, + + /** + * @generate: both + */ + REMOTE_PROC_GET_CAPABILITIES = 7, + + /** + * @generate: both + */ + REMOTE_PROC_DOMAIN_ATTACH_DEVICE = 8, + + /** + * @generate: server + */ + REMOTE_PROC_DOMAIN_CREATE = 9, + + /** + * @generate: both + */ + REMOTE_PROC_DOMAIN_CREATE_XML = 10, + + /** + * @generate: both + * @priority: high + */ + REMOTE_PROC_DOMAIN_DEFINE_XML = 11, + + /** + * @generate: both + * @priority: high + */ + REMOTE_PROC_DOMAIN_DESTROY = 12, + + /** + * @generate: both + */ + REMOTE_PROC_DOMAIN_DETACH_DEVICE = 13, + + /** + * @generate: both + */ + REMOTE_PROC_DOMAIN_GET_XML_DESC = 14, + + /** + * @generate: both + * @priority: high + */ + REMOTE_PROC_DOMAIN_GET_AUTOSTART = 15, + + /** + * @generate: both + */ + REMOTE_PROC_DOMAIN_GET_INFO = 16, + + /** + * @generate: both + * @priority: high + */ + REMOTE_PROC_DOMAIN_GET_MAX_MEMORY = 17, + + /** + * @generate: both + * @priority: high + */ + REMOTE_PROC_DOMAIN_GET_MAX_VCPUS = 18, + + /** + * @generate: both + * @priority: high + */ + REMOTE_PROC_DOMAIN_GET_OS_TYPE = 19, + + /** + * @generate: none + * @priority: high + */ + REMOTE_PROC_DOMAIN_GET_VCPUS = 20, + + /** + * @generate: both + * @priority: high + */ + REMOTE_PROC_LIST_DEFINED_DOMAINS = 21, + + /** + * @generate: both + * @priority: high + */ + REMOTE_PROC_DOMAIN_LOOKUP_BY_ID = 22, + + /** + * @generate: both + * @priority: high + */ + REMOTE_PROC_DOMAIN_LOOKUP_BY_NAME = 23, + + /** + * @generate: both + * @priority: high + */ + REMOTE_PROC_DOMAIN_LOOKUP_BY_UUID = 24, + + /** + * @generate: both + * @priority: high + */ + REMOTE_PROC_NUM_OF_DEFINED_DOMAINS = 25, + + /** + * @generate: both + */ + REMOTE_PROC_DOMAIN_PIN_VCPU = 26, + + /** + * @generate: both + */ + REMOTE_PROC_DOMAIN_REBOOT = 27, + + /** + * @generate: both + */ + REMOTE_PROC_DOMAIN_RESUME = 28, + + /** + * @generate: both + * @priority: high + */ + REMOTE_PROC_DOMAIN_SET_AUTOSTART = 29, + + /** + * @generate: both + * @priority: high + */ + REMOTE_PROC_DOMAIN_SET_MAX_MEMORY = 30, + + /** + * @generate: both + */ + REMOTE_PROC_DOMAIN_SET_MEMORY = 31, + + /** + * @generate: both + */ + REMOTE_PROC_DOMAIN_SET_VCPUS = 32, + + /** + * @generate: both + */ + REMOTE_PROC_DOMAIN_SHUTDOWN = 33, + + /** + * @generate: both + */ + REMOTE_PROC_DOMAIN_SUSPEND = 34, + + /** + * @generate: both + * @priority: high + */ + REMOTE_PROC_DOMAIN_UNDEFINE = 35, + + /** + * @generate: both + * @priority: high + */ + REMOTE_PROC_LIST_DEFINED_NETWORKS = 36, + + /** + * @generate: server + * @priority: high + */ + REMOTE_PROC_LIST_DOMAINS = 37, + + /** + * @generate: both + * @priority: high + */ + REMOTE_PROC_LIST_NETWORKS = 38, + + /** + * @generate: both + */ + REMOTE_PROC_NETWORK_CREATE = 39, + + /** + * @generate: both + */ + REMOTE_PROC_NETWORK_CREATE_XML = 40, + + /** + * @generate: both + * @priority: high + */ + REMOTE_PROC_NETWORK_DEFINE_XML = 41, + + /** + * @generate: both + * @priority: high + */ + REMOTE_PROC_NETWORK_DESTROY = 42, + + /** + * @generate: both + * @priority: high + */ + REMOTE_PROC_NETWORK_GET_XML_DESC = 43, + + /** + * @generate: both + * @priority: high + */ + REMOTE_PROC_NETWORK_GET_AUTOSTART = 44, + + /** + * @generate: both + * @priority: high + */ + REMOTE_PROC_NETWORK_GET_BRIDGE_NAME = 45, + + /** + * @generate: both + * @priority: high + */ + REMOTE_PROC_NETWORK_LOOKUP_BY_NAME = 46, + + /** + * @generate: both + * @priority: high + */ + REMOTE_PROC_NETWORK_LOOKUP_BY_UUID = 47, + + /** + * @generate: both + * @priority: high + */ + REMOTE_PROC_NETWORK_SET_AUTOSTART = 48, + + /** + * @generate: both + * @priority: high + */ + REMOTE_PROC_NETWORK_UNDEFINE = 49, + + /** + * @generate: both + * @priority: high + */ + REMOTE_PROC_NUM_OF_DEFINED_NETWORKS = 50, + + /** + * @generate: both + * @priority: high + */ + REMOTE_PROC_NUM_OF_DOMAINS = 51, + + /** + * @generate: both + * @priority: high + */ + REMOTE_PROC_NUM_OF_NETWORKS = 52, + + /** + * @generate: both + */ + REMOTE_PROC_DOMAIN_CORE_DUMP = 53, + + /** + * @generate: both + */ + REMOTE_PROC_DOMAIN_RESTORE = 54, + + /** + * @generate: both + */ + REMOTE_PROC_DOMAIN_SAVE = 55, + + /** + * @generate: none + */ + REMOTE_PROC_DOMAIN_GET_SCHEDULER_TYPE = 56, + + /** + * @generate: client + */ + REMOTE_PROC_DOMAIN_GET_SCHEDULER_PARAMETERS = 57, + + /** + * @generate: both + */ + REMOTE_PROC_DOMAIN_SET_SCHEDULER_PARAMETERS = 58, + + /** + * @generate: both + * @priority: high + */ + REMOTE_PROC_GET_HOSTNAME = 59, + + /** + * @generate: client + * @priority: high + */ + REMOTE_PROC_SUPPORTS_FEATURE = 60, + + /** + * @generate: none + */ + REMOTE_PROC_DOMAIN_MIGRATE_PREPARE = 61, + + /** + * @generate: both + */ + REMOTE_PROC_DOMAIN_MIGRATE_PERFORM = 62, + + /** + * @generate: both + */ + REMOTE_PROC_DOMAIN_MIGRATE_FINISH = 63, + + /** + * @generate: both + */ + REMOTE_PROC_DOMAIN_BLOCK_STATS = 64, + + /** + * @generate: both + * @priority: high + */ + REMOTE_PROC_DOMAIN_INTERFACE_STATS = 65, + + /** + * @generate: none + * @priority: high + */ + REMOTE_PROC_AUTH_LIST = 66, + + /** + * @generate: none + * @priority: high + */ + REMOTE_PROC_AUTH_SASL_INIT = 67, + + /** + * @generate: none + * @priority: high + */ + REMOTE_PROC_AUTH_SASL_START = 68, + + /** + * @generate: none + * @priority: high + */ + REMOTE_PROC_AUTH_SASL_STEP = 69, + + /** + * @generate: none + * @priority: high + */ + REMOTE_PROC_AUTH_POLKIT = 70, + + /** + * @generate: both + * @priority: high + */ + REMOTE_PROC_NUM_OF_STORAGE_POOLS = 71, + + /** + * @generate: both + * @priority: high + */ + REMOTE_PROC_LIST_STORAGE_POOLS = 72, + + /** + * @generate: both + * @priority: high + */ + REMOTE_PROC_NUM_OF_DEFINED_STORAGE_POOLS = 73, + + /** + * @generate: both + * @priority: high + */ + REMOTE_PROC_LIST_DEFINED_STORAGE_POOLS = 74, + + /** + * @generate: server + */ + REMOTE_PROC_FIND_STORAGE_POOL_SOURCES = 75, + + /** + * @generate: both + */ + REMOTE_PROC_STORAGE_POOL_CREATE_XML = 76, + + /** + * @generate: both + * @priority: high + */ + REMOTE_PROC_STORAGE_POOL_DEFINE_XML = 77, + + /** + * @generate: both + */ + REMOTE_PROC_STORAGE_POOL_CREATE = 78, + + /** + * @generate: both + */ + REMOTE_PROC_STORAGE_POOL_BUILD = 79, + + /** + * @generate: both + * @priority: high + */ + REMOTE_PROC_STORAGE_POOL_DESTROY = 80, + + /** + * @generate: both + */ + REMOTE_PROC_STORAGE_POOL_DELETE = 81, + + /** + * @generate: both + * @priority: high + */ + REMOTE_PROC_STORAGE_POOL_UNDEFINE = 82, + + /** + * @generate: both + */ + REMOTE_PROC_STORAGE_POOL_REFRESH = 83, + + /** + * @generate: both + * @priority: high + */ + REMOTE_PROC_STORAGE_POOL_LOOKUP_BY_NAME = 84, + + /** + * @generate: both + * @priority: high + */ + REMOTE_PROC_STORAGE_POOL_LOOKUP_BY_UUID = 85, + + /** + * @generate: both + * @priority: high + */ + REMOTE_PROC_STORAGE_POOL_LOOKUP_BY_VOLUME = 86, + + /** + * @generate: both + * @priority: high + */ + REMOTE_PROC_STORAGE_POOL_GET_INFO = 87, + + /** + * @generate: both + * @priority: high + */ + REMOTE_PROC_STORAGE_POOL_GET_XML_DESC = 88, + + /** + * @generate: both + * @priority: high + */ + REMOTE_PROC_STORAGE_POOL_GET_AUTOSTART = 89, + + /** + * @generate: both + * @priority: high + */ + REMOTE_PROC_STORAGE_POOL_SET_AUTOSTART = 90, + + /** + * @generate: both + * @priority: high + */ + REMOTE_PROC_STORAGE_POOL_NUM_OF_VOLUMES = 91, + + /** + * @generate: both + * @priority: high + */ + REMOTE_PROC_STORAGE_POOL_LIST_VOLUMES = 92, + + /** + * @generate: both + */ + REMOTE_PROC_STORAGE_VOL_CREATE_XML = 93, + + /** + * @generate: both + */ + REMOTE_PROC_STORAGE_VOL_DELETE = 94, + + /** + * @generate: both + * @priority: high + */ + REMOTE_PROC_STORAGE_VOL_LOOKUP_BY_NAME = 95, + + /** + * @generate: both + * @priority: high + */ + REMOTE_PROC_STORAGE_VOL_LOOKUP_BY_KEY = 96, + + /** + * @generate: both + * @priority: high + */ + REMOTE_PROC_STORAGE_VOL_LOOKUP_BY_PATH = 97, + + /** + * @generate: both + * @priority: high + */ + REMOTE_PROC_STORAGE_VOL_GET_INFO = 98, + + /** + * @generate: both + * @priority: high + */ + REMOTE_PROC_STORAGE_VOL_GET_XML_DESC = 99, + + /** + * @generate: both + * @priority: high + */ + REMOTE_PROC_STORAGE_VOL_GET_PATH = 100, + + /** + * @generate: server + * @priority: high + */ + REMOTE_PROC_NODE_GET_CELLS_FREE_MEMORY = 101, + + /** + * @generate: both + * @priority: high + */ + REMOTE_PROC_NODE_GET_FREE_MEMORY = 102, + + /** + * @generate: none + */ + REMOTE_PROC_DOMAIN_BLOCK_PEEK = 103, + + /** + * @generate: none + */ + REMOTE_PROC_DOMAIN_MEMORY_PEEK = 104, + + /** + * @generate: none + * @priority: high + */ + REMOTE_PROC_DOMAIN_EVENTS_REGISTER = 105, + + /** + * @generate: none + * @priority: high + */ + REMOTE_PROC_DOMAIN_EVENTS_DEREGISTER = 106, + + /** + * @generate: both + */ + REMOTE_PROC_DOMAIN_EVENT_LIFECYCLE = 107, + + /** + * @generate: none + */ + REMOTE_PROC_DOMAIN_MIGRATE_PREPARE2 = 108, + + /** + * @generate: both + */ + REMOTE_PROC_DOMAIN_MIGRATE_FINISH2 = 109, + + /** + * @generate: server + * @priority: high + */ + REMOTE_PROC_GET_URI = 110, + + /** + * @generate: both + * @priority: high + */ + REMOTE_PROC_NODE_NUM_OF_DEVICES = 111, + + /** + * @generate: both + * @priority: high + */ + REMOTE_PROC_NODE_LIST_DEVICES = 112, + + /** + * @generate: both + * @priority: high + */ + REMOTE_PROC_NODE_DEVICE_LOOKUP_BY_NAME = 113, + + /** + * @generate: both + */ + REMOTE_PROC_NODE_DEVICE_GET_XML_DESC = 114, + + /** + * @generate: client + * @priority: high + */ + REMOTE_PROC_NODE_DEVICE_GET_PARENT = 115, + + /** + * @generate: both + * @priority: high + */ + REMOTE_PROC_NODE_DEVICE_NUM_OF_CAPS = 116, + + /** + * @generate: both + * @priority: high + */ + REMOTE_PROC_NODE_DEVICE_LIST_CAPS = 117, + + /** + * @generate: server + */ + REMOTE_PROC_NODE_DEVICE_DETTACH = 118, + + /** + * @generate: server + */ + REMOTE_PROC_NODE_DEVICE_RE_ATTACH = 119, + + /** + * @generate: server + */ + REMOTE_PROC_NODE_DEVICE_RESET = 120, + + /** + * @generate: none + * @priority: high + */ + REMOTE_PROC_DOMAIN_GET_SECURITY_LABEL = 121, + + /** + * @generate: none + * @priority: high + */ + REMOTE_PROC_NODE_GET_SECURITY_MODEL = 122, + + /** + * @generate: both + */ + REMOTE_PROC_NODE_DEVICE_CREATE_XML = 123, + + /** + * @generate: both + * @priority: high + */ + REMOTE_PROC_NODE_DEVICE_DESTROY = 124, + + /** + * @generate: both + */ + REMOTE_PROC_STORAGE_VOL_CREATE_XML_FROM = 125, + + /** + * @generate: both + * @priority: high + */ + REMOTE_PROC_NUM_OF_INTERFACES = 126, + + /** + * @generate: both + * @priority: high + */ + REMOTE_PROC_LIST_INTERFACES = 127, + + /** + * @generate: both + * @priority: high + */ + REMOTE_PROC_INTERFACE_LOOKUP_BY_NAME = 128, + + /** + * @generate: both + * @priority: high + */ + REMOTE_PROC_INTERFACE_LOOKUP_BY_MAC_STRING = 129, + + /** + * @generate: both + */ + REMOTE_PROC_INTERFACE_GET_XML_DESC = 130, + + /** + * @generate: both + * @priority: high + */ + REMOTE_PROC_INTERFACE_DEFINE_XML = 131, + + /** + * @generate: both + * @priority: high + */ + REMOTE_PROC_INTERFACE_UNDEFINE = 132, + + /** + * @generate: both + */ + REMOTE_PROC_INTERFACE_CREATE = 133, + + /** + * @generate: both + * @priority: high + */ + REMOTE_PROC_INTERFACE_DESTROY = 134, + + /** + * @generate: both + */ + REMOTE_PROC_DOMAIN_XML_FROM_NATIVE = 135, + + /** + * @generate: both + */ + REMOTE_PROC_DOMAIN_XML_TO_NATIVE = 136, + + /** + * @generate: both + * @priority: high + */ + REMOTE_PROC_NUM_OF_DEFINED_INTERFACES = 137, + + /** + * @generate: both + * @priority: high + */ + REMOTE_PROC_LIST_DEFINED_INTERFACES = 138, + + /** + * @generate: both + * @priority: high + */ + REMOTE_PROC_NUM_OF_SECRETS = 139, + + /** + * @generate: both + * @priority: high + */ + REMOTE_PROC_LIST_SECRETS = 140, + + /** + * @generate: both + * @priority: high + */ + REMOTE_PROC_SECRET_LOOKUP_BY_UUID = 141, + + /** + * @generate: both + * @priority: high + */ + REMOTE_PROC_SECRET_DEFINE_XML = 142, + + /** + * @generate: both + * @priority: high + */ + REMOTE_PROC_SECRET_GET_XML_DESC = 143, + + /** + * @generate: both + * @priority: high + */ + REMOTE_PROC_SECRET_SET_VALUE = 144, + + /** + * @generate: none + * @priority: high + */ + REMOTE_PROC_SECRET_GET_VALUE = 145, + + /** + * @generate: both + * @priority: high + */ + REMOTE_PROC_SECRET_UNDEFINE = 146, + + /** + * @generate: both + * @priority: high + */ + REMOTE_PROC_SECRET_LOOKUP_BY_USAGE = 147, + + /** + * @generate: both + * @writestream: 1 + */ + REMOTE_PROC_DOMAIN_MIGRATE_PREPARE_TUNNEL = 148, + + /** + * @generate: server + * @priority: high + */ + REMOTE_PROC_IS_SECURE = 149, + + /** + * @generate: both + * @priority: high + */ + REMOTE_PROC_DOMAIN_IS_ACTIVE = 150, + + /** + * @generate: both + * @priority: high + */ + REMOTE_PROC_DOMAIN_IS_PERSISTENT = 151, + + /** + * @generate: both + * @priority: high + */ + REMOTE_PROC_NETWORK_IS_ACTIVE = 152, + + /** + * @generate: both + * @priority: high + */ + REMOTE_PROC_NETWORK_IS_PERSISTENT = 153, + + /** + * @generate: both + * @priority: high + */ + REMOTE_PROC_STORAGE_POOL_IS_ACTIVE = 154, + + /** + * @generate: both + * @priority: high + */ + REMOTE_PROC_STORAGE_POOL_IS_PERSISTENT = 155, + + /** + * @generate: both + * @priority: high + */ + REMOTE_PROC_INTERFACE_IS_ACTIVE = 156, + + /** + * @generate: both + * @priority: high + */ + REMOTE_PROC_GET_LIB_VERSION = 157, + + /** + * @generate: both + * @priority: high + */ + REMOTE_PROC_CPU_COMPARE = 158, + + /** + * @generate: none + */ + REMOTE_PROC_DOMAIN_MEMORY_STATS = 159, + + /** + * @generate: both + */ + REMOTE_PROC_DOMAIN_ATTACH_DEVICE_FLAGS = 160, + + /** + * @generate: both + */ + REMOTE_PROC_DOMAIN_DETACH_DEVICE_FLAGS = 161, + + /** + * @generate: both + */ + REMOTE_PROC_CPU_BASELINE = 162, + + /** + * @generate: both + */ + REMOTE_PROC_DOMAIN_GET_JOB_INFO = 163, + + /** + * @generate: both + */ + REMOTE_PROC_DOMAIN_ABORT_JOB = 164, + + /** + * @generate: both + */ + REMOTE_PROC_STORAGE_VOL_WIPE = 165, + + /** + * @generate: both + */ + REMOTE_PROC_DOMAIN_MIGRATE_SET_MAX_DOWNTIME = 166, + + /** + * @generate: none + * @priority: high + */ + REMOTE_PROC_DOMAIN_EVENTS_REGISTER_ANY = 167, + + /** + * @generate: none + * @priority: high + */ + REMOTE_PROC_DOMAIN_EVENTS_DEREGISTER_ANY = 168, + + /** + * @generate: both + */ + REMOTE_PROC_DOMAIN_EVENT_REBOOT = 169, + + /** + * @generate: both + */ + REMOTE_PROC_DOMAIN_EVENT_RTC_CHANGE = 170, + + /** + * @generate: both + */ + REMOTE_PROC_DOMAIN_EVENT_WATCHDOG = 171, + + /** + * @generate: both + */ + REMOTE_PROC_DOMAIN_EVENT_IO_ERROR = 172, + + /** + * @generate: both + */ + REMOTE_PROC_DOMAIN_EVENT_GRAPHICS = 173, + + /** + * @generate: both + */ + REMOTE_PROC_DOMAIN_UPDATE_DEVICE_FLAGS = 174, + + /** + * @generate: both + * @priority: high + */ + REMOTE_PROC_NWFILTER_LOOKUP_BY_NAME = 175, + + /** + * @generate: both + * @priority: high + */ + REMOTE_PROC_NWFILTER_LOOKUP_BY_UUID = 176, + + /** + * @generate: both + * @priority: high + */ + REMOTE_PROC_NWFILTER_GET_XML_DESC = 177, + + /** + * @generate: both + * @priority: high + */ + REMOTE_PROC_NUM_OF_NWFILTERS = 178, + + /** + * @generate: both + * @priority: high + */ + REMOTE_PROC_LIST_NWFILTERS = 179, + + /** + * @generate: both + * @priority: high + */ + REMOTE_PROC_NWFILTER_DEFINE_XML = 180, + + /** + * @generate: both + * @priority: high + */ + REMOTE_PROC_NWFILTER_UNDEFINE = 181, + + /** + * @generate: both + */ + REMOTE_PROC_DOMAIN_MANAGED_SAVE = 182, + + /** + * @generate: both + */ + REMOTE_PROC_DOMAIN_HAS_MANAGED_SAVE_IMAGE = 183, + + /** + * @generate: both + */ + REMOTE_PROC_DOMAIN_MANAGED_SAVE_REMOVE = 184, + + /** + * @generate: both + */ + REMOTE_PROC_DOMAIN_SNAPSHOT_CREATE_XML = 185, + + /** + * @generate: both + * @priority: high + */ + REMOTE_PROC_DOMAIN_SNAPSHOT_GET_XML_DESC = 186, + + /** + * @generate: both + * @priority: high + */ + REMOTE_PROC_DOMAIN_SNAPSHOT_NUM = 187, + + /** + * @generate: both + * @priority: high + */ + REMOTE_PROC_DOMAIN_SNAPSHOT_LIST_NAMES = 188, + + /** + * @generate: both + * @priority: high + */ + REMOTE_PROC_DOMAIN_SNAPSHOT_LOOKUP_BY_NAME = 189, + + /** + * @generate: both + */ + REMOTE_PROC_DOMAIN_HAS_CURRENT_SNAPSHOT = 190, + + /** + * @generate: both + */ + REMOTE_PROC_DOMAIN_SNAPSHOT_CURRENT = 191, + + /** + * @generate: both + */ + REMOTE_PROC_DOMAIN_REVERT_TO_SNAPSHOT = 192, + + /** + * @generate: both + */ + REMOTE_PROC_DOMAIN_SNAPSHOT_DELETE = 193, + + /** + * @generate: both + */ + REMOTE_PROC_DOMAIN_GET_BLOCK_INFO = 194, + + /** + * @generate: both + */ + REMOTE_PROC_DOMAIN_EVENT_IO_ERROR_REASON = 195, + + /** + * @generate: both + */ + REMOTE_PROC_DOMAIN_CREATE_WITH_FLAGS = 196, + + /** + * @generate: both + */ + REMOTE_PROC_DOMAIN_SET_MEMORY_PARAMETERS = 197, + + /** + * @generate: none + */ + REMOTE_PROC_DOMAIN_GET_MEMORY_PARAMETERS = 198, + + /** + * @generate: both + */ + REMOTE_PROC_DOMAIN_SET_VCPUS_FLAGS = 199, + + /** + * @generate: both + */ + REMOTE_PROC_DOMAIN_GET_VCPUS_FLAGS = 200, + + /** + * @generate: both + * @readstream: 2 + */ + REMOTE_PROC_DOMAIN_OPEN_CONSOLE = 201, + + /** + * @generate: both + * @priority: high + */ + REMOTE_PROC_DOMAIN_IS_UPDATED = 202, + + /** + * @generate: both + * @priority: high + */ + REMOTE_PROC_GET_SYSINFO = 203, + + /** + * @generate: both + */ + REMOTE_PROC_DOMAIN_SET_MEMORY_FLAGS = 204, + + /** + * @generate: both + */ + REMOTE_PROC_DOMAIN_SET_BLKIO_PARAMETERS = 205, + + /** + * @generate: none + */ + REMOTE_PROC_DOMAIN_GET_BLKIO_PARAMETERS = 206, + + /** + * @generate: both + */ + REMOTE_PROC_DOMAIN_MIGRATE_SET_MAX_SPEED = 207, + + /** + * @generate: both + * @writestream: 1 + */ + REMOTE_PROC_STORAGE_VOL_UPLOAD = 208, + + /** + * @generate: both + * @readstream: 1 + */ + REMOTE_PROC_STORAGE_VOL_DOWNLOAD = 209, + + /** + * @generate: both + */ + REMOTE_PROC_DOMAIN_INJECT_NMI = 210, + + /** + * @generate: both + * @readstream: 1 + */ + REMOTE_PROC_DOMAIN_SCREENSHOT = 211, + + /** + * @generate: none + * @priority: high + */ + REMOTE_PROC_DOMAIN_GET_STATE = 212, + + /** + * @generate: none + */ + REMOTE_PROC_DOMAIN_MIGRATE_BEGIN3 = 213, + + /** + * @generate: none + */ + REMOTE_PROC_DOMAIN_MIGRATE_PREPARE3 = 214, + + /** + * @generate: server + * @writestream: 1 + */ + REMOTE_PROC_DOMAIN_MIGRATE_PREPARE_TUNNEL3 = 215, + + /** + * @generate: none + */ + REMOTE_PROC_DOMAIN_MIGRATE_PERFORM3 = 216, + + /** + * @generate: none + */ + REMOTE_PROC_DOMAIN_MIGRATE_FINISH3 = 217, + + /** + * @generate: none + */ + REMOTE_PROC_DOMAIN_MIGRATE_CONFIRM3 = 218, + + /** + * @generate: both + */ + REMOTE_PROC_DOMAIN_SET_SCHEDULER_PARAMETERS_FLAGS = 219, + + /** + * @generate: both + */ + REMOTE_PROC_INTERFACE_CHANGE_BEGIN = 220, + + /** + * @generate: both + */ + REMOTE_PROC_INTERFACE_CHANGE_COMMIT = 221, + + /** + * @generate: both + */ + REMOTE_PROC_INTERFACE_CHANGE_ROLLBACK = 222, + + /** + * @generate: client + */ + REMOTE_PROC_DOMAIN_GET_SCHEDULER_PARAMETERS_FLAGS = 223, + + /** + * @generate: none + */ + REMOTE_PROC_DOMAIN_EVENT_CONTROL_ERROR = 224, + + /** + * @generate: both + */ + REMOTE_PROC_DOMAIN_PIN_VCPU_FLAGS = 225, + + /** + * @generate: both + */ + REMOTE_PROC_DOMAIN_SEND_KEY = 226, + + /** + * @generate: none + * @priority: high + */ + REMOTE_PROC_NODE_GET_CPU_STATS = 227, + + /** + * @generate: none + * @priority: high + */ + REMOTE_PROC_NODE_GET_MEMORY_STATS = 228, + + /** + * @generate: both + * @priority: high + */ + REMOTE_PROC_DOMAIN_GET_CONTROL_INFO = 229, + + /** + * @generate: none + */ + REMOTE_PROC_DOMAIN_GET_VCPU_PIN_INFO = 230, + + /** + * @generate: both + * @priority: high + */ + REMOTE_PROC_DOMAIN_UNDEFINE_FLAGS = 231, + + /** + * @generate: both + */ + REMOTE_PROC_DOMAIN_SAVE_FLAGS = 232, + + /** + * @generate: both + */ + REMOTE_PROC_DOMAIN_RESTORE_FLAGS = 233, + + /** + * @generate: both + * @priority: high + */ + REMOTE_PROC_DOMAIN_DESTROY_FLAGS = 234, + + /** + * @generate: both + * @priority: high + */ + REMOTE_PROC_DOMAIN_SAVE_IMAGE_GET_XML_DESC = 235, + + /** + * @generate: both + * @priority: high + */ + REMOTE_PROC_DOMAIN_SAVE_IMAGE_DEFINE_XML = 236, + + /** + * @generate: both + */ + REMOTE_PROC_DOMAIN_BLOCK_JOB_ABORT = 237, + + /** + * @generate: none + */ + REMOTE_PROC_DOMAIN_GET_BLOCK_JOB_INFO = 238, + + /** + * @generate: both + */ + REMOTE_PROC_DOMAIN_BLOCK_JOB_SET_SPEED = 239, + + /** + * @generate: both + */ + REMOTE_PROC_DOMAIN_BLOCK_PULL = 240, + + /** + * @generate: none + */ + REMOTE_PROC_DOMAIN_EVENT_BLOCK_JOB = 241, + + /** + * @generate: both + */ + REMOTE_PROC_DOMAIN_MIGRATE_GET_MAX_SPEED = 242, + + /** + * @generate: none + */ + REMOTE_PROC_DOMAIN_BLOCK_STATS_FLAGS = 243, + + /** + * @generate: both + * @priority: high + */ + REMOTE_PROC_DOMAIN_SNAPSHOT_GET_PARENT = 244, + + /** + * @generate: both + */ + REMOTE_PROC_DOMAIN_RESET = 245, + + /** + * @generate: both + * @priority: high + */ + REMOTE_PROC_DOMAIN_SNAPSHOT_NUM_CHILDREN = 246, + + /** + * @generate: both + * @priority: high + */ + REMOTE_PROC_DOMAIN_SNAPSHOT_LIST_CHILDREN_NAMES = 247, + + /** + * @generate: none + */ + REMOTE_PROC_DOMAIN_EVENT_DISK_CHANGE = 248, + + /** + * @generate: none + */ + REMOTE_PROC_DOMAIN_OPEN_GRAPHICS = 249, + + /** + * @generate: both + */ + REMOTE_PROC_NODE_SUSPEND_FOR_DURATION = 250, + + /** + * @generate: both + */ + REMOTE_PROC_DOMAIN_BLOCK_RESIZE = 251, + + /** + * @generate: both + */ + REMOTE_PROC_DOMAIN_SET_BLOCK_IO_TUNE = 252, + + /** + * @generate: none + */ + REMOTE_PROC_DOMAIN_GET_BLOCK_IO_TUNE = 253, + + /** + * @generate: both + */ + REMOTE_PROC_DOMAIN_SET_NUMA_PARAMETERS = 254, + + /** + * @generate: none + */ + REMOTE_PROC_DOMAIN_GET_NUMA_PARAMETERS = 255, + + /** + * @generate: both + */ + REMOTE_PROC_DOMAIN_SET_INTERFACE_PARAMETERS = 256, + + /** + * @generate: none + */ + REMOTE_PROC_DOMAIN_GET_INTERFACE_PARAMETERS = 257, + + /** + * @generate: both + */ + REMOTE_PROC_DOMAIN_SHUTDOWN_FLAGS = 258, + + /** + * @generate: both + */ + REMOTE_PROC_STORAGE_VOL_WIPE_PATTERN = 259, + + /** + * @generate: both + */ + REMOTE_PROC_STORAGE_VOL_RESIZE = 260, + + /** + * @generate: both + */ + REMOTE_PROC_DOMAIN_PM_SUSPEND_FOR_DURATION = 261, + + /** + * @generate: none + */ + REMOTE_PROC_DOMAIN_GET_CPU_STATS = 262, + + /** + * @generate: none + */ + REMOTE_PROC_DOMAIN_GET_DISK_ERRORS = 263, + + /** + * @generate: both + */ + REMOTE_PROC_DOMAIN_SET_METADATA = 264, + + /** + * @generate: both + */ + REMOTE_PROC_DOMAIN_GET_METADATA = 265, + + /** + * @generate: both + */ + REMOTE_PROC_DOMAIN_BLOCK_REBASE = 266, + + /** + * @generate: both + */ + REMOTE_PROC_DOMAIN_PM_WAKEUP = 267, + + /** + * @generate: both + */ + REMOTE_PROC_DOMAIN_EVENT_TRAY_CHANGE = 268, + + /** + * @generate: both + */ + REMOTE_PROC_DOMAIN_EVENT_PMWAKEUP = 269, + + /** + * @generate: both + */ + REMOTE_PROC_DOMAIN_EVENT_PMSUSPEND = 270, + + /** + * @generate: both + */ + REMOTE_PROC_DOMAIN_SNAPSHOT_IS_CURRENT = 271, + + /** + * @generate: both + */ + REMOTE_PROC_DOMAIN_SNAPSHOT_HAS_METADATA = 272, + + /** + * @generate: none + * @priority: high + */ + REMOTE_PROC_CONNECT_LIST_ALL_DOMAINS = 273, + + /** + * @generate: none + * @priority: high + */ + REMOTE_PROC_DOMAIN_LIST_ALL_SNAPSHOTS = 274, + + /** + * @generate: none + * @priority: high + */ + REMOTE_PROC_DOMAIN_SNAPSHOT_LIST_ALL_CHILDREN = 275, + + /** + * @generate: both + */ + REMOTE_PROC_DOMAIN_EVENT_BALLOON_CHANGE = 276, + + /** + * @generate: both + */ + REMOTE_PROC_DOMAIN_GET_HOSTNAME = 277, + + /** + * @generate: none + * @priority: high + */ + REMOTE_PROC_DOMAIN_GET_SECURITY_LABEL_LIST = 278, + + /** + * @generate: none + */ + REMOTE_PROC_DOMAIN_PIN_EMULATOR = 279, + + /** + * @generate: none + */ + REMOTE_PROC_DOMAIN_GET_EMULATOR_PIN_INFO = 280, + + /** + * @generate: none + * @priority: high + */ + REMOTE_PROC_CONNECT_LIST_ALL_STORAGE_POOLS = 281, + + /** + * @generate: none + * @priority: high + */ + REMOTE_PROC_STORAGE_POOL_LIST_ALL_VOLUMES = 282, + + /** + * @generate: none + * @priority: high + */ + REMOTE_PROC_CONNECT_LIST_ALL_NETWORKS = 283, + + /** + * @generate: none + * @priority: high + */ + REMOTE_PROC_CONNECT_LIST_ALL_INTERFACES = 284, + + /** + * @generate: none + * @priority: high + */ + REMOTE_PROC_CONNECT_LIST_ALL_NODE_DEVICES = 285, + + /** + * @generate: none + * @priority: high + */ + REMOTE_PROC_CONNECT_LIST_ALL_NWFILTERS = 286, + + /** + * @generate: none + * @priority: high + */ + REMOTE_PROC_CONNECT_LIST_ALL_SECRETS = 287, + + /** + * @generate: both + */ + REMOTE_PROC_NODE_SET_MEMORY_PARAMETERS = 288, + + /** + * @generate: none + */ + REMOTE_PROC_NODE_GET_MEMORY_PARAMETERS = 289, + + /** + * @generate: both + */ + REMOTE_PROC_DOMAIN_BLOCK_COMMIT = 290, + + /** + * @generate: both + * @priority: high + */ + REMOTE_PROC_NETWORK_UPDATE = 291, + + /** + * @generate: both + */ + REMOTE_PROC_DOMAIN_EVENT_PMSUSPEND_DISK = 292, + + /** + * @generate: none + */ + REMOTE_PROC_NODE_GET_CPU_MAP = 293, + + /** + * @generate: both + */ + REMOTE_PROC_DOMAIN_FSTRIM = 294, + + /** + * @generate: both + */ + REMOTE_PROC_DOMAIN_SEND_PROCESS_SIGNAL = 295, + + /** + * @generate: both + * @readstream: 2 + */ + REMOTE_PROC_DOMAIN_OPEN_CHANNEL = 296, + + /** + * @generate: both + * @priority: high + */ + REMOTE_PROC_NODE_DEVICE_LOOKUP_SCSI_HOST_BY_WWN = 297, + + /** + * @generate: none + */ + REMOTE_PROC_DOMAIN_GET_JOB_STATS = 298, + + /** + * @generate: both + */ + REMOTE_PROC_DOMAIN_MIGRATE_GET_COMPRESSION_CACHE = 299, + + /** + * @generate: both + */ + REMOTE_PROC_DOMAIN_MIGRATE_SET_COMPRESSION_CACHE = 300 + }; diff --git a/src/rpc/gendispatch.pl b/src/rpc/gendispatch.pl index ef387e0299..65a0ac2957 100755 --- a/src/rpc/gendispatch.pl +++ b/src/rpc/gendispatch.pl @@ -82,10 +82,11 @@ sub name_to_TypeName { # 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, $flags, %calls, @calls); +my ($name, $ProcName, $id, $flags, %calls, @calls, %opts); my $collect_args_members = 0; my $collect_ret_members = 0; +my $collect_opts = 0; my $last_name; open PROTOCOL, "<$protocol" or die "cannot open $protocol: $!"; @@ -103,6 +104,19 @@ while () { } elsif ($_ =~ m/^\s*(.*\S)\s*$/) { push(@{$calls{$name}->{ret_members}}, $1); } + } elsif ($collect_opts) { + if (m,^\s*\*\s*\@(\w+)\s*:\s*(\w+)\s*$,) { + $opts{$1} = $2; + } elsif (m,^\s*\*/\s*$,) { + $collect_opts = 0; + } elsif (m,^\s*\*\s*$,) { + # pass + } else { + die "cannot parse $_"; + } + } elsif (m,/\*\*,) { + %opts = (); + $collect_opts = 1; } elsif (/^struct (${structprefix}_(.*)_args)/ || /^struct (${structprefix}(.*)Args)/) { my $structname = $1; @@ -171,11 +185,10 @@ while () { $collect_args_members = 0; $collect_ret_members = 0; - } elsif (/^\s*(${procprefix}_PROC_(.*?))\s*=\s*(\d+)\s*,?(.*)$/) { + } elsif (/^\s*(${procprefix}_PROC_(.*?))\s*=\s*(\d+)\s*,?\s*$/) { my $constname = $1; $name = $2; $id = $3; - $flags = $4; $ProcName = name_to_ProcName ($name); $name = lc $name; $name =~ s/_//g; @@ -195,41 +208,45 @@ while () { $calls{$name}->{constname} = $constname; if ($opt_b or $opt_k) { - if (!($flags =~ m/^\s*\/\*\s*(\S+)\s+(\S+)\s*(\|.*)?\s+(priority:(\S+))?\s*\*\/\s*$/)) { - die "invalid generator flags '$flags' for $constname" + if (!exists $opts{generate}) { + die "'\@generate' annotation missing for $constname"; } - my $genmode = $opt_b ? $1 : $2; - my $genflags = $3; - my $priority = defined $5 ? $5 : "low"; + if ($opts{generate} !~ /^(both|server|client|none)$/) { + die "'\@generate' annotation value '$opts{generate}' invalid"; + } - if ($genmode eq "autogen") { + if ($opts{generate} eq "both") { + push(@autogen, $ProcName); + } elsif ($opt_b && ($opts{generate} eq "server")) { + push(@autogen, $ProcName); + } elsif (!$opt_b && ($opts{generate} eq "client")) { push(@autogen, $ProcName); - } elsif ($genmode eq "skipgen") { - # ignore it - } else { - die "invalid generator flags for ${procprefix}_PROC_${name}" } - if (defined $genflags and $genflags ne "") { - if ($genflags =~ m/^\|\s*(read|write)stream@(\d+)\s*$/) { - $calls{$name}->{streamflag} = $1; - $calls{$name}->{streamoffset} = int($2); - } else { - die "invalid generator flags for ${procprefix}_PROC_${name}" - } + if (exists $opts{readstream}) { + $calls{$name}->{streamflag} = "read"; + $calls{$name}->{streamoffset} = int($opts{readstream}); + } elsif (exists $opts{writestream}) { + $calls{$name}->{streamflag} = "write"; + $calls{$name}->{streamoffset} = int($opts{writestream}); } else { $calls{$name}->{streamflag} = "none"; } + # for now, we distinguish only two levels of prioroty: # low (0) and high (1) - if ($priority eq "high") { - $calls{$name}->{priority} = 1; - } elsif ($priority eq "low") { - $calls{$name}->{priority} = 0; + if (exists $opts{priority}) { + if ($opts{priority} eq "high") { + $calls{$name}->{priority} = 1; + } elsif ($opts{priority} eq "low") { + $calls{$name}->{priority} = 0; + } else { + die "\@priority annotation value '$opts{priority}' invalid for $constname" + } } else { - die "invalid priority ${priority} for ${procprefix}_PROC_${name}" + $calls{$name}->{priority} = 0; } } -- GitLab