From 92f962f4a72f297a0e21bf1acbea4a685a487fc7 Mon Sep 17 00:00:00 2001 From: Wei Liu Date: Mon, 9 Jun 2014 13:43:26 +0100 Subject: [PATCH] libxl: introduce libxl_cpuid_policy_list_length Signed-off-by: Wei Liu Acked-by: Ian Campbell --- tools/libxl/libxl.h | 1 + tools/libxl/libxl_cpuid.c | 13 +++++++++++++ 2 files changed, 14 insertions(+) diff --git a/tools/libxl/libxl.h b/tools/libxl/libxl.h index e2259b2f77..17b8a7b000 100644 --- a/tools/libxl/libxl.h +++ b/tools/libxl/libxl.h @@ -529,6 +529,7 @@ void libxl_bitmap_dispose(libxl_bitmap *map); typedef struct libxl__cpuid_policy libxl_cpuid_policy; typedef libxl_cpuid_policy * libxl_cpuid_policy_list; void libxl_cpuid_dispose(libxl_cpuid_policy_list *cpuid_list); +int libxl_cpuid_policy_list_length(libxl_cpuid_policy_list *l); #define LIBXL_PCI_FUNC_ALL (~0U) diff --git a/tools/libxl/libxl_cpuid.c b/tools/libxl/libxl_cpuid.c index d9007b2813..1f2bcd5478 100644 --- a/tools/libxl/libxl_cpuid.c +++ b/tools/libxl/libxl_cpuid.c @@ -455,6 +455,19 @@ int libxl_cpuid_policy_list_parse_json(libxl__gc *gc, return 0; } +int libxl_cpuid_policy_list_length(libxl_cpuid_policy_list *pl) +{ + int i = 0; + libxl_cpuid_policy_list l = *pl; + + if (l) { + while (l[i].input[0] != XEN_CPUID_INPUT_UNUSED) + i++; + } + + return i; +} + /* * Local variables: * mode: C -- 2.39.5