diff options
author | Patrick Georgi <patrick@georgi-clan.de> | 2015-08-26 12:53:41 +0200 |
---|---|---|
committer | Patrick Georgi <pgeorgi@google.com> | 2015-09-01 14:51:53 +0000 |
commit | 61c822900e8907e28ef6dca326835692ae6d18ca (patch) | |
tree | 1c6cb5b36d9753fce53350eac446bda601c84888 /util/cbfstool/compress.c | |
parent | a71c83fa5c3904b562bad939a3103387cd561c80 (diff) | |
download | coreboot-61c822900e8907e28ef6dca326835692ae6d18ca.tar.xz |
cbfstool: add decompression wrappers
... and document the interface.
Change-Id: I86a071a61fd6c1ef842f8ffe51f12f0cefdaf2fe
Signed-off-by: Patrick Georgi <patrick@georgi-clan.de>
Reviewed-on: http://review.coreboot.org/11362
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Tested-by: build bot (Jenkins)
Diffstat (limited to 'util/cbfstool/compress.c')
-rw-r--r-- | util/cbfstool/compress.c | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/util/cbfstool/compress.c b/util/cbfstool/compress.c index ab94b35329..2bde7df96a 100644 --- a/util/cbfstool/compress.c +++ b/util/cbfstool/compress.c @@ -31,6 +31,10 @@ static int lzma_compress(char *in, int in_len, char *out, int *out_len) return do_lzma_compress(in, in_len, out, out_len); } +static int lzma_decompress(char *in, int in_len, char *out, unused int out_len) +{ + return do_lzma_uncompress(out, out_len, in, in_len); +} static int none_compress(char *in, int in_len, char *out, int *out_len) { memcpy(out, in, in_len); @@ -38,6 +42,12 @@ static int none_compress(char *in, int in_len, char *out, int *out_len) return 0; } +static int none_decompress(char *in, int in_len, char *out, unused int out_len) +{ + memcpy(out, in, in_len); + return 0; +} + comp_func_ptr compression_function(enum comp_algo algo) { comp_func_ptr compress; @@ -54,3 +64,20 @@ comp_func_ptr compression_function(enum comp_algo algo) } return compress; } + +decomp_func_ptr decompression_function(enum comp_algo algo) +{ + decomp_func_ptr decompress; + switch (algo) { + case CBFS_COMPRESS_NONE: + decompress = none_decompress; + break; + case CBFS_COMPRESS_LZMA: + decompress = lzma_decompress; + break; + default: + ERROR("Unknown compression algorithm %d!\n", algo); + return NULL; + } + return decompress; +} |