]> xenbits.xensource.com Git - xen.git/commitdiff
libxl: provide typedefs for device framework functions
authorWei Liu <wei.liu2@citrix.com>
Fri, 15 Sep 2017 11:01:56 +0000 (12:01 +0100)
committerWei Liu <wei.liu2@citrix.com>
Fri, 22 Sep 2017 10:07:59 +0000 (11:07 +0100)
Use the new typedefs to avoid copy-n-paste everywhere.

No functional change.

Signed-off-by: Wei Liu <wei.liu2@citrix.com>
tools/libxl/libxl_9pfs.c
tools/libxl/libxl_console.c
tools/libxl/libxl_disk.c
tools/libxl/libxl_internal.h
tools/libxl/libxl_nic.c
tools/libxl/libxl_vdispl.c
tools/libxl/libxl_vtpm.c

index 61d284c6a3be0cac2da6731f9cacb1d3e1c25ac0..9db887b5d8cef83eef4d6a4be1abb15fe9d8727d 100644 (file)
@@ -60,8 +60,6 @@ LIBXL_DEFINE_DEVICE_REMOVE(p9)
 
 DEFINE_DEVICE_TYPE_STRUCT(p9,
     .skip_attach = 1,
-    .set_xenstore_config = (int (*)(libxl__gc *, uint32_t, void *,
-                                    flexarray_t *back, flexarray_t *front,
-                                    flexarray_t *ro_front))
-                           libxl__set_xenstore_p9
+    .set_xenstore_config = (device_set_xenstore_config_fn_t)
+                           libxl__set_xenstore_p9,
 );
index 68511d7dc591b9c028784caf6ebda985c1eef564..624bd016c6f99372611ddedbfdfe57d6d37ca687 100644 (file)
@@ -737,10 +737,8 @@ LIBXL_DEFINE_DEVICE_REMOVE(vfb)
 
 DEFINE_DEVICE_TYPE_STRUCT(vfb,
     .skip_attach = 1,
-    .set_xenstore_config = (int (*)(libxl__gc *, uint32_t, void *,
-                                    flexarray_t *back, flexarray_t *front,
-                                    flexarray_t *ro_front))
-                           libxl__set_xenstore_vfb
+    .set_xenstore_config = (device_set_xenstore_config_fn_t)
+                           libxl__set_xenstore_vfb,
 );
 
 libxl_xen_console_reader *
index 06dd4d31930ad2490c8458d0dea69b30e9edf2b9..7111b42d7c422c9fde1c90b543362d502505fa9c 100644 (file)
@@ -1206,9 +1206,8 @@ static int libxl_device_disk_dm_needed(void *e, unsigned domid)
 DEFINE_DEVICE_TYPE_STRUCT(disk,
     .merge       = libxl_device_disk_merge,
     .dm_needed   = libxl_device_disk_dm_needed,
-    .from_xenstore = (int (*)(libxl__gc *, const char *, libxl_devid, void *))
-                     libxl__disk_from_xenstore,
-    .skip_attach = 1
+    .from_xenstore = (device_from_xenstore_fn_t)libxl__disk_from_xenstore,
+    .skip_attach = 1,
 );
 
 /*
index 81e87ae1c6bf040ec87c1e99377564d95cb6f139..c7265950c1f329d23f8cf402e169153b839b971a 100644 (file)
@@ -3461,28 +3461,46 @@ _hidden void libxl__bootloader_run(libxl__egc*, libxl__bootloader_state *st);
     LIBXL_DEFINE_DEVICE_REMOVE_EXT(type, type, remove, 0)               \
     LIBXL_DEFINE_DEVICE_REMOVE_EXT(type, type, destroy, 1)
 
+typedef void (*device_add_fn_t)(libxl__egc *, libxl__ao *, uint32_t,
+                                libxl_domain_config *, libxl__multidev *);
+typedef void *(*device_list_fn_t)(libxl_ctx *, uint32_t, int *);
+typedef int (*device_set_default_fn_t)(libxl__gc *, uint32_t, void *, bool);
+typedef int (*device_to_device_fn_t)(libxl__gc *, uint32_t, void *,
+                                     libxl__device *);
+typedef void (*device_init_fn_t)(void *);
+typedef void (*device_copy_fn_t)(libxl_ctx *, void *, void *);
+typedef void (*device_dispose_fn_t)(void *);
+typedef int (*device_compare_fn_t)(void *, void *);
+typedef void (*device_merge_fn_t)(libxl_ctx *, void *, void *);
+typedef int (*device_dm_needed_fn_t)(void *, unsigned);
+typedef void (*device_update_config_fn_t)(libxl__gc *, void *, void *);
+typedef int (*device_update_devid_fn_t)(libxl__gc *, uint32_t, void *);
+typedef int (*device_from_xenstore_fn_t)(libxl__gc *, const char *,
+                                         libxl_devid, void *);
+typedef int (*device_set_xenstore_config_fn_t)(libxl__gc *, uint32_t, void *,
+                                               flexarray_t *, flexarray_t *,
+                                               flexarray_t *);
+
 struct libxl_device_type {
     char *type;
     int skip_attach;   /* Skip entry in domcreate_attach_devices() if 1 */
     int ptr_offset;    /* Offset of device array ptr in libxl_domain_config */
     int num_offset;    /* Offset of # of devices in libxl_domain_config */
     int dev_elem_size; /* Size of one device element in array */
-    void (*add)(libxl__egc *, libxl__ao *, uint32_t, libxl_domain_config *,
-                libxl__multidev *);
-    void *(*list)(libxl_ctx *, uint32_t, int *);
-    int (*set_default)(libxl__gc *, uint32_t, void *, bool);
-    int (*to_device)(libxl__gc *, uint32_t, void *, libxl__device *);
-    void (*init)(void *);
-    void (*copy)(libxl_ctx *, void *, void *);
-    void (*dispose)(void *);
-    int (*compare)(void *, void *);
-    void (*merge)(libxl_ctx *, void *, void *);
-    int (*dm_needed)(void *, unsigned);
-    void (*update_config)(libxl__gc *, void *, void *);
-    int (*update_devid)(libxl__gc *, uint32_t, void *);
-    int (*from_xenstore)(libxl__gc *, const char *, libxl_devid, void *);
-    int (*set_xenstore_config)(libxl__gc *, uint32_t, void *, flexarray_t *,
-                               flexarray_t *, flexarray_t *);
+    device_add_fn_t                 add;
+    device_list_fn_t                list;
+    device_set_default_fn_t         set_default;
+    device_to_device_fn_t           to_device;
+    device_init_fn_t                init;
+    device_copy_fn_t                copy;
+    device_dispose_fn_t             dispose;
+    device_compare_fn_t             compare;
+    device_merge_fn_t               merge;
+    device_dm_needed_fn_t           dm_needed;
+    device_update_config_fn_t       update_config;
+    device_update_devid_fn_t        update_devid;
+    device_from_xenstore_fn_t       from_xenstore;
+    device_set_xenstore_config_fn_t set_xenstore_config;
 };
 
 #define DEFINE_DEVICE_TYPE_STRUCT_X(name, sname, ...)                          \
@@ -3492,20 +3510,17 @@ struct libxl_device_type {
         .num_offset    = offsetof(libxl_domain_config, num_ ## name ## s),     \
         .dev_elem_size = sizeof(libxl_device_ ## sname),                       \
         .add           = libxl__add_ ## name ## s,                             \
-        .list          = (void *(*)(libxl_ctx *, uint32_t, int *))             \
-                         libxl_device_ ## sname ## _list,                      \
-        .set_default   = (int (*)(libxl__gc *, uint32_t, void *, bool))\
+        .list          = (device_list_fn_t)libxl_device_ ## sname ## _list,    \
+        .set_default   = (device_set_default_fn_t)                             \
                          libxl__device_ ## sname ## _setdefault,               \
-        .to_device     = (int (*)(libxl__gc *, uint32_t,                       \
-                                  void *, libxl__device *))                    \
-                         libxl__device_from_ ## name,                          \
-        .init          = (void (*)(void *))libxl_device_ ## sname ## _init,    \
-        .copy          = (void (*)(libxl_ctx *, void *, void *))               \
-                         libxl_device_ ## sname ## _copy,                      \
-        .dispose       = (void (*)(void *))libxl_device_ ## sname ## _dispose, \
-        .compare       = (int (*)(void *, void *))                             \
+        .to_device     = (device_to_device_fn_t)libxl__device_from_ ## name,   \
+        .init          = (device_init_fn_t)libxl_device_ ## sname ## _init,    \
+        .copy          = (device_copy_fn_t)libxl_device_ ## sname ## _copy,    \
+        .dispose       = (device_dispose_fn_t)                                 \
+                         libxl_device_ ## sname ## _dispose,                   \
+        .compare       = (device_compare_fn_t)                                 \
                          libxl_device_ ## sname ## _compare,                   \
-        .update_devid  = (int (*)(libxl__gc *, uint32_t, void *))              \
+        .update_devid  = (device_update_devid_fn_t)                            \
                          libxl__device_ ## sname ## _update_devid,             \
         __VA_ARGS__                                                            \
     }
index d81b95b3c165491406d5776c815859e55f632caa..cf8fd5c237fc5999d4d27c4d018e3bc36e9f45f6 100644 (file)
@@ -542,12 +542,9 @@ LIBXL_DEFINE_DEVICE_REMOVE(nic)
 
 DEFINE_DEVICE_TYPE_STRUCT(nic,
     .update_config = libxl_device_nic_update_config,
-    .from_xenstore = (int (*)(libxl__gc *, const char *, libxl_devid, void *))
-                     libxl__nic_from_xenstore,
-    .set_xenstore_config = (int (*)(libxl__gc *, uint32_t, void *,
-                                    flexarray_t *back, flexarray_t *front,
-                                    flexarray_t *ro_front))
-                           libxl__set_xenstore_nic
+    .from_xenstore = (device_from_xenstore_fn_t)libxl__nic_from_xenstore,
+    .set_xenstore_config = (device_set_xenstore_config_fn_t)
+                           libxl__set_xenstore_nic,
 );
 
 /*
index befc56bdeb805f5cc837d128aba90518c252a12d..a2371ed27bbee5968ae7f28ccc16b13b8cffd020 100644 (file)
@@ -269,13 +269,9 @@ LIBXL_DEFINE_DEVICE_REMOVE(vdispl)
 static LIBXL_DEFINE_UPDATE_DEVID(vdispl, "vdispl")
 
 DEFINE_DEVICE_TYPE_STRUCT(vdispl,
-    .update_config = (void (*)(libxl__gc *, void *, void *))
-                     libxl__update_config_vdispl,
-    .from_xenstore = (int (*)(libxl__gc *, const char *, libxl_devid, void *))
-                     libxl__vdispl_from_xenstore,
-    .set_xenstore_config = (int (*)(libxl__gc *, uint32_t, void *,
-                                    flexarray_t *back, flexarray_t *front,
-                                    flexarray_t *ro_front))
+    .update_config = (device_update_config_fn_t)libxl__update_config_vdispl,
+    .from_xenstore = (device_from_xenstore_fn_t)libxl__vdispl_from_xenstore,
+    .set_xenstore_config = (device_set_xenstore_config_fn_t)
                            libxl__set_xenstore_vdispl
 );
 
index 6182cfc49c8a4c3bb7729ac7cdfa2a28f863f282..a06f15dc422d606c510a95cea08084e7412b00f2 100644 (file)
@@ -263,12 +263,9 @@ LIBXL_DEFINE_DEVICE_REMOVE(vtpm)
 
 DEFINE_DEVICE_TYPE_STRUCT(vtpm,
     .update_config = libxl_device_vtpm_update_config,
-    .from_xenstore = (int (*)(libxl__gc *, const char *, libxl_devid, void *))
-                     libxl__vtpm_from_xenstore,
-    .set_xenstore_config = (int (*)(libxl__gc *, uint32_t, void *,
-                                    flexarray_t *back, flexarray_t *front,
-                                    flexarray_t *ro_front))
-                           libxl__set_xenstore_vtpm
+    .from_xenstore = (device_from_xenstore_fn_t)libxl__vtpm_from_xenstore,
+    .set_xenstore_config = (device_set_xenstore_config_fn_t)
+                           libxl__set_xenstore_vtpm,
 );
 
 /*