{-# OPTIONS -cpp #-}
-----------------------------------------------------------------------------
-- |
-- Module      :  System.RawDevice
-- 
-- Maintainer  :  Isaac Jones <ijones@galois.com>
-- Stability   :  alpha
-- Portability :  GHC
--
-- Imports whatever RawDevice module we actually want.

module System.RawDevice 
       ( RawDevice     -- no constructor
       , makeRawDevice
       , blocksInDevice
       , finalizeDevice
       , newDevice
       , devBufferRead
       , devBufferWrite
       , BufferBlockHandle
       , newBufferBlockHandle
       , checkBufferBlockHandleSize
       , zeroBufferBlockHandle 
       , invalidateBufferBlockHandle 
       ) where

import System.RawDevice.File
                        ( RawDevice -- no constructor
                        , makeRawDevice
                        , blocksInDevice
                        , finalizeDevice
                        , newDevice
                        , devBufferWrite
			)

import System.RawDevice.File (devBufferRead)
import System.RawDevice.Base (BufferBlockHandle, newBufferBlockHandle, checkBufferBlockHandleSize,
		zeroBufferBlockHandle, invalidateBufferBlockHandle)
-- import Control.Concurrent (readMVar)
-- import Control.Monad.Error(throwError)
-- import System.IO.Error (mkIOError, fullErrorType)