|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH v3 01/22] libxl: add is_default checkers for string and timer_mode types
Those types are missing a helper to check whether a definition of the
type holds the default value. This will be required by a later patch
that will implement deprecation of fields inside of a libxl type.
Signed-off-by: Roger Pau Monné <roger.pau@xxxxxxxxxx>
Acked-by: Ian Jackson <ian.jackson@xxxxxxxxxxxxx>
Acked-by: Wei Liu <wei.liu2@xxxxxxxxxx>
---
Cc: Ian Jackson <ian.jackson@xxxxxxxxxxxxx>
Cc: Wei Liu <wei.liu2@xxxxxxxxxx>
---
Changes since v1:
- New in this version.
---
tools/libxl/idl.py | 3 ++-
tools/libxl/libxl_internal.h | 10 ++++++++++
tools/libxl/libxl_types.idl | 3 ++-
3 files changed, 14 insertions(+), 2 deletions(-)
diff --git a/tools/libxl/idl.py b/tools/libxl/idl.py
index 437049ebb9..a4a084e1ce 100644
--- a/tools/libxl/idl.py
+++ b/tools/libxl/idl.py
@@ -302,7 +302,8 @@ string = Builtin("char *", namespace = None, copy_fn =
"libxl_string_copy", disp
json_gen_fn = "libxl__string_gen_json",
json_parse_type = "JSON_STRING | JSON_NULL",
json_parse_fn = "libxl__string_parse_json",
- autogenerate_json = False)
+ autogenerate_json = False,
+ check_default_fn="libxl__string_is_default")
class Array(Type):
"""An array of the same type"""
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index c7265950c1..d5fd27cebe 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -4341,6 +4341,16 @@ void* libxl__device_list(libxl__gc *gc, const struct
libxl_device_type *dt,
uint32_t domid, const char* name, int *num);
void libxl__device_list_free(const struct libxl_device_type *dt,
void *list, int num);
+
+static inline bool libxl__timer_mode_is_default(libxl_timer_mode *tm)
+{
+ return *tm == LIBXL_TIMER_MODE_DEFAULT;
+}
+
+static inline bool libxl__string_is_default(char **s)
+{
+ return *s == NULL;
+}
#endif
/*
diff --git a/tools/libxl/libxl_types.idl b/tools/libxl/libxl_types.idl
index 756e120ad7..76b649af29 100644
--- a/tools/libxl/libxl_types.idl
+++ b/tools/libxl/libxl_types.idl
@@ -173,7 +173,8 @@ libxl_timer_mode = Enumeration("timer_mode", [
(1, "no_delay_for_missed_ticks"),
(2, "no_missed_ticks_pending"),
(3, "one_missed_tick_pending"),
- ], init_val = "LIBXL_TIMER_MODE_DEFAULT")
+ ], init_val = "LIBXL_TIMER_MODE_DEFAULT",
+ check_default_fn = "libxl__timer_mode_is_default")
libxl_bios_type = Enumeration("bios_type", [
(0, "unknown"),
--
2.13.5 (Apple Git-94)
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
https://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |