Richard W.M. Jones wrote:
2 Client-server protocol ------------------------ A qemud/remote_protocol.x A qemud/rpcgen_fix.pl A qemud/remote_protocol.c A qemud/remote_protocol.h
These are the additional files required to describe the XDR-based protocol for client-server communications, with the homebrew RPC mechanism on top. The first file is the protocol itself.
The second file is a Perl script to run after rpcgen which allows the code to compile with -Wall -Werror -fstrict-aliasing, and fixes a 64 bit bug (that fix really should go upstream BTW). The strict-aliasing issue isn't fully fixed yet - I expect that eventually we should compile remote_protocol.c with -fno-strict-aliasing, for safety. Daniel Veillard also asked that this be rewritten in Python (pah!) which I might do at the same time.
The last two files are the actual rpcgen-generated rpcgen_fix-fixed code. I put these two files into EXTRA_DIST because I feel that people shouldn't be required to have rpcgen & Perl just to compile libvirt. (These files are arch-independent so there is no need to recompile them unless remote_protocol.x itself changes).
Rich. -- Emerging Technologies, Red Hat http://et.redhat.com/~rjones/ 64 Baker Street, London, W1U 7DF Mobile: +44 7866 314 421 Registered Address: Red Hat UK Ltd, Amberley Place, 107-111 Peascod Street, Windsor, Berkshire, SL4 1TE, United Kingdom. Registered in England and Wales under Company Registration No. 3798903 Directors: Michael Cunningham (USA), Charlie Peters (USA) and David Owens (Ireland)
/* -*- c -*- * remote_protocol.x: private protocol for communicating between * remote_internal driver and libvirtd. This protocol is * internal and may change at any time. * * Copyright (C) 2006-2007 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * * Author: Richard Jones <rjones@xxxxxxxxxx> */ /* Notes: * * (1) The protocol is internal and may change at any time, without * notice. Do not use it. Instead link to libvirt and use the remote * driver. * * (2) See bottom of this file for a description of the home-brew RPC. * * (3) Authentication/encryption is done outside this protocol. * * (4) For namespace reasons, all exported names begin 'remote_' or * 'REMOTE_'. This makes names quite long. */ %#include "libvirt/libvirt.h" /*----- Data types. -----*/ /* Maximum total message size (serialised). */ const REMOTE_MESSAGE_MAX = 262144; /* Length of long, but not unbounded, strings. * This is an arbitrary limit designed to stop the decoder from trying * to allocate unbounded amounts of memory when fed with a bad message. */ const REMOTE_STRING_MAX = 65536; /* A long string, which may NOT be NULL. */ typedef string remote_nonnull_string<REMOTE_STRING_MAX>; /* A long string, which may be NULL. */ typedef remote_nonnull_string *remote_string; /* This just places an upper limit on the length of lists of * domain IDs which may be sent via the protocol. */ const REMOTE_DOMAIN_ID_LIST_MAX = 16384; /* Upper limit on lists of domain names. */ const REMOTE_DOMAIN_NAME_LIST_MAX = 1024; /* Upper limit on cpumap (bytes) passed to virDomainPinVcpu. */ const REMOTE_CPUMAP_MAX = 256; /* Upper limit on number of info fields returned by virDomainGetVcpus. */ const REMOTE_VCPUINFO_MAX = 2048; /* Upper limit on cpumaps (bytes) passed to virDomainGetVcpus. */ const REMOTE_CPUMAPS_MAX = 16384; /* Upper limit on lists of network names. */ const REMOTE_NETWORK_NAME_LIST_MAX = 256; /* UUID. VIR_UUID_BUFLEN definition comes from libvirt.h */ typedef opaque remote_uuid[VIR_UUID_BUFLEN]; /* A domain which may not be NULL. */ struct remote_nonnull_domain { remote_nonnull_string name; remote_uuid uuid; int id; }; /* A network which may not be NULL. */ struct remote_nonnull_network { remote_nonnull_string name; remote_uuid uuid; }; /* A domain or network which may be NULL. */ typedef remote_nonnull_domain *remote_domain; typedef remote_nonnull_network *remote_network; /* Error message. See <virterror.h> for explanation of fields. */ /* NB. Fields "code", "domain" and "level" are really enums. The * numeric value should remain compatible between libvirt and * libvirtd. This means, no changing or reordering the enums as * defined in <virterror.h> (but we don't do that anyway, for separate * ABI reasons). */ struct remote_error { int code; int domain; remote_string message; int level; remote_domain dom; remote_string str1; remote_string str2; remote_string str3; int int1; int int2; remote_network net; }; /* Wire encoding of virVcpuInfo. */ struct remote_vcpu_info { unsigned int number; int state; unsigned hyper cpu_time; int cpu; }; /*----- Calls. -----*/ /* For each call we may have a 'remote_CALL_args' and 'remote_CALL_ret' * type. These are omitted when they are void. The virConnectPtr * is not passed at all (it is inferred on the remote server from the * connection). Errors are returned implicitly in the RPC protocol. * * Please follow the naming convention carefully - this file is * parsed by 'remote_generate_stubs.pl'. */ struct remote_open_args { /* NB. "name" might be NULL although in practice you can't * yet do that using the remote_internal driver. */ remote_string name; int flags; }; struct remote_get_type_ret { remote_nonnull_string type; }; struct remote_get_version_ret { hyper hv_ver; }; struct remote_get_max_vcpus_args { /* The only backend which supports this call is Xen HV, and * there the type is ignored so it could be NULL. */ remote_string type; }; struct remote_get_max_vcpus_ret { int max_vcpus; }; struct remote_node_get_info_ret { char model[32]; hyper memory; int cpus; int mhz; int nodes; int sockets; int cores; int threads; }; struct remote_get_capabilities_ret { remote_nonnull_string capabilities; }; struct remote_list_domains_args { int maxids; }; struct remote_list_domains_ret { int ids<REMOTE_DOMAIN_ID_LIST_MAX>; }; struct remote_num_of_domains_ret { int num; }; struct remote_domain_create_linux_args { remote_nonnull_string xml_desc; int flags; }; struct remote_domain_create_linux_ret { remote_nonnull_domain dom; }; struct remote_domain_lookup_by_id_args { int id; }; struct remote_domain_lookup_by_id_ret { /* XXX "Not found" semantic is ill-defined. */ remote_nonnull_domain dom; }; struct remote_domain_lookup_by_uuid_args { remote_uuid uuid; }; struct remote_domain_lookup_by_uuid_ret { /* XXX "Not found" semantic is ill-defined. */ remote_nonnull_domain dom; }; struct remote_domain_lookup_by_name_args { remote_nonnull_string name; }; struct remote_domain_lookup_by_name_ret { /* XXX "Not found" semantic is ill-defined. */ remote_nonnull_domain dom; }; struct remote_domain_suspend_args { remote_nonnull_domain dom; }; struct remote_domain_resume_args { remote_nonnull_domain dom; }; struct remote_domain_shutdown_args { remote_nonnull_domain dom; }; struct remote_domain_reboot_args { remote_nonnull_domain dom; int flags; }; struct remote_domain_destroy_args { remote_nonnull_domain dom; }; struct remote_domain_get_os_type_args { remote_nonnull_domain dom; }; struct remote_domain_get_os_type_ret { remote_nonnull_string type; }; struct remote_domain_get_max_memory_args { remote_nonnull_domain dom; }; struct remote_domain_get_max_memory_ret { unsigned hyper memory; }; struct remote_domain_set_max_memory_args { remote_nonnull_domain dom; unsigned hyper memory; }; struct remote_domain_set_memory_args { remote_nonnull_domain dom; unsigned hyper memory; }; struct remote_domain_get_info_args { remote_nonnull_domain dom; }; struct remote_domain_get_info_ret { unsigned char state; unsigned hyper max_mem; unsigned hyper memory; unsigned short nr_virt_cpu; /* XXX cpu_time is declared as unsigned long long */ unsigned hyper cpu_time; }; struct remote_domain_save_args { remote_nonnull_domain dom; remote_nonnull_string to; }; struct remote_domain_restore_args { remote_nonnull_string from; }; struct remote_domain_core_dump_args { remote_nonnull_domain dom; remote_nonnull_string to; int flags; }; struct remote_domain_dump_xml_args { remote_nonnull_domain dom; int flags; }; struct remote_domain_dump_xml_ret { remote_nonnull_string xml; }; struct remote_list_defined_domains_args { int maxnames; }; struct remote_list_defined_domains_ret { remote_nonnull_string names<REMOTE_DOMAIN_NAME_LIST_MAX>; }; struct remote_num_of_defined_domains_ret { int num; }; struct remote_domain_create_args { remote_nonnull_domain dom; }; struct remote_domain_define_xml_args { remote_nonnull_string xml; }; struct remote_domain_define_xml_ret { remote_nonnull_domain dom; }; struct remote_domain_undefine_args { remote_nonnull_domain dom; }; struct remote_domain_set_vcpus_args { remote_nonnull_domain dom; int nvcpus; }; struct remote_domain_pin_vcpu_args { remote_nonnull_domain dom; int vcpu; opaque cpumap<REMOTE_CPUMAP_MAX>; }; struct remote_domain_get_vcpus_args { remote_nonnull_domain dom; int maxinfo; int maplen; }; struct remote_domain_get_vcpus_ret { remote_vcpu_info info<REMOTE_VCPUINFO_MAX>; opaque cpumaps<REMOTE_CPUMAPS_MAX>; }; struct remote_domain_get_max_vcpus_args { remote_nonnull_domain dom; }; struct remote_domain_get_max_vcpus_ret { int num; }; struct remote_domain_attach_device_args { remote_nonnull_domain dom; remote_nonnull_string xml; }; struct remote_domain_detach_device_args { remote_nonnull_domain dom; remote_nonnull_string xml; }; struct remote_domain_get_autostart_args { remote_nonnull_domain dom; }; struct remote_domain_get_autostart_ret { int autostart; }; struct remote_domain_set_autostart_args { remote_nonnull_domain dom; int autostart; }; /* Network calls: */ struct remote_num_of_networks_ret { int num; }; struct remote_list_networks_args { int maxnames; }; struct remote_list_networks_ret { remote_nonnull_string names<REMOTE_NETWORK_NAME_LIST_MAX>; }; struct remote_num_of_defined_networks_ret { int num; }; struct remote_list_defined_networks_args { int maxnames; }; struct remote_list_defined_networks_ret { remote_nonnull_string names<REMOTE_NETWORK_NAME_LIST_MAX>; }; struct remote_network_lookup_by_uuid_args { remote_uuid uuid; }; struct remote_network_lookup_by_uuid_ret { /* XXX "Not found" semantic is ill-defined. */ remote_nonnull_network net; }; struct remote_network_lookup_by_name_args { remote_nonnull_string name; }; struct remote_network_lookup_by_name_ret { /* XXX "Not found" semantic is ill-defined. */ remote_nonnull_network net; }; struct remote_network_create_xml_args { remote_nonnull_string xml; }; struct remote_network_create_xml_ret { remote_nonnull_network net; }; struct remote_network_define_xml_args { remote_nonnull_string xml; }; struct remote_network_define_xml_ret { remote_nonnull_network net; }; struct remote_network_undefine_args { remote_nonnull_network net; }; struct remote_network_create_args { remote_nonnull_network net; }; struct remote_network_destroy_args { remote_nonnull_network net; }; struct remote_network_dump_xml_args { remote_nonnull_network net; int flags; }; struct remote_network_dump_xml_ret { remote_nonnull_string xml; }; struct remote_network_get_bridge_name_args { remote_nonnull_network net; }; struct remote_network_get_bridge_name_ret { remote_nonnull_string name; }; struct remote_network_get_autostart_args { remote_nonnull_network net; }; struct remote_network_get_autostart_ret { int autostart; }; struct remote_network_set_autostart_args { remote_nonnull_network net; int autostart; }; /*----- Protocol. -----*/ /* Define the program number, protocol version and procedure numbers here. */ const REMOTE_PROGRAM = 0x20008086; const REMOTE_PROTOCOL_VERSION = 1; enum remote_procedure { REMOTE_PROC_OPEN = 1, REMOTE_PROC_CLOSE = 2, REMOTE_PROC_GET_TYPE = 3, REMOTE_PROC_GET_VERSION = 4, REMOTE_PROC_GET_MAX_VCPUS = 5, REMOTE_PROC_NODE_GET_INFO = 6, REMOTE_PROC_GET_CAPABILITIES = 7, REMOTE_PROC_DOMAIN_ATTACH_DEVICE = 8, REMOTE_PROC_DOMAIN_CREATE = 9, REMOTE_PROC_DOMAIN_CREATE_LINUX = 10, REMOTE_PROC_DOMAIN_DEFINE_XML = 11, REMOTE_PROC_DOMAIN_DESTROY = 12, REMOTE_PROC_DOMAIN_DETACH_DEVICE = 13, REMOTE_PROC_DOMAIN_DUMP_XML = 14, REMOTE_PROC_DOMAIN_GET_AUTOSTART = 15, REMOTE_PROC_DOMAIN_GET_INFO = 16, REMOTE_PROC_DOMAIN_GET_MAX_MEMORY = 17, REMOTE_PROC_DOMAIN_GET_MAX_VCPUS = 18, REMOTE_PROC_DOMAIN_GET_OS_TYPE = 19, REMOTE_PROC_DOMAIN_GET_VCPUS = 20, REMOTE_PROC_LIST_DEFINED_DOMAINS = 21, REMOTE_PROC_DOMAIN_LOOKUP_BY_ID = 22, REMOTE_PROC_DOMAIN_LOOKUP_BY_NAME = 23, REMOTE_PROC_DOMAIN_LOOKUP_BY_UUID = 24, REMOTE_PROC_NUM_OF_DEFINED_DOMAINS = 25, REMOTE_PROC_DOMAIN_PIN_VCPU = 26, REMOTE_PROC_DOMAIN_REBOOT = 27, REMOTE_PROC_DOMAIN_RESUME = 28, REMOTE_PROC_DOMAIN_SET_AUTOSTART = 29, REMOTE_PROC_DOMAIN_SET_MAX_MEMORY = 30, REMOTE_PROC_DOMAIN_SET_MEMORY = 31, REMOTE_PROC_DOMAIN_SET_VCPUS = 32, REMOTE_PROC_DOMAIN_SHUTDOWN = 33, REMOTE_PROC_DOMAIN_SUSPEND = 34, REMOTE_PROC_DOMAIN_UNDEFINE = 35, REMOTE_PROC_LIST_DEFINED_NETWORKS = 36, REMOTE_PROC_LIST_DOMAINS = 37, REMOTE_PROC_LIST_NETWORKS = 38, REMOTE_PROC_NETWORK_CREATE = 39, REMOTE_PROC_NETWORK_CREATE_XML = 40, REMOTE_PROC_NETWORK_DEFINE_XML = 41, REMOTE_PROC_NETWORK_DESTROY = 42, REMOTE_PROC_NETWORK_DUMP_XML = 43, REMOTE_PROC_NETWORK_GET_AUTOSTART = 44, REMOTE_PROC_NETWORK_GET_BRIDGE_NAME = 45, REMOTE_PROC_NETWORK_LOOKUP_BY_NAME = 46, REMOTE_PROC_NETWORK_LOOKUP_BY_UUID = 47, REMOTE_PROC_NETWORK_SET_AUTOSTART = 48, REMOTE_PROC_NETWORK_UNDEFINE = 49, REMOTE_PROC_NUM_OF_DEFINED_NETWORKS = 50, REMOTE_PROC_NUM_OF_DOMAINS = 51, REMOTE_PROC_NUM_OF_NETWORKS = 52, REMOTE_PROC_DOMAIN_CORE_DUMP = 53, REMOTE_PROC_DOMAIN_RESTORE = 54, REMOTE_PROC_DOMAIN_SAVE = 55 }; /* Custom RPC structure. */ /* Each message consists of: * int length Number of bytes in message _including_ length. * remote_message_header Header. * then either: args Arguments (for REMOTE_CALL). * or: ret Return (for REMOTE_REPLY, status = REMOTE_OK) * or: remote_error Error (for REMOTE_REPLY, status = REMOTE_ERROR) * * The first two words (length, program number) are meant to be compatible * with the qemud protocol (qemud/protocol.x), although the rest of the * messages are completely different. */ enum remote_message_direction { REMOTE_CALL = 0, /* client -> server */ REMOTE_REPLY = 1, /* server -> client */ REMOTE_MESSAGE = 2 /* server -> client, asynchronous [NYI] */ }; enum remote_message_status { /* Status is always REMOTE_OK for calls. * For replies, indicates no error. */ REMOTE_OK = 0, /* For replies, indicates that an error happened, and a struct * remote_error follows. */ REMOTE_ERROR = 1 }; struct remote_message_header { unsigned prog; /* REMOTE_PROGRAM */ unsigned vers; /* REMOTE_PROTOCOL_VERSION */ remote_procedure proc; /* REMOTE_PROC_x */ remote_message_direction direction; unsigned serial; /* Serial number of message. */ remote_message_status status; }; /* * vim: set tabstop=4: * vim: set shiftwidth=4: * vim: set expandtab: */ /* * Local variables: * indent-tabs-mode: nil * c-indent-level: 4 * c-basic-offset: 4 * tab-width: 4 * End: */
Attachment:
rpcgen_fix.pl
Description: Perl program
/* * Please do not edit this file. * It was generated using rpcgen. */ #include "remote_protocol.h" #include "libvirt/libvirt.h" 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_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_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_vcpu_info (XDR *xdrs, remote_vcpu_info *objp) { if (!xdr_u_int (xdrs, &objp->number)) return FALSE; if (!xdr_int (xdrs, &objp->state)) return FALSE; if (!xdr_u_quad_t (xdrs, &objp->cpu_time)) return FALSE; if (!xdr_int (xdrs, &objp->cpu)) return FALSE; return TRUE; } 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_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_quad_t (xdrs, &objp->hv_ver)) 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_quad_t (xdrs, &objp->memory)) return FALSE; buf = 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_quad_t (xdrs, &objp->memory)) return FALSE; buf = 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_LONG(buf); objp->mhz = IXDR_GET_LONG(buf); objp->nodes = IXDR_GET_LONG(buf); objp->sockets = IXDR_GET_LONG(buf); objp->cores = IXDR_GET_LONG(buf); objp->threads = IXDR_GET_LONG(buf); } return TRUE; } if (!xdr_vector (xdrs, (char *)objp->model, 32, sizeof (char), (xdrproc_t) xdr_char)) return FALSE; if (!xdr_quad_t (xdrs, &objp->memory)) return FALSE; if (!xdr_int (xdrs, &objp->cpus)) return FALSE; if (!xdr_int (xdrs, &objp->mhz)) return FALSE; if (!xdr_int (xdrs, &objp->nodes)) return FALSE; if (!xdr_int (xdrs, &objp->sockets)) return FALSE; if (!xdr_int (xdrs, &objp->cores)) return FALSE; if (!xdr_int (xdrs, &objp->threads)) return FALSE; return TRUE; } 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_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_linux_args (XDR *xdrs, remote_domain_create_linux_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_linux_ret (XDR *xdrs, remote_domain_create_linux_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_u_quad_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_u_quad_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_u_quad_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_u_quad_t (xdrs, &objp->max_mem)) return FALSE; if (!xdr_u_quad_t (xdrs, &objp->memory)) return FALSE; if (!xdr_u_short (xdrs, &objp->nr_virt_cpu)) return FALSE; if (!xdr_u_quad_t (xdrs, &objp->cpu_time)) return FALSE; return TRUE; } 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_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_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_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_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_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_procedure (XDR *xdrs, remote_procedure *objp) { if (!xdr_enum (xdrs, (enum_t *) objp)) return FALSE; return TRUE; } bool_t xdr_remote_message_direction (XDR *xdrs, remote_message_direction *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_direction (xdrs, &objp->direction)) return FALSE; if (!xdr_u_int (xdrs, &objp->serial)) return FALSE; if (!xdr_remote_message_status (xdrs, &objp->status)) return FALSE; return TRUE; }
/* * Please do not edit this file. * It was generated using rpcgen. */ #ifndef _REMOTE_PROTOCOL_H_RPCGEN #define _REMOTE_PROTOCOL_H_RPCGEN #include <rpc/rpc.h> #ifdef __cplusplus extern "C" { #endif #include "libvirt/libvirt.h" #define REMOTE_MESSAGE_MAX 262144 #define REMOTE_STRING_MAX 65536 typedef char *remote_nonnull_string; typedef remote_nonnull_string *remote_string; #define REMOTE_DOMAIN_ID_LIST_MAX 16384 #define REMOTE_DOMAIN_NAME_LIST_MAX 1024 #define REMOTE_CPUMAP_MAX 256 #define REMOTE_VCPUINFO_MAX 2048 #define REMOTE_CPUMAPS_MAX 16384 #define REMOTE_NETWORK_NAME_LIST_MAX 256 typedef char remote_uuid[VIR_UUID_BUFLEN]; struct remote_nonnull_domain { remote_nonnull_string name; remote_uuid uuid; int id; }; typedef struct remote_nonnull_domain remote_nonnull_domain; struct remote_nonnull_network { remote_nonnull_string name; remote_uuid uuid; }; typedef struct remote_nonnull_network remote_nonnull_network; typedef remote_nonnull_domain *remote_domain; typedef remote_nonnull_network *remote_network; struct remote_error { int code; int domain; remote_string message; int level; remote_domain dom; remote_string str1; remote_string str2; remote_string str3; int int1; int int2; remote_network net; }; typedef struct remote_error remote_error; struct remote_vcpu_info { u_int number; int state; u_quad_t cpu_time; int cpu; }; typedef struct remote_vcpu_info remote_vcpu_info; struct remote_open_args { remote_string name; int flags; }; typedef struct remote_open_args remote_open_args; struct remote_get_type_ret { remote_nonnull_string type; }; typedef struct remote_get_type_ret remote_get_type_ret; struct remote_get_version_ret { quad_t hv_ver; }; typedef struct remote_get_version_ret remote_get_version_ret; struct remote_get_max_vcpus_args { remote_string type; }; typedef struct remote_get_max_vcpus_args remote_get_max_vcpus_args; struct remote_get_max_vcpus_ret { int max_vcpus; }; typedef struct remote_get_max_vcpus_ret remote_get_max_vcpus_ret; struct remote_node_get_info_ret { char model[32]; quad_t memory; int cpus; int mhz; int nodes; int sockets; int cores; int threads; }; typedef struct remote_node_get_info_ret remote_node_get_info_ret; struct remote_get_capabilities_ret { remote_nonnull_string capabilities; }; typedef struct remote_get_capabilities_ret remote_get_capabilities_ret; struct remote_list_domains_args { int maxids; }; typedef struct remote_list_domains_args remote_list_domains_args; struct remote_list_domains_ret { struct { u_int ids_len; int *ids_val; } ids; }; typedef struct remote_list_domains_ret remote_list_domains_ret; struct remote_num_of_domains_ret { int num; }; typedef struct remote_num_of_domains_ret remote_num_of_domains_ret; struct remote_domain_create_linux_args { remote_nonnull_string xml_desc; int flags; }; typedef struct remote_domain_create_linux_args remote_domain_create_linux_args; struct remote_domain_create_linux_ret { remote_nonnull_domain dom; }; typedef struct remote_domain_create_linux_ret remote_domain_create_linux_ret; struct remote_domain_lookup_by_id_args { int id; }; typedef struct remote_domain_lookup_by_id_args remote_domain_lookup_by_id_args; struct remote_domain_lookup_by_id_ret { remote_nonnull_domain dom; }; typedef struct remote_domain_lookup_by_id_ret remote_domain_lookup_by_id_ret; struct remote_domain_lookup_by_uuid_args { remote_uuid uuid; }; typedef struct remote_domain_lookup_by_uuid_args remote_domain_lookup_by_uuid_args; struct remote_domain_lookup_by_uuid_ret { remote_nonnull_domain dom; }; typedef struct remote_domain_lookup_by_uuid_ret remote_domain_lookup_by_uuid_ret; struct remote_domain_lookup_by_name_args { remote_nonnull_string name; }; typedef struct remote_domain_lookup_by_name_args remote_domain_lookup_by_name_args; struct remote_domain_lookup_by_name_ret { remote_nonnull_domain dom; }; typedef struct remote_domain_lookup_by_name_ret remote_domain_lookup_by_name_ret; struct remote_domain_suspend_args { remote_nonnull_domain dom; }; typedef struct remote_domain_suspend_args remote_domain_suspend_args; struct remote_domain_resume_args { remote_nonnull_domain dom; }; typedef struct remote_domain_resume_args remote_domain_resume_args; struct remote_domain_shutdown_args { remote_nonnull_domain dom; }; typedef struct remote_domain_shutdown_args remote_domain_shutdown_args; struct remote_domain_reboot_args { remote_nonnull_domain dom; int flags; }; typedef struct remote_domain_reboot_args remote_domain_reboot_args; struct remote_domain_destroy_args { remote_nonnull_domain dom; }; typedef struct remote_domain_destroy_args remote_domain_destroy_args; struct remote_domain_get_os_type_args { remote_nonnull_domain dom; }; typedef struct remote_domain_get_os_type_args remote_domain_get_os_type_args; struct remote_domain_get_os_type_ret { remote_nonnull_string type; }; typedef struct remote_domain_get_os_type_ret remote_domain_get_os_type_ret; struct remote_domain_get_max_memory_args { remote_nonnull_domain dom; }; typedef struct remote_domain_get_max_memory_args remote_domain_get_max_memory_args; struct remote_domain_get_max_memory_ret { u_quad_t memory; }; typedef struct remote_domain_get_max_memory_ret remote_domain_get_max_memory_ret; struct remote_domain_set_max_memory_args { remote_nonnull_domain dom; u_quad_t memory; }; typedef struct remote_domain_set_max_memory_args remote_domain_set_max_memory_args; struct remote_domain_set_memory_args { remote_nonnull_domain dom; u_quad_t memory; }; typedef struct remote_domain_set_memory_args remote_domain_set_memory_args; struct remote_domain_get_info_args { remote_nonnull_domain dom; }; typedef struct remote_domain_get_info_args remote_domain_get_info_args; struct remote_domain_get_info_ret { u_char state; u_quad_t max_mem; u_quad_t memory; u_short nr_virt_cpu; u_quad_t cpu_time; }; typedef struct remote_domain_get_info_ret remote_domain_get_info_ret; struct remote_domain_save_args { remote_nonnull_domain dom; remote_nonnull_string to; }; typedef struct remote_domain_save_args remote_domain_save_args; struct remote_domain_restore_args { remote_nonnull_string from; }; typedef struct remote_domain_restore_args remote_domain_restore_args; struct remote_domain_core_dump_args { remote_nonnull_domain dom; remote_nonnull_string to; int flags; }; typedef struct remote_domain_core_dump_args remote_domain_core_dump_args; struct remote_domain_dump_xml_args { remote_nonnull_domain dom; int flags; }; typedef struct remote_domain_dump_xml_args remote_domain_dump_xml_args; struct remote_domain_dump_xml_ret { remote_nonnull_string xml; }; typedef struct remote_domain_dump_xml_ret remote_domain_dump_xml_ret; struct remote_list_defined_domains_args { int maxnames; }; typedef struct remote_list_defined_domains_args remote_list_defined_domains_args; struct remote_list_defined_domains_ret { struct { u_int names_len; remote_nonnull_string *names_val; } names; }; typedef struct remote_list_defined_domains_ret remote_list_defined_domains_ret; struct remote_num_of_defined_domains_ret { int num; }; typedef struct remote_num_of_defined_domains_ret remote_num_of_defined_domains_ret; struct remote_domain_create_args { remote_nonnull_domain dom; }; typedef struct remote_domain_create_args remote_domain_create_args; struct remote_domain_define_xml_args { remote_nonnull_string xml; }; typedef struct remote_domain_define_xml_args remote_domain_define_xml_args; struct remote_domain_define_xml_ret { remote_nonnull_domain dom; }; typedef struct remote_domain_define_xml_ret remote_domain_define_xml_ret; struct remote_domain_undefine_args { remote_nonnull_domain dom; }; typedef struct remote_domain_undefine_args remote_domain_undefine_args; struct remote_domain_set_vcpus_args { remote_nonnull_domain dom; int nvcpus; }; typedef struct remote_domain_set_vcpus_args remote_domain_set_vcpus_args; struct remote_domain_pin_vcpu_args { remote_nonnull_domain dom; int vcpu; struct { u_int cpumap_len; char *cpumap_val; } cpumap; }; typedef struct remote_domain_pin_vcpu_args remote_domain_pin_vcpu_args; struct remote_domain_get_vcpus_args { remote_nonnull_domain dom; int maxinfo; int maplen; }; typedef struct remote_domain_get_vcpus_args remote_domain_get_vcpus_args; struct remote_domain_get_vcpus_ret { struct { u_int info_len; remote_vcpu_info *info_val; } info; struct { u_int cpumaps_len; char *cpumaps_val; } cpumaps; }; typedef struct remote_domain_get_vcpus_ret remote_domain_get_vcpus_ret; struct remote_domain_get_max_vcpus_args { remote_nonnull_domain dom; }; typedef struct remote_domain_get_max_vcpus_args remote_domain_get_max_vcpus_args; struct remote_domain_get_max_vcpus_ret { int num; }; typedef struct remote_domain_get_max_vcpus_ret remote_domain_get_max_vcpus_ret; struct remote_domain_attach_device_args { remote_nonnull_domain dom; remote_nonnull_string xml; }; typedef struct remote_domain_attach_device_args remote_domain_attach_device_args; struct remote_domain_detach_device_args { remote_nonnull_domain dom; remote_nonnull_string xml; }; typedef struct remote_domain_detach_device_args remote_domain_detach_device_args; struct remote_domain_get_autostart_args { remote_nonnull_domain dom; }; typedef struct remote_domain_get_autostart_args remote_domain_get_autostart_args; struct remote_domain_get_autostart_ret { int autostart; }; typedef struct remote_domain_get_autostart_ret remote_domain_get_autostart_ret; struct remote_domain_set_autostart_args { remote_nonnull_domain dom; int autostart; }; typedef struct remote_domain_set_autostart_args remote_domain_set_autostart_args; struct remote_num_of_networks_ret { int num; }; typedef struct remote_num_of_networks_ret remote_num_of_networks_ret; struct remote_list_networks_args { int maxnames; }; typedef struct remote_list_networks_args remote_list_networks_args; struct remote_list_networks_ret { struct { u_int names_len; remote_nonnull_string *names_val; } names; }; typedef struct remote_list_networks_ret remote_list_networks_ret; struct remote_num_of_defined_networks_ret { int num; }; typedef struct remote_num_of_defined_networks_ret remote_num_of_defined_networks_ret; struct remote_list_defined_networks_args { int maxnames; }; typedef struct remote_list_defined_networks_args remote_list_defined_networks_args; struct remote_list_defined_networks_ret { struct { u_int names_len; remote_nonnull_string *names_val; } names; }; typedef struct remote_list_defined_networks_ret remote_list_defined_networks_ret; struct remote_network_lookup_by_uuid_args { remote_uuid uuid; }; typedef struct remote_network_lookup_by_uuid_args remote_network_lookup_by_uuid_args; struct remote_network_lookup_by_uuid_ret { remote_nonnull_network net; }; typedef struct remote_network_lookup_by_uuid_ret remote_network_lookup_by_uuid_ret; struct remote_network_lookup_by_name_args { remote_nonnull_string name; }; typedef struct remote_network_lookup_by_name_args remote_network_lookup_by_name_args; struct remote_network_lookup_by_name_ret { remote_nonnull_network net; }; typedef struct remote_network_lookup_by_name_ret remote_network_lookup_by_name_ret; struct remote_network_create_xml_args { remote_nonnull_string xml; }; typedef struct remote_network_create_xml_args remote_network_create_xml_args; struct remote_network_create_xml_ret { remote_nonnull_network net; }; typedef struct remote_network_create_xml_ret remote_network_create_xml_ret; struct remote_network_define_xml_args { remote_nonnull_string xml; }; typedef struct remote_network_define_xml_args remote_network_define_xml_args; struct remote_network_define_xml_ret { remote_nonnull_network net; }; typedef struct remote_network_define_xml_ret remote_network_define_xml_ret; struct remote_network_undefine_args { remote_nonnull_network net; }; typedef struct remote_network_undefine_args remote_network_undefine_args; struct remote_network_create_args { remote_nonnull_network net; }; typedef struct remote_network_create_args remote_network_create_args; struct remote_network_destroy_args { remote_nonnull_network net; }; typedef struct remote_network_destroy_args remote_network_destroy_args; struct remote_network_dump_xml_args { remote_nonnull_network net; int flags; }; typedef struct remote_network_dump_xml_args remote_network_dump_xml_args; struct remote_network_dump_xml_ret { remote_nonnull_string xml; }; typedef struct remote_network_dump_xml_ret remote_network_dump_xml_ret; struct remote_network_get_bridge_name_args { remote_nonnull_network net; }; typedef struct remote_network_get_bridge_name_args remote_network_get_bridge_name_args; struct remote_network_get_bridge_name_ret { remote_nonnull_string name; }; typedef struct remote_network_get_bridge_name_ret remote_network_get_bridge_name_ret; struct remote_network_get_autostart_args { remote_nonnull_network net; }; typedef struct remote_network_get_autostart_args remote_network_get_autostart_args; struct remote_network_get_autostart_ret { int autostart; }; typedef struct remote_network_get_autostart_ret remote_network_get_autostart_ret; struct remote_network_set_autostart_args { remote_nonnull_network net; int autostart; }; typedef struct remote_network_set_autostart_args remote_network_set_autostart_args; #define REMOTE_PROGRAM 0x20008086 #define REMOTE_PROTOCOL_VERSION 1 enum remote_procedure { REMOTE_PROC_OPEN = 1, REMOTE_PROC_CLOSE = 2, REMOTE_PROC_GET_TYPE = 3, REMOTE_PROC_GET_VERSION = 4, REMOTE_PROC_GET_MAX_VCPUS = 5, REMOTE_PROC_NODE_GET_INFO = 6, REMOTE_PROC_GET_CAPABILITIES = 7, REMOTE_PROC_DOMAIN_ATTACH_DEVICE = 8, REMOTE_PROC_DOMAIN_CREATE = 9, REMOTE_PROC_DOMAIN_CREATE_LINUX = 10, REMOTE_PROC_DOMAIN_DEFINE_XML = 11, REMOTE_PROC_DOMAIN_DESTROY = 12, REMOTE_PROC_DOMAIN_DETACH_DEVICE = 13, REMOTE_PROC_DOMAIN_DUMP_XML = 14, REMOTE_PROC_DOMAIN_GET_AUTOSTART = 15, REMOTE_PROC_DOMAIN_GET_INFO = 16, REMOTE_PROC_DOMAIN_GET_MAX_MEMORY = 17, REMOTE_PROC_DOMAIN_GET_MAX_VCPUS = 18, REMOTE_PROC_DOMAIN_GET_OS_TYPE = 19, REMOTE_PROC_DOMAIN_GET_VCPUS = 20, REMOTE_PROC_LIST_DEFINED_DOMAINS = 21, REMOTE_PROC_DOMAIN_LOOKUP_BY_ID = 22, REMOTE_PROC_DOMAIN_LOOKUP_BY_NAME = 23, REMOTE_PROC_DOMAIN_LOOKUP_BY_UUID = 24, REMOTE_PROC_NUM_OF_DEFINED_DOMAINS = 25, REMOTE_PROC_DOMAIN_PIN_VCPU = 26, REMOTE_PROC_DOMAIN_REBOOT = 27, REMOTE_PROC_DOMAIN_RESUME = 28, REMOTE_PROC_DOMAIN_SET_AUTOSTART = 29, REMOTE_PROC_DOMAIN_SET_MAX_MEMORY = 30, REMOTE_PROC_DOMAIN_SET_MEMORY = 31, REMOTE_PROC_DOMAIN_SET_VCPUS = 32, REMOTE_PROC_DOMAIN_SHUTDOWN = 33, REMOTE_PROC_DOMAIN_SUSPEND = 34, REMOTE_PROC_DOMAIN_UNDEFINE = 35, REMOTE_PROC_LIST_DEFINED_NETWORKS = 36, REMOTE_PROC_LIST_DOMAINS = 37, REMOTE_PROC_LIST_NETWORKS = 38, REMOTE_PROC_NETWORK_CREATE = 39, REMOTE_PROC_NETWORK_CREATE_XML = 40, REMOTE_PROC_NETWORK_DEFINE_XML = 41, REMOTE_PROC_NETWORK_DESTROY = 42, REMOTE_PROC_NETWORK_DUMP_XML = 43, REMOTE_PROC_NETWORK_GET_AUTOSTART = 44, REMOTE_PROC_NETWORK_GET_BRIDGE_NAME = 45, REMOTE_PROC_NETWORK_LOOKUP_BY_NAME = 46, REMOTE_PROC_NETWORK_LOOKUP_BY_UUID = 47, REMOTE_PROC_NETWORK_SET_AUTOSTART = 48, REMOTE_PROC_NETWORK_UNDEFINE = 49, REMOTE_PROC_NUM_OF_DEFINED_NETWORKS = 50, REMOTE_PROC_NUM_OF_DOMAINS = 51, REMOTE_PROC_NUM_OF_NETWORKS = 52, REMOTE_PROC_DOMAIN_CORE_DUMP = 53, REMOTE_PROC_DOMAIN_RESTORE = 54, REMOTE_PROC_DOMAIN_SAVE = 55, }; typedef enum remote_procedure remote_procedure; enum remote_message_direction { REMOTE_CALL = 0, REMOTE_REPLY = 1, REMOTE_MESSAGE = 2, }; typedef enum remote_message_direction remote_message_direction; enum remote_message_status { REMOTE_OK = 0, REMOTE_ERROR = 1, }; typedef enum remote_message_status remote_message_status; struct remote_message_header { u_int prog; u_int vers; remote_procedure proc; remote_message_direction direction; u_int serial; remote_message_status status; }; typedef struct remote_message_header remote_message_header; /* the xdr functions */ #if defined(__STDC__) || defined(__cplusplus) extern bool_t xdr_remote_nonnull_string (XDR *, remote_nonnull_string*); extern bool_t xdr_remote_string (XDR *, remote_string*); extern bool_t xdr_remote_uuid (XDR *, remote_uuid); extern bool_t xdr_remote_nonnull_domain (XDR *, remote_nonnull_domain*); extern bool_t xdr_remote_nonnull_network (XDR *, remote_nonnull_network*); extern bool_t xdr_remote_domain (XDR *, remote_domain*); extern bool_t xdr_remote_network (XDR *, remote_network*); extern bool_t xdr_remote_error (XDR *, remote_error*); extern bool_t xdr_remote_vcpu_info (XDR *, remote_vcpu_info*); extern bool_t xdr_remote_open_args (XDR *, remote_open_args*); extern bool_t xdr_remote_get_type_ret (XDR *, remote_get_type_ret*); extern bool_t xdr_remote_get_version_ret (XDR *, remote_get_version_ret*); extern bool_t xdr_remote_get_max_vcpus_args (XDR *, remote_get_max_vcpus_args*); extern bool_t xdr_remote_get_max_vcpus_ret (XDR *, remote_get_max_vcpus_ret*); extern bool_t xdr_remote_node_get_info_ret (XDR *, remote_node_get_info_ret*); extern bool_t xdr_remote_get_capabilities_ret (XDR *, remote_get_capabilities_ret*); extern bool_t xdr_remote_list_domains_args (XDR *, remote_list_domains_args*); extern bool_t xdr_remote_list_domains_ret (XDR *, remote_list_domains_ret*); extern bool_t xdr_remote_num_of_domains_ret (XDR *, remote_num_of_domains_ret*); extern bool_t xdr_remote_domain_create_linux_args (XDR *, remote_domain_create_linux_args*); extern bool_t xdr_remote_domain_create_linux_ret (XDR *, remote_domain_create_linux_ret*); extern bool_t xdr_remote_domain_lookup_by_id_args (XDR *, remote_domain_lookup_by_id_args*); extern bool_t xdr_remote_domain_lookup_by_id_ret (XDR *, remote_domain_lookup_by_id_ret*); extern bool_t xdr_remote_domain_lookup_by_uuid_args (XDR *, remote_domain_lookup_by_uuid_args*); extern bool_t xdr_remote_domain_lookup_by_uuid_ret (XDR *, remote_domain_lookup_by_uuid_ret*); extern bool_t xdr_remote_domain_lookup_by_name_args (XDR *, remote_domain_lookup_by_name_args*); extern bool_t xdr_remote_domain_lookup_by_name_ret (XDR *, remote_domain_lookup_by_name_ret*); extern bool_t xdr_remote_domain_suspend_args (XDR *, remote_domain_suspend_args*); extern bool_t xdr_remote_domain_resume_args (XDR *, remote_domain_resume_args*); extern bool_t xdr_remote_domain_shutdown_args (XDR *, remote_domain_shutdown_args*); extern bool_t xdr_remote_domain_reboot_args (XDR *, remote_domain_reboot_args*); extern bool_t xdr_remote_domain_destroy_args (XDR *, remote_domain_destroy_args*); extern bool_t xdr_remote_domain_get_os_type_args (XDR *, remote_domain_get_os_type_args*); extern bool_t xdr_remote_domain_get_os_type_ret (XDR *, remote_domain_get_os_type_ret*); extern bool_t xdr_remote_domain_get_max_memory_args (XDR *, remote_domain_get_max_memory_args*); extern bool_t xdr_remote_domain_get_max_memory_ret (XDR *, remote_domain_get_max_memory_ret*); extern bool_t xdr_remote_domain_set_max_memory_args (XDR *, remote_domain_set_max_memory_args*); extern bool_t xdr_remote_domain_set_memory_args (XDR *, remote_domain_set_memory_args*); extern bool_t xdr_remote_domain_get_info_args (XDR *, remote_domain_get_info_args*); extern bool_t xdr_remote_domain_get_info_ret (XDR *, remote_domain_get_info_ret*); extern bool_t xdr_remote_domain_save_args (XDR *, remote_domain_save_args*); extern bool_t xdr_remote_domain_restore_args (XDR *, remote_domain_restore_args*); extern bool_t xdr_remote_domain_core_dump_args (XDR *, remote_domain_core_dump_args*); extern bool_t xdr_remote_domain_dump_xml_args (XDR *, remote_domain_dump_xml_args*); extern bool_t xdr_remote_domain_dump_xml_ret (XDR *, remote_domain_dump_xml_ret*); extern bool_t xdr_remote_list_defined_domains_args (XDR *, remote_list_defined_domains_args*); extern bool_t xdr_remote_list_defined_domains_ret (XDR *, remote_list_defined_domains_ret*); extern bool_t xdr_remote_num_of_defined_domains_ret (XDR *, remote_num_of_defined_domains_ret*); extern bool_t xdr_remote_domain_create_args (XDR *, remote_domain_create_args*); extern bool_t xdr_remote_domain_define_xml_args (XDR *, remote_domain_define_xml_args*); extern bool_t xdr_remote_domain_define_xml_ret (XDR *, remote_domain_define_xml_ret*); extern bool_t xdr_remote_domain_undefine_args (XDR *, remote_domain_undefine_args*); extern bool_t xdr_remote_domain_set_vcpus_args (XDR *, remote_domain_set_vcpus_args*); extern bool_t xdr_remote_domain_pin_vcpu_args (XDR *, remote_domain_pin_vcpu_args*); extern bool_t xdr_remote_domain_get_vcpus_args (XDR *, remote_domain_get_vcpus_args*); extern bool_t xdr_remote_domain_get_vcpus_ret (XDR *, remote_domain_get_vcpus_ret*); extern bool_t xdr_remote_domain_get_max_vcpus_args (XDR *, remote_domain_get_max_vcpus_args*); extern bool_t xdr_remote_domain_get_max_vcpus_ret (XDR *, remote_domain_get_max_vcpus_ret*); extern bool_t xdr_remote_domain_attach_device_args (XDR *, remote_domain_attach_device_args*); extern bool_t xdr_remote_domain_detach_device_args (XDR *, remote_domain_detach_device_args*); extern bool_t xdr_remote_domain_get_autostart_args (XDR *, remote_domain_get_autostart_args*); extern bool_t xdr_remote_domain_get_autostart_ret (XDR *, remote_domain_get_autostart_ret*); extern bool_t xdr_remote_domain_set_autostart_args (XDR *, remote_domain_set_autostart_args*); extern bool_t xdr_remote_num_of_networks_ret (XDR *, remote_num_of_networks_ret*); extern bool_t xdr_remote_list_networks_args (XDR *, remote_list_networks_args*); extern bool_t xdr_remote_list_networks_ret (XDR *, remote_list_networks_ret*); extern bool_t xdr_remote_num_of_defined_networks_ret (XDR *, remote_num_of_defined_networks_ret*); extern bool_t xdr_remote_list_defined_networks_args (XDR *, remote_list_defined_networks_args*); extern bool_t xdr_remote_list_defined_networks_ret (XDR *, remote_list_defined_networks_ret*); extern bool_t xdr_remote_network_lookup_by_uuid_args (XDR *, remote_network_lookup_by_uuid_args*); extern bool_t xdr_remote_network_lookup_by_uuid_ret (XDR *, remote_network_lookup_by_uuid_ret*); extern bool_t xdr_remote_network_lookup_by_name_args (XDR *, remote_network_lookup_by_name_args*); extern bool_t xdr_remote_network_lookup_by_name_ret (XDR *, remote_network_lookup_by_name_ret*); extern bool_t xdr_remote_network_create_xml_args (XDR *, remote_network_create_xml_args*); extern bool_t xdr_remote_network_create_xml_ret (XDR *, remote_network_create_xml_ret*); extern bool_t xdr_remote_network_define_xml_args (XDR *, remote_network_define_xml_args*); extern bool_t xdr_remote_network_define_xml_ret (XDR *, remote_network_define_xml_ret*); extern bool_t xdr_remote_network_undefine_args (XDR *, remote_network_undefine_args*); extern bool_t xdr_remote_network_create_args (XDR *, remote_network_create_args*); extern bool_t xdr_remote_network_destroy_args (XDR *, remote_network_destroy_args*); extern bool_t xdr_remote_network_dump_xml_args (XDR *, remote_network_dump_xml_args*); extern bool_t xdr_remote_network_dump_xml_ret (XDR *, remote_network_dump_xml_ret*); extern bool_t xdr_remote_network_get_bridge_name_args (XDR *, remote_network_get_bridge_name_args*); extern bool_t xdr_remote_network_get_bridge_name_ret (XDR *, remote_network_get_bridge_name_ret*); extern bool_t xdr_remote_network_get_autostart_args (XDR *, remote_network_get_autostart_args*); extern bool_t xdr_remote_network_get_autostart_ret (XDR *, remote_network_get_autostart_ret*); extern bool_t xdr_remote_network_set_autostart_args (XDR *, remote_network_set_autostart_args*); extern bool_t xdr_remote_procedure (XDR *, remote_procedure*); extern bool_t xdr_remote_message_direction (XDR *, remote_message_direction*); extern bool_t xdr_remote_message_status (XDR *, remote_message_status*); extern bool_t xdr_remote_message_header (XDR *, remote_message_header*); #else /* K&R C */ extern bool_t xdr_remote_nonnull_string (); extern bool_t xdr_remote_string (); extern bool_t xdr_remote_uuid (); extern bool_t xdr_remote_nonnull_domain (); extern bool_t xdr_remote_nonnull_network (); extern bool_t xdr_remote_domain (); extern bool_t xdr_remote_network (); extern bool_t xdr_remote_error (); extern bool_t xdr_remote_vcpu_info (); extern bool_t xdr_remote_open_args (); extern bool_t xdr_remote_get_type_ret (); extern bool_t xdr_remote_get_version_ret (); extern bool_t xdr_remote_get_max_vcpus_args (); extern bool_t xdr_remote_get_max_vcpus_ret (); extern bool_t xdr_remote_node_get_info_ret (); extern bool_t xdr_remote_get_capabilities_ret (); extern bool_t xdr_remote_list_domains_args (); extern bool_t xdr_remote_list_domains_ret (); extern bool_t xdr_remote_num_of_domains_ret (); extern bool_t xdr_remote_domain_create_linux_args (); extern bool_t xdr_remote_domain_create_linux_ret (); extern bool_t xdr_remote_domain_lookup_by_id_args (); extern bool_t xdr_remote_domain_lookup_by_id_ret (); extern bool_t xdr_remote_domain_lookup_by_uuid_args (); extern bool_t xdr_remote_domain_lookup_by_uuid_ret (); extern bool_t xdr_remote_domain_lookup_by_name_args (); extern bool_t xdr_remote_domain_lookup_by_name_ret (); extern bool_t xdr_remote_domain_suspend_args (); extern bool_t xdr_remote_domain_resume_args (); extern bool_t xdr_remote_domain_shutdown_args (); extern bool_t xdr_remote_domain_reboot_args (); extern bool_t xdr_remote_domain_destroy_args (); extern bool_t xdr_remote_domain_get_os_type_args (); extern bool_t xdr_remote_domain_get_os_type_ret (); extern bool_t xdr_remote_domain_get_max_memory_args (); extern bool_t xdr_remote_domain_get_max_memory_ret (); extern bool_t xdr_remote_domain_set_max_memory_args (); extern bool_t xdr_remote_domain_set_memory_args (); extern bool_t xdr_remote_domain_get_info_args (); extern bool_t xdr_remote_domain_get_info_ret (); extern bool_t xdr_remote_domain_save_args (); extern bool_t xdr_remote_domain_restore_args (); extern bool_t xdr_remote_domain_core_dump_args (); extern bool_t xdr_remote_domain_dump_xml_args (); extern bool_t xdr_remote_domain_dump_xml_ret (); extern bool_t xdr_remote_list_defined_domains_args (); extern bool_t xdr_remote_list_defined_domains_ret (); extern bool_t xdr_remote_num_of_defined_domains_ret (); extern bool_t xdr_remote_domain_create_args (); extern bool_t xdr_remote_domain_define_xml_args (); extern bool_t xdr_remote_domain_define_xml_ret (); extern bool_t xdr_remote_domain_undefine_args (); extern bool_t xdr_remote_domain_set_vcpus_args (); extern bool_t xdr_remote_domain_pin_vcpu_args (); extern bool_t xdr_remote_domain_get_vcpus_args (); extern bool_t xdr_remote_domain_get_vcpus_ret (); extern bool_t xdr_remote_domain_get_max_vcpus_args (); extern bool_t xdr_remote_domain_get_max_vcpus_ret (); extern bool_t xdr_remote_domain_attach_device_args (); extern bool_t xdr_remote_domain_detach_device_args (); extern bool_t xdr_remote_domain_get_autostart_args (); extern bool_t xdr_remote_domain_get_autostart_ret (); extern bool_t xdr_remote_domain_set_autostart_args (); extern bool_t xdr_remote_num_of_networks_ret (); extern bool_t xdr_remote_list_networks_args (); extern bool_t xdr_remote_list_networks_ret (); extern bool_t xdr_remote_num_of_defined_networks_ret (); extern bool_t xdr_remote_list_defined_networks_args (); extern bool_t xdr_remote_list_defined_networks_ret (); extern bool_t xdr_remote_network_lookup_by_uuid_args (); extern bool_t xdr_remote_network_lookup_by_uuid_ret (); extern bool_t xdr_remote_network_lookup_by_name_args (); extern bool_t xdr_remote_network_lookup_by_name_ret (); extern bool_t xdr_remote_network_create_xml_args (); extern bool_t xdr_remote_network_create_xml_ret (); extern bool_t xdr_remote_network_define_xml_args (); extern bool_t xdr_remote_network_define_xml_ret (); extern bool_t xdr_remote_network_undefine_args (); extern bool_t xdr_remote_network_create_args (); extern bool_t xdr_remote_network_destroy_args (); extern bool_t xdr_remote_network_dump_xml_args (); extern bool_t xdr_remote_network_dump_xml_ret (); extern bool_t xdr_remote_network_get_bridge_name_args (); extern bool_t xdr_remote_network_get_bridge_name_ret (); extern bool_t xdr_remote_network_get_autostart_args (); extern bool_t xdr_remote_network_get_autostart_ret (); extern bool_t xdr_remote_network_set_autostart_args (); extern bool_t xdr_remote_procedure (); extern bool_t xdr_remote_message_direction (); extern bool_t xdr_remote_message_status (); extern bool_t xdr_remote_message_header (); #endif /* K&R C */ #ifdef __cplusplus } #endif #endif /* !_REMOTE_PROTOCOL_H_RPCGEN */
Attachment:
smime.p7s
Description: S/MIME Cryptographic Signature