22#ifndef _BZLIB_PRIVATE_H
23#define _BZLIB_PRIVATE_H
39#define BZ_VERSION "1.0.6, 6-Sept-2010"
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)
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)
88extern 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))
115#define BZ_MAX_ALPHA_SIZE 258
116#define BZ_MAX_CODE_LEN 23
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
189#define BZ_N_OVERSHOOT (BZ_N_RADIX + BZ_N_QSORT + BZ_N_SHELL + 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
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)
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);
Definition bzlib_private.h:348
Int32 blockSize100k
Definition bzlib_private.h:366
Int32 save_nblockMAX
Definition bzlib_private.h:422
Int32 save_zj
Definition bzlib_private.h:430
Int32 currBlockNo
Definition bzlib_private.h:368
UInt16 * ll16
Definition bzlib_private.h:384
Int32 save_groupPos
Definition bzlib_private.h:420
Int32 nblock_used
Definition bzlib_private.h:376
UInt32 bsBuff
Definition bzlib_private.h:362
Int32 save_t
Definition bzlib_private.h:414
Int32 nInUse
Definition bzlib_private.h:394
Int32 save_gMinlen
Definition bzlib_private.h:432
UInt32 storedCombinedCRC
Definition bzlib_private.h:389
Int32 * save_gPerm
Definition bzlib_private.h:435
Int32 * save_gBase
Definition bzlib_private.h:434
UInt32 storedBlockCRC
Definition bzlib_private.h:388
Int32 save_groupNo
Definition bzlib_private.h:419
Int32 save_zvec
Definition bzlib_private.h:429
Int32 save_j
Definition bzlib_private.h:413
Int32 state
Definition bzlib_private.h:353
Int32 verbosity
Definition bzlib_private.h:369
Int32 k0
Definition bzlib_private.h:374
Int32 state_out_len
Definition bzlib_private.h:357
UInt32 calculatedCombinedCRC
Definition bzlib_private.h:391
bz_stream * strm
Definition bzlib_private.h:350
Int32 save_nextSym
Definition bzlib_private.h:421
Bool smallDecompress
Definition bzlib_private.h:367
Int32 save_zn
Definition bzlib_private.h:428
Bool blockRandomised
Definition bzlib_private.h:358
Int32 bsLive
Definition bzlib_private.h:363
Int32 save_alphaSize
Definition bzlib_private.h:415
UChar * ll4
Definition bzlib_private.h:385
Int32 save_EOB
Definition bzlib_private.h:418
UChar state_out_ch
Definition bzlib_private.h:356
UInt32 tPos
Definition bzlib_private.h:373
Int32 save_nblock
Definition bzlib_private.h:423
Int32 save_zt
Definition bzlib_private.h:427
UInt32 calculatedBlockCRC
Definition bzlib_private.h:390
UInt32 * tt
Definition bzlib_private.h:381
BZ_RAND_DECLS
Definition bzlib_private.h:359
Int32 * save_gLimit
Definition bzlib_private.h:433
Int32 save_curr
Definition bzlib_private.h:426
Int32 save_nSelectors
Definition bzlib_private.h:417
Int32 save_gSel
Definition bzlib_private.h:431
Int32 save_es
Definition bzlib_private.h:424
Int32 origPtr
Definition bzlib_private.h:372
Int32 save_N
Definition bzlib_private.h:425
Int32 save_i
Definition bzlib_private.h:412
Int32 save_nGroups
Definition bzlib_private.h:416
Definition bzlib_private.h:197
Int32 blockSize100k
Definition bzlib_private.h:251
UChar * zbits
Definition bzlib_private.h:219
UInt32 blockCRC
Definition bzlib_private.h:245
UInt16 * mtfv
Definition bzlib_private.h:218
Int32 nblockMAX
Definition bzlib_private.h:231
Int32 mode
Definition bzlib_private.h:203
UInt32 bsBuff
Definition bzlib_private.h:241
UInt32 state_in_ch
Definition bzlib_private.h:225
Int32 nMTF
Definition bzlib_private.h:254
Int32 nInUse
Definition bzlib_private.h:236
Int32 workFactor
Definition bzlib_private.h:222
Int32 numZ
Definition bzlib_private.h:232
Int32 state
Definition bzlib_private.h:204
Int32 verbosity
Definition bzlib_private.h:249
Int32 blockNo
Definition bzlib_private.h:250
UInt32 * ptr
Definition bzlib_private.h:216
UInt32 * ftab
Definition bzlib_private.h:212
bz_stream * strm
Definition bzlib_private.h:199
Int32 bsLive
Definition bzlib_private.h:242
UInt32 avail_in_expect
Definition bzlib_private.h:207
UInt32 * arr1
Definition bzlib_private.h:210
UChar * block
Definition bzlib_private.h:217
UInt32 * arr2
Definition bzlib_private.h:211
BZ_RAND_DECLS
Definition bzlib_private.h:227
Int32 state_in_len
Definition bzlib_private.h:226
Int32 state_out_pos
Definition bzlib_private.h:233
Int32 origPtr
Definition bzlib_private.h:213
UInt32 combinedCRC
Definition bzlib_private.h:246
Int32 nblock
Definition bzlib_private.h:230
#define BZ_N_GROUPS
Definition bzlib_private.h:121
Int32 BZ2_rNums[512]
Definition randtable.c:26
unsigned char Bool
Definition bzlib_private.h:42
void BZ2_compressBlock(EState *, Bool)
Definition compress.c:602
#define BZ_MAX_SELECTORS
Definition bzlib_private.h:125
short Int16
Definition bzlib_private.h:46
#define MTFL_SIZE
Definition bzlib_private.h:341
unsigned int UInt32
Definition bzlib_private.h:45
unsigned char UChar
Definition bzlib_private.h:43
char Char
Definition bzlib_private.h:41
Int32 BZ2_indexIntoF(Int32, Int32 *)
Definition bzlib.c:814
UInt32 BZ2_crc32Table[256]
Definition crctable.c:31
#define MTFA_SIZE
Definition bzlib_private.h:340
void BZ2_hbAssignCodes(Int32 *, UChar *, Int32, Int32, Int32)
Definition huffman.c:152
void BZ2_hbCreateDecodeTables(Int32 *, Int32 *, Int32 *, UChar *, Int32, Int32, Int32)
Definition huffman.c:170
void BZ2_bsInitWrite(EState *)
Definition compress.c:37
unsigned short UInt16
Definition bzlib_private.h:47
void BZ2_bz__AssertH__fail(int errcode)
Definition bzlib.c:45
Int32 BZ2_decompress(DState *)
Definition decompress.c:106
void BZ2_blockSort(EState *)
Definition blocksort.c:1031
int Int32
Definition bzlib_private.h:44
#define BZ_MAX_ALPHA_SIZE
Definition bzlib_private.h:115
void BZ2_hbMakeCodeLengths(UChar *, Int32 *, Int32, Int32)
Definition huffman.c:63
static uint32_t const uint8_t uint32_t len
Definition memcmplen.h:44
static uint32_t const uint8_t uint32_t uint32_t limit
Definition memcmplen.h:45