--- /dev/null
+#include <bindings.dsl.h>
+#include <apr_queue.h>
+
+module Bindings.APR.Queue where
+#strict_import
+import Bindings.APR
+import Bindings.APR.ErrNo
+import Bindings.APR.Pools
+
+#opaque_t apr_queue_t
+
+#ccall apr_queue_create , Ptr (Ptr <apr_queue_t>) -> CUInt -> Ptr <apr_pool_t> -> IO <apr_status_t>
+#ccall apr_queue_push , Ptr <apr_queue_t> -> Ptr () -> IO <apr_status_t>
+#ccall apr_queue_pop , Ptr <apr_queue_t> -> Ptr (Ptr ()) -> IO <apr_status_t>
+#ccall apr_queue_trypush, Ptr <apr_queue_t> -> Ptr () -> IO <apr_status_t>
+#ccall apr_queue_trypop , Ptr <apr_queue_t> -> Ptr (Ptr ()) -> IO <apr_status_t>
+#ccall apr_queue_size , Ptr <apr_queue_t> -> IO CUInt
+#ccall apr_queue_interrupt_all, Ptr <apr_queue_t> -> IO <apr_status_t>
+#ccall apr_queue_term , Ptr <apr_queue_t> -> IO <apr_status_t>