OLD | NEW |
1 /* deflate.h -- internal compression state | 1 /* deflate.h -- internal compression state |
2 * Copyright (C) 1995-2012 Jean-loup Gailly | 2 * Copyright (C) 1995-2012 Jean-loup Gailly |
3 * For conditions of distribution and use, see copyright notice in zlib.h | 3 * For conditions of distribution and use, see copyright notice in zlib.h |
4 */ | 4 */ |
5 | 5 |
6 /* WARNING: this file should *not* be used by applications. It is | 6 /* WARNING: this file should *not* be used by applications. It is |
7 part of the implementation of the compression library and is | 7 part of the implementation of the compression library and is |
8 subject to change. Applications should only use zlib.h. | 8 subject to change. Applications should only use zlib.h. |
9 */ | 9 */ |
10 | 10 |
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
87 } FAR tree_desc; | 87 } FAR tree_desc; |
88 | 88 |
89 typedef ush Pos; | 89 typedef ush Pos; |
90 typedef Pos FAR Posf; | 90 typedef Pos FAR Posf; |
91 typedef unsigned IPos; | 91 typedef unsigned IPos; |
92 | 92 |
93 /* A Pos is an index in the character window. We use short instead of int to | 93 /* A Pos is an index in the character window. We use short instead of int to |
94 * save space in the various tables. IPos is used only for parameter passing. | 94 * save space in the various tables. IPos is used only for parameter passing. |
95 */ | 95 */ |
96 | 96 |
97 #define Z_COOKIE_HASH_SIZE 256 | |
98 #define Z_COOKIE_HASH_MASK (Z_COOKIE_HASH_SIZE-1) | |
99 | |
100 typedef struct internal_state { | 97 typedef struct internal_state { |
101 z_streamp strm; /* pointer back to this zlib stream */ | 98 z_streamp strm; /* pointer back to this zlib stream */ |
102 int status; /* as the name implies */ | 99 int status; /* as the name implies */ |
103 Bytef *pending_buf; /* output still pending */ | 100 Bytef *pending_buf; /* output still pending */ |
104 ulg pending_buf_size; /* size of pending_buf */ | 101 ulg pending_buf_size; /* size of pending_buf */ |
105 Bytef *pending_out; /* next pending byte to output to the stream */ | 102 Bytef *pending_out; /* next pending byte to output to the stream */ |
106 uInt pending; /* nb of bytes in the pending buffer */ | 103 uInt pending; /* nb of bytes in the pending buffer */ |
107 int wrap; /* bit 0 true for zlib, bit 1 true for gzip */ | 104 int wrap; /* bit 0 true for zlib, bit 1 true for gzip */ |
108 gz_headerp gzhead; /* gzip header information to write */ | 105 gz_headerp gzhead; /* gzip header information to write */ |
109 uInt gzindex; /* where in extra, name, or comment */ | 106 uInt gzindex; /* where in extra, name, or comment */ |
(...skipping 28 matching lines...) Expand all Loading... |
138 */ | 135 */ |
139 | 136 |
140 Posf *head; /* Heads of the hash chains or NIL. */ | 137 Posf *head; /* Heads of the hash chains or NIL. */ |
141 | 138 |
142 uInt ins_h; /* hash index of string to be inserted */ | 139 uInt ins_h; /* hash index of string to be inserted */ |
143 uInt hash_size; /* number of elements in hash table */ | 140 uInt hash_size; /* number of elements in hash table */ |
144 uInt hash_bits; /* log2(hash_size) */ | 141 uInt hash_bits; /* log2(hash_size) */ |
145 uInt hash_mask; /* hash_size-1 */ | 142 uInt hash_mask; /* hash_size-1 */ |
146 | 143 |
147 uInt hash_shift; | 144 uInt hash_shift; |
148 Bytef *class_bitmap; /* bitmap of class for each byte in window */ | |
149 IPos cookie_locations[Z_COOKIE_HASH_SIZE]; | |
150 /* Number of bits by which ins_h must be shifted at each input | 145 /* Number of bits by which ins_h must be shifted at each input |
151 * step. It must be such that after MIN_MATCH steps, the oldest | 146 * step. It must be such that after MIN_MATCH steps, the oldest |
152 * byte no longer takes part in the hash key, that is: | 147 * byte no longer takes part in the hash key, that is: |
153 * hash_shift * MIN_MATCH >= hash_bits | 148 * hash_shift * MIN_MATCH >= hash_bits |
154 */ | 149 */ |
155 | 150 |
156 long block_start; | 151 long block_start; |
157 /* Window position at the beginning of the current output block. Gets | 152 /* Window position at the beginning of the current output block. Gets |
158 * negative when the window is moved backwards. | 153 * negative when the window is moved backwards. |
159 */ | 154 */ |
(...skipping 192 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
352 void ZLIB_INTERNAL crc_fold_init(deflate_state* const s); | 347 void ZLIB_INTERNAL crc_fold_init(deflate_state* const s); |
353 void ZLIB_INTERNAL crc_fold_copy(deflate_state* const s, | 348 void ZLIB_INTERNAL crc_fold_copy(deflate_state* const s, |
354 unsigned char* dst, | 349 unsigned char* dst, |
355 const unsigned char* src, | 350 const unsigned char* src, |
356 long len); | 351 long len); |
357 unsigned ZLIB_INTERNAL crc_fold_512to32(deflate_state* const s); | 352 unsigned ZLIB_INTERNAL crc_fold_512to32(deflate_state* const s); |
358 | 353 |
359 void ZLIB_INTERNAL fill_window_sse(deflate_state* s); | 354 void ZLIB_INTERNAL fill_window_sse(deflate_state* s); |
360 | 355 |
361 #endif /* DEFLATE_H */ | 356 #endif /* DEFLATE_H */ |
OLD | NEW |