X-Git-Url: http://git.cielonegro.org/gitweb.cgi?p=bindings-apr.git;a=blobdiff_plain;f=Bindings%2FAPR%2FPortable.hsc;fp=Bindings%2FAPR%2FPortable.hsc;h=288b49f0038365d41298d082a7daad94ef4b69ac;hp=0000000000000000000000000000000000000000;hb=c3100272dedde8dcb76594ad7b3c0559707ec638;hpb=cc9a1eed057e9491d3999a26b68696f5d5e0b624 diff --git a/Bindings/APR/Portable.hsc b/Bindings/APR/Portable.hsc new file mode 100644 index 0000000..288b49f --- /dev/null +++ b/Bindings/APR/Portable.hsc @@ -0,0 +1,96 @@ +#include +#include + +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 +-- FIXME +-- # field local , Ptr +-- # field remote , Ptr +# field family , CInt +# field type , CInt +# field protocol, CInt +#stoptype + +#if APR_PROC_MUTEX_IS_GLOBAL +type C'apr_os_global_mutex_t = C'apr_os_proc_mutex_t + +c'apr_os_global_mutex_get :: Ptr C'apr_os_global_mutex_t -> Ptr C'apr_global_mutex_t -> IO C'apr_status_t +c'apr_os_global_mutex_get = c'apr_os_proc_mutex_get +#else +# starttype struct apr_os_global_mutex_t +# field pool , Ptr +# field proc_mutex, Ptr +# if APR_HAS_THREADS +# field thread_mutex, Ptr +# endif +# stoptype + +# ccall apr_os_global_mutex_get, Ptr -> Ptr -> IO +#endif + +#ccall apr_os_file_get , Ptr -> Ptr -> IO +#ccall apr_os_dir_get , Ptr (Ptr ) -> Ptr -> IO +#ccall apr_os_sock_get , Ptr -> Ptr -> IO +#ccall apr_os_proc_mutex_get, Ptr -> Ptr -> IO +#ccall apr_os_exp_time_get , Ptr (Ptr ) -> Ptr -> Ptr +#ccall apr_os_imp_time_get , Ptr (Ptr ) -> Ptr -> Ptr +#ccall apr_os_shm_get , Ptr -> Ptr -> IO + +#if APR_HAS_THREADS +# ccall apr_os_thread_get , Ptr (Ptr ) -> Ptr -> IO +# ccall apr_os_threadkey_get , Ptr -> Ptr -> IO +# ccall apr_os_thread_put , Ptr (Ptr ) -> Ptr -> Ptr -> IO +# ccall apr_os_threadkey_put , Ptr (Ptr ) -> Ptr -> Ptr -> IO +-- FIXME: apr_os_thread_t +-- # ccall apr_os_thread_current, IO +#endif + +#ccall apr_os_file_put , Ptr (Ptr ) -> Ptr -> -> Ptr -> IO +#ccall apr_os_pipe_put , Ptr (Ptr ) -> Ptr -> Ptr -> IO +#ccall apr_os_pipe_put_ex , Ptr (Ptr ) -> Ptr -> CInt -> Ptr -> IO +#ccall apr_os_dir_put , Ptr (Ptr ) -> Ptr -> Ptr -> IO +#ccall apr_os_sock_put , Ptr (Ptr ) -> Ptr -> Ptr -> IO +#ccall apr_os_sock_make , Ptr (Ptr ) -> Ptr -> Ptr -> IO +#ccall apr_os_proc_mutex_put, Ptr (Ptr ) -> Ptr -> Ptr -> IO +#ccall apr_os_imp_time_put , Ptr -> Ptr (Ptr ) -> Ptr -> IO +#ccall apr_os_exp_time_put , Ptr -> Ptr (Ptr ) -> Ptr -> IO +#ccall apr_os_shm_put , Ptr (Ptr ) -> Ptr -> Ptr -> IO + +#if APR_HAS_DSO +# ccall apr_os_dso_handle_put, Ptr (Ptr ) -> Ptr -> Ptr -> IO +# ccall apr_os_dso_handle_get, Ptr (Ptr ) -> Ptr -> IO +# if APR_HAS_OS_UUID +# ccall apr_os_uuid_get , Ptr CUChar -> IO +# endif +#endif + +#ccall apr_os_default_encoding, Ptr -> IO (Ptr CChar) +#ccall apr_os_locale_encoding , Ptr -> IO (Ptr CChar)