|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH] libxl: provide typedefs for device framework functions
Use the new typedefs to avoid copy-n-paste everywhere.
No functional change.
Signed-off-by: Wei Liu <wei.liu2@xxxxxxxxxx>
---
tools/libxl/libxl_9pfs.c | 6 ++--
tools/libxl/libxl_console.c | 6 ++--
tools/libxl/libxl_disk.c | 5 ++--
tools/libxl/libxl_internal.h | 71 +++++++++++++++++++++++++++-----------------
tools/libxl/libxl_nic.c | 9 ++----
tools/libxl/libxl_vdispl.c | 10 ++-----
tools/libxl/libxl_vtpm.c | 9 ++----
7 files changed, 58 insertions(+), 58 deletions(-)
diff --git a/tools/libxl/libxl_9pfs.c b/tools/libxl/libxl_9pfs.c
index 61d284c6a3..9db887b5d8 100644
--- a/tools/libxl/libxl_9pfs.c
+++ b/tools/libxl/libxl_9pfs.c
@@ -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,
);
diff --git a/tools/libxl/libxl_console.c b/tools/libxl/libxl_console.c
index 68511d7dc5..624bd016c6 100644
--- a/tools/libxl/libxl_console.c
+++ b/tools/libxl/libxl_console.c
@@ -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 *
diff --git a/tools/libxl/libxl_disk.c b/tools/libxl/libxl_disk.c
index 06dd4d3193..7111b42d7c 100644
--- a/tools/libxl/libxl_disk.c
+++ b/tools/libxl/libxl_disk.c
@@ -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,
);
/*
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index 81e87ae1c6..c7265950c1 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -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__
\
}
diff --git a/tools/libxl/libxl_nic.c b/tools/libxl/libxl_nic.c
index d81b95b3c1..cf8fd5c237 100644
--- a/tools/libxl/libxl_nic.c
+++ b/tools/libxl/libxl_nic.c
@@ -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,
);
/*
diff --git a/tools/libxl/libxl_vdispl.c b/tools/libxl/libxl_vdispl.c
index 5740c89fad..50379c1e7f 100644
--- a/tools/libxl/libxl_vdispl.c
+++ b/tools/libxl/libxl_vdispl.c
@@ -265,13 +265,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
);
diff --git a/tools/libxl/libxl_vtpm.c b/tools/libxl/libxl_vtpm.c
index 21320870d4..24c2af86de 100644
--- a/tools/libxl/libxl_vtpm.c
+++ b/tools/libxl/libxl_vtpm.c
@@ -260,12 +260,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,
);
/*
--
2.11.0
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
https://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |