Data Structures |
| struct | Ziphuft |
| struct | ZIPstate |
| struct | QTMmodelsym |
| struct | QTMmodel |
| struct | QTMstate |
| struct | LZXstate |
| struct | lzx_bits |
| struct | cab_file |
| struct | cab_folder |
| struct | cabinet |
| struct | cab_decomp_state |
| struct | FILELIST |
| struct | SESSION |
Defines |
| #define | _S_IWRITE 0x0080 |
| #define | _S_IREAD 0x0100 |
| #define | _O_RDONLY 0 |
| #define | _O_WRONLY 1 |
| #define | _O_RDWR 2 |
| #define | _O_ACCMODE (_O_RDONLY|_O_WRONLY|_O_RDWR) |
| #define | _O_APPEND 0x0008 |
| #define | _O_RANDOM 0x0010 |
| #define | _O_SEQUENTIAL 0x0020 |
| #define | _O_TEMPORARY 0x0040 |
| #define | _O_NOINHERIT 0x0080 |
| #define | _O_CREAT 0x0100 |
| #define | _O_TRUNC 0x0200 |
| #define | _O_EXCL 0x0400 |
| #define | _O_SHORT_LIVED 0x1000 |
| #define | _O_TEXT 0x4000 |
| #define | _O_BINARY 0x8000 |
| #define | CAB_SPLITMAX (10) |
| #define | CAB_SEARCH_SIZE (32*1024) |
| #define | CHAR_BIT (8) |
| #define | CAB_ULONG_BITS (sizeof(cab_ULONG) * CHAR_BIT) |
| #define | cfhead_Signature (0x00) |
| #define | cfhead_CabinetSize (0x08) |
| #define | cfhead_FileOffset (0x10) |
| #define | cfhead_MinorVersion (0x18) |
| #define | cfhead_MajorVersion (0x19) |
| #define | cfhead_NumFolders (0x1A) |
| #define | cfhead_NumFiles (0x1C) |
| #define | cfhead_Flags (0x1E) |
| #define | cfhead_SetID (0x20) |
| #define | cfhead_CabinetIndex (0x22) |
| #define | cfhead_SIZEOF (0x24) |
| #define | cfheadext_HeaderReserved (0x00) |
| #define | cfheadext_FolderReserved (0x02) |
| #define | cfheadext_DataReserved (0x03) |
| #define | cfheadext_SIZEOF (0x04) |
| #define | cffold_DataOffset (0x00) |
| #define | cffold_NumBlocks (0x04) |
| #define | cffold_CompType (0x06) |
| #define | cffold_SIZEOF (0x08) |
| #define | cffile_UncompressedSize (0x00) |
| #define | cffile_FolderOffset (0x04) |
| #define | cffile_FolderIndex (0x08) |
| #define | cffile_Date (0x0A) |
| #define | cffile_Time (0x0C) |
| #define | cffile_Attribs (0x0E) |
| #define | cffile_SIZEOF (0x10) |
| #define | cfdata_CheckSum (0x00) |
| #define | cfdata_CompressedSize (0x04) |
| #define | cfdata_UncompressedSize (0x06) |
| #define | cfdata_SIZEOF (0x08) |
| #define | cffoldCOMPTYPE_MASK (0x000f) |
| #define | cffoldCOMPTYPE_NONE (0x0000) |
| #define | cffoldCOMPTYPE_MSZIP (0x0001) |
| #define | cffoldCOMPTYPE_QUANTUM (0x0002) |
| #define | cffoldCOMPTYPE_LZX (0x0003) |
| #define | cfheadPREV_CABINET (0x0001) |
| #define | cfheadNEXT_CABINET (0x0002) |
| #define | cfheadRESERVE_PRESENT (0x0004) |
| #define | cffileCONTINUED_FROM_PREV (0xFFFD) |
| #define | cffileCONTINUED_TO_NEXT (0xFFFE) |
| #define | cffileCONTINUED_PREV_AND_NEXT (0xFFFF) |
| #define | cffile_A_RDONLY (0x01) |
| #define | cffile_A_HIDDEN (0x02) |
| #define | cffile_A_SYSTEM (0x04) |
| #define | cffile_A_ARCH (0x20) |
| #define | cffile_A_EXEC (0x40) |
| #define | cffile_A_NAME_IS_UTF (0x80) |
| #define | ZIPWSIZE 0x8000 /* window size */ |
| #define | ZIPLBITS 9 /* bits in base literal/length lookup table */ |
| #define | ZIPDBITS 6 /* bits in base distance lookup table */ |
| #define | ZIPBMAX 16 /* maximum bit length of any code */ |
| #define | ZIPN_MAX 288 /* maximum number of codes in any set */ |
| #define | LZX_MIN_MATCH (2) |
| #define | LZX_MAX_MATCH (257) |
| #define | LZX_NUM_CHARS (256) |
| #define | LZX_BLOCKTYPE_INVALID (0) /* also blocktypes 4-7 invalid */ |
| #define | LZX_BLOCKTYPE_VERBATIM (1) |
| #define | LZX_BLOCKTYPE_ALIGNED (2) |
| #define | LZX_BLOCKTYPE_UNCOMPRESSED (3) |
| #define | LZX_PRETREE_NUM_ELEMENTS (20) |
| #define | LZX_ALIGNED_NUM_ELEMENTS (8) /* aligned offset tree #elements */ |
| #define | LZX_NUM_PRIMARY_LENGTHS (7) /* this one missing from spec! */ |
| #define | LZX_NUM_SECONDARY_LENGTHS (249) /* length tree #elements */ |
| #define | LZX_PRETREE_MAXSYMBOLS (LZX_PRETREE_NUM_ELEMENTS) |
| #define | LZX_PRETREE_TABLEBITS (6) |
| #define | LZX_MAINTREE_MAXSYMBOLS (LZX_NUM_CHARS + 50*8) |
| #define | LZX_MAINTREE_TABLEBITS (12) |
| #define | LZX_LENGTH_MAXSYMBOLS (LZX_NUM_SECONDARY_LENGTHS+1) |
| #define | LZX_LENGTH_TABLEBITS (12) |
| #define | LZX_ALIGNED_MAXSYMBOLS (LZX_ALIGNED_NUM_ELEMENTS) |
| #define | LZX_ALIGNED_TABLEBITS (7) |
| #define | LZX_LENTABLE_SAFETY (64) /* we allow length table decoding overruns */ |
| #define | LZX_DECLARE_TABLE(tbl) |
| #define | CAB_BLOCKMAX (32768) |
| #define | CAB_INPUTMAX (CAB_BLOCKMAX+6144) |
| #define | Q_INIT_BITSTREAM do { bitsleft = 0; bitbuf = 0; } while (0) |
| #define | Q_FILL_BUFFER |
| #define | Q_PEEK_BITS(n) (bitbuf >> (CAB_ULONG_BITS - (n))) |
| #define | Q_REMOVE_BITS(n) ((bitbuf <<= (n)), (bitsleft -= (n))) |
| #define | Q_READ_BITS(v, n) |
| #define | Q_MENTRIES(model) (QTM(model).entries) |
| #define | Q_MSYM(model, symidx) (QTM(model).syms[(symidx)].sym) |
| #define | Q_MSYMFREQ(model, symidx) (QTM(model).syms[(symidx)].cumfreq) |
| #define | GET_SYMBOL(m, var) |
| #define | INIT_BITSTREAM do { bitsleft = 0; bitbuf = 0; } while (0) |
| #define | ENSURE_BITS(n) |
| #define | PEEK_BITS(n) (bitbuf >> (CAB_ULONG_BITS - (n))) |
| #define | REMOVE_BITS(n) ((bitbuf <<= (n)), (bitsleft -= (n))) |
| #define | READ_BITS(v, n) |
| #define | TABLEBITS(tbl) (LZX_##tbl##_TABLEBITS) |
| #define | MAXSYMBOLS(tbl) (LZX_##tbl##_MAXSYMBOLS) |
| #define | SYMTABLE(tbl) (LZX(tbl##_table)) |
| #define | LENTABLE(tbl) (LZX(tbl##_len)) |
| #define | BUILD_TABLE(tbl) |
| #define | READ_HUFFSYM(tbl, var) |
| #define | READ_LENGTHS(tbl, first, last, fn) |
| #define | THOSE_ZIP_CONSTS |
| #define | EXTRACT_FILLFILELIST 0x00000001 |
| #define | EXTRACT_EXTRACTFILES 0x00000002 |
Typedefs |
| typedef unsigned char | cab_UBYTE |
| typedef UINT16 | cab_UWORD |
| typedef UINT32 | cab_ULONG |
| typedef INT32 | cab_LONG |
| typedef UINT32 | cab_off_t |