Bindings.APR.MemCache and ResList
authorPHO <pho@cielonegro.org>
Tue, 21 Sep 2010 07:11:54 +0000 (16:11 +0900)
committerPHO <pho@cielonegro.org>
Tue, 21 Sep 2010 07:11:54 +0000 (16:11 +0900)
Bindings/APR/MemCache.hsc [new file with mode: 0644]
Bindings/APR/ResList.hsc [new file with mode: 0644]
bindings-apr-util.cabal

diff --git a/Bindings/APR/MemCache.hsc b/Bindings/APR/MemCache.hsc
new file mode 100644 (file)
index 0000000..666cf8a
--- /dev/null
@@ -0,0 +1,108 @@
+#include <bindings.dsl.h>
+#include <apr_memcache.h>
+
+module Bindings.APR.MemCache where
+#strict_import
+import Bindings.APR
+import Bindings.APR.ErrNo
+import Bindings.APR.Hash
+import Bindings.APR.Network.IO
+import Bindings.APR.Pools
+import Bindings.APR.ResList
+import Bindings.APR.Thread.Mutex
+import Bindings.APR.Time
+
+#integral_t apr_memcache_server_status_t
+#num APR_MC_SERVER_LIVE
+#num APR_MC_SERVER_DEAD
+
+#opaque_t apr_memcache_conn_t
+
+#starttype struct apr_memcache_server_t
+#  field host  , Ptr CChar
+#  field port  , <apr_port_t>
+#  field status, <apr_memcache_server_status_t>
+#  if APR_HAS_THREADS
+#    field conns, Ptr <apr_reslist_t>
+#  else
+#    field conn, Ptr <apr_memcache_conn_t>
+#  endif
+#  field p     , Ptr <apr_pool_t>
+#  if APR_HAS_THREADS
+#    field lock, Ptr <apr_thread_mutex_t>
+#  endif
+#  field btime , <apr_time_t>
+#stoptype
+
+#callback apr_memcache_hash_func  , Ptr () -> Ptr CChar -> <apr_size_t> -> IO <apr_uint32_t>
+#callback apr_memcache_server_func, Ptr () -> Ptr <apr_memcache_t> -> <apr_uint32_t> -> IO (Ptr <apr_memcache_server_t>)
+
+#starttype struct apr_memcache_t
+#  field flags       , <apr_uint32_t>
+#  field nalloc      , <apr_uint16_t>
+#  field ntotal      , <apr_uint16_t>
+#  field live_servers, Ptr (Ptr <apr_memcache_server_t>)
+#  field p           , Ptr <apr_pool_t>
+#  field hash_func   , <apr_memcache_hash_func>
+#  field server_baton, Ptr ()
+#  field server_func , <apr_memcache_server_func>
+#stoptype
+
+#starttype apr_memcache_value_t
+#  field status, <apr_status_t>
+#  field key   , Ptr CChar
+#  field len   , <apr_size_t>
+#  field data  , Ptr ()
+#  field flags , <apr_uint16_t>
+#stoptype
+
+#ccall apr_memcache_hash        , Ptr <apr_memcache_t> -> Ptr CChar -> <apr_size_t> -> IO <apr_uint32_t>
+#ccall apr_memcache_hash_crc32  , Ptr () -> Ptr CChar -> <apr_size_t> -> IO <apr_uint32_t>
+#ccall apr_memcache_hash_default, Ptr () -> Ptr CChar -> <apr_size_t> -> IO <apr_uint32_t>
+
+#ccall apr_memcache_find_server_hash        , Ptr <apr_memcache_t> -> <apr_uint32_t> -> IO (Ptr <apr_memcache_server_t>)
+#ccall apr_memcache_find_server_hash_default, Ptr () -> Ptr <apr_memcache_t> -> <apr_uint32_t> -> IO (Ptr <apr_memcache_server_t>)
+
+#ccall apr_memcache_add_server     , Ptr <apr_memcache_t> -> Ptr <apr_memcache_server_t> -> IO <apr_status_t>
+#ccall apr_memcache_find_server    , Ptr <apr_memcache_t> -> Ptr CChar -> <apr_port_t> -> IO (Ptr <apr_memcache_server_t>)
+#ccall apr_memcache_enable_server  , Ptr <apr_memcache_t> -> Ptr <apr_memcache_server_t> -> IO <apr_status_t>
+#ccall apr_memcache_disable_server , Ptr <apr_memcache_t> -> Ptr <apr_memcache_server_t> -> IO <apr_status_t>
+#ccall apr_memcache_server_create  , Ptr <apr_pool_t> -> Ptr CChar -> <apr_port_t> -> <apr_uint32_t> -> <apr_uint32_t> -> <apr_uint32_t> -> <apr_uint32_t> -> Ptr (Ptr <apr_memcache_server_t>) -> IO <apr_status_t>
+#ccall apr_memcache_create         , Ptr <apr_pool_t> -> <apr_uint16_t> -> <apr_uint32_t> -> Ptr (Ptr <apr_memcache_t>) -> IO <apr_status_t>
+#ccall apr_memcache_getp           , Ptr <apr_memcache_t> -> Ptr <apr_pool_t> -> Ptr CChar -> Ptr (Ptr CChar) -> Ptr <apr_size_t> -> Ptr <apr_uint16_t> -> IO <apr_status_t>
+#ccall apr_memcache_add_multget_key, Ptr <apr_pool_t> -> Ptr CChar -> Ptr (Ptr <apr_hash_t>) -> IO ()
+#ccall apr_memcache_multgetp       , Ptr <apr_memcache_t> -> Ptr <apr_pool_t> -> Ptr <apr_pool_t> -> Ptr <apr_hash_t> -> IO <apr_status_t>
+#ccall apr_memcache_set            , Ptr <apr_memcache_t> -> Ptr CChar -> Ptr CChar -> <apr_size_t> -> <apr_uint32_t> -> <apr_uint16_t> -> IO <apr_status_t>
+#ccall apr_memcache_add            , Ptr <apr_memcache_t> -> Ptr CChar -> Ptr CChar -> <apr_size_t> -> <apr_uint32_t> -> <apr_uint16_t> -> IO <apr_status_t>
+#ccall apr_memcache_replace        , Ptr <apr_memcache_t> -> Ptr CChar -> Ptr CChar -> <apr_size_t> -> <apr_uint32_t> -> <apr_uint16_t> -> IO <apr_status_t>
+#ccall apr_memcache_delete         , Ptr <apr_memcache_t> -> Ptr CChar -> <apr_uint32_t> -> IO <apr_status_t>
+#ccall apr_memcache_incr           , Ptr <apr_memcache_t> -> Ptr CChar -> <apr_int32_t> -> Ptr <apr_uint32_t> -> IO <apr_status_t>
+#ccall apr_memcache_decr           , Ptr <apr_memcache_t> -> Ptr CChar -> <apr_int32_t> -> Ptr <apr_uint32_t> -> IO <apr_status_t>
+#ccall apr_memcache_version        , Ptr <apr_memcache_server_t> -> Ptr <apr_pool_t> -> Ptr (Ptr CChar) -> IO <apr_status_t>
+
+#starttype apr_memcache_stats_t
+#  field version      , Ptr CChar
+#  field pid          , <apr_uint32_t>
+#  field uptime       , <apr_uint32_t>
+#  field time         , <apr_time_t>
+#  field pointer_size , <apr_uint32_t>
+#  field rusage_user  , <apr_time_t>
+#  field rusage_system, <apr_time_t>
+#  field curr_items   , <apr_uint32_t>
+#  field total_items  , <apr_uint32_t>
+#  field bytes        , <apr_uint64_t>
+#  field curr_connections , <apr_uint32_t>
+#  field total_connections, <apr_uint32_t>
+#  field connection_structures, <apr_uint32_t>
+#  field cmd_get       , <apr_uint32_t>
+#  field cmd_set       , <apr_uint32_t>
+#  field get_hits      , <apr_uint32_t>
+#  field get_misses    , <apr_uint32_t>
+#  field evictions     , <apr_uint64_t>
+#  field bytes_read    , <apr_uint64_t>
+#  field bytes_written , <apr_uint64_t>
+#  field limit_maxbytes, <apr_uint32_t>
+#  field threads       , <apr_uint32_t>
+#stoptype
+
+#ccall apr_memcache_stats, Ptr <apr_memcache_server_t> -> Ptr <apr_pool_t> -> Ptr (Ptr <apr_memcache_stats_t>) -> IO <apr_status_t>
diff --git a/Bindings/APR/ResList.hsc b/Bindings/APR/ResList.hsc
new file mode 100644 (file)
index 0000000..205c533
--- /dev/null
@@ -0,0 +1,24 @@
+#include <bindings.dsl.h>
+#include <apr_reslist.h>
+
+module Bindings.APR.ResList where
+#strict_import
+import Bindings.APR
+import Bindings.APR.ErrNo
+import Bindings.APR.Pools
+import Bindings.APR.Time
+
+#if APR_HAS_THREADS
+#  opaque_t apr_reslist_t
+#  callback apr_reslist_constructor, Ptr (Ptr ()) -> Ptr () -> Ptr <apr_pool_t> -> IO <apr_status_t>
+#  callback apr_reslist_destructor , Ptr () -> Ptr () -> Ptr <apr_pool_t> -> IO <apr_status_t>
+
+#  ccall apr_reslist_create , Ptr (Ptr <apr_reslist_t>) -> CInt -> CInt -> CInt -> <apr_interval_time_t> -> <apr_reslist_constructor> -> <apr_reslist_destructor> -> Ptr () -> Ptr <apr_pool_t> -> IO <apr_status_t>
+#  ccall apr_reslist_destroy, Ptr <apr_reslist_t> -> IO <apr_status_t>
+#  ccall apr_reslist_acquire, Ptr <apr_reslist_t> -> Ptr (Ptr ()) -> IO <apr_status_t>
+#  ccall apr_reslist_release, Ptr <apr_reslist_t> -> Ptr () -> IO <apr_status_t>
+
+#  ccall apr_reslist_timeout_set   , Ptr <apr_reslist_t> -> <apr_interval_time_t> -> IO ()
+#  ccall apr_reslist_acquired_count, Ptr <apr_reslist_t> -> IO <apr_uint32_t>
+#  ccall apr_reslist_invalidate    , Ptr <apr_reslist_t> -> Ptr () -> IO <apr_status_t>
+#endif
index 496cf69ca934d9fd06d2f7443fa2b5887030b0c7..6186431b17cff9f700841737014c2b9fb30518cf 100644 (file)
@@ -44,6 +44,8 @@ Library
         Bindings.APR.LDAP.URL
         Bindings.APR.MD4
         Bindings.APR.MD5
+        Bindings.APR.MemCache
+        Bindings.APR.ResList
         Bindings.APR.XLate
 
     C-Sources: