22 #ifndef _BZLIB_PRIVATE_H
23 #define _BZLIB_PRIVATE_H
39 #define BZ_VERSION "1.0.6, 6-Sept-2010"
42 typedef unsigned char Bool;
49 #define True ((Bool)1)
50 #define False ((Bool)0)
59 #define AssertH(cond,errcode) \
60 { if (!(cond)) BZ2_bz__AssertH__fail ( errcode ); }
63 #define AssertD(cond,msg) \
66 "\n\nlibbzip2(debug build): internal error\n\t%s\n", msg );\
70 #define AssertD(cond,msg)
73 #define VPrintf0(zf) \
75 #define VPrintf1(zf,za1) \
76 fprintf(stderr,zf,za1)
77 #define VPrintf2(zf,za1,za2) \
78 fprintf(stderr,zf,za1,za2)
79 #define VPrintf3(zf,za1,za2,za3) \
80 fprintf(stderr,zf,za1,za2,za3)
81 #define VPrintf4(zf,za1,za2,za3,za4) \
82 fprintf(stderr,zf,za1,za2,za3,za4)
83 #define VPrintf5(zf,za1,za2,za3,za4,za5) \
84 fprintf(stderr,zf,za1,za2,za3,za4,za5)
88 extern void bz_internal_error (
int errcode );
89 #define AssertH(cond,errcode) \
90 { if (!(cond)) bz_internal_error ( errcode ); }
91 #define AssertD(cond,msg) do { } while (0)
92 #define VPrintf0(zf) do { } while (0)
93 #define VPrintf1(zf,za1) do { } while (0)
94 #define VPrintf2(zf,za1,za2) do { } while (0)
95 #define VPrintf3(zf,za1,za2,za3) do { } while (0)
96 #define VPrintf4(zf,za1,za2,za3,za4) do { } while (0)
97 #define VPrintf5(zf,za1,za2,za3,za4,za5) do { } while (0)
102 #define BZALLOC(nnn) (strm->bzalloc)(strm->opaque,(nnn),1)
103 #define BZFREE(ppp) (strm->bzfree)(strm->opaque,(ppp))
108 #define BZ_HDR_B 0x42
109 #define BZ_HDR_Z 0x5a
110 #define BZ_HDR_h 0x68
111 #define BZ_HDR_0 0x30
115 #define BZ_MAX_ALPHA_SIZE 258
116 #define BZ_MAX_CODE_LEN 23
121 #define BZ_N_GROUPS 6
125 #define BZ_MAX_SELECTORS (2 + (900000 / BZ_G_SIZE))
133 #define BZ_RAND_DECLS \
137 #define BZ_RAND_INIT_MASK \
141 #define BZ_RAND_MASK ((s->rNToGo == 1) ? 1 : 0)
143 #define BZ_RAND_UPD_MASK \
144 if (s->rNToGo == 0) { \
145 s->rNToGo = BZ2_rNums[s->rTPos]; \
147 if (s->rTPos == 512) s->rTPos = 0; \
157 #define BZ_INITIALISE_CRC(crcVar) \
159 crcVar = 0xffffffffL; \
162 #define BZ_FINALISE_CRC(crcVar) \
164 crcVar = ~(crcVar); \
167 #define BZ_UPDATE_CRC(crcVar,cha) \
169 crcVar = (crcVar << 8) ^ \
170 BZ2_crc32Table[(crcVar >> 24) ^ \
179 #define BZ_M_RUNNING 2
180 #define BZ_M_FLUSHING 3
181 #define BZ_M_FINISHING 4
183 #define BZ_S_OUTPUT 1
187 #define BZ_N_QSORT 12
188 #define BZ_N_SHELL 18
189 #define BZ_N_OVERSHOOT (BZ_N_RADIX + BZ_N_QSORT + BZ_N_SHELL + 2)
292 #define BZ_X_OUTPUT 2
294 #define BZ_X_MAGIC_1 10
295 #define BZ_X_MAGIC_2 11
296 #define BZ_X_MAGIC_3 12
297 #define BZ_X_MAGIC_4 13
298 #define BZ_X_BLKHDR_1 14
299 #define BZ_X_BLKHDR_2 15
300 #define BZ_X_BLKHDR_3 16
301 #define BZ_X_BLKHDR_4 17
302 #define BZ_X_BLKHDR_5 18
303 #define BZ_X_BLKHDR_6 19
304 #define BZ_X_BCRC_1 20
305 #define BZ_X_BCRC_2 21
306 #define BZ_X_BCRC_3 22
307 #define BZ_X_BCRC_4 23
308 #define BZ_X_RANDBIT 24
309 #define BZ_X_ORIGPTR_1 25
310 #define BZ_X_ORIGPTR_2 26
311 #define BZ_X_ORIGPTR_3 27
312 #define BZ_X_MAPPING_1 28
313 #define BZ_X_MAPPING_2 29
314 #define BZ_X_SELECTOR_1 30
315 #define BZ_X_SELECTOR_2 31
316 #define BZ_X_SELECTOR_3 32
317 #define BZ_X_CODING_1 33
318 #define BZ_X_CODING_2 34
319 #define BZ_X_CODING_3 35
320 #define BZ_X_MTF_1 36
321 #define BZ_X_MTF_2 37
322 #define BZ_X_MTF_3 38
323 #define BZ_X_MTF_4 39
324 #define BZ_X_MTF_5 40
325 #define BZ_X_MTF_6 41
326 #define BZ_X_ENDHDR_2 42
327 #define BZ_X_ENDHDR_3 43
328 #define BZ_X_ENDHDR_4 44
329 #define BZ_X_ENDHDR_5 45
330 #define BZ_X_ENDHDR_6 46
331 #define BZ_X_CCRC_1 47
332 #define BZ_X_CCRC_2 48
333 #define BZ_X_CCRC_3 49
334 #define BZ_X_CCRC_4 50
340 #define MTFA_SIZE 4096
444 #define BZ_GET_FAST(cccc) \
446 if (s->tPos >= (UInt32)100000 * (UInt32)s->blockSize100k) return True; \
447 s->tPos = s->tt[s->tPos]; \
448 cccc = (UChar)(s->tPos & 0xff); \
451 #define BZ_GET_FAST_C(cccc) \
453 if (c_tPos >= (UInt32)100000 * (UInt32)ro_blockSize100k) return True; \
454 c_tPos = c_tt[c_tPos]; \
455 cccc = (UChar)(c_tPos & 0xff); \
458 #define SET_LL4(i,n) \
459 { if (((i) & 0x1) == 0) \
460 s->ll4[(i) >> 1] = (s->ll4[(i) >> 1] & 0xf0) | (n); else \
461 s->ll4[(i) >> 1] = (s->ll4[(i) >> 1] & 0x0f) | ((n) << 4); \
465 ((((UInt32)(s->ll4[(i) >> 1])) >> (((i) << 2) & 0x4)) & 0xF)
467 #define SET_LL(i,n) \
468 { s->ll16[i] = (UInt16)(n & 0x0000ffff); \
469 SET_LL4(i, n >> 16); \
473 (((UInt32)s->ll16[i]) | (GET_LL4(i) << 16))
475 #define BZ_GET_SMALL(cccc) \
477 if (s->tPos >= (UInt32)100000 * (UInt32)s->blockSize100k) return True; \
478 cccc = BZ2_indexIntoF ( s->tPos, s->cftab ); \
479 s->tPos = GET_LL(s->tPos);
#define MTFA_SIZE
Definition: bzlib_private.h:340
Int32 save_zvec
Definition: bzlib_private.h:429
void BZ2_bz__AssertH__fail(int errcode)
UInt16 * mtfv
Definition: bzlib_private.h:218
Int32 * save_gBase
Definition: bzlib_private.h:434
Int32 state_out_pos
Definition: bzlib_private.h:233
void BZ2_compressBlock(EState *, Bool)
UInt32 blockCRC
Definition: bzlib_private.h:245
UInt32 storedBlockCRC
Definition: bzlib_private.h:388
Int32 origPtr
Definition: bzlib_private.h:372
UInt32 tPos
Definition: bzlib_private.h:373
Int32 state_out_len
Definition: bzlib_private.h:357
UInt16 * ll16
Definition: bzlib_private.h:384
Int32 save_nSelectors
Definition: bzlib_private.h:417
Int32 origPtr
Definition: bzlib_private.h:213
Int32 workFactor
Definition: bzlib_private.h:222
bz_stream * strm
Definition: bzlib_private.h:350
Int32 save_i
Definition: bzlib_private.h:412
Int32 BZ2_indexIntoF(Int32, Int32 *)
UChar * zbits
Definition: bzlib_private.h:219
UInt32 state_in_ch
Definition: bzlib_private.h:225
Int32 nInUse
Definition: bzlib_private.h:236
Int32 save_N
Definition: bzlib_private.h:425
Int32 save_t
Definition: bzlib_private.h:414
UInt32 * arr2
Definition: bzlib_private.h:211
UInt32 calculatedBlockCRC
Definition: bzlib_private.h:390
#define BZ_MAX_SELECTORS
Definition: bzlib_private.h:125
Int32 save_nGroups
Definition: bzlib_private.h:416
Int32 state
Definition: bzlib_private.h:353
bz_stream * strm
Definition: bzlib_private.h:199
Int32 * save_gPerm
Definition: bzlib_private.h:435
void BZ2_hbMakeCodeLengths(UChar *, Int32 *, Int32, Int32)
Bool smallDecompress
Definition: bzlib_private.h:367
Int32 save_es
Definition: bzlib_private.h:424
Int32 nInUse
Definition: bzlib_private.h:394
unsigned char Bool
Definition: bzlib_private.h:42
Int32 bsLive
Definition: bzlib_private.h:363
Int32 save_gSel
Definition: bzlib_private.h:431
short Int16
Definition: bzlib_private.h:46
Int32 blockSize100k
Definition: bzlib_private.h:366
UInt32 combinedCRC
Definition: bzlib_private.h:246
Int32 verbosity
Definition: bzlib_private.h:249
UChar state_out_ch
Definition: bzlib_private.h:356
Int32 save_groupNo
Definition: bzlib_private.h:419
Int32 save_zj
Definition: bzlib_private.h:430
UInt32 * arr1
Definition: bzlib_private.h:210
Definition: bzlib_private.h:196
Int32 save_EOB
Definition: bzlib_private.h:418
Int32 nblock
Definition: bzlib_private.h:230
Bool blockRandomised
Definition: bzlib_private.h:358
UInt32 storedCombinedCRC
Definition: bzlib_private.h:389
char Char
Definition: bzlib_private.h:41
BZ_RAND_DECLS
Definition: bzlib_private.h:227
Int32 BZ2_decompress(DState *)
Int32 * save_gLimit
Definition: bzlib_private.h:433
Int32 blockNo
Definition: bzlib_private.h:250
Int32 save_j
Definition: bzlib_private.h:413
unsigned char UChar
Definition: bzlib_private.h:43
Int32 nblockMAX
Definition: bzlib_private.h:231
Int32 save_zn
Definition: bzlib_private.h:428
Int32 save_nblockMAX
Definition: bzlib_private.h:422
Int32 state_in_len
Definition: bzlib_private.h:226
unsigned int UInt32
Definition: bzlib_private.h:45
Int32 save_alphaSize
Definition: bzlib_private.h:415
Int32 save_zt
Definition: bzlib_private.h:427
UInt32 avail_in_expect
Definition: bzlib_private.h:207
UInt32 BZ2_crc32Table[256]
Definition: inftrees.h:24
Int32 numZ
Definition: bzlib_private.h:232
UInt32 * ftab
Definition: bzlib_private.h:212
Int32 mode
Definition: bzlib_private.h:203
Int32 verbosity
Definition: bzlib_private.h:369
UInt32 bsBuff
Definition: bzlib_private.h:362
BZ_RAND_DECLS
Definition: bzlib_private.h:359
#define BZ_N_GROUPS
Definition: bzlib_private.h:121
int Int32
Definition: bzlib_private.h:44
Int32 save_curr
Definition: bzlib_private.h:426
UChar * ll4
Definition: bzlib_private.h:385
#define BZ_MAX_ALPHA_SIZE
Definition: bzlib_private.h:115
Int32 nMTF
Definition: bzlib_private.h:254
Int32 nblock_used
Definition: bzlib_private.h:376
Int32 save_nblock
Definition: bzlib_private.h:423
Int32 blockSize100k
Definition: bzlib_private.h:251
void BZ2_blockSort(EState *)
UInt32 * tt
Definition: bzlib_private.h:381
void BZ2_hbAssignCodes(Int32 *, UChar *, Int32, Int32, Int32)
UInt32 * ptr
Definition: bzlib_private.h:216
UInt32 bsBuff
Definition: bzlib_private.h:241
UChar * block
Definition: bzlib_private.h:217
Int32 save_groupPos
Definition: bzlib_private.h:420
void BZ2_bsInitWrite(EState *)
UInt32 calculatedCombinedCRC
Definition: bzlib_private.h:391
unsigned short UInt16
Definition: bzlib_private.h:47
Int32 k0
Definition: bzlib_private.h:374
#define MTFL_SIZE
Definition: bzlib_private.h:341
Int32 state
Definition: bzlib_private.h:204
void BZ2_hbCreateDecodeTables(Int32 *, Int32 *, Int32 *, UChar *, Int32, Int32, Int32)
Int32 bsLive
Definition: bzlib_private.h:242
Int32 currBlockNo
Definition: bzlib_private.h:368
Int32 save_gMinlen
Definition: bzlib_private.h:432
Definition: bzlib_private.h:347
Int32 save_nextSym
Definition: bzlib_private.h:421