--- /dev/null
+#include <bindings.dsl.h>
+#include <apr_xlate.h>
+
+module Bindings.APR.XLate where
+#strict_import
+import Bindings.APR
+import Bindings.APR.ErrNo
+import Bindings.APR.Pools
+
+#opaque_t apr_xlate_t
+
+#ccall apr_xlate_open, Ptr (Ptr <apr_xlate_t>) -> Ptr CChar -> Ptr CChar -> Ptr <apr_pool_t> -> IO <apr_status_t>
+
+#pointer APR_DEFAULT_CHARSET
+#pointer APR_LOCALE_CHARSET
+
+#ccall apr_xlate_sb_get , Ptr <apr_xlate_t> -> Ptr CInt -> IO <apr_status_t>
+#ccall apr_xlate_conv_buffer, Ptr <apr_xlate_t> -> Ptr CChar -> Ptr <apr_size_t> -> Ptr CChar -> Ptr <apr_size_t> -> IO <apr_status_t>
+
+#if APR_NOT_DONE_YET
+# ccall apr_xlate_conv_char, Ptr <apr_xlate_t> -> CChar -> CChar -> IO <apr_status_t>
+#endif
+
+#ccall apr_xlate_conv_byte , Ptr <apr_xlate_t> -> CUChar -> IO <apr_int32_t>
+#ccall apr_xlate_close , Ptr <apr_xlate_t> -> IO <apr_status_t>