module Bindings.APR.Time where
import Foreign.Ptr (Ptr,FunPtr,plusPtr)
import Foreign.Ptr (wordPtrToPtr,castPtrToFunPtr)
import Foreign.Storable
import Foreign.C.Types
import Foreign.C.String (CString,CStringLen,CWString,CWStringLen)
import Foreign.Marshal.Alloc (alloca)
import Foreign.Marshal.Array (peekArray,pokeArray)
import Data.Int
import Data.Word
import Bindings.APR
import Bindings.APR.ErrNo
import Bindings.APR.Pools
foreign import ccall "&apr_month_snames" p'apr_month_snames
:: Ptr (Ptr (Ptr CChar))
foreign import ccall "&apr_day_snames" p'apr_day_snames
:: Ptr (Ptr (Ptr CChar))
type C'apr_time_t = Int64
foreign import ccall "array_APR_TIME_T_FMT" c'APR_TIME_T_FMT
:: Ptr (CChar)
type C'apr_interval_time_t = Int64
type C'apr_short_interval_time_t = CInt
c'APR_USEC_PER_SEC = 1000000
c'APR_USEC_PER_SEC :: (Num a) => a
foreign import ccall "inline_apr_time_sec" c'apr_time_sec
:: C'apr_time_t -> IO C'apr_time_t
foreign import ccall "inline_apr_time_usec" c'apr_time_usec
:: C'apr_time_t -> IO C'apr_time_t
foreign import ccall "inline_apr_time_msec" c'apr_time_msec
:: C'apr_time_t -> IO C'apr_time_t
foreign import ccall "inline_apr_time_as_msec" c'apr_time_as_msec
:: C'apr_time_t -> IO C'apr_time_t
foreign import ccall "inline_apr_time_from_sec" c'apr_time_from_sec
:: C'apr_time_t -> IO C'apr_time_t
foreign import ccall "inline_apr_time_make" c'apr_time_make
:: C'apr_time_t -> C'apr_time_t -> IO C'apr_time_t
foreign import ccall "apr_time_now" c'apr_time_now
:: IO C'apr_time_t
foreign import ccall "&apr_time_now" p'apr_time_now
:: FunPtr (IO C'apr_time_t)
data C'apr_time_exp_t = C'apr_time_exp_t{
c'apr_time_exp_t'tm_usec :: C'apr_int32_t
,
c'apr_time_exp_t'tm_sec :: C'apr_int32_t
,
c'apr_time_exp_t'tm_min :: C'apr_int32_t
,
c'apr_time_exp_t'tm_hour :: C'apr_int32_t
,
c'apr_time_exp_t'tm_mday :: C'apr_int32_t
,
c'apr_time_exp_t'tm_mon :: C'apr_int32_t
,
c'apr_time_exp_t'tm_year :: C'apr_int32_t
,
c'apr_time_exp_t'tm_wday :: C'apr_int32_t
,
c'apr_time_exp_t'tm_yday :: C'apr_int32_t
,
c'apr_time_exp_t'tm_isdst :: C'apr_int32_t
,
c'apr_time_exp_t'tm_gmtoff :: C'apr_int32_t
} deriving (Eq,Show)
instance Storable C'apr_time_exp_t where
sizeOf _ = 44
alignment = sizeOf
peek p = do
v0 <- peekByteOff p 0
v1 <- peekByteOff p 4
v2 <- peekByteOff p 8
v3 <- peekByteOff p 12
v4 <- peekByteOff p 16
v5 <- peekByteOff p 20
v6 <- peekByteOff p 24
v7 <- peekByteOff p 28
v8 <- peekByteOff p 32
v9 <- peekByteOff p 36
v10 <- peekByteOff p 40
return $ C'apr_time_exp_t v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10
poke p (C'apr_time_exp_t v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10) = do
pokeByteOff p 0 v0
pokeByteOff p 4 v1
pokeByteOff p 8 v2
pokeByteOff p 12 v3
pokeByteOff p 16 v4
pokeByteOff p 20 v5
pokeByteOff p 24 v6
pokeByteOff p 28 v7
pokeByteOff p 32 v8
pokeByteOff p 36 v9
pokeByteOff p 40 v10
return ()
foreign import ccall "apr_time_ansi_put" c'apr_time_ansi_put
:: Ptr C'apr_time_t -> CTime -> IO C'apr_status_t
foreign import ccall "&apr_time_ansi_put" p'apr_time_ansi_put
:: FunPtr (Ptr C'apr_time_t -> CTime -> IO C'apr_status_t)
foreign import ccall "apr_time_exp_tz" c'apr_time_exp_tz
:: Ptr C'apr_time_exp_t -> C'apr_time_t -> C'apr_int32_t -> IO C'apr_status_t
foreign import ccall "&apr_time_exp_tz" p'apr_time_exp_tz
:: FunPtr (Ptr C'apr_time_exp_t -> C'apr_time_t -> C'apr_int32_t -> IO C'apr_status_t)
foreign import ccall "apr_time_exp_gmt" c'apr_time_exp_gmt
:: Ptr C'apr_time_exp_t -> C'apr_time_t -> IO C'apr_status_t
foreign import ccall "&apr_time_exp_gmt" p'apr_time_exp_gmt
:: FunPtr (Ptr C'apr_time_exp_t -> C'apr_time_t -> IO C'apr_status_t)
foreign import ccall "apr_time_exp_lt" c'apr_time_exp_lt
:: Ptr C'apr_time_exp_t -> C'apr_time_t -> IO C'apr_status_t
foreign import ccall "&apr_time_exp_lt" p'apr_time_exp_lt
:: FunPtr (Ptr C'apr_time_exp_t -> C'apr_time_t -> IO C'apr_status_t)
foreign import ccall "apr_time_exp_get" c'apr_time_exp_get
:: Ptr C'apr_time_t -> Ptr C'apr_time_exp_t -> IO C'apr_status_t
foreign import ccall "&apr_time_exp_get" p'apr_time_exp_get
:: FunPtr (Ptr C'apr_time_t -> Ptr C'apr_time_exp_t -> IO C'apr_status_t)
foreign import ccall "apr_time_exp_gmt_get" c'apr_time_exp_gmt_get
:: Ptr C'apr_time_t -> Ptr C'apr_time_exp_t -> IO C'apr_status_t
foreign import ccall "&apr_time_exp_gmt_get" p'apr_time_exp_gmt_get
:: FunPtr (Ptr C'apr_time_t -> Ptr C'apr_time_exp_t -> IO C'apr_status_t)
foreign import ccall "apr_sleep" c'apr_sleep
:: C'apr_interval_time_t -> IO ()
foreign import ccall "&apr_sleep" p'apr_sleep
:: FunPtr (C'apr_interval_time_t -> IO ())
c'APR_RFC822_DATE_LEN = 30
c'APR_RFC822_DATE_LEN :: (Num a) => a
foreign import ccall "apr_rfc822_date" c'apr_rfc822_date
:: Ptr CChar -> C'apr_time_t -> IO C'apr_status_t
foreign import ccall "&apr_rfc822_date" p'apr_rfc822_date
:: FunPtr (Ptr CChar -> C'apr_time_t -> IO C'apr_status_t)
c'APR_CTIME_LEN = 25
c'APR_CTIME_LEN :: (Num a) => a
foreign import ccall "apr_ctime" c'apr_ctime
:: Ptr CChar -> C'apr_time_t -> IO C'apr_status_t
foreign import ccall "&apr_ctime" p'apr_ctime
:: FunPtr (Ptr CChar -> C'apr_time_t -> IO C'apr_status_t)
foreign import ccall "apr_strftime" c'apr_strftime
:: Ptr CChar -> Ptr C'apr_size_t -> C'apr_size_t -> Ptr CChar -> Ptr C'apr_time_exp_t -> IO C'apr_status_t
foreign import ccall "&apr_strftime" p'apr_strftime
:: FunPtr (Ptr CChar -> Ptr C'apr_size_t -> C'apr_size_t -> Ptr CChar -> Ptr C'apr_time_exp_t -> IO C'apr_status_t)
foreign import ccall "apr_time_clock_hires" c'apr_time_clock_hires
:: Ptr C'apr_pool_t -> IO ()
foreign import ccall "&apr_time_clock_hires" p'apr_time_clock_hires
:: FunPtr (Ptr C'apr_pool_t -> IO ())