packages feed

bindings-apr-0.1: Bindings/APR/Portable.hsc

#include <bindings.dsl.h>
#include <apr_portable.h>

module Bindings.APR.Portable where
#strict_import
import Bindings.APR
import Bindings.APR.DSO
import Bindings.APR.ErrNo
import Bindings.APR.File.Info
import Bindings.APR.File.Types
import Bindings.APR.Global.Mutex
import Bindings.APR.Network.IO
import Bindings.APR.Pools
import Bindings.APR.Proc.Mutex
import Bindings.APR.Shm
import Bindings.APR.Thread.Mutex
import Bindings.APR.Thread.Proc
import Bindings.APR.Time

#opaque_t apr_os_file_t
#opaque_t apr_os_dir_t
#opaque_t apr_os_sock_t
#opaque_t apr_os_proc_mutex_t
#opaque_t apr_os_thread_t
#opaque_t apr_os_proc_t
#opaque_t apr_os_threadkey_t
#opaque_t apr_os_imp_time_t
#opaque_t apr_os_exp_time_t
#opaque_t apr_os_dso_handle_t
#opaque_t apr_os_shm_t

#starttype struct apr_os_sock_info_t
#  field os_sock , Ptr <apr_os_sock_t>
-- FIXME: sockaddr
-- #  field local   , Ptr <sockaddr>
-- #  field remote  , Ptr <sockaddr>
#  field family  , CInt
#  field type    , CInt
#  field protocol, CInt
#stoptype

#opaque_t apr_os_global_mutex_t
#cinline apr_os_global_mutex_get, Ptr <apr_os_global_mutex_t> -> Ptr <apr_global_mutex_t> -> IO <apr_status_t>

#ccall apr_os_file_get      , Ptr <apr_os_file_t> -> Ptr <apr_file_t> -> IO <apr_status_t>
#ccall apr_os_dir_get       , Ptr (Ptr <apr_os_dir_t>) -> Ptr <apr_dir_t> -> IO <apr_status_t>
#ccall apr_os_sock_get      , Ptr <apr_os_sock_t> -> Ptr <apr_socket_t> -> IO <apr_status_t>
#ccall apr_os_proc_mutex_get, Ptr <apr_os_proc_mutex_t> -> Ptr <apr_proc_mutex_t> -> IO <apr_status_t>
#ccall apr_os_exp_time_get  , Ptr (Ptr <apr_os_exp_time_t>) -> Ptr <apr_time_exp_t> -> Ptr <apr_status_t>
#ccall apr_os_imp_time_get  , Ptr (Ptr <apr_os_imp_time_t>) -> Ptr <apr_time_t> -> Ptr <apr_status_t>
#ccall apr_os_shm_get       , Ptr <apr_os_shm_t> -> Ptr <apr_shm_t> -> IO <apr_status_t>

#if APR_HAS_THREADS
#  ccall apr_os_thread_get    , Ptr (Ptr <apr_os_thread_t>) -> Ptr <apr_thread_t> -> IO <apr_status_t>
#  ccall apr_os_threadkey_get , Ptr <apr_os_threadkey_t> -> Ptr <apr_threadkey_t> -> IO <apr_status_t>
#  ccall apr_os_thread_put    , Ptr (Ptr <apr_thread_t>) -> Ptr <apr_os_thread_t> -> Ptr <apr_pool_t> -> IO <apr_status_t>
#  ccall apr_os_threadkey_put , Ptr (Ptr <apr_threadkey_t>) -> Ptr <apr_os_threadkey_t> -> Ptr <apr_pool_t> -> IO <apr_status_t>
-- FIXME: apr_os_thread_t
-- #  ccall apr_os_thread_current, IO <apr_os_thread_t>
#endif

#ccall apr_os_file_put      , Ptr (Ptr <apr_file_t>) -> Ptr <apr_os_file_t> -> <apr_int32_t> -> Ptr <apr_pool_t> -> IO <apr_status_t>
#ccall apr_os_pipe_put      , Ptr (Ptr <apr_file_t>) -> Ptr <apr_os_file_t> -> Ptr <apr_pool_t> -> IO <apr_status_t>
#ccall apr_os_pipe_put_ex   , Ptr (Ptr <apr_file_t>) -> Ptr <apr_os_file_t> -> CInt -> Ptr <apr_pool_t> -> IO <apr_status_t>
#ccall apr_os_dir_put       , Ptr (Ptr <apr_dir_t>) -> Ptr <apr_os_dir_t> -> Ptr <apr_pool_t> -> IO <apr_status_t>
#ccall apr_os_sock_put      , Ptr (Ptr <apr_socket_t>) -> Ptr <apr_os_sock_t> -> Ptr <apr_pool_t> -> IO <apr_status_t>
#ccall apr_os_sock_make     , Ptr (Ptr <apr_socket_t>) -> Ptr <apr_os_sock_info_t> -> Ptr <apr_pool_t> -> IO <apr_status_t>
#ccall apr_os_proc_mutex_put, Ptr (Ptr <apr_proc_mutex_t>) -> Ptr <apr_os_proc_mutex_t> -> Ptr <apr_pool_t> -> IO <apr_status_t>
#ccall apr_os_imp_time_put  , Ptr <apr_time_t> -> Ptr (Ptr <apr_os_imp_time_t>) -> Ptr <apr_pool_t> -> IO <apr_status_t>
#ccall apr_os_exp_time_put  , Ptr <apr_time_exp_t> -> Ptr (Ptr <apr_os_exp_time_t>) -> Ptr <apr_pool_t> -> IO <apr_status_t>
#ccall apr_os_shm_put       , Ptr (Ptr <apr_shm_t>) -> Ptr <apr_os_shm_t> -> Ptr <apr_pool_t> -> IO <apr_status_t>

#if APR_HAS_DSO
#  ccall apr_os_dso_handle_put, Ptr (Ptr <apr_dso_handle_t>) -> Ptr <apr_os_dso_handle_t> -> Ptr <apr_pool_t> -> IO <apr_status_t>
#  ccall apr_os_dso_handle_get, Ptr (Ptr <apr_os_dso_handle_t>) -> Ptr <apr_dso_handle_t> -> IO <apr_status_t>
#  if APR_HAS_OS_UUID
#    ccall apr_os_uuid_get    , Ptr CUChar -> IO <apr_status_t>
#  endif
#endif

#ccall apr_os_default_encoding, Ptr <apr_pool_t> -> IO (Ptr CChar)
#ccall apr_os_locale_encoding , Ptr <apr_pool_t> -> IO (Ptr CChar)