|
|
|
|
|
|
|
|
|
|
xen-devel
[Xen-devel] [PATCH 5 of 9] libxl: move type definitions into _libxl_type
# HG changeset patch
# User Ian Campbell <ian.campbell@xxxxxxxxxx>
# Date 1281706573 -3600
# Node ID d44e1dca002e723c8c58f622329d4dbd37287b1c
# Parent 4fa4efb9c63e1ef60daae928b0d7c5ca992681dd
libxl: move type definitions into _libxl_types.h
The intention is to autogenerate this file in a future patch. This
pure code motion patch allows for easier before and after comparison
of that patch.
Signed-off-by: Ian Campbell <ian.campbell@xxxxxxxxxx>
diff -r 4fa4efb9c63e -r d44e1dca002e tools/libxl/Makefile
--- a/tools/libxl/Makefile Fri Aug 13 14:36:13 2010 +0100
+++ b/tools/libxl/Makefile Fri Aug 13 14:36:13 2010 +0100
@@ -96,12 +96,15 @@ install: all
ln -sf libxlutil.so.$(XLUMAJOR).$(XLUMINOR)
$(DESTDIR)$(LIBDIR)/libxlutil.so.$(XLUMAJOR)
ln -sf libxlutil.so.$(XLUMAJOR) $(DESTDIR)$(LIBDIR)/libxlutil.so
$(INSTALL_DATA) libxlutil.a $(DESTDIR)$(LIBDIR)
- $(INSTALL_DATA) libxl.h $(DESTDIR)$(INCLUDEDIR)
+ $(INSTALL_DATA) libxl.h _libxl_types.h $(DESTDIR)$(INCLUDEDIR)
$(INSTALL_DATA) bash-completion $(DESTDIR)$(BASH_COMPLETION_DIR)/xl.sh
.PHONY: clean
clean:
+ # XXX Preserve during transition to autogeneration
+ cp _libxl_types.h SAVED__libxl_types.h
$(RM) -f _*.h *.o *.so* *.a $(CLIENTS) $(DEPS)
+ mv SAVED__libxl_types.h _libxl_types.h
# $(RM) -f $(AUTOSRCS) $(AUTOINCS)
distclean: clean
diff -r 4fa4efb9c63e -r d44e1dca002e tools/libxl/_libxl_types.h
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tools/libxl/_libxl_types.h Fri Aug 13 14:36:13 2010 +0100
@@ -0,0 +1,244 @@
+#ifndef __LIBXL_TYPES_H
+#define __LIBXL_TYPES_H
+
+typedef struct {
+ libxl_uuid uuid;
+ uint32_t domid;
+ uint8_t running:1;
+ uint8_t blocked:1;
+ uint8_t paused:1;
+ uint8_t shutdown:1;
+ uint8_t dying:1;
+
+ /*
+ * Valid SHUTDOWN_* value from xen/sched.h iff (shutdown||dying).
+ *
+ * Otherwise set to a value guaranteed not to clash with any valid
+ * SHUTDOWN_* constant.
+ */
+ unsigned int shutdown_reason;
+
+ uint64_t max_memkb;
+ uint64_t cpu_time;
+ uint32_t vcpu_max_id;
+ uint32_t vcpu_online;
+} libxl_dominfo;
+
+typedef struct {
+ uint32_t poolid;
+} libxl_poolinfo;
+
+typedef struct {
+ libxl_uuid uuid;
+ uint32_t domid;
+} libxl_vminfo;
+
+typedef struct {
+ int xen_version_major;
+ int xen_version_minor;
+ char *xen_version_extra;
+ char *compiler;
+ char *compile_by;
+ char *compile_domain;
+ char *compile_date;
+ char *capabilities;
+ char *changeset;
+ unsigned long virt_start;
+ unsigned long pagesize;
+ char *commandline;
+} libxl_version_info;
+
+typedef struct {
+ bool hvm;
+ bool hap;
+ bool oos;
+ int ssidref;
+ char *name;
+ libxl_uuid uuid;
+ libxl_key_value_list xsdata;
+ libxl_key_value_list platformdata;
+ uint32_t poolid;
+ char *poolname;
+} libxl_domain_create_info;
+
+typedef struct {
+ /*
+ * Path is always set if the file refernece is valid. However if
+ * mapped is true then the actual file may already be unlinked.
+ */
+ char *path;
+ int mapped;
+ void *data;
+ size_t size;
+} libxl_file_reference;
+
+/*
+ * Instances of libxl_file_reference contained in this struct which
+ * have been mapped (with libxl_file_reference_map) will be unmapped
+ * by libxl_domain_build/restore. If either of these are never called
+ * then the user is responsible for calling
+ * libxl_file_reference_unmap.
+ */
+typedef struct {
+ int max_vcpus;
+ int cur_vcpus;
+ int tsc_mode;
+ uint32_t max_memkb;
+ uint32_t target_memkb;
+ uint32_t video_memkb;
+ uint32_t shadow_memkb;
+ bool disable_migrate;
+ libxl_file_reference kernel;
+ int hvm;
+ union {
+ struct {
+ bool pae;
+ bool apic;
+ bool acpi;
+ bool nx;
+ bool viridian;
+ char *timeoffset;
+ bool hpet;
+ bool vpt_align;
+ int timer_mode;
+ } hvm;
+ struct {
+ uint32_t slack_memkb;
+ const char *bootloader;
+ const char *bootloader_args;
+ char *cmdline;
+ libxl_file_reference ramdisk;
+ const char *features;
+ } pv;
+ } u;
+} libxl_domain_build_info;
+
+typedef struct {
+ uint32_t store_port;
+ unsigned long store_mfn;
+ uint32_t console_port;
+ unsigned long console_mfn;
+} libxl_domain_build_state;
+
+typedef struct {
+ int domid;
+ libxl_uuid uuid; /* this is use only with stubdom, and must be different
from the domain uuid */
+ char *dom_name;
+ char *device_model;
+ char *saved_state;
+ libxl_qemu_machine_type type;
+ int videoram; /* size of the videoram in MB */
+ bool stdvga; /* stdvga enabled or disabled */
+ bool vnc; /* vnc enabled or disabled */
+ char *vnclisten; /* address:port that should be listened on for the VNC
server if vnc is set */
+ char *vncpasswd; /* the VNC password */
+ int vncdisplay; /* set VNC display number */
+ bool vncunused; /* try to find an unused port for the VNC server */
+ char *keymap; /* set keyboard layout, default is en-us keyboard */
+ bool sdl; /* sdl enabled or disabled */
+ bool opengl; /* opengl enabled or disabled (if enabled requires sdl
enabled) */
+ bool nographic; /* no graphics, use serial port */
+ char *serial; /* serial port re-direct to pty deivce */
+ char *boot; /* boot order, for example dca */
+ bool usb; /* usb support enabled or disabled */
+ char *usbdevice; /* enable usb mouse: tablet for absolute mouse, mouse for
PS/2 protocol relative mouse */
+ char *soundhw; /* enable sound hardware */
+ bool apic; /* apic enabled or disabled */
+ int vcpus; /* max number of vcpus */
+ int vcpu_avail; /* vcpus actually available */
+ int xen_platform_pci; /* enable/disable the xen platform pci device */
+ libxl_string_list extra; /* extra parameters pass directly to qemu, NULL
terminated */
+ /* Network is missing */
+} libxl_device_model_info;
+
+typedef struct {
+ uint32_t backend_domid;
+ uint32_t domid;
+ int devid;
+ bool vnc; /* vnc enabled or disabled */
+ char *vnclisten; /* address:port that should be listened on for the VNC
server if vnc is set */
+ char *vncpasswd; /* the VNC password */
+ int vncdisplay; /* set VNC display number */
+ bool vncunused; /* try to find an unused port for the VNC server */
+ char *keymap; /* set keyboard layout, default is en-us keyboard */
+ bool sdl; /* sdl enabled or disabled */
+ bool opengl; /* opengl enabled or disabled (if enabled requires sdl
enabled) */
+ char *display;
+ char *xauthority;
+} libxl_device_vfb;
+
+typedef struct {
+ uint32_t backend_domid;
+ uint32_t domid;
+ int devid;
+} libxl_device_vkb;
+
+typedef struct {
+ uint32_t backend_domid;
+ uint32_t domid;
+ int devid;
+ libxl_console_constype constype;
+ libxl_domain_build_state *build_state;
+} libxl_device_console;
+
+typedef struct {
+ uint32_t backend_domid;
+ uint32_t domid;
+ char *physpath;
+ libxl_disk_phystype phystype;
+ char *virtpath;
+ int unpluggable;
+ int readwrite;
+ int is_cdrom;
+} libxl_device_disk;
+
+typedef struct {
+ uint32_t backend_domid;
+ uint32_t domid;
+ int devid;
+ int mtu;
+ char *model;
+ libxl_mac mac;
+ struct in_addr ip;
+ char *bridge;
+ char *ifname;
+ char *script;
+ libxl_nic_type nictype;
+} libxl_device_nic;
+
+typedef struct {
+ int devid;
+ libxl_mac front_mac;
+ libxl_mac back_mac;
+ uint32_t backend_domid;
+ uint32_t domid;
+ uint32_t trusted:1;
+ uint32_t back_trusted:1;
+ uint32_t filter_mac:1;
+ uint32_t front_filter_mac:1;
+ uint32_t pdev;
+ uint32_t max_bypasses;
+ char *bridge;
+} libxl_device_net2;
+
+typedef struct {
+ union {
+ unsigned int value;
+ struct {
+ unsigned int reserved1:2;
+ unsigned int reg:6;
+ unsigned int func:3;
+ unsigned int dev:5;
+ unsigned int bus:8;
+ unsigned int reserved2:7;
+ unsigned int enable:1;
+ };
+ };
+ unsigned int domain;
+ unsigned int vdevfn;
+ unsigned int vfunc_mask;
+ bool msitranslate;
+ bool power_mgmt;
+} libxl_device_pci;
+
+#endif /* __LIBXL_TYPES_H */
diff -r 4fa4efb9c63e -r d44e1dca002e tools/libxl/libxl.h
--- a/tools/libxl/libxl.h Fri Aug 13 14:36:13 2010 +0100
+++ b/tools/libxl/libxl.h Fri Aug 13 14:36:13 2010 +0100
@@ -56,52 +56,7 @@ typedef enum {
#define LIBXL_PCI_FUNC_ALL (~0U)
-typedef struct {
- libxl_uuid uuid;
- uint32_t domid;
- uint8_t running:1;
- uint8_t blocked:1;
- uint8_t paused:1;
- uint8_t shutdown:1;
- uint8_t dying:1;
-
- /*
- * Valid SHUTDOWN_* value from xen/sched.h iff (shutdown||dying).
- *
- * Otherwise set to a value guaranteed not to clash with any valid
- * SHUTDOWN_* constant.
- */
- unsigned int shutdown_reason;
-
- uint64_t max_memkb;
- uint64_t cpu_time;
- uint32_t vcpu_max_id;
- uint32_t vcpu_online;
-} libxl_dominfo;
-
-typedef struct {
- uint32_t poolid;
-} libxl_poolinfo;
-
-typedef struct {
- libxl_uuid uuid;
- uint32_t domid;
-} libxl_vminfo;
-
-typedef struct {
- int xen_version_major;
- int xen_version_minor;
- char *xen_version_extra;
- char *compiler;
- char *compile_by;
- char *compile_domain;
- char *compile_date;
- char *capabilities;
- char *changeset;
- unsigned long virt_start;
- unsigned long pagesize;
- char *commandline;
-} libxl_version_info;
+#include "_libxl_types.h"
typedef struct {
xentoollog_logger *lg;
@@ -118,204 +73,11 @@ const libxl_version_info* libxl_get_vers
const libxl_version_info* libxl_get_version_info(libxl_ctx *ctx);
typedef struct {
- bool hvm;
- bool hap;
- bool oos;
- int ssidref;
- char *name;
- libxl_uuid uuid;
- libxl_key_value_list xsdata;
- libxl_key_value_list platformdata;
- uint32_t poolid;
- char *poolname;
-} libxl_domain_create_info;
-
-typedef struct {
- /*
- * Path is always set if the file refernece is valid. However if
- * mapped is true then the actual file may already be unlinked.
- */
- char *path;
- int mapped;
- void *data;
- size_t size;
-} libxl_file_reference;
-
-/*
- * Instances of libxl_file_reference contained in this struct which
- * have been mapped (with libxl_file_reference_map) will be unmapped
- * by libxl_domain_build/restore. If either of these are never called
- * then the user is responsible for calling
- * libxl_file_reference_unmap.
- */
-typedef struct {
- int max_vcpus;
- int cur_vcpus;
- int tsc_mode;
- uint32_t max_memkb;
- uint32_t target_memkb;
- uint32_t video_memkb;
- uint32_t shadow_memkb;
- bool disable_migrate;
- libxl_file_reference kernel;
- int hvm;
- union {
- struct {
- bool pae;
- bool apic;
- bool acpi;
- bool nx;
- bool viridian;
- char *timeoffset;
- bool hpet;
- bool vpt_align;
- int timer_mode;
- } hvm;
- struct {
- uint32_t slack_memkb;
- const char *bootloader;
- const char *bootloader_args;
- char *cmdline;
- libxl_file_reference ramdisk;
- const char *features;
- } pv;
- } u;
-} libxl_domain_build_info;
-
-typedef struct {
- uint32_t store_port;
- unsigned long store_mfn;
- uint32_t console_port;
- unsigned long console_mfn;
-} libxl_domain_build_state;
-
-typedef struct {
#define XL_SUSPEND_DEBUG 1
#define XL_SUSPEND_LIVE 2
int flags;
int (*suspend_callback)(void *, int);
} libxl_domain_suspend_info;
-
-typedef struct {
- int domid;
- libxl_uuid uuid; /* this is use only with stubdom, and must be different
from the domain uuid */
- char *dom_name;
- char *device_model;
- char *saved_state;
- libxl_qemu_machine_type type;
- int videoram; /* size of the videoram in MB */
- bool stdvga; /* stdvga enabled or disabled */
- bool vnc; /* vnc enabled or disabled */
- char *vnclisten; /* address:port that should be listened on for the VNC
server if vnc is set */
- char *vncpasswd; /* the VNC password */
- int vncdisplay; /* set VNC display number */
- bool vncunused; /* try to find an unused port for the VNC server */
- char *keymap; /* set keyboard layout, default is en-us keyboard */
- bool sdl; /* sdl enabled or disabled */
- bool opengl; /* opengl enabled or disabled (if enabled requires sdl
enabled) */
- bool nographic; /* no graphics, use serial port */
- char *serial; /* serial port re-direct to pty deivce */
- char *boot; /* boot order, for example dca */
- bool usb; /* usb support enabled or disabled */
- char *usbdevice; /* enable usb mouse: tablet for absolute mouse, mouse for
PS/2 protocol relative mouse */
- char *soundhw; /* enable sound hardware */
- bool apic; /* apic enabled or disabled */
- int vcpus; /* max number of vcpus */
- int vcpu_avail; /* vcpus actually available */
- int xen_platform_pci; /* enable/disable the xen platform pci device */
- libxl_string_list extra; /* extra parameters pass directly to qemu, NULL
terminated */
- /* Network is missing */
-} libxl_device_model_info;
-
-typedef struct {
- uint32_t backend_domid;
- uint32_t domid;
- int devid;
- bool vnc; /* vnc enabled or disabled */
- char *vnclisten; /* address:port that should be listened on for the VNC
server if vnc is set */
- char *vncpasswd; /* the VNC password */
- int vncdisplay; /* set VNC display number */
- bool vncunused; /* try to find an unused port for the VNC server */
- char *keymap; /* set keyboard layout, default is en-us keyboard */
- bool sdl; /* sdl enabled or disabled */
- bool opengl; /* opengl enabled or disabled (if enabled requires sdl
enabled) */
- char *display;
- char *xauthority;
-} libxl_device_vfb;
-
-typedef struct {
- uint32_t backend_domid;
- uint32_t domid;
- int devid;
-} libxl_device_vkb;
-
-typedef struct {
- uint32_t backend_domid;
- uint32_t domid;
- int devid;
- libxl_console_constype constype;
- libxl_domain_build_state *build_state;
-} libxl_device_console;
-
-typedef struct {
- uint32_t backend_domid;
- uint32_t domid;
- char *physpath;
- libxl_disk_phystype phystype;
- char *virtpath;
- int unpluggable;
- int readwrite;
- int is_cdrom;
-} libxl_device_disk;
-
-typedef struct {
- uint32_t backend_domid;
- uint32_t domid;
- int devid;
- int mtu;
- char *model;
- libxl_mac mac;
- struct in_addr ip;
- char *bridge;
- char *ifname;
- char *script;
- libxl_nic_type nictype;
-} libxl_device_nic;
-
-typedef struct {
- int devid;
- libxl_mac front_mac;
- libxl_mac back_mac;
- uint32_t backend_domid;
- uint32_t domid;
- uint32_t trusted:1;
- uint32_t back_trusted:1;
- uint32_t filter_mac:1;
- uint32_t front_filter_mac:1;
- uint32_t pdev;
- uint32_t max_bypasses;
- char *bridge;
-} libxl_device_net2;
-
-typedef struct {
- union {
- unsigned int value;
- struct {
- unsigned int reserved1:2;
- unsigned int reg:6;
- unsigned int func:3;
- unsigned int dev:5;
- unsigned int bus:8;
- unsigned int reserved2:7;
- unsigned int enable:1;
- };
- };
- unsigned int domain;
- unsigned int vdevfn;
- unsigned int vfunc_mask;
- bool msitranslate;
- bool power_mgmt;
-} libxl_device_pci;
enum {
ERROR_VERSION = -1,
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
<Prev in Thread] |
Current Thread |
[Next in Thread>
|
- [Xen-devel] [PATCH 0 of 9] libxl: autogenerate type definitions and destructor functions, Ian Campbell
- [Xen-devel] [PATCH 1 of 9] xl: use the regular implicit rules to build the xl .o files, Ian Campbell
- [Xen-devel] [PATCH 3 of 9] libxl: move various enum and #defines above datastructure definitions, Ian Campbell
- [Xen-devel] [PATCH 2 of 9] libxl: define specific types for string list and key, value list, Ian Campbell
- [Xen-devel] [PATCH 4 of 9] libxl: ensure result of libxl_poolid_to_name is always dynamically allocated, Ian Campbell
- [Xen-devel] [PATCH 6 of 9] libxl: tweak formatting/whitespace of _libxl_types.h, Ian Campbell
- [Xen-devel] [PATCH 5 of 9] libxl: move type definitions into _libxl_types.h,
Ian Campbell <=
- [Xen-devel] [PATCH 9 of 9] xl: free the libxl types contained in struct domain_config, Ian Campbell
- [Xen-devel] [PATCH 8 of 9] libxl: generate destructors for each libxl defined type, Ian Campbell
- [Xen-devel] [PATCH 7 of 9] libxl: autogenerate _libxl_types.h, Ian Campbell
|
|
|
|
|