[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

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



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
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" &&
/* 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 */
#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 */

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]