mirror of
				https://source.denx.de/u-boot/u-boot.git
				synced 2025-10-26 22:11:49 +01:00 
			
		
		
		
	- Added Motorola CPU 8540/8560 support (cpu/85xx) - Added Motorola MPC8540ADS board support (board/mpc8540ads) - Added Motorola MPC8560ADS board support (board/mpc8560ads) * Minor code cleanup
		
			
				
	
	
		
			330 lines
		
	
	
		
			7.8 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			330 lines
		
	
	
		
			7.8 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /*
 | |
|  * This file is a modified version of bzlib.h from the bzip2-1.0.2
 | |
|  * distribution which can be found at http://sources.redhat.com/bzip2/
 | |
|  */
 | |
| 
 | |
| /*-------------------------------------------------------------*/
 | |
| /*--- Public header file for the library.                   ---*/
 | |
| /*---                                               bzlib.h ---*/
 | |
| /*-------------------------------------------------------------*/
 | |
| 
 | |
| /*--
 | |
|   This file is a part of bzip2 and/or libbzip2, a program and
 | |
|   library for lossless, block-sorting data compression.
 | |
| 
 | |
|   Copyright (C) 1996-2002 Julian R Seward.  All rights reserved.
 | |
| 
 | |
|   Redistribution and use in source and binary forms, with or without
 | |
|   modification, are permitted provided that the following conditions
 | |
|   are met:
 | |
| 
 | |
|   1. Redistributions of source code must retain the above copyright
 | |
|      notice, this list of conditions and the following disclaimer.
 | |
| 
 | |
|   2. The origin of this software must not be misrepresented; you must
 | |
|      not claim that you wrote the original software.  If you use this
 | |
|      software in a product, an acknowledgment in the product
 | |
|      documentation would be appreciated but is not required.
 | |
| 
 | |
|   3. Altered source versions must be plainly marked as such, and must
 | |
|      not be misrepresented as being the original software.
 | |
| 
 | |
|   4. The name of the author may not be used to endorse or promote
 | |
|      products derived from this software without specific prior written
 | |
|      permission.
 | |
| 
 | |
|   THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
 | |
|   OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
 | |
|   WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 | |
|   ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
 | |
|   DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
 | |
|   DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
 | |
|   GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
 | |
|   INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
 | |
|   WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
 | |
|   NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 | |
|   SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 | |
| 
 | |
|   Julian Seward, Cambridge, UK.
 | |
|   jseward@acm.org
 | |
|   bzip2/libbzip2 version 1.0 of 21 March 2000
 | |
| 
 | |
|   This program is based on (at least) the work of:
 | |
|      Mike Burrows
 | |
|      David Wheeler
 | |
|      Peter Fenwick
 | |
|      Alistair Moffat
 | |
|      Radford Neal
 | |
|      Ian H. Witten
 | |
|      Robert Sedgewick
 | |
|      Jon L. Bentley
 | |
| 
 | |
|   For more information on these sources, see the manual.
 | |
| --*/
 | |
| 
 | |
| 
 | |
| #ifndef _BZLIB_H
 | |
| #define _BZLIB_H
 | |
| 
 | |
| /* Configure for U-Boot environment */
 | |
| #define BZ_NO_STDIO
 | |
| #define BZ_NO_COMPRESS
 | |
| /* End of configuration for U-Boot environment */
 | |
| 
 | |
| #ifdef __cplusplus
 | |
| extern "C" {
 | |
| #endif
 | |
| 
 | |
| #define BZ_RUN               0
 | |
| #define BZ_FLUSH             1
 | |
| #define BZ_FINISH            2
 | |
| 
 | |
| #define BZ_OK                0
 | |
| #define BZ_RUN_OK            1
 | |
| #define BZ_FLUSH_OK          2
 | |
| #define BZ_FINISH_OK         3
 | |
| #define BZ_STREAM_END        4
 | |
| #define BZ_SEQUENCE_ERROR    (-1)
 | |
| #define BZ_PARAM_ERROR       (-2)
 | |
| #define BZ_MEM_ERROR         (-3)
 | |
| #define BZ_DATA_ERROR        (-4)
 | |
| #define BZ_DATA_ERROR_MAGIC  (-5)
 | |
| #define BZ_IO_ERROR          (-6)
 | |
| #define BZ_UNEXPECTED_EOF    (-7)
 | |
| #define BZ_OUTBUFF_FULL      (-8)
 | |
| #define BZ_CONFIG_ERROR      (-9)
 | |
| 
 | |
| typedef
 | |
|    struct {
 | |
|       char *next_in;
 | |
|       unsigned int avail_in;
 | |
|       unsigned int total_in_lo32;
 | |
|       unsigned int total_in_hi32;
 | |
| 
 | |
|       char *next_out;
 | |
|       unsigned int avail_out;
 | |
|       unsigned int total_out_lo32;
 | |
|       unsigned int total_out_hi32;
 | |
| 
 | |
|       void *state;
 | |
| 
 | |
|       void *(*bzalloc)(void *,int,int);
 | |
|       void (*bzfree)(void *,void *);
 | |
|       void *opaque;
 | |
|    }
 | |
|    bz_stream;
 | |
| 
 | |
| 
 | |
| #ifndef BZ_IMPORT
 | |
| #define BZ_EXPORT
 | |
| #endif
 | |
| 
 | |
| #ifdef _WIN32
 | |
| #   include <windows.h>
 | |
| #   ifdef small
 | |
|       /* windows.h define small to char */
 | |
| #      undef small
 | |
| #   endif
 | |
| #   ifdef BZ_EXPORT
 | |
| #   define BZ_API(func) WINAPI func
 | |
| #   define BZ_EXTERN extern
 | |
| #   else
 | |
|    /* import windows dll dynamically */
 | |
| #   define BZ_API(func) (WINAPI * func)
 | |
| #   define BZ_EXTERN
 | |
| #   endif
 | |
| #else
 | |
| #   define BZ_API(func) func
 | |
| #   define BZ_EXTERN extern
 | |
| #endif
 | |
| 
 | |
| 
 | |
| /*-- Core (low-level) library functions --*/
 | |
| 
 | |
| BZ_EXTERN int BZ_API(BZ2_bzCompressInit) (
 | |
|       bz_stream* strm,
 | |
|       int        blockSize100k,
 | |
|       int        verbosity,
 | |
|       int        workFactor
 | |
|    );
 | |
| 
 | |
| BZ_EXTERN int BZ_API(BZ2_bzCompress) (
 | |
|       bz_stream* strm,
 | |
|       int action
 | |
|    );
 | |
| 
 | |
| BZ_EXTERN int BZ_API(BZ2_bzCompressEnd) (
 | |
|       bz_stream* strm
 | |
|    );
 | |
| 
 | |
| BZ_EXTERN int BZ_API(BZ2_bzDecompressInit) (
 | |
|       bz_stream *strm,
 | |
|       int       verbosity,
 | |
|       int       small
 | |
|    );
 | |
| 
 | |
| BZ_EXTERN int BZ_API(BZ2_bzDecompress) (
 | |
|       bz_stream* strm
 | |
|    );
 | |
| 
 | |
| BZ_EXTERN int BZ_API(BZ2_bzDecompressEnd) (
 | |
|       bz_stream *strm
 | |
|    );
 | |
| 
 | |
| 
 | |
| /*-- High(er) level library functions --*/
 | |
| 
 | |
| #ifndef BZ_NO_STDIO
 | |
| #define BZ_MAX_UNUSED 5000
 | |
| 
 | |
| /* Need a definitition for FILE */
 | |
| #include <stdio.h>
 | |
| 
 | |
| typedef void BZFILE;
 | |
| 
 | |
| BZ_EXTERN BZFILE* BZ_API(BZ2_bzReadOpen) (
 | |
|       int*  bzerror,
 | |
|       FILE* f,
 | |
|       int   verbosity,
 | |
|       int   small,
 | |
|       void* unused,
 | |
|       int   nUnused
 | |
|    );
 | |
| 
 | |
| BZ_EXTERN void BZ_API(BZ2_bzReadClose) (
 | |
|       int*    bzerror,
 | |
|       BZFILE* b
 | |
|    );
 | |
| 
 | |
| BZ_EXTERN void BZ_API(BZ2_bzReadGetUnused) (
 | |
|       int*    bzerror,
 | |
|       BZFILE* b,
 | |
|       void**  unused,
 | |
|       int*    nUnused
 | |
|    );
 | |
| 
 | |
| BZ_EXTERN int BZ_API(BZ2_bzRead) (
 | |
|       int*    bzerror,
 | |
|       BZFILE* b,
 | |
|       void*   buf,
 | |
|       int     len
 | |
|    );
 | |
| 
 | |
| BZ_EXTERN BZFILE* BZ_API(BZ2_bzWriteOpen) (
 | |
|       int*  bzerror,
 | |
|       FILE* f,
 | |
|       int   blockSize100k,
 | |
|       int   verbosity,
 | |
|       int   workFactor
 | |
|    );
 | |
| 
 | |
| BZ_EXTERN void BZ_API(BZ2_bzWrite) (
 | |
|       int*    bzerror,
 | |
|       BZFILE* b,
 | |
|       void*   buf,
 | |
|       int     len
 | |
|    );
 | |
| 
 | |
| BZ_EXTERN void BZ_API(BZ2_bzWriteClose) (
 | |
|       int*          bzerror,
 | |
|       BZFILE*       b,
 | |
|       int           abandon,
 | |
|       unsigned int* nbytes_in,
 | |
|       unsigned int* nbytes_out
 | |
|    );
 | |
| 
 | |
| BZ_EXTERN void BZ_API(BZ2_bzWriteClose64) (
 | |
|       int*          bzerror,
 | |
|       BZFILE*       b,
 | |
|       int           abandon,
 | |
|       unsigned int* nbytes_in_lo32,
 | |
|       unsigned int* nbytes_in_hi32,
 | |
|       unsigned int* nbytes_out_lo32,
 | |
|       unsigned int* nbytes_out_hi32
 | |
|    );
 | |
| #endif
 | |
| 
 | |
| 
 | |
| /*-- Utility functions --*/
 | |
| 
 | |
| BZ_EXTERN int BZ_API(BZ2_bzBuffToBuffCompress) (
 | |
|       char*         dest,
 | |
|       unsigned int* destLen,
 | |
|       char*         source,
 | |
|       unsigned int  sourceLen,
 | |
|       int           blockSize100k,
 | |
|       int           verbosity,
 | |
|       int           workFactor
 | |
|    );
 | |
| 
 | |
| BZ_EXTERN int BZ_API(BZ2_bzBuffToBuffDecompress) (
 | |
|       char*         dest,
 | |
|       unsigned int* destLen,
 | |
|       char*         source,
 | |
|       unsigned int  sourceLen,
 | |
|       int           small,
 | |
|       int           verbosity
 | |
|    );
 | |
| 
 | |
| 
 | |
| /*--
 | |
|    Code contributed by Yoshioka Tsuneo
 | |
|    (QWF00133@niftyserve.or.jp/tsuneo-y@is.aist-nara.ac.jp),
 | |
|    to support better zlib compatibility.
 | |
|    This code is not _officially_ part of libbzip2 (yet);
 | |
|    I haven't tested it, documented it, or considered the
 | |
|    threading-safeness of it.
 | |
|    If this code breaks, please contact both Yoshioka and me.
 | |
| --*/
 | |
| 
 | |
| BZ_EXTERN const char * BZ_API(BZ2_bzlibVersion) (
 | |
|       void
 | |
|    );
 | |
| 
 | |
| #ifndef BZ_NO_STDIO
 | |
| BZ_EXTERN BZFILE * BZ_API(BZ2_bzopen) (
 | |
|       const char *path,
 | |
|       const char *mode
 | |
|    );
 | |
| 
 | |
| BZ_EXTERN BZFILE * BZ_API(BZ2_bzdopen) (
 | |
|       int        fd,
 | |
|       const char *mode
 | |
|    );
 | |
| 
 | |
| BZ_EXTERN int BZ_API(BZ2_bzread) (
 | |
|       BZFILE* b,
 | |
|       void* buf,
 | |
|       int len
 | |
|    );
 | |
| 
 | |
| BZ_EXTERN int BZ_API(BZ2_bzwrite) (
 | |
|       BZFILE* b,
 | |
|       void*   buf,
 | |
|       int     len
 | |
|    );
 | |
| 
 | |
| BZ_EXTERN int BZ_API(BZ2_bzflush) (
 | |
|       BZFILE* b
 | |
|    );
 | |
| 
 | |
| BZ_EXTERN void BZ_API(BZ2_bzclose) (
 | |
|       BZFILE* b
 | |
|    );
 | |
| 
 | |
| BZ_EXTERN const char * BZ_API(BZ2_bzerror) (
 | |
|       BZFILE *b,
 | |
|       int    *errnum
 | |
|    );
 | |
| #endif
 | |
| 
 | |
| #ifdef __cplusplus
 | |
| }
 | |
| #endif
 | |
| 
 | |
| #endif
 | |
| 
 | |
| /*-------------------------------------------------------------*/
 | |
| /*--- end                                           bzlib.h ---*/
 | |
| /*-------------------------------------------------------------*/
 |