signature Archive ( Entry
                  , Error
                  , unpackToDir
                  , readArchiveBytes
                  , packFromFiles
                  , writeArchiveBytes
                  -- , mkEntry
                  ) where

import qualified Data.ByteString.Lazy as BSL

data Entry

data Error

instance Show Error

packFromFiles :: FilePath -- ^ Path of @.tar@ file to write
              -> [FilePath] -- ^ Files and directories to archive
              -> IO ()

unpackToDir :: FilePath -> BSL.ByteString -> IO ()

readArchiveBytes :: BSL.ByteString -> Either Error [Entry]

writeArchiveBytes :: [Entry] -> BSL.ByteString