69 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Haskell
		
	
	
	
	
	
		
		
			
		
	
	
			69 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Haskell
		
	
	
	
	
	
|  | ----------------------------------------------------------------------------- | ||
|  | -- | | ||
|  | -- Copyright   :  (c) 2006-2014 Duncan Coutts | ||
|  | -- License     :  BSD-style | ||
|  | -- | ||
|  | -- Maintainer  :  duncan@community.haskell.org | ||
|  | -- | ||
|  | -- Compression and decompression of data streams in the raw deflate format. | ||
|  | -- | ||
|  | -- The format is described in detail in RFC #1951: | ||
|  | -- <http://www.ietf.org/rfc/rfc1951.txt> | ||
|  | -- | ||
|  | -- See also the zlib home page: <http://zlib.net/> | ||
|  | -- | ||
|  | ----------------------------------------------------------------------------- | ||
|  | module Codec.Compression.Zlib.Raw ( | ||
|  |    | ||
|  |   -- * Simple compression and decompression | ||
|  |   compress, | ||
|  |   decompress, | ||
|  | 
 | ||
|  |   -- * Extended api with control over compression parameters | ||
|  |   compressWith, | ||
|  |   decompressWith, | ||
|  | 
 | ||
|  |   CompressParams(..), defaultCompressParams, | ||
|  |   DecompressParams(..), defaultDecompressParams, | ||
|  | 
 | ||
|  |   -- ** The compression parameter types | ||
|  |   CompressionLevel(..), | ||
|  |     defaultCompression, | ||
|  |     noCompression, | ||
|  |     bestSpeed, | ||
|  |     bestCompression, | ||
|  |     compressionLevel, | ||
|  |   Method(..), | ||
|  |     deflateMethod, | ||
|  |   WindowBits(..), | ||
|  |     defaultWindowBits, | ||
|  |     windowBits, | ||
|  |   MemoryLevel(..), | ||
|  |     defaultMemoryLevel, | ||
|  |     minMemoryLevel, | ||
|  |     maxMemoryLevel, | ||
|  |     memoryLevel, | ||
|  |   CompressionStrategy(..), | ||
|  |     defaultStrategy, | ||
|  |     filteredStrategy, | ||
|  |     huffmanOnlyStrategy, | ||
|  | 
 | ||
|  |   ) where | ||
|  | 
 | ||
|  | import Data.ByteString.Lazy (ByteString) | ||
|  | 
 | ||
|  | import qualified Codec.Compression.Zlib.Internal as Internal | ||
|  | import Codec.Compression.Zlib.Internal hiding (compress, decompress) | ||
|  | 
 | ||
|  | decompress :: ByteString -> ByteString | ||
|  | decompress = decompressWith defaultDecompressParams | ||
|  | 
 | ||
|  | decompressWith :: DecompressParams -> ByteString -> ByteString | ||
|  | decompressWith = Internal.decompress rawFormat | ||
|  | 
 | ||
|  | compress :: ByteString -> ByteString | ||
|  | compress = compressWith defaultCompressParams | ||
|  | 
 | ||
|  | compressWith :: CompressParams -> ByteString -> ByteString | ||
|  | compressWith = Internal.compress rawFormat |