mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-10-29 17:33:09 +00:00
Mon Jun 11 12:34:00 BST 2007 Richard W.M. Jones <rjones@redhat.com>
* qemud/remote_protocol.x qemud/rpcgen_fix.pl qemud/remote_protocol.c qemud/remote_protocol.h: Client/server protocol used by remote.
This commit is contained in:
parent
29e65f9a98
commit
fc23185e84
@ -1,3 +1,9 @@
|
|||||||
|
Mon Jun 11 12:34:00 BST 2007 Richard W.M. Jones <rjones@redhat.com>
|
||||||
|
|
||||||
|
* qemud/remote_protocol.x qemud/rpcgen_fix.pl
|
||||||
|
qemud/remote_protocol.c qemud/remote_protocol.h: Client/server
|
||||||
|
protocol used by remote.
|
||||||
|
|
||||||
Fri Jun 8 13:06:01 CEST 2007 Daniel Veillard <veillard@redhat.com>
|
Fri Jun 8 13:06:01 CEST 2007 Daniel Veillard <veillard@redhat.com>
|
||||||
|
|
||||||
* configure.in libvirt.spec.in include/libvirt/libvirt.h
|
* configure.in libvirt.spec.in include/libvirt/libvirt.h
|
||||||
|
1005
qemud/remote_protocol.c
Normal file
1005
qemud/remote_protocol.c
Normal file
File diff suppressed because it is too large
Load Diff
792
qemud/remote_protocol.h
Normal file
792
qemud/remote_protocol.h
Normal file
@ -0,0 +1,792 @@
|
|||||||
|
/*
|
||||||
|
* 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 */
|
612
qemud/remote_protocol.x
Normal file
612
qemud/remote_protocol.x
Normal file
@ -0,0 +1,612 @@
|
|||||||
|
/* -*- 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@redhat.com>
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* 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;
|
||||||
|
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:
|
||||||
|
*/
|
80
qemud/rpcgen_fix.pl
Normal file
80
qemud/rpcgen_fix.pl
Normal file
@ -0,0 +1,80 @@
|
|||||||
|
# Fix XDR code (generated by rpcgen) so that it compiles
|
||||||
|
# with warnings turned on.
|
||||||
|
#
|
||||||
|
# This code is evil. Arguably better would be just to compile
|
||||||
|
# without -Werror. Update: The IXDR_PUT_LONG replacements are
|
||||||
|
# actually fixes for 64 bit, so this file is necessary. Arguably
|
||||||
|
# so is the type-punning fix.
|
||||||
|
#
|
||||||
|
# Copyright (C) 2007 Red Hat, Inc.
|
||||||
|
#
|
||||||
|
# See COPYING for the license of this software.
|
||||||
|
#
|
||||||
|
# Richard Jones <rjones@redhat.com>
|
||||||
|
|
||||||
|
use strict;
|
||||||
|
|
||||||
|
my $in_function = 0;
|
||||||
|
my @function = ();
|
||||||
|
|
||||||
|
while (<>) {
|
||||||
|
if (m/^{/) {
|
||||||
|
$in_function = 1;
|
||||||
|
print;
|
||||||
|
next;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (m/^}/) {
|
||||||
|
$in_function = 0;
|
||||||
|
|
||||||
|
# Note: The body of the function is in @function.
|
||||||
|
|
||||||
|
# Remove decl of buf, if buf isn't used in the function.
|
||||||
|
my @uses = grep /\bbuf\b/, @function;
|
||||||
|
@function = grep !/\bbuf\b/, @function if @uses == 1;
|
||||||
|
|
||||||
|
# Remove decl of i, if i isn't used in the function.
|
||||||
|
@uses = grep /\bi\b/, @function;
|
||||||
|
@function = grep !/\bi\b/, @function if @uses == 1;
|
||||||
|
|
||||||
|
# (char **)&objp->... gives:
|
||||||
|
# warning: dereferencing type-punned pointer will break
|
||||||
|
# strict-aliasing rules
|
||||||
|
# so rewrite it.
|
||||||
|
my %uses = ();
|
||||||
|
my $i = 0;
|
||||||
|
foreach (@function) {
|
||||||
|
$uses{$1} = $i++ if m/\(char \*\*\)\&(objp->[a-z_.]+_val)/;
|
||||||
|
}
|
||||||
|
if (keys %uses >= 1) {
|
||||||
|
my $i = 1;
|
||||||
|
|
||||||
|
foreach (keys %uses) {
|
||||||
|
$i = $uses{$_};
|
||||||
|
unshift @function,
|
||||||
|
("\tchar **objp_cpp$i = (char **) (void *) &$_;\n");
|
||||||
|
$i++;
|
||||||
|
}
|
||||||
|
@function =
|
||||||
|
map { s{\(char \*\*\)\&(objp->[a-z_.]+_val)}
|
||||||
|
{objp_cpp$uses{$1}}g; $_ } @function;
|
||||||
|
}
|
||||||
|
|
||||||
|
# The code uses 'IXDR_PUT_{U_,}LONG' but it's wrong in two
|
||||||
|
# ways: Firstly these functions are deprecated and don't
|
||||||
|
# work on 64 bit platforms. Secondly the return value should
|
||||||
|
# be ignored. Correct both these mistakes.
|
||||||
|
@function =
|
||||||
|
map { s/\bIXDR_PUT_((U_)?)LONG\b/(void)IXDR_PUT_$1INT32/; $_ }
|
||||||
|
@function;
|
||||||
|
|
||||||
|
print (join ("", @function));
|
||||||
|
@function = ();
|
||||||
|
}
|
||||||
|
|
||||||
|
unless ($in_function) {
|
||||||
|
print;
|
||||||
|
} else {
|
||||||
|
push @function, $_;
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user