{-# LINE 1 "src/Codec/Archive/Foreign/Archive/Macros.chs" #-}
module Codec.Archive.Foreign.Archive.Macros ( archiveVersionNumberMacro
, archiveVersionOnlyString
, archiveVersionStringMacro
, archiveReadFormatCapsNone
, archiveReadFormatCapsEncryptData
, archiveReadFormatCapsEncryptMetadata
, archiveMatchMTime
, archiveMatchCTime
, archiveMatchNewer
, archiveMatchOlder
, archiveMatchEqual
, archiveExtractOwner
, archiveExtractPerm
, archiveExtractNoOverwrite
, archiveExtractUnlink
, archiveExtractACL
, archiveExtractFFlags
, archiveExtractXattr
, archiveExtractSecureSymlinks
, archiveExtractSecureNoDotDot
, archiveExtractTime
, archiveExtractNoAutodir
, archiveExtractSparse
, archiveExtractMacMetadata
, archiveExtractNoHfsCompression
, archiveExtractHfsCompressionForced
, archiveExtractSecureNoAbsolutePaths
, archiveExtractClearNoChangeFFlags
, archiveExtractNoOverwriteNewer
, archiveReadDiskRestoreATime
, archiveReadDiskHonorNoDump
, archiveReadDiskMacCopyFile
, archiveReadDiskNoTraverseMounts
, archiveReadDiskNoXattr
, archiveReadDiskNoAcl
, archiveReadDiskNoFFlags
, encryptionResult
) where
import Codec.Archive.Types
import Data.Bits (Bits (..))
import Foreign.C.Types
archiveVersionNumberMacro :: Int
archiveVersionNumberMacro = 3004000
{-# LINE 48 "src/Codec/Archive/Foreign/Archive/Macros.chs" #-}
archiveVersionOnlyString :: String
archiveVersionOnlyString = "3.4.0"
{-# LINE 51 "src/Codec/Archive/Foreign/Archive/Macros.chs" #-}
archiveVersionStringMacro :: String
archiveVersionStringMacro = "libarchive 3.4.0"
{-# LINE 54 "src/Codec/Archive/Foreign/Archive/Macros.chs" #-}
archiveExtractOwner :: Flags
archiveExtractOwner = Flags 0x1
{-# LINE 58 "src/Codec/Archive/Foreign/Archive/Macros.chs" #-}
archiveExtractPerm :: Flags
archiveExtractPerm = Flags 0x2
{-# LINE 61 "src/Codec/Archive/Foreign/Archive/Macros.chs" #-}
archiveExtractTime :: Flags
archiveExtractTime = Flags 0x4
{-# LINE 64 "src/Codec/Archive/Foreign/Archive/Macros.chs" #-}
archiveExtractNoOverwrite :: Flags
archiveExtractNoOverwrite = Flags 0x8
{-# LINE 67 "src/Codec/Archive/Foreign/Archive/Macros.chs" #-}
archiveExtractUnlink :: Flags
archiveExtractUnlink = Flags 0x10
{-# LINE 70 "src/Codec/Archive/Foreign/Archive/Macros.chs" #-}
archiveExtractACL :: Flags
archiveExtractACL = Flags 0x20
{-# LINE 73 "src/Codec/Archive/Foreign/Archive/Macros.chs" #-}
archiveExtractFFlags :: Flags
archiveExtractFFlags = Flags 0x40
{-# LINE 76 "src/Codec/Archive/Foreign/Archive/Macros.chs" #-}
archiveExtractXattr :: Flags
archiveExtractXattr = Flags 0x80
{-# LINE 79 "src/Codec/Archive/Foreign/Archive/Macros.chs" #-}
archiveExtractSecureSymlinks :: Flags
archiveExtractSecureSymlinks = Flags 0x100
{-# LINE 82 "src/Codec/Archive/Foreign/Archive/Macros.chs" #-}
archiveExtractSecureNoDotDot :: Flags
archiveExtractSecureNoDotDot = Flags 0x200
{-# LINE 85 "src/Codec/Archive/Foreign/Archive/Macros.chs" #-}
archiveExtractNoAutodir :: Flags
archiveExtractNoAutodir = Flags 0x400
{-# LINE 88 "src/Codec/Archive/Foreign/Archive/Macros.chs" #-}
archiveExtractNoOverwriteNewer :: Flags
archiveExtractNoOverwriteNewer = Flags 0x800
{-# LINE 91 "src/Codec/Archive/Foreign/Archive/Macros.chs" #-}
archiveExtractSparse :: Flags
archiveExtractSparse = Flags 0x1000
{-# LINE 94 "src/Codec/Archive/Foreign/Archive/Macros.chs" #-}
archiveExtractMacMetadata :: Flags
archiveExtractMacMetadata = Flags 0x2000
{-# LINE 97 "src/Codec/Archive/Foreign/Archive/Macros.chs" #-}
archiveExtractNoHfsCompression :: Flags
archiveExtractNoHfsCompression = Flags 0x4000
{-# LINE 100 "src/Codec/Archive/Foreign/Archive/Macros.chs" #-}
archiveExtractHfsCompressionForced :: Flags
archiveExtractHfsCompressionForced = Flags 0x8000
{-# LINE 103 "src/Codec/Archive/Foreign/Archive/Macros.chs" #-}
archiveExtractSecureNoAbsolutePaths :: Flags
archiveExtractSecureNoAbsolutePaths = Flags 0x10000
{-# LINE 106 "src/Codec/Archive/Foreign/Archive/Macros.chs" #-}
archiveExtractClearNoChangeFFlags :: Flags
archiveExtractClearNoChangeFFlags = Flags 0x20000
{-# LINE 109 "src/Codec/Archive/Foreign/Archive/Macros.chs" #-}
encryptionResult :: CInt -> ArchiveEncryption
encryptionResult 0 = NoEncryption
encryptionResult 1 = HasEncryption
encryptionResult (-2) = EncryptionUnsupported
encryptionResult (-1) = EncryptionUnknown
encryptionResult _ = error "Should not happen."
archiveReadFormatCapsNone :: ArchiveCapabilities
archiveReadFormatCapsNone = ArchiveCapabilities 0
{-# LINE 119 "src/Codec/Archive/Foreign/Archive/Macros.chs" #-}
(<<) :: Bits a => a -> Int -> a
m << n = m `shift` n
archiveReadFormatCapsEncryptData :: ArchiveCapabilities
archiveReadFormatCapsEncryptData = ArchiveCapabilities (1 << 0)
archiveReadFormatCapsEncryptMetadata :: ArchiveCapabilities
archiveReadFormatCapsEncryptMetadata = ArchiveCapabilities (1 << 0)
archiveReadDiskRestoreATime :: ReadDiskFlags
archiveReadDiskRestoreATime = ReadDiskFlags 0x1
{-# LINE 131 "src/Codec/Archive/Foreign/Archive/Macros.chs" #-}
archiveReadDiskHonorNoDump :: ReadDiskFlags
archiveReadDiskHonorNoDump = ReadDiskFlags 0x2
{-# LINE 134 "src/Codec/Archive/Foreign/Archive/Macros.chs" #-}
archiveReadDiskMacCopyFile :: ReadDiskFlags
archiveReadDiskMacCopyFile = ReadDiskFlags 0x4
{-# LINE 137 "src/Codec/Archive/Foreign/Archive/Macros.chs" #-}
archiveReadDiskNoTraverseMounts :: ReadDiskFlags
archiveReadDiskNoTraverseMounts = ReadDiskFlags 0x8
{-# LINE 140 "src/Codec/Archive/Foreign/Archive/Macros.chs" #-}
archiveReadDiskNoXattr :: ReadDiskFlags
archiveReadDiskNoXattr = ReadDiskFlags 0x10
{-# LINE 143 "src/Codec/Archive/Foreign/Archive/Macros.chs" #-}
archiveReadDiskNoAcl :: ReadDiskFlags
archiveReadDiskNoAcl = ReadDiskFlags 0x20
{-# LINE 147 "src/Codec/Archive/Foreign/Archive/Macros.chs" #-}
archiveReadDiskNoFFlags :: ReadDiskFlags
archiveReadDiskNoFFlags = ReadDiskFlags 0x40
{-# LINE 151 "src/Codec/Archive/Foreign/Archive/Macros.chs" #-}
archiveMatchMTime :: TimeFlag
archiveMatchMTime = TimeFlag 0x100
{-# LINE 154 "src/Codec/Archive/Foreign/Archive/Macros.chs" #-}
archiveMatchCTime :: TimeFlag
archiveMatchCTime = TimeFlag 0x200
{-# LINE 157 "src/Codec/Archive/Foreign/Archive/Macros.chs" #-}
archiveMatchNewer :: TimeFlag
archiveMatchNewer = TimeFlag 0x1
{-# LINE 160 "src/Codec/Archive/Foreign/Archive/Macros.chs" #-}
archiveMatchOlder :: TimeFlag
archiveMatchOlder = TimeFlag 0x2
{-# LINE 163 "src/Codec/Archive/Foreign/Archive/Macros.chs" #-}
archiveMatchEqual :: TimeFlag
archiveMatchEqual = TimeFlag 0x10
{-# LINE 166 "src/Codec/Archive/Foreign/Archive/Macros.chs" #-}