--- /dev/null
+#include <bindings.dsl.h>
+#include <apr_reslist.h>
+
+module Bindings.APR.ResList where
+#strict_import
+import Bindings.APR
+import Bindings.APR.ErrNo
+import Bindings.APR.Pools
+import Bindings.APR.Time
+
+#if APR_HAS_THREADS
+# opaque_t apr_reslist_t
+# callback apr_reslist_constructor, Ptr (Ptr ()) -> Ptr () -> Ptr <apr_pool_t> -> IO <apr_status_t>
+# callback apr_reslist_destructor , Ptr () -> Ptr () -> Ptr <apr_pool_t> -> IO <apr_status_t>
+
+# ccall apr_reslist_create , Ptr (Ptr <apr_reslist_t>) -> CInt -> CInt -> CInt -> <apr_interval_time_t> -> <apr_reslist_constructor> -> <apr_reslist_destructor> -> Ptr () -> Ptr <apr_pool_t> -> IO <apr_status_t>
+# ccall apr_reslist_destroy, Ptr <apr_reslist_t> -> IO <apr_status_t>
+# ccall apr_reslist_acquire, Ptr <apr_reslist_t> -> Ptr (Ptr ()) -> IO <apr_status_t>
+# ccall apr_reslist_release, Ptr <apr_reslist_t> -> Ptr () -> IO <apr_status_t>
+
+# ccall apr_reslist_timeout_set , Ptr <apr_reslist_t> -> <apr_interval_time_t> -> IO ()
+# ccall apr_reslist_acquired_count, Ptr <apr_reslist_t> -> IO <apr_uint32_t>
+# ccall apr_reslist_invalidate , Ptr <apr_reslist_t> -> Ptr () -> IO <apr_status_t>
+#endif