@@ -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"""
@@ -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
/*
@@ -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"),