From e371ea9949ecc8897f4cb34437cc6590a0fc51f0 Mon Sep 17 00:00:00 2001 From: cvs2git Date: Fri, 18 Mar 2011 10:11:42 +0000 Subject: This commit was manufactured by cvs2svn to create tag 'rtems-4-10-0'. Sprout from rtems-4-10-branch 2011-02-08 15:56:24 UTC Joel Sherrill 'Ensure all version instances say 4.10.' Cherrypick from rtems-4-10-branch 2011-03-18 10:11:41 UTC cvs2git 'This commit was manufactured by cvs2svn to create branch': cpukit/zlib/ChangeLog cpukit/zlib/ChangeLog.zlib cpukit/zlib/FAQ cpukit/zlib/Makefile.am cpukit/zlib/README cpukit/zlib/adler32.c cpukit/zlib/compress.c cpukit/zlib/crc32.c cpukit/zlib/deflate.c cpukit/zlib/deflate.h cpukit/zlib/doc/algorithm.txt cpukit/zlib/gzclose.c cpukit/zlib/gzguts.h cpukit/zlib/gzlib.c cpukit/zlib/gzread.c cpukit/zlib/gzwrite.c cpukit/zlib/infback.c cpukit/zlib/inffast.c cpukit/zlib/inflate.c cpukit/zlib/inflate.h cpukit/zlib/inftrees.c cpukit/zlib/inftrees.h cpukit/zlib/trees.c cpukit/zlib/uncompr.c cpukit/zlib/zconf.h cpukit/zlib/zlib.3 cpukit/zlib/zlib.h cpukit/zlib/zutil.c cpukit/zlib/zutil.h testsuites/libtests/mathf/.cvsignore testsuites/libtests/mathf/Makefile.am testsuites/libtests/mathf/domathf.c testsuites/libtests/mathf/init.c testsuites/libtests/mathf/mathf.scn --- cpukit/zlib/gzguts.h | 132 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 132 insertions(+) create mode 100644 cpukit/zlib/gzguts.h (limited to 'cpukit/zlib/gzguts.h') diff --git a/cpukit/zlib/gzguts.h b/cpukit/zlib/gzguts.h new file mode 100644 index 0000000000..0e7ed4330a --- /dev/null +++ b/cpukit/zlib/gzguts.h @@ -0,0 +1,132 @@ +/* gzguts.h -- zlib internal header definitions for gz* operations + * Copyright (C) 2004, 2005, 2010 Mark Adler + * For conditions of distribution and use, see copyright notice in zlib.h + */ + +#ifdef _LARGEFILE64_SOURCE +# ifndef _LARGEFILE_SOURCE +# define _LARGEFILE_SOURCE +# endif +# ifdef _FILE_OFFSET_BITS +# undef _FILE_OFFSET_BITS +# endif +#endif + +#define ZLIB_INTERNAL + +#include +#include "zlib.h" +#ifdef STDC +# include +# include +# include +#endif +#include + +#ifdef NO_DEFLATE /* for compatibility with old definition */ +# define NO_GZCOMPRESS +#endif + +#ifdef _MSC_VER +# include +# define vsnprintf _vsnprintf +#endif + +#ifndef local +# define local static +#endif +/* compile with -Dlocal if your debugger can't find static symbols */ + +/* gz* functions always use library allocation functions */ +#ifndef STDC + extern voidp malloc OF((uInt size)); + extern void free OF((voidpf ptr)); +#endif + +/* get errno and strerror definition */ +#if defined UNDER_CE && defined NO_ERRNO_H +# include +# define zstrerror() gz_strwinerror((DWORD)GetLastError()) +#else +# ifdef STDC +# include +# define zstrerror() strerror(errno) +# else +# define zstrerror() "stdio error (consult errno)" +# endif +#endif + +/* MVS fdopen() */ +#ifdef __MVS__ + #pragma map (fdopen , "\174\174FDOPEN") + FILE *fdopen(int, const char *); +#endif + +#ifdef _LARGEFILE64_SOURCE +# define z_off64_t off64_t +#else +# define z_off64_t z_off_t +#endif + +/* default i/o buffer size -- double this for output when reading */ +#define GZBUFSIZE 8192 + +/* gzip modes, also provide a little integrity check on the passed structure */ +#define GZ_NONE 0 +#define GZ_READ 7247 +#define GZ_WRITE 31153 +#define GZ_APPEND 1 /* mode set to GZ_WRITE after the file is opened */ + +/* values for gz_state how */ +#define LOOK 0 /* look for a gzip header */ +#define COPY 1 /* copy input directly */ +#define GZIP 2 /* decompress a gzip stream */ + +/* internal gzip file state data structure */ +typedef struct { + /* used for both reading and writing */ + int mode; /* see gzip modes above */ + int fd; /* file descriptor */ + char *path; /* path or fd for error messages */ + z_off64_t pos; /* current position in uncompressed data */ + unsigned size; /* buffer size, zero if not allocated yet */ + unsigned want; /* requested buffer size, default is GZBUFSIZE */ + unsigned char *in; /* input buffer */ + unsigned char *out; /* output buffer (double-sized when reading) */ + unsigned char *next; /* next output data to deliver or write */ + /* just for reading */ + unsigned have; /* amount of output data unused at next */ + int eof; /* true if end of input file reached */ + z_off64_t start; /* where the gzip data started, for rewinding */ + z_off64_t raw; /* where the raw data started, for seeking */ + int how; /* 0: get header, 1: copy, 2: decompress */ + int direct; /* true if last read direct, false if gzip */ + /* just for writing */ + int level; /* compression level */ + int strategy; /* compression strategy */ + /* seek request */ + z_off64_t skip; /* amount to skip (already rewound if backwards) */ + int seek; /* true if seek request pending */ + /* error information */ + int err; /* error code */ + char *msg; /* error message */ + /* zlib inflate or deflate stream */ + z_stream strm; /* stream structure in-place (not a pointer) */ +} gz_state; +typedef gz_state FAR *gz_statep; + +/* shared functions */ +ZEXTERN void ZEXPORT gz_error OF((gz_statep, int, const char *)); +#if defined UNDER_CE && defined NO_ERRNO_H +ZEXTERN char ZEXPORT *gz_strwinerror OF((DWORD error)); +#endif + +/* GT_OFF(x), where x is an unsigned value, is true if x > maximum z_off64_t + value -- needed when comparing unsigned to z_off64_t, which is signed + (possible z_off64_t types off_t, off64_t, and long are all signed) */ +#ifdef INT_MAX +# define GT_OFF(x) (sizeof(int) == sizeof(z_off64_t) && (x) > INT_MAX) +#else +ZEXTERN unsigned ZEXPORT gz_intmax OF((void)); +# define GT_OFF(x) (sizeof(int) == sizeof(z_off64_t) && (x) > gz_intmax()) +#endif -- cgit v1.2.3