[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH v1] libxl: provide typedefs for device framework functions
From: Wei Liu <wei.liu2@xxxxxxxxxx> 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 61d284c..9db887b 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 68511d7..624bd01 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 06dd4d3..7111b42 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 81e87ae..c726595 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 d81b95b..cf8fd5c 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 befc56b..a2371ed 100644 --- a/tools/libxl/libxl_vdispl.c +++ b/tools/libxl/libxl_vdispl.c @@ -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 ); diff --git a/tools/libxl/libxl_vtpm.c b/tools/libxl/libxl_vtpm.c index 6182cfc..a06f15d 100644 --- a/tools/libxl/libxl_vtpm.c +++ b/tools/libxl/libxl_vtpm.c @@ -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, ); /* -- 2.7.4 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx https://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |