--- /dev/null
+#include <bindings.dsl.h>
+#include <apr_shm.h>
+
+module Bindings.APR.Shm where
+#strict_import
+import Bindings.APR
+import Bindings.APR.ErrNo
+import Bindings.APR.Pools
+
+#opaque_t apr_shm_t
+
+#ccall apr_shm_create , Ptr (Ptr <apr_shm_t>) -> <apr_size_t> -> Ptr CChar -> Ptr <apr_pool_t> -> IO <apr_status_t>
+#ccall apr_shm_remove , Ptr CChar -> Ptr <apr_pool_t> -> IO <apr_status_t>
+#ccall apr_shm_destroy , Ptr <apr_shm_t> -> IO <apr_status_t>
+#ccall apr_shm_attach , Ptr (Ptr <apr_shm_t>) -> Ptr CChar -> Ptr <apr_pool_t> -> IO <apr_status_t>
+#ccall apr_shm_detach , Ptr <apr_shm_t> -> IO <apr_status_t>
+#ccall apr_shm_baseaddr_get, Ptr <apr_shm_t> -> IO (Ptr ())
+#ccall apr_shm_size_get , Ptr <apr_shm_t> -> IO <apr_size_t>
+
+#ccall apr_shm_pool_get , Ptr <apr_shm_t> -> IO (Ptr <apr_pool_t>)