/*-------------------------------------------------*/ /* GRZipII/libGRZip compressor libGRZip.h */ /* GRZipII/libGRZip Global Header File */ /*-------------------------------------------------*/ /*-- This file is a part of GRZipII and/or libGRZip, a program and library for lossless, block-sorting data compression. Copyright (C) 2002-2004 Grebnov Ilya. All rights reserved. This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. Grebnov Ilya, Ivanovo, Russian Federation. Ilya.Grebnov@magicssoft.ru, http://magicssoft.ru/ This program is based on (at least) the work of: Juergen Abel, Jon L. Bentley, Edgar Binder, Charles Bloom, Mike Burrows, Andrey Cadach, Damien Debin, Sebastian Deorowicz, Peter Fenwick, George Plechanov, Michael Schindler, Robert Sedgewick, Julian Seward, David Wheeler, Vadim Yoockin. For more information on these sources, see the manual. --*/ #ifndef GRZip_GLOBAL_H #define GRZip_GLOBAL_H #ifdef __GNUC__ #define INLINE __inline__ #elif _VISUALC || __INTEL_COMPILER #define INLINE __inline #else #define INLINE /* */ #endif typedef unsigned int uint32; typedef unsigned short int uint16; typedef unsigned char uint8; typedef signed int sint32; typedef signed short int sint16; typedef signed char sint8; #ifdef __GNUC__ typedef long long sint64; #elif _VISUALC || __INTEL_COMPILER typedef __int64 sint64; #else typedef long long sint64; #endif #define GRZ_NO_ERROR 0 #define GRZ_NOT_ENOUGH_MEMORY -1 #define GRZ_CRC_ERROR -2 #define GRZ_UNEXPECTED_EOF -3 #define GRZ_NOT_COMPRESSIBLE -4 #define GRZ_FAST_BWT_FAILS -5 #define GRZ_MaxBlockSize 8*1024*1024-512 #define GRZ_Log2MaxBlockSize 23 #define GRZ_Disable_LZP 0x000 #define GRZ_LZP_HTS10 0x007 #define GRZ_LZP_HTS11 0x008 #define GRZ_LZP_HTS12 0x009 #define GRZ_LZP_HTS13 0x00A #define GRZ_LZP_HTS14 0x00B #define GRZ_LZP_HTS15 0x00C #define GRZ_LZP_HTS16 0x00D #define GRZ_LZP_HTS17 0x00E #define GRZ_LZP_HTS18 0x00F #define GRZ_LZP_MML2 0x000 #define GRZ_LZP_MML5 0x010 #define GRZ_LZP_MML8 0x020 #define GRZ_LZP_MML11 0x030 #define GRZ_LZP_MML14 0x040 #define GRZ_LZP_MML17 0x050 #define GRZ_LZP_MML20 0x060 #define GRZ_LZP_MML23 0x070 #define GRZ_LZP_MML26 0x080 #define GRZ_LZP_MML29 0x090 #define GRZ_LZP_MML32 0x0A0 #define GRZ_LZP_MML35 0x0B0 #define GRZ_LZP_MML38 0x0C0 #define GRZ_LZP_MML41 0x0D0 #define GRZ_LZP_MML44 0x0E0 #define GRZ_LZP_MML47 0x0F0 #define GRZ_Enable_DeltaFlt 0x000 #define GRZ_Disable_DeltaFlt 0x800 #define GRZ_Compression_BWT 0x000 #define GRZ_Compression_ST4 0x100 #define GRZ_Compression_WFC 0x000 #define GRZ_Compression_MTF 0x200 #define GRZ_BWTSorting_Strong 0x000 #define GRZ_BWTSorting_Fast 0x400 #endif /*-------------------------------------------------*/ /* End libGRZip.h */ /*-------------------------------------------------*/