summaryrefslogtreecommitdiff
path: root/cpukit/zlib/gzguts.h
diff options
context:
space:
mode:
authorcvs2git <rtems-devel@rtems.org>2011-03-18 10:11:42 +0000
committercvs2git <rtems-devel@rtems.org>2011-03-18 10:11:42 +0000
commite371ea9949ecc8897f4cb34437cc6590a0fc51f0 (patch)
treee5d17499fe12fc87c9697d681b63b062e9cbb65a /cpukit/zlib/gzguts.h
parent83dcd23af45446b24fe12e5bce29432debe6d0b5 (diff)
This commit was manufactured by cvs2svn to create tag 'rtems-4-10-0'.4.10.0
Sprout from rtems-4-10-branch 2011-02-08 15:56:24 UTC Joel Sherrill <joel.sherrill@OARcorp.com> 'Ensure all version instances say 4.10.' Cherrypick from rtems-4-10-branch 2011-03-18 10:11:41 UTC cvs2git <rtems-devel@rtems.org> '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
Diffstat (limited to 'cpukit/zlib/gzguts.h')
-rw-r--r--cpukit/zlib/gzguts.h132
1 files changed, 132 insertions, 0 deletions
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 <stdio.h>
+#include "zlib.h"
+#ifdef STDC
+# include <string.h>
+# include <stdlib.h>
+# include <limits.h>
+#endif
+#include <fcntl.h>
+
+#ifdef NO_DEFLATE /* for compatibility with old definition */
+# define NO_GZCOMPRESS
+#endif
+
+#ifdef _MSC_VER
+# include <io.h>
+# 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 <windows.h>
+# define zstrerror() gz_strwinerror((DWORD)GetLastError())
+#else
+# ifdef STDC
+# include <errno.h>
+# 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