{-# LINE 1 "Magic/Data.hsc" #-}
-- AUTO-GENERATED FILE, DO NOT EDIT.  GENERATED BY utils/genconsts.hs
{-# LINE 2 "Magic/Data.hsc" #-}
{- |
   Module     : Magic.Data
   Copyright  : Copyright (C) 2005 John Goerzen
   License    : BSD

   Maintainer : John Goerzen,
   Maintainer : jgoerzen\@complete.org
   Stability  : provisional
   Portability: portable

Haskell types for libmagic constants

Written by John Goerzen, jgoerzen\@complete.org
-}

module Magic.Data (module Magic.Data) where


{-# LINE 20 "Magic/Data.hsc" #-}


data MagicFlag =
   MagicNone
 | MagicDebug
 | MagicSymlink
 | MagicCompress
 | MagicDevices
 | MagicMime
 | MagicContinue
 | MagicCheck
 | MagicPreserveAtime
 | MagicRaw
 | MagicError
 | UnknownMagicFlag Int

 deriving (Show)

instance Enum MagicFlag where
 toEnum (0) = MagicNone
{-# LINE 40 "Magic/Data.hsc" #-}
 toEnum (1) = MagicDebug
{-# LINE 41 "Magic/Data.hsc" #-}
 toEnum (2) = MagicSymlink
{-# LINE 42 "Magic/Data.hsc" #-}
 toEnum (4) = MagicCompress
{-# LINE 43 "Magic/Data.hsc" #-}
 toEnum (8) = MagicDevices
{-# LINE 44 "Magic/Data.hsc" #-}
 toEnum (1040) = MagicMime
{-# LINE 45 "Magic/Data.hsc" #-}
 toEnum (32) = MagicContinue
{-# LINE 46 "Magic/Data.hsc" #-}
 toEnum (64) = MagicCheck
{-# LINE 47 "Magic/Data.hsc" #-}
 toEnum (128) = MagicPreserveAtime
{-# LINE 48 "Magic/Data.hsc" #-}
 toEnum (256) = MagicRaw
{-# LINE 49 "Magic/Data.hsc" #-}
 toEnum (512) = MagicError
{-# LINE 50 "Magic/Data.hsc" #-}
 toEnum x = UnknownMagicFlag x

 fromEnum MagicNone = (0)
{-# LINE 53 "Magic/Data.hsc" #-}
 fromEnum MagicDebug = (1)
{-# LINE 54 "Magic/Data.hsc" #-}
 fromEnum MagicSymlink = (2)
{-# LINE 55 "Magic/Data.hsc" #-}
 fromEnum MagicCompress = (4)
{-# LINE 56 "Magic/Data.hsc" #-}
 fromEnum MagicDevices = (8)
{-# LINE 57 "Magic/Data.hsc" #-}
 fromEnum MagicMime = (1040)
{-# LINE 58 "Magic/Data.hsc" #-}
 fromEnum MagicContinue = (32)
{-# LINE 59 "Magic/Data.hsc" #-}
 fromEnum MagicCheck = (64)
{-# LINE 60 "Magic/Data.hsc" #-}
 fromEnum MagicPreserveAtime = (128)
{-# LINE 61 "Magic/Data.hsc" #-}
 fromEnum MagicRaw = (256)
{-# LINE 62 "Magic/Data.hsc" #-}
 fromEnum MagicError = (512)
{-# LINE 63 "Magic/Data.hsc" #-}
 fromEnum (UnknownMagicFlag x) = x

instance Ord MagicFlag where
 compare x y = compare (fromEnum x) (fromEnum y)

instance Eq MagicFlag where
 x == y = (fromEnum x) == (fromEnum y)