module System.Hardware.Serialport (
CommSpeed(..)
,StopBits(..)
,Parity(..)
,FlowControl(..)
,SerialPort
,SerialPortSettings(..)
,defaultSerialSettings
,setSerialSettings
,getSerialSettings
,openSerial
,closeSerial
,withSerial
,sendChar
,sendString
,recvChar
,recvString
,flush
,setDTR
,setRTS
) where
#if defined(mingw32_HOST_OS)
import System.Hardware.Serialport.Windows
#else
import System.Hardware.Serialport.Posix
#endif
import System.Hardware.Serialport.Types
withSerial :: String -> SerialPortSettings -> ( SerialPort -> IO a ) -> IO a
withSerial dev settings f = do
s <- openSerial dev settings
res <- f s
closeSerial s
return res