@@ -33,5 +33,6 @@ typedef enum {
extern fwts_architecture fwts_arch_get_host(void);
extern fwts_architecture fwts_arch_get_arch(const char *name);
extern const char *fwts_arch_names(void);
+extern const char *fwts_arch_get_name(const fwts_architecture arch);
#endif
@@ -33,6 +33,13 @@ static const struct fwts_arch_info arch_info[] = {
{ FWTS_ARCH_OTHER, "other" }
};
+static const struct fwts_arch_info arch_name[] = {
+ { FWTS_ARCH_X86, "x86" },
+ { FWTS_ARCH_IA64, "ia64" },
+ { FWTS_ARCH_ARM64, "arm64" },
+ { FWTS_ARCH_OTHER, "other" },
+};
+
static char *arch_names;
static fwts_architecture __fwts_arch_get_arch(const char *name)
@@ -82,3 +89,14 @@ const char *fwts_arch_names(void)
return arch_names;
}
+
+const char *fwts_arch_get_name(const fwts_architecture arch)
+{
+ const struct fwts_arch_info *ptr;
+
+ for (ptr = arch_name; ptr->arch != FWTS_ARCH_OTHER; ptr++)
+ if (ptr->arch == arch)
+ break;
+
+ return ptr->name;
+}
Add in a small helper function that converts the arch enum value to a readable string; this helps with error output. Signed-off-by: Al Stone <al.stone@linaro.org> --- src/lib/include/fwts_arch.h | 1 + src/lib/src/fwts_arch.c | 18 ++++++++++++++++++ 2 files changed, 19 insertions(+) -- 2.5.0