----------------------------------------------------------------------------- -- | -- Module : Halfs.BuiltInFiles -- -- Maintainer : Isaac Jones -- Stability : alpha -- Portability : GHC -- -- Several files are built-in and this module represents reading them. module Halfs.BuiltInFiles (readInodeMapFile ,readBlockMapFile ) where import Halfs.BasicIO (readInodeMapBin, readBlockMapBin) import Halfs.Inode(Inode) import Halfs.FSState (FSRead) import Halfs.TheInodeMap (TheInodeMap(..)) import Halfs.TheBlockMap(TheBlockMap(..)) import Halfs.FileHandle (readFileFromInode) -- |Reads it as a file. readInodeMapFile :: Inode -> FSRead TheInodeMap readInodeMapFile inode = readFileFromInode readInodeMapBin inode -- |Reads it as a file. readBlockMapFile :: Inode -> FSRead TheBlockMap readBlockMapFile bmInode' = readFileFromInode readBlockMapBin bmInode' {- Might be useful sometime: readFileFromHandle :: (BinHandle -> FSRead a) -> FileHandle -> FSRead a readFileFromHandle f (FileHandle{fhInode=i}) = readFileFromInode f i -- |For assertion checking justSame :: (Eq a) => a -> (b, a) -> Bool justSame r (_, numRead) = r == numRead -}