[libvirt] [PATCH] Invoke PortableXDR's rpcgen if available

Richard W.M. Jones rjones at redhat.com
Mon Jan 12 16:34:25 UTC 2009


We discovered over the new year that the XDR code in glibc, which was
derived from some original Sun code, doesn't have an unambiguously
free license[1].  Furthermore the rpcgen in glibc is unmaintained and
produces such bad code that we have to run a Perl script over it in
order to correct some egregious errors.  Sun/glibc rpcgen code also
contains all sorts of strange micro-optimizations that were probably
good back in 1988, but don't make so much sense now.  Also rpcgen was
implemented directly in C, so we took this chance to use flex/bison
for more accurate and faster parsing.

For these reasons we are rewriting the XDR code and the rpcgen tool
with a free license[2].  I'm pleased to say that as a result of this
effort we've rewritten rpcgen already:

  http://git.et.redhat.com/?p=portablexdr.git;a=summary

To avoid conflicts, the new rpcgen will be installed as
'portable-rpcgen'.

The attached patch changes libvirt's configure so that if it finds
'portable-rpcgen' on the path, it uses it in preference to 'rpcgen'.

Also attached are the updated remote_protocol.[ch] files (ie. the
files which are generated from remote_protocol.x by portable-rpcgen).
I'm not suggesting we use these quite yet, because (a) they still
generate some warnings, and (b) they need a lot more testing.

However I think the patch is safe enough.

Rich.

[1] For more about this, see this message and the reply:
https://www.redhat.com/archives/fedora-legal-list/2008-December/msg00022.html

[2] LGPLv2+ for the library parts and GPLv2+ for the rpcgen program.

-- 
Richard Jones, Emerging Technologies, Red Hat  http://et.redhat.com/~rjones
virt-p2v converts physical machines to virtual machines.  Boot with a
live CD or over the network (PXE) and turn machines into Xen guests.
http://et.redhat.com/~rjones/virt-p2v
-------------- next part --------------
Index: configure.in
===================================================================
RCS file: /data/cvs/libvirt/configure.in,v
retrieving revision 1.197
diff -u -r1.197 configure.in
--- configure.in	8 Jan 2009 20:42:01 -0000	1.197
+++ configure.in	12 Jan 2009 16:19:46 -0000
@@ -88,8 +88,14 @@
 AC_CHECK_LIB([intl],[gettext],[])
 
 dnl Do we have rpcgen?
-AC_PATH_PROG([RPCGEN], [rpcgen], [no])
+dnl Prefer portable-rpcgen if it exists, otherwise try system rpcgen.
+AC_PATH_PROG([RPCGEN], [portable-rpcgen rpcgen], [no])
 AM_CONDITIONAL([RPCGEN], [test "x$ac_cv_path_RPCGEN" != "xno"])
+dnl Is this portable-rpcgen?
+AM_CONDITIONAL([PORTABLE_RPCGEN],
+	       [test "x$ac_cv_path_RPCGEN" != "xno" &&
+	        $ac_cv_path_RPCGEN -V | \
+	          grep -sq PortableXDR 2>&1])
 dnl Is this GLIBC's buggy rpcgen?
 AM_CONDITIONAL([GLIBC_RPCGEN],
 	       [test "x$ac_cv_path_RPCGEN" != "xno" &&
-------------- next part --------------
/* This file was generated by PortableXDR rpcgen 4.9.1
 * ANY CHANGES YOU MAKE TO THIS FILE MAY BE LOST!
 * The input file was remote_protocol.x
 */

#ifndef RPCGEN_HEADER_REMOTE_PROTOCOL_H
#define RPCGEN_HEADER_REMOTE_PROTOCOL_H

#ifdef __cplusplus
extern "C" {
#endif

#include <stdint.h>
#include <rpc/rpc.h>

/* Use the following symbol in your code to detect whether
 * PortableXDR's rpcgen was used to compile the source file.
 */
#define PORTABLE_RPCGEN_REMOTE_PROTOCOL 1

#include "internal.h"
#include <arpa/inet.h>
#line 44 "remote_protocol.x"
#define REMOTE_MESSAGE_MAX 262144
#line 50 "remote_protocol.x"
#define REMOTE_STRING_MAX 65536
#line 53 "remote_protocol.x"
typedef char *remote_nonnull_string;
extern bool_t xdr_remote_nonnull_string (XDR *, remote_nonnull_string *);

#line 56 "remote_protocol.x"
typedef remote_nonnull_string *remote_string;
extern bool_t xdr_remote_string (XDR *, remote_string *);

#line 61 "remote_protocol.x"
#define REMOTE_DOMAIN_ID_LIST_MAX 16384
#line 64 "remote_protocol.x"
#define REMOTE_DOMAIN_NAME_LIST_MAX 1024
#line 67 "remote_protocol.x"
#define REMOTE_CPUMAP_MAX 256
#line 70 "remote_protocol.x"
#define REMOTE_VCPUINFO_MAX 2048
#line 73 "remote_protocol.x"
#define REMOTE_CPUMAPS_MAX 16384
#line 76 "remote_protocol.x"
#define REMOTE_MIGRATE_COOKIE_MAX 256
#line 79 "remote_protocol.x"
#define REMOTE_NETWORK_NAME_LIST_MAX 256
#line 82 "remote_protocol.x"
#define REMOTE_STORAGE_POOL_NAME_LIST_MAX 256
#line 85 "remote_protocol.x"
#define REMOTE_STORAGE_VOL_NAME_LIST_MAX 1024
#line 88 "remote_protocol.x"
#define REMOTE_NODE_DEVICE_NAME_LIST_MAX 16384
#line 91 "remote_protocol.x"
#define REMOTE_NODE_DEVICE_CAPS_LIST_MAX 16384
#line 94 "remote_protocol.x"
#define REMOTE_DOMAIN_SCHEDULER_PARAMETERS_MAX 16
#line 97 "remote_protocol.x"
#define REMOTE_NODE_MAX_CELLS 1024
#line 100 "remote_protocol.x"
#define REMOTE_AUTH_SASL_DATA_MAX 65536
#line 103 "remote_protocol.x"
#define REMOTE_AUTH_TYPE_LIST_MAX 20
#line 109 "remote_protocol.x"
#define REMOTE_DOMAIN_BLOCK_PEEK_BUFFER_MAX 65536
#line 115 "remote_protocol.x"
#define REMOTE_DOMAIN_MEMORY_PEEK_BUFFER_MAX 65536
#line 118 "remote_protocol.x"
typedef char remote_uuid[VIR_UUID_BUFLEN];
extern bool_t xdr_remote_uuid (XDR *, remote_uuid *);

#line 125 "remote_protocol.x"
struct remote_nonnull_domain {
  remote_nonnull_string name;
  remote_uuid uuid;
  int32_t id;
};
typedef struct remote_nonnull_domain remote_nonnull_domain;
extern bool_t xdr_remote_nonnull_domain (XDR *, remote_nonnull_domain *);

#line 131 "remote_protocol.x"
struct remote_nonnull_network {
  remote_nonnull_string name;
  remote_uuid uuid;
};
typedef struct remote_nonnull_network remote_nonnull_network;
extern bool_t xdr_remote_nonnull_network (XDR *, remote_nonnull_network *);

#line 137 "remote_protocol.x"
struct remote_nonnull_storage_pool {
  remote_nonnull_string name;
  remote_uuid uuid;
};
typedef struct remote_nonnull_storage_pool remote_nonnull_storage_pool;
extern bool_t xdr_remote_nonnull_storage_pool (XDR *, remote_nonnull_storage_pool *);

#line 144 "remote_protocol.x"
struct remote_nonnull_storage_vol {
  remote_nonnull_string pool;
  remote_nonnull_string name;
  remote_nonnull_string key;
};
typedef struct remote_nonnull_storage_vol remote_nonnull_storage_vol;
extern bool_t xdr_remote_nonnull_storage_vol (XDR *, remote_nonnull_storage_vol *);

#line 149 "remote_protocol.x"
struct remote_nonnull_node_device {
  remote_nonnull_string name;
};
typedef struct remote_nonnull_node_device remote_nonnull_node_device;
extern bool_t xdr_remote_nonnull_node_device (XDR *, remote_nonnull_node_device *);

#line 152 "remote_protocol.x"
typedef remote_nonnull_domain *remote_domain;
extern bool_t xdr_remote_domain (XDR *, remote_domain *);

#line 153 "remote_protocol.x"
typedef remote_nonnull_network *remote_network;
extern bool_t xdr_remote_network (XDR *, remote_network *);

#line 154 "remote_protocol.x"
typedef remote_nonnull_storage_pool *remote_storage_pool;
extern bool_t xdr_remote_storage_pool (XDR *, remote_storage_pool *);

#line 155 "remote_protocol.x"
typedef remote_nonnull_storage_vol *remote_storage_vol;
extern bool_t xdr_remote_storage_vol (XDR *, remote_storage_vol *);

#line 156 "remote_protocol.x"
typedef remote_nonnull_node_device *remote_node_device;
extern bool_t xdr_remote_node_device (XDR *, remote_node_device *);

#line 178 "remote_protocol.x"
struct remote_error {
  int32_t code;
  int32_t domain;
  remote_string message;
  int32_t level;
  remote_domain dom;
  remote_string str1;
  remote_string str2;
  remote_string str3;
  int32_t int1;
  int32_t int2;
  remote_network net;
};
typedef struct remote_error remote_error;
extern bool_t xdr_remote_error (XDR *, remote_error *);

#line 185 "remote_protocol.x"
enum remote_auth_type {
  REMOTE_AUTH_NONE = 0,
  REMOTE_AUTH_SASL = 1,
  REMOTE_AUTH_POLKIT = 2,
};
typedef enum remote_auth_type remote_auth_type;
extern bool_t xdr_remote_auth_type (XDR *, remote_auth_type *);

#line 194 "remote_protocol.x"
struct remote_vcpu_info {
  uint32_t number;
  int32_t state;
  uint64_t cpu_time;
  int32_t cpu;
};
typedef struct remote_vcpu_info remote_vcpu_info;
extern bool_t xdr_remote_vcpu_info (XDR *, remote_vcpu_info *);

#line 212 "remote_protocol.x"
struct remote_sched_param_value {
  int32_t type;
  union {
    int32_t i;
    uint32_t ui;
    int64_t l;
    uint64_t ul;
    double d;
    int32_t b;
  } remote_sched_param_value_u;
};
typedef struct remote_sched_param_value remote_sched_param_value;
extern bool_t xdr_remote_sched_param_value (XDR *, remote_sched_param_value *);

#line 217 "remote_protocol.x"
struct remote_sched_param {
  remote_nonnull_string field;
  remote_sched_param_value value;
};
typedef struct remote_sched_param remote_sched_param;
extern bool_t xdr_remote_sched_param (XDR *, remote_sched_param *);

#line 236 "remote_protocol.x"
struct remote_open_args {
  remote_string name;
  int32_t flags;
};
typedef struct remote_open_args remote_open_args;
extern bool_t xdr_remote_open_args (XDR *, remote_open_args *);

#line 240 "remote_protocol.x"
struct remote_supports_feature_args {
  int32_t feature;
};
typedef struct remote_supports_feature_args remote_supports_feature_args;
extern bool_t xdr_remote_supports_feature_args (XDR *, remote_supports_feature_args *);

#line 244 "remote_protocol.x"
struct remote_supports_feature_ret {
  int32_t supported;
};
typedef struct remote_supports_feature_ret remote_supports_feature_ret;
extern bool_t xdr_remote_supports_feature_ret (XDR *, remote_supports_feature_ret *);

#line 248 "remote_protocol.x"
struct remote_get_type_ret {
  remote_nonnull_string type;
};
typedef struct remote_get_type_ret remote_get_type_ret;
extern bool_t xdr_remote_get_type_ret (XDR *, remote_get_type_ret *);

#line 252 "remote_protocol.x"
struct remote_get_version_ret {
  int64_t hv_ver;
};
typedef struct remote_get_version_ret remote_get_version_ret;
extern bool_t xdr_remote_get_version_ret (XDR *, remote_get_version_ret *);

#line 256 "remote_protocol.x"
struct remote_get_hostname_ret {
  remote_nonnull_string hostname;
};
typedef struct remote_get_hostname_ret remote_get_hostname_ret;
extern bool_t xdr_remote_get_hostname_ret (XDR *, remote_get_hostname_ret *);

#line 260 "remote_protocol.x"
struct remote_get_uri_ret {
  remote_nonnull_string uri;
};
typedef struct remote_get_uri_ret remote_get_uri_ret;
extern bool_t xdr_remote_get_uri_ret (XDR *, remote_get_uri_ret *);

#line 267 "remote_protocol.x"
struct remote_get_max_vcpus_args {
  remote_string type;
};
typedef struct remote_get_max_vcpus_args remote_get_max_vcpus_args;
extern bool_t xdr_remote_get_max_vcpus_args (XDR *, remote_get_max_vcpus_args *);

#line 271 "remote_protocol.x"
struct remote_get_max_vcpus_ret {
  int32_t max_vcpus;
};
typedef struct remote_get_max_vcpus_ret remote_get_max_vcpus_ret;
extern bool_t xdr_remote_get_max_vcpus_ret (XDR *, remote_get_max_vcpus_ret *);

#line 282 "remote_protocol.x"
struct remote_node_get_info_ret {
  int8_t model[32];
  int64_t memory;
  int32_t cpus;
  int32_t mhz;
  int32_t nodes;
  int32_t sockets;
  int32_t cores;
  int32_t threads;
};
typedef struct remote_node_get_info_ret remote_node_get_info_ret;
extern bool_t xdr_remote_node_get_info_ret (XDR *, remote_node_get_info_ret *);

#line 286 "remote_protocol.x"
struct remote_get_capabilities_ret {
  remote_nonnull_string capabilities;
};
typedef struct remote_get_capabilities_ret remote_get_capabilities_ret;
extern bool_t xdr_remote_get_capabilities_ret (XDR *, remote_get_capabilities_ret *);

#line 291 "remote_protocol.x"
struct remote_node_get_cells_free_memory_args {
  int32_t startCell;
  int32_t maxCells;
};
typedef struct remote_node_get_cells_free_memory_args remote_node_get_cells_free_memory_args;
extern bool_t xdr_remote_node_get_cells_free_memory_args (XDR *, remote_node_get_cells_free_memory_args *);

#line 295 "remote_protocol.x"
struct remote_node_get_cells_free_memory_ret {
  struct {
    uint32_t freeMems_len;
    int64_t *freeMems_val;
  } freeMems;
};
typedef struct remote_node_get_cells_free_memory_ret remote_node_get_cells_free_memory_ret;
extern bool_t xdr_remote_node_get_cells_free_memory_ret (XDR *, remote_node_get_cells_free_memory_ret *);

#line 299 "remote_protocol.x"
struct remote_node_get_free_memory_ret {
  int64_t freeMem;
};
typedef struct remote_node_get_free_memory_ret remote_node_get_free_memory_ret;
extern bool_t xdr_remote_node_get_free_memory_ret (XDR *, remote_node_get_free_memory_ret *);

#line 303 "remote_protocol.x"
struct remote_domain_get_scheduler_type_args {
  remote_nonnull_domain dom;
};
typedef struct remote_domain_get_scheduler_type_args remote_domain_get_scheduler_type_args;
extern bool_t xdr_remote_domain_get_scheduler_type_args (XDR *, remote_domain_get_scheduler_type_args *);

#line 308 "remote_protocol.x"
struct remote_domain_get_scheduler_type_ret {
  remote_nonnull_string type;
  int32_t nparams;
};
typedef struct remote_domain_get_scheduler_type_ret remote_domain_get_scheduler_type_ret;
extern bool_t xdr_remote_domain_get_scheduler_type_ret (XDR *, remote_domain_get_scheduler_type_ret *);

#line 313 "remote_protocol.x"
struct remote_domain_get_scheduler_parameters_args {
  remote_nonnull_domain dom;
  int32_t nparams;
};
typedef struct remote_domain_get_scheduler_parameters_args remote_domain_get_scheduler_parameters_args;
extern bool_t xdr_remote_domain_get_scheduler_parameters_args (XDR *, remote_domain_get_scheduler_parameters_args *);

#line 317 "remote_protocol.x"
struct remote_domain_get_scheduler_parameters_ret {
  struct {
    uint32_t params_len;
    remote_sched_param *params_val;
  } params;
};
typedef struct remote_domain_get_scheduler_parameters_ret remote_domain_get_scheduler_parameters_ret;
extern bool_t xdr_remote_domain_get_scheduler_parameters_ret (XDR *, remote_domain_get_scheduler_parameters_ret *);

#line 322 "remote_protocol.x"
struct remote_domain_set_scheduler_parameters_args {
  remote_nonnull_domain dom;
  struct {
    uint32_t params_len;
    remote_sched_param *params_val;
  } params;
};
typedef struct remote_domain_set_scheduler_parameters_args remote_domain_set_scheduler_parameters_args;
extern bool_t xdr_remote_domain_set_scheduler_parameters_args (XDR *, remote_domain_set_scheduler_parameters_args *);

#line 327 "remote_protocol.x"
struct remote_domain_block_stats_args {
  remote_nonnull_domain dom;
  remote_nonnull_string path;
};
typedef struct remote_domain_block_stats_args remote_domain_block_stats_args;
extern bool_t xdr_remote_domain_block_stats_args (XDR *, remote_domain_block_stats_args *);

#line 335 "remote_protocol.x"
struct remote_domain_block_stats_ret {
  int64_t rd_req;
  int64_t rd_bytes;
  int64_t wr_req;
  int64_t wr_bytes;
  int64_t errs;
};
typedef struct remote_domain_block_stats_ret remote_domain_block_stats_ret;
extern bool_t xdr_remote_domain_block_stats_ret (XDR *, remote_domain_block_stats_ret *);

#line 340 "remote_protocol.x"
struct remote_domain_interface_stats_args {
  remote_nonnull_domain dom;
  remote_nonnull_string path;
};
typedef struct remote_domain_interface_stats_args remote_domain_interface_stats_args;
extern bool_t xdr_remote_domain_interface_stats_args (XDR *, remote_domain_interface_stats_args *);

#line 351 "remote_protocol.x"
struct remote_domain_interface_stats_ret {
  int64_t rx_bytes;
  int64_t rx_packets;
  int64_t rx_errs;
  int64_t rx_drop;
  int64_t tx_bytes;
  int64_t tx_packets;
  int64_t tx_errs;
  int64_t tx_drop;
};
typedef struct remote_domain_interface_stats_ret remote_domain_interface_stats_ret;
extern bool_t xdr_remote_domain_interface_stats_ret (XDR *, remote_domain_interface_stats_ret *);

#line 359 "remote_protocol.x"
struct remote_domain_block_peek_args {
  remote_nonnull_domain dom;
  remote_nonnull_string path;
  uint64_t offset;
  uint32_t size;
  uint32_t flags;
};
typedef struct remote_domain_block_peek_args remote_domain_block_peek_args;
extern bool_t xdr_remote_domain_block_peek_args (XDR *, remote_domain_block_peek_args *);

#line 363 "remote_protocol.x"
struct remote_domain_block_peek_ret {
  struct {
    uint32_t buffer_len;
    char *buffer_val;
  } buffer;
};
typedef struct remote_domain_block_peek_ret remote_domain_block_peek_ret;
extern bool_t xdr_remote_domain_block_peek_ret (XDR *, remote_domain_block_peek_ret *);

#line 370 "remote_protocol.x"
struct remote_domain_memory_peek_args {
  remote_nonnull_domain dom;
  uint64_t offset;
  uint32_t size;
  uint32_t flags;
};
typedef struct remote_domain_memory_peek_args remote_domain_memory_peek_args;
extern bool_t xdr_remote_domain_memory_peek_args (XDR *, remote_domain_memory_peek_args *);

#line 374 "remote_protocol.x"
struct remote_domain_memory_peek_ret {
  struct {
    uint32_t buffer_len;
    char *buffer_val;
  } buffer;
};
typedef struct remote_domain_memory_peek_ret remote_domain_memory_peek_ret;
extern bool_t xdr_remote_domain_memory_peek_ret (XDR *, remote_domain_memory_peek_ret *);

#line 378 "remote_protocol.x"
struct remote_list_domains_args {
  int32_t maxids;
};
typedef struct remote_list_domains_args remote_list_domains_args;
extern bool_t xdr_remote_list_domains_args (XDR *, remote_list_domains_args *);

#line 382 "remote_protocol.x"
struct remote_list_domains_ret {
  struct {
    uint32_t ids_len;
    int32_t *ids_val;
  } ids;
};
typedef struct remote_list_domains_ret remote_list_domains_ret;
extern bool_t xdr_remote_list_domains_ret (XDR *, remote_list_domains_ret *);

#line 386 "remote_protocol.x"
struct remote_num_of_domains_ret {
  int32_t num;
};
typedef struct remote_num_of_domains_ret remote_num_of_domains_ret;
extern bool_t xdr_remote_num_of_domains_ret (XDR *, remote_num_of_domains_ret *);

#line 391 "remote_protocol.x"
struct remote_domain_create_xml_args {
  remote_nonnull_string xml_desc;
  int32_t flags;
};
typedef struct remote_domain_create_xml_args remote_domain_create_xml_args;
extern bool_t xdr_remote_domain_create_xml_args (XDR *, remote_domain_create_xml_args *);

#line 395 "remote_protocol.x"
struct remote_domain_create_xml_ret {
  remote_nonnull_domain dom;
};
typedef struct remote_domain_create_xml_ret remote_domain_create_xml_ret;
extern bool_t xdr_remote_domain_create_xml_ret (XDR *, remote_domain_create_xml_ret *);

#line 399 "remote_protocol.x"
struct remote_domain_lookup_by_id_args {
  int32_t id;
};
typedef struct remote_domain_lookup_by_id_args remote_domain_lookup_by_id_args;
extern bool_t xdr_remote_domain_lookup_by_id_args (XDR *, remote_domain_lookup_by_id_args *);

#line 403 "remote_protocol.x"
struct remote_domain_lookup_by_id_ret {
  remote_nonnull_domain dom;
};
typedef struct remote_domain_lookup_by_id_ret remote_domain_lookup_by_id_ret;
extern bool_t xdr_remote_domain_lookup_by_id_ret (XDR *, remote_domain_lookup_by_id_ret *);

#line 407 "remote_protocol.x"
struct remote_domain_lookup_by_uuid_args {
  remote_uuid uuid;
};
typedef struct remote_domain_lookup_by_uuid_args remote_domain_lookup_by_uuid_args;
extern bool_t xdr_remote_domain_lookup_by_uuid_args (XDR *, remote_domain_lookup_by_uuid_args *);

#line 411 "remote_protocol.x"
struct remote_domain_lookup_by_uuid_ret {
  remote_nonnull_domain dom;
};
typedef struct remote_domain_lookup_by_uuid_ret remote_domain_lookup_by_uuid_ret;
extern bool_t xdr_remote_domain_lookup_by_uuid_ret (XDR *, remote_domain_lookup_by_uuid_ret *);

#line 415 "remote_protocol.x"
struct remote_domain_lookup_by_name_args {
  remote_nonnull_string name;
};
typedef struct remote_domain_lookup_by_name_args remote_domain_lookup_by_name_args;
extern bool_t xdr_remote_domain_lookup_by_name_args (XDR *, remote_domain_lookup_by_name_args *);

#line 419 "remote_protocol.x"
struct remote_domain_lookup_by_name_ret {
  remote_nonnull_domain dom;
};
typedef struct remote_domain_lookup_by_name_ret remote_domain_lookup_by_name_ret;
extern bool_t xdr_remote_domain_lookup_by_name_ret (XDR *, remote_domain_lookup_by_name_ret *);

#line 423 "remote_protocol.x"
struct remote_domain_suspend_args {
  remote_nonnull_domain dom;
};
typedef struct remote_domain_suspend_args remote_domain_suspend_args;
extern bool_t xdr_remote_domain_suspend_args (XDR *, remote_domain_suspend_args *);

#line 427 "remote_protocol.x"
struct remote_domain_resume_args {
  remote_nonnull_domain dom;
};
typedef struct remote_domain_resume_args remote_domain_resume_args;
extern bool_t xdr_remote_domain_resume_args (XDR *, remote_domain_resume_args *);

#line 431 "remote_protocol.x"
struct remote_domain_shutdown_args {
  remote_nonnull_domain dom;
};
typedef struct remote_domain_shutdown_args remote_domain_shutdown_args;
extern bool_t xdr_remote_domain_shutdown_args (XDR *, remote_domain_shutdown_args *);

#line 436 "remote_protocol.x"
struct remote_domain_reboot_args {
  remote_nonnull_domain dom;
  int32_t flags;
};
typedef struct remote_domain_reboot_args remote_domain_reboot_args;
extern bool_t xdr_remote_domain_reboot_args (XDR *, remote_domain_reboot_args *);

#line 440 "remote_protocol.x"
struct remote_domain_destroy_args {
  remote_nonnull_domain dom;
};
typedef struct remote_domain_destroy_args remote_domain_destroy_args;
extern bool_t xdr_remote_domain_destroy_args (XDR *, remote_domain_destroy_args *);

#line 444 "remote_protocol.x"
struct remote_domain_get_os_type_args {
  remote_nonnull_domain dom;
};
typedef struct remote_domain_get_os_type_args remote_domain_get_os_type_args;
extern bool_t xdr_remote_domain_get_os_type_args (XDR *, remote_domain_get_os_type_args *);

#line 448 "remote_protocol.x"
struct remote_domain_get_os_type_ret {
  remote_nonnull_string type;
};
typedef struct remote_domain_get_os_type_ret remote_domain_get_os_type_ret;
extern bool_t xdr_remote_domain_get_os_type_ret (XDR *, remote_domain_get_os_type_ret *);

#line 452 "remote_protocol.x"
struct remote_domain_get_max_memory_args {
  remote_nonnull_domain dom;
};
typedef struct remote_domain_get_max_memory_args remote_domain_get_max_memory_args;
extern bool_t xdr_remote_domain_get_max_memory_args (XDR *, remote_domain_get_max_memory_args *);

#line 456 "remote_protocol.x"
struct remote_domain_get_max_memory_ret {
  uint64_t memory;
};
typedef struct remote_domain_get_max_memory_ret remote_domain_get_max_memory_ret;
extern bool_t xdr_remote_domain_get_max_memory_ret (XDR *, remote_domain_get_max_memory_ret *);

#line 461 "remote_protocol.x"
struct remote_domain_set_max_memory_args {
  remote_nonnull_domain dom;
  uint64_t memory;
};
typedef struct remote_domain_set_max_memory_args remote_domain_set_max_memory_args;
extern bool_t xdr_remote_domain_set_max_memory_args (XDR *, remote_domain_set_max_memory_args *);

#line 466 "remote_protocol.x"
struct remote_domain_set_memory_args {
  remote_nonnull_domain dom;
  uint64_t memory;
};
typedef struct remote_domain_set_memory_args remote_domain_set_memory_args;
extern bool_t xdr_remote_domain_set_memory_args (XDR *, remote_domain_set_memory_args *);

#line 470 "remote_protocol.x"
struct remote_domain_get_info_args {
  remote_nonnull_domain dom;
};
typedef struct remote_domain_get_info_args remote_domain_get_info_args;
extern bool_t xdr_remote_domain_get_info_args (XDR *, remote_domain_get_info_args *);

#line 478 "remote_protocol.x"
struct remote_domain_get_info_ret {
  uint8_t state;
  uint64_t max_mem;
  uint64_t memory;
  uint16_t nr_virt_cpu;
  uint64_t cpu_time;
};
typedef struct remote_domain_get_info_ret remote_domain_get_info_ret;
extern bool_t xdr_remote_domain_get_info_ret (XDR *, remote_domain_get_info_ret *);

#line 483 "remote_protocol.x"
struct remote_domain_save_args {
  remote_nonnull_domain dom;
  remote_nonnull_string to;
};
typedef struct remote_domain_save_args remote_domain_save_args;
extern bool_t xdr_remote_domain_save_args (XDR *, remote_domain_save_args *);

#line 487 "remote_protocol.x"
struct remote_domain_restore_args {
  remote_nonnull_string from;
};
typedef struct remote_domain_restore_args remote_domain_restore_args;
extern bool_t xdr_remote_domain_restore_args (XDR *, remote_domain_restore_args *);

#line 493 "remote_protocol.x"
struct remote_domain_core_dump_args {
  remote_nonnull_domain dom;
  remote_nonnull_string to;
  int32_t flags;
};
typedef struct remote_domain_core_dump_args remote_domain_core_dump_args;
extern bool_t xdr_remote_domain_core_dump_args (XDR *, remote_domain_core_dump_args *);

#line 498 "remote_protocol.x"
struct remote_domain_dump_xml_args {
  remote_nonnull_domain dom;
  int32_t flags;
};
typedef struct remote_domain_dump_xml_args remote_domain_dump_xml_args;
extern bool_t xdr_remote_domain_dump_xml_args (XDR *, remote_domain_dump_xml_args *);

#line 502 "remote_protocol.x"
struct remote_domain_dump_xml_ret {
  remote_nonnull_string xml;
};
typedef struct remote_domain_dump_xml_ret remote_domain_dump_xml_ret;
extern bool_t xdr_remote_domain_dump_xml_ret (XDR *, remote_domain_dump_xml_ret *);

#line 509 "remote_protocol.x"
struct remote_domain_migrate_prepare_args {
  remote_string uri_in;
  uint64_t flags;
  remote_string dname;
  uint64_t resource;
};
typedef struct remote_domain_migrate_prepare_args remote_domain_migrate_prepare_args;
extern bool_t xdr_remote_domain_migrate_prepare_args (XDR *, remote_domain_migrate_prepare_args *);

#line 514 "remote_protocol.x"
struct remote_domain_migrate_prepare_ret {
  struct {
    uint32_t cookie_len;
    char *cookie_val;
  } cookie;
  remote_string uri_out;
};
typedef struct remote_domain_migrate_prepare_ret remote_domain_migrate_prepare_ret;
extern bool_t xdr_remote_domain_migrate_prepare_ret (XDR *, remote_domain_migrate_prepare_ret *);

#line 523 "remote_protocol.x"
struct remote_domain_migrate_perform_args {
  remote_nonnull_domain dom;
  struct {
    uint32_t cookie_len;
    char *cookie_val;
  } cookie;
  remote_nonnull_string uri;
  uint64_t flags;
  remote_string dname;
  uint64_t resource;
};
typedef struct remote_domain_migrate_perform_args remote_domain_migrate_perform_args;
extern bool_t xdr_remote_domain_migrate_perform_args (XDR *, remote_domain_migrate_perform_args *);

#line 530 "remote_protocol.x"
struct remote_domain_migrate_finish_args {
  remote_nonnull_string dname;
  struct {
    uint32_t cookie_len;
    char *cookie_val;
  } cookie;
  remote_nonnull_string uri;
  uint64_t flags;
};
typedef struct remote_domain_migrate_finish_args remote_domain_migrate_finish_args;
extern bool_t xdr_remote_domain_migrate_finish_args (XDR *, remote_domain_migrate_finish_args *);

#line 534 "remote_protocol.x"
struct remote_domain_migrate_finish_ret {
  remote_nonnull_domain ddom;
};
typedef struct remote_domain_migrate_finish_ret remote_domain_migrate_finish_ret;
extern bool_t xdr_remote_domain_migrate_finish_ret (XDR *, remote_domain_migrate_finish_ret *);

#line 542 "remote_protocol.x"
struct remote_domain_migrate_prepare2_args {
  remote_string uri_in;
  uint64_t flags;
  remote_string dname;
  uint64_t resource;
  remote_nonnull_string dom_xml;
};
typedef struct remote_domain_migrate_prepare2_args remote_domain_migrate_prepare2_args;
extern bool_t xdr_remote_domain_migrate_prepare2_args (XDR *, remote_domain_migrate_prepare2_args *);

#line 547 "remote_protocol.x"
struct remote_domain_migrate_prepare2_ret {
  struct {
    uint32_t cookie_len;
    char *cookie_val;
  } cookie;
  remote_string uri_out;
};
typedef struct remote_domain_migrate_prepare2_ret remote_domain_migrate_prepare2_ret;
extern bool_t xdr_remote_domain_migrate_prepare2_ret (XDR *, remote_domain_migrate_prepare2_ret *);

#line 555 "remote_protocol.x"
struct remote_domain_migrate_finish2_args {
  remote_nonnull_string dname;
  struct {
    uint32_t cookie_len;
    char *cookie_val;
  } cookie;
  remote_nonnull_string uri;
  uint64_t flags;
  int32_t retcode;
};
typedef struct remote_domain_migrate_finish2_args remote_domain_migrate_finish2_args;
extern bool_t xdr_remote_domain_migrate_finish2_args (XDR *, remote_domain_migrate_finish2_args *);

#line 559 "remote_protocol.x"
struct remote_domain_migrate_finish2_ret {
  remote_nonnull_domain ddom;
};
typedef struct remote_domain_migrate_finish2_ret remote_domain_migrate_finish2_ret;
extern bool_t xdr_remote_domain_migrate_finish2_ret (XDR *, remote_domain_migrate_finish2_ret *);

#line 563 "remote_protocol.x"
struct remote_list_defined_domains_args {
  int32_t maxnames;
};
typedef struct remote_list_defined_domains_args remote_list_defined_domains_args;
extern bool_t xdr_remote_list_defined_domains_args (XDR *, remote_list_defined_domains_args *);

#line 567 "remote_protocol.x"
struct remote_list_defined_domains_ret {
  struct {
    uint32_t names_len;
    remote_nonnull_string *names_val;
  } names;
};
typedef struct remote_list_defined_domains_ret remote_list_defined_domains_ret;
extern bool_t xdr_remote_list_defined_domains_ret (XDR *, remote_list_defined_domains_ret *);

#line 571 "remote_protocol.x"
struct remote_num_of_defined_domains_ret {
  int32_t num;
};
typedef struct remote_num_of_defined_domains_ret remote_num_of_defined_domains_ret;
extern bool_t xdr_remote_num_of_defined_domains_ret (XDR *, remote_num_of_defined_domains_ret *);

#line 575 "remote_protocol.x"
struct remote_domain_create_args {
  remote_nonnull_domain dom;
};
typedef struct remote_domain_create_args remote_domain_create_args;
extern bool_t xdr_remote_domain_create_args (XDR *, remote_domain_create_args *);

#line 579 "remote_protocol.x"
struct remote_domain_define_xml_args {
  remote_nonnull_string xml;
};
typedef struct remote_domain_define_xml_args remote_domain_define_xml_args;
extern bool_t xdr_remote_domain_define_xml_args (XDR *, remote_domain_define_xml_args *);

#line 583 "remote_protocol.x"
struct remote_domain_define_xml_ret {
  remote_nonnull_domain dom;
};
typedef struct remote_domain_define_xml_ret remote_domain_define_xml_ret;
extern bool_t xdr_remote_domain_define_xml_ret (XDR *, remote_domain_define_xml_ret *);

#line 587 "remote_protocol.x"
struct remote_domain_undefine_args {
  remote_nonnull_domain dom;
};
typedef struct remote_domain_undefine_args remote_domain_undefine_args;
extern bool_t xdr_remote_domain_undefine_args (XDR *, remote_domain_undefine_args *);

#line 592 "remote_protocol.x"
struct remote_domain_set_vcpus_args {
  remote_nonnull_domain dom;
  int32_t nvcpus;
};
typedef struct remote_domain_set_vcpus_args remote_domain_set_vcpus_args;
extern bool_t xdr_remote_domain_set_vcpus_args (XDR *, remote_domain_set_vcpus_args *);

#line 598 "remote_protocol.x"
struct remote_domain_pin_vcpu_args {
  remote_nonnull_domain dom;
  int32_t vcpu;
  struct {
    uint32_t cpumap_len;
    char *cpumap_val;
  } cpumap;
};
typedef struct remote_domain_pin_vcpu_args remote_domain_pin_vcpu_args;
extern bool_t xdr_remote_domain_pin_vcpu_args (XDR *, remote_domain_pin_vcpu_args *);

#line 604 "remote_protocol.x"
struct remote_domain_get_vcpus_args {
  remote_nonnull_domain dom;
  int32_t maxinfo;
  int32_t maplen;
};
typedef struct remote_domain_get_vcpus_args remote_domain_get_vcpus_args;
extern bool_t xdr_remote_domain_get_vcpus_args (XDR *, remote_domain_get_vcpus_args *);

#line 609 "remote_protocol.x"
struct remote_domain_get_vcpus_ret {
  struct {
    uint32_t info_len;
    remote_vcpu_info *info_val;
  } info;
  struct {
    uint32_t cpumaps_len;
    char *cpumaps_val;
  } cpumaps;
};
typedef struct remote_domain_get_vcpus_ret remote_domain_get_vcpus_ret;
extern bool_t xdr_remote_domain_get_vcpus_ret (XDR *, remote_domain_get_vcpus_ret *);

#line 613 "remote_protocol.x"
struct remote_domain_get_max_vcpus_args {
  remote_nonnull_domain dom;
};
typedef struct remote_domain_get_max_vcpus_args remote_domain_get_max_vcpus_args;
extern bool_t xdr_remote_domain_get_max_vcpus_args (XDR *, remote_domain_get_max_vcpus_args *);

#line 617 "remote_protocol.x"
struct remote_domain_get_max_vcpus_ret {
  int32_t num;
};
typedef struct remote_domain_get_max_vcpus_ret remote_domain_get_max_vcpus_ret;
extern bool_t xdr_remote_domain_get_max_vcpus_ret (XDR *, remote_domain_get_max_vcpus_ret *);

#line 622 "remote_protocol.x"
struct remote_domain_attach_device_args {
  remote_nonnull_domain dom;
  remote_nonnull_string xml;
};
typedef struct remote_domain_attach_device_args remote_domain_attach_device_args;
extern bool_t xdr_remote_domain_attach_device_args (XDR *, remote_domain_attach_device_args *);

#line 627 "remote_protocol.x"
struct remote_domain_detach_device_args {
  remote_nonnull_domain dom;
  remote_nonnull_string xml;
};
typedef struct remote_domain_detach_device_args remote_domain_detach_device_args;
extern bool_t xdr_remote_domain_detach_device_args (XDR *, remote_domain_detach_device_args *);

#line 631 "remote_protocol.x"
struct remote_domain_get_autostart_args {
  remote_nonnull_domain dom;
};
typedef struct remote_domain_get_autostart_args remote_domain_get_autostart_args;
extern bool_t xdr_remote_domain_get_autostart_args (XDR *, remote_domain_get_autostart_args *);

#line 635 "remote_protocol.x"
struct remote_domain_get_autostart_ret {
  int32_t autostart;
};
typedef struct remote_domain_get_autostart_ret remote_domain_get_autostart_ret;
extern bool_t xdr_remote_domain_get_autostart_ret (XDR *, remote_domain_get_autostart_ret *);

#line 640 "remote_protocol.x"
struct remote_domain_set_autostart_args {
  remote_nonnull_domain dom;
  int32_t autostart;
};
typedef struct remote_domain_set_autostart_args remote_domain_set_autostart_args;
extern bool_t xdr_remote_domain_set_autostart_args (XDR *, remote_domain_set_autostart_args *);

#line 646 "remote_protocol.x"
struct remote_num_of_networks_ret {
  int32_t num;
};
typedef struct remote_num_of_networks_ret remote_num_of_networks_ret;
extern bool_t xdr_remote_num_of_networks_ret (XDR *, remote_num_of_networks_ret *);

#line 650 "remote_protocol.x"
struct remote_list_networks_args {
  int32_t maxnames;
};
typedef struct remote_list_networks_args remote_list_networks_args;
extern bool_t xdr_remote_list_networks_args (XDR *, remote_list_networks_args *);

#line 654 "remote_protocol.x"
struct remote_list_networks_ret {
  struct {
    uint32_t names_len;
    remote_nonnull_string *names_val;
  } names;
};
typedef struct remote_list_networks_ret remote_list_networks_ret;
extern bool_t xdr_remote_list_networks_ret (XDR *, remote_list_networks_ret *);

#line 658 "remote_protocol.x"
struct remote_num_of_defined_networks_ret {
  int32_t num;
};
typedef struct remote_num_of_defined_networks_ret remote_num_of_defined_networks_ret;
extern bool_t xdr_remote_num_of_defined_networks_ret (XDR *, remote_num_of_defined_networks_ret *);

#line 662 "remote_protocol.x"
struct remote_list_defined_networks_args {
  int32_t maxnames;
};
typedef struct remote_list_defined_networks_args remote_list_defined_networks_args;
extern bool_t xdr_remote_list_defined_networks_args (XDR *, remote_list_defined_networks_args *);

#line 666 "remote_protocol.x"
struct remote_list_defined_networks_ret {
  struct {
    uint32_t names_len;
    remote_nonnull_string *names_val;
  } names;
};
typedef struct remote_list_defined_networks_ret remote_list_defined_networks_ret;
extern bool_t xdr_remote_list_defined_networks_ret (XDR *, remote_list_defined_networks_ret *);

#line 670 "remote_protocol.x"
struct remote_network_lookup_by_uuid_args {
  remote_uuid uuid;
};
typedef struct remote_network_lookup_by_uuid_args remote_network_lookup_by_uuid_args;
extern bool_t xdr_remote_network_lookup_by_uuid_args (XDR *, remote_network_lookup_by_uuid_args *);

#line 674 "remote_protocol.x"
struct remote_network_lookup_by_uuid_ret {
  remote_nonnull_network net;
};
typedef struct remote_network_lookup_by_uuid_ret remote_network_lookup_by_uuid_ret;
extern bool_t xdr_remote_network_lookup_by_uuid_ret (XDR *, remote_network_lookup_by_uuid_ret *);

#line 678 "remote_protocol.x"
struct remote_network_lookup_by_name_args {
  remote_nonnull_string name;
};
typedef struct remote_network_lookup_by_name_args remote_network_lookup_by_name_args;
extern bool_t xdr_remote_network_lookup_by_name_args (XDR *, remote_network_lookup_by_name_args *);

#line 682 "remote_protocol.x"
struct remote_network_lookup_by_name_ret {
  remote_nonnull_network net;
};
typedef struct remote_network_lookup_by_name_ret remote_network_lookup_by_name_ret;
extern bool_t xdr_remote_network_lookup_by_name_ret (XDR *, remote_network_lookup_by_name_ret *);

#line 686 "remote_protocol.x"
struct remote_network_create_xml_args {
  remote_nonnull_string xml;
};
typedef struct remote_network_create_xml_args remote_network_create_xml_args;
extern bool_t xdr_remote_network_create_xml_args (XDR *, remote_network_create_xml_args *);

#line 690 "remote_protocol.x"
struct remote_network_create_xml_ret {
  remote_nonnull_network net;
};
typedef struct remote_network_create_xml_ret remote_network_create_xml_ret;
extern bool_t xdr_remote_network_create_xml_ret (XDR *, remote_network_create_xml_ret *);

#line 694 "remote_protocol.x"
struct remote_network_define_xml_args {
  remote_nonnull_string xml;
};
typedef struct remote_network_define_xml_args remote_network_define_xml_args;
extern bool_t xdr_remote_network_define_xml_args (XDR *, remote_network_define_xml_args *);

#line 698 "remote_protocol.x"
struct remote_network_define_xml_ret {
  remote_nonnull_network net;
};
typedef struct remote_network_define_xml_ret remote_network_define_xml_ret;
extern bool_t xdr_remote_network_define_xml_ret (XDR *, remote_network_define_xml_ret *);

#line 702 "remote_protocol.x"
struct remote_network_undefine_args {
  remote_nonnull_network net;
};
typedef struct remote_network_undefine_args remote_network_undefine_args;
extern bool_t xdr_remote_network_undefine_args (XDR *, remote_network_undefine_args *);

#line 706 "remote_protocol.x"
struct remote_network_create_args {
  remote_nonnull_network net;
};
typedef struct remote_network_create_args remote_network_create_args;
extern bool_t xdr_remote_network_create_args (XDR *, remote_network_create_args *);

#line 710 "remote_protocol.x"
struct remote_network_destroy_args {
  remote_nonnull_network net;
};
typedef struct remote_network_destroy_args remote_network_destroy_args;
extern bool_t xdr_remote_network_destroy_args (XDR *, remote_network_destroy_args *);

#line 715 "remote_protocol.x"
struct remote_network_dump_xml_args {
  remote_nonnull_network net;
  int32_t flags;
};
typedef struct remote_network_dump_xml_args remote_network_dump_xml_args;
extern bool_t xdr_remote_network_dump_xml_args (XDR *, remote_network_dump_xml_args *);

#line 719 "remote_protocol.x"
struct remote_network_dump_xml_ret {
  remote_nonnull_string xml;
};
typedef struct remote_network_dump_xml_ret remote_network_dump_xml_ret;
extern bool_t xdr_remote_network_dump_xml_ret (XDR *, remote_network_dump_xml_ret *);

#line 723 "remote_protocol.x"
struct remote_network_get_bridge_name_args {
  remote_nonnull_network net;
};
typedef struct remote_network_get_bridge_name_args remote_network_get_bridge_name_args;
extern bool_t xdr_remote_network_get_bridge_name_args (XDR *, remote_network_get_bridge_name_args *);

#line 727 "remote_protocol.x"
struct remote_network_get_bridge_name_ret {
  remote_nonnull_string name;
};
typedef struct remote_network_get_bridge_name_ret remote_network_get_bridge_name_ret;
extern bool_t xdr_remote_network_get_bridge_name_ret (XDR *, remote_network_get_bridge_name_ret *);

#line 731 "remote_protocol.x"
struct remote_network_get_autostart_args {
  remote_nonnull_network net;
};
typedef struct remote_network_get_autostart_args remote_network_get_autostart_args;
extern bool_t xdr_remote_network_get_autostart_args (XDR *, remote_network_get_autostart_args *);

#line 735 "remote_protocol.x"
struct remote_network_get_autostart_ret {
  int32_t autostart;
};
typedef struct remote_network_get_autostart_ret remote_network_get_autostart_ret;
extern bool_t xdr_remote_network_get_autostart_ret (XDR *, remote_network_get_autostart_ret *);

#line 740 "remote_protocol.x"
struct remote_network_set_autostart_args {
  remote_nonnull_network net;
  int32_t autostart;
};
typedef struct remote_network_set_autostart_args remote_network_set_autostart_args;
extern bool_t xdr_remote_network_set_autostart_args (XDR *, remote_network_set_autostart_args *);

#line 745 "remote_protocol.x"
struct remote_auth_list_ret {
  struct {
    uint32_t types_len;
    remote_auth_type *types_val;
  } types;
};
typedef struct remote_auth_list_ret remote_auth_list_ret;
extern bool_t xdr_remote_auth_list_ret (XDR *, remote_auth_list_ret *);

#line 749 "remote_protocol.x"
struct remote_auth_sasl_init_ret {
  remote_nonnull_string mechlist;
};
typedef struct remote_auth_sasl_init_ret remote_auth_sasl_init_ret;
extern bool_t xdr_remote_auth_sasl_init_ret (XDR *, remote_auth_sasl_init_ret *);

#line 755 "remote_protocol.x"
struct remote_auth_sasl_start_args {
  remote_nonnull_string mech;
  int32_t nil;
  struct {
    uint32_t data_len;
    int8_t *data_val;
  } data;
};
typedef struct remote_auth_sasl_start_args remote_auth_sasl_start_args;
extern bool_t xdr_remote_auth_sasl_start_args (XDR *, remote_auth_sasl_start_args *);

#line 761 "remote_protocol.x"
struct remote_auth_sasl_start_ret {
  int32_t complete;
  int32_t nil;
  struct {
    uint32_t data_len;
    int8_t *data_val;
  } data;
};
typedef struct remote_auth_sasl_start_ret remote_auth_sasl_start_ret;
extern bool_t xdr_remote_auth_sasl_start_ret (XDR *, remote_auth_sasl_start_ret *);

#line 766 "remote_protocol.x"
struct remote_auth_sasl_step_args {
  int32_t nil;
  struct {
    uint32_t data_len;
    int8_t *data_val;
  } data;
};
typedef struct remote_auth_sasl_step_args remote_auth_sasl_step_args;
extern bool_t xdr_remote_auth_sasl_step_args (XDR *, remote_auth_sasl_step_args *);

#line 772 "remote_protocol.x"
struct remote_auth_sasl_step_ret {
  int32_t complete;
  int32_t nil;
  struct {
    uint32_t data_len;
    int8_t *data_val;
  } data;
};
typedef struct remote_auth_sasl_step_ret remote_auth_sasl_step_ret;
extern bool_t xdr_remote_auth_sasl_step_ret (XDR *, remote_auth_sasl_step_ret *);

#line 776 "remote_protocol.x"
struct remote_auth_polkit_ret {
  int32_t complete;
};
typedef struct remote_auth_polkit_ret remote_auth_polkit_ret;
extern bool_t xdr_remote_auth_polkit_ret (XDR *, remote_auth_polkit_ret *);

#line 784 "remote_protocol.x"
struct remote_num_of_storage_pools_ret {
  int32_t num;
};
typedef struct remote_num_of_storage_pools_ret remote_num_of_storage_pools_ret;
extern bool_t xdr_remote_num_of_storage_pools_ret (XDR *, remote_num_of_storage_pools_ret *);

#line 788 "remote_protocol.x"
struct remote_list_storage_pools_args {
  int32_t maxnames;
};
typedef struct remote_list_storage_pools_args remote_list_storage_pools_args;
extern bool_t xdr_remote_list_storage_pools_args (XDR *, remote_list_storage_pools_args *);

#line 792 "remote_protocol.x"
struct remote_list_storage_pools_ret {
  struct {
    uint32_t names_len;
    remote_nonnull_string *names_val;
  } names;
};
typedef struct remote_list_storage_pools_ret remote_list_storage_pools_ret;
extern bool_t xdr_remote_list_storage_pools_ret (XDR *, remote_list_storage_pools_ret *);

#line 796 "remote_protocol.x"
struct remote_num_of_defined_storage_pools_ret {
  int32_t num;
};
typedef struct remote_num_of_defined_storage_pools_ret remote_num_of_defined_storage_pools_ret;
extern bool_t xdr_remote_num_of_defined_storage_pools_ret (XDR *, remote_num_of_defined_storage_pools_ret *);

#line 800 "remote_protocol.x"
struct remote_list_defined_storage_pools_args {
  int32_t maxnames;
};
typedef struct remote_list_defined_storage_pools_args remote_list_defined_storage_pools_args;
extern bool_t xdr_remote_list_defined_storage_pools_args (XDR *, remote_list_defined_storage_pools_args *);

#line 804 "remote_protocol.x"
struct remote_list_defined_storage_pools_ret {
  struct {
    uint32_t names_len;
    remote_nonnull_string *names_val;
  } names;
};
typedef struct remote_list_defined_storage_pools_ret remote_list_defined_storage_pools_ret;
extern bool_t xdr_remote_list_defined_storage_pools_ret (XDR *, remote_list_defined_storage_pools_ret *);

#line 810 "remote_protocol.x"
struct remote_find_storage_pool_sources_args {
  remote_nonnull_string type;
  remote_string srcSpec;
  uint32_t flags;
};
typedef struct remote_find_storage_pool_sources_args remote_find_storage_pool_sources_args;
extern bool_t xdr_remote_find_storage_pool_sources_args (XDR *, remote_find_storage_pool_sources_args *);

#line 814 "remote_protocol.x"
struct remote_find_storage_pool_sources_ret {
  remote_nonnull_string xml;
};
typedef struct remote_find_storage_pool_sources_ret remote_find_storage_pool_sources_ret;
extern bool_t xdr_remote_find_storage_pool_sources_ret (XDR *, remote_find_storage_pool_sources_ret *);

#line 818 "remote_protocol.x"
struct remote_storage_pool_lookup_by_uuid_args {
  remote_uuid uuid;
};
typedef struct remote_storage_pool_lookup_by_uuid_args remote_storage_pool_lookup_by_uuid_args;
extern bool_t xdr_remote_storage_pool_lookup_by_uuid_args (XDR *, remote_storage_pool_lookup_by_uuid_args *);

#line 822 "remote_protocol.x"
struct remote_storage_pool_lookup_by_uuid_ret {
  remote_nonnull_storage_pool pool;
};
typedef struct remote_storage_pool_lookup_by_uuid_ret remote_storage_pool_lookup_by_uuid_ret;
extern bool_t xdr_remote_storage_pool_lookup_by_uuid_ret (XDR *, remote_storage_pool_lookup_by_uuid_ret *);

#line 826 "remote_protocol.x"
struct remote_storage_pool_lookup_by_name_args {
  remote_nonnull_string name;
};
typedef struct remote_storage_pool_lookup_by_name_args remote_storage_pool_lookup_by_name_args;
extern bool_t xdr_remote_storage_pool_lookup_by_name_args (XDR *, remote_storage_pool_lookup_by_name_args *);

#line 830 "remote_protocol.x"
struct remote_storage_pool_lookup_by_name_ret {
  remote_nonnull_storage_pool pool;
};
typedef struct remote_storage_pool_lookup_by_name_ret remote_storage_pool_lookup_by_name_ret;
extern bool_t xdr_remote_storage_pool_lookup_by_name_ret (XDR *, remote_storage_pool_lookup_by_name_ret *);

#line 834 "remote_protocol.x"
struct remote_storage_pool_lookup_by_volume_args {
  remote_nonnull_storage_vol vol;
};
typedef struct remote_storage_pool_lookup_by_volume_args remote_storage_pool_lookup_by_volume_args;
extern bool_t xdr_remote_storage_pool_lookup_by_volume_args (XDR *, remote_storage_pool_lookup_by_volume_args *);

#line 838 "remote_protocol.x"
struct remote_storage_pool_lookup_by_volume_ret {
  remote_nonnull_storage_pool pool;
};
typedef struct remote_storage_pool_lookup_by_volume_ret remote_storage_pool_lookup_by_volume_ret;
extern bool_t xdr_remote_storage_pool_lookup_by_volume_ret (XDR *, remote_storage_pool_lookup_by_volume_ret *);

#line 843 "remote_protocol.x"
struct remote_storage_pool_create_xml_args {
  remote_nonnull_string xml;
  uint32_t flags;
};
typedef struct remote_storage_pool_create_xml_args remote_storage_pool_create_xml_args;
extern bool_t xdr_remote_storage_pool_create_xml_args (XDR *, remote_storage_pool_create_xml_args *);

#line 847 "remote_protocol.x"
struct remote_storage_pool_create_xml_ret {
  remote_nonnull_storage_pool pool;
};
typedef struct remote_storage_pool_create_xml_ret remote_storage_pool_create_xml_ret;
extern bool_t xdr_remote_storage_pool_create_xml_ret (XDR *, remote_storage_pool_create_xml_ret *);

#line 852 "remote_protocol.x"
struct remote_storage_pool_define_xml_args {
  remote_nonnull_string xml;
  uint32_t flags;
};
typedef struct remote_storage_pool_define_xml_args remote_storage_pool_define_xml_args;
extern bool_t xdr_remote_storage_pool_define_xml_args (XDR *, remote_storage_pool_define_xml_args *);

#line 856 "remote_protocol.x"
struct remote_storage_pool_define_xml_ret {
  remote_nonnull_storage_pool pool;
};
typedef struct remote_storage_pool_define_xml_ret remote_storage_pool_define_xml_ret;
extern bool_t xdr_remote_storage_pool_define_xml_ret (XDR *, remote_storage_pool_define_xml_ret *);

#line 861 "remote_protocol.x"
struct remote_storage_pool_build_args {
  remote_nonnull_storage_pool pool;
  uint32_t flags;
};
typedef struct remote_storage_pool_build_args remote_storage_pool_build_args;
extern bool_t xdr_remote_storage_pool_build_args (XDR *, remote_storage_pool_build_args *);

#line 865 "remote_protocol.x"
struct remote_storage_pool_undefine_args {
  remote_nonnull_storage_pool pool;
};
typedef struct remote_storage_pool_undefine_args remote_storage_pool_undefine_args;
extern bool_t xdr_remote_storage_pool_undefine_args (XDR *, remote_storage_pool_undefine_args *);

#line 870 "remote_protocol.x"
struct remote_storage_pool_create_args {
  remote_nonnull_storage_pool pool;
  uint32_t flags;
};
typedef struct remote_storage_pool_create_args remote_storage_pool_create_args;
extern bool_t xdr_remote_storage_pool_create_args (XDR *, remote_storage_pool_create_args *);

#line 874 "remote_protocol.x"
struct remote_storage_pool_destroy_args {
  remote_nonnull_storage_pool pool;
};
typedef struct remote_storage_pool_destroy_args remote_storage_pool_destroy_args;
extern bool_t xdr_remote_storage_pool_destroy_args (XDR *, remote_storage_pool_destroy_args *);

#line 879 "remote_protocol.x"
struct remote_storage_pool_delete_args {
  remote_nonnull_storage_pool pool;
  uint32_t flags;
};
typedef struct remote_storage_pool_delete_args remote_storage_pool_delete_args;
extern bool_t xdr_remote_storage_pool_delete_args (XDR *, remote_storage_pool_delete_args *);

#line 884 "remote_protocol.x"
struct remote_storage_pool_refresh_args {
  remote_nonnull_storage_pool pool;
  uint32_t flags;
};
typedef struct remote_storage_pool_refresh_args remote_storage_pool_refresh_args;
extern bool_t xdr_remote_storage_pool_refresh_args (XDR *, remote_storage_pool_refresh_args *);

#line 889 "remote_protocol.x"
struct remote_storage_pool_dump_xml_args {
  remote_nonnull_storage_pool pool;
  uint32_t flags;
};
typedef struct remote_storage_pool_dump_xml_args remote_storage_pool_dump_xml_args;
extern bool_t xdr_remote_storage_pool_dump_xml_args (XDR *, remote_storage_pool_dump_xml_args *);

#line 893 "remote_protocol.x"
struct remote_storage_pool_dump_xml_ret {
  remote_nonnull_string xml;
};
typedef struct remote_storage_pool_dump_xml_ret remote_storage_pool_dump_xml_ret;
extern bool_t xdr_remote_storage_pool_dump_xml_ret (XDR *, remote_storage_pool_dump_xml_ret *);

#line 897 "remote_protocol.x"
struct remote_storage_pool_get_info_args {
  remote_nonnull_storage_pool pool;
};
typedef struct remote_storage_pool_get_info_args remote_storage_pool_get_info_args;
extern bool_t xdr_remote_storage_pool_get_info_args (XDR *, remote_storage_pool_get_info_args *);

#line 904 "remote_protocol.x"
struct remote_storage_pool_get_info_ret {
  uint8_t state;
  uint64_t capacity;
  uint64_t allocation;
  uint64_t available;
};
typedef struct remote_storage_pool_get_info_ret remote_storage_pool_get_info_ret;
extern bool_t xdr_remote_storage_pool_get_info_ret (XDR *, remote_storage_pool_get_info_ret *);

#line 908 "remote_protocol.x"
struct remote_storage_pool_get_autostart_args {
  remote_nonnull_storage_pool pool;
};
typedef struct remote_storage_pool_get_autostart_args remote_storage_pool_get_autostart_args;
extern bool_t xdr_remote_storage_pool_get_autostart_args (XDR *, remote_storage_pool_get_autostart_args *);

#line 912 "remote_protocol.x"
struct remote_storage_pool_get_autostart_ret {
  int32_t autostart;
};
typedef struct remote_storage_pool_get_autostart_ret remote_storage_pool_get_autostart_ret;
extern bool_t xdr_remote_storage_pool_get_autostart_ret (XDR *, remote_storage_pool_get_autostart_ret *);

#line 917 "remote_protocol.x"
struct remote_storage_pool_set_autostart_args {
  remote_nonnull_storage_pool pool;
  int32_t autostart;
};
typedef struct remote_storage_pool_set_autostart_args remote_storage_pool_set_autostart_args;
extern bool_t xdr_remote_storage_pool_set_autostart_args (XDR *, remote_storage_pool_set_autostart_args *);

#line 921 "remote_protocol.x"
struct remote_storage_pool_num_of_volumes_args {
  remote_nonnull_storage_pool pool;
};
typedef struct remote_storage_pool_num_of_volumes_args remote_storage_pool_num_of_volumes_args;
extern bool_t xdr_remote_storage_pool_num_of_volumes_args (XDR *, remote_storage_pool_num_of_volumes_args *);

#line 925 "remote_protocol.x"
struct remote_storage_pool_num_of_volumes_ret {
  int32_t num;
};
typedef struct remote_storage_pool_num_of_volumes_ret remote_storage_pool_num_of_volumes_ret;
extern bool_t xdr_remote_storage_pool_num_of_volumes_ret (XDR *, remote_storage_pool_num_of_volumes_ret *);

#line 930 "remote_protocol.x"
struct remote_storage_pool_list_volumes_args {
  remote_nonnull_storage_pool pool;
  int32_t maxnames;
};
typedef struct remote_storage_pool_list_volumes_args remote_storage_pool_list_volumes_args;
extern bool_t xdr_remote_storage_pool_list_volumes_args (XDR *, remote_storage_pool_list_volumes_args *);

#line 934 "remote_protocol.x"
struct remote_storage_pool_list_volumes_ret {
  struct {
    uint32_t names_len;
    remote_nonnull_string *names_val;
  } names;
};
typedef struct remote_storage_pool_list_volumes_ret remote_storage_pool_list_volumes_ret;
extern bool_t xdr_remote_storage_pool_list_volumes_ret (XDR *, remote_storage_pool_list_volumes_ret *);

#line 943 "remote_protocol.x"
struct remote_storage_vol_lookup_by_name_args {
  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;
extern bool_t xdr_remote_storage_vol_lookup_by_name_args (XDR *, remote_storage_vol_lookup_by_name_args *);

#line 947 "remote_protocol.x"
struct remote_storage_vol_lookup_by_name_ret {
  remote_nonnull_storage_vol vol;
};
typedef struct remote_storage_vol_lookup_by_name_ret remote_storage_vol_lookup_by_name_ret;
extern bool_t xdr_remote_storage_vol_lookup_by_name_ret (XDR *, remote_storage_vol_lookup_by_name_ret *);

#line 951 "remote_protocol.x"
struct remote_storage_vol_lookup_by_key_args {
  remote_nonnull_string key;
};
typedef struct remote_storage_vol_lookup_by_key_args remote_storage_vol_lookup_by_key_args;
extern bool_t xdr_remote_storage_vol_lookup_by_key_args (XDR *, remote_storage_vol_lookup_by_key_args *);

#line 955 "remote_protocol.x"
struct remote_storage_vol_lookup_by_key_ret {
  remote_nonnull_storage_vol vol;
};
typedef struct remote_storage_vol_lookup_by_key_ret remote_storage_vol_lookup_by_key_ret;
extern bool_t xdr_remote_storage_vol_lookup_by_key_ret (XDR *, remote_storage_vol_lookup_by_key_ret *);

#line 959 "remote_protocol.x"
struct remote_storage_vol_lookup_by_path_args {
  remote_nonnull_string path;
};
typedef struct remote_storage_vol_lookup_by_path_args remote_storage_vol_lookup_by_path_args;
extern bool_t xdr_remote_storage_vol_lookup_by_path_args (XDR *, remote_storage_vol_lookup_by_path_args *);

#line 963 "remote_protocol.x"
struct remote_storage_vol_lookup_by_path_ret {
  remote_nonnull_storage_vol vol;
};
typedef struct remote_storage_vol_lookup_by_path_ret remote_storage_vol_lookup_by_path_ret;
extern bool_t xdr_remote_storage_vol_lookup_by_path_ret (XDR *, remote_storage_vol_lookup_by_path_ret *);

#line 969 "remote_protocol.x"
struct remote_storage_vol_create_xml_args {
  remote_nonnull_storage_pool pool;
  remote_nonnull_string xml;
  uint32_t flags;
};
typedef struct remote_storage_vol_create_xml_args remote_storage_vol_create_xml_args;
extern bool_t xdr_remote_storage_vol_create_xml_args (XDR *, remote_storage_vol_create_xml_args *);

#line 973 "remote_protocol.x"
struct remote_storage_vol_create_xml_ret {
  remote_nonnull_storage_vol vol;
};
typedef struct remote_storage_vol_create_xml_ret remote_storage_vol_create_xml_ret;
extern bool_t xdr_remote_storage_vol_create_xml_ret (XDR *, remote_storage_vol_create_xml_ret *);

#line 978 "remote_protocol.x"
struct remote_storage_vol_delete_args {
  remote_nonnull_storage_vol vol;
  uint32_t flags;
};
typedef struct remote_storage_vol_delete_args remote_storage_vol_delete_args;
extern bool_t xdr_remote_storage_vol_delete_args (XDR *, remote_storage_vol_delete_args *);

#line 983 "remote_protocol.x"
struct remote_storage_vol_dump_xml_args {
  remote_nonnull_storage_vol vol;
  uint32_t flags;
};
typedef struct remote_storage_vol_dump_xml_args remote_storage_vol_dump_xml_args;
extern bool_t xdr_remote_storage_vol_dump_xml_args (XDR *, remote_storage_vol_dump_xml_args *);

#line 987 "remote_protocol.x"
struct remote_storage_vol_dump_xml_ret {
  remote_nonnull_string xml;
};
typedef struct remote_storage_vol_dump_xml_ret remote_storage_vol_dump_xml_ret;
extern bool_t xdr_remote_storage_vol_dump_xml_ret (XDR *, remote_storage_vol_dump_xml_ret *);

#line 991 "remote_protocol.x"
struct remote_storage_vol_get_info_args {
  remote_nonnull_storage_vol vol;
};
typedef struct remote_storage_vol_get_info_args remote_storage_vol_get_info_args;
extern bool_t xdr_remote_storage_vol_get_info_args (XDR *, remote_storage_vol_get_info_args *);

#line 997 "remote_protocol.x"
struct remote_storage_vol_get_info_ret {
  int8_t type;
  uint64_t capacity;
  uint64_t allocation;
};
typedef struct remote_storage_vol_get_info_ret remote_storage_vol_get_info_ret;
extern bool_t xdr_remote_storage_vol_get_info_ret (XDR *, remote_storage_vol_get_info_ret *);

#line 1001 "remote_protocol.x"
struct remote_storage_vol_get_path_args {
  remote_nonnull_storage_vol vol;
};
typedef struct remote_storage_vol_get_path_args remote_storage_vol_get_path_args;
extern bool_t xdr_remote_storage_vol_get_path_args (XDR *, remote_storage_vol_get_path_args *);

#line 1005 "remote_protocol.x"
struct remote_storage_vol_get_path_ret {
  remote_nonnull_string name;
};
typedef struct remote_storage_vol_get_path_ret remote_storage_vol_get_path_ret;
extern bool_t xdr_remote_storage_vol_get_path_ret (XDR *, remote_storage_vol_get_path_ret *);

#line 1012 "remote_protocol.x"
struct remote_node_num_of_devices_args {
  remote_string cap;
  uint32_t flags;
};
typedef struct remote_node_num_of_devices_args remote_node_num_of_devices_args;
extern bool_t xdr_remote_node_num_of_devices_args (XDR *, remote_node_num_of_devices_args *);

#line 1016 "remote_protocol.x"
struct remote_node_num_of_devices_ret {
  int32_t num;
};
typedef struct remote_node_num_of_devices_ret remote_node_num_of_devices_ret;
extern bool_t xdr_remote_node_num_of_devices_ret (XDR *, remote_node_num_of_devices_ret *);

#line 1022 "remote_protocol.x"
struct remote_node_list_devices_args {
  remote_string cap;
  int32_t maxnames;
  uint32_t flags;
};
typedef struct remote_node_list_devices_args remote_node_list_devices_args;
extern bool_t xdr_remote_node_list_devices_args (XDR *, remote_node_list_devices_args *);

#line 1026 "remote_protocol.x"
struct remote_node_list_devices_ret {
  struct {
    uint32_t names_len;
    remote_nonnull_string *names_val;
  } names;
};
typedef struct remote_node_list_devices_ret remote_node_list_devices_ret;
extern bool_t xdr_remote_node_list_devices_ret (XDR *, remote_node_list_devices_ret *);

#line 1030 "remote_protocol.x"
struct remote_node_device_lookup_by_name_args {
  remote_nonnull_string name;
};
typedef struct remote_node_device_lookup_by_name_args remote_node_device_lookup_by_name_args;
extern bool_t xdr_remote_node_device_lookup_by_name_args (XDR *, remote_node_device_lookup_by_name_args *);

#line 1034 "remote_protocol.x"
struct remote_node_device_lookup_by_name_ret {
  remote_nonnull_node_device dev;
};
typedef struct remote_node_device_lookup_by_name_ret remote_node_device_lookup_by_name_ret;
extern bool_t xdr_remote_node_device_lookup_by_name_ret (XDR *, remote_node_device_lookup_by_name_ret *);

#line 1039 "remote_protocol.x"
struct remote_node_device_dump_xml_args {
  remote_nonnull_string name;
  uint32_t flags;
};
typedef struct remote_node_device_dump_xml_args remote_node_device_dump_xml_args;
extern bool_t xdr_remote_node_device_dump_xml_args (XDR *, remote_node_device_dump_xml_args *);

#line 1043 "remote_protocol.x"
struct remote_node_device_dump_xml_ret {
  remote_nonnull_string xml;
};
typedef struct remote_node_device_dump_xml_ret remote_node_device_dump_xml_ret;
extern bool_t xdr_remote_node_device_dump_xml_ret (XDR *, remote_node_device_dump_xml_ret *);

#line 1047 "remote_protocol.x"
struct remote_node_device_get_parent_args {
  remote_nonnull_string name;
};
typedef struct remote_node_device_get_parent_args remote_node_device_get_parent_args;
extern bool_t xdr_remote_node_device_get_parent_args (XDR *, remote_node_device_get_parent_args *);

#line 1051 "remote_protocol.x"
struct remote_node_device_get_parent_ret {
  remote_string parent;
};
typedef struct remote_node_device_get_parent_ret remote_node_device_get_parent_ret;
extern bool_t xdr_remote_node_device_get_parent_ret (XDR *, remote_node_device_get_parent_ret *);

#line 1055 "remote_protocol.x"
struct remote_node_device_num_of_caps_args {
  remote_nonnull_string name;
};
typedef struct remote_node_device_num_of_caps_args remote_node_device_num_of_caps_args;
extern bool_t xdr_remote_node_device_num_of_caps_args (XDR *, remote_node_device_num_of_caps_args *);

#line 1059 "remote_protocol.x"
struct remote_node_device_num_of_caps_ret {
  int32_t num;
};
typedef struct remote_node_device_num_of_caps_ret remote_node_device_num_of_caps_ret;
extern bool_t xdr_remote_node_device_num_of_caps_ret (XDR *, remote_node_device_num_of_caps_ret *);

#line 1064 "remote_protocol.x"
struct remote_node_device_list_caps_args {
  remote_nonnull_string name;
  int32_t maxnames;
};
typedef struct remote_node_device_list_caps_args remote_node_device_list_caps_args;
extern bool_t xdr_remote_node_device_list_caps_args (XDR *, remote_node_device_list_caps_args *);

#line 1068 "remote_protocol.x"
struct remote_node_device_list_caps_ret {
  struct {
    uint32_t names_len;
    remote_nonnull_string *names_val;
  } names;
};
typedef struct remote_node_device_list_caps_ret remote_node_device_list_caps_ret;
extern bool_t xdr_remote_node_device_list_caps_ret (XDR *, remote_node_device_list_caps_ret *);

#line 1079 "remote_protocol.x"
struct remote_domain_events_register_ret {
  int32_t cb_registered;
};
typedef struct remote_domain_events_register_ret remote_domain_events_register_ret;
extern bool_t xdr_remote_domain_events_register_ret (XDR *, remote_domain_events_register_ret *);

#line 1083 "remote_protocol.x"
struct remote_domain_events_deregister_ret {
  int32_t cb_registered;
};
typedef struct remote_domain_events_deregister_ret remote_domain_events_deregister_ret;
extern bool_t xdr_remote_domain_events_deregister_ret (XDR *, remote_domain_events_deregister_ret *);

#line 1089 "remote_protocol.x"
struct remote_domain_event_ret {
  remote_nonnull_domain dom;
  int32_t event;
  int32_t detail;
};
typedef struct remote_domain_event_ret remote_domain_event_ret;
extern bool_t xdr_remote_domain_event_ret (XDR *, remote_domain_event_ret *);

#line 1094 "remote_protocol.x"
#define REMOTE_PROGRAM 0x20008086
#line 1095 "remote_protocol.x"
#define REMOTE_PROTOCOL_VERSION 1
#line 1226 "remote_protocol.x"
enum remote_procedure {
  REMOTE_PROC_OPEN = 1,
  REMOTE_PROC_CLOSE = 2,
  REMOTE_PROC_GET_TYPE = 3,
  REMOTE_PROC_GET_VERSION = 4,
  REMOTE_PROC_GET_MAX_VCPUS = 5,
  REMOTE_PROC_NODE_GET_INFO = 6,
  REMOTE_PROC_GET_CAPABILITIES = 7,
  REMOTE_PROC_DOMAIN_ATTACH_DEVICE = 8,
  REMOTE_PROC_DOMAIN_CREATE = 9,
  REMOTE_PROC_DOMAIN_CREATE_XML = 10,
  REMOTE_PROC_DOMAIN_DEFINE_XML = 11,
  REMOTE_PROC_DOMAIN_DESTROY = 12,
  REMOTE_PROC_DOMAIN_DETACH_DEVICE = 13,
  REMOTE_PROC_DOMAIN_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_FIND_STORAGE_POOL_SOURCES = 75,
  REMOTE_PROC_STORAGE_POOL_CREATE_XML = 76,
  REMOTE_PROC_STORAGE_POOL_DEFINE_XML = 77,
  REMOTE_PROC_STORAGE_POOL_CREATE = 78,
  REMOTE_PROC_STORAGE_POOL_BUILD = 79,
  REMOTE_PROC_STORAGE_POOL_DESTROY = 80,
  REMOTE_PROC_STORAGE_POOL_DELETE = 81,
  REMOTE_PROC_STORAGE_POOL_UNDEFINE = 82,
  REMOTE_PROC_STORAGE_POOL_REFRESH = 83,
  REMOTE_PROC_STORAGE_POOL_LOOKUP_BY_NAME = 84,
  REMOTE_PROC_STORAGE_POOL_LOOKUP_BY_UUID = 85,
  REMOTE_PROC_STORAGE_POOL_LOOKUP_BY_VOLUME = 86,
  REMOTE_PROC_STORAGE_POOL_GET_INFO = 87,
  REMOTE_PROC_STORAGE_POOL_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,
  REMOTE_PROC_DOMAIN_BLOCK_PEEK = 103,
  REMOTE_PROC_DOMAIN_MEMORY_PEEK = 104,
  REMOTE_PROC_DOMAIN_EVENTS_REGISTER = 105,
  REMOTE_PROC_DOMAIN_EVENTS_DEREGISTER = 106,
  REMOTE_PROC_DOMAIN_EVENT = 107,
  REMOTE_PROC_DOMAIN_MIGRATE_PREPARE2 = 108,
  REMOTE_PROC_DOMAIN_MIGRATE_FINISH2 = 109,
  REMOTE_PROC_GET_URI = 110,
  REMOTE_PROC_NODE_NUM_OF_DEVICES = 111,
  REMOTE_PROC_NODE_LIST_DEVICES = 112,
  REMOTE_PROC_NODE_DEVICE_LOOKUP_BY_NAME = 113,
  REMOTE_PROC_NODE_DEVICE_DUMP_XML = 114,
  REMOTE_PROC_NODE_DEVICE_GET_PARENT = 115,
  REMOTE_PROC_NODE_DEVICE_NUM_OF_CAPS = 116,
  REMOTE_PROC_NODE_DEVICE_LIST_CAPS = 117,
};
typedef enum remote_procedure remote_procedure;
extern bool_t xdr_remote_procedure (XDR *, remote_procedure *);

#line 1245 "remote_protocol.x"
enum remote_message_direction {
  REMOTE_CALL = 0,
  REMOTE_REPLY = 1,
  REMOTE_MESSAGE = 2,
};
typedef enum remote_message_direction remote_message_direction;
extern bool_t xdr_remote_message_direction (XDR *, remote_message_direction *);

#line 1257 "remote_protocol.x"
enum remote_message_status {
  REMOTE_OK = 0,
  REMOTE_ERROR = 1,
};
typedef enum remote_message_status remote_message_status;
extern bool_t xdr_remote_message_status (XDR *, remote_message_status *);

#line 1260 "remote_protocol.x"
#define REMOTE_MESSAGE_HEADER_XDR_LEN 4
#line 1269 "remote_protocol.x"
struct remote_message_header {
  uint32_t prog;
  uint32_t vers;
  remote_procedure proc;
  remote_message_direction direction;
  uint32_t serial;
  remote_message_status status;
};
typedef struct remote_message_header remote_message_header;
extern bool_t xdr_remote_message_header (XDR *, remote_message_header *);

#line 1270 "remote_protocol.x"

#ifdef __cplusplus
}
#endif

#endif /* RPCGEN_HEADER_REMOTE_PROTOCOL_H */

/* EOF */
-------------- next part --------------
#include <config.h>
/* This file was generated by PortableXDR rpcgen 4.9.1
 * ANY CHANGES YOU MAKE TO THIS FILE MAY BE LOST!
 * The input file was remote_protocol.x
 */

#include "remote_protocol.h"

#include "internal.h"
#include <arpa/inet.h>
#line 53 "remote_protocol.x"
bool_t
xdr_remote_nonnull_string (XDR *xdrs, remote_nonnull_string *objp)
{
  if (!xdr_string (xdrs, objp, REMOTE_STRING_MAX))
    return FALSE;
  return TRUE;
}

#line 56 "remote_protocol.x"
bool_t
xdr_remote_string (XDR *xdrs, remote_string *objp)
{
  if (!xdr_pointer (xdrs, objp, sizeof (remote_nonnull_string), (xdrproc_t) xdr_remote_nonnull_string))
    return FALSE;
  return TRUE;
}

#line 118 "remote_protocol.x"
bool_t
xdr_remote_uuid (XDR *xdrs, remote_uuid *objp)
{
  if (!xdr_opaque (xdrs, &objp, VIR_UUID_BUFLEN))
    return FALSE;
  return TRUE;
}

#line 125 "remote_protocol.x"
bool_t
xdr_remote_nonnull_domain (XDR *xdrs, remote_nonnull_domain *objp)
{
  if (!xdr_remote_nonnull_string (xdrs, &objp->name))
    return FALSE;
  if (!xdr_remote_uuid (xdrs, &objp->uuid))
    return FALSE;
  if (!xdr_int (xdrs, &objp->id))
    return FALSE;
  return TRUE;
}

#line 131 "remote_protocol.x"
bool_t
xdr_remote_nonnull_network (XDR *xdrs, remote_nonnull_network *objp)
{
  if (!xdr_remote_nonnull_string (xdrs, &objp->name))
    return FALSE;
  if (!xdr_remote_uuid (xdrs, &objp->uuid))
    return FALSE;
  return TRUE;
}

#line 137 "remote_protocol.x"
bool_t
xdr_remote_nonnull_storage_pool (XDR *xdrs, remote_nonnull_storage_pool *objp)
{
  if (!xdr_remote_nonnull_string (xdrs, &objp->name))
    return FALSE;
  if (!xdr_remote_uuid (xdrs, &objp->uuid))
    return FALSE;
  return TRUE;
}

#line 144 "remote_protocol.x"
bool_t
xdr_remote_nonnull_storage_vol (XDR *xdrs, remote_nonnull_storage_vol *objp)
{
  if (!xdr_remote_nonnull_string (xdrs, &objp->pool))
    return FALSE;
  if (!xdr_remote_nonnull_string (xdrs, &objp->name))
    return FALSE;
  if (!xdr_remote_nonnull_string (xdrs, &objp->key))
    return FALSE;
  return TRUE;
}

#line 149 "remote_protocol.x"
bool_t
xdr_remote_nonnull_node_device (XDR *xdrs, remote_nonnull_node_device *objp)
{
  if (!xdr_remote_nonnull_string (xdrs, &objp->name))
    return FALSE;
  return TRUE;
}

#line 152 "remote_protocol.x"
bool_t
xdr_remote_domain (XDR *xdrs, remote_domain *objp)
{
  if (!xdr_pointer (xdrs, objp, sizeof (remote_nonnull_domain), (xdrproc_t) xdr_remote_nonnull_domain))
    return FALSE;
  return TRUE;
}

#line 153 "remote_protocol.x"
bool_t
xdr_remote_network (XDR *xdrs, remote_network *objp)
{
  if (!xdr_pointer (xdrs, objp, sizeof (remote_nonnull_network), (xdrproc_t) xdr_remote_nonnull_network))
    return FALSE;
  return TRUE;
}

#line 154 "remote_protocol.x"
bool_t
xdr_remote_storage_pool (XDR *xdrs, remote_storage_pool *objp)
{
  if (!xdr_pointer (xdrs, objp, sizeof (remote_nonnull_storage_pool), (xdrproc_t) xdr_remote_nonnull_storage_pool))
    return FALSE;
  return TRUE;
}

#line 155 "remote_protocol.x"
bool_t
xdr_remote_storage_vol (XDR *xdrs, remote_storage_vol *objp)
{
  if (!xdr_pointer (xdrs, objp, sizeof (remote_nonnull_storage_vol), (xdrproc_t) xdr_remote_nonnull_storage_vol))
    return FALSE;
  return TRUE;
}

#line 156 "remote_protocol.x"
bool_t
xdr_remote_node_device (XDR *xdrs, remote_node_device *objp)
{
  if (!xdr_pointer (xdrs, objp, sizeof (remote_nonnull_node_device), (xdrproc_t) xdr_remote_nonnull_node_device))
    return FALSE;
  return TRUE;
}

#line 178 "remote_protocol.x"
bool_t
xdr_remote_error (XDR *xdrs, remote_error *objp)
{
  if (!xdr_int (xdrs, &objp->code))
    return FALSE;
  if (!xdr_int (xdrs, &objp->domain))
    return FALSE;
  if (!xdr_remote_string (xdrs, &objp->message))
    return FALSE;
  if (!xdr_int (xdrs, &objp->level))
    return FALSE;
  if (!xdr_remote_domain (xdrs, &objp->dom))
    return FALSE;
  if (!xdr_remote_string (xdrs, &objp->str1))
    return FALSE;
  if (!xdr_remote_string (xdrs, &objp->str2))
    return FALSE;
  if (!xdr_remote_string (xdrs, &objp->str3))
    return FALSE;
  if (!xdr_int (xdrs, &objp->int1))
    return FALSE;
  if (!xdr_int (xdrs, &objp->int2))
    return FALSE;
  if (!xdr_remote_network (xdrs, &objp->net))
    return FALSE;
  return TRUE;
}

#line 185 "remote_protocol.x"
bool_t
xdr_remote_auth_type (XDR *xdrs, remote_auth_type *objp)
{
  if (!xdr_enum (xdrs, (enum_t *) objp))
    return FALSE;
  return TRUE;
}

#line 194 "remote_protocol.x"
bool_t
xdr_remote_vcpu_info (XDR *xdrs, remote_vcpu_info *objp)
{
  if (!xdr_u_int (xdrs, &objp->number))
    return FALSE;
  if (!xdr_int (xdrs, &objp->state))
    return FALSE;
  if (!xdr_u_quad_t (xdrs, &objp->cpu_time))
    return FALSE;
  if (!xdr_int (xdrs, &objp->cpu))
    return FALSE;
  return TRUE;
}

#line 212 "remote_protocol.x"
bool_t
xdr_remote_sched_param_value (XDR *xdrs, remote_sched_param_value *objp)
{
  if (!xdr_int (xdrs, &objp->type))
    return FALSE;
  switch (objp->type) {
  case VIR_DOMAIN_SCHED_FIELD_INT:
    if (!xdr_int (xdrs, &objp->remote_sched_param_value_u.i))
      return FALSE;
    break;
  case VIR_DOMAIN_SCHED_FIELD_UINT:
    if (!xdr_u_int (xdrs, &objp->remote_sched_param_value_u.ui))
      return FALSE;
    break;
  case VIR_DOMAIN_SCHED_FIELD_LLONG:
    if (!xdr_quad_t (xdrs, &objp->remote_sched_param_value_u.l))
      return FALSE;
    break;
  case VIR_DOMAIN_SCHED_FIELD_ULLONG:
    if (!xdr_u_quad_t (xdrs, &objp->remote_sched_param_value_u.ul))
      return FALSE;
    break;
  case VIR_DOMAIN_SCHED_FIELD_DOUBLE:
    if (!xdr_double (xdrs, &objp->remote_sched_param_value_u.d))
      return FALSE;
    break;
  case VIR_DOMAIN_SCHED_FIELD_BOOLEAN:
    if (!xdr_int (xdrs, &objp->remote_sched_param_value_u.b))
      return FALSE;
    break;
  }
  return TRUE;
}

#line 217 "remote_protocol.x"
bool_t
xdr_remote_sched_param (XDR *xdrs, remote_sched_param *objp)
{
  if (!xdr_remote_nonnull_string (xdrs, &objp->field))
    return FALSE;
  if (!xdr_remote_sched_param_value (xdrs, &objp->value))
    return FALSE;
  return TRUE;
}

#line 236 "remote_protocol.x"
bool_t
xdr_remote_open_args (XDR *xdrs, remote_open_args *objp)
{
  if (!xdr_remote_string (xdrs, &objp->name))
    return FALSE;
  if (!xdr_int (xdrs, &objp->flags))
    return FALSE;
  return TRUE;
}

#line 240 "remote_protocol.x"
bool_t
xdr_remote_supports_feature_args (XDR *xdrs, remote_supports_feature_args *objp)
{
  if (!xdr_int (xdrs, &objp->feature))
    return FALSE;
  return TRUE;
}

#line 244 "remote_protocol.x"
bool_t
xdr_remote_supports_feature_ret (XDR *xdrs, remote_supports_feature_ret *objp)
{
  if (!xdr_int (xdrs, &objp->supported))
    return FALSE;
  return TRUE;
}

#line 248 "remote_protocol.x"
bool_t
xdr_remote_get_type_ret (XDR *xdrs, remote_get_type_ret *objp)
{
  if (!xdr_remote_nonnull_string (xdrs, &objp->type))
    return FALSE;
  return TRUE;
}

#line 252 "remote_protocol.x"
bool_t
xdr_remote_get_version_ret (XDR *xdrs, remote_get_version_ret *objp)
{
  if (!xdr_quad_t (xdrs, &objp->hv_ver))
    return FALSE;
  return TRUE;
}

#line 256 "remote_protocol.x"
bool_t
xdr_remote_get_hostname_ret (XDR *xdrs, remote_get_hostname_ret *objp)
{
  if (!xdr_remote_nonnull_string (xdrs, &objp->hostname))
    return FALSE;
  return TRUE;
}

#line 260 "remote_protocol.x"
bool_t
xdr_remote_get_uri_ret (XDR *xdrs, remote_get_uri_ret *objp)
{
  if (!xdr_remote_nonnull_string (xdrs, &objp->uri))
    return FALSE;
  return TRUE;
}

#line 267 "remote_protocol.x"
bool_t
xdr_remote_get_max_vcpus_args (XDR *xdrs, remote_get_max_vcpus_args *objp)
{
  if (!xdr_remote_string (xdrs, &objp->type))
    return FALSE;
  return TRUE;
}

#line 271 "remote_protocol.x"
bool_t
xdr_remote_get_max_vcpus_ret (XDR *xdrs, remote_get_max_vcpus_ret *objp)
{
  if (!xdr_int (xdrs, &objp->max_vcpus))
    return FALSE;
  return TRUE;
}

#line 282 "remote_protocol.x"
bool_t
xdr_remote_node_get_info_ret (XDR *xdrs, remote_node_get_info_ret *objp)
{
  if (!xdr_vector (xdrs, &objp->model, 32, 1, (xdrproc_t) xdr_char))
    return FALSE;
  if (!xdr_quad_t (xdrs, &objp->memory))
    return FALSE;
  if (!xdr_int (xdrs, &objp->cpus))
    return FALSE;
  if (!xdr_int (xdrs, &objp->mhz))
    return FALSE;
  if (!xdr_int (xdrs, &objp->nodes))
    return FALSE;
  if (!xdr_int (xdrs, &objp->sockets))
    return FALSE;
  if (!xdr_int (xdrs, &objp->cores))
    return FALSE;
  if (!xdr_int (xdrs, &objp->threads))
    return FALSE;
  return TRUE;
}

#line 286 "remote_protocol.x"
bool_t
xdr_remote_get_capabilities_ret (XDR *xdrs, remote_get_capabilities_ret *objp)
{
  if (!xdr_remote_nonnull_string (xdrs, &objp->capabilities))
    return FALSE;
  return TRUE;
}

#line 291 "remote_protocol.x"
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;
}

#line 295 "remote_protocol.x"
bool_t
xdr_remote_node_get_cells_free_memory_ret (XDR *xdrs, remote_node_get_cells_free_memory_ret *objp)
{
  if (!xdr_array (xdrs, &objp->freeMems.freeMems_val, &objp->freeMems.freeMems_len, REMOTE_NODE_MAX_CELLS, 8, (xdrproc_t) xdr_quad_t))
    return FALSE;
  return TRUE;
}

#line 299 "remote_protocol.x"
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;
}

#line 303 "remote_protocol.x"
bool_t
xdr_remote_domain_get_scheduler_type_args (XDR *xdrs, remote_domain_get_scheduler_type_args *objp)
{
  if (!xdr_remote_nonnull_domain (xdrs, &objp->dom))
    return FALSE;
  return TRUE;
}

#line 308 "remote_protocol.x"
bool_t
xdr_remote_domain_get_scheduler_type_ret (XDR *xdrs, remote_domain_get_scheduler_type_ret *objp)
{
  if (!xdr_remote_nonnull_string (xdrs, &objp->type))
    return FALSE;
  if (!xdr_int (xdrs, &objp->nparams))
    return FALSE;
  return TRUE;
}

#line 313 "remote_protocol.x"
bool_t
xdr_remote_domain_get_scheduler_parameters_args (XDR *xdrs, remote_domain_get_scheduler_parameters_args *objp)
{
  if (!xdr_remote_nonnull_domain (xdrs, &objp->dom))
    return FALSE;
  if (!xdr_int (xdrs, &objp->nparams))
    return FALSE;
  return TRUE;
}

#line 317 "remote_protocol.x"
bool_t
xdr_remote_domain_get_scheduler_parameters_ret (XDR *xdrs, remote_domain_get_scheduler_parameters_ret *objp)
{
  if (!xdr_array (xdrs, &objp->params.params_val, &objp->params.params_len, REMOTE_DOMAIN_SCHEDULER_PARAMETERS_MAX, sizeof (remote_sched_param), (xdrproc_t) xdr_remote_sched_param))
    return FALSE;
  return TRUE;
}

#line 322 "remote_protocol.x"
bool_t
xdr_remote_domain_set_scheduler_parameters_args (XDR *xdrs, remote_domain_set_scheduler_parameters_args *objp)
{
  if (!xdr_remote_nonnull_domain (xdrs, &objp->dom))
    return FALSE;
  if (!xdr_array (xdrs, &objp->params.params_val, &objp->params.params_len, REMOTE_DOMAIN_SCHEDULER_PARAMETERS_MAX, sizeof (remote_sched_param), (xdrproc_t) xdr_remote_sched_param))
    return FALSE;
  return TRUE;
}

#line 327 "remote_protocol.x"
bool_t
xdr_remote_domain_block_stats_args (XDR *xdrs, remote_domain_block_stats_args *objp)
{
  if (!xdr_remote_nonnull_domain (xdrs, &objp->dom))
    return FALSE;
  if (!xdr_remote_nonnull_string (xdrs, &objp->path))
    return FALSE;
  return TRUE;
}

#line 335 "remote_protocol.x"
bool_t
xdr_remote_domain_block_stats_ret (XDR *xdrs, remote_domain_block_stats_ret *objp)
{
  if (!xdr_quad_t (xdrs, &objp->rd_req))
    return FALSE;
  if (!xdr_quad_t (xdrs, &objp->rd_bytes))
    return FALSE;
  if (!xdr_quad_t (xdrs, &objp->wr_req))
    return FALSE;
  if (!xdr_quad_t (xdrs, &objp->wr_bytes))
    return FALSE;
  if (!xdr_quad_t (xdrs, &objp->errs))
    return FALSE;
  return TRUE;
}

#line 340 "remote_protocol.x"
bool_t
xdr_remote_domain_interface_stats_args (XDR *xdrs, remote_domain_interface_stats_args *objp)
{
  if (!xdr_remote_nonnull_domain (xdrs, &objp->dom))
    return FALSE;
  if (!xdr_remote_nonnull_string (xdrs, &objp->path))
    return FALSE;
  return TRUE;
}

#line 351 "remote_protocol.x"
bool_t
xdr_remote_domain_interface_stats_ret (XDR *xdrs, remote_domain_interface_stats_ret *objp)
{
  if (!xdr_quad_t (xdrs, &objp->rx_bytes))
    return FALSE;
  if (!xdr_quad_t (xdrs, &objp->rx_packets))
    return FALSE;
  if (!xdr_quad_t (xdrs, &objp->rx_errs))
    return FALSE;
  if (!xdr_quad_t (xdrs, &objp->rx_drop))
    return FALSE;
  if (!xdr_quad_t (xdrs, &objp->tx_bytes))
    return FALSE;
  if (!xdr_quad_t (xdrs, &objp->tx_packets))
    return FALSE;
  if (!xdr_quad_t (xdrs, &objp->tx_errs))
    return FALSE;
  if (!xdr_quad_t (xdrs, &objp->tx_drop))
    return FALSE;
  return TRUE;
}

#line 359 "remote_protocol.x"
bool_t
xdr_remote_domain_block_peek_args (XDR *xdrs, remote_domain_block_peek_args *objp)
{
  if (!xdr_remote_nonnull_domain (xdrs, &objp->dom))
    return FALSE;
  if (!xdr_remote_nonnull_string (xdrs, &objp->path))
    return FALSE;
  if (!xdr_u_quad_t (xdrs, &objp->offset))
    return FALSE;
  if (!xdr_u_int (xdrs, &objp->size))
    return FALSE;
  if (!xdr_u_int (xdrs, &objp->flags))
    return FALSE;
  return TRUE;
}

#line 363 "remote_protocol.x"
bool_t
xdr_remote_domain_block_peek_ret (XDR *xdrs, remote_domain_block_peek_ret *objp)
{
  if (!xdr_bytes (xdrs, &objp->buffer.buffer_val, &objp->buffer.buffer_len, REMOTE_DOMAIN_BLOCK_PEEK_BUFFER_MAX))
    return FALSE;
  return TRUE;
}

#line 370 "remote_protocol.x"
bool_t
xdr_remote_domain_memory_peek_args (XDR *xdrs, remote_domain_memory_peek_args *objp)
{
  if (!xdr_remote_nonnull_domain (xdrs, &objp->dom))
    return FALSE;
  if (!xdr_u_quad_t (xdrs, &objp->offset))
    return FALSE;
  if (!xdr_u_int (xdrs, &objp->size))
    return FALSE;
  if (!xdr_u_int (xdrs, &objp->flags))
    return FALSE;
  return TRUE;
}

#line 374 "remote_protocol.x"
bool_t
xdr_remote_domain_memory_peek_ret (XDR *xdrs, remote_domain_memory_peek_ret *objp)
{
  if (!xdr_bytes (xdrs, &objp->buffer.buffer_val, &objp->buffer.buffer_len, REMOTE_DOMAIN_MEMORY_PEEK_BUFFER_MAX))
    return FALSE;
  return TRUE;
}

#line 378 "remote_protocol.x"
bool_t
xdr_remote_list_domains_args (XDR *xdrs, remote_list_domains_args *objp)
{
  if (!xdr_int (xdrs, &objp->maxids))
    return FALSE;
  return TRUE;
}

#line 382 "remote_protocol.x"
bool_t
xdr_remote_list_domains_ret (XDR *xdrs, remote_list_domains_ret *objp)
{
  if (!xdr_array (xdrs, &objp->ids.ids_val, &objp->ids.ids_len, REMOTE_DOMAIN_ID_LIST_MAX, 4, (xdrproc_t) xdr_int))
    return FALSE;
  return TRUE;
}

#line 386 "remote_protocol.x"
bool_t
xdr_remote_num_of_domains_ret (XDR *xdrs, remote_num_of_domains_ret *objp)
{
  if (!xdr_int (xdrs, &objp->num))
    return FALSE;
  return TRUE;
}

#line 391 "remote_protocol.x"
bool_t
xdr_remote_domain_create_xml_args (XDR *xdrs, remote_domain_create_xml_args *objp)
{
  if (!xdr_remote_nonnull_string (xdrs, &objp->xml_desc))
    return FALSE;
  if (!xdr_int (xdrs, &objp->flags))
    return FALSE;
  return TRUE;
}

#line 395 "remote_protocol.x"
bool_t
xdr_remote_domain_create_xml_ret (XDR *xdrs, remote_domain_create_xml_ret *objp)
{
  if (!xdr_remote_nonnull_domain (xdrs, &objp->dom))
    return FALSE;
  return TRUE;
}

#line 399 "remote_protocol.x"
bool_t
xdr_remote_domain_lookup_by_id_args (XDR *xdrs, remote_domain_lookup_by_id_args *objp)
{
  if (!xdr_int (xdrs, &objp->id))
    return FALSE;
  return TRUE;
}

#line 403 "remote_protocol.x"
bool_t
xdr_remote_domain_lookup_by_id_ret (XDR *xdrs, remote_domain_lookup_by_id_ret *objp)
{
  if (!xdr_remote_nonnull_domain (xdrs, &objp->dom))
    return FALSE;
  return TRUE;
}

#line 407 "remote_protocol.x"
bool_t
xdr_remote_domain_lookup_by_uuid_args (XDR *xdrs, remote_domain_lookup_by_uuid_args *objp)
{
  if (!xdr_remote_uuid (xdrs, &objp->uuid))
    return FALSE;
  return TRUE;
}

#line 411 "remote_protocol.x"
bool_t
xdr_remote_domain_lookup_by_uuid_ret (XDR *xdrs, remote_domain_lookup_by_uuid_ret *objp)
{
  if (!xdr_remote_nonnull_domain (xdrs, &objp->dom))
    return FALSE;
  return TRUE;
}

#line 415 "remote_protocol.x"
bool_t
xdr_remote_domain_lookup_by_name_args (XDR *xdrs, remote_domain_lookup_by_name_args *objp)
{
  if (!xdr_remote_nonnull_string (xdrs, &objp->name))
    return FALSE;
  return TRUE;
}

#line 419 "remote_protocol.x"
bool_t
xdr_remote_domain_lookup_by_name_ret (XDR *xdrs, remote_domain_lookup_by_name_ret *objp)
{
  if (!xdr_remote_nonnull_domain (xdrs, &objp->dom))
    return FALSE;
  return TRUE;
}

#line 423 "remote_protocol.x"
bool_t
xdr_remote_domain_suspend_args (XDR *xdrs, remote_domain_suspend_args *objp)
{
  if (!xdr_remote_nonnull_domain (xdrs, &objp->dom))
    return FALSE;
  return TRUE;
}

#line 427 "remote_protocol.x"
bool_t
xdr_remote_domain_resume_args (XDR *xdrs, remote_domain_resume_args *objp)
{
  if (!xdr_remote_nonnull_domain (xdrs, &objp->dom))
    return FALSE;
  return TRUE;
}

#line 431 "remote_protocol.x"
bool_t
xdr_remote_domain_shutdown_args (XDR *xdrs, remote_domain_shutdown_args *objp)
{
  if (!xdr_remote_nonnull_domain (xdrs, &objp->dom))
    return FALSE;
  return TRUE;
}

#line 436 "remote_protocol.x"
bool_t
xdr_remote_domain_reboot_args (XDR *xdrs, remote_domain_reboot_args *objp)
{
  if (!xdr_remote_nonnull_domain (xdrs, &objp->dom))
    return FALSE;
  if (!xdr_int (xdrs, &objp->flags))
    return FALSE;
  return TRUE;
}

#line 440 "remote_protocol.x"
bool_t
xdr_remote_domain_destroy_args (XDR *xdrs, remote_domain_destroy_args *objp)
{
  if (!xdr_remote_nonnull_domain (xdrs, &objp->dom))
    return FALSE;
  return TRUE;
}

#line 444 "remote_protocol.x"
bool_t
xdr_remote_domain_get_os_type_args (XDR *xdrs, remote_domain_get_os_type_args *objp)
{
  if (!xdr_remote_nonnull_domain (xdrs, &objp->dom))
    return FALSE;
  return TRUE;
}

#line 448 "remote_protocol.x"
bool_t
xdr_remote_domain_get_os_type_ret (XDR *xdrs, remote_domain_get_os_type_ret *objp)
{
  if (!xdr_remote_nonnull_string (xdrs, &objp->type))
    return FALSE;
  return TRUE;
}

#line 452 "remote_protocol.x"
bool_t
xdr_remote_domain_get_max_memory_args (XDR *xdrs, remote_domain_get_max_memory_args *objp)
{
  if (!xdr_remote_nonnull_domain (xdrs, &objp->dom))
    return FALSE;
  return TRUE;
}

#line 456 "remote_protocol.x"
bool_t
xdr_remote_domain_get_max_memory_ret (XDR *xdrs, remote_domain_get_max_memory_ret *objp)
{
  if (!xdr_u_quad_t (xdrs, &objp->memory))
    return FALSE;
  return TRUE;
}

#line 461 "remote_protocol.x"
bool_t
xdr_remote_domain_set_max_memory_args (XDR *xdrs, remote_domain_set_max_memory_args *objp)
{
  if (!xdr_remote_nonnull_domain (xdrs, &objp->dom))
    return FALSE;
  if (!xdr_u_quad_t (xdrs, &objp->memory))
    return FALSE;
  return TRUE;
}

#line 466 "remote_protocol.x"
bool_t
xdr_remote_domain_set_memory_args (XDR *xdrs, remote_domain_set_memory_args *objp)
{
  if (!xdr_remote_nonnull_domain (xdrs, &objp->dom))
    return FALSE;
  if (!xdr_u_quad_t (xdrs, &objp->memory))
    return FALSE;
  return TRUE;
}

#line 470 "remote_protocol.x"
bool_t
xdr_remote_domain_get_info_args (XDR *xdrs, remote_domain_get_info_args *objp)
{
  if (!xdr_remote_nonnull_domain (xdrs, &objp->dom))
    return FALSE;
  return TRUE;
}

#line 478 "remote_protocol.x"
bool_t
xdr_remote_domain_get_info_ret (XDR *xdrs, remote_domain_get_info_ret *objp)
{
  if (!xdr_u_char (xdrs, &objp->state))
    return FALSE;
  if (!xdr_u_quad_t (xdrs, &objp->max_mem))
    return FALSE;
  if (!xdr_u_quad_t (xdrs, &objp->memory))
    return FALSE;
  if (!xdr_u_short (xdrs, &objp->nr_virt_cpu))
    return FALSE;
  if (!xdr_u_quad_t (xdrs, &objp->cpu_time))
    return FALSE;
  return TRUE;
}

#line 483 "remote_protocol.x"
bool_t
xdr_remote_domain_save_args (XDR *xdrs, remote_domain_save_args *objp)
{
  if (!xdr_remote_nonnull_domain (xdrs, &objp->dom))
    return FALSE;
  if (!xdr_remote_nonnull_string (xdrs, &objp->to))
    return FALSE;
  return TRUE;
}

#line 487 "remote_protocol.x"
bool_t
xdr_remote_domain_restore_args (XDR *xdrs, remote_domain_restore_args *objp)
{
  if (!xdr_remote_nonnull_string (xdrs, &objp->from))
    return FALSE;
  return TRUE;
}

#line 493 "remote_protocol.x"
bool_t
xdr_remote_domain_core_dump_args (XDR *xdrs, remote_domain_core_dump_args *objp)
{
  if (!xdr_remote_nonnull_domain (xdrs, &objp->dom))
    return FALSE;
  if (!xdr_remote_nonnull_string (xdrs, &objp->to))
    return FALSE;
  if (!xdr_int (xdrs, &objp->flags))
    return FALSE;
  return TRUE;
}

#line 498 "remote_protocol.x"
bool_t
xdr_remote_domain_dump_xml_args (XDR *xdrs, remote_domain_dump_xml_args *objp)
{
  if (!xdr_remote_nonnull_domain (xdrs, &objp->dom))
    return FALSE;
  if (!xdr_int (xdrs, &objp->flags))
    return FALSE;
  return TRUE;
}

#line 502 "remote_protocol.x"
bool_t
xdr_remote_domain_dump_xml_ret (XDR *xdrs, remote_domain_dump_xml_ret *objp)
{
  if (!xdr_remote_nonnull_string (xdrs, &objp->xml))
    return FALSE;
  return TRUE;
}

#line 509 "remote_protocol.x"
bool_t
xdr_remote_domain_migrate_prepare_args (XDR *xdrs, remote_domain_migrate_prepare_args *objp)
{
  if (!xdr_remote_string (xdrs, &objp->uri_in))
    return FALSE;
  if (!xdr_u_quad_t (xdrs, &objp->flags))
    return FALSE;
  if (!xdr_remote_string (xdrs, &objp->dname))
    return FALSE;
  if (!xdr_u_quad_t (xdrs, &objp->resource))
    return FALSE;
  return TRUE;
}

#line 514 "remote_protocol.x"
bool_t
xdr_remote_domain_migrate_prepare_ret (XDR *xdrs, remote_domain_migrate_prepare_ret *objp)
{
  if (!xdr_bytes (xdrs, &objp->cookie.cookie_val, &objp->cookie.cookie_len, REMOTE_MIGRATE_COOKIE_MAX))
    return FALSE;
  if (!xdr_remote_string (xdrs, &objp->uri_out))
    return FALSE;
  return TRUE;
}

#line 523 "remote_protocol.x"
bool_t
xdr_remote_domain_migrate_perform_args (XDR *xdrs, remote_domain_migrate_perform_args *objp)
{
  if (!xdr_remote_nonnull_domain (xdrs, &objp->dom))
    return FALSE;
  if (!xdr_bytes (xdrs, &objp->cookie.cookie_val, &objp->cookie.cookie_len, REMOTE_MIGRATE_COOKIE_MAX))
    return FALSE;
  if (!xdr_remote_nonnull_string (xdrs, &objp->uri))
    return FALSE;
  if (!xdr_u_quad_t (xdrs, &objp->flags))
    return FALSE;
  if (!xdr_remote_string (xdrs, &objp->dname))
    return FALSE;
  if (!xdr_u_quad_t (xdrs, &objp->resource))
    return FALSE;
  return TRUE;
}

#line 530 "remote_protocol.x"
bool_t
xdr_remote_domain_migrate_finish_args (XDR *xdrs, remote_domain_migrate_finish_args *objp)
{
  if (!xdr_remote_nonnull_string (xdrs, &objp->dname))
    return FALSE;
  if (!xdr_bytes (xdrs, &objp->cookie.cookie_val, &objp->cookie.cookie_len, REMOTE_MIGRATE_COOKIE_MAX))
    return FALSE;
  if (!xdr_remote_nonnull_string (xdrs, &objp->uri))
    return FALSE;
  if (!xdr_u_quad_t (xdrs, &objp->flags))
    return FALSE;
  return TRUE;
}

#line 534 "remote_protocol.x"
bool_t
xdr_remote_domain_migrate_finish_ret (XDR *xdrs, remote_domain_migrate_finish_ret *objp)
{
  if (!xdr_remote_nonnull_domain (xdrs, &objp->ddom))
    return FALSE;
  return TRUE;
}

#line 542 "remote_protocol.x"
bool_t
xdr_remote_domain_migrate_prepare2_args (XDR *xdrs, remote_domain_migrate_prepare2_args *objp)
{
  if (!xdr_remote_string (xdrs, &objp->uri_in))
    return FALSE;
  if (!xdr_u_quad_t (xdrs, &objp->flags))
    return FALSE;
  if (!xdr_remote_string (xdrs, &objp->dname))
    return FALSE;
  if (!xdr_u_quad_t (xdrs, &objp->resource))
    return FALSE;
  if (!xdr_remote_nonnull_string (xdrs, &objp->dom_xml))
    return FALSE;
  return TRUE;
}

#line 547 "remote_protocol.x"
bool_t
xdr_remote_domain_migrate_prepare2_ret (XDR *xdrs, remote_domain_migrate_prepare2_ret *objp)
{
  if (!xdr_bytes (xdrs, &objp->cookie.cookie_val, &objp->cookie.cookie_len, REMOTE_MIGRATE_COOKIE_MAX))
    return FALSE;
  if (!xdr_remote_string (xdrs, &objp->uri_out))
    return FALSE;
  return TRUE;
}

#line 555 "remote_protocol.x"
bool_t
xdr_remote_domain_migrate_finish2_args (XDR *xdrs, remote_domain_migrate_finish2_args *objp)
{
  if (!xdr_remote_nonnull_string (xdrs, &objp->dname))
    return FALSE;
  if (!xdr_bytes (xdrs, &objp->cookie.cookie_val, &objp->cookie.cookie_len, REMOTE_MIGRATE_COOKIE_MAX))
    return FALSE;
  if (!xdr_remote_nonnull_string (xdrs, &objp->uri))
    return FALSE;
  if (!xdr_u_quad_t (xdrs, &objp->flags))
    return FALSE;
  if (!xdr_int (xdrs, &objp->retcode))
    return FALSE;
  return TRUE;
}

#line 559 "remote_protocol.x"
bool_t
xdr_remote_domain_migrate_finish2_ret (XDR *xdrs, remote_domain_migrate_finish2_ret *objp)
{
  if (!xdr_remote_nonnull_domain (xdrs, &objp->ddom))
    return FALSE;
  return TRUE;
}

#line 563 "remote_protocol.x"
bool_t
xdr_remote_list_defined_domains_args (XDR *xdrs, remote_list_defined_domains_args *objp)
{
  if (!xdr_int (xdrs, &objp->maxnames))
    return FALSE;
  return TRUE;
}

#line 567 "remote_protocol.x"
bool_t
xdr_remote_list_defined_domains_ret (XDR *xdrs, remote_list_defined_domains_ret *objp)
{
  if (!xdr_array (xdrs, &objp->names.names_val, &objp->names.names_len, REMOTE_DOMAIN_NAME_LIST_MAX, sizeof (remote_nonnull_string), (xdrproc_t) xdr_remote_nonnull_string))
    return FALSE;
  return TRUE;
}

#line 571 "remote_protocol.x"
bool_t
xdr_remote_num_of_defined_domains_ret (XDR *xdrs, remote_num_of_defined_domains_ret *objp)
{
  if (!xdr_int (xdrs, &objp->num))
    return FALSE;
  return TRUE;
}

#line 575 "remote_protocol.x"
bool_t
xdr_remote_domain_create_args (XDR *xdrs, remote_domain_create_args *objp)
{
  if (!xdr_remote_nonnull_domain (xdrs, &objp->dom))
    return FALSE;
  return TRUE;
}

#line 579 "remote_protocol.x"
bool_t
xdr_remote_domain_define_xml_args (XDR *xdrs, remote_domain_define_xml_args *objp)
{
  if (!xdr_remote_nonnull_string (xdrs, &objp->xml))
    return FALSE;
  return TRUE;
}

#line 583 "remote_protocol.x"
bool_t
xdr_remote_domain_define_xml_ret (XDR *xdrs, remote_domain_define_xml_ret *objp)
{
  if (!xdr_remote_nonnull_domain (xdrs, &objp->dom))
    return FALSE;
  return TRUE;
}

#line 587 "remote_protocol.x"
bool_t
xdr_remote_domain_undefine_args (XDR *xdrs, remote_domain_undefine_args *objp)
{
  if (!xdr_remote_nonnull_domain (xdrs, &objp->dom))
    return FALSE;
  return TRUE;
}

#line 592 "remote_protocol.x"
bool_t
xdr_remote_domain_set_vcpus_args (XDR *xdrs, remote_domain_set_vcpus_args *objp)
{
  if (!xdr_remote_nonnull_domain (xdrs, &objp->dom))
    return FALSE;
  if (!xdr_int (xdrs, &objp->nvcpus))
    return FALSE;
  return TRUE;
}

#line 598 "remote_protocol.x"
bool_t
xdr_remote_domain_pin_vcpu_args (XDR *xdrs, remote_domain_pin_vcpu_args *objp)
{
  if (!xdr_remote_nonnull_domain (xdrs, &objp->dom))
    return FALSE;
  if (!xdr_int (xdrs, &objp->vcpu))
    return FALSE;
  if (!xdr_bytes (xdrs, &objp->cpumap.cpumap_val, &objp->cpumap.cpumap_len, REMOTE_CPUMAP_MAX))
    return FALSE;
  return TRUE;
}

#line 604 "remote_protocol.x"
bool_t
xdr_remote_domain_get_vcpus_args (XDR *xdrs, remote_domain_get_vcpus_args *objp)
{
  if (!xdr_remote_nonnull_domain (xdrs, &objp->dom))
    return FALSE;
  if (!xdr_int (xdrs, &objp->maxinfo))
    return FALSE;
  if (!xdr_int (xdrs, &objp->maplen))
    return FALSE;
  return TRUE;
}

#line 609 "remote_protocol.x"
bool_t
xdr_remote_domain_get_vcpus_ret (XDR *xdrs, remote_domain_get_vcpus_ret *objp)
{
  if (!xdr_array (xdrs, &objp->info.info_val, &objp->info.info_len, REMOTE_VCPUINFO_MAX, sizeof (remote_vcpu_info), (xdrproc_t) xdr_remote_vcpu_info))
    return FALSE;
  if (!xdr_bytes (xdrs, &objp->cpumaps.cpumaps_val, &objp->cpumaps.cpumaps_len, REMOTE_CPUMAPS_MAX))
    return FALSE;
  return TRUE;
}

#line 613 "remote_protocol.x"
bool_t
xdr_remote_domain_get_max_vcpus_args (XDR *xdrs, remote_domain_get_max_vcpus_args *objp)
{
  if (!xdr_remote_nonnull_domain (xdrs, &objp->dom))
    return FALSE;
  return TRUE;
}

#line 617 "remote_protocol.x"
bool_t
xdr_remote_domain_get_max_vcpus_ret (XDR *xdrs, remote_domain_get_max_vcpus_ret *objp)
{
  if (!xdr_int (xdrs, &objp->num))
    return FALSE;
  return TRUE;
}

#line 622 "remote_protocol.x"
bool_t
xdr_remote_domain_attach_device_args (XDR *xdrs, remote_domain_attach_device_args *objp)
{
  if (!xdr_remote_nonnull_domain (xdrs, &objp->dom))
    return FALSE;
  if (!xdr_remote_nonnull_string (xdrs, &objp->xml))
    return FALSE;
  return TRUE;
}

#line 627 "remote_protocol.x"
bool_t
xdr_remote_domain_detach_device_args (XDR *xdrs, remote_domain_detach_device_args *objp)
{
  if (!xdr_remote_nonnull_domain (xdrs, &objp->dom))
    return FALSE;
  if (!xdr_remote_nonnull_string (xdrs, &objp->xml))
    return FALSE;
  return TRUE;
}

#line 631 "remote_protocol.x"
bool_t
xdr_remote_domain_get_autostart_args (XDR *xdrs, remote_domain_get_autostart_args *objp)
{
  if (!xdr_remote_nonnull_domain (xdrs, &objp->dom))
    return FALSE;
  return TRUE;
}

#line 635 "remote_protocol.x"
bool_t
xdr_remote_domain_get_autostart_ret (XDR *xdrs, remote_domain_get_autostart_ret *objp)
{
  if (!xdr_int (xdrs, &objp->autostart))
    return FALSE;
  return TRUE;
}

#line 640 "remote_protocol.x"
bool_t
xdr_remote_domain_set_autostart_args (XDR *xdrs, remote_domain_set_autostart_args *objp)
{
  if (!xdr_remote_nonnull_domain (xdrs, &objp->dom))
    return FALSE;
  if (!xdr_int (xdrs, &objp->autostart))
    return FALSE;
  return TRUE;
}

#line 646 "remote_protocol.x"
bool_t
xdr_remote_num_of_networks_ret (XDR *xdrs, remote_num_of_networks_ret *objp)
{
  if (!xdr_int (xdrs, &objp->num))
    return FALSE;
  return TRUE;
}

#line 650 "remote_protocol.x"
bool_t
xdr_remote_list_networks_args (XDR *xdrs, remote_list_networks_args *objp)
{
  if (!xdr_int (xdrs, &objp->maxnames))
    return FALSE;
  return TRUE;
}

#line 654 "remote_protocol.x"
bool_t
xdr_remote_list_networks_ret (XDR *xdrs, remote_list_networks_ret *objp)
{
  if (!xdr_array (xdrs, &objp->names.names_val, &objp->names.names_len, REMOTE_NETWORK_NAME_LIST_MAX, sizeof (remote_nonnull_string), (xdrproc_t) xdr_remote_nonnull_string))
    return FALSE;
  return TRUE;
}

#line 658 "remote_protocol.x"
bool_t
xdr_remote_num_of_defined_networks_ret (XDR *xdrs, remote_num_of_defined_networks_ret *objp)
{
  if (!xdr_int (xdrs, &objp->num))
    return FALSE;
  return TRUE;
}

#line 662 "remote_protocol.x"
bool_t
xdr_remote_list_defined_networks_args (XDR *xdrs, remote_list_defined_networks_args *objp)
{
  if (!xdr_int (xdrs, &objp->maxnames))
    return FALSE;
  return TRUE;
}

#line 666 "remote_protocol.x"
bool_t
xdr_remote_list_defined_networks_ret (XDR *xdrs, remote_list_defined_networks_ret *objp)
{
  if (!xdr_array (xdrs, &objp->names.names_val, &objp->names.names_len, REMOTE_NETWORK_NAME_LIST_MAX, sizeof (remote_nonnull_string), (xdrproc_t) xdr_remote_nonnull_string))
    return FALSE;
  return TRUE;
}

#line 670 "remote_protocol.x"
bool_t
xdr_remote_network_lookup_by_uuid_args (XDR *xdrs, remote_network_lookup_by_uuid_args *objp)
{
  if (!xdr_remote_uuid (xdrs, &objp->uuid))
    return FALSE;
  return TRUE;
}

#line 674 "remote_protocol.x"
bool_t
xdr_remote_network_lookup_by_uuid_ret (XDR *xdrs, remote_network_lookup_by_uuid_ret *objp)
{
  if (!xdr_remote_nonnull_network (xdrs, &objp->net))
    return FALSE;
  return TRUE;
}

#line 678 "remote_protocol.x"
bool_t
xdr_remote_network_lookup_by_name_args (XDR *xdrs, remote_network_lookup_by_name_args *objp)
{
  if (!xdr_remote_nonnull_string (xdrs, &objp->name))
    return FALSE;
  return TRUE;
}

#line 682 "remote_protocol.x"
bool_t
xdr_remote_network_lookup_by_name_ret (XDR *xdrs, remote_network_lookup_by_name_ret *objp)
{
  if (!xdr_remote_nonnull_network (xdrs, &objp->net))
    return FALSE;
  return TRUE;
}

#line 686 "remote_protocol.x"
bool_t
xdr_remote_network_create_xml_args (XDR *xdrs, remote_network_create_xml_args *objp)
{
  if (!xdr_remote_nonnull_string (xdrs, &objp->xml))
    return FALSE;
  return TRUE;
}

#line 690 "remote_protocol.x"
bool_t
xdr_remote_network_create_xml_ret (XDR *xdrs, remote_network_create_xml_ret *objp)
{
  if (!xdr_remote_nonnull_network (xdrs, &objp->net))
    return FALSE;
  return TRUE;
}

#line 694 "remote_protocol.x"
bool_t
xdr_remote_network_define_xml_args (XDR *xdrs, remote_network_define_xml_args *objp)
{
  if (!xdr_remote_nonnull_string (xdrs, &objp->xml))
    return FALSE;
  return TRUE;
}

#line 698 "remote_protocol.x"
bool_t
xdr_remote_network_define_xml_ret (XDR *xdrs, remote_network_define_xml_ret *objp)
{
  if (!xdr_remote_nonnull_network (xdrs, &objp->net))
    return FALSE;
  return TRUE;
}

#line 702 "remote_protocol.x"
bool_t
xdr_remote_network_undefine_args (XDR *xdrs, remote_network_undefine_args *objp)
{
  if (!xdr_remote_nonnull_network (xdrs, &objp->net))
    return FALSE;
  return TRUE;
}

#line 706 "remote_protocol.x"
bool_t
xdr_remote_network_create_args (XDR *xdrs, remote_network_create_args *objp)
{
  if (!xdr_remote_nonnull_network (xdrs, &objp->net))
    return FALSE;
  return TRUE;
}

#line 710 "remote_protocol.x"
bool_t
xdr_remote_network_destroy_args (XDR *xdrs, remote_network_destroy_args *objp)
{
  if (!xdr_remote_nonnull_network (xdrs, &objp->net))
    return FALSE;
  return TRUE;
}

#line 715 "remote_protocol.x"
bool_t
xdr_remote_network_dump_xml_args (XDR *xdrs, remote_network_dump_xml_args *objp)
{
  if (!xdr_remote_nonnull_network (xdrs, &objp->net))
    return FALSE;
  if (!xdr_int (xdrs, &objp->flags))
    return FALSE;
  return TRUE;
}

#line 719 "remote_protocol.x"
bool_t
xdr_remote_network_dump_xml_ret (XDR *xdrs, remote_network_dump_xml_ret *objp)
{
  if (!xdr_remote_nonnull_string (xdrs, &objp->xml))
    return FALSE;
  return TRUE;
}

#line 723 "remote_protocol.x"
bool_t
xdr_remote_network_get_bridge_name_args (XDR *xdrs, remote_network_get_bridge_name_args *objp)
{
  if (!xdr_remote_nonnull_network (xdrs, &objp->net))
    return FALSE;
  return TRUE;
}

#line 727 "remote_protocol.x"
bool_t
xdr_remote_network_get_bridge_name_ret (XDR *xdrs, remote_network_get_bridge_name_ret *objp)
{
  if (!xdr_remote_nonnull_string (xdrs, &objp->name))
    return FALSE;
  return TRUE;
}

#line 731 "remote_protocol.x"
bool_t
xdr_remote_network_get_autostart_args (XDR *xdrs, remote_network_get_autostart_args *objp)
{
  if (!xdr_remote_nonnull_network (xdrs, &objp->net))
    return FALSE;
  return TRUE;
}

#line 735 "remote_protocol.x"
bool_t
xdr_remote_network_get_autostart_ret (XDR *xdrs, remote_network_get_autostart_ret *objp)
{
  if (!xdr_int (xdrs, &objp->autostart))
    return FALSE;
  return TRUE;
}

#line 740 "remote_protocol.x"
bool_t
xdr_remote_network_set_autostart_args (XDR *xdrs, remote_network_set_autostart_args *objp)
{
  if (!xdr_remote_nonnull_network (xdrs, &objp->net))
    return FALSE;
  if (!xdr_int (xdrs, &objp->autostart))
    return FALSE;
  return TRUE;
}

#line 745 "remote_protocol.x"
bool_t
xdr_remote_auth_list_ret (XDR *xdrs, remote_auth_list_ret *objp)
{
  if (!xdr_array (xdrs, &objp->types.types_val, &objp->types.types_len, REMOTE_AUTH_TYPE_LIST_MAX, sizeof (remote_auth_type), (xdrproc_t) xdr_remote_auth_type))
    return FALSE;
  return TRUE;
}

#line 749 "remote_protocol.x"
bool_t
xdr_remote_auth_sasl_init_ret (XDR *xdrs, remote_auth_sasl_init_ret *objp)
{
  if (!xdr_remote_nonnull_string (xdrs, &objp->mechlist))
    return FALSE;
  return TRUE;
}

#line 755 "remote_protocol.x"
bool_t
xdr_remote_auth_sasl_start_args (XDR *xdrs, remote_auth_sasl_start_args *objp)
{
  if (!xdr_remote_nonnull_string (xdrs, &objp->mech))
    return FALSE;
  if (!xdr_int (xdrs, &objp->nil))
    return FALSE;
  if (!xdr_array (xdrs, &objp->data.data_val, &objp->data.data_len, REMOTE_AUTH_SASL_DATA_MAX, 1, (xdrproc_t) xdr_char))
    return FALSE;
  return TRUE;
}

#line 761 "remote_protocol.x"
bool_t
xdr_remote_auth_sasl_start_ret (XDR *xdrs, remote_auth_sasl_start_ret *objp)
{
  if (!xdr_int (xdrs, &objp->complete))
    return FALSE;
  if (!xdr_int (xdrs, &objp->nil))
    return FALSE;
  if (!xdr_array (xdrs, &objp->data.data_val, &objp->data.data_len, REMOTE_AUTH_SASL_DATA_MAX, 1, (xdrproc_t) xdr_char))
    return FALSE;
  return TRUE;
}

#line 766 "remote_protocol.x"
bool_t
xdr_remote_auth_sasl_step_args (XDR *xdrs, remote_auth_sasl_step_args *objp)
{
  if (!xdr_int (xdrs, &objp->nil))
    return FALSE;
  if (!xdr_array (xdrs, &objp->data.data_val, &objp->data.data_len, REMOTE_AUTH_SASL_DATA_MAX, 1, (xdrproc_t) xdr_char))
    return FALSE;
  return TRUE;
}

#line 772 "remote_protocol.x"
bool_t
xdr_remote_auth_sasl_step_ret (XDR *xdrs, remote_auth_sasl_step_ret *objp)
{
  if (!xdr_int (xdrs, &objp->complete))
    return FALSE;
  if (!xdr_int (xdrs, &objp->nil))
    return FALSE;
  if (!xdr_array (xdrs, &objp->data.data_val, &objp->data.data_len, REMOTE_AUTH_SASL_DATA_MAX, 1, (xdrproc_t) xdr_char))
    return FALSE;
  return TRUE;
}

#line 776 "remote_protocol.x"
bool_t
xdr_remote_auth_polkit_ret (XDR *xdrs, remote_auth_polkit_ret *objp)
{
  if (!xdr_int (xdrs, &objp->complete))
    return FALSE;
  return TRUE;
}

#line 784 "remote_protocol.x"
bool_t
xdr_remote_num_of_storage_pools_ret (XDR *xdrs, remote_num_of_storage_pools_ret *objp)
{
  if (!xdr_int (xdrs, &objp->num))
    return FALSE;
  return TRUE;
}

#line 788 "remote_protocol.x"
bool_t
xdr_remote_list_storage_pools_args (XDR *xdrs, remote_list_storage_pools_args *objp)
{
  if (!xdr_int (xdrs, &objp->maxnames))
    return FALSE;
  return TRUE;
}

#line 792 "remote_protocol.x"
bool_t
xdr_remote_list_storage_pools_ret (XDR *xdrs, remote_list_storage_pools_ret *objp)
{
  if (!xdr_array (xdrs, &objp->names.names_val, &objp->names.names_len, REMOTE_STORAGE_POOL_NAME_LIST_MAX, sizeof (remote_nonnull_string), (xdrproc_t) xdr_remote_nonnull_string))
    return FALSE;
  return TRUE;
}

#line 796 "remote_protocol.x"
bool_t
xdr_remote_num_of_defined_storage_pools_ret (XDR *xdrs, remote_num_of_defined_storage_pools_ret *objp)
{
  if (!xdr_int (xdrs, &objp->num))
    return FALSE;
  return TRUE;
}

#line 800 "remote_protocol.x"
bool_t
xdr_remote_list_defined_storage_pools_args (XDR *xdrs, remote_list_defined_storage_pools_args *objp)
{
  if (!xdr_int (xdrs, &objp->maxnames))
    return FALSE;
  return TRUE;
}

#line 804 "remote_protocol.x"
bool_t
xdr_remote_list_defined_storage_pools_ret (XDR *xdrs, remote_list_defined_storage_pools_ret *objp)
{
  if (!xdr_array (xdrs, &objp->names.names_val, &objp->names.names_len, REMOTE_STORAGE_POOL_NAME_LIST_MAX, sizeof (remote_nonnull_string), (xdrproc_t) xdr_remote_nonnull_string))
    return FALSE;
  return TRUE;
}

#line 810 "remote_protocol.x"
bool_t
xdr_remote_find_storage_pool_sources_args (XDR *xdrs, remote_find_storage_pool_sources_args *objp)
{
  if (!xdr_remote_nonnull_string (xdrs, &objp->type))
    return FALSE;
  if (!xdr_remote_string (xdrs, &objp->srcSpec))
    return FALSE;
  if (!xdr_u_int (xdrs, &objp->flags))
    return FALSE;
  return TRUE;
}

#line 814 "remote_protocol.x"
bool_t
xdr_remote_find_storage_pool_sources_ret (XDR *xdrs, remote_find_storage_pool_sources_ret *objp)
{
  if (!xdr_remote_nonnull_string (xdrs, &objp->xml))
    return FALSE;
  return TRUE;
}

#line 818 "remote_protocol.x"
bool_t
xdr_remote_storage_pool_lookup_by_uuid_args (XDR *xdrs, remote_storage_pool_lookup_by_uuid_args *objp)
{
  if (!xdr_remote_uuid (xdrs, &objp->uuid))
    return FALSE;
  return TRUE;
}

#line 822 "remote_protocol.x"
bool_t
xdr_remote_storage_pool_lookup_by_uuid_ret (XDR *xdrs, remote_storage_pool_lookup_by_uuid_ret *objp)
{
  if (!xdr_remote_nonnull_storage_pool (xdrs, &objp->pool))
    return FALSE;
  return TRUE;
}

#line 826 "remote_protocol.x"
bool_t
xdr_remote_storage_pool_lookup_by_name_args (XDR *xdrs, remote_storage_pool_lookup_by_name_args *objp)
{
  if (!xdr_remote_nonnull_string (xdrs, &objp->name))
    return FALSE;
  return TRUE;
}

#line 830 "remote_protocol.x"
bool_t
xdr_remote_storage_pool_lookup_by_name_ret (XDR *xdrs, remote_storage_pool_lookup_by_name_ret *objp)
{
  if (!xdr_remote_nonnull_storage_pool (xdrs, &objp->pool))
    return FALSE;
  return TRUE;
}

#line 834 "remote_protocol.x"
bool_t
xdr_remote_storage_pool_lookup_by_volume_args (XDR *xdrs, remote_storage_pool_lookup_by_volume_args *objp)
{
  if (!xdr_remote_nonnull_storage_vol (xdrs, &objp->vol))
    return FALSE;
  return TRUE;
}

#line 838 "remote_protocol.x"
bool_t
xdr_remote_storage_pool_lookup_by_volume_ret (XDR *xdrs, remote_storage_pool_lookup_by_volume_ret *objp)
{
  if (!xdr_remote_nonnull_storage_pool (xdrs, &objp->pool))
    return FALSE;
  return TRUE;
}

#line 843 "remote_protocol.x"
bool_t
xdr_remote_storage_pool_create_xml_args (XDR *xdrs, remote_storage_pool_create_xml_args *objp)
{
  if (!xdr_remote_nonnull_string (xdrs, &objp->xml))
    return FALSE;
  if (!xdr_u_int (xdrs, &objp->flags))
    return FALSE;
  return TRUE;
}

#line 847 "remote_protocol.x"
bool_t
xdr_remote_storage_pool_create_xml_ret (XDR *xdrs, remote_storage_pool_create_xml_ret *objp)
{
  if (!xdr_remote_nonnull_storage_pool (xdrs, &objp->pool))
    return FALSE;
  return TRUE;
}

#line 852 "remote_protocol.x"
bool_t
xdr_remote_storage_pool_define_xml_args (XDR *xdrs, remote_storage_pool_define_xml_args *objp)
{
  if (!xdr_remote_nonnull_string (xdrs, &objp->xml))
    return FALSE;
  if (!xdr_u_int (xdrs, &objp->flags))
    return FALSE;
  return TRUE;
}

#line 856 "remote_protocol.x"
bool_t
xdr_remote_storage_pool_define_xml_ret (XDR *xdrs, remote_storage_pool_define_xml_ret *objp)
{
  if (!xdr_remote_nonnull_storage_pool (xdrs, &objp->pool))
    return FALSE;
  return TRUE;
}

#line 861 "remote_protocol.x"
bool_t
xdr_remote_storage_pool_build_args (XDR *xdrs, remote_storage_pool_build_args *objp)
{
  if (!xdr_remote_nonnull_storage_pool (xdrs, &objp->pool))
    return FALSE;
  if (!xdr_u_int (xdrs, &objp->flags))
    return FALSE;
  return TRUE;
}

#line 865 "remote_protocol.x"
bool_t
xdr_remote_storage_pool_undefine_args (XDR *xdrs, remote_storage_pool_undefine_args *objp)
{
  if (!xdr_remote_nonnull_storage_pool (xdrs, &objp->pool))
    return FALSE;
  return TRUE;
}

#line 870 "remote_protocol.x"
bool_t
xdr_remote_storage_pool_create_args (XDR *xdrs, remote_storage_pool_create_args *objp)
{
  if (!xdr_remote_nonnull_storage_pool (xdrs, &objp->pool))
    return FALSE;
  if (!xdr_u_int (xdrs, &objp->flags))
    return FALSE;
  return TRUE;
}

#line 874 "remote_protocol.x"
bool_t
xdr_remote_storage_pool_destroy_args (XDR *xdrs, remote_storage_pool_destroy_args *objp)
{
  if (!xdr_remote_nonnull_storage_pool (xdrs, &objp->pool))
    return FALSE;
  return TRUE;
}

#line 879 "remote_protocol.x"
bool_t
xdr_remote_storage_pool_delete_args (XDR *xdrs, remote_storage_pool_delete_args *objp)
{
  if (!xdr_remote_nonnull_storage_pool (xdrs, &objp->pool))
    return FALSE;
  if (!xdr_u_int (xdrs, &objp->flags))
    return FALSE;
  return TRUE;
}

#line 884 "remote_protocol.x"
bool_t
xdr_remote_storage_pool_refresh_args (XDR *xdrs, remote_storage_pool_refresh_args *objp)
{
  if (!xdr_remote_nonnull_storage_pool (xdrs, &objp->pool))
    return FALSE;
  if (!xdr_u_int (xdrs, &objp->flags))
    return FALSE;
  return TRUE;
}

#line 889 "remote_protocol.x"
bool_t
xdr_remote_storage_pool_dump_xml_args (XDR *xdrs, remote_storage_pool_dump_xml_args *objp)
{
  if (!xdr_remote_nonnull_storage_pool (xdrs, &objp->pool))
    return FALSE;
  if (!xdr_u_int (xdrs, &objp->flags))
    return FALSE;
  return TRUE;
}

#line 893 "remote_protocol.x"
bool_t
xdr_remote_storage_pool_dump_xml_ret (XDR *xdrs, remote_storage_pool_dump_xml_ret *objp)
{
  if (!xdr_remote_nonnull_string (xdrs, &objp->xml))
    return FALSE;
  return TRUE;
}

#line 897 "remote_protocol.x"
bool_t
xdr_remote_storage_pool_get_info_args (XDR *xdrs, remote_storage_pool_get_info_args *objp)
{
  if (!xdr_remote_nonnull_storage_pool (xdrs, &objp->pool))
    return FALSE;
  return TRUE;
}

#line 904 "remote_protocol.x"
bool_t
xdr_remote_storage_pool_get_info_ret (XDR *xdrs, remote_storage_pool_get_info_ret *objp)
{
  if (!xdr_u_char (xdrs, &objp->state))
    return FALSE;
  if (!xdr_u_quad_t (xdrs, &objp->capacity))
    return FALSE;
  if (!xdr_u_quad_t (xdrs, &objp->allocation))
    return FALSE;
  if (!xdr_u_quad_t (xdrs, &objp->available))
    return FALSE;
  return TRUE;
}

#line 908 "remote_protocol.x"
bool_t
xdr_remote_storage_pool_get_autostart_args (XDR *xdrs, remote_storage_pool_get_autostart_args *objp)
{
  if (!xdr_remote_nonnull_storage_pool (xdrs, &objp->pool))
    return FALSE;
  return TRUE;
}

#line 912 "remote_protocol.x"
bool_t
xdr_remote_storage_pool_get_autostart_ret (XDR *xdrs, remote_storage_pool_get_autostart_ret *objp)
{
  if (!xdr_int (xdrs, &objp->autostart))
    return FALSE;
  return TRUE;
}

#line 917 "remote_protocol.x"
bool_t
xdr_remote_storage_pool_set_autostart_args (XDR *xdrs, remote_storage_pool_set_autostart_args *objp)
{
  if (!xdr_remote_nonnull_storage_pool (xdrs, &objp->pool))
    return FALSE;
  if (!xdr_int (xdrs, &objp->autostart))
    return FALSE;
  return TRUE;
}

#line 921 "remote_protocol.x"
bool_t
xdr_remote_storage_pool_num_of_volumes_args (XDR *xdrs, remote_storage_pool_num_of_volumes_args *objp)
{
  if (!xdr_remote_nonnull_storage_pool (xdrs, &objp->pool))
    return FALSE;
  return TRUE;
}

#line 925 "remote_protocol.x"
bool_t
xdr_remote_storage_pool_num_of_volumes_ret (XDR *xdrs, remote_storage_pool_num_of_volumes_ret *objp)
{
  if (!xdr_int (xdrs, &objp->num))
    return FALSE;
  return TRUE;
}

#line 930 "remote_protocol.x"
bool_t
xdr_remote_storage_pool_list_volumes_args (XDR *xdrs, remote_storage_pool_list_volumes_args *objp)
{
  if (!xdr_remote_nonnull_storage_pool (xdrs, &objp->pool))
    return FALSE;
  if (!xdr_int (xdrs, &objp->maxnames))
    return FALSE;
  return TRUE;
}

#line 934 "remote_protocol.x"
bool_t
xdr_remote_storage_pool_list_volumes_ret (XDR *xdrs, remote_storage_pool_list_volumes_ret *objp)
{
  if (!xdr_array (xdrs, &objp->names.names_val, &objp->names.names_len, REMOTE_STORAGE_VOL_NAME_LIST_MAX, sizeof (remote_nonnull_string), (xdrproc_t) xdr_remote_nonnull_string))
    return FALSE;
  return TRUE;
}

#line 943 "remote_protocol.x"
bool_t
xdr_remote_storage_vol_lookup_by_name_args (XDR *xdrs, remote_storage_vol_lookup_by_name_args *objp)
{
  if (!xdr_remote_nonnull_storage_pool (xdrs, &objp->pool))
    return FALSE;
  if (!xdr_remote_nonnull_string (xdrs, &objp->name))
    return FALSE;
  return TRUE;
}

#line 947 "remote_protocol.x"
bool_t
xdr_remote_storage_vol_lookup_by_name_ret (XDR *xdrs, remote_storage_vol_lookup_by_name_ret *objp)
{
  if (!xdr_remote_nonnull_storage_vol (xdrs, &objp->vol))
    return FALSE;
  return TRUE;
}

#line 951 "remote_protocol.x"
bool_t
xdr_remote_storage_vol_lookup_by_key_args (XDR *xdrs, remote_storage_vol_lookup_by_key_args *objp)
{
  if (!xdr_remote_nonnull_string (xdrs, &objp->key))
    return FALSE;
  return TRUE;
}

#line 955 "remote_protocol.x"
bool_t
xdr_remote_storage_vol_lookup_by_key_ret (XDR *xdrs, remote_storage_vol_lookup_by_key_ret *objp)
{
  if (!xdr_remote_nonnull_storage_vol (xdrs, &objp->vol))
    return FALSE;
  return TRUE;
}

#line 959 "remote_protocol.x"
bool_t
xdr_remote_storage_vol_lookup_by_path_args (XDR *xdrs, remote_storage_vol_lookup_by_path_args *objp)
{
  if (!xdr_remote_nonnull_string (xdrs, &objp->path))
    return FALSE;
  return TRUE;
}

#line 963 "remote_protocol.x"
bool_t
xdr_remote_storage_vol_lookup_by_path_ret (XDR *xdrs, remote_storage_vol_lookup_by_path_ret *objp)
{
  if (!xdr_remote_nonnull_storage_vol (xdrs, &objp->vol))
    return FALSE;
  return TRUE;
}

#line 969 "remote_protocol.x"
bool_t
xdr_remote_storage_vol_create_xml_args (XDR *xdrs, remote_storage_vol_create_xml_args *objp)
{
  if (!xdr_remote_nonnull_storage_pool (xdrs, &objp->pool))
    return FALSE;
  if (!xdr_remote_nonnull_string (xdrs, &objp->xml))
    return FALSE;
  if (!xdr_u_int (xdrs, &objp->flags))
    return FALSE;
  return TRUE;
}

#line 973 "remote_protocol.x"
bool_t
xdr_remote_storage_vol_create_xml_ret (XDR *xdrs, remote_storage_vol_create_xml_ret *objp)
{
  if (!xdr_remote_nonnull_storage_vol (xdrs, &objp->vol))
    return FALSE;
  return TRUE;
}

#line 978 "remote_protocol.x"
bool_t
xdr_remote_storage_vol_delete_args (XDR *xdrs, remote_storage_vol_delete_args *objp)
{
  if (!xdr_remote_nonnull_storage_vol (xdrs, &objp->vol))
    return FALSE;
  if (!xdr_u_int (xdrs, &objp->flags))
    return FALSE;
  return TRUE;
}

#line 983 "remote_protocol.x"
bool_t
xdr_remote_storage_vol_dump_xml_args (XDR *xdrs, remote_storage_vol_dump_xml_args *objp)
{
  if (!xdr_remote_nonnull_storage_vol (xdrs, &objp->vol))
    return FALSE;
  if (!xdr_u_int (xdrs, &objp->flags))
    return FALSE;
  return TRUE;
}

#line 987 "remote_protocol.x"
bool_t
xdr_remote_storage_vol_dump_xml_ret (XDR *xdrs, remote_storage_vol_dump_xml_ret *objp)
{
  if (!xdr_remote_nonnull_string (xdrs, &objp->xml))
    return FALSE;
  return TRUE;
}

#line 991 "remote_protocol.x"
bool_t
xdr_remote_storage_vol_get_info_args (XDR *xdrs, remote_storage_vol_get_info_args *objp)
{
  if (!xdr_remote_nonnull_storage_vol (xdrs, &objp->vol))
    return FALSE;
  return TRUE;
}

#line 997 "remote_protocol.x"
bool_t
xdr_remote_storage_vol_get_info_ret (XDR *xdrs, remote_storage_vol_get_info_ret *objp)
{
  if (!xdr_char (xdrs, &objp->type))
    return FALSE;
  if (!xdr_u_quad_t (xdrs, &objp->capacity))
    return FALSE;
  if (!xdr_u_quad_t (xdrs, &objp->allocation))
    return FALSE;
  return TRUE;
}

#line 1001 "remote_protocol.x"
bool_t
xdr_remote_storage_vol_get_path_args (XDR *xdrs, remote_storage_vol_get_path_args *objp)
{
  if (!xdr_remote_nonnull_storage_vol (xdrs, &objp->vol))
    return FALSE;
  return TRUE;
}

#line 1005 "remote_protocol.x"
bool_t
xdr_remote_storage_vol_get_path_ret (XDR *xdrs, remote_storage_vol_get_path_ret *objp)
{
  if (!xdr_remote_nonnull_string (xdrs, &objp->name))
    return FALSE;
  return TRUE;
}

#line 1012 "remote_protocol.x"
bool_t
xdr_remote_node_num_of_devices_args (XDR *xdrs, remote_node_num_of_devices_args *objp)
{
  if (!xdr_remote_string (xdrs, &objp->cap))
    return FALSE;
  if (!xdr_u_int (xdrs, &objp->flags))
    return FALSE;
  return TRUE;
}

#line 1016 "remote_protocol.x"
bool_t
xdr_remote_node_num_of_devices_ret (XDR *xdrs, remote_node_num_of_devices_ret *objp)
{
  if (!xdr_int (xdrs, &objp->num))
    return FALSE;
  return TRUE;
}

#line 1022 "remote_protocol.x"
bool_t
xdr_remote_node_list_devices_args (XDR *xdrs, remote_node_list_devices_args *objp)
{
  if (!xdr_remote_string (xdrs, &objp->cap))
    return FALSE;
  if (!xdr_int (xdrs, &objp->maxnames))
    return FALSE;
  if (!xdr_u_int (xdrs, &objp->flags))
    return FALSE;
  return TRUE;
}

#line 1026 "remote_protocol.x"
bool_t
xdr_remote_node_list_devices_ret (XDR *xdrs, remote_node_list_devices_ret *objp)
{
  if (!xdr_array (xdrs, &objp->names.names_val, &objp->names.names_len, REMOTE_NODE_DEVICE_NAME_LIST_MAX, sizeof (remote_nonnull_string), (xdrproc_t) xdr_remote_nonnull_string))
    return FALSE;
  return TRUE;
}

#line 1030 "remote_protocol.x"
bool_t
xdr_remote_node_device_lookup_by_name_args (XDR *xdrs, remote_node_device_lookup_by_name_args *objp)
{
  if (!xdr_remote_nonnull_string (xdrs, &objp->name))
    return FALSE;
  return TRUE;
}

#line 1034 "remote_protocol.x"
bool_t
xdr_remote_node_device_lookup_by_name_ret (XDR *xdrs, remote_node_device_lookup_by_name_ret *objp)
{
  if (!xdr_remote_nonnull_node_device (xdrs, &objp->dev))
    return FALSE;
  return TRUE;
}

#line 1039 "remote_protocol.x"
bool_t
xdr_remote_node_device_dump_xml_args (XDR *xdrs, remote_node_device_dump_xml_args *objp)
{
  if (!xdr_remote_nonnull_string (xdrs, &objp->name))
    return FALSE;
  if (!xdr_u_int (xdrs, &objp->flags))
    return FALSE;
  return TRUE;
}

#line 1043 "remote_protocol.x"
bool_t
xdr_remote_node_device_dump_xml_ret (XDR *xdrs, remote_node_device_dump_xml_ret *objp)
{
  if (!xdr_remote_nonnull_string (xdrs, &objp->xml))
    return FALSE;
  return TRUE;
}

#line 1047 "remote_protocol.x"
bool_t
xdr_remote_node_device_get_parent_args (XDR *xdrs, remote_node_device_get_parent_args *objp)
{
  if (!xdr_remote_nonnull_string (xdrs, &objp->name))
    return FALSE;
  return TRUE;
}

#line 1051 "remote_protocol.x"
bool_t
xdr_remote_node_device_get_parent_ret (XDR *xdrs, remote_node_device_get_parent_ret *objp)
{
  if (!xdr_remote_string (xdrs, &objp->parent))
    return FALSE;
  return TRUE;
}

#line 1055 "remote_protocol.x"
bool_t
xdr_remote_node_device_num_of_caps_args (XDR *xdrs, remote_node_device_num_of_caps_args *objp)
{
  if (!xdr_remote_nonnull_string (xdrs, &objp->name))
    return FALSE;
  return TRUE;
}

#line 1059 "remote_protocol.x"
bool_t
xdr_remote_node_device_num_of_caps_ret (XDR *xdrs, remote_node_device_num_of_caps_ret *objp)
{
  if (!xdr_int (xdrs, &objp->num))
    return FALSE;
  return TRUE;
}

#line 1064 "remote_protocol.x"
bool_t
xdr_remote_node_device_list_caps_args (XDR *xdrs, remote_node_device_list_caps_args *objp)
{
  if (!xdr_remote_nonnull_string (xdrs, &objp->name))
    return FALSE;
  if (!xdr_int (xdrs, &objp->maxnames))
    return FALSE;
  return TRUE;
}

#line 1068 "remote_protocol.x"
bool_t
xdr_remote_node_device_list_caps_ret (XDR *xdrs, remote_node_device_list_caps_ret *objp)
{
  if (!xdr_array (xdrs, &objp->names.names_val, &objp->names.names_len, REMOTE_NODE_DEVICE_CAPS_LIST_MAX, sizeof (remote_nonnull_string), (xdrproc_t) xdr_remote_nonnull_string))
    return FALSE;
  return TRUE;
}

#line 1079 "remote_protocol.x"
bool_t
xdr_remote_domain_events_register_ret (XDR *xdrs, remote_domain_events_register_ret *objp)
{
  if (!xdr_int (xdrs, &objp->cb_registered))
    return FALSE;
  return TRUE;
}

#line 1083 "remote_protocol.x"
bool_t
xdr_remote_domain_events_deregister_ret (XDR *xdrs, remote_domain_events_deregister_ret *objp)
{
  if (!xdr_int (xdrs, &objp->cb_registered))
    return FALSE;
  return TRUE;
}

#line 1089 "remote_protocol.x"
bool_t
xdr_remote_domain_event_ret (XDR *xdrs, remote_domain_event_ret *objp)
{
  if (!xdr_remote_nonnull_domain (xdrs, &objp->dom))
    return FALSE;
  if (!xdr_int (xdrs, &objp->event))
    return FALSE;
  if (!xdr_int (xdrs, &objp->detail))
    return FALSE;
  return TRUE;
}

#line 1226 "remote_protocol.x"
bool_t
xdr_remote_procedure (XDR *xdrs, remote_procedure *objp)
{
  if (!xdr_enum (xdrs, (enum_t *) objp))
    return FALSE;
  return TRUE;
}

#line 1245 "remote_protocol.x"
bool_t
xdr_remote_message_direction (XDR *xdrs, remote_message_direction *objp)
{
  if (!xdr_enum (xdrs, (enum_t *) objp))
    return FALSE;
  return TRUE;
}

#line 1257 "remote_protocol.x"
bool_t
xdr_remote_message_status (XDR *xdrs, remote_message_status *objp)
{
  if (!xdr_enum (xdrs, (enum_t *) objp))
    return FALSE;
  return TRUE;
}

#line 1269 "remote_protocol.x"
bool_t
xdr_remote_message_header (XDR *xdrs, remote_message_header *objp)
{
  if (!xdr_u_int (xdrs, &objp->prog))
    return FALSE;
  if (!xdr_u_int (xdrs, &objp->vers))
    return FALSE;
  if (!xdr_remote_procedure (xdrs, &objp->proc))
    return FALSE;
  if (!xdr_remote_message_direction (xdrs, &objp->direction))
    return FALSE;
  if (!xdr_u_int (xdrs, &objp->serial))
    return FALSE;
  if (!xdr_remote_message_status (xdrs, &objp->status))
    return FALSE;
  return TRUE;
}

#line 1270 "remote_protocol.x"

/* EOF */


More information about the libvir-list mailing list