WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

[Xen-devel] [PATCH 5 of 9] libxl: move type definitions into _libxl_type

To: xen-devel@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-devel] [PATCH 5 of 9] libxl: move type definitions into _libxl_types.h
From: Ian Campbell <ian.campbell@xxxxxxxxxx>
Date: Fri, 13 Aug 2010 14:50:08 +0100
Cc: Ian Campbell <ian.campbell@xxxxxxxxxx>
Delivery-date: Fri, 13 Aug 2010 07:00:02 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <patchbomb.1281707403@xxxxxxxxxxxxxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
# 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