-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/


-- | Streaming compression/decompression via conduits.
--   
--   Please see the README and docs at
--   <a>https://www.stackage.org/package/bzlib-conduit</a>
@package bzlib-conduit
@version 0.3.0.3

module Data.Conduit.BZlib.Internal
c'BZ_RUN :: Num a => a
c'BZ_FLUSH :: Num a => a
c'BZ_FINISH :: Num a => a
c'BZ_OK :: Num a => a
c'BZ_RUN_OK :: Num a => a
c'BZ_FLUSH_OK :: Num a => a
c'BZ_FINISH_OK :: Num a => a
c'BZ_STREAM_END :: Num a => a
c'BZ_SEQUENCE_ERROR :: Num a => a
c'BZ_PARAM_ERROR :: Num a => a
c'BZ_MEM_ERROR :: Num a => a
c'BZ_DATA_ERROR :: Num a => a
c'BZ_DATA_ERROR_MAGIC :: Num a => a
c'BZ_IO_ERROR :: Num a => a
c'BZ_UNEXPECTED_EOF :: Num a => a
c'BZ_OUTBUFF_FULL :: Num a => a
c'BZ_CONFIG_ERROR :: Num a => a
data C'bz_stream
C'bz_stream :: Ptr CChar -> CUInt -> CUInt -> CUInt -> Ptr CChar -> CUInt -> CUInt -> CUInt -> Ptr () -> Ptr () -> Ptr () -> Ptr () -> C'bz_stream
[c'bz_stream'next_in] :: C'bz_stream -> Ptr CChar
[c'bz_stream'avail_in] :: C'bz_stream -> CUInt
[c'bz_stream'total_in_lo32] :: C'bz_stream -> CUInt
[c'bz_stream'total_in_hi32] :: C'bz_stream -> CUInt
[c'bz_stream'next_out] :: C'bz_stream -> Ptr CChar
[c'bz_stream'avail_out] :: C'bz_stream -> CUInt
[c'bz_stream'total_out_lo32] :: C'bz_stream -> CUInt
[c'bz_stream'total_out_hi32] :: C'bz_stream -> CUInt
[c'bz_stream'state] :: C'bz_stream -> Ptr ()
[c'bz_stream'bzalloc] :: C'bz_stream -> Ptr ()
[c'bz_stream'bzfree] :: C'bz_stream -> Ptr ()
[c'bz_stream'opaque] :: C'bz_stream -> Ptr ()
c'BZ2_bzCompressInit :: Ptr C'bz_stream -> CInt -> CInt -> CInt -> IO CInt
c'BZ2_bzCompress :: Ptr C'bz_stream -> CInt -> IO CInt
c'BZ2_bzCompressEnd :: Ptr C'bz_stream -> IO CInt
p'BZ2_bzCompressInit :: FunPtr (Ptr C'bz_stream -> CInt -> CInt -> CInt -> IO CInt)
p'BZ2_bzCompress :: FunPtr (Ptr C'bz_stream -> CInt -> IO CInt)
p'BZ2_bzCompressEnd :: FunPtr (Ptr C'bz_stream -> IO CInt)
c'BZ2_bzDecompressInit :: Ptr C'bz_stream -> CInt -> CInt -> IO CInt
c'BZ2_bzDecompress :: Ptr C'bz_stream -> IO CInt
c'BZ2_bzDecompressEnd :: Ptr C'bz_stream -> IO CInt
p'BZ2_bzDecompressInit :: FunPtr (Ptr C'bz_stream -> CInt -> CInt -> IO CInt)
p'BZ2_bzDecompress :: FunPtr (Ptr C'bz_stream -> IO CInt)
p'BZ2_bzDecompressEnd :: FunPtr (Ptr C'bz_stream -> IO CInt)
p'bz_stream'next_in :: Ptr C'bz_stream -> Ptr (Ptr CChar)
p'bz_stream'avail_in :: Ptr C'bz_stream -> Ptr CUInt
p'bz_stream'total_in_lo32 :: Ptr C'bz_stream -> Ptr CUInt
p'bz_stream'total_in_hi32 :: Ptr C'bz_stream -> Ptr CUInt
p'bz_stream'next_out :: Ptr C'bz_stream -> Ptr (Ptr CChar)
p'bz_stream'avail_out :: Ptr C'bz_stream -> Ptr CUInt
p'bz_stream'total_out_lo32 :: Ptr C'bz_stream -> Ptr CUInt
p'bz_stream'total_out_hi32 :: Ptr C'bz_stream -> Ptr CUInt
p'bz_stream'state :: Ptr C'bz_stream -> Ptr (Ptr ())
p'bz_stream'bzalloc :: Ptr C'bz_stream -> Ptr (Ptr ())
p'bz_stream'bzfree :: Ptr C'bz_stream -> Ptr (Ptr ())
p'bz_stream'opaque :: Ptr C'bz_stream -> Ptr (Ptr ())
instance GHC.Show.Show Data.Conduit.BZlib.Internal.C'bz_stream
instance GHC.Classes.Eq Data.Conduit.BZlib.Internal.C'bz_stream
instance Foreign.Storable.Storable Data.Conduit.BZlib.Internal.C'bz_stream

module Data.Conduit.BZlib

-- | Compress a stream of ByteStrings.
compress :: MonadResource m => CompressParams -> ConduitT ByteString ByteString m ()

-- | Decompress a stream of ByteStrings. Note that this will only
--   decompress the first compressed stream in the input and leave the rest
--   for further processing. See <a>decompress</a>.
decompress1 :: MonadResource m => DecompressParams -> ConduitT ByteString ByteString m ()
decompress :: MonadResource m => DecompressParams -> ConduitT ByteString ByteString m ()

-- | bzip2 compression with default parameters.
bzip2 :: MonadResource m => ConduitT ByteString ByteString m ()

-- | bzip2 decompression with default parameters. This will decompress all
--   the streams in the input
bunzip2 :: MonadResource m => ConduitT ByteString ByteString m ()

-- | Compression parameters
data CompressParams
CompressParams :: Int -> Int -> Int -> CompressParams

-- | Compress level [1..9]. default is 9.
[cpBlockSize] :: CompressParams -> Int

-- | Verbosity mode [0..4]. default is 0.
[cpVerbosity] :: CompressParams -> Int

-- | Work factor [0..250]. default is 30.
[cpWorkFactor] :: CompressParams -> Int

-- | Decompression parameters
data DecompressParams
DecompressParams :: Int -> Bool -> DecompressParams

-- | Verbosity mode [0..4]. default is 0
[dpVerbosity] :: DecompressParams -> Int

-- | If True, use an algorithm uses less memory but slow. default is False
[dpSmall] :: DecompressParams -> Bool

-- | The default value for this type.
def :: Default a => a
instance Data.Default.Class.Default Data.Conduit.BZlib.DecompressParams
instance Data.Default.Class.Default Data.Conduit.BZlib.CompressParams
