[libvirt] PATCH: Add NUMA apis to remote driver

Daniel P. Berrange berrange at redhat.com
Thu May 15 21:08:42 UTC 2008


For some reason the virNodeGetFreeMemroy and virNodeGetCellsFreeMemory
NUMA APIs were never added to the remote driver. THis patch fixes that.
It also updates the 2 perl scripts which post-process the RPC files to
not insert TABs, since we'd previously removed them from all the generated
files. Finally, the remote_protocol.x has TAB -> SPACE conversion since 
we missed that first time around

 qemud/remote.c                      |   47 +
 qemud/remote_dispatch_localvars.h   |    3 
 qemud/remote_dispatch_proc_switch.h |   15 
 qemud/remote_dispatch_prototypes.h  |    2 
 qemud/remote_generate_stubs.pl      |   20 
 qemud/remote_protocol.c             |   30 +
 qemud/remote_protocol.h             |  918 ++++++++++++++++++------------------
 qemud/remote_protocol.x             |   21 
 qemud/rpcgen_fix.pl                 |    4 
 src/remote_internal.c               |   55 ++
 10 files changed, 657 insertions(+), 458 deletions(-)


Regards,
Daniel

Index: src/remote_internal.c
===================================================================
RCS file: /data/cvs/libvirt/src/remote_internal.c,v
retrieving revision 1.74
diff -u -p -r1.74 remote_internal.c
--- src/remote_internal.c	15 May 2008 14:21:34 -0000	1.74
+++ src/remote_internal.c	15 May 2008 21:07:22 -0000
@@ -1329,6 +1329,58 @@ remoteGetCapabilities (virConnectPtr con
 }
 
 static int
+remoteNodeGetCellsFreeMemory(virConnectPtr conn,
+                            unsigned long long *freeMems,
+                            int startCell,
+                            int maxCells)
+{
+    remote_node_get_cells_free_memory_args args;
+    remote_node_get_cells_free_memory_ret ret;
+    int i;
+    GET_PRIVATE (conn, -1);
+
+    if (maxCells > REMOTE_NODE_MAX_CELLS) {
+        errorf (conn, VIR_ERR_RPC,
+                _("too many NUMA cells: %d > %d"),
+                maxCells,
+                REMOTE_NODE_MAX_CELLS);
+        return -1;
+    }
+
+    args.startCell = startCell;
+    args.maxCells = maxCells;
+
+    memset (&ret, 0, sizeof ret);
+    if (call (conn, priv, 0, REMOTE_PROC_NODE_GET_CELLS_FREE_MEMORY,
+              (xdrproc_t) xdr_remote_node_get_cells_free_memory_args, (char *)&args,
+              (xdrproc_t) xdr_remote_node_get_cells_free_memory_ret, (char *)&ret) == -1)
+        return -1;
+
+    for (i = 0 ; i < ret.freeMems.freeMems_len ; i++)
+        freeMems[i] = ret.freeMems.freeMems_val[i];
+
+    xdr_free((xdrproc_t) xdr_remote_node_get_cells_free_memory_ret, (char *) &ret);
+
+    return ret.freeMems.freeMems_len;
+}
+
+static unsigned long long
+remoteNodeGetFreeMemory (virConnectPtr conn)
+{
+    remote_node_get_free_memory_ret ret;
+    GET_PRIVATE (conn, -1);
+
+    memset (&ret, 0, sizeof ret);
+    if (call (conn, priv, 0, REMOTE_PROC_NODE_GET_FREE_MEMORY,
+              (xdrproc_t) xdr_void, NULL,
+              (xdrproc_t) xdr_remote_node_get_free_memory_ret, (char *)&ret) == -1)
+        return 0;
+
+    return ret.freeMem;
+}
+
+
+static int
 remoteListDomains (virConnectPtr conn, int *ids, int maxids)
 {
     int i;
@@ -4728,7 +4780,8 @@ static virDriver driver = {
     .domainMigrateFinish = remoteDomainMigrateFinish,
     .domainBlockStats = remoteDomainBlockStats,
     .domainInterfaceStats = remoteDomainInterfaceStats,
-    .nodeGetCellsFreeMemory = NULL,
+    .nodeGetCellsFreeMemory = remoteNodeGetCellsFreeMemory,
+    .getFreeMemory = remoteNodeGetFreeMemory,
 };
 
 static virNetworkDriver network_driver = {
Index: qemud/remote.c
===================================================================
RCS file: /data/cvs/libvirt/qemud/remote.c,v
retrieving revision 1.31
diff -u -p -r1.31 remote.c
--- qemud/remote.c	15 May 2008 06:12:32 -0000	1.31
+++ qemud/remote.c	15 May 2008 21:07:31 -0000
@@ -596,6 +596,53 @@ remoteDispatchGetCapabilities (struct qe
 }
 
 static int
+remoteDispatchNodeGetCellsFreeMemory (struct qemud_server *server ATTRIBUTE_UNUSED,
+                                      struct qemud_client *client,
+                                      remote_message_header *req,
+                                      remote_node_get_cells_free_memory_args *args,
+                                      remote_node_get_cells_free_memory_ret *ret)
+{
+    CHECK_CONN(client);
+
+    if (args->maxCells > REMOTE_NODE_MAX_CELLS) {
+        remoteDispatchError (client, req,
+                             "%s", _("maxCells > REMOTE_NODE_MAX_CELLS"));
+        return -2;
+    }
+
+    /* Allocate return buffer. */
+    ret->freeMems.freeMems_val = calloc (args->maxCells, sizeof (*(ret->freeMems.freeMems_val)));
+
+    ret->freeMems.freeMems_len = virNodeGetCellsFreeMemory(client->conn,
+                                                           (unsigned long long *)ret->freeMems.freeMems_val,
+                                                           args->startCell,
+                                                           args->maxCells);
+    if (ret->freeMems.freeMems_len == 0)
+        return -1;
+
+    return 0;
+}
+
+
+static int
+remoteDispatchNodeGetFreeMemory (struct qemud_server *server ATTRIBUTE_UNUSED,
+                                 struct qemud_client *client,
+                                 remote_message_header *req,
+                                 void *args ATTRIBUTE_UNUSED,
+                                 remote_node_get_free_memory_ret *ret)
+{
+    unsigned long long freeMem;
+    CHECK_CONN(client);
+
+    freeMem = virNodeGetFreeMemory(client->conn);
+    if (freeMem == 0) return -1;
+
+    ret->freeMem = freeMem;
+    return 0;
+}
+
+
+static int
 remoteDispatchDomainGetSchedulerType (struct qemud_server *server ATTRIBUTE_UNUSED,
                                       struct qemud_client *client,
                                       remote_message_header *req,
Index: qemud/remote_dispatch_localvars.h
===================================================================
RCS file: /data/cvs/libvirt/qemud/remote_dispatch_localvars.h,v
retrieving revision 1.9
diff -u -p -r1.9 remote_dispatch_localvars.h
--- qemud/remote_dispatch_localvars.h	20 Feb 2008 15:22:35 -0000	1.9
+++ qemud/remote_dispatch_localvars.h	15 May 2008 21:07:31 -0000
@@ -98,6 +98,8 @@ remote_domain_save_args lv_remote_domain
 remote_domain_migrate_prepare_args lv_remote_domain_migrate_prepare_args;
 remote_domain_migrate_prepare_ret lv_remote_domain_migrate_prepare_ret;
 remote_domain_undefine_args lv_remote_domain_undefine_args;
+remote_node_get_cells_free_memory_args lv_remote_node_get_cells_free_memory_args;
+remote_node_get_cells_free_memory_ret lv_remote_node_get_cells_free_memory_ret;
 remote_domain_get_scheduler_type_args lv_remote_domain_get_scheduler_type_args;
 remote_domain_get_scheduler_type_ret lv_remote_domain_get_scheduler_type_ret;
 remote_get_version_ret lv_remote_get_version_ret;
@@ -122,6 +124,7 @@ remote_storage_pool_undefine_args lv_rem
 remote_domain_set_autostart_args lv_remote_domain_set_autostart_args;
 remote_storage_pool_get_autostart_args lv_remote_storage_pool_get_autostart_args;
 remote_storage_pool_get_autostart_ret lv_remote_storage_pool_get_autostart_ret;
+remote_node_get_free_memory_ret lv_remote_node_get_free_memory_ret;
 remote_storage_vol_get_path_args lv_remote_storage_vol_get_path_args;
 remote_storage_vol_get_path_ret lv_remote_storage_vol_get_path_ret;
 remote_domain_lookup_by_id_args lv_remote_domain_lookup_by_id_args;
Index: qemud/remote_dispatch_proc_switch.h
===================================================================
RCS file: /data/cvs/libvirt/qemud/remote_dispatch_proc_switch.h,v
retrieving revision 1.10
diff -u -p -r1.10 remote_dispatch_proc_switch.h
--- qemud/remote_dispatch_proc_switch.h	10 Apr 2008 16:54:54 -0000	1.10
+++ qemud/remote_dispatch_proc_switch.h	15 May 2008 21:07:31 -0000
@@ -491,6 +491,21 @@ case REMOTE_PROC_NETWORK_UNDEFINE:
         args = (char *) &lv_remote_network_undefine_args;
         memset (&lv_remote_network_undefine_args, 0, sizeof lv_remote_network_undefine_args);
         break;
+case REMOTE_PROC_NODE_GET_CELLS_FREE_MEMORY:
+        fn = (dispatch_fn) remoteDispatchNodeGetCellsFreeMemory;
+        args_filter = (xdrproc_t) xdr_remote_node_get_cells_free_memory_args;
+        args = (char *) &lv_remote_node_get_cells_free_memory_args;
+        memset (&lv_remote_node_get_cells_free_memory_args, 0, sizeof lv_remote_node_get_cells_free_memory_args);
+        ret_filter = (xdrproc_t) xdr_remote_node_get_cells_free_memory_ret;
+        ret = (char *) &lv_remote_node_get_cells_free_memory_ret;
+        memset (&lv_remote_node_get_cells_free_memory_ret, 0, sizeof lv_remote_node_get_cells_free_memory_ret);
+        break;
+case REMOTE_PROC_NODE_GET_FREE_MEMORY:
+        fn = (dispatch_fn) remoteDispatchNodeGetFreeMemory;
+        ret_filter = (xdrproc_t) xdr_remote_node_get_free_memory_ret;
+        ret = (char *) &lv_remote_node_get_free_memory_ret;
+        memset (&lv_remote_node_get_free_memory_ret, 0, sizeof lv_remote_node_get_free_memory_ret);
+        break;
 case REMOTE_PROC_NODE_GET_INFO:
         fn = (dispatch_fn) remoteDispatchNodeGetInfo;
         ret_filter = (xdrproc_t) xdr_remote_node_get_info_ret;
Index: qemud/remote_dispatch_prototypes.h
===================================================================
RCS file: /data/cvs/libvirt/qemud/remote_dispatch_prototypes.h,v
retrieving revision 1.10
diff -u -p -r1.10 remote_dispatch_prototypes.h
--- qemud/remote_dispatch_prototypes.h	20 Feb 2008 15:22:35 -0000	1.10
+++ qemud/remote_dispatch_prototypes.h	15 May 2008 21:07:31 -0000
@@ -67,6 +67,8 @@ static int remoteDispatchNetworkLookupBy
 static int remoteDispatchNetworkLookupByUuid (struct qemud_server *server, struct qemud_client *client, remote_message_header *req, remote_network_lookup_by_uuid_args *args, remote_network_lookup_by_uuid_ret *ret);
 static int remoteDispatchNetworkSetAutostart (struct qemud_server *server, struct qemud_client *client, remote_message_header *req, remote_network_set_autostart_args *args, void *ret);
 static int remoteDispatchNetworkUndefine (struct qemud_server *server, struct qemud_client *client, remote_message_header *req, remote_network_undefine_args *args, void *ret);
+static int remoteDispatchNodeGetCellsFreeMemory (struct qemud_server *server, struct qemud_client *client, remote_message_header *req, remote_node_get_cells_free_memory_args *args, remote_node_get_cells_free_memory_ret *ret);
+static int remoteDispatchNodeGetFreeMemory (struct qemud_server *server, struct qemud_client *client, remote_message_header *req, void *args, remote_node_get_free_memory_ret *ret);
 static int remoteDispatchNodeGetInfo (struct qemud_server *server, struct qemud_client *client, remote_message_header *req, void *args, remote_node_get_info_ret *ret);
 static int remoteDispatchNumOfDefinedDomains (struct qemud_server *server, struct qemud_client *client, remote_message_header *req, void *args, remote_num_of_defined_domains_ret *ret);
 static int remoteDispatchNumOfDefinedNetworks (struct qemud_server *server, struct qemud_client *client, remote_message_header *req, void *args, remote_num_of_defined_networks_ret *ret);
Index: qemud/remote_generate_stubs.pl
===================================================================
RCS file: /data/cvs/libvirt/qemud/remote_generate_stubs.pl,v
retrieving revision 1.2
diff -u -p -r1.2 remote_generate_stubs.pl
--- qemud/remote_generate_stubs.pl	5 Dec 2007 15:34:05 -0000	1.2
+++ qemud/remote_generate_stubs.pl	15 May 2008 21:07:31 -0000
@@ -84,8 +84,8 @@ if ($opt_d) {
     my @keys = sort (keys %calls);
     foreach (@keys) {
 	print "$_:\n";
-	print "\tname $calls{$_}->{name} ($calls{$_}->{ProcName})\n";
-	print "\t$calls{$_}->{args} -> $calls{$_}->{ret}\n";
+	print "        name $calls{$_}->{name} ($calls{$_}->{ProcName})\n";
+	print "        $calls{$_}->{args} -> $calls{$_}->{ret}\n";
     }
 }
 
@@ -117,18 +117,18 @@ elsif ($opt_w) {
     my @keys = sort (keys %calls);
     foreach (@keys) {
 	print "case REMOTE_PROC_$calls{$_}->{UC_NAME}:\n";
-	print "\tfn = (dispatch_fn) remoteDispatch$calls{$_}->{ProcName};\n";
+	print "        fn = (dispatch_fn) remoteDispatch$calls{$_}->{ProcName};\n";
 	if ($calls{$_}->{args} ne "void") {
-	    print "\targs_filter = (xdrproc_t) xdr_$calls{$_}->{args};\n";
-	    print "\targs = (char *) &lv_$calls{$_}->{args};\n";
-	    print "\tmemset (&lv_$calls{$_}->{args}, 0, sizeof lv_$calls{$_}->{args});\n"
+	    print "        args_filter = (xdrproc_t) xdr_$calls{$_}->{args};\n";
+	    print "        args = (char *) &lv_$calls{$_}->{args};\n";
+	    print "        memset (&lv_$calls{$_}->{args}, 0, sizeof lv_$calls{$_}->{args});\n"
 	}
 	if ($calls{$_}->{ret} ne "void") {
-	    print "\tret_filter = (xdrproc_t) xdr_$calls{$_}->{ret};\n";
-	    print "\tret = (char *) &lv_$calls{$_}->{ret};\n";
-	    print "\tmemset (&lv_$calls{$_}->{ret}, 0, sizeof lv_$calls{$_}->{ret});\n"
+	    print "        ret_filter = (xdrproc_t) xdr_$calls{$_}->{ret};\n";
+	    print "        ret = (char *) &lv_$calls{$_}->{ret};\n";
+	    print "        memset (&lv_$calls{$_}->{ret}, 0, sizeof lv_$calls{$_}->{ret});\n"
 	}
-	print "\tbreak;\n";
+	print "        break;\n";
     }
 }
 
Index: qemud/remote_protocol.c
===================================================================
RCS file: /data/cvs/libvirt/qemud/remote_protocol.c,v
retrieving revision 1.10
diff -u -p -r1.10 remote_protocol.c
--- qemud/remote_protocol.c	10 Apr 2008 16:54:54 -0000	1.10
+++ qemud/remote_protocol.c	15 May 2008 21:07:31 -0000
@@ -387,6 +387,36 @@ xdr_remote_get_capabilities_ret (XDR *xd
 }
 
 bool_t
+xdr_remote_node_get_cells_free_memory_args (XDR *xdrs, remote_node_get_cells_free_memory_args *objp)
+{
+
+         if (!xdr_int (xdrs, &objp->startCell))
+                 return FALSE;
+         if (!xdr_int (xdrs, &objp->maxCells))
+                 return FALSE;
+        return TRUE;
+}
+
+bool_t
+xdr_remote_node_get_cells_free_memory_ret (XDR *xdrs, remote_node_get_cells_free_memory_ret *objp)
+{
+
+         if (!xdr_array (xdrs, (char **)&objp->freeMems.freeMems_val, (u_int *) &objp->freeMems.freeMems_len, REMOTE_NODE_MAX_CELLS,
+                sizeof (quad_t), (xdrproc_t) xdr_quad_t))
+                 return FALSE;
+        return TRUE;
+}
+
+bool_t
+xdr_remote_node_get_free_memory_ret (XDR *xdrs, remote_node_get_free_memory_ret *objp)
+{
+
+         if (!xdr_quad_t (xdrs, &objp->freeMem))
+                 return FALSE;
+        return TRUE;
+}
+
+bool_t
 xdr_remote_domain_get_scheduler_type_args (XDR *xdrs, remote_domain_get_scheduler_type_args *objp)
 {
 
Index: qemud/remote_protocol.h
===================================================================
RCS file: /data/cvs/libvirt/qemud/remote_protocol.h,v
retrieving revision 1.11
diff -u -p -r1.11 remote_protocol.h
--- qemud/remote_protocol.h	10 Apr 2008 16:54:54 -0000	1.11
+++ qemud/remote_protocol.h	15 May 2008 21:07:31 -0000
@@ -30,34 +30,35 @@ typedef remote_nonnull_string *remote_st
 #define REMOTE_STORAGE_POOL_NAME_LIST_MAX 256
 #define REMOTE_STORAGE_VOL_NAME_LIST_MAX 1024
 #define REMOTE_DOMAIN_SCHEDULER_PARAMETERS_MAX 16
+#define REMOTE_NODE_MAX_CELLS 1024
 #define REMOTE_AUTH_SASL_DATA_MAX 65536
 #define REMOTE_AUTH_TYPE_LIST_MAX 20
 
 typedef char remote_uuid[VIR_UUID_BUFLEN];
 
 struct remote_nonnull_domain {
-        remote_nonnull_string name;
-        remote_uuid uuid;
-        int id;
+	remote_nonnull_string name;
+	remote_uuid uuid;
+	int id;
 };
 typedef struct remote_nonnull_domain remote_nonnull_domain;
 
 struct remote_nonnull_network {
-        remote_nonnull_string name;
-        remote_uuid uuid;
+	remote_nonnull_string name;
+	remote_uuid uuid;
 };
 typedef struct remote_nonnull_network remote_nonnull_network;
 
 struct remote_nonnull_storage_pool {
-        remote_nonnull_string name;
-        remote_uuid uuid;
+	remote_nonnull_string name;
+	remote_uuid uuid;
 };
 typedef struct remote_nonnull_storage_pool remote_nonnull_storage_pool;
 
 struct remote_nonnull_storage_vol {
-        remote_nonnull_string pool;
-        remote_nonnull_string name;
-        remote_nonnull_string key;
+	remote_nonnull_string pool;
+	remote_nonnull_string name;
+	remote_nonnull_string key;
 };
 typedef struct remote_nonnull_storage_vol remote_nonnull_storage_vol;
 
@@ -70,1076 +71,1097 @@ typedef remote_nonnull_storage_pool *rem
 typedef remote_nonnull_storage_vol *remote_storage_vol;
 
 struct remote_error {
-        int code;
-        int domain;
-        remote_string message;
-        int level;
-        remote_domain dom;
-        remote_string str1;
-        remote_string str2;
-        remote_string str3;
-        int int1;
-        int int2;
-        remote_network net;
+	int code;
+	int domain;
+	remote_string message;
+	int level;
+	remote_domain dom;
+	remote_string str1;
+	remote_string str2;
+	remote_string str3;
+	int int1;
+	int int2;
+	remote_network net;
 };
 typedef struct remote_error remote_error;
 
 enum remote_auth_type {
-        REMOTE_AUTH_NONE = 0,
-        REMOTE_AUTH_SASL = 1,
-        REMOTE_AUTH_POLKIT = 2,
+	REMOTE_AUTH_NONE = 0,
+	REMOTE_AUTH_SASL = 1,
+	REMOTE_AUTH_POLKIT = 2,
 };
 typedef enum remote_auth_type remote_auth_type;
 
 struct remote_vcpu_info {
-        u_int number;
-        int state;
-        u_quad_t cpu_time;
-        int cpu;
+	u_int number;
+	int state;
+	u_quad_t cpu_time;
+	int cpu;
 };
 typedef struct remote_vcpu_info remote_vcpu_info;
 
 struct remote_sched_param_value {
-        int type;
-        union {
-                int i;
-                u_int ui;
-                quad_t l;
-                u_quad_t ul;
-                double d;
-                int b;
-        } remote_sched_param_value_u;
+	int type;
+	union {
+		int i;
+		u_int ui;
+		quad_t l;
+		u_quad_t ul;
+		double d;
+		int b;
+	} remote_sched_param_value_u;
 };
 typedef struct remote_sched_param_value remote_sched_param_value;
 
 struct remote_sched_param {
-        remote_nonnull_string field;
-        remote_sched_param_value value;
+	remote_nonnull_string field;
+	remote_sched_param_value value;
 };
 typedef struct remote_sched_param remote_sched_param;
 
 struct remote_open_args {
-        remote_string name;
-        int flags;
+	remote_string name;
+	int flags;
 };
 typedef struct remote_open_args remote_open_args;
 
 struct remote_supports_feature_args {
-        int feature;
+	int feature;
 };
 typedef struct remote_supports_feature_args remote_supports_feature_args;
 
 struct remote_supports_feature_ret {
-        int supported;
+	int supported;
 };
 typedef struct remote_supports_feature_ret remote_supports_feature_ret;
 
 struct remote_get_type_ret {
-        remote_nonnull_string type;
+	remote_nonnull_string type;
 };
 typedef struct remote_get_type_ret remote_get_type_ret;
 
 struct remote_get_version_ret {
-        quad_t hv_ver;
+	quad_t hv_ver;
 };
 typedef struct remote_get_version_ret remote_get_version_ret;
 
 struct remote_get_hostname_ret {
-        remote_nonnull_string hostname;
+	remote_nonnull_string hostname;
 };
 typedef struct remote_get_hostname_ret remote_get_hostname_ret;
 
 struct remote_get_max_vcpus_args {
-        remote_string type;
+	remote_string type;
 };
 typedef struct remote_get_max_vcpus_args remote_get_max_vcpus_args;
 
 struct remote_get_max_vcpus_ret {
-        int max_vcpus;
+	int max_vcpus;
 };
 typedef struct remote_get_max_vcpus_ret remote_get_max_vcpus_ret;
 
 struct remote_node_get_info_ret {
-        char model[32];
-        quad_t memory;
-        int cpus;
-        int mhz;
-        int nodes;
-        int sockets;
-        int cores;
-        int threads;
+	char model[32];
+	quad_t memory;
+	int cpus;
+	int mhz;
+	int nodes;
+	int sockets;
+	int cores;
+	int threads;
 };
 typedef struct remote_node_get_info_ret remote_node_get_info_ret;
 
 struct remote_get_capabilities_ret {
-        remote_nonnull_string capabilities;
+	remote_nonnull_string capabilities;
 };
 typedef struct remote_get_capabilities_ret remote_get_capabilities_ret;
 
+struct remote_node_get_cells_free_memory_args {
+	int startCell;
+	int maxCells;
+};
+typedef struct remote_node_get_cells_free_memory_args remote_node_get_cells_free_memory_args;
+
+struct remote_node_get_cells_free_memory_ret {
+	struct {
+		u_int freeMems_len;
+		quad_t *freeMems_val;
+	} freeMems;
+};
+typedef struct remote_node_get_cells_free_memory_ret remote_node_get_cells_free_memory_ret;
+
+struct remote_node_get_free_memory_ret {
+	quad_t freeMem;
+};
+typedef struct remote_node_get_free_memory_ret remote_node_get_free_memory_ret;
+
 struct remote_domain_get_scheduler_type_args {
-        remote_nonnull_domain dom;
+	remote_nonnull_domain dom;
 };
 typedef struct remote_domain_get_scheduler_type_args remote_domain_get_scheduler_type_args;
 
 struct remote_domain_get_scheduler_type_ret {
-        remote_nonnull_string type;
-        int nparams;
+	remote_nonnull_string type;
+	int nparams;
 };
 typedef struct remote_domain_get_scheduler_type_ret remote_domain_get_scheduler_type_ret;
 
 struct remote_domain_get_scheduler_parameters_args {
-        remote_nonnull_domain dom;
-        int nparams;
+	remote_nonnull_domain dom;
+	int nparams;
 };
 typedef struct remote_domain_get_scheduler_parameters_args remote_domain_get_scheduler_parameters_args;
 
 struct remote_domain_get_scheduler_parameters_ret {
-        struct {
-                u_int params_len;
-                remote_sched_param *params_val;
-        } params;
+	struct {
+		u_int params_len;
+		remote_sched_param *params_val;
+	} params;
 };
 typedef struct remote_domain_get_scheduler_parameters_ret remote_domain_get_scheduler_parameters_ret;
 
 struct remote_domain_set_scheduler_parameters_args {
-        remote_nonnull_domain dom;
-        struct {
-                u_int params_len;
-                remote_sched_param *params_val;
-        } params;
+	remote_nonnull_domain dom;
+	struct {
+		u_int params_len;
+		remote_sched_param *params_val;
+	} params;
 };
 typedef struct remote_domain_set_scheduler_parameters_args remote_domain_set_scheduler_parameters_args;
 
 struct remote_domain_block_stats_args {
-        remote_nonnull_domain dom;
-        remote_nonnull_string path;
+	remote_nonnull_domain dom;
+	remote_nonnull_string path;
 };
 typedef struct remote_domain_block_stats_args remote_domain_block_stats_args;
 
 struct remote_domain_block_stats_ret {
-        quad_t rd_req;
-        quad_t rd_bytes;
-        quad_t wr_req;
-        quad_t wr_bytes;
-        quad_t errs;
+	quad_t rd_req;
+	quad_t rd_bytes;
+	quad_t wr_req;
+	quad_t wr_bytes;
+	quad_t errs;
 };
 typedef struct remote_domain_block_stats_ret remote_domain_block_stats_ret;
 
 struct remote_domain_interface_stats_args {
-        remote_nonnull_domain dom;
-        remote_nonnull_string path;
+	remote_nonnull_domain dom;
+	remote_nonnull_string path;
 };
 typedef struct remote_domain_interface_stats_args remote_domain_interface_stats_args;
 
 struct remote_domain_interface_stats_ret {
-        quad_t rx_bytes;
-        quad_t rx_packets;
-        quad_t rx_errs;
-        quad_t rx_drop;
-        quad_t tx_bytes;
-        quad_t tx_packets;
-        quad_t tx_errs;
-        quad_t tx_drop;
+	quad_t rx_bytes;
+	quad_t rx_packets;
+	quad_t rx_errs;
+	quad_t rx_drop;
+	quad_t tx_bytes;
+	quad_t tx_packets;
+	quad_t tx_errs;
+	quad_t tx_drop;
 };
 typedef struct remote_domain_interface_stats_ret remote_domain_interface_stats_ret;
 
 struct remote_list_domains_args {
-        int maxids;
+	int maxids;
 };
 typedef struct remote_list_domains_args remote_list_domains_args;
 
 struct remote_list_domains_ret {
-        struct {
-                u_int ids_len;
-                int *ids_val;
-        } ids;
+	struct {
+		u_int ids_len;
+		int *ids_val;
+	} ids;
 };
 typedef struct remote_list_domains_ret remote_list_domains_ret;
 
 struct remote_num_of_domains_ret {
-        int num;
+	int num;
 };
 typedef struct remote_num_of_domains_ret remote_num_of_domains_ret;
 
 struct remote_domain_create_linux_args {
-        remote_nonnull_string xml_desc;
-        int flags;
+	remote_nonnull_string xml_desc;
+	int flags;
 };
 typedef struct remote_domain_create_linux_args remote_domain_create_linux_args;
 
 struct remote_domain_create_linux_ret {
-        remote_nonnull_domain dom;
+	remote_nonnull_domain dom;
 };
 typedef struct remote_domain_create_linux_ret remote_domain_create_linux_ret;
 
 struct remote_domain_lookup_by_id_args {
-        int id;
+	int id;
 };
 typedef struct remote_domain_lookup_by_id_args remote_domain_lookup_by_id_args;
 
 struct remote_domain_lookup_by_id_ret {
-        remote_nonnull_domain dom;
+	remote_nonnull_domain dom;
 };
 typedef struct remote_domain_lookup_by_id_ret remote_domain_lookup_by_id_ret;
 
 struct remote_domain_lookup_by_uuid_args {
-        remote_uuid uuid;
+	remote_uuid uuid;
 };
 typedef struct remote_domain_lookup_by_uuid_args remote_domain_lookup_by_uuid_args;
 
 struct remote_domain_lookup_by_uuid_ret {
-        remote_nonnull_domain dom;
+	remote_nonnull_domain dom;
 };
 typedef struct remote_domain_lookup_by_uuid_ret remote_domain_lookup_by_uuid_ret;
 
 struct remote_domain_lookup_by_name_args {
-        remote_nonnull_string name;
+	remote_nonnull_string name;
 };
 typedef struct remote_domain_lookup_by_name_args remote_domain_lookup_by_name_args;
 
 struct remote_domain_lookup_by_name_ret {
-        remote_nonnull_domain dom;
+	remote_nonnull_domain dom;
 };
 typedef struct remote_domain_lookup_by_name_ret remote_domain_lookup_by_name_ret;
 
 struct remote_domain_suspend_args {
-        remote_nonnull_domain dom;
+	remote_nonnull_domain dom;
 };
 typedef struct remote_domain_suspend_args remote_domain_suspend_args;
 
 struct remote_domain_resume_args {
-        remote_nonnull_domain dom;
+	remote_nonnull_domain dom;
 };
 typedef struct remote_domain_resume_args remote_domain_resume_args;
 
 struct remote_domain_shutdown_args {
-        remote_nonnull_domain dom;
+	remote_nonnull_domain dom;
 };
 typedef struct remote_domain_shutdown_args remote_domain_shutdown_args;
 
 struct remote_domain_reboot_args {
-        remote_nonnull_domain dom;
-        int flags;
+	remote_nonnull_domain dom;
+	int flags;
 };
 typedef struct remote_domain_reboot_args remote_domain_reboot_args;
 
 struct remote_domain_destroy_args {
-        remote_nonnull_domain dom;
+	remote_nonnull_domain dom;
 };
 typedef struct remote_domain_destroy_args remote_domain_destroy_args;
 
 struct remote_domain_get_os_type_args {
-        remote_nonnull_domain dom;
+	remote_nonnull_domain dom;
 };
 typedef struct remote_domain_get_os_type_args remote_domain_get_os_type_args;
 
 struct remote_domain_get_os_type_ret {
-        remote_nonnull_string type;
+	remote_nonnull_string type;
 };
 typedef struct remote_domain_get_os_type_ret remote_domain_get_os_type_ret;
 
 struct remote_domain_get_max_memory_args {
-        remote_nonnull_domain dom;
+	remote_nonnull_domain dom;
 };
 typedef struct remote_domain_get_max_memory_args remote_domain_get_max_memory_args;
 
 struct remote_domain_get_max_memory_ret {
-        u_quad_t memory;
+	u_quad_t memory;
 };
 typedef struct remote_domain_get_max_memory_ret remote_domain_get_max_memory_ret;
 
 struct remote_domain_set_max_memory_args {
-        remote_nonnull_domain dom;
-        u_quad_t memory;
+	remote_nonnull_domain dom;
+	u_quad_t memory;
 };
 typedef struct remote_domain_set_max_memory_args remote_domain_set_max_memory_args;
 
 struct remote_domain_set_memory_args {
-        remote_nonnull_domain dom;
-        u_quad_t memory;
+	remote_nonnull_domain dom;
+	u_quad_t memory;
 };
 typedef struct remote_domain_set_memory_args remote_domain_set_memory_args;
 
 struct remote_domain_get_info_args {
-        remote_nonnull_domain dom;
+	remote_nonnull_domain dom;
 };
 typedef struct remote_domain_get_info_args remote_domain_get_info_args;
 
 struct remote_domain_get_info_ret {
-        u_char state;
-        u_quad_t max_mem;
-        u_quad_t memory;
-        u_short nr_virt_cpu;
-        u_quad_t cpu_time;
+	u_char state;
+	u_quad_t max_mem;
+	u_quad_t memory;
+	u_short nr_virt_cpu;
+	u_quad_t cpu_time;
 };
 typedef struct remote_domain_get_info_ret remote_domain_get_info_ret;
 
 struct remote_domain_save_args {
-        remote_nonnull_domain dom;
-        remote_nonnull_string to;
+	remote_nonnull_domain dom;
+	remote_nonnull_string to;
 };
 typedef struct remote_domain_save_args remote_domain_save_args;
 
 struct remote_domain_restore_args {
-        remote_nonnull_string from;
+	remote_nonnull_string from;
 };
 typedef struct remote_domain_restore_args remote_domain_restore_args;
 
 struct remote_domain_core_dump_args {
-        remote_nonnull_domain dom;
-        remote_nonnull_string to;
-        int flags;
+	remote_nonnull_domain dom;
+	remote_nonnull_string to;
+	int flags;
 };
 typedef struct remote_domain_core_dump_args remote_domain_core_dump_args;
 
 struct remote_domain_dump_xml_args {
-        remote_nonnull_domain dom;
-        int flags;
+	remote_nonnull_domain dom;
+	int flags;
 };
 typedef struct remote_domain_dump_xml_args remote_domain_dump_xml_args;
 
 struct remote_domain_dump_xml_ret {
-        remote_nonnull_string xml;
+	remote_nonnull_string xml;
 };
 typedef struct remote_domain_dump_xml_ret remote_domain_dump_xml_ret;
 
 struct remote_domain_migrate_prepare_args {
-        remote_string uri_in;
-        u_quad_t flags;
-        remote_string dname;
-        u_quad_t resource;
+	remote_string uri_in;
+	u_quad_t flags;
+	remote_string dname;
+	u_quad_t resource;
 };
 typedef struct remote_domain_migrate_prepare_args remote_domain_migrate_prepare_args;
 
 struct remote_domain_migrate_prepare_ret {
-        struct {
-                u_int cookie_len;
-                char *cookie_val;
-        } cookie;
-        remote_string uri_out;
+	struct {
+		u_int cookie_len;
+		char *cookie_val;
+	} cookie;
+	remote_string uri_out;
 };
 typedef struct remote_domain_migrate_prepare_ret remote_domain_migrate_prepare_ret;
 
 struct remote_domain_migrate_perform_args {
-        remote_nonnull_domain dom;
-        struct {
-                u_int cookie_len;
-                char *cookie_val;
-        } cookie;
-        remote_nonnull_string uri;
-        u_quad_t flags;
-        remote_string dname;
-        u_quad_t resource;
+	remote_nonnull_domain dom;
+	struct {
+		u_int cookie_len;
+		char *cookie_val;
+	} cookie;
+	remote_nonnull_string uri;
+	u_quad_t flags;
+	remote_string dname;
+	u_quad_t resource;
 };
 typedef struct remote_domain_migrate_perform_args remote_domain_migrate_perform_args;
 
 struct remote_domain_migrate_finish_args {
-        remote_nonnull_string dname;
-        struct {
-                u_int cookie_len;
-                char *cookie_val;
-        } cookie;
-        remote_nonnull_string uri;
-        u_quad_t flags;
+	remote_nonnull_string dname;
+	struct {
+		u_int cookie_len;
+		char *cookie_val;
+	} cookie;
+	remote_nonnull_string uri;
+	u_quad_t flags;
 };
 typedef struct remote_domain_migrate_finish_args remote_domain_migrate_finish_args;
 
 struct remote_domain_migrate_finish_ret {
-        remote_nonnull_domain ddom;
+	remote_nonnull_domain ddom;
 };
 typedef struct remote_domain_migrate_finish_ret remote_domain_migrate_finish_ret;
 
 struct remote_list_defined_domains_args {
-        int maxnames;
+	int maxnames;
 };
 typedef struct remote_list_defined_domains_args remote_list_defined_domains_args;
 
 struct remote_list_defined_domains_ret {
-        struct {
-                u_int names_len;
-                remote_nonnull_string *names_val;
-        } names;
+	struct {
+		u_int names_len;
+		remote_nonnull_string *names_val;
+	} names;
 };
 typedef struct remote_list_defined_domains_ret remote_list_defined_domains_ret;
 
 struct remote_num_of_defined_domains_ret {
-        int num;
+	int num;
 };
 typedef struct remote_num_of_defined_domains_ret remote_num_of_defined_domains_ret;
 
 struct remote_domain_create_args {
-        remote_nonnull_domain dom;
+	remote_nonnull_domain dom;
 };
 typedef struct remote_domain_create_args remote_domain_create_args;
 
 struct remote_domain_define_xml_args {
-        remote_nonnull_string xml;
+	remote_nonnull_string xml;
 };
 typedef struct remote_domain_define_xml_args remote_domain_define_xml_args;
 
 struct remote_domain_define_xml_ret {
-        remote_nonnull_domain dom;
+	remote_nonnull_domain dom;
 };
 typedef struct remote_domain_define_xml_ret remote_domain_define_xml_ret;
 
 struct remote_domain_undefine_args {
-        remote_nonnull_domain dom;
+	remote_nonnull_domain dom;
 };
 typedef struct remote_domain_undefine_args remote_domain_undefine_args;
 
 struct remote_domain_set_vcpus_args {
-        remote_nonnull_domain dom;
-        int nvcpus;
+	remote_nonnull_domain dom;
+	int nvcpus;
 };
 typedef struct remote_domain_set_vcpus_args remote_domain_set_vcpus_args;
 
 struct remote_domain_pin_vcpu_args {
-        remote_nonnull_domain dom;
-        int vcpu;
-        struct {
-                u_int cpumap_len;
-                char *cpumap_val;
-        } cpumap;
+	remote_nonnull_domain dom;
+	int vcpu;
+	struct {
+		u_int cpumap_len;
+		char *cpumap_val;
+	} cpumap;
 };
 typedef struct remote_domain_pin_vcpu_args remote_domain_pin_vcpu_args;
 
 struct remote_domain_get_vcpus_args {
-        remote_nonnull_domain dom;
-        int maxinfo;
-        int maplen;
+	remote_nonnull_domain dom;
+	int maxinfo;
+	int maplen;
 };
 typedef struct remote_domain_get_vcpus_args remote_domain_get_vcpus_args;
 
 struct remote_domain_get_vcpus_ret {
-        struct {
-                u_int info_len;
-                remote_vcpu_info *info_val;
-        } info;
-        struct {
-                u_int cpumaps_len;
-                char *cpumaps_val;
-        } cpumaps;
+	struct {
+		u_int info_len;
+		remote_vcpu_info *info_val;
+	} info;
+	struct {
+		u_int cpumaps_len;
+		char *cpumaps_val;
+	} cpumaps;
 };
 typedef struct remote_domain_get_vcpus_ret remote_domain_get_vcpus_ret;
 
 struct remote_domain_get_max_vcpus_args {
-        remote_nonnull_domain dom;
+	remote_nonnull_domain dom;
 };
 typedef struct remote_domain_get_max_vcpus_args remote_domain_get_max_vcpus_args;
 
 struct remote_domain_get_max_vcpus_ret {
-        int num;
+	int num;
 };
 typedef struct remote_domain_get_max_vcpus_ret remote_domain_get_max_vcpus_ret;
 
 struct remote_domain_attach_device_args {
-        remote_nonnull_domain dom;
-        remote_nonnull_string xml;
+	remote_nonnull_domain dom;
+	remote_nonnull_string xml;
 };
 typedef struct remote_domain_attach_device_args remote_domain_attach_device_args;
 
 struct remote_domain_detach_device_args {
-        remote_nonnull_domain dom;
-        remote_nonnull_string xml;
+	remote_nonnull_domain dom;
+	remote_nonnull_string xml;
 };
 typedef struct remote_domain_detach_device_args remote_domain_detach_device_args;
 
 struct remote_domain_get_autostart_args {
-        remote_nonnull_domain dom;
+	remote_nonnull_domain dom;
 };
 typedef struct remote_domain_get_autostart_args remote_domain_get_autostart_args;
 
 struct remote_domain_get_autostart_ret {
-        int autostart;
+	int autostart;
 };
 typedef struct remote_domain_get_autostart_ret remote_domain_get_autostart_ret;
 
 struct remote_domain_set_autostart_args {
-        remote_nonnull_domain dom;
-        int autostart;
+	remote_nonnull_domain dom;
+	int autostart;
 };
 typedef struct remote_domain_set_autostart_args remote_domain_set_autostart_args;
 
 struct remote_num_of_networks_ret {
-        int num;
+	int num;
 };
 typedef struct remote_num_of_networks_ret remote_num_of_networks_ret;
 
 struct remote_list_networks_args {
-        int maxnames;
+	int maxnames;
 };
 typedef struct remote_list_networks_args remote_list_networks_args;
 
 struct remote_list_networks_ret {
-        struct {
-                u_int names_len;
-                remote_nonnull_string *names_val;
-        } names;
+	struct {
+		u_int names_len;
+		remote_nonnull_string *names_val;
+	} names;
 };
 typedef struct remote_list_networks_ret remote_list_networks_ret;
 
 struct remote_num_of_defined_networks_ret {
-        int num;
+	int num;
 };
 typedef struct remote_num_of_defined_networks_ret remote_num_of_defined_networks_ret;
 
 struct remote_list_defined_networks_args {
-        int maxnames;
+	int maxnames;
 };
 typedef struct remote_list_defined_networks_args remote_list_defined_networks_args;
 
 struct remote_list_defined_networks_ret {
-        struct {
-                u_int names_len;
-                remote_nonnull_string *names_val;
-        } names;
+	struct {
+		u_int names_len;
+		remote_nonnull_string *names_val;
+	} names;
 };
 typedef struct remote_list_defined_networks_ret remote_list_defined_networks_ret;
 
 struct remote_network_lookup_by_uuid_args {
-        remote_uuid uuid;
+	remote_uuid uuid;
 };
 typedef struct remote_network_lookup_by_uuid_args remote_network_lookup_by_uuid_args;
 
 struct remote_network_lookup_by_uuid_ret {
-        remote_nonnull_network net;
+	remote_nonnull_network net;
 };
 typedef struct remote_network_lookup_by_uuid_ret remote_network_lookup_by_uuid_ret;
 
 struct remote_network_lookup_by_name_args {
-        remote_nonnull_string name;
+	remote_nonnull_string name;
 };
 typedef struct remote_network_lookup_by_name_args remote_network_lookup_by_name_args;
 
 struct remote_network_lookup_by_name_ret {
-        remote_nonnull_network net;
+	remote_nonnull_network net;
 };
 typedef struct remote_network_lookup_by_name_ret remote_network_lookup_by_name_ret;
 
 struct remote_network_create_xml_args {
-        remote_nonnull_string xml;
+	remote_nonnull_string xml;
 };
 typedef struct remote_network_create_xml_args remote_network_create_xml_args;
 
 struct remote_network_create_xml_ret {
-        remote_nonnull_network net;
+	remote_nonnull_network net;
 };
 typedef struct remote_network_create_xml_ret remote_network_create_xml_ret;
 
 struct remote_network_define_xml_args {
-        remote_nonnull_string xml;
+	remote_nonnull_string xml;
 };
 typedef struct remote_network_define_xml_args remote_network_define_xml_args;
 
 struct remote_network_define_xml_ret {
-        remote_nonnull_network net;
+	remote_nonnull_network net;
 };
 typedef struct remote_network_define_xml_ret remote_network_define_xml_ret;
 
 struct remote_network_undefine_args {
-        remote_nonnull_network net;
+	remote_nonnull_network net;
 };
 typedef struct remote_network_undefine_args remote_network_undefine_args;
 
 struct remote_network_create_args {
-        remote_nonnull_network net;
+	remote_nonnull_network net;
 };
 typedef struct remote_network_create_args remote_network_create_args;
 
 struct remote_network_destroy_args {
-        remote_nonnull_network net;
+	remote_nonnull_network net;
 };
 typedef struct remote_network_destroy_args remote_network_destroy_args;
 
 struct remote_network_dump_xml_args {
-        remote_nonnull_network net;
-        int flags;
+	remote_nonnull_network net;
+	int flags;
 };
 typedef struct remote_network_dump_xml_args remote_network_dump_xml_args;
 
 struct remote_network_dump_xml_ret {
-        remote_nonnull_string xml;
+	remote_nonnull_string xml;
 };
 typedef struct remote_network_dump_xml_ret remote_network_dump_xml_ret;
 
 struct remote_network_get_bridge_name_args {
-        remote_nonnull_network net;
+	remote_nonnull_network net;
 };
 typedef struct remote_network_get_bridge_name_args remote_network_get_bridge_name_args;
 
 struct remote_network_get_bridge_name_ret {
-        remote_nonnull_string name;
+	remote_nonnull_string name;
 };
 typedef struct remote_network_get_bridge_name_ret remote_network_get_bridge_name_ret;
 
 struct remote_network_get_autostart_args {
-        remote_nonnull_network net;
+	remote_nonnull_network net;
 };
 typedef struct remote_network_get_autostart_args remote_network_get_autostart_args;
 
 struct remote_network_get_autostart_ret {
-        int autostart;
+	int autostart;
 };
 typedef struct remote_network_get_autostart_ret remote_network_get_autostart_ret;
 
 struct remote_network_set_autostart_args {
-        remote_nonnull_network net;
-        int autostart;
+	remote_nonnull_network net;
+	int autostart;
 };
 typedef struct remote_network_set_autostart_args remote_network_set_autostart_args;
 
 struct remote_auth_list_ret {
-        struct {
-                u_int types_len;
-                remote_auth_type *types_val;
-        } types;
+	struct {
+		u_int types_len;
+		remote_auth_type *types_val;
+	} types;
 };
 typedef struct remote_auth_list_ret remote_auth_list_ret;
 
 struct remote_auth_sasl_init_ret {
-        remote_nonnull_string mechlist;
+	remote_nonnull_string mechlist;
 };
 typedef struct remote_auth_sasl_init_ret remote_auth_sasl_init_ret;
 
 struct remote_auth_sasl_start_args {
-        remote_nonnull_string mech;
-        int nil;
-        struct {
-                u_int data_len;
-                char *data_val;
-        } data;
+	remote_nonnull_string mech;
+	int nil;
+	struct {
+		u_int data_len;
+		char *data_val;
+	} data;
 };
 typedef struct remote_auth_sasl_start_args remote_auth_sasl_start_args;
 
 struct remote_auth_sasl_start_ret {
-        int complete;
-        int nil;
-        struct {
-                u_int data_len;
-                char *data_val;
-        } data;
+	int complete;
+	int nil;
+	struct {
+		u_int data_len;
+		char *data_val;
+	} data;
 };
 typedef struct remote_auth_sasl_start_ret remote_auth_sasl_start_ret;
 
 struct remote_auth_sasl_step_args {
-        int nil;
-        struct {
-                u_int data_len;
-                char *data_val;
-        } data;
+	int nil;
+	struct {
+		u_int data_len;
+		char *data_val;
+	} data;
 };
 typedef struct remote_auth_sasl_step_args remote_auth_sasl_step_args;
 
 struct remote_auth_sasl_step_ret {
-        int complete;
-        int nil;
-        struct {
-                u_int data_len;
-                char *data_val;
-        } data;
+	int complete;
+	int nil;
+	struct {
+		u_int data_len;
+		char *data_val;
+	} data;
 };
 typedef struct remote_auth_sasl_step_ret remote_auth_sasl_step_ret;
 
 struct remote_auth_polkit_ret {
-        int complete;
+	int complete;
 };
 typedef struct remote_auth_polkit_ret remote_auth_polkit_ret;
 
 struct remote_num_of_storage_pools_ret {
-        int num;
+	int num;
 };
 typedef struct remote_num_of_storage_pools_ret remote_num_of_storage_pools_ret;
 
 struct remote_list_storage_pools_args {
-        int maxnames;
+	int maxnames;
 };
 typedef struct remote_list_storage_pools_args remote_list_storage_pools_args;
 
 struct remote_list_storage_pools_ret {
-        struct {
-                u_int names_len;
-                remote_nonnull_string *names_val;
-        } names;
+	struct {
+		u_int names_len;
+		remote_nonnull_string *names_val;
+	} names;
 };
 typedef struct remote_list_storage_pools_ret remote_list_storage_pools_ret;
 
 struct remote_num_of_defined_storage_pools_ret {
-        int num;
+	int num;
 };
 typedef struct remote_num_of_defined_storage_pools_ret remote_num_of_defined_storage_pools_ret;
 
 struct remote_list_defined_storage_pools_args {
-        int maxnames;
+	int maxnames;
 };
 typedef struct remote_list_defined_storage_pools_args remote_list_defined_storage_pools_args;
 
 struct remote_list_defined_storage_pools_ret {
-        struct {
-                u_int names_len;
-                remote_nonnull_string *names_val;
-        } names;
+	struct {
+		u_int names_len;
+		remote_nonnull_string *names_val;
+	} names;
 };
 typedef struct remote_list_defined_storage_pools_ret remote_list_defined_storage_pools_ret;
 
 struct remote_storage_pool_lookup_by_uuid_args {
-        remote_uuid uuid;
+	remote_uuid uuid;
 };
 typedef struct remote_storage_pool_lookup_by_uuid_args remote_storage_pool_lookup_by_uuid_args;
 
 struct remote_storage_pool_lookup_by_uuid_ret {
-        remote_nonnull_storage_pool pool;
+	remote_nonnull_storage_pool pool;
 };
 typedef struct remote_storage_pool_lookup_by_uuid_ret remote_storage_pool_lookup_by_uuid_ret;
 
 struct remote_storage_pool_lookup_by_name_args {
-        remote_nonnull_string name;
+	remote_nonnull_string name;
 };
 typedef struct remote_storage_pool_lookup_by_name_args remote_storage_pool_lookup_by_name_args;
 
 struct remote_storage_pool_lookup_by_name_ret {
-        remote_nonnull_storage_pool pool;
+	remote_nonnull_storage_pool pool;
 };
 typedef struct remote_storage_pool_lookup_by_name_ret remote_storage_pool_lookup_by_name_ret;
 
 struct remote_storage_pool_lookup_by_volume_args {
-        remote_nonnull_storage_vol vol;
+	remote_nonnull_storage_vol vol;
 };
 typedef struct remote_storage_pool_lookup_by_volume_args remote_storage_pool_lookup_by_volume_args;
 
 struct remote_storage_pool_lookup_by_volume_ret {
-        remote_nonnull_storage_pool pool;
+	remote_nonnull_storage_pool pool;
 };
 typedef struct remote_storage_pool_lookup_by_volume_ret remote_storage_pool_lookup_by_volume_ret;
 
 struct remote_storage_pool_create_xml_args {
-        remote_nonnull_string xml;
-        u_int flags;
+	remote_nonnull_string xml;
+	u_int flags;
 };
 typedef struct remote_storage_pool_create_xml_args remote_storage_pool_create_xml_args;
 
 struct remote_storage_pool_create_xml_ret {
-        remote_nonnull_storage_pool pool;
+	remote_nonnull_storage_pool pool;
 };
 typedef struct remote_storage_pool_create_xml_ret remote_storage_pool_create_xml_ret;
 
 struct remote_storage_pool_define_xml_args {
-        remote_nonnull_string xml;
-        u_int flags;
+	remote_nonnull_string xml;
+	u_int flags;
 };
 typedef struct remote_storage_pool_define_xml_args remote_storage_pool_define_xml_args;
 
 struct remote_storage_pool_define_xml_ret {
-        remote_nonnull_storage_pool pool;
+	remote_nonnull_storage_pool pool;
 };
 typedef struct remote_storage_pool_define_xml_ret remote_storage_pool_define_xml_ret;
 
 struct remote_storage_pool_build_args {
-        remote_nonnull_storage_pool pool;
-        u_int flags;
+	remote_nonnull_storage_pool pool;
+	u_int flags;
 };
 typedef struct remote_storage_pool_build_args remote_storage_pool_build_args;
 
 struct remote_storage_pool_undefine_args {
-        remote_nonnull_storage_pool pool;
+	remote_nonnull_storage_pool pool;
 };
 typedef struct remote_storage_pool_undefine_args remote_storage_pool_undefine_args;
 
 struct remote_storage_pool_create_args {
-        remote_nonnull_storage_pool pool;
-        u_int flags;
+	remote_nonnull_storage_pool pool;
+	u_int flags;
 };
 typedef struct remote_storage_pool_create_args remote_storage_pool_create_args;
 
 struct remote_storage_pool_destroy_args {
-        remote_nonnull_storage_pool pool;
+	remote_nonnull_storage_pool pool;
 };
 typedef struct remote_storage_pool_destroy_args remote_storage_pool_destroy_args;
 
 struct remote_storage_pool_delete_args {
-        remote_nonnull_storage_pool pool;
-        u_int flags;
+	remote_nonnull_storage_pool pool;
+	u_int flags;
 };
 typedef struct remote_storage_pool_delete_args remote_storage_pool_delete_args;
 
 struct remote_storage_pool_refresh_args {
-        remote_nonnull_storage_pool pool;
-        u_int flags;
+	remote_nonnull_storage_pool pool;
+	u_int flags;
 };
 typedef struct remote_storage_pool_refresh_args remote_storage_pool_refresh_args;
 
 struct remote_storage_pool_dump_xml_args {
-        remote_nonnull_storage_pool pool;
-        u_int flags;
+	remote_nonnull_storage_pool pool;
+	u_int flags;
 };
 typedef struct remote_storage_pool_dump_xml_args remote_storage_pool_dump_xml_args;
 
 struct remote_storage_pool_dump_xml_ret {
-        remote_nonnull_string xml;
+	remote_nonnull_string xml;
 };
 typedef struct remote_storage_pool_dump_xml_ret remote_storage_pool_dump_xml_ret;
 
 struct remote_storage_pool_get_info_args {
-        remote_nonnull_storage_pool pool;
+	remote_nonnull_storage_pool pool;
 };
 typedef struct remote_storage_pool_get_info_args remote_storage_pool_get_info_args;
 
 struct remote_storage_pool_get_info_ret {
-        u_char state;
-        u_quad_t capacity;
-        u_quad_t allocation;
-        u_quad_t available;
+	u_char state;
+	u_quad_t capacity;
+	u_quad_t allocation;
+	u_quad_t available;
 };
 typedef struct remote_storage_pool_get_info_ret remote_storage_pool_get_info_ret;
 
 struct remote_storage_pool_get_autostart_args {
-        remote_nonnull_storage_pool pool;
+	remote_nonnull_storage_pool pool;
 };
 typedef struct remote_storage_pool_get_autostart_args remote_storage_pool_get_autostart_args;
 
 struct remote_storage_pool_get_autostart_ret {
-        int autostart;
+	int autostart;
 };
 typedef struct remote_storage_pool_get_autostart_ret remote_storage_pool_get_autostart_ret;
 
 struct remote_storage_pool_set_autostart_args {
-        remote_nonnull_storage_pool pool;
-        int autostart;
+	remote_nonnull_storage_pool pool;
+	int autostart;
 };
 typedef struct remote_storage_pool_set_autostart_args remote_storage_pool_set_autostart_args;
 
 struct remote_storage_pool_num_of_volumes_args {
-        remote_nonnull_storage_pool pool;
+	remote_nonnull_storage_pool pool;
 };
 typedef struct remote_storage_pool_num_of_volumes_args remote_storage_pool_num_of_volumes_args;
 
 struct remote_storage_pool_num_of_volumes_ret {
-        int num;
+	int num;
 };
 typedef struct remote_storage_pool_num_of_volumes_ret remote_storage_pool_num_of_volumes_ret;
 
 struct remote_storage_pool_list_volumes_args {
-        remote_nonnull_storage_pool pool;
-        int maxnames;
+	remote_nonnull_storage_pool pool;
+	int maxnames;
 };
 typedef struct remote_storage_pool_list_volumes_args remote_storage_pool_list_volumes_args;
 
 struct remote_storage_pool_list_volumes_ret {
-        struct {
-                u_int names_len;
-                remote_nonnull_string *names_val;
-        } names;
+	struct {
+		u_int names_len;
+		remote_nonnull_string *names_val;
+	} names;
 };
 typedef struct remote_storage_pool_list_volumes_ret remote_storage_pool_list_volumes_ret;
 
 struct remote_storage_vol_lookup_by_name_args {
-        remote_nonnull_storage_pool pool;
-        remote_nonnull_string name;
+	remote_nonnull_storage_pool pool;
+	remote_nonnull_string name;
 };
 typedef struct remote_storage_vol_lookup_by_name_args remote_storage_vol_lookup_by_name_args;
 
 struct remote_storage_vol_lookup_by_name_ret {
-        remote_nonnull_storage_vol vol;
+	remote_nonnull_storage_vol vol;
 };
 typedef struct remote_storage_vol_lookup_by_name_ret remote_storage_vol_lookup_by_name_ret;
 
 struct remote_storage_vol_lookup_by_key_args {
-        remote_nonnull_string key;
+	remote_nonnull_string key;
 };
 typedef struct remote_storage_vol_lookup_by_key_args remote_storage_vol_lookup_by_key_args;
 
 struct remote_storage_vol_lookup_by_key_ret {
-        remote_nonnull_storage_vol vol;
+	remote_nonnull_storage_vol vol;
 };
 typedef struct remote_storage_vol_lookup_by_key_ret remote_storage_vol_lookup_by_key_ret;
 
 struct remote_storage_vol_lookup_by_path_args {
-        remote_nonnull_string path;
+	remote_nonnull_string path;
 };
 typedef struct remote_storage_vol_lookup_by_path_args remote_storage_vol_lookup_by_path_args;
 
 struct remote_storage_vol_lookup_by_path_ret {
-        remote_nonnull_storage_vol vol;
+	remote_nonnull_storage_vol vol;
 };
 typedef struct remote_storage_vol_lookup_by_path_ret remote_storage_vol_lookup_by_path_ret;
 
 struct remote_storage_vol_create_xml_args {
-        remote_nonnull_storage_pool pool;
-        remote_nonnull_string xml;
-        u_int flags;
+	remote_nonnull_storage_pool pool;
+	remote_nonnull_string xml;
+	u_int flags;
 };
 typedef struct remote_storage_vol_create_xml_args remote_storage_vol_create_xml_args;
 
 struct remote_storage_vol_create_xml_ret {
-        remote_nonnull_storage_vol vol;
+	remote_nonnull_storage_vol vol;
 };
 typedef struct remote_storage_vol_create_xml_ret remote_storage_vol_create_xml_ret;
 
 struct remote_storage_vol_delete_args {
-        remote_nonnull_storage_vol vol;
-        u_int flags;
+	remote_nonnull_storage_vol vol;
+	u_int flags;
 };
 typedef struct remote_storage_vol_delete_args remote_storage_vol_delete_args;
 
 struct remote_storage_vol_dump_xml_args {
-        remote_nonnull_storage_vol vol;
-        u_int flags;
+	remote_nonnull_storage_vol vol;
+	u_int flags;
 };
 typedef struct remote_storage_vol_dump_xml_args remote_storage_vol_dump_xml_args;
 
 struct remote_storage_vol_dump_xml_ret {
-        remote_nonnull_string xml;
+	remote_nonnull_string xml;
 };
 typedef struct remote_storage_vol_dump_xml_ret remote_storage_vol_dump_xml_ret;
 
 struct remote_storage_vol_get_info_args {
-        remote_nonnull_storage_vol vol;
+	remote_nonnull_storage_vol vol;
 };
 typedef struct remote_storage_vol_get_info_args remote_storage_vol_get_info_args;
 
 struct remote_storage_vol_get_info_ret {
-        char type;
-        u_quad_t capacity;
-        u_quad_t allocation;
+	char type;
+	u_quad_t capacity;
+	u_quad_t allocation;
 };
 typedef struct remote_storage_vol_get_info_ret remote_storage_vol_get_info_ret;
 
 struct remote_storage_vol_get_path_args {
-        remote_nonnull_storage_vol vol;
+	remote_nonnull_storage_vol vol;
 };
 typedef struct remote_storage_vol_get_path_args remote_storage_vol_get_path_args;
 
 struct remote_storage_vol_get_path_ret {
-        remote_nonnull_string name;
+	remote_nonnull_string name;
 };
 typedef struct remote_storage_vol_get_path_ret remote_storage_vol_get_path_ret;
 #define REMOTE_PROGRAM 0x20008086
 #define 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_LINUX = 10,
-        REMOTE_PROC_DOMAIN_DEFINE_XML = 11,
-        REMOTE_PROC_DOMAIN_DESTROY = 12,
-        REMOTE_PROC_DOMAIN_DETACH_DEVICE = 13,
-        REMOTE_PROC_DOMAIN_DUMP_XML = 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_DUMP_XML = 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_DISCOVER_STORAGE_POOLS = 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_DUMP_XML = 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_DUMP_XML = 99,
-        REMOTE_PROC_STORAGE_VOL_GET_PATH = 100,
+	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_LINUX = 10,
+	REMOTE_PROC_DOMAIN_DEFINE_XML = 11,
+	REMOTE_PROC_DOMAIN_DESTROY = 12,
+	REMOTE_PROC_DOMAIN_DETACH_DEVICE = 13,
+	REMOTE_PROC_DOMAIN_DUMP_XML = 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_DUMP_XML = 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_DISCOVER_STORAGE_POOLS = 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_DUMP_XML = 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_DUMP_XML = 99,
+	REMOTE_PROC_STORAGE_VOL_GET_PATH = 100,
+	REMOTE_PROC_NODE_GET_CELLS_FREE_MEMORY = 101,
+	REMOTE_PROC_NODE_GET_FREE_MEMORY = 102,
 };
 typedef enum remote_procedure remote_procedure;
 
 enum remote_message_direction {
-        REMOTE_CALL = 0,
-        REMOTE_REPLY = 1,
-        REMOTE_MESSAGE = 2,
+	REMOTE_CALL = 0,
+	REMOTE_REPLY = 1,
+	REMOTE_MESSAGE = 2,
 };
 typedef enum remote_message_direction remote_message_direction;
 
 enum remote_message_status {
-        REMOTE_OK = 0,
-        REMOTE_ERROR = 1,
+	REMOTE_OK = 0,
+	REMOTE_ERROR = 1,
 };
 typedef enum remote_message_status remote_message_status;
 #define REMOTE_MESSAGE_HEADER_XDR_LEN 4
 
 struct remote_message_header {
-        u_int prog;
-        u_int vers;
-        remote_procedure proc;
-        remote_message_direction direction;
-        u_int serial;
-        remote_message_status status;
+	u_int prog;
+	u_int vers;
+	remote_procedure proc;
+	remote_message_direction direction;
+	u_int serial;
+	remote_message_status status;
 };
 typedef struct remote_message_header remote_message_header;
 
@@ -1172,6 +1194,9 @@ extern  bool_t xdr_remote_get_max_vcpus_
 extern  bool_t xdr_remote_get_max_vcpus_ret (XDR *, remote_get_max_vcpus_ret*);
 extern  bool_t xdr_remote_node_get_info_ret (XDR *, remote_node_get_info_ret*);
 extern  bool_t xdr_remote_get_capabilities_ret (XDR *, remote_get_capabilities_ret*);
+extern  bool_t xdr_remote_node_get_cells_free_memory_args (XDR *, remote_node_get_cells_free_memory_args*);
+extern  bool_t xdr_remote_node_get_cells_free_memory_ret (XDR *, remote_node_get_cells_free_memory_ret*);
+extern  bool_t xdr_remote_node_get_free_memory_ret (XDR *, remote_node_get_free_memory_ret*);
 extern  bool_t xdr_remote_domain_get_scheduler_type_args (XDR *, remote_domain_get_scheduler_type_args*);
 extern  bool_t xdr_remote_domain_get_scheduler_type_ret (XDR *, remote_domain_get_scheduler_type_ret*);
 extern  bool_t xdr_remote_domain_get_scheduler_parameters_args (XDR *, remote_domain_get_scheduler_parameters_args*);
@@ -1344,6 +1369,9 @@ extern bool_t xdr_remote_get_max_vcpus_a
 extern bool_t xdr_remote_get_max_vcpus_ret ();
 extern bool_t xdr_remote_node_get_info_ret ();
 extern bool_t xdr_remote_get_capabilities_ret ();
+extern bool_t xdr_remote_node_get_cells_free_memory_args ();
+extern bool_t xdr_remote_node_get_cells_free_memory_ret ();
+extern bool_t xdr_remote_node_get_free_memory_ret ();
 extern bool_t xdr_remote_domain_get_scheduler_type_args ();
 extern bool_t xdr_remote_domain_get_scheduler_type_ret ();
 extern bool_t xdr_remote_domain_get_scheduler_parameters_args ();
Index: qemud/remote_protocol.x
===================================================================
RCS file: /data/cvs/libvirt/qemud/remote_protocol.x,v
retrieving revision 1.11
diff -u -p -r1.11 remote_protocol.x
--- qemud/remote_protocol.x	10 Apr 2008 16:53:29 -0000	1.11
+++ qemud/remote_protocol.x	15 May 2008 21:07:31 -0000
@@ -87,6 +87,9 @@ const REMOTE_STORAGE_VOL_NAME_LIST_MAX =
 /* Upper limit on list of scheduler parameters. */
 const REMOTE_DOMAIN_SCHEDULER_PARAMETERS_MAX = 16;
 
+/* Upper limit on number of NUMA cells */
+const REMOTE_NODE_MAX_CELLS = 1024;
+
 /* Upper limit on SASL auth negotiation packet */
 const REMOTE_AUTH_SASL_DATA_MAX = 65536;
 
@@ -254,6 +257,19 @@ struct remote_get_capabilities_ret {
     remote_nonnull_string capabilities;
 };
 
+struct remote_node_get_cells_free_memory_args {
+    int startCell;
+    int maxCells;
+};
+
+struct remote_node_get_cells_free_memory_ret {
+    hyper freeMems<REMOTE_NODE_MAX_CELLS>;
+};
+
+struct remote_node_get_free_memory_ret {
+    hyper freeMem;
+};
+
 struct remote_domain_get_scheduler_type_args {
     remote_nonnull_domain dom;
 };
@@ -1017,7 +1033,10 @@ enum remote_procedure {
     REMOTE_PROC_STORAGE_VOL_LOOKUP_BY_PATH = 97,
     REMOTE_PROC_STORAGE_VOL_GET_INFO = 98,
     REMOTE_PROC_STORAGE_VOL_DUMP_XML = 99,
-    REMOTE_PROC_STORAGE_VOL_GET_PATH = 100
+    REMOTE_PROC_STORAGE_VOL_GET_PATH = 100,
+
+    REMOTE_PROC_NODE_GET_CELLS_FREE_MEMORY = 101,
+    REMOTE_PROC_NODE_GET_FREE_MEMORY = 102
 };
 
 /* Custom RPC structure. */
Index: qemud/rpcgen_fix.pl
===================================================================
RCS file: /data/cvs/libvirt/qemud/rpcgen_fix.pl,v
retrieving revision 1.1
diff -u -p -r1.1 rpcgen_fix.pl
--- qemud/rpcgen_fix.pl	11 Jun 2007 11:36:17 -0000	1.1
+++ qemud/rpcgen_fix.pl	15 May 2008 21:07:31 -0000
@@ -24,6 +24,8 @@ while (<>) {
 	next;
     }
 
+    s/\t/        /g;
+
     if (m/^}/) {
 	$in_function = 0;
 
@@ -52,7 +54,7 @@ while (<>) {
 	    foreach (keys %uses) {
 		$i = $uses{$_};
 		unshift @function,
-		("\tchar **objp_cpp$i = (char **) (void *) &$_;\n");
+		("        char **objp_cpp$i = (char **) (void *) &$_;\n");
 		$i++;
 	    }
 	    @function =

-- 
|: Red Hat, Engineering, Boston   -o-   http://people.redhat.com/berrange/ :|
|: http://libvirt.org  -o-  http://virt-manager.org  -o-  http://ovirt.org :|
|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
|: GnuPG: 7D3B9505  -o-  F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :|




More information about the libvir-list mailing list