From: Roger Pau Monne Date: Fri, 22 Dec 2017 16:32:19 +0000 (+0000) Subject: libxl: add is_default checkers for string and timer_mode types X-Git-Tag: 4.8.3pre-shim-comet-2~33 X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=ea9e7fd92cac4939e5dc7aa8795d16bd38093a72;p=xen.git 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é Acked-by: Ian Jackson Acked-by: Wei Liu Rebased over changes to libxl_internal.h --- 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 8366fee25f..60f012be8a 100644 --- a/tools/libxl/libxl_internal.h +++ b/tools/libxl/libxl_internal.h @@ -4303,6 +4303,16 @@ static inline bool libxl__acpi_defbool_val(const libxl_domain_build_info *b_info return libxl_defbool_val(b_info->acpi) && libxl_defbool_val(b_info->u.hvm.acpi); } + +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 a32c751b0e..094303f151 100644 --- a/tools/libxl/libxl_types.idl +++ b/tools/libxl/libxl_types.idl @@ -172,7 +172,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"),