File: Data.hsc

package info (click to toggle)
magic-haskell 1.1-13
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 84 kB
  • sloc: haskell: 14; makefile: 2
file content (77 lines) | stat: -rw-r--r-- 2,234 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
-- AUTO-GENERATED FILE, DO NOT EDIT.  GENERATED BY utils/genconsts.hs
{- |
   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

#include "magic.h"


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

 deriving (Show)

instance Enum MagicFlag where
 toEnum (#{const MAGIC_NONE}) = MagicNone
 toEnum (#{const MAGIC_DEBUG}) = MagicDebug
 toEnum (#{const MAGIC_SYMLINK}) = MagicSymlink
 toEnum (#{const MAGIC_COMPRESS}) = MagicCompress
 toEnum (#{const MAGIC_DEVICES}) = MagicDevices
 toEnum (#{const MAGIC_MIME_TYPE}) = MagicMimeType
 toEnum (#{const MAGIC_MIME_ENCODING}) = MagicMimeEncoding
 toEnum (#{const MAGIC_MIME}) = MagicMime
 toEnum (#{const MAGIC_CONTINUE}) = MagicContinue
 toEnum (#{const MAGIC_CHECK}) = MagicCheck
 toEnum (#{const MAGIC_PRESERVE_ATIME}) = MagicPreserveAtime
 toEnum (#{const MAGIC_RAW}) = MagicRaw
 toEnum (#{const MAGIC_ERROR}) = MagicError
 toEnum x = UnknownMagicFlag x

 fromEnum MagicNone = (#{const MAGIC_NONE})
 fromEnum MagicDebug = (#{const MAGIC_DEBUG})
 fromEnum MagicSymlink = (#{const MAGIC_SYMLINK})
 fromEnum MagicCompress = (#{const MAGIC_COMPRESS})
 fromEnum MagicDevices = (#{const MAGIC_DEVICES})
 fromEnum MagicMimeType = (#{const MAGIC_MIME_TYPE})
 fromEnum MagicMimeEncoding = (#{const MAGIC_MIME_ENCODING})
 fromEnum MagicMime = (#{const MAGIC_MIME})
 fromEnum MagicContinue = (#{const MAGIC_CONTINUE})
 fromEnum MagicCheck = (#{const MAGIC_CHECK})
 fromEnum MagicPreserveAtime = (#{const MAGIC_PRESERVE_ATIME})
 fromEnum MagicRaw = (#{const MAGIC_RAW})
 fromEnum MagicError = (#{const MAGIC_ERROR})
 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)