]> gitweb.michael.orlitzky.com - dead/htnef.git/blob - src/tnef/object_lvl.hs
Initial commit.
[dead/htnef.git] / src / tnef / object_lvl.hs
1 --
2 -- Copyright Michael Orlitzky
3 --
4 -- http://michael.orlitzky.com/
5 --
6 -- This program is free software: you can redistribute it and/or modify
7 -- it under the terms of the GNU General Public License as published by
8 -- the Free Software Foundation, either version 3 of the License, or
9 -- (at your option) any later version.
10 --
11 -- This program is distributed in the hope that it will be useful,
12 -- but WITHOUT ANY WARRANTY; without even the implied warranty of
13 -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 -- GNU General Public License for more details.
15 --
16 -- http://www.fsf.org/licensing/licenses/gpl.html
17 --
18
19 module Tnef.ObjectLvl where
20
21 import Data.Word
22
23 -- TNEF "Levels". Not sure why they're special, but
24 -- one is attached to every TnefObject.
25 data TnefObjectLvl = TnefObjectLvl { code :: Integer,
26 desc :: String }
27 instance Show TnefObjectLvl where
28 show = desc
29
30
31 tnef_object_lvls :: [TnefObjectLvl]
32 tnef_object_lvls = [ TnefObjectLvl 0x01 "Message",
33 TnefObjectLvl 0x02 "Attachment" ]
34
35 -- I want to marry list comprehensions
36 word_to_lvl :: Word8 -> TnefObjectLvl
37 word_to_lvl c = head [ x | x <- tnef_object_lvls, (code x) == read (show c)]