[Libvirt-cim] [PATCH V2 01/48] Add others member for saving unsupported tag and unknown device

Xu Wang cngesaint at gmail.com
Mon Oct 28 02:45:30 UTC 2013


Signed-off-by: Xu Wang <gesaint at linux.vnet.ibm.com>
---
 libxkutil/device_parsing.h |   43 +++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 43 insertions(+), 0 deletions(-)

diff --git a/libxkutil/device_parsing.h b/libxkutil/device_parsing.h
index 2803d6a..147551a 100644
--- a/libxkutil/device_parsing.h
+++ b/libxkutil/device_parsing.h
@@ -33,6 +33,33 @@
 
 #include "../src/svpc_types.h"
 
+/* The structure for saving unknown tag in the xml */
+enum others_type {
+        TYPE_PROP,
+        TYPE_NODE
+};
+
+struct others { 
+        /* To identify the different tags with same name */
+        int id;
+        char *name;
+        int parent_id;
+        char *parent_name;
+        enum others_type type;
+        char *value;
+        struct others *next;
+        enum status {
+                ACTIVE,
+                INACTIVE
+        };
+};
+
+/* The structure for saving unknown device */
+struct unknown_device {
+        char *name;
+        struct others *others;
+};
+
 struct vsi_device {
         char *vsi_type;
         char *manager_id;
@@ -56,6 +83,7 @@ struct disk_device {
         char *bus_type;
         char *cache;
         char *access_mode; /* access modes for DISK_FS (filesystem) type */
+        struct others *others;
 };
 
 struct net_device {
@@ -70,6 +98,7 @@ struct net_device {
         uint64_t reservation;
         uint64_t limit;
         struct vsi_device vsi;
+        struct others *others;
 };
 
 struct mem_device {
@@ -78,16 +107,19 @@ struct mem_device {
         enum { MEM_DUMP_CORE_NOT_SET,
                MEM_DUMP_CORE_ON,
                MEM_DUMP_CORE_OFF } dumpCore;
+        struct others *others;
 };
 
 struct vcpu_device {
         uint64_t quantity;
         uint32_t weight;
         uint64_t limit;
+        struct others *others;
 };
 
 struct emu_device {
         char *path;
+        struct others *others;
 };
 
 struct vnc_device {
@@ -95,12 +127,14 @@ struct vnc_device {
         char *host;
         char *keymap;
         char *passwd;
+        struct others *others;
 };
 
 struct sdl_device {
         char *display;
         char *xauth;
         char *fullscreen;
+        struct others *others;
 };
 
 struct graphics_device {
@@ -109,6 +143,7 @@ struct graphics_device {
             struct vnc_device vnc;
             struct sdl_device sdl;
         } dev;
+        struct others *others;
 };
 
 struct path_device {
@@ -146,11 +181,13 @@ struct console_device {
                 struct udp_device  udp;
         }  source_dev;
         char *target_type;
+        struct others *others;
 };
 
 struct input_device {
         char *type;
         char *bus;
+        struct others *others;
 };
 
 struct virt_device {
@@ -164,6 +201,7 @@ struct virt_device {
                 struct graphics_device graphics;
                 struct console_device console;
                 struct input_device input;
+                struct unknown_device unknown;
         } dev;
         char *id;
 };
@@ -239,6 +277,11 @@ struct domain {
 
         struct virt_device *dev_vcpu;
         int dev_vcpu_ct;
+
+        struct virt_device *dev_unknown;
+        int dev_unknown_ct;
+
+        struct others *others;
 };
 
 struct virt_device *virt_device_dup(struct virt_device *dev);
-- 
1.7.1




More information about the Libvirt-cim mailing list