summaryrefslogtreecommitdiff
path: root/util/cbfstool/cbfs_image.c
diff options
context:
space:
mode:
authorSol Boucher <solb@chromium.org>2015-05-07 21:00:05 -0700
committerPatrick Georgi <pgeorgi@google.com>2015-07-16 17:39:33 +0200
commitec42486055fa317e84232115c9b83c1414f48b20 (patch)
tree4d097643d9af4a851a270ed118799ff8ecad50b1 /util/cbfstool/cbfs_image.c
parent6533671ce015227401cec441b1af51d2bd626ec4 (diff)
downloadcoreboot-ec42486055fa317e84232115c9b83c1414f48b20.tar.xz
cbfstool: Factor out compression algorithm list
Parse compression algorithm arguments using a single list. Change-Id: Idc5b14a53377b29964f24221e42db6e09a497d48 Signed-off-by: Sol Boucher <solb@chromium.org> Signed-off-by: Patrick Georgi <pgeorgi@chromium.org> Original-Change-Id: I1a117a9473e895feaf455bb30d0f945f57de51eb Original-Signed-off-by: Sol Boucher <solb@chromium.org> Reviewed-on: http://review.coreboot.org/10931 Tested-by: build bot (Jenkins) Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Diffstat (limited to 'util/cbfstool/cbfs_image.c')
-rw-r--r--util/cbfstool/cbfs_image.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/util/cbfstool/cbfs_image.c b/util/cbfstool/cbfs_image.c
index 783999ce9b..f5fddcbe43 100644
--- a/util/cbfstool/cbfs_image.c
+++ b/util/cbfstool/cbfs_image.c
@@ -96,11 +96,23 @@ static const char *lookup_name_by_type(const struct typedesc_t *desc, uint32_t t
return default_value;
}
+static int lookup_type_by_name(const struct typedesc_t *desc, const char *name)
+{
+ int i;
+ for (i = 0; desc[i].name && strcasecmp(name, desc[i].name); ++i);
+ return desc[i].name ? (int)desc[i].type : -1;
+}
+
static const char *get_cbfs_entry_type_name(uint32_t type)
{
return lookup_name_by_type(types_cbfs_entry, type, "(unknown)");
}
+int cbfs_parse_comp_algo(const char *name)
+{
+ return lookup_type_by_name(types_cbfs_compression, name);
+}
+
/* CBFS image */
static size_t cbfs_calculate_file_header_size(const char *name)