libvirt/src/remote/remote_protocol.c

3629 lines
98 KiB
C
Raw Normal View History

#include <config.h>
/*
* Please do not edit this file.
* It was generated using rpcgen.
*/
#include "remote_protocol.h"
#include "internal.h"
#include <arpa/inet.h>
#ifdef HAVE_XDR_U_INT64_T
# define xdr_uint64_t xdr_u_int64_t
#endif
#ifndef IXDR_PUT_INT32
# define IXDR_PUT_INT32 IXDR_PUT_LONG
#endif
#ifndef IXDR_GET_INT32
# define IXDR_GET_INT32 IXDR_GET_LONG
#endif
bool_t
xdr_remote_nonnull_string (XDR *xdrs, remote_nonnull_string *objp)
{
if (!xdr_string (xdrs, objp, REMOTE_STRING_MAX))
return FALSE;
return TRUE;
}
bool_t
xdr_remote_string (XDR *xdrs, remote_string *objp)
{
if (!xdr_pointer (xdrs, (char **)objp, sizeof (remote_nonnull_string), (xdrproc_t) xdr_remote_nonnull_string))
return FALSE;
return TRUE;
}
bool_t
xdr_remote_uuid (XDR *xdrs, remote_uuid objp)
{
if (!xdr_opaque (xdrs, objp, VIR_UUID_BUFLEN))
return FALSE;
return TRUE;
}
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;
}
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;
}
bool_t
xdr_remote_nonnull_nwfilter (XDR *xdrs, remote_nonnull_nwfilter *objp)
{
if (!xdr_remote_nonnull_string (xdrs, &objp->name))
return FALSE;
if (!xdr_remote_uuid (xdrs, objp->uuid))
return FALSE;
return TRUE;
}
bool_t
xdr_remote_nonnull_interface (XDR *xdrs, remote_nonnull_interface *objp)
{
if (!xdr_remote_nonnull_string (xdrs, &objp->name))
return FALSE;
if (!xdr_remote_nonnull_string (xdrs, &objp->mac))
return FALSE;
return TRUE;
}
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;
}
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;
}
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;
}
bool_t
xdr_remote_nonnull_secret (XDR *xdrs, remote_nonnull_secret *objp)
{
Fix UUID handling in secrets/storage encryption APIs Convert all the secret/storage encryption APIs / wire format to handle UUIDs in raw format instead of non-canonical printable format. Guarentees data format correctness. * docs/schemas/storageencryption.rng: Make UUID mandatory for a secret and validate fully * docs/schemas/secret.rng: Fully validate UUID * include/libvirt/libvirt.h, include/libvirt/libvirt.h.in, Add virSecretLookupByUUID and virSecretGetUUID. Make virSecretGetUUIDString follow normal API design pattern * python/generator.py: Skip generation of virSecretGetUUID, virSecretGetUUIDString and virSecretLookupByUUID * python/libvir.c, python/libvirt-python-api.xml: Manual impl of virSecretGetUUID,virSecretGetUUIDString and virSecretLookupByUUID * qemud/remote.c: s/virSecretLookupByUUIDString/virSecretLookupByUUID/ Fix get_nonnull_secret/make_nonnull_secret to use unsigned char * qemud/remote_protocol.x: Fix remote_nonnull_secret to use a remote_uuid instead of remote_nonnull_string for UUID field. Rename REMOTE_PROC_SECRET_LOOKUP_BY_UUID_STRING to REMOTE_PROC_SECRET_LOOKUP_BY_UUID_STRING and make it take an remote_uuid value * qemud/remote_dispatch_args.h, qemud/remote_dispatch_prototypes.h, qemud/remote_dispatch_ret.h, qemud/remote_dispatch_table.h, qemud/remote_protocol.c, qemud/remote_protocol.h: Re-generate * src/datatypes.h, src/datatypes.c: Store UUID in raw format instead of printable. Change virGetSecret to use raw format UUID * src/driver.h: Rename virDrvSecretLookupByUUIDString to virDrvSecretLookupByUUID and use raw format UUID * src/libvirt.c: Add virSecretLookupByUUID and virSecretGetUUID and re-implement virSecretLookupByUUIDString and virSecretGetUUIDString in terms of those * src/libvirt_public.syms: Add virSecretLookupByUUID and virSecretGetUUID * src/remote_internal.c: Rename remoteSecretLookupByUUIDString to remoteSecretLookupByUUID. Fix typo in args for remoteSecretDefineXML impl. Use raw UUID format for get_nonnull_secret and make_nonnull_secret * src/storage_encryption_conf.c, src/storage_encryption_conf.h: Storage UUID in raw format, and require it to be present in XML. Use UUID parser to validate. * secret_conf.h, secret_conf.c: Generate a UUID if none is provided. Storage UUID in raw format. * src/secret_driver.c: Adjust to deal with raw UUIDs. Save secrets in a filed with printable UUID, instead of base64 UUID. * src/virsh.c: Adjust for changed public API contract of virSecretGetUUIDString. * src/storage_Backend.c: DOn't undefine secret we just generated upon successful volume creation. Fix to handle raw UUIDs. Generate a non-clashing UUID * src/qemu_driver.c: Change to use lookupByUUID instead of lookupByUUIDString
2009-09-10 16:44:12 +00:00
if (!xdr_remote_uuid (xdrs, objp->uuid))
return FALSE;
if (!xdr_int (xdrs, &objp->usageType))
return FALSE;
if (!xdr_remote_nonnull_string (xdrs, &objp->usageID))
return FALSE;
return TRUE;
}
bool_t
xdr_remote_nonnull_domain_snapshot (XDR *xdrs, remote_nonnull_domain_snapshot *objp)
{
if (!xdr_remote_nonnull_string (xdrs, &objp->name))
return FALSE;
if (!xdr_remote_nonnull_domain (xdrs, &objp->domain))
return FALSE;
return TRUE;
}
bool_t
xdr_remote_domain (XDR *xdrs, remote_domain *objp)
{
if (!xdr_pointer (xdrs, (char **)objp, sizeof (remote_nonnull_domain), (xdrproc_t) xdr_remote_nonnull_domain))
return FALSE;
return TRUE;
}
bool_t
xdr_remote_network (XDR *xdrs, remote_network *objp)
{
if (!xdr_pointer (xdrs, (char **)objp, sizeof (remote_nonnull_network), (xdrproc_t) xdr_remote_nonnull_network))
return FALSE;
return TRUE;
}
bool_t
xdr_remote_nwfilter (XDR *xdrs, remote_nwfilter *objp)
{
if (!xdr_pointer (xdrs, (char **)objp, sizeof (remote_nonnull_nwfilter), (xdrproc_t) xdr_remote_nonnull_nwfilter))
return FALSE;
return TRUE;
}
bool_t
xdr_remote_storage_pool (XDR *xdrs, remote_storage_pool *objp)
{
if (!xdr_pointer (xdrs, (char **)objp, sizeof (remote_nonnull_storage_pool), (xdrproc_t) xdr_remote_nonnull_storage_pool))
return FALSE;
return TRUE;
}
bool_t
xdr_remote_storage_vol (XDR *xdrs, remote_storage_vol *objp)
{
if (!xdr_pointer (xdrs, (char **)objp, sizeof (remote_nonnull_storage_vol), (xdrproc_t) xdr_remote_nonnull_storage_vol))
return FALSE;
return TRUE;
}
bool_t
xdr_remote_node_device (XDR *xdrs, remote_node_device *objp)
{
if (!xdr_pointer (xdrs, (char **)objp, sizeof (remote_nonnull_node_device), (xdrproc_t) xdr_remote_nonnull_node_device))
return FALSE;
return TRUE;
}
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;
}
bool_t
xdr_remote_auth_type (XDR *xdrs, remote_auth_type *objp)
{
if (!xdr_enum (xdrs, (enum_t *) objp))
return FALSE;
return TRUE;
}
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_uint64_t (xdrs, &objp->cpu_time))
return FALSE;
if (!xdr_int (xdrs, &objp->cpu))
return FALSE;
return TRUE;
}
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:
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_int64_t (xdrs, &objp->remote_sched_param_value_u.l))
return FALSE;
break;
case VIR_DOMAIN_SCHED_FIELD_ULLONG:
if (!xdr_uint64_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;
default:
return FALSE;
}
return TRUE;
}
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;
}
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;
}
bool_t
xdr_remote_supports_feature_args (XDR *xdrs, remote_supports_feature_args *objp)
{
if (!xdr_int (xdrs, &objp->feature))
return FALSE;
return TRUE;
}
bool_t
xdr_remote_supports_feature_ret (XDR *xdrs, remote_supports_feature_ret *objp)
{
if (!xdr_int (xdrs, &objp->supported))
return FALSE;
return TRUE;
}
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;
}
bool_t
xdr_remote_get_version_ret (XDR *xdrs, remote_get_version_ret *objp)
{
if (!xdr_int64_t (xdrs, &objp->hv_ver))
return FALSE;
return TRUE;
}
bool_t
xdr_remote_get_lib_version_ret (XDR *xdrs, remote_get_lib_version_ret *objp)
{
if (!xdr_int64_t (xdrs, &objp->lib_ver))
return FALSE;
return TRUE;
}
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;
}
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;
}
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;
}
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;
}
bool_t
xdr_remote_node_get_info_ret (XDR *xdrs, remote_node_get_info_ret *objp)
{
register int32_t *buf;
if (xdrs->x_op == XDR_ENCODE) {
if (!xdr_vector (xdrs, (char *)objp->model, 32,
sizeof (char), (xdrproc_t) xdr_char))
return FALSE;
if (!xdr_int64_t (xdrs, &objp->memory))
return FALSE;
2009-01-06 18:32:03 +00:00
buf = (int32_t*)XDR_INLINE (xdrs, 6 * BYTES_PER_XDR_UNIT);
if (buf == NULL) {
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;
} else {
(void)IXDR_PUT_INT32(buf, objp->cpus);
(void)IXDR_PUT_INT32(buf, objp->mhz);
(void)IXDR_PUT_INT32(buf, objp->nodes);
(void)IXDR_PUT_INT32(buf, objp->sockets);
(void)IXDR_PUT_INT32(buf, objp->cores);
(void)IXDR_PUT_INT32(buf, objp->threads);
}
return TRUE;
} else if (xdrs->x_op == XDR_DECODE) {
if (!xdr_vector (xdrs, (char *)objp->model, 32,
sizeof (char), (xdrproc_t) xdr_char))
return FALSE;
if (!xdr_int64_t (xdrs, &objp->memory))
return FALSE;
2009-01-06 18:32:03 +00:00
buf = (int32_t*)XDR_INLINE (xdrs, 6 * BYTES_PER_XDR_UNIT);
if (buf == NULL) {
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;
} else {
objp->cpus = IXDR_GET_INT32(buf);
objp->mhz = IXDR_GET_INT32(buf);
objp->nodes = IXDR_GET_INT32(buf);
objp->sockets = IXDR_GET_INT32(buf);
objp->cores = IXDR_GET_INT32(buf);
objp->threads = IXDR_GET_INT32(buf);
}
return TRUE;
}
if (!xdr_vector (xdrs, (char *)objp->model, 32,
sizeof (char), (xdrproc_t) xdr_char))
return FALSE;
if (!xdr_int64_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;
}
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;
}
bool_t
xdr_remote_node_get_cells_free_memory_args (XDR *xdrs, remote_node_get_cells_free_memory_args *objp)
{
if (!xdr_int (xdrs, &objp->startCell))
return FALSE;
if (!xdr_int (xdrs, &objp->maxCells))
return FALSE;
return TRUE;
}
bool_t
xdr_remote_node_get_cells_free_memory_ret (XDR *xdrs, remote_node_get_cells_free_memory_ret *objp)
{
char **objp_cpp0 = (char **) (void *) &objp->freeMems.freeMems_val;
if (!xdr_array (xdrs, objp_cpp0, (u_int *) &objp->freeMems.freeMems_len, REMOTE_NODE_MAX_CELLS,
sizeof (int64_t), (xdrproc_t) xdr_int64_t))
return FALSE;
return TRUE;
}
bool_t
xdr_remote_node_get_free_memory_ret (XDR *xdrs, remote_node_get_free_memory_ret *objp)
{
if (!xdr_int64_t (xdrs, &objp->freeMem))
return FALSE;
return TRUE;
}
bool_t
xdr_remote_domain_get_scheduler_type_args (XDR *xdrs, remote_domain_get_scheduler_type_args *objp)
{
if (!xdr_remote_nonnull_domain (xdrs, &objp->dom))
return FALSE;
return TRUE;
}
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;
}
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;
}
bool_t
xdr_remote_domain_get_scheduler_parameters_ret (XDR *xdrs, remote_domain_get_scheduler_parameters_ret *objp)
{
char **objp_cpp0 = (char **) (void *) &objp->params.params_val;
if (!xdr_array (xdrs, objp_cpp0, (u_int *) &objp->params.params_len, REMOTE_DOMAIN_SCHEDULER_PARAMETERS_MAX,
sizeof (remote_sched_param), (xdrproc_t) xdr_remote_sched_param))
return FALSE;
return TRUE;
}
bool_t
xdr_remote_domain_set_scheduler_parameters_args (XDR *xdrs, remote_domain_set_scheduler_parameters_args *objp)
{
char **objp_cpp0 = (char **) (void *) &objp->params.params_val;
if (!xdr_remote_nonnull_domain (xdrs, &objp->dom))
return FALSE;
if (!xdr_array (xdrs, objp_cpp0, (u_int *) &objp->params.params_len, REMOTE_DOMAIN_SCHEDULER_PARAMETERS_MAX,
sizeof (remote_sched_param), (xdrproc_t) xdr_remote_sched_param))
return FALSE;
return TRUE;
}
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;
}
bool_t
xdr_remote_domain_block_stats_ret (XDR *xdrs, remote_domain_block_stats_ret *objp)
{
if (!xdr_int64_t (xdrs, &objp->rd_req))
return FALSE;
if (!xdr_int64_t (xdrs, &objp->rd_bytes))
return FALSE;
if (!xdr_int64_t (xdrs, &objp->wr_req))
return FALSE;
if (!xdr_int64_t (xdrs, &objp->wr_bytes))
return FALSE;
if (!xdr_int64_t (xdrs, &objp->errs))
return FALSE;
return TRUE;
}
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;
}
bool_t
xdr_remote_domain_interface_stats_ret (XDR *xdrs, remote_domain_interface_stats_ret *objp)
{
if (!xdr_int64_t (xdrs, &objp->rx_bytes))
return FALSE;
if (!xdr_int64_t (xdrs, &objp->rx_packets))
return FALSE;
if (!xdr_int64_t (xdrs, &objp->rx_errs))
return FALSE;
if (!xdr_int64_t (xdrs, &objp->rx_drop))
return FALSE;
if (!xdr_int64_t (xdrs, &objp->tx_bytes))
return FALSE;
if (!xdr_int64_t (xdrs, &objp->tx_packets))
return FALSE;
if (!xdr_int64_t (xdrs, &objp->tx_errs))
return FALSE;
if (!xdr_int64_t (xdrs, &objp->tx_drop))
return FALSE;
return TRUE;
}
bool_t
xdr_remote_domain_memory_stats_args (XDR *xdrs, remote_domain_memory_stats_args *objp)
{
if (!xdr_remote_nonnull_domain (xdrs, &objp->dom))
return FALSE;
if (!xdr_u_int (xdrs, &objp->maxStats))
return FALSE;
if (!xdr_u_int (xdrs, &objp->flags))
return FALSE;
return TRUE;
}
bool_t
xdr_remote_domain_memory_stat (XDR *xdrs, remote_domain_memory_stat *objp)
{
if (!xdr_int (xdrs, &objp->tag))
return FALSE;
if (!xdr_uint64_t (xdrs, &objp->val))
return FALSE;
return TRUE;
}
bool_t
xdr_remote_domain_memory_stats_ret (XDR *xdrs, remote_domain_memory_stats_ret *objp)
{
char **objp_cpp0 = (char **) (void *) &objp->stats.stats_val;
if (!xdr_array (xdrs, objp_cpp0, (u_int *) &objp->stats.stats_len, REMOTE_DOMAIN_MEMORY_STATS_MAX,
sizeof (remote_domain_memory_stat), (xdrproc_t) xdr_remote_domain_memory_stat))
return FALSE;
return TRUE;
}
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_uint64_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;
}
bool_t
xdr_remote_domain_block_peek_ret (XDR *xdrs, remote_domain_block_peek_ret *objp)
{
char **objp_cpp0 = (char **) (void *) &objp->buffer.buffer_val;
if (!xdr_bytes (xdrs, objp_cpp0, (u_int *) &objp->buffer.buffer_len, REMOTE_DOMAIN_BLOCK_PEEK_BUFFER_MAX))
return FALSE;
return TRUE;
}
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_uint64_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;
}
bool_t
xdr_remote_domain_memory_peek_ret (XDR *xdrs, remote_domain_memory_peek_ret *objp)
{
char **objp_cpp0 = (char **) (void *) &objp->buffer.buffer_val;
if (!xdr_bytes (xdrs, objp_cpp0, (u_int *) &objp->buffer.buffer_len, REMOTE_DOMAIN_MEMORY_PEEK_BUFFER_MAX))
return FALSE;
return TRUE;
}
bool_t
xdr_remote_domain_get_block_info_args (XDR *xdrs, remote_domain_get_block_info_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_int (xdrs, &objp->flags))
return FALSE;
return TRUE;
}
bool_t
xdr_remote_domain_get_block_info_ret (XDR *xdrs, remote_domain_get_block_info_ret *objp)
{
if (!xdr_uint64_t (xdrs, &objp->allocation))
return FALSE;
if (!xdr_uint64_t (xdrs, &objp->capacity))
return FALSE;
if (!xdr_uint64_t (xdrs, &objp->physical))
return FALSE;
return TRUE;
}
bool_t
xdr_remote_list_domains_args (XDR *xdrs, remote_list_domains_args *objp)
{
if (!xdr_int (xdrs, &objp->maxids))
return FALSE;
return TRUE;
}
bool_t
xdr_remote_list_domains_ret (XDR *xdrs, remote_list_domains_ret *objp)
{
char **objp_cpp0 = (char **) (void *) &objp->ids.ids_val;
if (!xdr_array (xdrs, objp_cpp0, (u_int *) &objp->ids.ids_len, REMOTE_DOMAIN_ID_LIST_MAX,
sizeof (int), (xdrproc_t) xdr_int))
return FALSE;
return TRUE;
}
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;
}
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;
}
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;
}
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;
}
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;
}
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;
}
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;
}
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;
}
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;
}
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;
}
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;
}
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;
}
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;
}
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;
}
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;
}
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;
}
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;
}
bool_t
xdr_remote_domain_get_max_memory_ret (XDR *xdrs, remote_domain_get_max_memory_ret *objp)
{
if (!xdr_uint64_t (xdrs, &objp->memory))
return FALSE;
return TRUE;
}
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_uint64_t (xdrs, &objp->memory))
return FALSE;
return TRUE;
}
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_uint64_t (xdrs, &objp->memory))
return FALSE;
return TRUE;
}
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;
}
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_uint64_t (xdrs, &objp->max_mem))
return FALSE;
if (!xdr_uint64_t (xdrs, &objp->memory))
return FALSE;
if (!xdr_u_short (xdrs, &objp->nr_virt_cpu))
return FALSE;
if (!xdr_uint64_t (xdrs, &objp->cpu_time))
return FALSE;
return TRUE;
}
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;
}
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;
}
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;
}
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;
}
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;
}
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_uint64_t (xdrs, &objp->flags))
return FALSE;
if (!xdr_remote_string (xdrs, &objp->dname))
return FALSE;
if (!xdr_uint64_t (xdrs, &objp->resource))
return FALSE;
return TRUE;
}
bool_t
xdr_remote_domain_migrate_prepare_ret (XDR *xdrs, remote_domain_migrate_prepare_ret *objp)
{
char **objp_cpp0 = (char **) (void *) &objp->cookie.cookie_val;
if (!xdr_bytes (xdrs, objp_cpp0, (u_int *) &objp->cookie.cookie_len, REMOTE_MIGRATE_COOKIE_MAX))
return FALSE;
if (!xdr_remote_string (xdrs, &objp->uri_out))
return FALSE;
return TRUE;
}
bool_t
xdr_remote_domain_migrate_perform_args (XDR *xdrs, remote_domain_migrate_perform_args *objp)
{
char **objp_cpp0 = (char **) (void *) &objp->cookie.cookie_val;
if (!xdr_remote_nonnull_domain (xdrs, &objp->dom))
return FALSE;
if (!xdr_bytes (xdrs, objp_cpp0, (u_int *) &objp->cookie.cookie_len, REMOTE_MIGRATE_COOKIE_MAX))
return FALSE;
if (!xdr_remote_nonnull_string (xdrs, &objp->uri))
return FALSE;
if (!xdr_uint64_t (xdrs, &objp->flags))
return FALSE;
if (!xdr_remote_string (xdrs, &objp->dname))
return FALSE;
if (!xdr_uint64_t (xdrs, &objp->resource))
return FALSE;
return TRUE;
}
bool_t
xdr_remote_domain_migrate_finish_args (XDR *xdrs, remote_domain_migrate_finish_args *objp)
{
char **objp_cpp0 = (char **) (void *) &objp->cookie.cookie_val;
if (!xdr_remote_nonnull_string (xdrs, &objp->dname))
return FALSE;
if (!xdr_bytes (xdrs, objp_cpp0, (u_int *) &objp->cookie.cookie_len, REMOTE_MIGRATE_COOKIE_MAX))
return FALSE;
if (!xdr_remote_nonnull_string (xdrs, &objp->uri))
return FALSE;
if (!xdr_uint64_t (xdrs, &objp->flags))
return FALSE;
return TRUE;
}
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;
}
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_uint64_t (xdrs, &objp->flags))
return FALSE;
if (!xdr_remote_string (xdrs, &objp->dname))
return FALSE;
if (!xdr_uint64_t (xdrs, &objp->resource))
return FALSE;
if (!xdr_remote_nonnull_string (xdrs, &objp->dom_xml))
return FALSE;
return TRUE;
}
bool_t
xdr_remote_domain_migrate_prepare2_ret (XDR *xdrs, remote_domain_migrate_prepare2_ret *objp)
{
char **objp_cpp0 = (char **) (void *) &objp->cookie.cookie_val;
if (!xdr_bytes (xdrs, objp_cpp0, (u_int *) &objp->cookie.cookie_len, REMOTE_MIGRATE_COOKIE_MAX))
return FALSE;
if (!xdr_remote_string (xdrs, &objp->uri_out))
return FALSE;
return TRUE;
}
bool_t
xdr_remote_domain_migrate_finish2_args (XDR *xdrs, remote_domain_migrate_finish2_args *objp)
{
char **objp_cpp0 = (char **) (void *) &objp->cookie.cookie_val;
if (!xdr_remote_nonnull_string (xdrs, &objp->dname))
return FALSE;
if (!xdr_bytes (xdrs, objp_cpp0, (u_int *) &objp->cookie.cookie_len, REMOTE_MIGRATE_COOKIE_MAX))
return FALSE;
if (!xdr_remote_nonnull_string (xdrs, &objp->uri))
return FALSE;
if (!xdr_uint64_t (xdrs, &objp->flags))
return FALSE;
if (!xdr_int (xdrs, &objp->retcode))
return FALSE;
return TRUE;
}
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;
}
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;
}
bool_t
xdr_remote_list_defined_domains_ret (XDR *xdrs, remote_list_defined_domains_ret *objp)
{
char **objp_cpp0 = (char **) (void *) &objp->names.names_val;
if (!xdr_array (xdrs, objp_cpp0, (u_int *) &objp->names.names_len, REMOTE_DOMAIN_NAME_LIST_MAX,
sizeof (remote_nonnull_string), (xdrproc_t) xdr_remote_nonnull_string))
return FALSE;
return TRUE;
}
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;
}
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;
}
bool_t
xdr_remote_domain_create_with_flags_args (XDR *xdrs, remote_domain_create_with_flags_args *objp)
{
if (!xdr_remote_nonnull_domain (xdrs, &objp->dom))
return FALSE;
if (!xdr_u_int (xdrs, &objp->flags))
return FALSE;
return TRUE;
}
bool_t
xdr_remote_domain_create_with_flags_ret (XDR *xdrs, remote_domain_create_with_flags_ret *objp)
{
if (!xdr_remote_nonnull_domain (xdrs, &objp->dom))
return FALSE;
return TRUE;
}
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;
}
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;
}
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;
}
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;
}
bool_t
xdr_remote_domain_pin_vcpu_args (XDR *xdrs, remote_domain_pin_vcpu_args *objp)
{
char **objp_cpp0 = (char **) (void *) &objp->cpumap.cpumap_val;
if (!xdr_remote_nonnull_domain (xdrs, &objp->dom))
return FALSE;
if (!xdr_int (xdrs, &objp->vcpu))
return FALSE;
if (!xdr_bytes (xdrs, objp_cpp0, (u_int *) &objp->cpumap.cpumap_len, REMOTE_CPUMAP_MAX))
return FALSE;
return TRUE;
}
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;
}
bool_t
xdr_remote_domain_get_vcpus_ret (XDR *xdrs, remote_domain_get_vcpus_ret *objp)
{
char **objp_cpp0 = (char **) (void *) &objp->info.info_val;
char **objp_cpp1 = (char **) (void *) &objp->cpumaps.cpumaps_val;
if (!xdr_array (xdrs, objp_cpp0, (u_int *) &objp->info.info_len, REMOTE_VCPUINFO_MAX,
sizeof (remote_vcpu_info), (xdrproc_t) xdr_remote_vcpu_info))
return FALSE;
if (!xdr_bytes (xdrs, objp_cpp1, (u_int *) &objp->cpumaps.cpumaps_len, REMOTE_CPUMAPS_MAX))
return FALSE;
return TRUE;
}
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;
}
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;
}
bool_t
xdr_remote_domain_get_security_label_args (XDR *xdrs, remote_domain_get_security_label_args *objp)
{
if (!xdr_remote_nonnull_domain (xdrs, &objp->dom))
return FALSE;
return TRUE;
}
bool_t
xdr_remote_domain_get_security_label_ret (XDR *xdrs, remote_domain_get_security_label_ret *objp)
{
char **objp_cpp0 = (char **) (void *) &objp->label.label_val;
if (!xdr_array (xdrs, objp_cpp0, (u_int *) &objp->label.label_len, REMOTE_SECURITY_LABEL_MAX,
sizeof (char), (xdrproc_t) xdr_char))
return FALSE;
if (!xdr_int (xdrs, &objp->enforcing))
return FALSE;
return TRUE;
}
bool_t
xdr_remote_node_get_security_model_ret (XDR *xdrs, remote_node_get_security_model_ret *objp)
{
char **objp_cpp1 = (char **) (void *) &objp->doi.doi_val;
char **objp_cpp0 = (char **) (void *) &objp->model.model_val;
if (!xdr_array (xdrs, objp_cpp0, (u_int *) &objp->model.model_len, REMOTE_SECURITY_MODEL_MAX,
sizeof (char), (xdrproc_t) xdr_char))
return FALSE;
if (!xdr_array (xdrs, objp_cpp1, (u_int *) &objp->doi.doi_len, REMOTE_SECURITY_DOI_MAX,
sizeof (char), (xdrproc_t) xdr_char))
return FALSE;
return TRUE;
}
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;
}
bool_t
xdr_remote_domain_attach_device_flags_args (XDR *xdrs, remote_domain_attach_device_flags_args *objp)
{
if (!xdr_remote_nonnull_domain (xdrs, &objp->dom))
return FALSE;
if (!xdr_remote_nonnull_string (xdrs, &objp->xml))
return FALSE;
if (!xdr_u_int (xdrs, &objp->flags))
return FALSE;
return TRUE;
}
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;
}
bool_t
xdr_remote_domain_detach_device_flags_args (XDR *xdrs, remote_domain_detach_device_flags_args *objp)
{
if (!xdr_remote_nonnull_domain (xdrs, &objp->dom))
return FALSE;
if (!xdr_remote_nonnull_string (xdrs, &objp->xml))
return FALSE;
if (!xdr_u_int (xdrs, &objp->flags))
return FALSE;
return TRUE;
}
bool_t
xdr_remote_domain_update_device_flags_args (XDR *xdrs, remote_domain_update_device_flags_args *objp)
{
if (!xdr_remote_nonnull_domain (xdrs, &objp->dom))
return FALSE;
if (!xdr_remote_nonnull_string (xdrs, &objp->xml))
return FALSE;
if (!xdr_u_int (xdrs, &objp->flags))
return FALSE;
return TRUE;
}
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;
}
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;
}
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;
}
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;
}
bool_t
xdr_remote_list_networks_args (XDR *xdrs, remote_list_networks_args *objp)
{
if (!xdr_int (xdrs, &objp->maxnames))
return FALSE;
return TRUE;
}
bool_t
xdr_remote_list_networks_ret (XDR *xdrs, remote_list_networks_ret *objp)
{
char **objp_cpp0 = (char **) (void *) &objp->names.names_val;
if (!xdr_array (xdrs, objp_cpp0, (u_int *) &objp->names.names_len, REMOTE_NETWORK_NAME_LIST_MAX,
sizeof (remote_nonnull_string), (xdrproc_t) xdr_remote_nonnull_string))
return FALSE;
return TRUE;
}
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;
}
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;
}
bool_t
xdr_remote_list_defined_networks_ret (XDR *xdrs, remote_list_defined_networks_ret *objp)
{
char **objp_cpp0 = (char **) (void *) &objp->names.names_val;
if (!xdr_array (xdrs, objp_cpp0, (u_int *) &objp->names.names_len, REMOTE_NETWORK_NAME_LIST_MAX,
sizeof (remote_nonnull_string), (xdrproc_t) xdr_remote_nonnull_string))
return FALSE;
return TRUE;
}
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;
}
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;
}
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;
}
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;
}
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;
}
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;
}
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;
}
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;
}
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;
}
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;
}
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;
}
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;
}
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;
}
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;
}
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;
}
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;
}
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;
}
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;
}
bool_t
xdr_remote_num_of_nwfilters_ret (XDR *xdrs, remote_num_of_nwfilters_ret *objp)
{
if (!xdr_int (xdrs, &objp->num))
return FALSE;
return TRUE;
}
bool_t
xdr_remote_list_nwfilters_args (XDR *xdrs, remote_list_nwfilters_args *objp)
{
if (!xdr_int (xdrs, &objp->maxnames))
return FALSE;
return TRUE;
}
bool_t
xdr_remote_list_nwfilters_ret (XDR *xdrs, remote_list_nwfilters_ret *objp)
{
char **objp_cpp0 = (char **) (void *) &objp->names.names_val;
if (!xdr_array (xdrs, objp_cpp0, (u_int *) &objp->names.names_len, REMOTE_NWFILTER_NAME_LIST_MAX,
sizeof (remote_nonnull_string), (xdrproc_t) xdr_remote_nonnull_string))
return FALSE;
return TRUE;
}
bool_t
xdr_remote_nwfilter_lookup_by_uuid_args (XDR *xdrs, remote_nwfilter_lookup_by_uuid_args *objp)
{
if (!xdr_remote_uuid (xdrs, objp->uuid))
return FALSE;
return TRUE;
}
bool_t
xdr_remote_nwfilter_lookup_by_uuid_ret (XDR *xdrs, remote_nwfilter_lookup_by_uuid_ret *objp)
{
if (!xdr_remote_nonnull_nwfilter (xdrs, &objp->nwfilter))
return FALSE;
return TRUE;
}
bool_t
xdr_remote_nwfilter_lookup_by_name_args (XDR *xdrs, remote_nwfilter_lookup_by_name_args *objp)
{
if (!xdr_remote_nonnull_string (xdrs, &objp->name))
return FALSE;
return TRUE;
}
bool_t
xdr_remote_nwfilter_lookup_by_name_ret (XDR *xdrs, remote_nwfilter_lookup_by_name_ret *objp)
{
if (!xdr_remote_nonnull_nwfilter (xdrs, &objp->nwfilter))
return FALSE;
return TRUE;
}
bool_t
xdr_remote_nwfilter_define_xml_args (XDR *xdrs, remote_nwfilter_define_xml_args *objp)
{
if (!xdr_remote_nonnull_string (xdrs, &objp->xml))
return FALSE;
return TRUE;
}
bool_t
xdr_remote_nwfilter_define_xml_ret (XDR *xdrs, remote_nwfilter_define_xml_ret *objp)
{
if (!xdr_remote_nonnull_nwfilter (xdrs, &objp->nwfilter))
return FALSE;
return TRUE;
}
bool_t
xdr_remote_nwfilter_undefine_args (XDR *xdrs, remote_nwfilter_undefine_args *objp)
{
if (!xdr_remote_nonnull_nwfilter (xdrs, &objp->nwfilter))
return FALSE;
return TRUE;
}
bool_t
xdr_remote_nwfilter_get_xml_desc_args (XDR *xdrs, remote_nwfilter_get_xml_desc_args *objp)
{
if (!xdr_remote_nonnull_nwfilter (xdrs, &objp->nwfilter))
return FALSE;
if (!xdr_int (xdrs, &objp->flags))
return FALSE;
return TRUE;
}
bool_t
xdr_remote_nwfilter_get_xml_desc_ret (XDR *xdrs, remote_nwfilter_get_xml_desc_ret *objp)
{
if (!xdr_remote_nonnull_string (xdrs, &objp->xml))
return FALSE;
return TRUE;
}
bool_t
xdr_remote_num_of_interfaces_ret (XDR *xdrs, remote_num_of_interfaces_ret *objp)
{
if (!xdr_int (xdrs, &objp->num))
return FALSE;
return TRUE;
}
bool_t
xdr_remote_list_interfaces_args (XDR *xdrs, remote_list_interfaces_args *objp)
{
if (!xdr_int (xdrs, &objp->maxnames))
return FALSE;
return TRUE;
}
bool_t
xdr_remote_list_interfaces_ret (XDR *xdrs, remote_list_interfaces_ret *objp)
{
char **objp_cpp0 = (char **) (void *) &objp->names.names_val;
if (!xdr_array (xdrs, objp_cpp0, (u_int *) &objp->names.names_len, REMOTE_INTERFACE_NAME_LIST_MAX,
sizeof (remote_nonnull_string), (xdrproc_t) xdr_remote_nonnull_string))
return FALSE;
return TRUE;
}
bool_t
xdr_remote_num_of_defined_interfaces_ret (XDR *xdrs, remote_num_of_defined_interfaces_ret *objp)
{
if (!xdr_int (xdrs, &objp->num))
return FALSE;
return TRUE;
}
bool_t
xdr_remote_list_defined_interfaces_args (XDR *xdrs, remote_list_defined_interfaces_args *objp)
{
if (!xdr_int (xdrs, &objp->maxnames))
return FALSE;
return TRUE;
}
bool_t
xdr_remote_list_defined_interfaces_ret (XDR *xdrs, remote_list_defined_interfaces_ret *objp)
{
char **objp_cpp0 = (char **) (void *) &objp->names.names_val;
if (!xdr_array (xdrs, objp_cpp0, (u_int *) &objp->names.names_len, REMOTE_DEFINED_INTERFACE_NAME_LIST_MAX,
sizeof (remote_nonnull_string), (xdrproc_t) xdr_remote_nonnull_string))
return FALSE;
return TRUE;
}
bool_t
xdr_remote_interface_lookup_by_name_args (XDR *xdrs, remote_interface_lookup_by_name_args *objp)
{
if (!xdr_remote_nonnull_string (xdrs, &objp->name))
return FALSE;
return TRUE;
}
bool_t
xdr_remote_interface_lookup_by_name_ret (XDR *xdrs, remote_interface_lookup_by_name_ret *objp)
{
if (!xdr_remote_nonnull_interface (xdrs, &objp->iface))
return FALSE;
return TRUE;
}
bool_t
xdr_remote_interface_lookup_by_mac_string_args (XDR *xdrs, remote_interface_lookup_by_mac_string_args *objp)
{
if (!xdr_remote_nonnull_string (xdrs, &objp->mac))
return FALSE;
return TRUE;
}
bool_t
xdr_remote_interface_lookup_by_mac_string_ret (XDR *xdrs, remote_interface_lookup_by_mac_string_ret *objp)
{
if (!xdr_remote_nonnull_interface (xdrs, &objp->iface))
return FALSE;
return TRUE;
}
bool_t
xdr_remote_interface_get_xml_desc_args (XDR *xdrs, remote_interface_get_xml_desc_args *objp)
{
if (!xdr_remote_nonnull_interface (xdrs, &objp->iface))
return FALSE;
if (!xdr_u_int (xdrs, &objp->flags))
return FALSE;
return TRUE;
}
bool_t
xdr_remote_interface_get_xml_desc_ret (XDR *xdrs, remote_interface_get_xml_desc_ret *objp)
{
if (!xdr_remote_nonnull_string (xdrs, &objp->xml))
return FALSE;
return TRUE;
}
bool_t
xdr_remote_interface_define_xml_args (XDR *xdrs, remote_interface_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;
}
bool_t
xdr_remote_interface_define_xml_ret (XDR *xdrs, remote_interface_define_xml_ret *objp)
{
if (!xdr_remote_nonnull_interface (xdrs, &objp->iface))
return FALSE;
return TRUE;
}
bool_t
xdr_remote_interface_undefine_args (XDR *xdrs, remote_interface_undefine_args *objp)
{
if (!xdr_remote_nonnull_interface (xdrs, &objp->iface))
return FALSE;
return TRUE;
}
bool_t
xdr_remote_interface_create_args (XDR *xdrs, remote_interface_create_args *objp)
{
if (!xdr_remote_nonnull_interface (xdrs, &objp->iface))
return FALSE;
if (!xdr_u_int (xdrs, &objp->flags))
return FALSE;
return TRUE;
}
bool_t
xdr_remote_interface_destroy_args (XDR *xdrs, remote_interface_destroy_args *objp)
{
if (!xdr_remote_nonnull_interface (xdrs, &objp->iface))
return FALSE;
if (!xdr_u_int (xdrs, &objp->flags))
return FALSE;
return TRUE;
}
bool_t
xdr_remote_auth_list_ret (XDR *xdrs, remote_auth_list_ret *objp)
{
char **objp_cpp0 = (char **) (void *) &objp->types.types_val;
if (!xdr_array (xdrs, objp_cpp0, (u_int *) &objp->types.types_len, REMOTE_AUTH_TYPE_LIST_MAX,
sizeof (remote_auth_type), (xdrproc_t) xdr_remote_auth_type))
return FALSE;
return TRUE;
}
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;
}
bool_t
xdr_remote_auth_sasl_start_args (XDR *xdrs, remote_auth_sasl_start_args *objp)
{
char **objp_cpp0 = (char **) (void *) &objp->data.data_val;
if (!xdr_remote_nonnull_string (xdrs, &objp->mech))
return FALSE;
if (!xdr_int (xdrs, &objp->nil))
return FALSE;
if (!xdr_array (xdrs, objp_cpp0, (u_int *) &objp->data.data_len, REMOTE_AUTH_SASL_DATA_MAX,
sizeof (char), (xdrproc_t) xdr_char))
return FALSE;
return TRUE;
}
bool_t
xdr_remote_auth_sasl_start_ret (XDR *xdrs, remote_auth_sasl_start_ret *objp)
{
char **objp_cpp0 = (char **) (void *) &objp->data.data_val;
if (!xdr_int (xdrs, &objp->complete))
return FALSE;
if (!xdr_int (xdrs, &objp->nil))
return FALSE;
if (!xdr_array (xdrs, objp_cpp0, (u_int *) &objp->data.data_len, REMOTE_AUTH_SASL_DATA_MAX,
sizeof (char), (xdrproc_t) xdr_char))
return FALSE;
return TRUE;
}
bool_t
xdr_remote_auth_sasl_step_args (XDR *xdrs, remote_auth_sasl_step_args *objp)
{
char **objp_cpp0 = (char **) (void *) &objp->data.data_val;
if (!xdr_int (xdrs, &objp->nil))
return FALSE;
if (!xdr_array (xdrs, objp_cpp0, (u_int *) &objp->data.data_len, REMOTE_AUTH_SASL_DATA_MAX,
sizeof (char), (xdrproc_t) xdr_char))
return FALSE;
return TRUE;
}
bool_t
xdr_remote_auth_sasl_step_ret (XDR *xdrs, remote_auth_sasl_step_ret *objp)
{
char **objp_cpp0 = (char **) (void *) &objp->data.data_val;
if (!xdr_int (xdrs, &objp->complete))
return FALSE;
if (!xdr_int (xdrs, &objp->nil))
return FALSE;
if (!xdr_array (xdrs, objp_cpp0, (u_int *) &objp->data.data_len, REMOTE_AUTH_SASL_DATA_MAX,
sizeof (char), (xdrproc_t) xdr_char))
return FALSE;
return TRUE;
}
2007-12-05 18:21:27 +00:00
bool_t
xdr_remote_auth_polkit_ret (XDR *xdrs, remote_auth_polkit_ret *objp)
{
if (!xdr_int (xdrs, &objp->complete))
return FALSE;
return TRUE;
2007-12-05 18:21:27 +00:00
}
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;
}
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;
}
bool_t
xdr_remote_list_storage_pools_ret (XDR *xdrs, remote_list_storage_pools_ret *objp)
{
char **objp_cpp0 = (char **) (void *) &objp->names.names_val;
if (!xdr_array (xdrs, objp_cpp0, (u_int *) &objp->names.names_len, REMOTE_STORAGE_POOL_NAME_LIST_MAX,
sizeof (remote_nonnull_string), (xdrproc_t) xdr_remote_nonnull_string))
return FALSE;
return TRUE;
}
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;
}
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;
}
bool_t
xdr_remote_list_defined_storage_pools_ret (XDR *xdrs, remote_list_defined_storage_pools_ret *objp)
{
char **objp_cpp0 = (char **) (void *) &objp->names.names_val;
if (!xdr_array (xdrs, objp_cpp0, (u_int *) &objp->names.names_len, REMOTE_STORAGE_POOL_NAME_LIST_MAX,
sizeof (remote_nonnull_string), (xdrproc_t) xdr_remote_nonnull_string))
return FALSE;
return TRUE;
}
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;
}
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;
}
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;
}
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;
}
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;
}
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;
}
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;
}
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;
}
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;
}
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;
}
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;
}
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;
}
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;
}
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;
}
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;
}
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;
}
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;
}
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;
}
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;
}
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;
}
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;
}
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_uint64_t (xdrs, &objp->capacity))
return FALSE;
if (!xdr_uint64_t (xdrs, &objp->allocation))
return FALSE;
if (!xdr_uint64_t (xdrs, &objp->available))
return FALSE;
return TRUE;
}
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;
}
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;
}
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;
}
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;
}
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;
}
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;
}
bool_t
xdr_remote_storage_pool_list_volumes_ret (XDR *xdrs, remote_storage_pool_list_volumes_ret *objp)
{
char **objp_cpp0 = (char **) (void *) &objp->names.names_val;
if (!xdr_array (xdrs, objp_cpp0, (u_int *) &objp->names.names_len, REMOTE_STORAGE_VOL_NAME_LIST_MAX,
sizeof (remote_nonnull_string), (xdrproc_t) xdr_remote_nonnull_string))
return FALSE;
return TRUE;
}
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;
}
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;
}
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;
}
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;
}
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;
}
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;
}
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;
}
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;
}
bool_t
xdr_remote_storage_vol_create_xml_from_args (XDR *xdrs, remote_storage_vol_create_xml_from_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_remote_nonnull_storage_vol (xdrs, &objp->clonevol))
return FALSE;
if (!xdr_u_int (xdrs, &objp->flags))
return FALSE;
return TRUE;
}
bool_t
xdr_remote_storage_vol_create_xml_from_ret (XDR *xdrs, remote_storage_vol_create_xml_from_ret *objp)
{
if (!xdr_remote_nonnull_storage_vol (xdrs, &objp->vol))
return FALSE;
return TRUE;
}
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;
}
2010-03-01 20:32:35 +00:00
bool_t
xdr_remote_storage_vol_wipe_args (XDR *xdrs, remote_storage_vol_wipe_args *objp)
{
if (!xdr_remote_nonnull_storage_vol (xdrs, &objp->vol))
return FALSE;
if (!xdr_u_int (xdrs, &objp->flags))
return FALSE;
return TRUE;
}
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;
}
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;
}
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;
}
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_uint64_t (xdrs, &objp->capacity))
return FALSE;
if (!xdr_uint64_t (xdrs, &objp->allocation))
return FALSE;
return TRUE;
}
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;
}
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;
}
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;
}
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;
}
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;
}
bool_t
xdr_remote_node_list_devices_ret (XDR *xdrs, remote_node_list_devices_ret *objp)
{
char **objp_cpp0 = (char **) (void *) &objp->names.names_val;
if (!xdr_array (xdrs, objp_cpp0, (u_int *) &objp->names.names_len, REMOTE_NODE_DEVICE_NAME_LIST_MAX,
sizeof (remote_nonnull_string), (xdrproc_t) xdr_remote_nonnull_string))
return FALSE;
return TRUE;
}
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;
}
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;
}
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;
}
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;
}
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;
}
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;
}
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;
}
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;
}
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;
}
bool_t
xdr_remote_node_device_list_caps_ret (XDR *xdrs, remote_node_device_list_caps_ret *objp)
{
char **objp_cpp0 = (char **) (void *) &objp->names.names_val;
if (!xdr_array (xdrs, objp_cpp0, (u_int *) &objp->names.names_len, REMOTE_NODE_DEVICE_CAPS_LIST_MAX,
sizeof (remote_nonnull_string), (xdrproc_t) xdr_remote_nonnull_string))
return FALSE;
return TRUE;
}
bool_t
xdr_remote_node_device_dettach_args (XDR *xdrs, remote_node_device_dettach_args *objp)
{
if (!xdr_remote_nonnull_string (xdrs, &objp->name))
return FALSE;
return TRUE;
}
bool_t
xdr_remote_node_device_re_attach_args (XDR *xdrs, remote_node_device_re_attach_args *objp)
{
if (!xdr_remote_nonnull_string (xdrs, &objp->name))
return FALSE;
return TRUE;
}
bool_t
xdr_remote_node_device_reset_args (XDR *xdrs, remote_node_device_reset_args *objp)
{
if (!xdr_remote_nonnull_string (xdrs, &objp->name))
return FALSE;
return TRUE;
}
bool_t
xdr_remote_node_device_create_xml_args (XDR *xdrs, remote_node_device_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;
}
bool_t
xdr_remote_node_device_create_xml_ret (XDR *xdrs, remote_node_device_create_xml_ret *objp)
{
if (!xdr_remote_nonnull_node_device (xdrs, &objp->dev))
return FALSE;
return TRUE;
}
bool_t
xdr_remote_node_device_destroy_args (XDR *xdrs, remote_node_device_destroy_args *objp)
{
if (!xdr_remote_nonnull_string (xdrs, &objp->name))
return FALSE;
return TRUE;
}
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;
}
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;
}
bool_t
xdr_remote_domain_event_lifecycle_msg (XDR *xdrs, remote_domain_event_lifecycle_msg *objp)
{
if (!xdr_remote_nonnull_domain (xdrs, &objp->dom))
return FALSE;
if (!xdr_int (xdrs, &objp->event))
return FALSE;
2008-11-17 16:43:00 +00:00
if (!xdr_int (xdrs, &objp->detail))
return FALSE;
return TRUE;
}
bool_t
xdr_remote_domain_xml_from_native_args (XDR *xdrs, remote_domain_xml_from_native_args *objp)
{
if (!xdr_remote_nonnull_string (xdrs, &objp->nativeFormat))
return FALSE;
if (!xdr_remote_nonnull_string (xdrs, &objp->nativeConfig))
return FALSE;
if (!xdr_u_int (xdrs, &objp->flags))
return FALSE;
return TRUE;
}
bool_t
xdr_remote_domain_xml_from_native_ret (XDR *xdrs, remote_domain_xml_from_native_ret *objp)
{
if (!xdr_remote_nonnull_string (xdrs, &objp->domainXml))
return FALSE;
return TRUE;
}
bool_t
xdr_remote_domain_xml_to_native_args (XDR *xdrs, remote_domain_xml_to_native_args *objp)
{
if (!xdr_remote_nonnull_string (xdrs, &objp->nativeFormat))
return FALSE;
if (!xdr_remote_nonnull_string (xdrs, &objp->domainXml))
return FALSE;
if (!xdr_u_int (xdrs, &objp->flags))
return FALSE;
return TRUE;
}
bool_t
xdr_remote_domain_xml_to_native_ret (XDR *xdrs, remote_domain_xml_to_native_ret *objp)
{
if (!xdr_remote_nonnull_string (xdrs, &objp->nativeConfig))
return FALSE;
return TRUE;
}
bool_t
xdr_remote_num_of_secrets_ret (XDR *xdrs, remote_num_of_secrets_ret *objp)
{
if (!xdr_int (xdrs, &objp->num))
return FALSE;
return TRUE;
}
bool_t
xdr_remote_list_secrets_args (XDR *xdrs, remote_list_secrets_args *objp)
{
if (!xdr_int (xdrs, &objp->maxuuids))
return FALSE;
return TRUE;
}
bool_t
xdr_remote_list_secrets_ret (XDR *xdrs, remote_list_secrets_ret *objp)
{
char **objp_cpp0 = (char **) (void *) &objp->uuids.uuids_val;
if (!xdr_array (xdrs, objp_cpp0, (u_int *) &objp->uuids.uuids_len, REMOTE_SECRET_UUID_LIST_MAX,
sizeof (remote_nonnull_string), (xdrproc_t) xdr_remote_nonnull_string))
return FALSE;
return TRUE;
}
bool_t
Fix UUID handling in secrets/storage encryption APIs Convert all the secret/storage encryption APIs / wire format to handle UUIDs in raw format instead of non-canonical printable format. Guarentees data format correctness. * docs/schemas/storageencryption.rng: Make UUID mandatory for a secret and validate fully * docs/schemas/secret.rng: Fully validate UUID * include/libvirt/libvirt.h, include/libvirt/libvirt.h.in, Add virSecretLookupByUUID and virSecretGetUUID. Make virSecretGetUUIDString follow normal API design pattern * python/generator.py: Skip generation of virSecretGetUUID, virSecretGetUUIDString and virSecretLookupByUUID * python/libvir.c, python/libvirt-python-api.xml: Manual impl of virSecretGetUUID,virSecretGetUUIDString and virSecretLookupByUUID * qemud/remote.c: s/virSecretLookupByUUIDString/virSecretLookupByUUID/ Fix get_nonnull_secret/make_nonnull_secret to use unsigned char * qemud/remote_protocol.x: Fix remote_nonnull_secret to use a remote_uuid instead of remote_nonnull_string for UUID field. Rename REMOTE_PROC_SECRET_LOOKUP_BY_UUID_STRING to REMOTE_PROC_SECRET_LOOKUP_BY_UUID_STRING and make it take an remote_uuid value * qemud/remote_dispatch_args.h, qemud/remote_dispatch_prototypes.h, qemud/remote_dispatch_ret.h, qemud/remote_dispatch_table.h, qemud/remote_protocol.c, qemud/remote_protocol.h: Re-generate * src/datatypes.h, src/datatypes.c: Store UUID in raw format instead of printable. Change virGetSecret to use raw format UUID * src/driver.h: Rename virDrvSecretLookupByUUIDString to virDrvSecretLookupByUUID and use raw format UUID * src/libvirt.c: Add virSecretLookupByUUID and virSecretGetUUID and re-implement virSecretLookupByUUIDString and virSecretGetUUIDString in terms of those * src/libvirt_public.syms: Add virSecretLookupByUUID and virSecretGetUUID * src/remote_internal.c: Rename remoteSecretLookupByUUIDString to remoteSecretLookupByUUID. Fix typo in args for remoteSecretDefineXML impl. Use raw UUID format for get_nonnull_secret and make_nonnull_secret * src/storage_encryption_conf.c, src/storage_encryption_conf.h: Storage UUID in raw format, and require it to be present in XML. Use UUID parser to validate. * secret_conf.h, secret_conf.c: Generate a UUID if none is provided. Storage UUID in raw format. * src/secret_driver.c: Adjust to deal with raw UUIDs. Save secrets in a filed with printable UUID, instead of base64 UUID. * src/virsh.c: Adjust for changed public API contract of virSecretGetUUIDString. * src/storage_Backend.c: DOn't undefine secret we just generated upon successful volume creation. Fix to handle raw UUIDs. Generate a non-clashing UUID * src/qemu_driver.c: Change to use lookupByUUID instead of lookupByUUIDString
2009-09-10 16:44:12 +00:00
xdr_remote_secret_lookup_by_uuid_args (XDR *xdrs, remote_secret_lookup_by_uuid_args *objp)
{
Fix UUID handling in secrets/storage encryption APIs Convert all the secret/storage encryption APIs / wire format to handle UUIDs in raw format instead of non-canonical printable format. Guarentees data format correctness. * docs/schemas/storageencryption.rng: Make UUID mandatory for a secret and validate fully * docs/schemas/secret.rng: Fully validate UUID * include/libvirt/libvirt.h, include/libvirt/libvirt.h.in, Add virSecretLookupByUUID and virSecretGetUUID. Make virSecretGetUUIDString follow normal API design pattern * python/generator.py: Skip generation of virSecretGetUUID, virSecretGetUUIDString and virSecretLookupByUUID * python/libvir.c, python/libvirt-python-api.xml: Manual impl of virSecretGetUUID,virSecretGetUUIDString and virSecretLookupByUUID * qemud/remote.c: s/virSecretLookupByUUIDString/virSecretLookupByUUID/ Fix get_nonnull_secret/make_nonnull_secret to use unsigned char * qemud/remote_protocol.x: Fix remote_nonnull_secret to use a remote_uuid instead of remote_nonnull_string for UUID field. Rename REMOTE_PROC_SECRET_LOOKUP_BY_UUID_STRING to REMOTE_PROC_SECRET_LOOKUP_BY_UUID_STRING and make it take an remote_uuid value * qemud/remote_dispatch_args.h, qemud/remote_dispatch_prototypes.h, qemud/remote_dispatch_ret.h, qemud/remote_dispatch_table.h, qemud/remote_protocol.c, qemud/remote_protocol.h: Re-generate * src/datatypes.h, src/datatypes.c: Store UUID in raw format instead of printable. Change virGetSecret to use raw format UUID * src/driver.h: Rename virDrvSecretLookupByUUIDString to virDrvSecretLookupByUUID and use raw format UUID * src/libvirt.c: Add virSecretLookupByUUID and virSecretGetUUID and re-implement virSecretLookupByUUIDString and virSecretGetUUIDString in terms of those * src/libvirt_public.syms: Add virSecretLookupByUUID and virSecretGetUUID * src/remote_internal.c: Rename remoteSecretLookupByUUIDString to remoteSecretLookupByUUID. Fix typo in args for remoteSecretDefineXML impl. Use raw UUID format for get_nonnull_secret and make_nonnull_secret * src/storage_encryption_conf.c, src/storage_encryption_conf.h: Storage UUID in raw format, and require it to be present in XML. Use UUID parser to validate. * secret_conf.h, secret_conf.c: Generate a UUID if none is provided. Storage UUID in raw format. * src/secret_driver.c: Adjust to deal with raw UUIDs. Save secrets in a filed with printable UUID, instead of base64 UUID. * src/virsh.c: Adjust for changed public API contract of virSecretGetUUIDString. * src/storage_Backend.c: DOn't undefine secret we just generated upon successful volume creation. Fix to handle raw UUIDs. Generate a non-clashing UUID * src/qemu_driver.c: Change to use lookupByUUID instead of lookupByUUIDString
2009-09-10 16:44:12 +00:00
if (!xdr_remote_uuid (xdrs, objp->uuid))
return FALSE;
return TRUE;
}
bool_t
Fix UUID handling in secrets/storage encryption APIs Convert all the secret/storage encryption APIs / wire format to handle UUIDs in raw format instead of non-canonical printable format. Guarentees data format correctness. * docs/schemas/storageencryption.rng: Make UUID mandatory for a secret and validate fully * docs/schemas/secret.rng: Fully validate UUID * include/libvirt/libvirt.h, include/libvirt/libvirt.h.in, Add virSecretLookupByUUID and virSecretGetUUID. Make virSecretGetUUIDString follow normal API design pattern * python/generator.py: Skip generation of virSecretGetUUID, virSecretGetUUIDString and virSecretLookupByUUID * python/libvir.c, python/libvirt-python-api.xml: Manual impl of virSecretGetUUID,virSecretGetUUIDString and virSecretLookupByUUID * qemud/remote.c: s/virSecretLookupByUUIDString/virSecretLookupByUUID/ Fix get_nonnull_secret/make_nonnull_secret to use unsigned char * qemud/remote_protocol.x: Fix remote_nonnull_secret to use a remote_uuid instead of remote_nonnull_string for UUID field. Rename REMOTE_PROC_SECRET_LOOKUP_BY_UUID_STRING to REMOTE_PROC_SECRET_LOOKUP_BY_UUID_STRING and make it take an remote_uuid value * qemud/remote_dispatch_args.h, qemud/remote_dispatch_prototypes.h, qemud/remote_dispatch_ret.h, qemud/remote_dispatch_table.h, qemud/remote_protocol.c, qemud/remote_protocol.h: Re-generate * src/datatypes.h, src/datatypes.c: Store UUID in raw format instead of printable. Change virGetSecret to use raw format UUID * src/driver.h: Rename virDrvSecretLookupByUUIDString to virDrvSecretLookupByUUID and use raw format UUID * src/libvirt.c: Add virSecretLookupByUUID and virSecretGetUUID and re-implement virSecretLookupByUUIDString and virSecretGetUUIDString in terms of those * src/libvirt_public.syms: Add virSecretLookupByUUID and virSecretGetUUID * src/remote_internal.c: Rename remoteSecretLookupByUUIDString to remoteSecretLookupByUUID. Fix typo in args for remoteSecretDefineXML impl. Use raw UUID format for get_nonnull_secret and make_nonnull_secret * src/storage_encryption_conf.c, src/storage_encryption_conf.h: Storage UUID in raw format, and require it to be present in XML. Use UUID parser to validate. * secret_conf.h, secret_conf.c: Generate a UUID if none is provided. Storage UUID in raw format. * src/secret_driver.c: Adjust to deal with raw UUIDs. Save secrets in a filed with printable UUID, instead of base64 UUID. * src/virsh.c: Adjust for changed public API contract of virSecretGetUUIDString. * src/storage_Backend.c: DOn't undefine secret we just generated upon successful volume creation. Fix to handle raw UUIDs. Generate a non-clashing UUID * src/qemu_driver.c: Change to use lookupByUUID instead of lookupByUUIDString
2009-09-10 16:44:12 +00:00
xdr_remote_secret_lookup_by_uuid_ret (XDR *xdrs, remote_secret_lookup_by_uuid_ret *objp)
{
if (!xdr_remote_nonnull_secret (xdrs, &objp->secret))
return FALSE;
return TRUE;
}
bool_t
xdr_remote_secret_define_xml_args (XDR *xdrs, remote_secret_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;
}
bool_t
xdr_remote_secret_define_xml_ret (XDR *xdrs, remote_secret_define_xml_ret *objp)
{
if (!xdr_remote_nonnull_secret (xdrs, &objp->secret))
return FALSE;
return TRUE;
}
bool_t
xdr_remote_secret_get_xml_desc_args (XDR *xdrs, remote_secret_get_xml_desc_args *objp)
{
if (!xdr_remote_nonnull_secret (xdrs, &objp->secret))
return FALSE;
if (!xdr_u_int (xdrs, &objp->flags))
return FALSE;
return TRUE;
}
bool_t
xdr_remote_secret_get_xml_desc_ret (XDR *xdrs, remote_secret_get_xml_desc_ret *objp)
{
if (!xdr_remote_nonnull_string (xdrs, &objp->xml))
return FALSE;
return TRUE;
}
bool_t
xdr_remote_secret_set_value_args (XDR *xdrs, remote_secret_set_value_args *objp)
{
char **objp_cpp0 = (char **) (void *) &objp->value.value_val;
if (!xdr_remote_nonnull_secret (xdrs, &objp->secret))
return FALSE;
if (!xdr_bytes (xdrs, objp_cpp0, (u_int *) &objp->value.value_len, REMOTE_SECRET_VALUE_MAX))
return FALSE;
if (!xdr_u_int (xdrs, &objp->flags))
return FALSE;
return TRUE;
}
bool_t
xdr_remote_secret_get_value_args (XDR *xdrs, remote_secret_get_value_args *objp)
{
if (!xdr_remote_nonnull_secret (xdrs, &objp->secret))
return FALSE;
if (!xdr_u_int (xdrs, &objp->flags))
return FALSE;
return TRUE;
}
bool_t
xdr_remote_secret_get_value_ret (XDR *xdrs, remote_secret_get_value_ret *objp)
{
char **objp_cpp0 = (char **) (void *) &objp->value.value_val;
if (!xdr_bytes (xdrs, objp_cpp0, (u_int *) &objp->value.value_len, REMOTE_SECRET_VALUE_MAX))
return FALSE;
return TRUE;
}
bool_t
xdr_remote_secret_undefine_args (XDR *xdrs, remote_secret_undefine_args *objp)
{
if (!xdr_remote_nonnull_secret (xdrs, &objp->secret))
return FALSE;
return TRUE;
}
bool_t
xdr_remote_secret_lookup_by_usage_args (XDR *xdrs, remote_secret_lookup_by_usage_args *objp)
{
if (!xdr_int (xdrs, &objp->usageType))
return FALSE;
if (!xdr_remote_nonnull_string (xdrs, &objp->usageID))
return FALSE;
return TRUE;
}
bool_t
xdr_remote_secret_lookup_by_usage_ret (XDR *xdrs, remote_secret_lookup_by_usage_ret *objp)
{
if (!xdr_remote_nonnull_secret (xdrs, &objp->secret))
return FALSE;
return TRUE;
}
bool_t
xdr_remote_domain_migrate_prepare_tunnel_args (XDR *xdrs, remote_domain_migrate_prepare_tunnel_args *objp)
{
if (!xdr_uint64_t (xdrs, &objp->flags))
return FALSE;
if (!xdr_remote_string (xdrs, &objp->dname))
return FALSE;
if (!xdr_uint64_t (xdrs, &objp->resource))
return FALSE;
if (!xdr_remote_nonnull_string (xdrs, &objp->dom_xml))
return FALSE;
return TRUE;
}
bool_t
xdr_remote_is_secure_ret (XDR *xdrs, remote_is_secure_ret *objp)
{
if (!xdr_int (xdrs, &objp->secure))
return FALSE;
return TRUE;
}
bool_t
xdr_remote_domain_is_active_args (XDR *xdrs, remote_domain_is_active_args *objp)
{
if (!xdr_remote_nonnull_domain (xdrs, &objp->dom))
return FALSE;
return TRUE;
}
bool_t
xdr_remote_domain_is_active_ret (XDR *xdrs, remote_domain_is_active_ret *objp)
{
if (!xdr_int (xdrs, &objp->active))
return FALSE;
return TRUE;
}
bool_t
xdr_remote_domain_is_persistent_args (XDR *xdrs, remote_domain_is_persistent_args *objp)
{
if (!xdr_remote_nonnull_domain (xdrs, &objp->dom))
return FALSE;
return TRUE;
}
bool_t
xdr_remote_domain_is_persistent_ret (XDR *xdrs, remote_domain_is_persistent_ret *objp)
{
if (!xdr_int (xdrs, &objp->persistent))
return FALSE;
return TRUE;
}
bool_t
xdr_remote_network_is_active_args (XDR *xdrs, remote_network_is_active_args *objp)
{
if (!xdr_remote_nonnull_network (xdrs, &objp->net))
return FALSE;
return TRUE;
}
bool_t
xdr_remote_network_is_active_ret (XDR *xdrs, remote_network_is_active_ret *objp)
{
if (!xdr_int (xdrs, &objp->active))
return FALSE;
return TRUE;
}
bool_t
xdr_remote_network_is_persistent_args (XDR *xdrs, remote_network_is_persistent_args *objp)
{
if (!xdr_remote_nonnull_network (xdrs, &objp->net))
return FALSE;
return TRUE;
}
bool_t
xdr_remote_network_is_persistent_ret (XDR *xdrs, remote_network_is_persistent_ret *objp)
{
if (!xdr_int (xdrs, &objp->persistent))
return FALSE;
return TRUE;
}
bool_t
xdr_remote_storage_pool_is_active_args (XDR *xdrs, remote_storage_pool_is_active_args *objp)
{
if (!xdr_remote_nonnull_storage_pool (xdrs, &objp->pool))
return FALSE;
return TRUE;
}
bool_t
xdr_remote_storage_pool_is_active_ret (XDR *xdrs, remote_storage_pool_is_active_ret *objp)
{
if (!xdr_int (xdrs, &objp->active))
return FALSE;
return TRUE;
}
bool_t
xdr_remote_storage_pool_is_persistent_args (XDR *xdrs, remote_storage_pool_is_persistent_args *objp)
{
if (!xdr_remote_nonnull_storage_pool (xdrs, &objp->pool))
return FALSE;
return TRUE;
}
bool_t
xdr_remote_storage_pool_is_persistent_ret (XDR *xdrs, remote_storage_pool_is_persistent_ret *objp)
{
if (!xdr_int (xdrs, &objp->persistent))
return FALSE;
return TRUE;
}
bool_t
xdr_remote_interface_is_active_args (XDR *xdrs, remote_interface_is_active_args *objp)
{
if (!xdr_remote_nonnull_interface (xdrs, &objp->iface))
return FALSE;
return TRUE;
}
bool_t
xdr_remote_interface_is_active_ret (XDR *xdrs, remote_interface_is_active_ret *objp)
{
if (!xdr_int (xdrs, &objp->active))
return FALSE;
return TRUE;
}
bool_t
xdr_remote_cpu_compare_args (XDR *xdrs, remote_cpu_compare_args *objp)
{
if (!xdr_remote_nonnull_string (xdrs, &objp->xml))
return FALSE;
if (!xdr_u_int (xdrs, &objp->flags))
return FALSE;
return TRUE;
}
bool_t
xdr_remote_cpu_compare_ret (XDR *xdrs, remote_cpu_compare_ret *objp)
{
if (!xdr_int (xdrs, &objp->result))
return FALSE;
return TRUE;
}
bool_t
xdr_remote_cpu_baseline_args (XDR *xdrs, remote_cpu_baseline_args *objp)
{
char **objp_cpp0 = (char **) (void *) &objp->xmlCPUs.xmlCPUs_val;
if (!xdr_array (xdrs, objp_cpp0, (u_int *) &objp->xmlCPUs.xmlCPUs_len, REMOTE_CPU_BASELINE_MAX,
sizeof (remote_nonnull_string), (xdrproc_t) xdr_remote_nonnull_string))
return FALSE;
if (!xdr_u_int (xdrs, &objp->flags))
return FALSE;
return TRUE;
}
bool_t
xdr_remote_cpu_baseline_ret (XDR *xdrs, remote_cpu_baseline_ret *objp)
{
if (!xdr_remote_nonnull_string (xdrs, &objp->cpu))
return FALSE;
return TRUE;
}
bool_t
xdr_remote_domain_get_job_info_args (XDR *xdrs, remote_domain_get_job_info_args *objp)
{
if (!xdr_remote_nonnull_domain (xdrs, &objp->dom))
return FALSE;
return TRUE;
}
bool_t
xdr_remote_domain_get_job_info_ret (XDR *xdrs, remote_domain_get_job_info_ret *objp)
{
if (!xdr_int (xdrs, &objp->type))
return FALSE;
if (!xdr_uint64_t (xdrs, &objp->timeElapsed))
return FALSE;
if (!xdr_uint64_t (xdrs, &objp->timeRemaining))
return FALSE;
if (!xdr_uint64_t (xdrs, &objp->dataTotal))
return FALSE;
if (!xdr_uint64_t (xdrs, &objp->dataProcessed))
return FALSE;
if (!xdr_uint64_t (xdrs, &objp->dataRemaining))
return FALSE;
if (!xdr_uint64_t (xdrs, &objp->memTotal))
return FALSE;
if (!xdr_uint64_t (xdrs, &objp->memProcessed))
return FALSE;
if (!xdr_uint64_t (xdrs, &objp->memRemaining))
return FALSE;
if (!xdr_uint64_t (xdrs, &objp->fileTotal))
return FALSE;
if (!xdr_uint64_t (xdrs, &objp->fileProcessed))
return FALSE;
if (!xdr_uint64_t (xdrs, &objp->fileRemaining))
return FALSE;
return TRUE;
}
bool_t
xdr_remote_domain_abort_job_args (XDR *xdrs, remote_domain_abort_job_args *objp)
{
if (!xdr_remote_nonnull_domain (xdrs, &objp->dom))
return FALSE;
return TRUE;
}
bool_t
xdr_remote_domain_migrate_set_max_downtime_args (XDR *xdrs, remote_domain_migrate_set_max_downtime_args *objp)
{
if (!xdr_remote_nonnull_domain (xdrs, &objp->dom))
return FALSE;
if (!xdr_uint64_t (xdrs, &objp->downtime))
return FALSE;
if (!xdr_u_int (xdrs, &objp->flags))
return FALSE;
return TRUE;
}
Remote driver & daemon impl of new event API This wires up the remote driver to handle the new events APIs. The public API allows an application to request a callback filters events to a specific domain object, and register multiple callbacks for the same event type. On the wire there are two strategies for this - Register multiple callbacks with the remote daemon, each with filtering as needed - Register only one callback per event type, with no filtering Both approaches have potential inefficiency. In the first scheme, the same event gets sent over the wire many times if multiple callbacks are registered. With the second scheme, unneccessary events get sent over the wire if a per-domain filter is set on the client. The second scheme is far easier to implement though, so this patch takes that approach. * daemon/dispatch.h: Don't export remoteRelayDomainEvent since it is no longer needed for unregistering callbacks, instead the unique callback ID is used * daemon/libvirtd.c, daemon/libvirtd.h: Track and unregister callbacks based on callback ID, instead of function pointer * daemon/remote.c: Switch over to using virConnectDomainEventRegisterAny instead of legacy virConnectDomainEventRegister function. Refactor remoteDispatchDomainEventSend() to cope with arbitrary event types * src/driver.h, src/driver.c: Move verify() call into source file instead of header, to avoid polluting the global namespace with the verify function name * src/remote/remote_driver.c: Implement new APIs for event registration. Refactor processCallDispatchMessage() to cope with arbitrary incoming event types. Merge remoteDomainQueueEvent() into processCallDispatchMessage() to avoid duplication of code. Rename remoteDomainReadEvent() to remoteDomainReadEventLifecycle() * src/remote/remote_protocol.x: Define wire format for the new virConnectDomainEventRegisterAny and virConnectDomainEventDeregisterAny functions
2010-03-18 14:56:56 +00:00
bool_t
xdr_remote_domain_events_register_any_args (XDR *xdrs, remote_domain_events_register_any_args *objp)
{
if (!xdr_int (xdrs, &objp->eventID))
return FALSE;
return TRUE;
}
bool_t
xdr_remote_domain_events_deregister_any_args (XDR *xdrs, remote_domain_events_deregister_any_args *objp)
{
if (!xdr_int (xdrs, &objp->eventID))
return FALSE;
return TRUE;
}
bool_t
xdr_remote_domain_event_reboot_msg (XDR *xdrs, remote_domain_event_reboot_msg *objp)
{
if (!xdr_remote_nonnull_domain (xdrs, &objp->dom))
return FALSE;
return TRUE;
}
bool_t
xdr_remote_domain_event_rtc_change_msg (XDR *xdrs, remote_domain_event_rtc_change_msg *objp)
{
if (!xdr_remote_nonnull_domain (xdrs, &objp->dom))
return FALSE;
if (!xdr_int64_t (xdrs, &objp->offset))
return FALSE;
return TRUE;
}
bool_t
xdr_remote_domain_event_watchdog_msg (XDR *xdrs, remote_domain_event_watchdog_msg *objp)
{
if (!xdr_remote_nonnull_domain (xdrs, &objp->dom))
return FALSE;
if (!xdr_int (xdrs, &objp->action))
return FALSE;
return TRUE;
}
Add support for an explicit IO error event This introduces a new event type VIR_DOMAIN_EVENT_ID_IO_ERROR This event includes the action that is about to be taken as a result of the watchdog triggering typedef enum { VIR_DOMAIN_EVENT_IO_ERROR_NONE = 0, VIR_DOMAIN_EVENT_IO_ERROR_PAUSE, VIR_DOMAIN_EVENT_IO_ERROR_REPORT, } virDomainEventIOErrorAction; In addition it has the source path of the disk that had the error and its unique device alias. It does not include the target device name (/dev/sda), since this would preclude triggering IO errors from other file backed devices (eg serial ports connected to a file) Thus there is a new callback definition for this event type typedef void (*virConnectDomainEventIOErrorCallback)(virConnectPtr conn, virDomainPtr dom, const char *srcPath, const char *devAlias, int action, void *opaque); This is currently wired up to the QEMU block IO error events * daemon/remote.c: Dispatch IO error events to client * examples/domain-events/events-c/event-test.c: Watch for IO error events * include/libvirt/libvirt.h.in: Define new IO error event ID and callback signature * src/conf/domain_event.c, src/conf/domain_event.h, src/libvirt_private.syms: Extend API to handle IO error events * src/qemu/qemu_driver.c: Connect to the QEMU monitor event for block IO errors and emit a libvirt IO error event * src/remote/remote_driver.c: Receive and dispatch IO error events to application * src/remote/remote_protocol.x: Wire protocol definition for IO error events * src/qemu/qemu_monitor.c, src/qemu/qemu_monitor.h, src/qemu/qemu_monitor_json.c: Watch for BLOCK_IO_ERROR event from QEMU monitor
2010-03-18 19:37:44 +00:00
bool_t
xdr_remote_domain_event_io_error_msg (XDR *xdrs, remote_domain_event_io_error_msg *objp)
{
if (!xdr_remote_nonnull_domain (xdrs, &objp->dom))
return FALSE;
if (!xdr_remote_nonnull_string (xdrs, &objp->srcPath))
return FALSE;
if (!xdr_remote_nonnull_string (xdrs, &objp->devAlias))
return FALSE;
if (!xdr_int (xdrs, &objp->action))
return FALSE;
return TRUE;
}
bool_t
xdr_remote_domain_event_io_error_reason_msg (XDR *xdrs, remote_domain_event_io_error_reason_msg *objp)
{
if (!xdr_remote_nonnull_domain (xdrs, &objp->dom))
return FALSE;
if (!xdr_remote_nonnull_string (xdrs, &objp->srcPath))
return FALSE;
if (!xdr_remote_nonnull_string (xdrs, &objp->devAlias))
return FALSE;
if (!xdr_int (xdrs, &objp->action))
return FALSE;
if (!xdr_remote_nonnull_string (xdrs, &objp->reason))
return FALSE;
return TRUE;
}
Add domain events for graphics network clients This introduces a new event type VIR_DOMAIN_EVENT_ID_GRAPHICS The same event can be emitted in 3 scenarios typedef enum { VIR_DOMAIN_EVENT_GRAPHICS_CONNECT = 0, VIR_DOMAIN_EVENT_GRAPHICS_INITIALIZE, VIR_DOMAIN_EVENT_GRAPHICS_DISCONNECT, } virDomainEventGraphicsPhase; Connect/disconnect are triggered at socket accept/close. The initialize phase is immediately after the protocol setup and authentication has completed. ie when the client is authorized and about to start interacting with the graphical desktop This event comes with *a lot* of potential information - IP address, port & address family of client - IP address, port & address family of server - Authentication scheme (arbitrary string) - Authenticated subject identity. A subject may have multiple identities with some authentication schemes. For example, vencrypt+sasl results in a x509dname and saslUsername identities. This results in a very complicated callback :-( typedef enum { VIR_DOMAIN_EVENT_GRAPHICS_ADDRESS_IPV4, VIR_DOMAIN_EVENT_GRAPHICS_ADDRESS_IPV6, } virDomainEventGraphicsAddressType; struct _virDomainEventGraphicsAddress { int family; const char *node; const char *service; }; typedef struct _virDomainEventGraphicsAddress virDomainEventGraphicsAddress; typedef virDomainEventGraphicsAddress *virDomainEventGraphicsAddressPtr; struct _virDomainEventGraphicsSubject { int nidentity; struct { const char *type; const char *name; } *identities; }; typedef struct _virDomainEventGraphicsSubject virDomainEventGraphicsSubject; typedef virDomainEventGraphicsSubject *virDomainEventGraphicsSubjectPtr; typedef void (*virConnectDomainEventGraphicsCallback)(virConnectPtr conn, virDomainPtr dom, int phase, virDomainEventGraphicsAddressPtr local, virDomainEventGraphicsAddressPtr remote, const char *authScheme, virDomainEventGraphicsSubjectPtr subject, void *opaque); The wire protocol is similarly complex struct remote_domain_event_graphics_address { int family; remote_nonnull_string node; remote_nonnull_string service; }; const REMOTE_DOMAIN_EVENT_GRAPHICS_IDENTITY_MAX = 20; struct remote_domain_event_graphics_identity { remote_nonnull_string type; remote_nonnull_string name; }; struct remote_domain_event_graphics_msg { remote_nonnull_domain dom; int phase; remote_domain_event_graphics_address local; remote_domain_event_graphics_address remote; remote_nonnull_string authScheme; remote_domain_event_graphics_identity subject<REMOTE_DOMAIN_EVENT_GRAPHICS_IDENTITY_MAX>; }; This is currently implemented in QEMU for the VNC graphics protocol, but designed to be usable with SPICE graphics in the future too. * daemon/remote.c: Dispatch graphics events to client * examples/domain-events/events-c/event-test.c: Watch for graphics events * include/libvirt/libvirt.h.in: Define new graphics event ID and callback signature * src/conf/domain_event.c, src/conf/domain_event.h, src/libvirt_private.syms: Extend API to handle graphics events * src/qemu/qemu_driver.c: Connect to the QEMU monitor event for VNC events and emit a libvirt graphics event * src/remote/remote_driver.c: Receive and dispatch graphics events to application * src/remote/remote_protocol.x: Wire protocol definition for graphics events * src/qemu/qemu_monitor.c, src/qemu/qemu_monitor.h, src/qemu/qemu_monitor_json.c: Watch for VNC_CONNECTED, VNC_INITIALIZED & VNC_DISCONNETED events from QEMU monitor
2010-03-19 13:27:45 +00:00
bool_t
xdr_remote_domain_event_graphics_address (XDR *xdrs, remote_domain_event_graphics_address *objp)
{
if (!xdr_int (xdrs, &objp->family))
return FALSE;
if (!xdr_remote_nonnull_string (xdrs, &objp->node))
return FALSE;
if (!xdr_remote_nonnull_string (xdrs, &objp->service))
return FALSE;
return TRUE;
}
bool_t
xdr_remote_domain_event_graphics_identity (XDR *xdrs, remote_domain_event_graphics_identity *objp)
{
if (!xdr_remote_nonnull_string (xdrs, &objp->type))
return FALSE;
if (!xdr_remote_nonnull_string (xdrs, &objp->name))
return FALSE;
return TRUE;
}
bool_t
xdr_remote_domain_event_graphics_msg (XDR *xdrs, remote_domain_event_graphics_msg *objp)
{
char **objp_cpp0 = (char **) (void *) &objp->subject.subject_val;
if (!xdr_remote_nonnull_domain (xdrs, &objp->dom))
return FALSE;
if (!xdr_int (xdrs, &objp->phase))
return FALSE;
if (!xdr_remote_domain_event_graphics_address (xdrs, &objp->local))
return FALSE;
if (!xdr_remote_domain_event_graphics_address (xdrs, &objp->remote))
return FALSE;
if (!xdr_remote_nonnull_string (xdrs, &objp->authScheme))
return FALSE;
if (!xdr_array (xdrs, objp_cpp0, (u_int *) &objp->subject.subject_len, REMOTE_DOMAIN_EVENT_GRAPHICS_IDENTITY_MAX,
sizeof (remote_domain_event_graphics_identity), (xdrproc_t) xdr_remote_domain_event_graphics_identity))
return FALSE;
return TRUE;
}
bool_t
xdr_remote_domain_managed_save_args (XDR *xdrs, remote_domain_managed_save_args *objp)
{
if (!xdr_remote_nonnull_domain (xdrs, &objp->dom))
return FALSE;
if (!xdr_u_int (xdrs, &objp->flags))
return FALSE;
return TRUE;
}
bool_t
xdr_remote_domain_has_managed_save_image_args (XDR *xdrs, remote_domain_has_managed_save_image_args *objp)
{
if (!xdr_remote_nonnull_domain (xdrs, &objp->dom))
return FALSE;
if (!xdr_u_int (xdrs, &objp->flags))
return FALSE;
return TRUE;
}
bool_t
xdr_remote_domain_has_managed_save_image_ret (XDR *xdrs, remote_domain_has_managed_save_image_ret *objp)
{
if (!xdr_int (xdrs, &objp->ret))
return FALSE;
return TRUE;
}
bool_t
xdr_remote_domain_managed_save_remove_args (XDR *xdrs, remote_domain_managed_save_remove_args *objp)
{
if (!xdr_remote_nonnull_domain (xdrs, &objp->dom))
return FALSE;
if (!xdr_u_int (xdrs, &objp->flags))
return FALSE;
return TRUE;
}
bool_t
xdr_remote_domain_snapshot_create_xml_args (XDR *xdrs, remote_domain_snapshot_create_xml_args *objp)
{
if (!xdr_remote_nonnull_domain (xdrs, &objp->domain))
return FALSE;
if (!xdr_remote_nonnull_string (xdrs, &objp->xml_desc))
return FALSE;
if (!xdr_int (xdrs, &objp->flags))
return FALSE;
return TRUE;
}
bool_t
xdr_remote_domain_snapshot_create_xml_ret (XDR *xdrs, remote_domain_snapshot_create_xml_ret *objp)
{
if (!xdr_remote_nonnull_domain_snapshot (xdrs, &objp->snap))
return FALSE;
return TRUE;
}
bool_t
xdr_remote_domain_snapshot_dump_xml_args (XDR *xdrs, remote_domain_snapshot_dump_xml_args *objp)
{
if (!xdr_remote_nonnull_domain_snapshot (xdrs, &objp->snap))
return FALSE;
if (!xdr_int (xdrs, &objp->flags))
return FALSE;
return TRUE;
}
bool_t
xdr_remote_domain_snapshot_dump_xml_ret (XDR *xdrs, remote_domain_snapshot_dump_xml_ret *objp)
{
if (!xdr_remote_nonnull_string (xdrs, &objp->xml))
return FALSE;
return TRUE;
}
bool_t
xdr_remote_domain_snapshot_num_args (XDR *xdrs, remote_domain_snapshot_num_args *objp)
{
if (!xdr_remote_nonnull_domain (xdrs, &objp->domain))
return FALSE;
if (!xdr_int (xdrs, &objp->flags))
return FALSE;
return TRUE;
}
bool_t
xdr_remote_domain_snapshot_num_ret (XDR *xdrs, remote_domain_snapshot_num_ret *objp)
{
if (!xdr_int (xdrs, &objp->num))
return FALSE;
return TRUE;
}
bool_t
xdr_remote_domain_snapshot_list_names_args (XDR *xdrs, remote_domain_snapshot_list_names_args *objp)
{
if (!xdr_remote_nonnull_domain (xdrs, &objp->domain))
return FALSE;
if (!xdr_int (xdrs, &objp->nameslen))
return FALSE;
if (!xdr_int (xdrs, &objp->flags))
return FALSE;
return TRUE;
}
bool_t
xdr_remote_domain_snapshot_list_names_ret (XDR *xdrs, remote_domain_snapshot_list_names_ret *objp)
{
char **objp_cpp0 = (char **) (void *) &objp->names.names_val;
if (!xdr_array (xdrs, objp_cpp0, (u_int *) &objp->names.names_len, REMOTE_DOMAIN_SNAPSHOT_LIST_NAMES_MAX,
sizeof (remote_nonnull_string), (xdrproc_t) xdr_remote_nonnull_string))
return FALSE;
return TRUE;
}
bool_t
xdr_remote_domain_snapshot_lookup_by_name_args (XDR *xdrs, remote_domain_snapshot_lookup_by_name_args *objp)
{
if (!xdr_remote_nonnull_domain (xdrs, &objp->domain))
return FALSE;
if (!xdr_remote_nonnull_string (xdrs, &objp->name))
return FALSE;
if (!xdr_int (xdrs, &objp->flags))
return FALSE;
return TRUE;
}
bool_t
xdr_remote_domain_snapshot_lookup_by_name_ret (XDR *xdrs, remote_domain_snapshot_lookup_by_name_ret *objp)
{
if (!xdr_remote_nonnull_domain_snapshot (xdrs, &objp->snap))
return FALSE;
return TRUE;
}
bool_t
xdr_remote_domain_has_current_snapshot_args (XDR *xdrs, remote_domain_has_current_snapshot_args *objp)
{
if (!xdr_remote_nonnull_domain (xdrs, &objp->domain))
return FALSE;
if (!xdr_int (xdrs, &objp->flags))
return FALSE;
return TRUE;
}
bool_t
xdr_remote_domain_has_current_snapshot_ret (XDR *xdrs, remote_domain_has_current_snapshot_ret *objp)
{
if (!xdr_int (xdrs, &objp->result))
return FALSE;
return TRUE;
}
bool_t
xdr_remote_domain_snapshot_current_args (XDR *xdrs, remote_domain_snapshot_current_args *objp)
{
if (!xdr_remote_nonnull_domain (xdrs, &objp->domain))
return FALSE;
if (!xdr_int (xdrs, &objp->flags))
return FALSE;
return TRUE;
}
bool_t
xdr_remote_domain_snapshot_current_ret (XDR *xdrs, remote_domain_snapshot_current_ret *objp)
{
if (!xdr_remote_nonnull_domain_snapshot (xdrs, &objp->snap))
return FALSE;
return TRUE;
}
bool_t
xdr_remote_domain_revert_to_snapshot_args (XDR *xdrs, remote_domain_revert_to_snapshot_args *objp)
{
if (!xdr_remote_nonnull_domain_snapshot (xdrs, &objp->snap))
return FALSE;
if (!xdr_int (xdrs, &objp->flags))
return FALSE;
return TRUE;
}
bool_t
xdr_remote_domain_snapshot_delete_args (XDR *xdrs, remote_domain_snapshot_delete_args *objp)
{
if (!xdr_remote_nonnull_domain_snapshot (xdrs, &objp->snap))
return FALSE;
if (!xdr_int (xdrs, &objp->flags))
return FALSE;
return TRUE;
}
bool_t
xdr_remote_procedure (XDR *xdrs, remote_procedure *objp)
{
if (!xdr_enum (xdrs, (enum_t *) objp))
return FALSE;
return TRUE;
}
bool_t
xdr_remote_message_type (XDR *xdrs, remote_message_type *objp)
{
if (!xdr_enum (xdrs, (enum_t *) objp))
return FALSE;
return TRUE;
}
bool_t
xdr_remote_message_status (XDR *xdrs, remote_message_status *objp)
{
if (!xdr_enum (xdrs, (enum_t *) objp))
return FALSE;
return TRUE;
}
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_type (xdrs, &objp->type))
return FALSE;
if (!xdr_u_int (xdrs, &objp->serial))
return FALSE;
if (!xdr_remote_message_status (xdrs, &objp->status))
return FALSE;
return TRUE;
}