--- /dev/null
+#include <bindings.dsl.h>
+#include <apr_time.h>
+
+module Bindings.APR.Time where
+#strict_import
+import Bindings.APR
+import Bindings.APR.ErrNo
+import Bindings.APR.Pools
+
+-- Isn't there a better way than this?
+#pointer apr_month_snames
+#pointer apr_day_snames
+
+#integral_t apr_time_t
+#pointer APR_TIME_T_FMT
+
+#integral_t apr_interval_time_t
+#integral_t apr_short_interval_time_t
+
+#num APR_USEC_PER_SEC
+
+#cinline apr_time_sec , <apr_time_t> -> IO <apr_time_t>
+#cinline apr_time_usec, <apr_time_t> -> IO <apr_time_t>
+#cinline apr_time_msec, <apr_time_t> -> IO <apr_time_t>
+#cinline apr_time_as_msec , <apr_time_t> -> IO <apr_time_t>
+#cinline apr_time_from_sec, <apr_time_t> -> IO <apr_time_t>
+#cinline apr_time_make, <apr_time_t> -> <apr_time_t> -> IO <apr_time_t>
+
+#ccall apr_time_now, IO <apr_time_t>
+
+#starttype struct apr_time_exp_t
+# field tm_usec, <apr_int32_t>
+# field tm_sec , <apr_int32_t>
+# field tm_min , <apr_int32_t>
+# field tm_hour, <apr_int32_t>
+# field tm_mday, <apr_int32_t>
+# field tm_mon , <apr_int32_t>
+# field tm_year, <apr_int32_t>
+# field tm_wday, <apr_int32_t>
+# field tm_yday, <apr_int32_t>
+# field tm_isdst , <apr_int32_t>
+# field tm_gmtoff, <apr_int32_t>
+#stoptype
+
+#ccall apr_time_ansi_put, Ptr <apr_time_t> -> CTime -> IO <apr_status_t>
+
+#ccall apr_time_exp_tz , Ptr <apr_time_exp_t> -> <apr_time_t> -> <apr_int32_t> -> IO <apr_status_t>
+#ccall apr_time_exp_gmt, Ptr <apr_time_exp_t> -> <apr_time_t> -> IO <apr_status_t>
+#ccall apr_time_exp_lt , Ptr <apr_time_exp_t> -> <apr_time_t> -> IO <apr_status_t>
+#ccall apr_time_exp_get , Ptr <apr_time_t> -> Ptr <apr_time_exp_t> -> IO <apr_status_t>
+#ccall apr_time_exp_gmt_get, Ptr <apr_time_t> -> Ptr <apr_time_exp_t> -> IO <apr_status_t>
+
+#ccall apr_sleep, <apr_interval_time_t> -> IO ()
+
+#num APR_RFC822_DATE_LEN
+#ccall apr_rfc822_date, Ptr CChar -> <apr_time_t> -> IO <apr_status_t>
+
+#num APR_CTIME_LEN
+#ccall apr_ctime, Ptr CChar -> <apr_time_t> -> IO <apr_status_t>
+
+#ccall apr_strftime, Ptr CChar -> Ptr <apr_size_t> -> <apr_size_t> -> Ptr CChar -> Ptr <apr_time_exp_t> -> IO <apr_status_t>
+
+#ccall apr_time_clock_hires, Ptr <apr_pool_t> -> IO ()