module Bindings.C (
Timeval
) where
import Foreign.C
import Foreign
import Data.Int
data Timeval = Timeval {timeval'tv_sec, timeval'tv_usec :: CLong}
instance Storable Timeval where
sizeOf _ = fromIntegral size_of_timeval
alignment = sizeOf
peek p =
with 0 $ \p1 ->
with 0 $ \p2 ->
c2hs_timeval p p1 p2 >>
peek p1 >>= \v1 ->
peek p2 >>= \v2 ->
return $ Timeval {timeval'tv_sec = v1, timeval'tv_usec = v2}
poke p v = hs2c_timeval p (timeval'tv_sec v) (timeval'tv_usec v)
foreign import ccall "size_of_timeval" size_of_timeval
:: CInt
foreign import ccall "hs2c_timeval" hs2c_timeval
:: Ptr Timeval -> CLong -> CLong -> IO ()
foreign import ccall "c2hs_timeval" c2hs_timeval
:: Ptr Timeval -> Ptr CLong -> Ptr CLong -> IO ()