module Bindings.APR.MemCache where
import Foreign.Ptr (Ptr,FunPtr,plusPtr)
import Foreign.Ptr (wordPtrToPtr,castPtrToFunPtr)
import Foreign.Storable
import Foreign.C.Types
import Foreign.C.String (CString,CStringLen,CWString,CWStringLen)
import Foreign.Marshal.Alloc (alloca)
import Foreign.Marshal.Array (peekArray,pokeArray)
import Data.Int
import Data.Word
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
type C'apr_memcache_server_status_t = CUInt
c'APR_MC_SERVER_LIVE = 0
c'APR_MC_SERVER_LIVE :: (Num a) => a
c'APR_MC_SERVER_DEAD = 1
c'APR_MC_SERVER_DEAD :: (Num a) => a
data C'apr_memcache_conn_t = C'apr_memcache_conn_t
data C'apr_memcache_server_t = C'apr_memcache_server_t{
c'apr_memcache_server_t'host :: Ptr CChar
,
c'apr_memcache_server_t'port :: C'apr_port_t
,
c'apr_memcache_server_t'status :: C'apr_memcache_server_status_t
,
c'apr_memcache_server_t'conns :: Ptr C'apr_reslist_t
,
c'apr_memcache_server_t'p :: Ptr C'apr_pool_t
,
c'apr_memcache_server_t'lock :: Ptr C'apr_thread_mutex_t
,
c'apr_memcache_server_t'btime :: C'apr_time_t
} deriving (Eq,Show)
instance Storable C'apr_memcache_server_t where
sizeOf _ = 32
alignment = sizeOf
peek p = do
v0 <- peekByteOff p 0
v1 <- peekByteOff p 4
v2 <- peekByteOff p 8
v3 <- peekByteOff p 12
v4 <- peekByteOff p 16
v5 <- peekByteOff p 20
v6 <- peekByteOff p 24
return $ C'apr_memcache_server_t v0 v1 v2 v3 v4 v5 v6
poke p (C'apr_memcache_server_t v0 v1 v2 v3 v4 v5 v6) = do
pokeByteOff p 0 v0
pokeByteOff p 4 v1
pokeByteOff p 8 v2
pokeByteOff p 12 v3
pokeByteOff p 16 v4
pokeByteOff p 20 v5
pokeByteOff p 24 v6
return ()
type C'apr_memcache_hash_func = FunPtr (Ptr () -> Ptr CChar -> C'apr_size_t -> IO C'apr_uint32_t)
foreign import ccall "wrapper" mk'apr_memcache_hash_func
:: (Ptr () -> Ptr CChar -> C'apr_size_t -> IO C'apr_uint32_t) -> IO C'apr_memcache_hash_func
foreign import ccall "dynamic" mK'apr_memcache_hash_func
:: C'apr_memcache_hash_func -> (Ptr () -> Ptr CChar -> C'apr_size_t -> IO C'apr_uint32_t)
type C'apr_memcache_server_func = FunPtr (Ptr () -> Ptr C'apr_memcache_t -> C'apr_uint32_t -> IO (Ptr C'apr_memcache_server_t))
foreign import ccall "wrapper" mk'apr_memcache_server_func
:: (Ptr () -> Ptr C'apr_memcache_t -> C'apr_uint32_t -> IO (Ptr C'apr_memcache_server_t)) -> IO C'apr_memcache_server_func
foreign import ccall "dynamic" mK'apr_memcache_server_func
:: C'apr_memcache_server_func -> (Ptr () -> Ptr C'apr_memcache_t -> C'apr_uint32_t -> IO (Ptr C'apr_memcache_server_t))
data C'apr_memcache_t = C'apr_memcache_t{
c'apr_memcache_t'flags :: C'apr_uint32_t
,
c'apr_memcache_t'nalloc :: C'apr_uint16_t
,
c'apr_memcache_t'ntotal :: C'apr_uint16_t
,
c'apr_memcache_t'live_servers :: Ptr (Ptr C'apr_memcache_server_t)
,
c'apr_memcache_t'p :: Ptr C'apr_pool_t
,
c'apr_memcache_t'hash_func :: C'apr_memcache_hash_func
,
c'apr_memcache_t'server_baton :: Ptr ()
,
c'apr_memcache_t'server_func :: C'apr_memcache_server_func
} deriving (Eq,Show)
instance Storable C'apr_memcache_t where
sizeOf _ = 32
alignment = sizeOf
peek p = do
v0 <- peekByteOff p 0
v1 <- peekByteOff p 4
v2 <- peekByteOff p 6
v3 <- peekByteOff p 8
v4 <- peekByteOff p 12
v5 <- peekByteOff p 20
v6 <- peekByteOff p 24
v7 <- peekByteOff p 28
return $ C'apr_memcache_t v0 v1 v2 v3 v4 v5 v6 v7
poke p (C'apr_memcache_t v0 v1 v2 v3 v4 v5 v6 v7) = do
pokeByteOff p 0 v0
pokeByteOff p 4 v1
pokeByteOff p 6 v2
pokeByteOff p 8 v3
pokeByteOff p 12 v4
pokeByteOff p 20 v5
pokeByteOff p 24 v6
pokeByteOff p 28 v7
return ()
data C'apr_memcache_value_t = C'apr_memcache_value_t{
c'apr_memcache_value_t'status :: C'apr_status_t
,
c'apr_memcache_value_t'key :: Ptr CChar
,
c'apr_memcache_value_t'len :: C'apr_size_t
,
c'apr_memcache_value_t'data :: Ptr ()
,
c'apr_memcache_value_t'flags :: C'apr_uint16_t
} deriving (Eq,Show)
instance Storable C'apr_memcache_value_t where
sizeOf _ = 20
alignment = sizeOf
peek p = do
v0 <- peekByteOff p 0
v1 <- peekByteOff p 4
v2 <- peekByteOff p 8
v3 <- peekByteOff p 12
v4 <- peekByteOff p 16
return $ C'apr_memcache_value_t v0 v1 v2 v3 v4
poke p (C'apr_memcache_value_t v0 v1 v2 v3 v4) = do
pokeByteOff p 0 v0
pokeByteOff p 4 v1
pokeByteOff p 8 v2
pokeByteOff p 12 v3
pokeByteOff p 16 v4
return ()
foreign import ccall "apr_memcache_hash" c'apr_memcache_hash
:: Ptr C'apr_memcache_t -> Ptr CChar -> C'apr_size_t -> IO C'apr_uint32_t
foreign import ccall "&apr_memcache_hash" p'apr_memcache_hash
:: FunPtr (Ptr C'apr_memcache_t -> Ptr CChar -> C'apr_size_t -> IO C'apr_uint32_t)
foreign import ccall "apr_memcache_hash_crc32" c'apr_memcache_hash_crc32
:: Ptr () -> Ptr CChar -> C'apr_size_t -> IO C'apr_uint32_t
foreign import ccall "&apr_memcache_hash_crc32" p'apr_memcache_hash_crc32
:: FunPtr (Ptr () -> Ptr CChar -> C'apr_size_t -> IO C'apr_uint32_t)
foreign import ccall "apr_memcache_hash_default" c'apr_memcache_hash_default
:: Ptr () -> Ptr CChar -> C'apr_size_t -> IO C'apr_uint32_t
foreign import ccall "&apr_memcache_hash_default" p'apr_memcache_hash_default
:: FunPtr (Ptr () -> Ptr CChar -> C'apr_size_t -> IO C'apr_uint32_t)
foreign import ccall "apr_memcache_find_server_hash" c'apr_memcache_find_server_hash
:: Ptr C'apr_memcache_t -> C'apr_uint32_t -> IO (Ptr C'apr_memcache_server_t)
foreign import ccall "&apr_memcache_find_server_hash" p'apr_memcache_find_server_hash
:: FunPtr (Ptr C'apr_memcache_t -> C'apr_uint32_t -> IO (Ptr C'apr_memcache_server_t))
foreign import ccall "apr_memcache_find_server_hash_default" c'apr_memcache_find_server_hash_default
:: Ptr () -> Ptr C'apr_memcache_t -> C'apr_uint32_t -> IO (Ptr C'apr_memcache_server_t)
foreign import ccall "&apr_memcache_find_server_hash_default" p'apr_memcache_find_server_hash_default
:: FunPtr (Ptr () -> Ptr C'apr_memcache_t -> C'apr_uint32_t -> IO (Ptr C'apr_memcache_server_t))
foreign import ccall "apr_memcache_add_server" c'apr_memcache_add_server
:: Ptr C'apr_memcache_t -> Ptr C'apr_memcache_server_t -> IO C'apr_status_t
foreign import ccall "&apr_memcache_add_server" p'apr_memcache_add_server
:: FunPtr (Ptr C'apr_memcache_t -> Ptr C'apr_memcache_server_t -> IO C'apr_status_t)
foreign import ccall "apr_memcache_find_server" c'apr_memcache_find_server
:: Ptr C'apr_memcache_t -> Ptr CChar -> C'apr_port_t -> IO (Ptr C'apr_memcache_server_t)
foreign import ccall "&apr_memcache_find_server" p'apr_memcache_find_server
:: FunPtr (Ptr C'apr_memcache_t -> Ptr CChar -> C'apr_port_t -> IO (Ptr C'apr_memcache_server_t))
foreign import ccall "apr_memcache_enable_server" c'apr_memcache_enable_server
:: Ptr C'apr_memcache_t -> Ptr C'apr_memcache_server_t -> IO C'apr_status_t
foreign import ccall "&apr_memcache_enable_server" p'apr_memcache_enable_server
:: FunPtr (Ptr C'apr_memcache_t -> Ptr C'apr_memcache_server_t -> IO C'apr_status_t)
foreign import ccall "apr_memcache_disable_server" c'apr_memcache_disable_server
:: Ptr C'apr_memcache_t -> Ptr C'apr_memcache_server_t -> IO C'apr_status_t
foreign import ccall "&apr_memcache_disable_server" p'apr_memcache_disable_server
:: FunPtr (Ptr C'apr_memcache_t -> Ptr C'apr_memcache_server_t -> IO C'apr_status_t)
foreign import ccall "apr_memcache_server_create" c'apr_memcache_server_create
:: Ptr C'apr_pool_t -> Ptr CChar -> C'apr_port_t -> C'apr_uint32_t -> C'apr_uint32_t -> C'apr_uint32_t -> C'apr_uint32_t -> Ptr (Ptr C'apr_memcache_server_t) -> IO C'apr_status_t
foreign import ccall "&apr_memcache_server_create" p'apr_memcache_server_create
:: FunPtr (Ptr C'apr_pool_t -> Ptr CChar -> C'apr_port_t -> C'apr_uint32_t -> C'apr_uint32_t -> C'apr_uint32_t -> C'apr_uint32_t -> Ptr (Ptr C'apr_memcache_server_t) -> IO C'apr_status_t)
foreign import ccall "apr_memcache_create" c'apr_memcache_create
:: Ptr C'apr_pool_t -> C'apr_uint16_t -> C'apr_uint32_t -> Ptr (Ptr C'apr_memcache_t) -> IO C'apr_status_t
foreign import ccall "&apr_memcache_create" p'apr_memcache_create
:: FunPtr (Ptr C'apr_pool_t -> C'apr_uint16_t -> C'apr_uint32_t -> Ptr (Ptr C'apr_memcache_t) -> IO C'apr_status_t)
foreign import ccall "apr_memcache_getp" c'apr_memcache_getp
:: Ptr C'apr_memcache_t -> Ptr C'apr_pool_t -> Ptr CChar -> Ptr (Ptr CChar) -> Ptr C'apr_size_t -> Ptr C'apr_uint16_t -> IO C'apr_status_t
foreign import ccall "&apr_memcache_getp" p'apr_memcache_getp
:: FunPtr (Ptr C'apr_memcache_t -> Ptr C'apr_pool_t -> Ptr CChar -> Ptr (Ptr CChar) -> Ptr C'apr_size_t -> Ptr C'apr_uint16_t -> IO C'apr_status_t)
foreign import ccall "apr_memcache_add_multget_key" c'apr_memcache_add_multget_key
:: Ptr C'apr_pool_t -> Ptr CChar -> Ptr (Ptr C'apr_hash_t) -> IO ()
foreign import ccall "&apr_memcache_add_multget_key" p'apr_memcache_add_multget_key
:: FunPtr (Ptr C'apr_pool_t -> Ptr CChar -> Ptr (Ptr C'apr_hash_t) -> IO ())
foreign import ccall "apr_memcache_multgetp" c'apr_memcache_multgetp
:: Ptr C'apr_memcache_t -> Ptr C'apr_pool_t -> Ptr C'apr_pool_t -> Ptr C'apr_hash_t -> IO C'apr_status_t
foreign import ccall "&apr_memcache_multgetp" p'apr_memcache_multgetp
:: FunPtr (Ptr C'apr_memcache_t -> Ptr C'apr_pool_t -> Ptr C'apr_pool_t -> Ptr C'apr_hash_t -> IO C'apr_status_t)
foreign import ccall "apr_memcache_set" c'apr_memcache_set
:: Ptr C'apr_memcache_t -> Ptr CChar -> Ptr CChar -> C'apr_size_t -> C'apr_uint32_t -> C'apr_uint16_t -> IO C'apr_status_t
foreign import ccall "&apr_memcache_set" p'apr_memcache_set
:: FunPtr (Ptr C'apr_memcache_t -> Ptr CChar -> Ptr CChar -> C'apr_size_t -> C'apr_uint32_t -> C'apr_uint16_t -> IO C'apr_status_t)
foreign import ccall "apr_memcache_add" c'apr_memcache_add
:: Ptr C'apr_memcache_t -> Ptr CChar -> Ptr CChar -> C'apr_size_t -> C'apr_uint32_t -> C'apr_uint16_t -> IO C'apr_status_t
foreign import ccall "&apr_memcache_add" p'apr_memcache_add
:: FunPtr (Ptr C'apr_memcache_t -> Ptr CChar -> Ptr CChar -> C'apr_size_t -> C'apr_uint32_t -> C'apr_uint16_t -> IO C'apr_status_t)
foreign import ccall "apr_memcache_replace" c'apr_memcache_replace
:: Ptr C'apr_memcache_t -> Ptr CChar -> Ptr CChar -> C'apr_size_t -> C'apr_uint32_t -> C'apr_uint16_t -> IO C'apr_status_t
foreign import ccall "&apr_memcache_replace" p'apr_memcache_replace
:: FunPtr (Ptr C'apr_memcache_t -> Ptr CChar -> Ptr CChar -> C'apr_size_t -> C'apr_uint32_t -> C'apr_uint16_t -> IO C'apr_status_t)
foreign import ccall "apr_memcache_delete" c'apr_memcache_delete
:: Ptr C'apr_memcache_t -> Ptr CChar -> C'apr_uint32_t -> IO C'apr_status_t
foreign import ccall "&apr_memcache_delete" p'apr_memcache_delete
:: FunPtr (Ptr C'apr_memcache_t -> Ptr CChar -> C'apr_uint32_t -> IO C'apr_status_t)
foreign import ccall "apr_memcache_incr" c'apr_memcache_incr
:: Ptr C'apr_memcache_t -> Ptr CChar -> C'apr_int32_t -> Ptr C'apr_uint32_t -> IO C'apr_status_t
foreign import ccall "&apr_memcache_incr" p'apr_memcache_incr
:: FunPtr (Ptr C'apr_memcache_t -> Ptr CChar -> C'apr_int32_t -> Ptr C'apr_uint32_t -> IO C'apr_status_t)
foreign import ccall "apr_memcache_decr" c'apr_memcache_decr
:: Ptr C'apr_memcache_t -> Ptr CChar -> C'apr_int32_t -> Ptr C'apr_uint32_t -> IO C'apr_status_t
foreign import ccall "&apr_memcache_decr" p'apr_memcache_decr
:: FunPtr (Ptr C'apr_memcache_t -> Ptr CChar -> C'apr_int32_t -> Ptr C'apr_uint32_t -> IO C'apr_status_t)
foreign import ccall "apr_memcache_version" c'apr_memcache_version
:: Ptr C'apr_memcache_server_t -> Ptr C'apr_pool_t -> Ptr (Ptr CChar) -> IO C'apr_status_t
foreign import ccall "&apr_memcache_version" p'apr_memcache_version
:: FunPtr (Ptr C'apr_memcache_server_t -> Ptr C'apr_pool_t -> Ptr (Ptr CChar) -> IO C'apr_status_t)
data C'apr_memcache_stats_t = C'apr_memcache_stats_t{
c'apr_memcache_stats_t'version :: Ptr CChar
,
c'apr_memcache_stats_t'pid :: C'apr_uint32_t
,
c'apr_memcache_stats_t'uptime :: C'apr_uint32_t
,
c'apr_memcache_stats_t'time :: C'apr_time_t
,
c'apr_memcache_stats_t'pointer_size :: C'apr_uint32_t
,
c'apr_memcache_stats_t'rusage_user :: C'apr_time_t
,
c'apr_memcache_stats_t'rusage_system :: C'apr_time_t
,
c'apr_memcache_stats_t'curr_items :: C'apr_uint32_t
,
c'apr_memcache_stats_t'total_items :: C'apr_uint32_t
,
c'apr_memcache_stats_t'bytes :: C'apr_uint64_t
,
c'apr_memcache_stats_t'curr_connections :: C'apr_uint32_t
,
c'apr_memcache_stats_t'total_connections :: C'apr_uint32_t
,
c'apr_memcache_stats_t'connection_structures :: C'apr_uint32_t
,
c'apr_memcache_stats_t'cmd_get :: C'apr_uint32_t
,
c'apr_memcache_stats_t'cmd_set :: C'apr_uint32_t
,
c'apr_memcache_stats_t'get_hits :: C'apr_uint32_t
,
c'apr_memcache_stats_t'get_misses :: C'apr_uint32_t
,
c'apr_memcache_stats_t'evictions :: C'apr_uint64_t
,
c'apr_memcache_stats_t'bytes_read :: C'apr_uint64_t
,
c'apr_memcache_stats_t'bytes_written :: C'apr_uint64_t
,
c'apr_memcache_stats_t'limit_maxbytes :: C'apr_uint32_t
,
c'apr_memcache_stats_t'threads :: C'apr_uint32_t
} deriving (Eq,Show)
instance Storable C'apr_memcache_stats_t where
sizeOf _ = 116
alignment = sizeOf
peek p = do
v0 <- peekByteOff p 0
v1 <- peekByteOff p 4
v2 <- peekByteOff p 8
v3 <- peekByteOff p 12
v4 <- peekByteOff p 20
v5 <- peekByteOff p 24
v6 <- peekByteOff p 32
v7 <- peekByteOff p 40
v8 <- peekByteOff p 44
v9 <- peekByteOff p 48
v10 <- peekByteOff p 56
v11 <- peekByteOff p 60
v12 <- peekByteOff p 64
v13 <- peekByteOff p 68
v14 <- peekByteOff p 72
v15 <- peekByteOff p 76
v16 <- peekByteOff p 80
v17 <- peekByteOff p 84
v18 <- peekByteOff p 92
v19 <- peekByteOff p 100
v20 <- peekByteOff p 108
v21 <- peekByteOff p 112
return $ C'apr_memcache_stats_t v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 v13 v14 v15 v16 v17 v18 v19 v20 v21
poke p (C'apr_memcache_stats_t v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 v13 v14 v15 v16 v17 v18 v19 v20 v21) = do
pokeByteOff p 0 v0
pokeByteOff p 4 v1
pokeByteOff p 8 v2
pokeByteOff p 12 v3
pokeByteOff p 20 v4
pokeByteOff p 24 v5
pokeByteOff p 32 v6
pokeByteOff p 40 v7
pokeByteOff p 44 v8
pokeByteOff p 48 v9
pokeByteOff p 56 v10
pokeByteOff p 60 v11
pokeByteOff p 64 v12
pokeByteOff p 68 v13
pokeByteOff p 72 v14
pokeByteOff p 76 v15
pokeByteOff p 80 v16
pokeByteOff p 84 v17
pokeByteOff p 92 v18
pokeByteOff p 100 v19
pokeByteOff p 108 v20
pokeByteOff p 112 v21
return ()
foreign import ccall "apr_memcache_stats" c'apr_memcache_stats
:: Ptr C'apr_memcache_server_t -> Ptr C'apr_pool_t -> Ptr (Ptr C'apr_memcache_stats_t) -> IO C'apr_status_t
foreign import ccall "&apr_memcache_stats" p'apr_memcache_stats
:: FunPtr (Ptr C'apr_memcache_server_t -> Ptr C'apr_pool_t -> Ptr (Ptr C'apr_memcache_stats_t) -> IO C'apr_status_t)