|
|
1.1 ! root 1: /* lzw.h -- define the lzw functions. ! 2: * Copyright (C) 1992-1993 Jean-loup Gailly. ! 3: * This is free software; you can redistribute it and/or modify it under the ! 4: * terms of the GNU General Public License, see the file COPYING. ! 5: */ ! 6: ! 7: #if !defined(OF) && defined(lint) ! 8: # include "gzip.h" ! 9: #endif ! 10: ! 11: #ifndef BITS ! 12: # define BITS 16 ! 13: #endif ! 14: #define INIT_BITS 9 /* Initial number of bits per code */ ! 15: ! 16: #define LZW_MAGIC "\037\235" /* Magic header for lzw files, 1F 9D */ ! 17: ! 18: #define BIT_MASK 0x1f /* Mask for 'number of compresssion bits' */ ! 19: /* Mask 0x20 is reserved to mean a fourth header byte, and 0x40 is free. ! 20: * It's a pity that old uncompress does not check bit 0x20. That makes ! 21: * extension of the format actually undesirable because old compress ! 22: * would just crash on the new format instead of giving a meaningful ! 23: * error message. It does check the number of bits, but it's more ! 24: * helpful to say "unsupported format, get a new version" than ! 25: * "can only handle 16 bits". ! 26: */ ! 27: ! 28: #define BLOCK_MODE 0x80 ! 29: /* Block compresssion: if table is full and compression rate is dropping, ! 30: * clear the dictionary. ! 31: */ ! 32: ! 33: #define LZW_RESERVED 0x60 /* reserved bits */ ! 34: ! 35: #define CLEAR 256 /* flush the dictionary */ ! 36: #define FIRST (CLEAR+1) /* first free entry */ ! 37: ! 38: extern int maxbits; /* max bits per code for LZW */ ! 39: extern int block_mode; /* block compress mode -C compatible with 2.0 */ ! 40: ! 41: extern void lzw OF((int in, int out)); ! 42: extern void unlzw OF((int in, int out));
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.