-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Haskell interface to libarchive -- -- Haskell bindings for libarchive. Provides the ability to unpack -- archives. @package libarchive @version 1.0.3.0 -- | Functions found in archive_entry.h module Codec.Archive.Foreign.ArchiveEntry archive_entry_clear :: Ptr ArchiveEntry -> IO (Ptr ArchiveEntry) archive_entry_clone :: Ptr ArchiveEntry -> IO (Ptr ArchiveEntry) archive_entry_new :: IO (Ptr ArchiveEntry) archive_entry_free :: Ptr ArchiveEntry -> IO () archive_entry_new2 :: Ptr ArchiveEntry -> IO (Ptr ArchiveEntry) archive_entry_atime :: Ptr ArchiveEntry -> IO CTime archive_entry_atime_nsec :: Ptr ArchiveEntry -> IO CLong archiveEntryATimeIsSet :: Ptr ArchiveEntry -> IO Bool archive_entry_birthtime :: Ptr ArchiveEntry -> IO CTime archive_entry_birthtime_nsec :: Ptr ArchiveEntry -> IO CLong archiveEntryBirthtimeIsSet :: Ptr ArchiveEntry -> IO Bool archive_entry_ctime :: Ptr ArchiveEntry -> IO CTime archive_entry_ctime_nsec :: Ptr ArchiveEntry -> IO CLong archiveEntryCTimeIsSet :: Ptr ArchiveEntry -> IO Bool archive_entry_dev :: Ptr ArchiveEntry -> IO Word64 archiveEntryDevIsSet :: Ptr ArchiveEntry -> IO Bool archive_entry_devminor :: Ptr ArchiveEntry -> IO Word64 archive_entry_devmajor :: Ptr ArchiveEntry -> IO Word64 archive_entry_fflags :: Ptr ArchiveEntry -> CULong -> CULong -> IO () archive_entry_fflags_text :: Ptr ArchiveEntry -> IO CString archive_entry_filetype :: Ptr ArchiveEntry -> IO FileType archive_entry_gid :: Ptr ArchiveEntry -> IO Id archive_entry_gname :: Ptr ArchiveEntry -> IO CString archive_entry_gname_utf8 :: Ptr ArchiveEntry -> IO CString archive_entry_gname_w :: Ptr ArchiveEntry -> IO CWString archive_entry_hardlink :: Ptr ArchiveEntry -> IO CString archive_entry_hardlink_utf8 :: Ptr ArchiveEntry -> IO CString archive_entry_hardlink_w :: Ptr ArchiveEntry -> IO CWString archive_entry_ino :: Ptr ArchiveEntry -> IO Int64 archive_entry_ino64 :: Ptr ArchiveEntry -> IO Int64 archiveEntryInoIsSet :: Ptr ArchiveEntry -> IO Bool archive_entry_mode :: Ptr ArchiveEntry -> IO CMode archive_entry_mtime :: Ptr ArchiveEntry -> IO CTime archive_entry_mtime_nsec :: Ptr ArchiveEntry -> IO CLong archiveEntryMTimeIsSet :: Ptr ArchiveEntry -> IO Bool archive_entry_nlink :: Ptr ArchiveEntry -> IO CUInt archive_entry_pathname :: Ptr ArchiveEntry -> IO CString archive_entry_pathname_utf8 :: Ptr ArchiveEntry -> IO CString archive_entry_pathname_w :: Ptr ArchiveEntry -> IO CWString archive_entry_perm :: Ptr ArchiveEntry -> IO CMode archive_entry_rdev :: Ptr ArchiveEntry -> IO Word64 archive_entry_rdevmajor :: Ptr ArchiveEntry -> IO Word64 archive_entry_rdevminor :: Ptr ArchiveEntry -> IO Word64 archive_entry_sourcepath :: Ptr ArchiveEntry -> IO CString archive_entry_sourcepath_w :: Ptr ArchiveEntry -> IO CWString archive_entry_size :: Ptr ArchiveEntry -> IO Int64 archiveEntrySizeIsSet :: Ptr ArchiveEntry -> IO Bool archive_entry_strmode :: Ptr ArchiveEntry -> IO CString archive_entry_symlink :: Ptr ArchiveEntry -> IO CString archive_entry_symlink_w :: Ptr ArchiveEntry -> IO CWString archive_entry_symlink_utf8 :: Ptr ArchiveEntry -> IO CString archive_entry_uid :: Ptr ArchiveEntry -> IO Id archive_entry_uname :: Ptr ArchiveEntry -> IO CString archive_entry_uname_utf8 :: Ptr ArchiveEntry -> IO CString archive_entry_uname_w :: Ptr ArchiveEntry -> IO CWString archiveEntryIsDataEncrypted :: Ptr ArchiveEntry -> IO Bool archiveEntryIsMetadataEncrypted :: Ptr ArchiveEntry -> IO Bool archiveEntryIsEncrypted :: Ptr ArchiveEntry -> IO Bool archive_entry_set_atime :: Ptr ArchiveEntry -> CTime -> CLong -> IO () archive_entry_unset_atime :: Ptr ArchiveEntry -> IO () archive_entry_set_birthtime :: Ptr ArchiveEntry -> CTime -> CLong -> IO () archive_entry_unset_birthtime :: Ptr ArchiveEntry -> IO () archive_entry_set_ctime :: Ptr ArchiveEntry -> CTime -> CLong -> IO () archive_entry_unset_ctime :: Ptr ArchiveEntry -> IO () archive_entry_set_dev :: Ptr ArchiveEntry -> Int64 -> IO () archive_entry_set_devmajor :: Ptr ArchiveEntry -> Int64 -> IO () archive_entry_set_devminor :: Ptr ArchiveEntry -> Int64 -> IO () archive_entry_set_fflags :: Ptr ArchiveEntry -> CULong -> CULong -> IO () archive_entry_copy_fflags_text :: Ptr ArchiveEntry -> CString -> IO CString archive_entry_copy_fflags_text_w :: Ptr ArchiveEntry -> CWString -> IO CWString archive_entry_set_filetype :: Ptr ArchiveEntry -> FileType -> IO () archive_entry_set_gid :: Ptr ArchiveEntry -> Id -> IO () archive_entry_set_gname :: Ptr ArchiveEntry -> CString -> IO () archive_entry_set_gname_utf8 :: Ptr ArchiveEntry -> CString -> IO () archive_entry_copy_gname :: Ptr ArchiveEntry -> CString -> IO () archive_entry_copy_gname_w :: Ptr ArchiveEntry -> CWString -> IO () archiveEntryUpdateGNameUtf8 :: Ptr ArchiveEntry -> CString -> IO Bool archive_entry_set_hardlink :: Ptr ArchiveEntry -> CString -> IO () archive_entry_set_hardlink_utf8 :: Ptr ArchiveEntry -> CString -> IO () archive_entry_copy_hardlink :: Ptr ArchiveEntry -> CString -> IO () archive_entry_copy_hardlink_w :: Ptr ArchiveEntry -> CWString -> IO () archiveEntryUpdateHardlinkUtf8 :: Ptr ArchiveEntry -> CString -> IO Bool archive_entry_set_ino :: Ptr ArchiveEntry -> Int64 -> IO () archive_entry_set_ino64 :: Ptr ArchiveEntry -> Int64 -> IO () archive_entry_set_link :: Ptr ArchiveEntry -> CString -> IO () archive_entry_set_link_utf8 :: Ptr ArchiveEntry -> CString -> IO () archive_entry_copy_link :: Ptr ArchiveEntry -> CString -> IO () archive_entry_copy_link_w :: Ptr ArchiveEntry -> CWString -> IO () archiveEntryUpdateLinkUtf8 :: Ptr ArchiveEntry -> CString -> IO Bool archive_entry_set_mode :: Ptr ArchiveEntry -> CMode -> IO () archive_entry_set_mtime :: Ptr ArchiveEntry -> CTime -> CLong -> IO () archive_entry_unset_mtime :: Ptr ArchiveEntry -> IO () archive_entry_set_nlink :: Ptr ArchiveEntry -> CUInt -> IO () archive_entry_set_pathname :: Ptr ArchiveEntry -> CString -> IO () archive_entry_set_pathname_utf8 :: Ptr ArchiveEntry -> CString -> IO () archive_entry_copy_pathname :: Ptr ArchiveEntry -> CString -> IO () archive_entry_copy_pathname_w :: Ptr ArchiveEntry -> CWString -> IO () archiveEntryUpdatePathnameUtf8 :: Ptr ArchiveEntry -> CString -> IO Bool archive_entry_set_perm :: Ptr ArchiveEntry -> CMode -> IO () archive_entry_set_rdev :: Ptr ArchiveEntry -> Int64 -> IO () archive_entry_set_rdevmajor :: Ptr ArchiveEntry -> Int64 -> IO () archive_entry_set_rdevminor :: Ptr ArchiveEntry -> Int64 -> IO () archive_entry_set_size :: Ptr ArchiveEntry -> Int64 -> IO () archive_entry_unset_size :: Ptr ArchiveEntry -> IO () archive_entry_copy_sourcepath :: Ptr ArchiveEntry -> CString -> IO () archive_entry_copy_sourcepath_w :: Ptr ArchiveEntry -> CWString -> IO () archive_entry_set_symlink :: Ptr ArchiveEntry -> CString -> IO () archive_entry_set_symlink_utf8 :: Ptr ArchiveEntry -> CString -> IO () archive_entry_copy_symlink :: Ptr ArchiveEntry -> CString -> IO () archive_entry_copy_symlink_w :: Ptr ArchiveEntry -> CWString -> IO () archiveEntryUpdateSymlinkUtf8 :: Ptr ArchiveEntry -> CString -> IO Bool archive_entry_set_uid :: Ptr ArchiveEntry -> Id -> IO () archive_entry_set_uname :: Ptr ArchiveEntry -> CString -> IO () archive_entry_set_uname_utf8 :: Ptr ArchiveEntry -> CString -> IO () archive_entry_copy_uname :: Ptr ArchiveEntry -> CString -> IO () archive_entry_copy_uname_w :: Ptr ArchiveEntry -> CWString -> IO () archiveEntryUpdateUNameUtf8 :: Ptr ArchiveEntry -> CString -> IO Bool archive_entry_stat :: Ptr ArchiveEntry -> IO (Ptr Stat) archive_entry_copy_stat :: Ptr ArchiveEntry -> Ptr Stat -> IO () archive_entry_mac_metadata :: Ptr ArchiveEntry -> Ptr CSize -> IO (Ptr a) archive_entry_copy_mac_metadata :: Ptr ArchiveEntry -> Ptr a -> CSize -> IO () archive_entry_acl_add_entry :: Ptr ArchiveEntry -> EntryACL -> EntryACL -> EntryACL -> CInt -> CString -> IO ArchiveError archive_entry_acl_add_entry_w :: Ptr ArchiveEntry -> EntryACL -> EntryACL -> EntryACL -> CInt -> CWString -> IO ArchiveError archive_entry_acl_reset :: Ptr ArchiveEntry -> EntryACL -> IO CInt archive_entry_acl_next :: Ptr ArchiveEntry -> EntryACL -> EntryACL -> EntryACL -> EntryACL -> CInt -> Ptr CString -> IO ArchiveError archive_entry_xattr_clear :: Ptr ArchiveEntry -> IO () archive_entry_xattr_add_entry :: Ptr ArchiveEntry -> CString -> Ptr a -> CSize -> IO () archive_entry_xattr_count :: Ptr ArchiveEntry -> IO CInt archive_entry_xattr_reset :: Ptr ArchiveEntry -> IO CInt archive_entry_xattr_next :: Ptr ArchiveEntry -> Ptr CString -> Ptr (Ptr a) -> Ptr CSize -> IO ArchiveError archive_entry_sparse_clear :: Ptr ArchiveEntry -> IO () archive_entry_sparse_add_entry :: Ptr ArchiveEntry -> Int64 -> Int64 -> IO () archive_entry_sparse_count :: Ptr ArchiveEntry -> IO CInt archive_entry_sparse_reset :: Ptr ArchiveEntry -> IO CInt archive_entry_sparse_next :: Ptr ArchiveEntry -> Ptr Int64 -> Ptr Int64 -> IO ArchiveError archive_entry_linkresolver_new :: Ptr LinkResolver archive_entry_linkresolver_set_strategy :: Ptr LinkResolver -> ArchiveFormat -> IO () archive_entry_linkresolver_free :: Ptr LinkResolver -> IO () archive_entry_linkify :: Ptr LinkResolver -> Ptr (Ptr ArchiveEntry) -> Ptr (Ptr ArchiveEntry) -> IO () archive_entry_partial_links :: Ptr LinkResolver -> Ptr CUInt -> IO (Ptr ArchiveEntry) archive_entry_acl_clear :: Ptr ArchiveEntry -> IO () regular :: FileType symlink :: FileType socket :: FileType characterDevice :: FileType blockDevice :: FileType directory :: FileType fifo :: FileType archiveEntryACLExecute :: EntryACL archiveEntryACLWrite :: EntryACL archiveEntryACLRead :: EntryACL archiveEntryACLReadData :: EntryACL archiveEntryACLListData :: EntryACL archiveEntryACLWriteData :: EntryACL archiveEntryACLAddFile :: EntryACL archiveEntryACLAppendData :: EntryACL archiveEntryACLAddSubdirectory :: EntryACL archiveEntryACLReadNamedAttrs :: EntryACL archiveEntryACLWriteNamedAttrs :: EntryACL archiveEntryACLDeleteChild :: EntryACL archiveEntryACLReadAttributes :: EntryACL archiveEntryACLWriteAttributes :: EntryACL archiveEntryACLDelete :: EntryACL archiveEntryACLReadACL :: EntryACL archiveEntryACLWriteACL :: EntryACL archiveEntryACLWriteOwner :: EntryACL archiveEntryACLSynchronize :: EntryACL archiveEntryACLEntryFileInherit :: EntryACL archiveEntryACLEntryDirectoryInherit :: EntryACL archiveEntryACLEntryNoPropagateInherit :: EntryACL archiveEntryACLEntryInheritOnly :: EntryACL archiveEntryACLEntrySuccessfulAccess :: EntryACL archiveEntryACLEntryFailedAccess :: EntryACL archiveEntryACLTypeAccess :: EntryACL archiveEntryACLTypeDefault :: EntryACL archiveEntryACLTypeAllow :: EntryACL archiveEntryACLTypeDeny :: EntryACL archiveEntryACLTypeAudit :: EntryACL archiveEntryACLTypeAlarm :: EntryACL archiveEntryACLUser :: EntryACL archiveEntryACLUserObj :: EntryACL archiveEntryACLGroup :: EntryACL archiveEntryACLGroupObj :: EntryACL archiveEntryACLMask :: EntryACL archiveEntryACLOther :: EntryACL archiveEntryACLEveryone :: EntryACL archiveEntryACLStyleExtraID :: EntryACL archiveEntryACLStyleMarkDefault :: EntryACL -- | Abstract type data ArchiveEntry data Stat data LinkResolver data FileType data EntryACL -- | This module corresponds to archive.h module Codec.Archive.Foreign.Archive archive_read_new :: IO (Ptr Archive) archive_read_data_skip :: Ptr Archive -> IO ArchiveError archive_read_data :: Ptr Archive -> Ptr a -> CSize -> IO CSize archive_read_data_block :: Ptr Archive -> Ptr (Ptr a) -> Ptr CSize -> Ptr Int64 -> IO ArchiveError archive_read_free :: Ptr Archive -> IO ArchiveError archive_read_extract :: Ptr Archive -> Ptr ArchiveEntry -> Flags -> IO ArchiveError archive_read_open_filename :: Ptr Archive -> CString -> CSize -> IO ArchiveError archive_read_open_filename_w :: Ptr Archive -> CWString -> CSize -> IO ArchiveError archive_read_support_filter_all :: Ptr Archive -> IO ArchiveError archive_read_support_filter_bzip2 :: Ptr Archive -> IO ArchiveError archive_read_support_filter_compress :: Ptr Archive -> IO ArchiveError archive_read_support_filter_gzip :: Ptr Archive -> IO ArchiveError archive_read_support_filter_grzip :: Ptr Archive -> IO ArchiveError archive_read_support_filter_lrzip :: Ptr Archive -> IO ArchiveError archive_read_support_filter_lz4 :: Ptr Archive -> IO ArchiveError archive_read_support_filter_lzip :: Ptr Archive -> IO ArchiveError archive_read_support_filter_lzma :: Ptr Archive -> IO ArchiveError archive_read_support_filter_lzop :: Ptr Archive -> IO ArchiveError archive_read_support_filter_none :: Ptr Archive -> IO ArchiveError archive_read_support_filter_program :: Ptr Archive -> CString -> IO ArchiveError archive_read_support_filter_program_signature :: Ptr Archive -> CString -> CString -> CSize -> IO ArchiveError archive_read_support_filter_rpm :: Ptr Archive -> IO ArchiveError archive_read_support_filter_uu :: Ptr Archive -> IO ArchiveError archive_read_support_filter_xz :: Ptr Archive -> IO ArchiveError archive_read_support_format_7zip :: Ptr Archive -> IO ArchiveError archive_read_support_format_all :: Ptr Archive -> IO ArchiveError archive_read_support_format_ar :: Ptr Archive -> IO ArchiveError archive_read_add_passphrase :: Ptr Archive -> CString -> IO ArchiveError archive_read_set_passphrase_callback :: Ptr Archive -> Ptr a -> FunPtr (ArchivePassphraseCallback a) -> IO ArchiveError archive_read_extract2 :: Ptr Archive -> Ptr ArchiveEntry -> Ptr Archive -> IO ArchiveError archive_read_extract_set_progress_callback :: Ptr Archive -> FunPtr (Ptr a -> IO ()) -> Ptr a -> IO () archive_read_extract_set_skip_file :: Ptr Archive -> Int64 -> Int64 -> IO () archive_read_close :: Ptr Archive -> IO ArchiveError archive_read_support_format_by_code :: Ptr Archive -> CInt -> IO ArchiveError archive_read_support_format_cab :: Ptr Archive -> IO ArchiveError archive_read_support_format_cpio :: Ptr Archive -> IO ArchiveError archive_read_support_format_empty :: Ptr Archive -> IO ArchiveError archive_read_support_format_gnutar :: Ptr Archive -> IO ArchiveError archive_read_support_format_iso9660 :: Ptr Archive -> IO ArchiveError archive_read_support_format_lha :: Ptr Archive -> IO ArchiveError archive_read_support_format_mtree :: Ptr Archive -> IO ArchiveError archive_read_support_format_rar :: Ptr Archive -> IO ArchiveError archive_read_support_format_raw :: Ptr Archive -> IO ArchiveError archive_read_support_format_tar :: Ptr Archive -> IO ArchiveError archive_read_support_format_warc :: Ptr Archive -> IO ArchiveError archive_read_support_format_xar :: Ptr Archive -> IO ArchiveError archive_read_support_format_zip :: Ptr Archive -> IO ArchiveError archive_read_support_format_zip_streamable :: Ptr Archive -> IO ArchiveError archive_read_support_format_zip_seekable :: Ptr Archive -> IO ArchiveError archive_read_set_format :: Ptr Archive -> ArchiveFormat -> IO ArchiveError archive_read_append_filter :: Ptr Archive -> ArchiveFilter -> IO ArchiveError archive_read_append_filter_program :: Ptr Archive -> CString -> IO ArchiveError archive_read_append_filter_program_signature :: Ptr Archive -> CString -> Ptr a -> CSize -> IO ArchiveError archive_read_set_open_callback :: Ptr Archive -> FunPtr (ArchiveOpenCallback a) -> IO ArchiveError archive_read_set_read_callback :: Ptr Archive -> FunPtr (ArchiveReadCallback a b) -> IO ArchiveError archive_read_set_seek_callback :: Ptr Archive -> FunPtr (ArchiveSeekCallback a) -> IO ArchiveError archive_read_set_skip_callback :: Ptr Archive -> FunPtr (ArchiveSkipCallback a) -> IO ArchiveError archive_read_set_close_callback :: Ptr Archive -> FunPtr (ArchiveCloseCallback a) -> IO ArchiveError archive_read_set_switch_callback :: Ptr Archive -> FunPtr (ArchiveSwitchCallback a b) -> IO ArchiveError archive_read_set_callback_data :: Ptr Archive -> Ptr a -> IO ArchiveError archive_read_set_callback_data2 :: Ptr Archive -> Ptr a -> CUInt -> IO ArchiveError archive_read_add_callback_data :: Ptr Archive -> Ptr a -> CUInt -> IO ArchiveError archive_read_append_callback_data :: Ptr Archive -> Ptr a -> IO ArchiveError archive_read_prepend_callback_data :: Ptr Archive -> Ptr a -> IO ArchiveError archive_read_open1 :: Ptr Archive -> IO ArchiveError archive_read_open :: Ptr Archive -> Ptr a -> FunPtr (ArchiveOpenCallback a) -> FunPtr (ArchiveReadCallback a b) -> FunPtr (ArchiveCloseCallback a) -> IO ArchiveError archive_read_open2 :: Ptr Archive -> Ptr a -> FunPtr (ArchiveOpenCallback a) -> FunPtr (ArchiveReadCallback a b) -> FunPtr (ArchiveSkipCallback a) -> FunPtr (ArchiveCloseCallback a) -> IO ArchiveError archive_read_open_filenames :: Ptr Archive -> Ptr CString -> CSize -> IO ArchiveError archive_read_open_memory :: Ptr Archive -> Ptr CChar -> CSize -> IO ArchiveError archive_read_open_memory2 :: Ptr Archive -> Ptr a -> CSize -> CSize -> IO ArchiveError archive_read_open_fd :: Ptr Archive -> Fd -> CSize -> IO ArchiveError archive_read_next_header :: Ptr Archive -> Ptr (Ptr ArchiveEntry) -> IO ArchiveError archive_read_next_header2 :: Ptr Archive -> Ptr ArchiveEntry -> IO ArchiveError archive_read_header_position :: Ptr Archive -> IO Int64 archiveReadHasEncryptedEntries :: Ptr Archive -> IO ArchiveEncryption archive_read_format_capabilities :: Ptr Archive -> IO ArchiveCapabilities archive_seek_data :: Ptr Archive -> Int64 -> CInt -> IO Int64 archive_read_data_into_fd :: Ptr Archive -> Fd -> IO ArchiveError archive_read_set_format_option :: Ptr Archive -> CString -> CString -> CString -> IO ArchiveError archive_read_set_filter_option :: Ptr Archive -> CString -> CString -> CString -> IO ArchiveError archive_read_set_option :: Ptr Archive -> CString -> CString -> CString -> IO ArchiveError archive_read_set_options :: Ptr Archive -> CString -> IO ArchiveError archive_read_disk_new :: IO (Ptr Archive) archive_read_disk_set_symlink_logical :: Ptr Archive -> IO ArchiveError archive_read_disk_set_symlink_physical :: Ptr Archive -> IO ArchiveError archive_read_disk_set_symlink_hybrid :: Ptr Archive -> IO ArchiveError archive_read_disk_entry_from_file :: Ptr Archive -> Ptr ArchiveEntry -> Fd -> Ptr Stat -> IO ArchiveError archive_read_disk_gname :: Ptr Archive -> Int64 -> IO CString archive_read_disk_uname :: Ptr Archive -> Int64 -> IO CString archive_read_disk_set_standard_lookup :: Ptr Archive -> IO ArchiveError archive_read_disk_set_gname_lookup :: Ptr Archive -> Ptr a -> FunPtr (Ptr a -> Int64 -> IO CString) -> FunPtr (Ptr a -> IO ()) -> IO ArchiveError archive_read_disk_set_uname_lookup :: Ptr Archive -> Ptr a -> FunPtr (Ptr a -> Int64 -> IO CString) -> FunPtr (Ptr a -> IO ()) -> IO ArchiveError archive_read_disk_open :: Ptr Archive -> CString -> IO ArchiveError archive_read_disk_open_w :: Ptr Archive -> CWString -> IO ArchiveError archive_read_disk_descend :: Ptr Archive -> IO ArchiveError archiveReadDiskCanDescend :: Ptr Archive -> IO Bool archive_read_disk_current_filesystem :: Ptr Archive -> IO CInt archiveReadDiskCurrentFilesystemIsSynthetic :: Ptr Archive -> IO Bool archiveReadDiskCurrentFilesystemIsRemote :: Ptr Archive -> IO Bool archive_read_disk_set_atime_restored :: Ptr Archive -> IO ArchiveError archive_read_disk_set_behavior :: Ptr Archive -> ReadDiskFlags -> IO ArchiveError archive_read_disk_set_matching :: Ptr Archive -> Ptr Archive -> FunPtr (Ptr Archive -> Ptr a -> Ptr ArchiveEntry -> IO ()) -> Ptr a -> IO ArchiveError archive_read_disk_set_metadata_filter_callback :: Ptr Archive -> FunPtr (Ptr Archive -> Ptr a -> Ptr ArchiveEntry -> IO CInt) -> Ptr a -> IO ArchiveError archive_write_set_bytes_per_block :: Ptr Archive -> CInt -> IO ArchiveError archive_write_get_bytes_per_block :: Ptr Archive -> IO CInt archive_write_set_bytes_in_last_block :: Ptr Archive -> CInt -> IO ArchiveError archive_write_get_bytes_in_last_block :: Ptr Archive -> IO CInt archive_write_set_skip_file :: Ptr Archive -> Int64 -> Int64 -> IO ArchiveError archive_write_add_filter :: Ptr Archive -> ArchiveFilter -> IO ArchiveError archive_write_add_filter_by_name :: Ptr Archive -> CString -> IO ArchiveError archive_write_add_filter_b64encode :: Ptr Archive -> IO ArchiveError archive_write_add_filter_bzip2 :: Ptr Archive -> IO ArchiveError archive_write_add_filter_compress :: Ptr Archive -> IO ArchiveError archive_write_add_filter_grzip :: Ptr Archive -> IO ArchiveError archive_write_add_filter_gzip :: Ptr Archive -> IO ArchiveError archive_write_add_filter_lrzip :: Ptr Archive -> IO ArchiveError archive_write_add_filter_lz4 :: Ptr Archive -> IO ArchiveError archive_write_add_filter_lzip :: Ptr Archive -> IO ArchiveError archive_write_add_filter_lzma :: Ptr Archive -> IO ArchiveError archive_write_add_filter_lzop :: Ptr Archive -> IO ArchiveError archive_write_add_filter_none :: Ptr Archive -> IO ArchiveError archive_write_add_filter_program :: Ptr Archive -> CString -> IO ArchiveError archive_write_add_filter_uuencode :: Ptr Archive -> IO ArchiveError archive_write_add_filter_xz :: Ptr Archive -> IO ArchiveError archive_write_data :: Ptr Archive -> Ptr a -> CSize -> IO CSize archive_write_new :: IO (Ptr Archive) archive_write_free :: Ptr Archive -> IO ArchiveError archive_write_set_format_pax_restricted :: Ptr Archive -> IO ArchiveError archive_write_header :: Ptr Archive -> Ptr ArchiveEntry -> IO ArchiveError archive_write_set_format :: Ptr Archive -> ArchiveFormat -> IO ArchiveError archive_write_set_format_by_name :: Ptr Archive -> CString -> IO ArchiveError archive_write_set_format_7zip :: Ptr Archive -> IO ArchiveError archive_write_set_format_ar_bsd :: Ptr Archive -> IO ArchiveError archive_write_set_format_ar_svr4 :: Ptr Archive -> IO ArchiveError archive_write_set_format_cpio :: Ptr Archive -> IO ArchiveError archive_write_set_format_cpio_newc :: Ptr Archive -> IO ArchiveError archive_write_set_format_gnutar :: Ptr Archive -> IO ArchiveError archive_write_set_format_iso9660 :: Ptr Archive -> IO ArchiveError archive_write_set_format_mtree :: Ptr Archive -> IO ArchiveError archive_write_set_format_mtree_classic :: Ptr Archive -> IO ArchiveError archive_write_set_format_pax :: Ptr Archive -> IO ArchiveError archive_write_set_format_raw :: Ptr Archive -> IO ArchiveError archive_write_set_format_shar :: Ptr Archive -> IO ArchiveError archive_write_set_format_shar_dump :: Ptr Archive -> IO ArchiveError archive_write_set_format_ustar :: Ptr Archive -> IO ArchiveError archive_write_set_format_v7tar :: Ptr Archive -> IO ArchiveError archive_write_set_format_warc :: Ptr Archive -> IO ArchiveError archive_write_set_format_xar :: Ptr Archive -> IO ArchiveError archive_write_set_format_zip :: Ptr Archive -> IO ArchiveError archive_write_set_format_filter_by_ext :: Ptr Archive -> CString -> IO ArchiveError archive_write_set_format_filter_by_ext_def :: Ptr Archive -> CString -> CString -> IO ArchiveError archive_write_zip_set_compression_deflate :: Ptr Archive -> IO ArchiveError archive_write_zip_set_compression_store :: Ptr Archive -> IO ArchiveError archive_write_open :: Ptr Archive -> Ptr a -> FunPtr (ArchiveOpenCallback a) -> FunPtr (ArchiveWriteCallback a b) -> FunPtr (ArchiveCloseCallback a) -> IO ArchiveError archive_write_open_fd :: Ptr Archive -> Fd -> IO ArchiveError archive_write_open_filename :: Ptr Archive -> CString -> IO ArchiveError archive_write_open_filename_w :: Ptr Archive -> CWString -> IO ArchiveError archive_write_open_memory :: Ptr Archive -> Ptr a -> CSize -> Ptr CSize -> IO ArchiveError archive_write_data_block :: Ptr Archive -> Ptr a -> CSize -> Int64 -> IO ArchiveError archive_write_finish_entry :: Ptr Archive -> IO ArchiveError archive_write_close :: Ptr Archive -> IO ArchiveError archive_write_fail :: Ptr Archive -> IO ArchiveError archive_write_set_format_option :: Ptr Archive -> CString -> CString -> CString -> IO ArchiveError archive_write_set_filter_option :: Ptr Archive -> CString -> CString -> CString -> IO ArchiveError archive_write_set_option :: Ptr Archive -> CString -> CString -> CString -> IO ArchiveError archive_write_set_options :: Ptr Archive -> CString -> IO ArchiveError archive_write_set_passphrase :: Ptr Archive -> CString -> IO ArchiveError archive_write_set_passphrase_callback :: Ptr Archive -> Ptr a -> FunPtr (ArchivePassphraseCallback a) -> IO ArchiveError archive_write_disk_new :: IO (Ptr Archive) archive_write_disk_set_skip_file :: Ptr Archive -> Int64 -> Int64 -> IO ArchiveError archive_write_disk_set_options :: Ptr Archive -> Flags -> IO ArchiveError archive_write_disk_set_standard_lookup :: Ptr Archive -> IO ArchiveError archive_write_disk_set_group_lookup :: Ptr Archive -> Ptr a -> FunPtr (Ptr a -> CString -> Int64 -> IO Int64) -> FunPtr (Ptr a -> IO ()) -> IO ArchiveError archive_write_disk_set_user_lookup :: Ptr Archive -> Ptr a -> FunPtr (Ptr a -> CString -> Int64 -> IO Int64) -> FunPtr (Ptr a -> IO ()) -> IO ArchiveError archive_write_disk_gid :: Ptr Archive -> CString -> Int64 -> IO Int64 archive_write_disk_uid :: Ptr Archive -> CString -> Int64 -> IO Int64 archive_errno :: Ptr Archive -> IO CInt archive_error_string :: Ptr Archive -> IO CString archive_format_name :: Ptr Archive -> IO CString archive_format :: Ptr Archive -> IO ArchiveFormat archive_clear_error :: Ptr Archive -> IO () archive_set_error :: Ptr Archive -> CInt -> CString -> IO () archive_copy_error :: Ptr Archive -> Ptr Archive -> IO () archive_file_count :: Ptr Archive -> IO CInt archive_match_new :: Ptr Archive archive_match_free :: Ptr Archive -> IO ArchiveError archiveMatchExcluded :: Ptr Archive -> IO Bool archiveMatchPathExcluded :: Ptr Archive -> Ptr ArchiveEntry -> IO Bool archive_match_exclude_pattern :: Ptr Archive -> CString -> IO ArchiveError archive_match_exclude_pattern_w :: Ptr Archive -> CWString -> IO ArchiveError archiveMatchExcludePatternFromFile :: Ptr Archive -> CString -> Bool -> IO ArchiveError archiveMatchExcludePatternFromFileW :: Ptr Archive -> CWString -> Bool -> IO ArchiveError archive_match_include_pattern :: Ptr Archive -> CString -> IO ArchiveError archive_match_include_pattern_w :: Ptr Archive -> CWString -> IO ArchiveError archiveMatchIncludePatternFromFile :: Ptr Archive -> CString -> Bool -> IO ArchiveError archiveMatchIncludePatternFromFileW :: Ptr Archive -> CString -> Bool -> IO ArchiveError archive_match_path_unmatched_inclusions :: Ptr Archive -> IO CInt archive_match_path_unmatched_inclusions_next :: Ptr Archive -> Ptr CString -> IO ArchiveError archive_match_path_unmatched_inclusions_next_w :: Ptr Archive -> Ptr CWString -> IO ArchiveError archiveMatchTimeExcluded :: Ptr Archive -> Ptr ArchiveEntry -> IO Bool archive_match_include_time :: Ptr Archive -> TimeFlag -> CTime -> CLong -> IO ArchiveError archive_match_include_date :: Ptr Archive -> TimeFlag -> CString -> IO ArchiveError archive_match_include_date_w :: Ptr Archive -> TimeFlag -> CWString -> IO ArchiveError archive_match_include_file_time :: Ptr Archive -> TimeFlag -> CString -> IO ArchiveError archive_match_include_file_time_w :: Ptr Archive -> TimeFlag -> CWString -> IO ArchiveError archive_match_exclude_entry :: Ptr Archive -> TimeFlag -> Ptr ArchiveEntry -> IO ArchiveError archiveMatchOwnerExcluded :: Ptr Archive -> Ptr ArchiveEntry -> IO Bool archive_match_include_uid :: Ptr Archive -> Id -> IO ArchiveError archive_match_include_gid :: Ptr Archive -> Id -> IO ArchiveError archive_match_include_uname :: Ptr Archive -> CString -> IO ArchiveError archive_match_include_uname_w :: Ptr Archive -> CWString -> IO ArchiveError archive_match_include_gname :: Ptr Archive -> CString -> IO ArchiveError archive_match_include_gname_w :: Ptr Archive -> CWString -> IO ArchiveError archive_version_number :: CInt archive_version_string :: CString archive_version_details :: CString archive_free :: Ptr Archive -> IO ArchiveError archive_filter_count :: Ptr Archive -> IO CInt archive_filter_bytes :: Ptr Archive -> CInt -> Int64 archive_filter_code :: Ptr Archive -> CInt -> IO Int archive_filter_name :: Ptr Archive -> CInt -> IO CString archiveVersionNumber :: Int archiveVersionOnlyString :: String archiveVersionString :: String archiveReadFormatCapsNone :: ArchiveCapabilities archiveReadFormatCapsEncryptData :: ArchiveCapabilities archiveReadFormatCapsEncryptMetadata :: ArchiveCapabilities archiveOk :: ArchiveError archiveEOF :: ArchiveError archiveRetry :: ArchiveError archiveWarn :: ArchiveError archiveFailed :: ArchiveError archiveFatal :: ArchiveError archiveMatchMTime :: TimeFlag archiveMatchCTime :: TimeFlag archiveMatchNewer :: TimeFlag archiveMatchOlder :: TimeFlag archiveMatchEqual :: TimeFlag archiveExtractOwner :: Flags archiveExtractPerm :: Flags archiveExtractTime :: Flags archiveExtractNoOverwrite :: Flags archiveExtractUnlink :: Flags archiveExtractACL :: Flags archiveExtractFFlags :: Flags archiveExtractXattr :: Flags archiveExtractSecureSymlinks :: Flags archiveExtractSecureNoDotDot :: Flags archiveExtractNoAutodir :: Flags archiveExtractSparse :: Flags archiveExtractMacMetadata :: Flags archiveExtractNoHfsCompression :: Flags archiveExtractHfsCompressionForced :: Flags archiveExtractSecureNoAbsolutePaths :: Flags archiveExtractClearNoChangeFFlags :: Flags archiveFilterNone :: ArchiveFilter archiveFilterGzip :: ArchiveFilter archiveFilterBzip2 :: ArchiveFilter archiveFilterCompress :: ArchiveFilter archiveFilterProgram :: ArchiveFilter archiveFilterLzma :: ArchiveFilter archiveFilterXz :: ArchiveFilter archiveFilterUu :: ArchiveFilter archiveFilterRpm :: ArchiveFilter archiveFilterLzip :: ArchiveFilter archiveFilterLrzip :: ArchiveFilter archiveFilterLzop :: ArchiveFilter archiveFilterGrzip :: ArchiveFilter archiveFilterLz4 :: ArchiveFilter archiveFormatCpio :: ArchiveFormat archiveFormatShar :: ArchiveFormat archiveFormatTar :: ArchiveFormat archiveFormatIso9660 :: ArchiveFormat archiveFormatZip :: ArchiveFormat archiveFormatEmpty :: ArchiveFormat archiveFormatAr :: ArchiveFormat archiveFormatMtree :: ArchiveFormat archiveFormatRaw :: ArchiveFormat archiveFormatXar :: ArchiveFormat archiveFormatLha :: ArchiveFormat archiveFormatCab :: ArchiveFormat archiveFormatRar :: ArchiveFormat archiveFormat7zip :: ArchiveFormat archiveFormatWarc :: ArchiveFormat archiveReadDiskRestoreATime :: ReadDiskFlags archiveReadDiskHonorNoDump :: ReadDiskFlags archiveReadDiskMacCopyFile :: ReadDiskFlags archiveReadDiskNoTraverseMounts :: ReadDiskFlags archiveReadDiskNoXattr :: ReadDiskFlags -- | Abstract type data Archive data ArchiveEncryption HasEncryption :: ArchiveEncryption NoEncryption :: ArchiveEncryption EncryptionUnsupported :: ArchiveEncryption EncryptionUnknown :: ArchiveEncryption data ArchiveError data Flags data ArchiveFilter data ArchiveFormat data ArchiveCapabilities data ReadDiskFlags data TimeFlag type ArchiveReadCallback a b = Ptr Archive -> Ptr a -> Ptr (Ptr b) -> IO CSize type ArchiveSkipCallback a = Ptr Archive -> Ptr a -> Int64 -> IO Int64 type ArchiveSeekCallback a = Ptr Archive -> Ptr a -> Int64 -> CInt -> IO Int64 type ArchiveWriteCallback a b = Ptr Archive -> Ptr a -> Ptr b -> CSize -> IO CSize type ArchiveOpenCallback a = Ptr Archive -> Ptr a -> IO ArchiveError type ArchiveCloseCallback a = Ptr Archive -> Ptr a -> IO ArchiveError type ArchiveSwitchCallback a b = Ptr Archive -> Ptr a -> Ptr b -> IO ArchiveError type ArchivePassphraseCallback a = Ptr Archive -> Ptr a -> IO CString mkReadCallback :: ArchiveReadCallback a b -> IO (FunPtr (ArchiveReadCallback a b)) mkSkipCallback :: ArchiveSkipCallback a -> IO (FunPtr (ArchiveSkipCallback a)) mkSeekCallback :: ArchiveSeekCallback a -> IO (FunPtr (ArchiveSeekCallback a)) mkWriteCallback :: ArchiveWriteCallback a b -> IO (FunPtr (ArchiveWriteCallback a b)) mkOpenCallback :: ArchiveOpenCallback a -> IO (FunPtr (ArchiveOpenCallback a)) mkCloseCallback :: ArchiveCloseCallback a -> IO (FunPtr (ArchiveCloseCallback a)) mkSwitchCallback :: ArchiveSwitchCallback a b -> IO (FunPtr (ArchiveSwitchCallback a b)) mkPassphraseCallback :: ArchivePassphraseCallback a -> IO (FunPtr (ArchivePassphraseCallback a)) mkWriteLookup :: (Ptr a -> CString -> Int64 -> IO Int64) -> IO (FunPtr (Ptr a -> CString -> Int64 -> IO Int64)) mkReadLookup :: (Ptr a -> Int64 -> IO CString) -> IO (FunPtr (Ptr a -> Int64 -> IO CString)) mkCleanup :: (Ptr a -> IO ()) -> IO (FunPtr (Ptr a -> IO ())) mkMatch :: (Ptr Archive -> Ptr a -> Ptr ArchiveEntry -> IO ()) -> IO (FunPtr (Ptr Archive -> Ptr a -> Ptr ArchiveEntry -> IO ())) mkFilter :: (Ptr Archive -> Ptr a -> Ptr ArchiveEntry -> IO Bool) -> IO (FunPtr (Ptr Archive -> Ptr a -> Ptr ArchiveEntry -> IO CInt)) -- | Everything here is stateful and hence takes place in the IO -- monad. -- -- Consult archive.h or archive_entry.h for -- documentation. Functions that are deprecated in the C API are not -- exposed here at all. module Codec.Archive.Foreign -- | This module contains higher-level functions for working with archives -- in Haskell. See Codec.Archive.Foreign for direct bindings to -- libarchive. module Codec.Archive unpackToDir :: FilePath -> ByteString -> IO () -- | This is more efficient than -- --
-- unpackToDir "llvm" =<< BS.readFile "llvm.tar" --unpackArchive :: FilePath -> FilePath -> IO () -- | Write some entries to a file, creating a tar archive. This is more -- efficient than -- --
-- BS.writeFile "file.tar" (entriesToBS entries) --entriesToFile :: Foldable t => FilePath -> t Entry -> IO () -- | Write some entries to a file, creating a zip archive. entriesToFileZip :: Foldable t => FilePath -> t Entry -> IO () -- | Write some entries to a file, creating a .7z archive. entriesToFile7Zip :: Foldable t => FilePath -> t Entry -> IO () -- | Returns a ByteString containing a tar archive with the -- Entrys entriesToBS :: Foldable t => t Entry -> ByteString -- | Returns a ByteString containing a .7z archive with the -- Entrys entriesToBS7zip :: Foldable t => t Entry -> ByteString -- | Returns a ByteString containing a zip archive with the -- Entrys entriesToBSzip :: Foldable t => t Entry -> ByteString -- | Read an archive from a file. The format of the archive is -- automatically detected. readArchiveFile :: FilePath -> IO [Entry] -- | Read an archive contained in a ByteString. The format of the -- archive is automatically detected. readArchiveBS :: ByteString -> [Entry] data Entry Entry :: !FilePath -> !EntryContent -> !Permissions -> !Ownership -> !ModTime -> Entry [filepath] :: Entry -> !FilePath [content] :: Entry -> !EntryContent [permissions] :: Entry -> !Permissions [ownership] :: Entry -> !Ownership [time] :: Entry -> !ModTime data EntryContent NormalFile :: !ByteString -> EntryContent Directory :: EntryContent Symlink :: !FilePath -> EntryContent data Ownership Ownership :: !String -> !String -> !Id -> !Id -> Ownership [userName] :: Ownership -> !String [groupName] :: Ownership -> !String [ownerId] :: Ownership -> !Id [groupId] :: Ownership -> !Id type Permissions = CMode type ModTime = (CTime, CLong) -- | A user or group ID type Id = Int64 standardPermissions :: Permissions executablePermissions :: Permissions