module Bindings.LibZip where
import Foreign.Ptr (Ptr,FunPtr,plusPtr)
import Foreign.Ptr (wordPtrToPtr,castPtrToFunPtr)
import Foreign.Storable
import Foreign.C.Types
import Foreign.C.String (CString,CStringLen,CWString,CWStringLen)
import Foreign.Marshal.Alloc (alloca)
import Foreign.Marshal.Array (peekArray,pokeArray)
import Data.Int
import Data.Word
data C'zip = C'zip
data C'zip_file = C'zip_file
data C'zip_source = C'zip_source
c'ZIP_CREATE = 1
c'ZIP_CREATE :: (Num a) => a
c'ZIP_EXCL = 2
c'ZIP_EXCL :: (Num a) => a
c'ZIP_CHECKCONS = 4
c'ZIP_CHECKCONS :: (Num a) => a
c'ZIP_FL_NOCASE = 1
c'ZIP_FL_NOCASE :: (Num a) => a
c'ZIP_FL_NODIR = 2
c'ZIP_FL_NODIR :: (Num a) => a
c'ZIP_FL_COMPRESSED = 4
c'ZIP_FL_COMPRESSED :: (Num a) => a
c'ZIP_FL_UNCHANGED = 8
c'ZIP_FL_UNCHANGED :: (Num a) => a
c'ZIP_FL_RECOMPRESS = 16
c'ZIP_FL_RECOMPRESS :: (Num a) => a
c'ZIP_FL_ENCRYPTED = 32
c'ZIP_FL_ENCRYPTED :: (Num a) => a
c'ZIP_AFL_TORRENT = 1
c'ZIP_AFL_TORRENT :: (Num a) => a
c'ZIP_AFL_RDONLY = 2
c'ZIP_AFL_RDONLY :: (Num a) => a
c'ZIP_CODEC_ENCODE = 1
c'ZIP_CODEC_ENCODE :: (Num a) => a
c'ZIP_ER_OK = 0
c'ZIP_ER_OK :: (Num a) => a
c'ZIP_ER_MULTIDISK = 1
c'ZIP_ER_MULTIDISK :: (Num a) => a
c'ZIP_ER_RENAME = 2
c'ZIP_ER_RENAME :: (Num a) => a
c'ZIP_ER_CLOSE = 3
c'ZIP_ER_CLOSE :: (Num a) => a
c'ZIP_ER_SEEK = 4
c'ZIP_ER_SEEK :: (Num a) => a
c'ZIP_ER_READ = 5
c'ZIP_ER_READ :: (Num a) => a
c'ZIP_ER_WRITE = 6
c'ZIP_ER_WRITE :: (Num a) => a
c'ZIP_ER_CRC = 7
c'ZIP_ER_CRC :: (Num a) => a
c'ZIP_ER_ZIPCLOSED = 8
c'ZIP_ER_ZIPCLOSED :: (Num a) => a
c'ZIP_ER_NOENT = 9
c'ZIP_ER_NOENT :: (Num a) => a
c'ZIP_ER_EXISTS = 10
c'ZIP_ER_EXISTS :: (Num a) => a
c'ZIP_ER_OPEN = 11
c'ZIP_ER_OPEN :: (Num a) => a
c'ZIP_ER_TMPOPEN = 12
c'ZIP_ER_TMPOPEN :: (Num a) => a
c'ZIP_ER_ZLIB = 13
c'ZIP_ER_ZLIB :: (Num a) => a
c'ZIP_ER_MEMORY = 14
c'ZIP_ER_MEMORY :: (Num a) => a
c'ZIP_ER_CHANGED = 15
c'ZIP_ER_CHANGED :: (Num a) => a
c'ZIP_ER_COMPNOTSUPP = 16
c'ZIP_ER_COMPNOTSUPP :: (Num a) => a
c'ZIP_ER_EOF = 17
c'ZIP_ER_EOF :: (Num a) => a
c'ZIP_ER_INVAL = 18
c'ZIP_ER_INVAL :: (Num a) => a
c'ZIP_ER_NOZIP = 19
c'ZIP_ER_NOZIP :: (Num a) => a
c'ZIP_ER_INTERNAL = 20
c'ZIP_ER_INTERNAL :: (Num a) => a
c'ZIP_ER_INCONS = 21
c'ZIP_ER_INCONS :: (Num a) => a
c'ZIP_ER_REMOVE = 22
c'ZIP_ER_REMOVE :: (Num a) => a
c'ZIP_ER_DELETED = 23
c'ZIP_ER_DELETED :: (Num a) => a
c'ZIP_ER_ENCRNOTSUPP = 24
c'ZIP_ER_ENCRNOTSUPP :: (Num a) => a
c'ZIP_ER_RDONLY = 25
c'ZIP_ER_RDONLY :: (Num a) => a
c'ZIP_ER_NOPASSWD = 26
c'ZIP_ER_NOPASSWD :: (Num a) => a
c'ZIP_ER_WRONGPASSWD = 27
c'ZIP_ER_WRONGPASSWD :: (Num a) => a
c'ZIP_ET_NONE = 0
c'ZIP_ET_NONE :: (Num a) => a
c'ZIP_ET_SYS = 1
c'ZIP_ET_SYS :: (Num a) => a
c'ZIP_ET_ZLIB = 2
c'ZIP_ET_ZLIB :: (Num a) => a
c'ZIP_CM_DEFAULT = 1
c'ZIP_CM_DEFAULT :: (Num a) => a
c'ZIP_CM_STORE = 0
c'ZIP_CM_STORE :: (Num a) => a
c'ZIP_CM_SHRINK = 1
c'ZIP_CM_SHRINK :: (Num a) => a
c'ZIP_CM_REDUCE_1 = 2
c'ZIP_CM_REDUCE_1 :: (Num a) => a
c'ZIP_CM_REDUCE_2 = 3
c'ZIP_CM_REDUCE_2 :: (Num a) => a
c'ZIP_CM_REDUCE_3 = 4
c'ZIP_CM_REDUCE_3 :: (Num a) => a
c'ZIP_CM_REDUCE_4 = 5
c'ZIP_CM_REDUCE_4 :: (Num a) => a
c'ZIP_CM_IMPLODE = 6
c'ZIP_CM_IMPLODE :: (Num a) => a
c'ZIP_CM_DEFLATE = 8
c'ZIP_CM_DEFLATE :: (Num a) => a
c'ZIP_CM_DEFLATE64 = 9
c'ZIP_CM_DEFLATE64 :: (Num a) => a
c'ZIP_CM_PKWARE_IMPLODE = 10
c'ZIP_CM_PKWARE_IMPLODE :: (Num a) => a
c'ZIP_CM_BZIP2 = 12
c'ZIP_CM_BZIP2 :: (Num a) => a
c'ZIP_CM_LZMA = 14
c'ZIP_CM_LZMA :: (Num a) => a
c'ZIP_CM_TERSE = 18
c'ZIP_CM_TERSE :: (Num a) => a
c'ZIP_CM_LZ77 = 19
c'ZIP_CM_LZ77 :: (Num a) => a
c'ZIP_CM_WAVPACK = 97
c'ZIP_CM_WAVPACK :: (Num a) => a
c'ZIP_CM_PPMD = 98
c'ZIP_CM_PPMD :: (Num a) => a
c'ZIP_EM_NONE = 0
c'ZIP_EM_NONE :: (Num a) => a
c'ZIP_EM_TRAD_PKWARE = 1
c'ZIP_EM_TRAD_PKWARE :: (Num a) => a
c'ZIP_EM_UNKNOWN = 65535
c'ZIP_EM_UNKNOWN :: (Num a) => a
type C'zip_source_cmd = CUInt
c'ZIP_SOURCE_OPEN = 0
c'ZIP_SOURCE_OPEN :: (Num a) => a
c'ZIP_SOURCE_READ = 1
c'ZIP_SOURCE_READ :: (Num a) => a
c'ZIP_SOURCE_CLOSE = 2
c'ZIP_SOURCE_CLOSE :: (Num a) => a
c'ZIP_SOURCE_STAT = 3
c'ZIP_SOURCE_STAT :: (Num a) => a
c'ZIP_SOURCE_ERROR = 4
c'ZIP_SOURCE_ERROR :: (Num a) => a
c'ZIP_SOURCE_FREE = 5
c'ZIP_SOURCE_FREE :: (Num a) => a
type C'zip_source_callback = FunPtr (Ptr () -> Ptr () -> CULLong -> C'zip_source_cmd -> IO CULLong)
foreign import ccall "wrapper" mk'zip_source_callback
  :: (Ptr () -> Ptr () -> CULLong -> C'zip_source_cmd -> IO CULLong) -> IO C'zip_source_callback
foreign import ccall "dynamic" mK'zip_source_callback
  :: C'zip_source_callback -> (Ptr () -> Ptr () -> CULLong -> C'zip_source_cmd -> IO CULLong)
c'ZIP_SOURCE_ERR_LOWER = 2
c'ZIP_SOURCE_ERR_LOWER :: (Num a) => a
c'ZIP_STAT_NAME = 1
c'ZIP_STAT_NAME :: (Num a) => a
c'ZIP_STAT_INDEX = 2
c'ZIP_STAT_INDEX :: (Num a) => a
c'ZIP_STAT_SIZE = 4
c'ZIP_STAT_SIZE :: (Num a) => a
c'ZIP_STAT_COMP_SIZE = 8
c'ZIP_STAT_COMP_SIZE :: (Num a) => a
c'ZIP_STAT_MTIME = 16
c'ZIP_STAT_MTIME :: (Num a) => a
c'ZIP_STAT_CRC = 32
c'ZIP_STAT_CRC :: (Num a) => a
c'ZIP_STAT_COMP_METHOD = 64
c'ZIP_STAT_COMP_METHOD :: (Num a) => a
c'ZIP_STAT_ENCRYPTION_METHOD = 128
c'ZIP_STAT_ENCRYPTION_METHOD :: (Num a) => a
c'ZIP_STAT_FLAGS = 256
c'ZIP_STAT_FLAGS :: (Num a) => a
data C'time_t = C'time_t
data C'zip_stat = C'zip_stat{
  c'zip_stat'valid :: CULLong,
  c'zip_stat'name :: Ptr CChar,
  c'zip_stat'index :: CULLong,
  c'zip_stat'size :: CULLong,
  c'zip_stat'comp_size :: CULLong,
  c'zip_stat'mtime :: CTime,
  c'zip_stat'crc :: CUInt,
  c'zip_stat'comp_method :: CUShort,
  c'zip_stat'encryption_method :: CUShort,
  c'zip_stat'flags :: CUInt
} deriving (Eq,Show)
p'zip_stat'valid p = plusPtr p 0
p'zip_stat'valid :: Ptr (C'zip_stat) -> Ptr (CULLong)
p'zip_stat'name p = plusPtr p 8
p'zip_stat'name :: Ptr (C'zip_stat) -> Ptr (Ptr CChar)
p'zip_stat'index p = plusPtr p 12
p'zip_stat'index :: Ptr (C'zip_stat) -> Ptr (CULLong)
p'zip_stat'size p = plusPtr p 20
p'zip_stat'size :: Ptr (C'zip_stat) -> Ptr (CULLong)
p'zip_stat'comp_size p = plusPtr p 28
p'zip_stat'comp_size :: Ptr (C'zip_stat) -> Ptr (CULLong)
p'zip_stat'mtime p = plusPtr p 36
p'zip_stat'mtime :: Ptr (C'zip_stat) -> Ptr (CTime)
p'zip_stat'crc p = plusPtr p 40
p'zip_stat'crc :: Ptr (C'zip_stat) -> Ptr (CUInt)
p'zip_stat'comp_method p = plusPtr p 44
p'zip_stat'comp_method :: Ptr (C'zip_stat) -> Ptr (CUShort)
p'zip_stat'encryption_method p = plusPtr p 46
p'zip_stat'encryption_method :: Ptr (C'zip_stat) -> Ptr (CUShort)
p'zip_stat'flags p = plusPtr p 48
p'zip_stat'flags :: Ptr (C'zip_stat) -> Ptr (CUInt)
instance Storable C'zip_stat where
  sizeOf _ = 52
  alignment = sizeOf
  peek p = do
    v0 <- peekByteOff p 0
    v1 <- peekByteOff p 8
    v2 <- peekByteOff p 12
    v3 <- peekByteOff p 20
    v4 <- peekByteOff p 28
    v5 <- peekByteOff p 36
    v6 <- peekByteOff p 40
    v7 <- peekByteOff p 44
    v8 <- peekByteOff p 46
    v9 <- peekByteOff p 48
    return $ C'zip_stat v0 v1 v2 v3 v4 v5 v6 v7 v8 v9
  poke p (C'zip_stat v0 v1 v2 v3 v4 v5 v6 v7 v8 v9) = do
    pokeByteOff p 0 v0
    pokeByteOff p 8 v1
    pokeByteOff p 12 v2
    pokeByteOff p 20 v3
    pokeByteOff p 28 v4
    pokeByteOff p 36 v5
    pokeByteOff p 40 v6
    pokeByteOff p 44 v7
    pokeByteOff p 46 v8
    pokeByteOff p 48 v9
    return ()
foreign import ccall "zip_add" c'zip_add
  :: Ptr C'zip -> CString -> Ptr C'zip_source -> IO (CLLong)
foreign import ccall "&zip_add" p'zip_add
  :: FunPtr (Ptr C'zip -> CString -> Ptr C'zip_source -> IO (CLLong))
foreign import ccall "zip_add_dir" c'zip_add_dir
  :: Ptr C'zip -> CString -> IO (CLLong)
foreign import ccall "&zip_add_dir" p'zip_add_dir
  :: FunPtr (Ptr C'zip -> CString -> IO (CLLong))
foreign import ccall "zip_close" c'zip_close
  :: Ptr C'zip -> IO (CInt)
foreign import ccall "&zip_close" p'zip_close
  :: FunPtr (Ptr C'zip -> IO (CInt))
foreign import ccall "zip_delete" c'zip_delete
  :: Ptr C'zip -> CULLong -> IO (CInt)
foreign import ccall "&zip_delete" p'zip_delete
  :: FunPtr (Ptr C'zip -> CULLong -> IO (CInt))
foreign import ccall "zip_error_clear" c'zip_error_clear
  :: Ptr C'zip -> IO ()
foreign import ccall "&zip_error_clear" p'zip_error_clear
  :: FunPtr (Ptr C'zip -> IO ())
foreign import ccall "zip_error_get" c'zip_error_get
  :: Ptr C'zip -> Ptr CInt -> Ptr CInt -> IO ()
foreign import ccall "&zip_error_get" p'zip_error_get
  :: FunPtr (Ptr C'zip -> Ptr CInt -> Ptr CInt -> IO ())
foreign import ccall "zip_error_get_sys_type" c'zip_error_get_sys_type
  :: CInt -> IO (CInt)
foreign import ccall "&zip_error_get_sys_type" p'zip_error_get_sys_type
  :: FunPtr (CInt -> IO (CInt))
foreign import ccall "zip_error_to_str" c'zip_error_to_str
  :: Ptr CChar -> CULLong -> CInt -> CInt -> IO (CInt)
foreign import ccall "&zip_error_to_str" p'zip_error_to_str
  :: FunPtr (Ptr CChar -> CULLong -> CInt -> CInt -> IO (CInt))
foreign import ccall "zip_fclose" c'zip_fclose
  :: Ptr C'zip_file -> IO (CInt)
foreign import ccall "&zip_fclose" p'zip_fclose
  :: FunPtr (Ptr C'zip_file -> IO (CInt))
foreign import ccall "zip_fdopen" c'zip_fdopen
  :: CInt -> CInt -> Ptr CInt -> IO (Ptr C'zip)
foreign import ccall "&zip_fdopen" p'zip_fdopen
  :: FunPtr (CInt -> CInt -> Ptr CInt -> IO (Ptr C'zip))
foreign import ccall "zip_file_error_clear" c'zip_file_error_clear
  :: Ptr C'zip_file -> IO ()
foreign import ccall "&zip_file_error_clear" p'zip_file_error_clear
  :: FunPtr (Ptr C'zip_file -> IO ())
foreign import ccall "zip_file_error_get" c'zip_file_error_get
  :: Ptr C'zip_file -> Ptr CInt -> Ptr CInt -> IO ()
foreign import ccall "&zip_file_error_get" p'zip_file_error_get
  :: FunPtr (Ptr C'zip_file -> Ptr CInt -> Ptr CInt -> IO ())
foreign import ccall "zip_file_strerror" c'zip_file_strerror
  :: Ptr C'zip_file -> IO (CString)
foreign import ccall "&zip_file_strerror" p'zip_file_strerror
  :: FunPtr (Ptr C'zip_file -> IO (CString))
foreign import ccall "zip_fopen" c'zip_fopen
  :: Ptr C'zip -> CString -> CInt -> IO (Ptr C'zip_file)
foreign import ccall "&zip_fopen" p'zip_fopen
  :: FunPtr (Ptr C'zip -> CString -> CInt -> IO (Ptr C'zip_file))
foreign import ccall "zip_fopen_encrypted" c'zip_fopen_encrypted
  :: Ptr C'zip -> CString -> CInt -> CString -> IO (Ptr C'zip_file)
foreign import ccall "&zip_fopen_encrypted" p'zip_fopen_encrypted
  :: FunPtr (Ptr C'zip -> CString -> CInt -> CString -> IO (Ptr C'zip_file))
foreign import ccall "zip_fopen_index" c'zip_fopen_index
  :: Ptr C'zip -> CULLong -> CInt -> IO (Ptr C'zip_file)
foreign import ccall "&zip_fopen_index" p'zip_fopen_index
  :: FunPtr (Ptr C'zip -> CULLong -> CInt -> IO (Ptr C'zip_file))
foreign import ccall "zip_fopen_index_encrypted" c'zip_fopen_index_encrypted
  :: Ptr C'zip -> CULLong -> CInt -> CString -> IO (Ptr C'zip_file)
foreign import ccall "&zip_fopen_index_encrypted" p'zip_fopen_index_encrypted
  :: FunPtr (Ptr C'zip -> CULLong -> CInt -> CString -> IO (Ptr C'zip_file))
foreign import ccall "zip_fread" c'zip_fread
  :: Ptr C'zip_file -> Ptr () -> CULLong -> IO (CLLong)
foreign import ccall "&zip_fread" p'zip_fread
  :: FunPtr (Ptr C'zip_file -> Ptr () -> CULLong -> IO (CLLong))
foreign import ccall "zip_get_archive_comment" c'zip_get_archive_comment
  :: Ptr C'zip -> Ptr CInt -> CInt -> IO (CString)
foreign import ccall "&zip_get_archive_comment" p'zip_get_archive_comment
  :: FunPtr (Ptr C'zip -> Ptr CInt -> CInt -> IO (CString))
foreign import ccall "zip_get_archive_flag" c'zip_get_archive_flag
  :: Ptr C'zip -> CInt -> CInt -> IO (CInt)
foreign import ccall "&zip_get_archive_flag" p'zip_get_archive_flag
  :: FunPtr (Ptr C'zip -> CInt -> CInt -> IO (CInt))
foreign import ccall "zip_get_file_comment" c'zip_get_file_comment
  :: Ptr C'zip -> CULLong -> Ptr CInt -> CInt -> IO (CString)
foreign import ccall "&zip_get_file_comment" p'zip_get_file_comment
  :: FunPtr (Ptr C'zip -> CULLong -> Ptr CInt -> CInt -> IO (CString))
foreign import ccall "zip_get_file_extra" c'zip_get_file_extra
  :: Ptr C'zip -> CULLong -> Ptr CInt -> CInt -> IO (CString)
foreign import ccall "&zip_get_file_extra" p'zip_get_file_extra
  :: FunPtr (Ptr C'zip -> CULLong -> Ptr CInt -> CInt -> IO (CString))
foreign import ccall "zip_get_name" c'zip_get_name
  :: Ptr C'zip -> CULLong -> CInt -> IO (CString)
foreign import ccall "&zip_get_name" p'zip_get_name
  :: FunPtr (Ptr C'zip -> CULLong -> CInt -> IO (CString))
foreign import ccall "zip_get_num_entries" c'zip_get_num_entries
  :: Ptr C'zip -> CInt -> IO (CULLong)
foreign import ccall "&zip_get_num_entries" p'zip_get_num_entries
  :: FunPtr (Ptr C'zip -> CInt -> IO (CULLong))
foreign import ccall "zip_get_num_files" c'zip_get_num_files
  :: Ptr C'zip -> IO (CInt)
foreign import ccall "&zip_get_num_files" p'zip_get_num_files
  :: FunPtr (Ptr C'zip -> IO (CInt))
foreign import ccall "zip_name_locate" c'zip_name_locate
  :: Ptr C'zip -> CString -> CInt -> IO (CInt)
foreign import ccall "&zip_name_locate" p'zip_name_locate
  :: FunPtr (Ptr C'zip -> CString -> CInt -> IO (CInt))
foreign import ccall "zip_open" c'zip_open
  :: CString -> CInt -> Ptr CInt -> IO (Ptr C'zip)
foreign import ccall "&zip_open" p'zip_open
  :: FunPtr (CString -> CInt -> Ptr CInt -> IO (Ptr C'zip))
foreign import ccall "zip_rename" c'zip_rename
  :: Ptr C'zip -> CULLong -> CString -> IO (CInt)
foreign import ccall "&zip_rename" p'zip_rename
  :: FunPtr (Ptr C'zip -> CULLong -> CString -> IO (CInt))
foreign import ccall "zip_replace" c'zip_replace
  :: Ptr C'zip -> CULLong -> Ptr C'zip_source -> IO (CInt)
foreign import ccall "&zip_replace" p'zip_replace
  :: FunPtr (Ptr C'zip -> CULLong -> Ptr C'zip_source -> IO (CInt))
foreign import ccall "zip_set_archive_comment" c'zip_set_archive_comment
  :: Ptr C'zip -> CString -> CInt -> IO (CInt)
foreign import ccall "&zip_set_archive_comment" p'zip_set_archive_comment
  :: FunPtr (Ptr C'zip -> CString -> CInt -> IO (CInt))
foreign import ccall "zip_set_archive_flag" c'zip_set_archive_flag
  :: Ptr C'zip -> CInt -> CInt -> IO (CInt)
foreign import ccall "&zip_set_archive_flag" p'zip_set_archive_flag
  :: FunPtr (Ptr C'zip -> CInt -> CInt -> IO (CInt))
foreign import ccall "zip_set_default_password" c'zip_set_default_password
  :: Ptr C'zip -> CString -> IO (CInt)
foreign import ccall "&zip_set_default_password" p'zip_set_default_password
  :: FunPtr (Ptr C'zip -> CString -> IO (CInt))
foreign import ccall "zip_set_file_comment" c'zip_set_file_comment
  :: Ptr C'zip -> CULLong -> CString -> CInt -> IO (CInt)
foreign import ccall "&zip_set_file_comment" p'zip_set_file_comment
  :: FunPtr (Ptr C'zip -> CULLong -> CString -> CInt -> IO (CInt))
foreign import ccall "zip_set_file_extra" c'zip_set_file_extra
  :: Ptr C'zip -> CULLong -> CString -> CInt -> IO (CInt)
foreign import ccall "&zip_set_file_extra" p'zip_set_file_extra
  :: FunPtr (Ptr C'zip -> CULLong -> CString -> CInt -> IO (CInt))
foreign import ccall "zip_source_buffer" c'zip_source_buffer
  :: Ptr C'zip -> Ptr () -> CULLong -> CInt -> IO (Ptr C'zip_source)
foreign import ccall "&zip_source_buffer" p'zip_source_buffer
  :: FunPtr (Ptr C'zip -> Ptr () -> CULLong -> CInt -> IO (Ptr C'zip_source))
foreign import ccall "zip_source_file" c'zip_source_file
  :: Ptr C'zip -> CString -> CULLong -> CLLong -> IO (Ptr C'zip_source)
foreign import ccall "&zip_source_file" p'zip_source_file
  :: FunPtr (Ptr C'zip -> CString -> CULLong -> CLLong -> IO (Ptr C'zip_source))
foreign import ccall "zip_source_filep" c'zip_source_filep
  :: Ptr C'zip -> Ptr CFile -> CULLong -> CLLong -> IO (Ptr C'zip_source)
foreign import ccall "&zip_source_filep" p'zip_source_filep
  :: FunPtr (Ptr C'zip -> Ptr CFile -> CULLong -> CLLong -> IO (Ptr C'zip_source))
foreign import ccall "zip_source_free" c'zip_source_free
  :: Ptr C'zip_source -> IO ()
foreign import ccall "&zip_source_free" p'zip_source_free
  :: FunPtr (Ptr C'zip_source -> IO ())
foreign import ccall "zip_source_function" c'zip_source_function
  :: Ptr C'zip -> C'zip_source_callback -> Ptr () -> IO (Ptr C'zip_source)
foreign import ccall "&zip_source_function" p'zip_source_function
  :: FunPtr (Ptr C'zip -> C'zip_source_callback -> Ptr () -> IO (Ptr C'zip_source))
foreign import ccall "zip_source_zip" c'zip_source_zip
  :: Ptr C'zip -> Ptr C'zip -> CULLong -> CInt -> CULLong -> CLLong -> IO (Ptr C'zip_source)
foreign import ccall "&zip_source_zip" p'zip_source_zip
  :: FunPtr (Ptr C'zip -> Ptr C'zip -> CULLong -> CInt -> CULLong -> CLLong -> IO (Ptr C'zip_source))
foreign import ccall "zip_stat" c'zip_stat
  :: Ptr C'zip -> CString -> CInt -> Ptr C'zip_stat -> IO (CInt)
foreign import ccall "&zip_stat" p'zip_stat
  :: FunPtr (Ptr C'zip -> CString -> CInt -> Ptr C'zip_stat -> IO (CInt))
foreign import ccall "zip_stat_index" c'zip_stat_index
  :: Ptr C'zip -> CULLong -> CInt -> Ptr C'zip_stat -> IO (CInt)
foreign import ccall "&zip_stat_index" p'zip_stat_index
  :: FunPtr (Ptr C'zip -> CULLong -> CInt -> Ptr C'zip_stat -> IO (CInt))
foreign import ccall "zip_stat_init" c'zip_stat_init
  :: Ptr C'zip_stat -> IO ()
foreign import ccall "&zip_stat_init" p'zip_stat_init
  :: FunPtr (Ptr C'zip_stat -> IO ())
foreign import ccall "zip_strerror" c'zip_strerror
  :: Ptr C'zip -> IO (CString)
foreign import ccall "&zip_strerror" p'zip_strerror
  :: FunPtr (Ptr C'zip -> IO (CString))
foreign import ccall "zip_unchange" c'zip_unchange
  :: Ptr C'zip -> CULLong -> IO (CInt)
foreign import ccall "&zip_unchange" p'zip_unchange
  :: FunPtr (Ptr C'zip -> CULLong -> IO (CInt))
foreign import ccall "zip_unchange_all" c'zip_unchange_all
  :: Ptr C'zip -> IO (CInt)
foreign import ccall "&zip_unchange_all" p'zip_unchange_all
  :: FunPtr (Ptr C'zip -> IO (CInt))
foreign import ccall "zip_unchange_archive" c'zip_unchange_archive
  :: Ptr C'zip -> IO (CInt)
foreign import ccall "&zip_unchange_archive" p'zip_unchange_archive
  :: FunPtr (Ptr C'zip -> IO (CInt))