ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

inftrees.h
Go to the documentation of this file.
00001 /* inftrees.h -- header to use inftrees.c
00002  * Copyright (C) 1995-2002 Mark Adler
00003  * For conditions of distribution and use, see copyright notice in zlib.h
00004  */
00005 
00006 /* WARNING: this file should *not* be used by applications. It is
00007    part of the implementation of the compression library and is
00008    subject to change. Applications should only use zlib.h.
00009  */
00010 
00011 /* Huffman code lookup table entry--this entry is four bytes for machines
00012    that have 16-bit pointers (e.g. PC's in the small or medium model). */
00013 
00014 #ifndef _INFTREES_H
00015 #define _INFTREES_H
00016 
00017 typedef struct inflate_huft_s FAR inflate_huft;
00018 
00019 struct inflate_huft_s {
00020   union {
00021     struct {
00022       Byte Exop;        /* number of extra bits or operation */
00023       Byte Bits;        /* number of bits in this code or subcode */
00024     } what;
00025     uInt pad;           /* pad structure to a power of 2 (4 bytes for */
00026   } word;               /*  16-bit, 8 bytes for 32-bit int's) */
00027   uInt base;            /* literal, length base, distance base,
00028                            or table offset */
00029 };
00030 
00031 /* Maximum size of dynamic tree.  The maximum found in a long but non-
00032    exhaustive search was 1004 huft structures (850 for length/literals
00033    and 154 for distances, the latter actually the result of an
00034    exhaustive search).  The actual maximum is not known, but the
00035    value below is more than safe. */
00036 #define MANY 1440
00037 
00038 local  int inflate_trees_bits OF((
00039     uIntf *,                    /* 19 code lengths */
00040     uIntf *,                    /* bits tree desired/actual depth */
00041     inflate_huft * FAR *,       /* bits tree result */
00042     inflate_huft *,             /* space for trees */
00043     z_streamp));                /* for messages */
00044 
00045 local  int inflate_trees_dynamic OF((
00046     uInt,                       /* number of literal/length codes */
00047     uInt,                       /* number of distance codes */
00048     uIntf *,                    /* that many (total) code lengths */
00049     uIntf *,                    /* literal desired/actual bit depth */
00050     uIntf *,                    /* distance desired/actual bit depth */
00051     inflate_huft * FAR *,       /* literal/length tree result */
00052     inflate_huft * FAR *,       /* distance tree result */
00053     inflate_huft *,             /* space for trees */
00054     z_streamp));                /* for messages */
00055 
00056 local  int inflate_trees_fixed OF((
00057     uIntf *,                    /* literal desired/actual bit depth */
00058     uIntf *,                    /* distance desired/actual bit depth */
00059     const inflate_huft * FAR *, /* literal/length tree result */
00060     const inflate_huft * FAR *, /* distance tree result */
00061     z_streamp));                /* for memory allocation */
00062 
00063 #endif /* _INFTREES_H */

Generated on Sun May 27 2012 04:33:17 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.