diff options
author | Lei Wen <adrian.wenl@gmail.com> | 2012-09-28 04:26:44 +0000 |
---|---|---|
committer | Tom Rini <trini@ti.com> | 2012-09-29 07:26:08 -0700 |
commit | 7a32b98dacfa2da6dace2ae1d9eff08932eec61a (patch) | |
tree | 2a3b21801bfed546dcfdb8b3c3417ed5348b184d | |
parent | e9a128d8e907071d45f08c878ddacc6362554eee (diff) | |
download | u-boot-imx-7a32b98dacfa2da6dace2ae1d9eff08932eec61a.zip u-boot-imx-7a32b98dacfa2da6dace2ae1d9eff08932eec61a.tar.gz u-boot-imx-7a32b98dacfa2da6dace2ae1d9eff08932eec61a.tar.bz2 |
lib: zlib: include deflate into zlib build
Add a new config CONFIG_GZIP_ENABLED, if enabled, the uboot bin would
include zlib's deflate method which could be used for compressing.
Signed-off-by: Lei Wen <leiwen@marvell.com>
-rw-r--r-- | include/u-boot/zlib.h | 40 | ||||
-rw-r--r-- | lib/zlib/trees.c | 8 | ||||
-rw-r--r-- | lib/zlib/zlib.c | 8 | ||||
-rw-r--r-- | lib/zlib/zutil.h | 4 |
4 files changed, 51 insertions, 9 deletions
diff --git a/include/u-boot/zlib.h b/include/u-boot/zlib.h index fbb08a3..b611fe7 100644 --- a/include/u-boot/zlib.h +++ b/include/u-boot/zlib.h @@ -513,11 +513,41 @@ typedef gz_header FAR *gz_headerp; If the first character differs, the library code actually used is not compatible with the zlib.h header file used by the application. This check is automatically made by deflateInit and inflateInit. - */ - -ZEXTERN int ZEXPORT inflateInit_ OF((z_streamp strm, const char *version, - int stream_size)); - + */ + +ZEXTERN int ZEXPORT deflate OF((z_streamp strm, int flush)); +ZEXTERN int ZEXPORT deflateInit_ OF((z_streamp strm, int level, + const char *version, int stream_size)); +ZEXTERN int ZEXPORT deflateEnd OF((z_streamp strm)); +ZEXTERN int ZEXPORT deflateInit2_ OF((z_streamp strm, int level, int method, + int windowBits, int memLevel, + int strategy, const char *version, + int stream_size)); +ZEXTERN int ZEXPORT deflateReset OF((z_streamp strm)); +ZEXTERN int ZEXPORT deflateSetDictionary OF((z_streamp strm, + const Bytef *dictionary, + uInt dictLength)); +ZEXTERN int ZEXPORT deflateSetHeader OF((z_streamp strm, + gz_headerp head)); +ZEXTERN int ZEXPORT deflatePrime OF((z_streamp strm, + int bits, + int value)); +ZEXTERN int ZEXPORT deflateParams OF((z_streamp strm, + int level, + int strategy)); +ZEXTERN int ZEXPORT deflateTune OF((z_streamp strm, + int good_length, + int max_lazy, + int nice_length, + int max_chain)); +ZEXTERN uLong ZEXPORT deflateBound OF((z_streamp strm, + uLong sourceLen)); +ZEXTERN int ZEXPORT deflateCopy OF((z_streamp dest, + z_streamp source)); + + +ZEXTERN int ZEXPORT inflateInit_ OF((z_streamp strm, + const char *version, int stream_size)); ZEXTERN int ZEXPORT inflate OF((z_streamp strm, int flush)); /* inflate decompresses as much data as possible, and stops when the input diff --git a/lib/zlib/trees.c b/lib/zlib/trees.c index 56e9bb1..a0078d0 100644 --- a/lib/zlib/trees.c +++ b/lib/zlib/trees.c @@ -1168,14 +1168,14 @@ local int detect_data_type(s) * method would use a table) * IN assertion: 1 <= len <= 15 */ -local unsigned bi_reverse(code, len) - unsigned code; /* the value to invert */ +local unsigned bi_reverse(value, len) + unsigned value; /* the value to invert */ int len; /* its bit length */ { register unsigned res = 0; do { - res |= code & 1; - code >>= 1, res <<= 1; + res |= value & 1; + value >>= 1, res <<= 1; } while (--len > 0); return res >> 1; } diff --git a/lib/zlib/zlib.c b/lib/zlib/zlib.c index 230d0df..7e15702 100644 --- a/lib/zlib/zlib.c +++ b/lib/zlib/zlib.c @@ -12,6 +12,14 @@ * - added inflateIncomp */ +#include <common.h> + +#ifdef CONFIG_GZIP_COMPRESSED +#define NO_DUMMY_DECL +#include "deflate.c" +#include "trees.c" +#endif + #include "zutil.h" #include "inftrees.h" #include "inflate.h" diff --git a/lib/zlib/zutil.h b/lib/zlib/zutil.h index 114cb74..7e05c3b 100644 --- a/lib/zlib/zutil.h +++ b/lib/zlib/zutil.h @@ -83,6 +83,10 @@ extern const char * const z_errmsg[10]; /* indexed by 2-zlib_error */ /* The minimum and maximum match lengths */ /* functions */ +#ifdef CONFIG_GZIP_COMPRESSED +#define PRESET_DICT 0x20 /* preset dictionary flag in zlib header */ +# define OS_CODE 0x03 /* assume Unix */ +#endif #include <linux/string.h> #define zmemcpy memcpy |