--- /dev/null
+#include <bindings.dsl.h>
+#include <apr_shm.h>
+
+module Bindings.APR.Strings where
+#strict_import
+import Bindings.APR
+import Bindings.APR.ErrNo
+import Bindings.APR.Pools
+import Bindings.APR.Want
+
+#ccall apr_strnatcmp , Ptr CChar -> Ptr CChar -> IO CInt
+#ccall apr_strnatcasecmp, Ptr CChar -> Ptr CChar -> IO CInt
+#ccall apr_pstrdup , Ptr <apr_pool_t> -> Ptr CChar -> IO (Ptr CChar)
+#ccall apr_pstrmemdup , Ptr <apr_pool_t> -> Ptr CChar -> <apr_size_t> -> IO (Ptr CChar)
+#ccall apr_pstrndup , Ptr <apr_pool_t> -> Ptr CChar -> <apr_size_t> -> IO (Ptr CChar)
+#ccall apr_pmemdup , Ptr <apr_pool_t> -> Ptr () -> <apr_size_t> -> IO (Ptr ())
+-- FIXME: apr_pstrcat
+#ccall apr_pstrcatv , Ptr <apr_pool_t> -> Ptr <iovec> -> <apr_size_t> -> Ptr <apr_size_t> -> IO (Ptr CChar)
+-- FIXME: apr_pvsprintf
+-- FIXME: apr_psprintf
+#ccall apr_cpystrn , Ptr CChar -> Ptr CChar -> <apr_size_t> -> IO (Ptr CChar)
+#ccall apr_collapse_spaces , Ptr CChar -> Ptr CChar -> IO (Ptr CChar)
+#ccall apr_tokenize_to_argv, Ptr CChar -> Ptr (Ptr (Ptr CChar)) -> Ptr <apr_pool_t> -> IO <apr_status_t>
+#ccall apr_strtok , Ptr CChar -> Ptr CChar -> Ptr (Ptr CChar) -> IO (Ptr CChar)
+-- FIXME: apr_snprintf
+-- FIXME: apr_vsnprintf
+#ccall apr_itoa , Ptr <apr_pool_t> -> CInt -> IO (Ptr CChar)
+#ccall apr_ltoa , Ptr <apr_pool_t> -> CLong -> IO (Ptr CChar)
+#ccall apr_off_t_toa , Ptr <apr_pool_t> -> <apr_off_t> -> IO (Ptr CChar)
+#ccall apr_strtoff , Ptr <apr_off_t> -> Ptr CChar -> Ptr (Ptr CChar) -> CInt -> IO <apr_status_t>
+#ccall apr_strtoi64 , Ptr CChar -> Ptr (Ptr CChar) -> CInt -> IO <apr_int64_t>
+#ccall apr_atoi64 , Ptr CChar -> IO <apr_int64_t>
+#ccall apr_strfsize , <apr_off_t> -> Ptr CChar -> IO (Ptr CChar)