debuggers.hg

changeset 22075:e486507c2d91

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.

[PATCH 02 of 16 of
libxl: autogenerate type definitions and destructor functions]

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
author Ian Campbell <ian.campbell@citrix.com>
date Thu Aug 19 14:45:36 2010 +0100 (2010-08-19)
parents 3a4c6c054b29
children a05a2d559931
files tools/libxl/Makefile tools/libxl/_libxl_types.h tools/libxl/libxl.h
line diff
     1.1 --- a/tools/libxl/Makefile	Thu Aug 19 14:40:24 2010 +0100
     1.2 +++ b/tools/libxl/Makefile	Thu Aug 19 14:45:36 2010 +0100
     1.3 @@ -102,12 +102,15 @@ install: all
     1.4  	ln -sf libxlutil.so.$(XLUMAJOR).$(XLUMINOR) $(DESTDIR)$(LIBDIR)/libxlutil.so.$(XLUMAJOR)
     1.5  	ln -sf libxlutil.so.$(XLUMAJOR) $(DESTDIR)$(LIBDIR)/libxlutil.so
     1.6  	$(INSTALL_DATA) libxlutil.a $(DESTDIR)$(LIBDIR)
     1.7 -	$(INSTALL_DATA) libxl.h $(DESTDIR)$(INCLUDEDIR)
     1.8 +	$(INSTALL_DATA) libxl.h _libxl_types.h $(DESTDIR)$(INCLUDEDIR)
     1.9  	$(INSTALL_DATA) bash-completion $(DESTDIR)$(BASH_COMPLETION_DIR)/xl.sh
    1.10  
    1.11  .PHONY: clean
    1.12  clean:
    1.13 +	# XXX Preserve during transition to autogeneration
    1.14 +	cp _libxl_types.h SAVED__libxl_types.h
    1.15  	$(RM) -f _*.h *.o *.so* *.a $(CLIENTS) $(DEPS)
    1.16 +	mv SAVED__libxl_types.h _libxl_types.h 
    1.17  #	$(RM) -f $(AUTOSRCS) $(AUTOINCS)
    1.18  
    1.19  distclean: clean
     2.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     2.2 +++ b/tools/libxl/_libxl_types.h	Thu Aug 19 14:45:36 2010 +0100
     2.3 @@ -0,0 +1,315 @@
     2.4 +#ifndef __LIBXL_TYPES_H
     2.5 +#define __LIBXL_TYPES_H
     2.6 +
     2.7 +typedef struct {
     2.8 +    libxl_uuid uuid;
     2.9 +    uint32_t domid;
    2.10 +    uint8_t running:1;
    2.11 +    uint8_t blocked:1;
    2.12 +    uint8_t paused:1;
    2.13 +    uint8_t shutdown:1;
    2.14 +    uint8_t dying:1;
    2.15 +
    2.16 +    /*
    2.17 +     * Valid SHUTDOWN_* value from xen/sched.h iff (shutdown||dying).
    2.18 +     *
    2.19 +     * Otherwise set to a value guaranteed not to clash with any valid
    2.20 +     * SHUTDOWN_* constant.
    2.21 +     */
    2.22 +    unsigned int shutdown_reason;
    2.23 +
    2.24 +    uint64_t max_memkb;
    2.25 +    uint64_t cpu_time;
    2.26 +    uint32_t vcpu_max_id;
    2.27 +    uint32_t vcpu_online;
    2.28 +} libxl_dominfo;
    2.29 +
    2.30 +typedef struct {
    2.31 +    uint32_t poolid;
    2.32 +} libxl_poolinfo;
    2.33 +
    2.34 +typedef struct {
    2.35 +    libxl_uuid uuid;
    2.36 +    uint32_t domid;
    2.37 +} libxl_vminfo;
    2.38 +
    2.39 +typedef struct {
    2.40 +    int xen_version_major;
    2.41 +    int xen_version_minor;
    2.42 +    char *xen_version_extra;
    2.43 +    char *compiler;
    2.44 +    char *compile_by;
    2.45 +    char *compile_domain;
    2.46 +    char *compile_date;
    2.47 +    char *capabilities;
    2.48 +    char *changeset;
    2.49 +    unsigned long virt_start;
    2.50 +    unsigned long pagesize;
    2.51 +    char *commandline;
    2.52 +} libxl_version_info;
    2.53 +
    2.54 +typedef struct {
    2.55 +    bool hvm;
    2.56 +    bool hap;
    2.57 +    bool oos;
    2.58 +    int ssidref;
    2.59 +    char *name;
    2.60 +    libxl_uuid uuid;
    2.61 +    libxl_key_value_list xsdata;
    2.62 +    libxl_key_value_list platformdata;
    2.63 +    uint32_t poolid;
    2.64 +    char *poolname;
    2.65 +} libxl_domain_create_info;
    2.66 +
    2.67 +typedef struct {
    2.68 +    /*
    2.69 +     * Path is always set if the file refernece is valid. However if
    2.70 +     * mapped is true then the actual file may already be unlinked.
    2.71 +     */
    2.72 +    char *path;
    2.73 +    int mapped;
    2.74 +    void *data;
    2.75 +    size_t size;
    2.76 +} libxl_file_reference;
    2.77 +
    2.78 +/*
    2.79 + * Instances of libxl_file_reference contained in this struct which
    2.80 + * have been mapped (with libxl_file_reference_map) will be unmapped
    2.81 + * by libxl_domain_build/restore. If either of these are never called
    2.82 + * then the user is responsible for calling
    2.83 + * libxl_file_reference_unmap.
    2.84 + */
    2.85 +typedef struct {
    2.86 +    int max_vcpus;
    2.87 +    int cur_vcpus;
    2.88 +    int tsc_mode;
    2.89 +    uint32_t max_memkb;
    2.90 +    uint32_t target_memkb;
    2.91 +    uint32_t video_memkb;
    2.92 +    uint32_t shadow_memkb;
    2.93 +    bool disable_migrate;
    2.94 +    libxl_file_reference kernel;
    2.95 +    int hvm;
    2.96 +    union {
    2.97 +        struct {
    2.98 +            bool pae;
    2.99 +            bool apic;
   2.100 +            bool acpi;
   2.101 +            bool nx;
   2.102 +            bool viridian;
   2.103 +            char *timeoffset;
   2.104 +            bool hpet;
   2.105 +            bool vpt_align;
   2.106 +            int timer_mode;
   2.107 +        } hvm;
   2.108 +        struct {
   2.109 +            uint32_t   slack_memkb;
   2.110 +            const char *bootloader;
   2.111 +            const char *bootloader_args;
   2.112 +            char *cmdline;
   2.113 +            libxl_file_reference ramdisk;
   2.114 +            const char *features;
   2.115 +        } pv;
   2.116 +    } u;
   2.117 +} libxl_domain_build_info;
   2.118 +
   2.119 +typedef struct {
   2.120 +    uint32_t store_port;
   2.121 +    unsigned long store_mfn;
   2.122 +    uint32_t console_port;
   2.123 +    unsigned long console_mfn;
   2.124 +} libxl_domain_build_state;
   2.125 +
   2.126 +typedef struct {
   2.127 +    int domid;
   2.128 +    libxl_uuid uuid; /* this is use only with stubdom, and must be different from the domain uuid */
   2.129 +    char *dom_name;
   2.130 +    char *device_model;
   2.131 +    char *saved_state;
   2.132 +    libxl_qemu_machine_type type;
   2.133 +    int videoram; /* size of the videoram in MB */
   2.134 +    bool stdvga; /* stdvga enabled or disabled */
   2.135 +    bool vnc; /* vnc enabled or disabled */
   2.136 +    char *vnclisten; /* address:port that should be listened on for the VNC server if vnc is set */
   2.137 +    char *vncpasswd; /* the VNC password */
   2.138 +    int vncdisplay; /* set VNC display number */
   2.139 +    bool vncunused; /* try to find an unused port for the VNC server */
   2.140 +    char *keymap; /* set keyboard layout, default is en-us keyboard */
   2.141 +    bool sdl; /* sdl enabled or disabled */
   2.142 +    bool opengl; /* opengl enabled or disabled (if enabled requires sdl enabled) */
   2.143 +    bool nographic; /* no graphics, use serial port */
   2.144 +    char *serial; /* serial port re-direct to pty deivce */
   2.145 +    char *boot; /* boot order, for example dca */
   2.146 +    bool usb; /* usb support enabled or disabled */
   2.147 +    char *usbdevice; /* enable usb mouse: tablet for absolute mouse, mouse for PS/2 protocol relative mouse */
   2.148 +    char *soundhw; /* enable sound hardware */
   2.149 +    bool apic; /* apic enabled or disabled */
   2.150 +    int vcpus; /* max number of vcpus */
   2.151 +    int vcpu_avail; /* vcpus actually available */
   2.152 +    int xen_platform_pci; /* enable/disable the xen platform pci device */
   2.153 +    libxl_string_list extra; /* extra parameters pass directly to qemu, NULL terminated */
   2.154 +    /* Network is missing */
   2.155 +} libxl_device_model_info;
   2.156 +
   2.157 +typedef struct {
   2.158 +    uint32_t backend_domid;
   2.159 +    uint32_t domid;
   2.160 +    int devid;
   2.161 +    bool vnc; /* vnc enabled or disabled */
   2.162 +    char *vnclisten; /* address:port that should be listened on for the VNC server if vnc is set */
   2.163 +    char *vncpasswd; /* the VNC password */
   2.164 +    int vncdisplay; /* set VNC display number */
   2.165 +    bool vncunused; /* try to find an unused port for the VNC server */
   2.166 +    char *keymap; /* set keyboard layout, default is en-us keyboard */
   2.167 +    bool sdl; /* sdl enabled or disabled */
   2.168 +    bool opengl; /* opengl enabled or disabled (if enabled requires sdl enabled) */
   2.169 +    char *display;
   2.170 +    char *xauthority;
   2.171 +} libxl_device_vfb;
   2.172 +
   2.173 +typedef struct {
   2.174 +    uint32_t backend_domid;
   2.175 +    uint32_t domid;
   2.176 +    int devid;
   2.177 +} libxl_device_vkb;
   2.178 +
   2.179 +typedef struct {
   2.180 +    uint32_t backend_domid;
   2.181 +    uint32_t domid;
   2.182 +    int devid;
   2.183 +    libxl_console_consback consback;
   2.184 +    libxl_domain_build_state *build_state;
   2.185 +    char *output;
   2.186 +} libxl_device_console;
   2.187 +
   2.188 +typedef struct {
   2.189 +    uint32_t backend_domid;
   2.190 +    uint32_t domid;
   2.191 +    char *physpath;
   2.192 +    libxl_disk_phystype phystype;
   2.193 +    char *virtpath;
   2.194 +    int unpluggable;
   2.195 +    int readwrite;
   2.196 +    int is_cdrom;
   2.197 +} libxl_device_disk;
   2.198 +
   2.199 +typedef struct {
   2.200 +    uint32_t backend_domid;
   2.201 +    uint32_t domid;
   2.202 +    int devid;
   2.203 +    int mtu;
   2.204 +    char *model;
   2.205 +    libxl_mac mac;
   2.206 +    struct in_addr ip;
   2.207 +    char *bridge;
   2.208 +    char *ifname;
   2.209 +    char *script;
   2.210 +    libxl_nic_type nictype;
   2.211 +} libxl_device_nic;
   2.212 +
   2.213 +typedef struct {
   2.214 +    int devid;
   2.215 +    libxl_mac front_mac;
   2.216 +    libxl_mac back_mac;
   2.217 +    uint32_t backend_domid;
   2.218 +    uint32_t domid;
   2.219 +    uint32_t trusted:1;
   2.220 +    uint32_t back_trusted:1;
   2.221 +    uint32_t filter_mac:1;
   2.222 +    uint32_t front_filter_mac:1;
   2.223 +    uint32_t pdev;
   2.224 +    uint32_t max_bypasses;
   2.225 +    char *bridge;
   2.226 +} libxl_device_net2;
   2.227 +
   2.228 +typedef struct {
   2.229 +    union {
   2.230 +        unsigned int value;
   2.231 +        struct {
   2.232 +            unsigned int reserved1:2;
   2.233 +            unsigned int reg:6;
   2.234 +            unsigned int func:3;
   2.235 +            unsigned int dev:5;
   2.236 +            unsigned int bus:8;
   2.237 +            unsigned int reserved2:7;
   2.238 +            unsigned int enable:1;
   2.239 +        };
   2.240 +    };
   2.241 +    unsigned int domain;
   2.242 +    unsigned int vdevfn;
   2.243 +    unsigned int vfunc_mask;
   2.244 +    bool msitranslate;
   2.245 +    bool power_mgmt;
   2.246 +} libxl_device_pci;
   2.247 +
   2.248 +typedef struct {
   2.249 +    char *backend;
   2.250 +    uint32_t backend_id;
   2.251 +    char *frontend;
   2.252 +    uint32_t frontend_id;
   2.253 +    int devid;
   2.254 +    int state;
   2.255 +    int evtch;
   2.256 +    int rref;
   2.257 +} libxl_diskinfo;
   2.258 +
   2.259 +typedef struct {
   2.260 +    char *backend;
   2.261 +    uint32_t backend_id;
   2.262 +    char *frontend;
   2.263 +    uint32_t frontend_id;
   2.264 +    int devid;
   2.265 +    int state;
   2.266 +    char *script;
   2.267 +    libxl_mac mac;
   2.268 +    int evtch;
   2.269 +    int rref_tx;
   2.270 +    int rref_rx;
   2.271 +} libxl_nicinfo;
   2.272 +
   2.273 +typedef struct {
   2.274 +    uint32_t vcpuid; /* vcpu's id */
   2.275 +    uint32_t cpu; /* current mapping */
   2.276 +    uint8_t online:1; /* currently online (not hotplugged)? */
   2.277 +    uint8_t blocked:1; /* blocked waiting for an event? */
   2.278 +    uint8_t running:1; /* currently scheduled on its CPU? */
   2.279 +    uint64_t vcpu_time; /* total vcpu time ran (ns) */
   2.280 +    libxl_cpumap cpumap; /* current cpu's affinities */
   2.281 +} libxl_vcpuinfo;
   2.282 +
   2.283 +typedef struct {
   2.284 +    uint32_t threads_per_core;
   2.285 +    uint32_t cores_per_socket;
   2.286 +
   2.287 +    uint32_t max_cpu_id;
   2.288 +    uint32_t nr_cpus;
   2.289 +    uint32_t cpu_khz;
   2.290 +
   2.291 +    uint64_t total_pages;
   2.292 +    uint64_t free_pages;
   2.293 +    uint64_t scrub_pages;
   2.294 +
   2.295 +    uint32_t nr_nodes;
   2.296 +    libxl_hwcap hw_cap;
   2.297 +    uint32_t phys_cap;
   2.298 +}  libxl_physinfo;
   2.299 +
   2.300 +typedef struct {
   2.301 +    int weight;
   2.302 +    int cap;
   2.303 +} libxl_sched_credit;
   2.304 +
   2.305 +typedef struct {
   2.306 +    char *backend;
   2.307 +    uint32_t backend_id;
   2.308 +    char *frontend;
   2.309 +    uint32_t frontend_id;
   2.310 +    int devid;
   2.311 +    int state;
   2.312 +    libxl_mac mac;
   2.313 +    int trusted;
   2.314 +    libxl_mac back_mac;
   2.315 +    int filter_mac;
   2.316 +} libxl_net2info;
   2.317 +
   2.318 +#endif /* __LIBXL_TYPES_H */
     3.1 --- a/tools/libxl/libxl.h	Thu Aug 19 14:40:24 2010 +0100
     3.2 +++ b/tools/libxl/libxl.h	Thu Aug 19 14:45:36 2010 +0100
     3.3 @@ -180,52 +180,7 @@ typedef enum {
     3.4  
     3.5  #define LIBXL_PCI_FUNC_ALL (~0U)
     3.6  
     3.7 -typedef struct {
     3.8 -    libxl_uuid uuid;
     3.9 -    uint32_t domid;
    3.10 -    uint8_t running:1;
    3.11 -    uint8_t blocked:1;
    3.12 -    uint8_t paused:1;
    3.13 -    uint8_t shutdown:1;
    3.14 -    uint8_t dying:1;
    3.15 -
    3.16 -    /*
    3.17 -     * Valid SHUTDOWN_* value from xen/sched.h iff (shutdown||dying).
    3.18 -     *
    3.19 -     * Otherwise set to a value guaranteed not to clash with any valid
    3.20 -     * SHUTDOWN_* constant.
    3.21 -     */
    3.22 -    unsigned int shutdown_reason;
    3.23 -
    3.24 -    uint64_t max_memkb;
    3.25 -    uint64_t cpu_time;
    3.26 -    uint32_t vcpu_max_id;
    3.27 -    uint32_t vcpu_online;
    3.28 -} libxl_dominfo;
    3.29 -
    3.30 -typedef struct {
    3.31 -    uint32_t poolid;
    3.32 -} libxl_poolinfo;
    3.33 -
    3.34 -typedef struct {
    3.35 -    libxl_uuid uuid;
    3.36 -    uint32_t domid;
    3.37 -} libxl_vminfo;
    3.38 -
    3.39 -typedef struct {
    3.40 -    int xen_version_major;
    3.41 -    int xen_version_minor;
    3.42 -    char *xen_version_extra;
    3.43 -    char *compiler;
    3.44 -    char *compile_by;
    3.45 -    char *compile_domain;
    3.46 -    char *compile_date;
    3.47 -    char *capabilities;
    3.48 -    char *changeset;
    3.49 -    unsigned long virt_start;
    3.50 -    unsigned long pagesize;
    3.51 -    char *commandline;
    3.52 -} libxl_version_info;
    3.53 +#include "_libxl_types.h"
    3.54  
    3.55  typedef struct {
    3.56      xentoollog_logger *lg;
    3.57 @@ -242,206 +197,12 @@ typedef struct {
    3.58  const libxl_version_info* libxl_get_version_info(libxl_ctx *ctx);
    3.59  
    3.60  typedef struct {
    3.61 -    bool hvm;
    3.62 -    bool hap;
    3.63 -    bool oos;
    3.64 -    int ssidref;
    3.65 -    char *name;
    3.66 -    libxl_uuid uuid;
    3.67 -    libxl_key_value_list xsdata;
    3.68 -    libxl_key_value_list platformdata;
    3.69 -    uint32_t poolid;
    3.70 -    char *poolname;
    3.71 -} libxl_domain_create_info;
    3.72 -
    3.73 -typedef struct {
    3.74 -    /*
    3.75 -     * Path is always set if the file refernece is valid. However if
    3.76 -     * mapped is true then the actual file may already be unlinked.
    3.77 -     */
    3.78 -    char *path;
    3.79 -    int mapped;
    3.80 -    void *data;
    3.81 -    size_t size;
    3.82 -} libxl_file_reference;
    3.83 -
    3.84 -/*
    3.85 - * Instances of libxl_file_reference contained in this struct which
    3.86 - * have been mapped (with libxl_file_reference_map) will be unmapped
    3.87 - * by libxl_domain_build/restore. If either of these are never called
    3.88 - * then the user is responsible for calling
    3.89 - * libxl_file_reference_unmap.
    3.90 - */
    3.91 -typedef struct {
    3.92 -    int max_vcpus;
    3.93 -    int cur_vcpus;
    3.94 -    int tsc_mode;
    3.95 -    uint32_t max_memkb;
    3.96 -    uint32_t target_memkb;
    3.97 -    uint32_t video_memkb;
    3.98 -    uint32_t shadow_memkb;
    3.99 -    bool disable_migrate;
   3.100 -    libxl_file_reference kernel;
   3.101 -    int hvm;
   3.102 -    union {
   3.103 -        struct {
   3.104 -            bool pae;
   3.105 -            bool apic;
   3.106 -            bool acpi;
   3.107 -            bool nx;
   3.108 -            bool viridian;
   3.109 -            char *timeoffset;
   3.110 -            bool hpet;
   3.111 -            bool vpt_align;
   3.112 -            int timer_mode;
   3.113 -        } hvm;
   3.114 -        struct {
   3.115 -            uint32_t   slack_memkb;
   3.116 -            const char *bootloader;
   3.117 -            const char *bootloader_args;
   3.118 -            char *cmdline;
   3.119 -            libxl_file_reference ramdisk;
   3.120 -            const char *features;
   3.121 -        } pv;
   3.122 -    } u;
   3.123 -} libxl_domain_build_info;
   3.124 -
   3.125 -typedef struct {
   3.126 -    uint32_t store_port;
   3.127 -    unsigned long store_mfn;
   3.128 -    uint32_t console_port;
   3.129 -    unsigned long console_mfn;
   3.130 -} libxl_domain_build_state;
   3.131 -
   3.132 -typedef struct {
   3.133  #define XL_SUSPEND_DEBUG 1
   3.134  #define XL_SUSPEND_LIVE 2
   3.135      int flags;
   3.136      int (*suspend_callback)(void *, int);
   3.137  } libxl_domain_suspend_info;
   3.138  
   3.139 -typedef struct {
   3.140 -    int domid;
   3.141 -    libxl_uuid uuid; /* this is use only with stubdom, and must be different from the domain uuid */
   3.142 -    char *dom_name;
   3.143 -    char *device_model;
   3.144 -    char *saved_state;
   3.145 -    libxl_qemu_machine_type type;
   3.146 -    int videoram; /* size of the videoram in MB */
   3.147 -    bool stdvga; /* stdvga enabled or disabled */
   3.148 -    bool vnc; /* vnc enabled or disabled */
   3.149 -    char *vnclisten; /* address:port that should be listened on for the VNC server if vnc is set */
   3.150 -    char *vncpasswd; /* the VNC password */
   3.151 -    int vncdisplay; /* set VNC display number */
   3.152 -    bool vncunused; /* try to find an unused port for the VNC server */
   3.153 -    char *keymap; /* set keyboard layout, default is en-us keyboard */
   3.154 -    bool sdl; /* sdl enabled or disabled */
   3.155 -    bool opengl; /* opengl enabled or disabled (if enabled requires sdl enabled) */
   3.156 -    bool nographic; /* no graphics, use serial port */
   3.157 -    char *serial; /* serial port re-direct to pty deivce */
   3.158 -    char *boot; /* boot order, for example dca */
   3.159 -    bool usb; /* usb support enabled or disabled */
   3.160 -    char *usbdevice; /* enable usb mouse: tablet for absolute mouse, mouse for PS/2 protocol relative mouse */
   3.161 -    char *soundhw; /* enable sound hardware */
   3.162 -    bool apic; /* apic enabled or disabled */
   3.163 -    int vcpus; /* max number of vcpus */
   3.164 -    int vcpu_avail; /* vcpus actually available */
   3.165 -    int xen_platform_pci; /* enable/disable the xen platform pci device */
   3.166 -    libxl_string_list extra; /* extra parameters pass directly to qemu, NULL terminated */
   3.167 -    /* Network is missing */
   3.168 -} libxl_device_model_info;
   3.169 -
   3.170 -typedef struct {
   3.171 -    uint32_t backend_domid;
   3.172 -    uint32_t domid;
   3.173 -    int devid;
   3.174 -    bool vnc; /* vnc enabled or disabled */
   3.175 -    char *vnclisten; /* address:port that should be listened on for the VNC server if vnc is set */
   3.176 -    char *vncpasswd; /* the VNC password */
   3.177 -    int vncdisplay; /* set VNC display number */
   3.178 -    bool vncunused; /* try to find an unused port for the VNC server */
   3.179 -    char *keymap; /* set keyboard layout, default is en-us keyboard */
   3.180 -    bool sdl; /* sdl enabled or disabled */
   3.181 -    bool opengl; /* opengl enabled or disabled (if enabled requires sdl enabled) */
   3.182 -    char *display;
   3.183 -    char *xauthority;
   3.184 -} libxl_device_vfb;
   3.185 -
   3.186 -typedef struct {
   3.187 -    uint32_t backend_domid;
   3.188 -    uint32_t domid;
   3.189 -    int devid;
   3.190 -} libxl_device_vkb;
   3.191 -
   3.192 -typedef struct {
   3.193 -    uint32_t backend_domid;
   3.194 -    uint32_t domid;
   3.195 -    int devid;
   3.196 -    libxl_console_consback consback;
   3.197 -    libxl_domain_build_state *build_state;
   3.198 -    char *output;
   3.199 -} libxl_device_console;
   3.200 -
   3.201 -typedef struct {
   3.202 -    uint32_t backend_domid;
   3.203 -    uint32_t domid;
   3.204 -    char *physpath;
   3.205 -    libxl_disk_phystype phystype;
   3.206 -    char *virtpath;
   3.207 -    int unpluggable;
   3.208 -    int readwrite;
   3.209 -    int is_cdrom;
   3.210 -} libxl_device_disk;
   3.211 -
   3.212 -typedef struct {
   3.213 -    uint32_t backend_domid;
   3.214 -    uint32_t domid;
   3.215 -    int devid;
   3.216 -    int mtu;
   3.217 -    char *model;
   3.218 -    libxl_mac mac;
   3.219 -    struct in_addr ip;
   3.220 -    char *bridge;
   3.221 -    char *ifname;
   3.222 -    char *script;
   3.223 -    libxl_nic_type nictype;
   3.224 -} libxl_device_nic;
   3.225 -
   3.226 -typedef struct {
   3.227 -    int devid;
   3.228 -    libxl_mac front_mac;
   3.229 -    libxl_mac back_mac;
   3.230 -    uint32_t backend_domid;
   3.231 -    uint32_t domid;
   3.232 -    uint32_t trusted:1;
   3.233 -    uint32_t back_trusted:1;
   3.234 -    uint32_t filter_mac:1;
   3.235 -    uint32_t front_filter_mac:1;
   3.236 -    uint32_t pdev;
   3.237 -    uint32_t max_bypasses;
   3.238 -    char *bridge;
   3.239 -} libxl_device_net2;
   3.240 -
   3.241 -typedef struct {
   3.242 -    union {
   3.243 -        unsigned int value;
   3.244 -        struct {
   3.245 -            unsigned int reserved1:2;
   3.246 -            unsigned int reg:6;
   3.247 -            unsigned int func:3;
   3.248 -            unsigned int dev:5;
   3.249 -            unsigned int bus:8;
   3.250 -            unsigned int reserved2:7;
   3.251 -            unsigned int enable:1;
   3.252 -        };
   3.253 -    };
   3.254 -    unsigned int domain;
   3.255 -    unsigned int vdevfn;
   3.256 -    unsigned int vfunc_mask;
   3.257 -    bool msitranslate;
   3.258 -    bool power_mgmt;
   3.259 -} libxl_device_pci;
   3.260 -
   3.261  enum {
   3.262      ERROR_VERSION = -1,
   3.263      ERROR_FAIL = -2,
   3.264 @@ -594,17 +355,6 @@ int libxl_detach_device_model(libxl_ctx 
   3.265                                libxl_device_model_starting *starting);
   3.266    /* DM is detached even if error is returned */
   3.267  
   3.268 -typedef struct {
   3.269 -    char *backend;
   3.270 -    uint32_t backend_id;
   3.271 -    char *frontend;
   3.272 -    uint32_t frontend_id;
   3.273 -    int devid;
   3.274 -    int state;
   3.275 -    int evtch;
   3.276 -    int rref;
   3.277 -} libxl_diskinfo;
   3.278 -
   3.279  int libxl_device_disk_add(libxl_ctx *ctx, uint32_t domid, libxl_device_disk *disk);
   3.280  int libxl_device_disk_del(libxl_ctx *ctx, libxl_device_disk *disk, int wait);
   3.281  libxl_device_disk *libxl_device_disk_list(libxl_ctx *ctx, uint32_t domid, int *num);
   3.282 @@ -618,20 +368,6 @@ int libxl_cdrom_insert(libxl_ctx *ctx, u
   3.283  char * libxl_device_disk_local_attach(libxl_ctx *ctx, libxl_device_disk *disk);
   3.284  int libxl_device_disk_local_detach(libxl_ctx *ctx, libxl_device_disk *disk);
   3.285  
   3.286 -typedef struct {
   3.287 -    char *backend;
   3.288 -    uint32_t backend_id;
   3.289 -    char *frontend;
   3.290 -    uint32_t frontend_id;
   3.291 -    int devid;
   3.292 -    int state;
   3.293 -    char *script;
   3.294 -    libxl_mac mac;
   3.295 -    int evtch;
   3.296 -    int rref_tx;
   3.297 -    int rref_rx;
   3.298 -} libxl_nicinfo;
   3.299 -
   3.300  int libxl_device_nic_add(libxl_ctx *ctx, uint32_t domid, libxl_device_nic *nic);
   3.301  int libxl_device_nic_del(libxl_ctx *ctx, libxl_device_nic *nic, int wait);
   3.302  libxl_nicinfo *libxl_list_nics(libxl_ctx *ctx, uint32_t domid, unsigned int *nb);
   3.303 @@ -692,33 +428,6 @@ typedef enum {
   3.304  
   3.305  int libxl_button_press(libxl_ctx *ctx, uint32_t domid, libxl_button button);
   3.306  
   3.307 -typedef struct {
   3.308 -    uint32_t vcpuid; /* vcpu's id */
   3.309 -    uint32_t cpu; /* current mapping */
   3.310 -    uint8_t online:1; /* currently online (not hotplugged)? */
   3.311 -    uint8_t blocked:1; /* blocked waiting for an event? */
   3.312 -    uint8_t running:1; /* currently scheduled on its CPU? */
   3.313 -    uint64_t vcpu_time; /* total vcpu time ran (ns) */
   3.314 -    libxl_cpumap cpumap; /* current cpu's affinities */
   3.315 -} libxl_vcpuinfo;
   3.316 -
   3.317 -typedef struct {
   3.318 -    uint32_t threads_per_core;
   3.319 -    uint32_t cores_per_socket;
   3.320 -
   3.321 -    uint32_t max_cpu_id;
   3.322 -    uint32_t nr_cpus;
   3.323 -    uint32_t cpu_khz;
   3.324 -
   3.325 -    uint64_t total_pages;
   3.326 -    uint64_t free_pages;
   3.327 -    uint64_t scrub_pages;
   3.328 -
   3.329 -    uint32_t nr_nodes;
   3.330 -    libxl_hwcap hw_cap;
   3.331 -    uint32_t phys_cap;
   3.332 -}  libxl_physinfo;
   3.333 -
   3.334  int libxl_get_physinfo(libxl_ctx *ctx, libxl_physinfo *physinfo);
   3.335  libxl_vcpuinfo *libxl_list_vcpu(libxl_ctx *ctx, uint32_t domid,
   3.336                                         int *nb_vcpu, int *nrcpus);
   3.337 @@ -730,11 +439,6 @@ int libxl_set_vcpucount(libxl_ctx *ctx, 
   3.338  int libxl_get_sched_id(libxl_ctx *ctx);
   3.339  
   3.340  
   3.341 -typedef struct {
   3.342 -    int weight;
   3.343 -    int cap;
   3.344 -} libxl_sched_credit;
   3.345 -
   3.346  int libxl_sched_credit_domain_get(libxl_ctx *ctx, uint32_t domid,
   3.347                                    libxl_sched_credit *scinfo);
   3.348  int libxl_sched_credit_domain_set(libxl_ctx *ctx, uint32_t domid,
   3.349 @@ -766,19 +470,6 @@ int libxl_tmem_shared_auth(libxl_ctx *ct
   3.350                             int auth);
   3.351  int libxl_tmem_freeable(libxl_ctx *ctx);
   3.352  
   3.353 -typedef struct {
   3.354 -    char *backend;
   3.355 -    uint32_t backend_id;
   3.356 -    char *frontend;
   3.357 -    uint32_t frontend_id;
   3.358 -    int devid;
   3.359 -    int state;
   3.360 -    libxl_mac mac;
   3.361 -    int trusted;
   3.362 -    libxl_mac back_mac;
   3.363 -    int filter_mac;
   3.364 -} libxl_net2info;
   3.365 -
   3.366  int libxl_device_net2_add(libxl_ctx *ctx, uint32_t domid,
   3.367                            libxl_device_net2 *net2);
   3.368  libxl_net2info *libxl_device_net2_list(libxl_ctx *ctx, uint32_t domid,