]> gitweb @ CieloNegro.org - bindings-apr.git/blob - Bindings/APR/Portable.hsc
Bindings.APR.Portable
[bindings-apr.git] / Bindings / APR / Portable.hsc
1 #include <bindings.dsl.h>
2 #include <apr_portable.h>
3
4 module Bindings.APR.Portable where
5 #strict_import
6 import Bindings.APR
7 import Bindings.APR.DSO
8 import Bindings.APR.ErrNo
9 import Bindings.APR.File.Info
10 import Bindings.APR.File.Types
11 import Bindings.APR.Global.Mutex
12 import Bindings.APR.Network.IO
13 import Bindings.APR.Pools
14 import Bindings.APR.Proc.Mutex
15 import Bindings.APR.Shm
16 import Bindings.APR.Thread.Mutex
17 import Bindings.APR.Thread.Proc
18 import Bindings.APR.Time
19
20 #opaque_t apr_os_file_t
21 #opaque_t apr_os_dir_t
22 #opaque_t apr_os_sock_t
23 #opaque_t apr_os_proc_mutex_t
24 #opaque_t apr_os_thread_t
25 #opaque_t apr_os_proc_t
26 #opaque_t apr_os_threadkey_t
27 #opaque_t apr_os_imp_time_t
28 #opaque_t apr_os_exp_time_t
29 #opaque_t apr_os_dso_handle_t
30 #opaque_t apr_os_shm_t
31
32 #starttype struct apr_os_sock_info_t
33 #  field os_sock , Ptr <apr_os_sock_t>
34 -- FIXME
35 -- #  field local   , Ptr <sockaddr>
36 -- #  field remote  , Ptr <sockaddr>
37 #  field family  , CInt
38 #  field type    , CInt
39 #  field protocol, CInt
40 #stoptype
41
42 #if APR_PROC_MUTEX_IS_GLOBAL
43 type C'apr_os_global_mutex_t = C'apr_os_proc_mutex_t
44
45 c'apr_os_global_mutex_get :: Ptr C'apr_os_global_mutex_t -> Ptr C'apr_global_mutex_t -> IO C'apr_status_t
46 c'apr_os_global_mutex_get = c'apr_os_proc_mutex_get
47 #else
48 #  starttype struct apr_os_global_mutex_t
49 #    field pool      , Ptr <apr_pool_t>
50 #    field proc_mutex, Ptr <apr_proc_mutex_t>
51 #    if APR_HAS_THREADS
52 #      field thread_mutex, Ptr <apr_thread_mutex_t>
53 #    endif
54 #  stoptype
55
56 #  ccall apr_os_global_mutex_get, Ptr <apr_os_global_mutex_t> -> Ptr <apr_global_mutex_t> -> IO <apr_status_t>
57 #endif
58
59 #ccall apr_os_file_get      , Ptr <apr_os_file_t> -> Ptr <apr_file_t> -> IO <apr_status_t>
60 #ccall apr_os_dir_get       , Ptr (Ptr <apr_os_dir_t>) -> Ptr <apr_dir_t> -> IO <apr_status_t>
61 #ccall apr_os_sock_get      , Ptr <apr_os_sock_t> -> Ptr <apr_socket_t> -> IO <apr_status_t>
62 #ccall apr_os_proc_mutex_get, Ptr <apr_os_proc_mutex_t> -> Ptr <apr_proc_mutex_t> -> IO <apr_status_t>
63 #ccall apr_os_exp_time_get  , Ptr (Ptr <apr_os_exp_time_t>) -> Ptr <apr_time_exp_t> -> Ptr <apr_status_t>
64 #ccall apr_os_imp_time_get  , Ptr (Ptr <apr_os_imp_time_t>) -> Ptr <apr_time_t> -> Ptr <apr_status_t>
65 #ccall apr_os_shm_get       , Ptr <apr_os_shm_t> -> Ptr <apr_shm_t> -> IO <apr_status_t>
66
67 #if APR_HAS_THREADS
68 #  ccall apr_os_thread_get    , Ptr (Ptr <apr_os_thread_t>) -> Ptr <apr_thread_t> -> IO <apr_status_t>
69 #  ccall apr_os_threadkey_get , Ptr <apr_os_threadkey_t> -> Ptr <apr_threadkey_t> -> IO <apr_status_t>
70 #  ccall apr_os_thread_put    , Ptr (Ptr <apr_thread_t>) -> Ptr <apr_os_thread_t> -> Ptr <apr_pool_t> -> IO <apr_status_t>
71 #  ccall apr_os_threadkey_put , Ptr (Ptr <apr_threadkey_t>) -> Ptr <apr_os_threadkey_t> -> Ptr <apr_pool_t> -> IO <apr_status_t>
72 -- FIXME: apr_os_thread_t
73 -- #  ccall apr_os_thread_current, IO <apr_os_thread_t>
74 #endif
75
76 #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>
77 #ccall apr_os_pipe_put      , Ptr (Ptr <apr_file_t>) -> Ptr <apr_os_file_t> -> Ptr <apr_pool_t> -> IO <apr_status_t>
78 #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>
79 #ccall apr_os_dir_put       , Ptr (Ptr <apr_dir_t>) -> Ptr <apr_os_dir_t> -> Ptr <apr_pool_t> -> IO <apr_status_t>
80 #ccall apr_os_sock_put      , Ptr (Ptr <apr_socket_t>) -> Ptr <apr_os_sock_t> -> Ptr <apr_pool_t> -> IO <apr_status_t>
81 #ccall apr_os_sock_make     , Ptr (Ptr <apr_socket_t>) -> Ptr <apr_os_sock_info_t> -> Ptr <apr_pool_t> -> IO <apr_status_t>
82 #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>
83 #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>
84 #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>
85 #ccall apr_os_shm_put       , Ptr (Ptr <apr_shm_t>) -> Ptr <apr_os_shm_t> -> Ptr <apr_pool_t> -> IO <apr_status_t>
86
87 #if APR_HAS_DSO
88 #  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>
89 #  ccall apr_os_dso_handle_get, Ptr (Ptr <apr_os_dso_handle_t>) -> Ptr <apr_dso_handle_t> -> IO <apr_status_t>
90 #  if APR_HAS_OS_UUID
91 #    ccall apr_os_uuid_get    , Ptr CUChar -> IO <apr_status_t>
92 #  endif
93 #endif
94
95 #ccall apr_os_default_encoding, Ptr <apr_pool_t> -> IO (Ptr CChar)
96 #ccall apr_os_locale_encoding , Ptr <apr_pool_t> -> IO (Ptr CChar)