--- /dev/null
+#include <bindings.dsl.h>
+#include <apr_ldap.h>
+#include <apr_ldap_url.h>
+
+module Bindings.APR.LDAP.URL where
+#strict_import
+import Bindings.APR.LDAP
+import Bindings.APR.Pools
+
+#if APR_HAS_LDAP
+
+# starttype struct apr_ldap_url_desc_t
+# field lud_next , Ptr <apr_ldap_url_desc_t>
+# field lud_scheme, Ptr CChar
+# field lud_host , Ptr CChar
+# field lud_port , CInt
+# field lud_dn , Ptr CChar
+# field lud_attrs , Ptr (Ptr CChar)
+# field lud_scope , CInt
+# field lud_filter, Ptr CChar
+# field lud_exts , Ptr (Ptr CChar)
+# field lud_crit_exts, CInt
+# stoptype
+
+# num APR_LDAP_URL_SUCCESS
+# num APR_LDAP_URL_ERR_MEM
+# num APR_LDAP_URL_ERR_PARAM
+# num APR_LDAP_URL_ERR_BADSCHEME
+# num APR_LDAP_URL_ERR_BADENCLOSURE
+# num APR_LDAP_URL_ERR_BADURL
+# num APR_LDAP_URL_ERR_BADHOST
+# num APR_LDAP_URL_ERR_BADATTRS
+# num APR_LDAP_URL_ERR_BADSCOPE
+# num APR_LDAP_URL_ERR_BADFILTER
+# num APR_LDAP_URL_ERR_BADEXTS
+
+# ccall apr_ldap_is_ldap_url , Ptr CChar -> IO CInt
+# ccall apr_ldap_is_ldaps_url , Ptr CChar -> IO CInt
+# ccall apr_ldap_is_ldapi_url , Ptr CChar -> IO CInt
+# ccall apr_ldap_url_parse_ext, Ptr <apr_pool_t> -> Ptr CChar -> Ptr (Ptr <apr_ldap_url_desc_t>) -> Ptr (Ptr <apr_ldap_err_t>) -> IO CInt
+# ccall apr_ldap_url_parse , Ptr <apr_pool_t> -> Ptr CChar -> Ptr (Ptr <apr_ldap_url_desc_t>) -> Ptr (Ptr <apr_ldap_err_t>) -> IO CInt
+
+#endif