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;
43 typedef unsigned char UChar;
45 typedef unsigned int UInt32;
47 typedef unsigned short UInt16;
49 #define True ((Bool)1) 50 #define False ((Bool)0) 58 extern void BZ2_bz__AssertH__fail (
int errcode );
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)) 131 extern Int32 BZ2_rNums[512];
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; \ 155 extern UInt32 BZ2_crc32Table[256];
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) 207 UInt32 avail_in_expect;
238 UChar unseqToSeq[256];
255 Int32 mtfFreq [BZ_MAX_ALPHA_SIZE];
256 UChar selector [BZ_MAX_SELECTORS];
257 UChar selectorMtf[BZ_MAX_SELECTORS];
259 UChar len [BZ_N_GROUPS][BZ_MAX_ALPHA_SIZE];
260 Int32 code [BZ_N_GROUPS][BZ_MAX_ALPHA_SIZE];
261 Int32 rfreq [BZ_N_GROUPS][BZ_MAX_ALPHA_SIZE];
263 UInt32 len_pack[BZ_MAX_ALPHA_SIZE][4];
273 BZ2_blockSort (
EState* );
276 BZ2_compressBlock (
EState*, Bool );
279 BZ2_bsInitWrite (
EState* );
282 BZ2_hbAssignCodes ( Int32*, UChar*, Int32, Int32, Int32 );
285 BZ2_hbMakeCodeLengths ( UChar*, Int32*, Int32, Int32 );
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 358 Bool blockRandomised;
367 Bool smallDecompress;
378 Int32 cftabCopy[257];
388 UInt32 storedBlockCRC;
389 UInt32 storedCombinedCRC;
390 UInt32 calculatedBlockCRC;
391 UInt32 calculatedCombinedCRC;
397 UChar seqToUnseq[256];
400 UChar mtfa [MTFA_SIZE];
401 Int32 mtfbase[256 / MTFL_SIZE];
402 UChar selector [BZ_MAX_SELECTORS];
403 UChar selectorMtf[BZ_MAX_SELECTORS];
404 UChar len [BZ_N_GROUPS][BZ_MAX_ALPHA_SIZE];
406 Int32 limit [BZ_N_GROUPS][BZ_MAX_ALPHA_SIZE];
407 Int32 base [BZ_N_GROUPS][BZ_MAX_ALPHA_SIZE];
408 Int32 perm [BZ_N_GROUPS][BZ_MAX_ALPHA_SIZE];
409 Int32 minLens[BZ_N_GROUPS];
415 Int32 save_alphaSize;
417 Int32 save_nSelectors;
422 Int32 save_nblockMAX;
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); 485 BZ2_indexIntoF ( Int32, Int32* );
488 BZ2_decompress (
DState* );
491 BZ2_hbCreateDecodeTables ( Int32*, Int32*, Int32*, UChar*,
492 Int32, Int32, Int32 );
Definition: bzlib_private.h:347
Definition: bzlib_private.h:196