Bindings.APR.XML and APU.Version master origin/HEAD origin/master RELEASE-0.1
authorPHO <pho@cielonegro.org>
Wed, 6 Oct 2010 16:59:07 +0000 (01:59 +0900)
committerPHO <pho@cielonegro.org>
Wed, 6 Oct 2010 16:59:07 +0000 (01:59 +0900)
Bindings/APR/XML.hsc [new file with mode: 0644]
Bindings/APU/Version.hsc [new file with mode: 0644]
bindings-apr-util.cabal
cbits/helper_apr_xml.c [new file with mode: 0644]
cbits/helper_apu_version.c [new file with mode: 0644]

diff --git a/Bindings/APR/XML.hsc b/Bindings/APR/XML.hsc
new file mode 100644 (file)
index 0000000..c048d6d
--- /dev/null
@@ -0,0 +1,90 @@
+#include <bindings.dsl.h>
+#include <apr_xml.h>
+
+module Bindings.APR.XML where
+#strict_import
+import Bindings.APR
+import Bindings.APR.ErrNo
+import Bindings.APR.File.Types
+import Bindings.APR.Pools
+import Bindings.APR.Tables
+import Bindings.APR.XLate
+
+#starttype struct apr_text
+#  field text, Ptr CChar
+#  field next, Ptr <apr_text>
+#stoptype
+
+#starttype struct apr_text_header
+#  field first, Ptr <apr_text>
+#  field last , Ptr <apr_text>
+#stoptype
+
+#ccall apr_text_append, Ptr <apr_pool_t> -> Ptr <apr_text_header> -> Ptr CChar -> IO ()
+
+#num APR_XML_NS_DAV_ID
+#num APR_XML_NS_NONE
+
+#num APR_XML_NS_ERROR_BASE
+#cinline APR_XML_NS_IS_ERROR, CInt -> IO CInt
+
+#starttype struct apr_xml_attr
+#  field name , Ptr CChar
+#  field ns   , CInt
+#  field value, Ptr CChar
+#  field next , Ptr <apr_xml_attr>
+#stoptype
+
+#opaque_t apr_xml_ns_scope
+
+#starttype struct apr_xml_elem
+#  field name, Ptr CChar
+#  field ns  , CInt
+#  field lang, Ptr CChar
+
+#  field first_cdata    , <apr_text_header>
+#  field following_cdata, <apr_text_header>
+
+#  field parent     , Ptr <apr_xml_elem>
+#  field next       , Ptr <apr_xml_elem>
+#  field first_child, Ptr <apr_xml_elem>
+#  field attr       , Ptr <apr_xml_elem>
+
+#  field last_child , Ptr <apr_xml_elem>
+#  field ns_scope   , Ptr <apr_xml_ns_scope>
+
+#  field priv, Ptr ()
+#stoptype
+
+#cinline APR_XML_ELEM_IS_EMPTY, Ptr <apr_xml_elem> -> IO CInt
+
+#starttype struct apr_xml_doc
+#  field root      , Ptr <apr_xml_elem>
+#  field namespaces, Ptr <apr_array_header_t>
+#stoptype
+
+#opaque_t apr_xml_parser
+
+#ccall apr_xml_parser_create  , Ptr <apr_pool_t> -> IO (Ptr <apr_xml_parser>)
+#ccall apr_xml_parse_file     , Ptr <apr_pool_t> -> Ptr (Ptr <apr_xml_parser>) -> Ptr (Ptr <apr_xml_doc>) -> Ptr <apr_file_t> -> <apr_size_t> -> IO <apr_status_t>
+#ccall apr_xml_parser_feed    , Ptr <apr_xml_parser> -> Ptr CChar -> <apr_size_t> -> IO <apr_status_t>
+#ccall apr_xml_parser_done    , Ptr <apr_xml_parser> -> Ptr (Ptr <apr_xml_doc>) -> IO <apr_status_t>
+#ccall apr_xml_parser_geterror, Ptr <apr_xml_parser> -> Ptr CChar -> <apr_size_t> -> IO (Ptr CChar)
+
+#ccall apr_xml_to_text, Ptr <apr_pool_t> -> Ptr <apr_xml_elem> -> CInt -> Ptr <apr_array_header_t> -> Ptr CInt -> Ptr (Ptr CChar) -> Ptr <apr_size_t> -> IO ()
+
+#num APR_XML_X2T_FULL
+#num APR_XML_X2T_INNER
+#num APR_XML_X2T_LANG_INNER
+#num APR_XML_X2T_FULL_NS_LANG
+
+#ccall apr_xml_empty_elem  , Ptr <apr_pool_t> -> Ptr <apr_xml_elem> -> IO (Ptr CChar)
+#ccall apr_xml_quote_string, Ptr <apr_pool_t> -> Ptr CChar -> CInt -> IO (Ptr CChar)
+#ccall apr_xml_quote_elem  , Ptr <apr_pool_t> -> Ptr <apr_xml_elem> -> IO ()
+#ccall apr_xml_insert_uri  , Ptr <apr_array_header_t> -> Ptr CChar -> IO CInt
+
+#cinline APR_XML_GET_URI_ITEM, Ptr <apr_array_header_t> -> CInt -> IO (Ptr CChar)
+
+#if APR_CHARSET_EBCDIC
+#  ccall apr_xml_parser_convert_doc, Ptr <apr_pool_t> -> Ptr <apr_xml_doc> -> Ptr <apr_xlate_t> -> IO <apr_status_t>
+#endif
diff --git a/Bindings/APU/Version.hsc b/Bindings/APU/Version.hsc
new file mode 100644 (file)
index 0000000..9da2d30
--- /dev/null
@@ -0,0 +1,17 @@
+#include <bindings.dsl.h>
+#include <apu_version.h>
+
+module Bindings.APU.Version where
+#strict_import
+import Bindings.APR.Version
+
+#num APU_MAJOR_VERSION
+#num APU_MINOR_VERSION
+#num APU_PATCH_VERSION
+
+#globalarray APU_VERSION_STRING, CChar
+
+#ifndef APU_VERSION_ONLY
+#  ccall apu_version       , Ptr <apr_version_t> -> IO ()
+#  ccall apu_version_string, IO (Ptr CChar)
+#endif
index a78f1ac59c3af61c9479efc5c136389188238a45..46f80f6b149304b3b7559afb9f00aab5c6bd5568 100644 (file)
@@ -29,7 +29,6 @@ Library
         apr-util-1 >= 1.3
 
     Exposed-Modules:
-        Bindings.APU
         Bindings.APR.AnyLock
         Bindings.APR.Base64
         Bindings.APR.Buckets
@@ -55,6 +54,9 @@ Library
         Bindings.APR.URI
         Bindings.APR.UUID
         Bindings.APR.XLate
+        Bindings.APR.XML
+        Bindings.APU
+        Bindings.APU.Version
 
     C-Sources:
         cbits/helper_apr_anylock.c
@@ -66,6 +68,8 @@ Library
         cbits/helper_apr_sdbm.c
         cbits/helper_apr_sha1.c
         cbits/helper_apr_strmatch.c
+        cbits/helper_apr_xml.c
+        cbits/helper_apu_version.c
 
     Extensions:
         ForeignFunctionInterface
diff --git a/cbits/helper_apr_xml.c b/cbits/helper_apr_xml.c
new file mode 100644 (file)
index 0000000..f66384a
--- /dev/null
@@ -0,0 +1,6 @@
+#include <bindings.cmacros.h>
+#include <apr_xml.h>
+
+BC_INLINE1(APR_XML_NS_IS_ERROR  , int, int)
+BC_INLINE1(APR_XML_ELEM_IS_EMPTY, apr_xml_elem*, int)
+BC_INLINE2(APR_XML_GET_URI_ITEM , apr_array_header_t*, int, const char*)
diff --git a/cbits/helper_apu_version.c b/cbits/helper_apu_version.c
new file mode 100644 (file)
index 0000000..28aeb78
--- /dev/null
@@ -0,0 +1,4 @@
+#include <bindings.cmacros.h>
+#include <apu_version.h>
+
+BC_GLOBALARRAY(APU_VERSION_STRING, char)