{-# LINE 1 "Bindings/APR/Portable.hsc" #-}

{-# LINE 2 "Bindings/APR/Portable.hsc" #-}

{-# LINE 3 "Bindings/APR/Portable.hsc" #-}

module Bindings.APR.Portable 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

{-# LINE 6 "Bindings/APR/Portable.hsc" #-}
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

data C'apr_os_file_t = C'apr_os_file_t

{-# LINE 21 "Bindings/APR/Portable.hsc" #-}
data C'apr_os_dir_t = C'apr_os_dir_t

{-# LINE 22 "Bindings/APR/Portable.hsc" #-}
data C'apr_os_sock_t = C'apr_os_sock_t

{-# LINE 23 "Bindings/APR/Portable.hsc" #-}
data C'apr_os_proc_mutex_t = C'apr_os_proc_mutex_t

{-# LINE 24 "Bindings/APR/Portable.hsc" #-}
data C'apr_os_thread_t = C'apr_os_thread_t

{-# LINE 25 "Bindings/APR/Portable.hsc" #-}
data C'apr_os_proc_t = C'apr_os_proc_t

{-# LINE 26 "Bindings/APR/Portable.hsc" #-}
data C'apr_os_threadkey_t = C'apr_os_threadkey_t

{-# LINE 27 "Bindings/APR/Portable.hsc" #-}
data C'apr_os_imp_time_t = C'apr_os_imp_time_t

{-# LINE 28 "Bindings/APR/Portable.hsc" #-}
data C'apr_os_exp_time_t = C'apr_os_exp_time_t

{-# LINE 29 "Bindings/APR/Portable.hsc" #-}
data C'apr_os_dso_handle_t = C'apr_os_dso_handle_t

{-# LINE 30 "Bindings/APR/Portable.hsc" #-}
data C'apr_os_shm_t = C'apr_os_shm_t

{-# LINE 31 "Bindings/APR/Portable.hsc" #-}

data C'apr_os_sock_info_t = C'apr_os_sock_info_t{
{-# LINE 33 "Bindings/APR/Portable.hsc" #-}

  c'apr_os_sock_info_t'os_sock :: Ptr C'apr_os_sock_t
{-# LINE 34 "Bindings/APR/Portable.hsc" #-}
-- FIXME: sockaddr
-- #  field local   , Ptr <sockaddr>
-- #  field remote  , Ptr <sockaddr>
,
  c'apr_os_sock_info_t'family :: CInt
{-# LINE 38 "Bindings/APR/Portable.hsc" #-}
,
  c'apr_os_sock_info_t'type :: CInt
{-# LINE 39 "Bindings/APR/Portable.hsc" #-}
,
  c'apr_os_sock_info_t'protocol :: CInt
{-# LINE 40 "Bindings/APR/Portable.hsc" #-}

 } deriving (Eq,Show)
instance Storable C'apr_os_sock_info_t where
  sizeOf _ = 24
  alignment = sizeOf
  peek p = do
    v0 <- peekByteOff p 0
    v1 <- peekByteOff p 12
    v2 <- peekByteOff p 16
    v3 <- peekByteOff p 20
    return $ C'apr_os_sock_info_t v0 v1 v2 v3
  poke p (C'apr_os_sock_info_t v0 v1 v2 v3) = do
    pokeByteOff p 0 v0
    pokeByteOff p 12 v1
    pokeByteOff p 16 v2
    pokeByteOff p 20 v3
    return ()

{-# LINE 41 "Bindings/APR/Portable.hsc" #-}

data C'apr_os_global_mutex_t = C'apr_os_global_mutex_t

{-# LINE 43 "Bindings/APR/Portable.hsc" #-}
foreign import ccall "inline_apr_os_global_mutex_get" c'apr_os_global_mutex_get
  :: Ptr C'apr_os_global_mutex_t -> Ptr C'apr_global_mutex_t -> IO C'apr_status_t

{-# LINE 44 "Bindings/APR/Portable.hsc" #-}

foreign import ccall "apr_os_file_get" c'apr_os_file_get
  :: Ptr C'apr_os_file_t -> Ptr C'apr_file_t -> IO C'apr_status_t
foreign import ccall "&apr_os_file_get" p'apr_os_file_get
  :: FunPtr (Ptr C'apr_os_file_t -> Ptr C'apr_file_t -> IO C'apr_status_t)

{-# LINE 46 "Bindings/APR/Portable.hsc" #-}
foreign import ccall "apr_os_dir_get" c'apr_os_dir_get
  :: Ptr (Ptr C'apr_os_dir_t) -> Ptr C'apr_dir_t -> IO C'apr_status_t
foreign import ccall "&apr_os_dir_get" p'apr_os_dir_get
  :: FunPtr (Ptr (Ptr C'apr_os_dir_t) -> Ptr C'apr_dir_t -> IO C'apr_status_t)

{-# LINE 47 "Bindings/APR/Portable.hsc" #-}
foreign import ccall "apr_os_sock_get" c'apr_os_sock_get
  :: Ptr C'apr_os_sock_t -> Ptr C'apr_socket_t -> IO C'apr_status_t
foreign import ccall "&apr_os_sock_get" p'apr_os_sock_get
  :: FunPtr (Ptr C'apr_os_sock_t -> Ptr C'apr_socket_t -> IO C'apr_status_t)

{-# LINE 48 "Bindings/APR/Portable.hsc" #-}
foreign import ccall "apr_os_proc_mutex_get" c'apr_os_proc_mutex_get
  :: Ptr C'apr_os_proc_mutex_t -> Ptr C'apr_proc_mutex_t -> IO C'apr_status_t
foreign import ccall "&apr_os_proc_mutex_get" p'apr_os_proc_mutex_get
  :: FunPtr (Ptr C'apr_os_proc_mutex_t -> Ptr C'apr_proc_mutex_t -> IO C'apr_status_t)

{-# LINE 49 "Bindings/APR/Portable.hsc" #-}
foreign import ccall "apr_os_exp_time_get" c'apr_os_exp_time_get
  :: Ptr (Ptr C'apr_os_exp_time_t) -> Ptr C'apr_time_exp_t -> Ptr C'apr_status_t
foreign import ccall "&apr_os_exp_time_get" p'apr_os_exp_time_get
  :: FunPtr (Ptr (Ptr C'apr_os_exp_time_t) -> Ptr C'apr_time_exp_t -> Ptr C'apr_status_t)

{-# LINE 50 "Bindings/APR/Portable.hsc" #-}
foreign import ccall "apr_os_imp_time_get" c'apr_os_imp_time_get
  :: Ptr (Ptr C'apr_os_imp_time_t) -> Ptr C'apr_time_t -> Ptr C'apr_status_t
foreign import ccall "&apr_os_imp_time_get" p'apr_os_imp_time_get
  :: FunPtr (Ptr (Ptr C'apr_os_imp_time_t) -> Ptr C'apr_time_t -> Ptr C'apr_status_t)

{-# LINE 51 "Bindings/APR/Portable.hsc" #-}
foreign import ccall "apr_os_shm_get" c'apr_os_shm_get
  :: Ptr C'apr_os_shm_t -> Ptr C'apr_shm_t -> IO C'apr_status_t
foreign import ccall "&apr_os_shm_get" p'apr_os_shm_get
  :: FunPtr (Ptr C'apr_os_shm_t -> Ptr C'apr_shm_t -> IO C'apr_status_t)

{-# LINE 52 "Bindings/APR/Portable.hsc" #-}


{-# LINE 54 "Bindings/APR/Portable.hsc" #-}
foreign import ccall "apr_os_thread_get" c'apr_os_thread_get
  :: Ptr (Ptr C'apr_os_thread_t) -> Ptr C'apr_thread_t -> IO C'apr_status_t
foreign import ccall "&apr_os_thread_get" p'apr_os_thread_get
  :: FunPtr (Ptr (Ptr C'apr_os_thread_t) -> Ptr C'apr_thread_t -> IO C'apr_status_t)

{-# LINE 55 "Bindings/APR/Portable.hsc" #-}
foreign import ccall "apr_os_threadkey_get" c'apr_os_threadkey_get
  :: Ptr C'apr_os_threadkey_t -> Ptr C'apr_threadkey_t -> IO C'apr_status_t
foreign import ccall "&apr_os_threadkey_get" p'apr_os_threadkey_get
  :: FunPtr (Ptr C'apr_os_threadkey_t -> Ptr C'apr_threadkey_t -> IO C'apr_status_t)

{-# LINE 56 "Bindings/APR/Portable.hsc" #-}
foreign import ccall "apr_os_thread_put" c'apr_os_thread_put
  :: Ptr (Ptr C'apr_thread_t) -> Ptr C'apr_os_thread_t -> Ptr C'apr_pool_t -> IO C'apr_status_t
foreign import ccall "&apr_os_thread_put" p'apr_os_thread_put
  :: FunPtr (Ptr (Ptr C'apr_thread_t) -> Ptr C'apr_os_thread_t -> Ptr C'apr_pool_t -> IO C'apr_status_t)

{-# LINE 57 "Bindings/APR/Portable.hsc" #-}
foreign import ccall "apr_os_threadkey_put" c'apr_os_threadkey_put
  :: Ptr (Ptr C'apr_threadkey_t) -> Ptr C'apr_os_threadkey_t -> Ptr C'apr_pool_t -> IO C'apr_status_t
foreign import ccall "&apr_os_threadkey_put" p'apr_os_threadkey_put
  :: FunPtr (Ptr (Ptr C'apr_threadkey_t) -> Ptr C'apr_os_threadkey_t -> Ptr C'apr_pool_t -> IO C'apr_status_t)

{-# LINE 58 "Bindings/APR/Portable.hsc" #-}
-- FIXME: apr_os_thread_t
-- #  ccall apr_os_thread_current, IO <apr_os_thread_t>

{-# LINE 61 "Bindings/APR/Portable.hsc" #-}

foreign import ccall "apr_os_file_put" c'apr_os_file_put
  :: Ptr (Ptr C'apr_file_t) -> Ptr C'apr_os_file_t -> C'apr_int32_t -> Ptr C'apr_pool_t -> IO C'apr_status_t
foreign import ccall "&apr_os_file_put" p'apr_os_file_put
  :: FunPtr (Ptr (Ptr C'apr_file_t) -> Ptr C'apr_os_file_t -> C'apr_int32_t -> Ptr C'apr_pool_t -> IO C'apr_status_t)

{-# LINE 63 "Bindings/APR/Portable.hsc" #-}
foreign import ccall "apr_os_pipe_put" c'apr_os_pipe_put
  :: Ptr (Ptr C'apr_file_t) -> Ptr C'apr_os_file_t -> Ptr C'apr_pool_t -> IO C'apr_status_t
foreign import ccall "&apr_os_pipe_put" p'apr_os_pipe_put
  :: FunPtr (Ptr (Ptr C'apr_file_t) -> Ptr C'apr_os_file_t -> Ptr C'apr_pool_t -> IO C'apr_status_t)

{-# LINE 64 "Bindings/APR/Portable.hsc" #-}
foreign import ccall "apr_os_pipe_put_ex" c'apr_os_pipe_put_ex
  :: Ptr (Ptr C'apr_file_t) -> Ptr C'apr_os_file_t -> CInt -> Ptr C'apr_pool_t -> IO C'apr_status_t
foreign import ccall "&apr_os_pipe_put_ex" p'apr_os_pipe_put_ex
  :: FunPtr (Ptr (Ptr C'apr_file_t) -> Ptr C'apr_os_file_t -> CInt -> Ptr C'apr_pool_t -> IO C'apr_status_t)

{-# LINE 65 "Bindings/APR/Portable.hsc" #-}
foreign import ccall "apr_os_dir_put" c'apr_os_dir_put
  :: Ptr (Ptr C'apr_dir_t) -> Ptr C'apr_os_dir_t -> Ptr C'apr_pool_t -> IO C'apr_status_t
foreign import ccall "&apr_os_dir_put" p'apr_os_dir_put
  :: FunPtr (Ptr (Ptr C'apr_dir_t) -> Ptr C'apr_os_dir_t -> Ptr C'apr_pool_t -> IO C'apr_status_t)

{-# LINE 66 "Bindings/APR/Portable.hsc" #-}
foreign import ccall "apr_os_sock_put" c'apr_os_sock_put
  :: Ptr (Ptr C'apr_socket_t) -> Ptr C'apr_os_sock_t -> Ptr C'apr_pool_t -> IO C'apr_status_t
foreign import ccall "&apr_os_sock_put" p'apr_os_sock_put
  :: FunPtr (Ptr (Ptr C'apr_socket_t) -> Ptr C'apr_os_sock_t -> Ptr C'apr_pool_t -> IO C'apr_status_t)

{-# LINE 67 "Bindings/APR/Portable.hsc" #-}
foreign import ccall "apr_os_sock_make" c'apr_os_sock_make
  :: Ptr (Ptr C'apr_socket_t) -> Ptr C'apr_os_sock_info_t -> Ptr C'apr_pool_t -> IO C'apr_status_t
foreign import ccall "&apr_os_sock_make" p'apr_os_sock_make
  :: FunPtr (Ptr (Ptr C'apr_socket_t) -> Ptr C'apr_os_sock_info_t -> Ptr C'apr_pool_t -> IO C'apr_status_t)

{-# LINE 68 "Bindings/APR/Portable.hsc" #-}
foreign import ccall "apr_os_proc_mutex_put" c'apr_os_proc_mutex_put
  :: Ptr (Ptr C'apr_proc_mutex_t) -> Ptr C'apr_os_proc_mutex_t -> Ptr C'apr_pool_t -> IO C'apr_status_t
foreign import ccall "&apr_os_proc_mutex_put" p'apr_os_proc_mutex_put
  :: FunPtr (Ptr (Ptr C'apr_proc_mutex_t) -> Ptr C'apr_os_proc_mutex_t -> Ptr C'apr_pool_t -> IO C'apr_status_t)

{-# LINE 69 "Bindings/APR/Portable.hsc" #-}
foreign import ccall "apr_os_imp_time_put" c'apr_os_imp_time_put
  :: Ptr C'apr_time_t -> Ptr (Ptr C'apr_os_imp_time_t) -> Ptr C'apr_pool_t -> IO C'apr_status_t
foreign import ccall "&apr_os_imp_time_put" p'apr_os_imp_time_put
  :: FunPtr (Ptr C'apr_time_t -> Ptr (Ptr C'apr_os_imp_time_t) -> Ptr C'apr_pool_t -> IO C'apr_status_t)

{-# LINE 70 "Bindings/APR/Portable.hsc" #-}
foreign import ccall "apr_os_exp_time_put" c'apr_os_exp_time_put
  :: Ptr C'apr_time_exp_t -> Ptr (Ptr C'apr_os_exp_time_t) -> Ptr C'apr_pool_t -> IO C'apr_status_t
foreign import ccall "&apr_os_exp_time_put" p'apr_os_exp_time_put
  :: FunPtr (Ptr C'apr_time_exp_t -> Ptr (Ptr C'apr_os_exp_time_t) -> Ptr C'apr_pool_t -> IO C'apr_status_t)

{-# LINE 71 "Bindings/APR/Portable.hsc" #-}
foreign import ccall "apr_os_shm_put" c'apr_os_shm_put
  :: Ptr (Ptr C'apr_shm_t) -> Ptr C'apr_os_shm_t -> Ptr C'apr_pool_t -> IO C'apr_status_t
foreign import ccall "&apr_os_shm_put" p'apr_os_shm_put
  :: FunPtr (Ptr (Ptr C'apr_shm_t) -> Ptr C'apr_os_shm_t -> Ptr C'apr_pool_t -> IO C'apr_status_t)

{-# LINE 72 "Bindings/APR/Portable.hsc" #-}


{-# LINE 74 "Bindings/APR/Portable.hsc" #-}
foreign import ccall "apr_os_dso_handle_put" c'apr_os_dso_handle_put
  :: Ptr (Ptr C'apr_dso_handle_t) -> Ptr C'apr_os_dso_handle_t -> Ptr C'apr_pool_t -> IO C'apr_status_t
foreign import ccall "&apr_os_dso_handle_put" p'apr_os_dso_handle_put
  :: FunPtr (Ptr (Ptr C'apr_dso_handle_t) -> Ptr C'apr_os_dso_handle_t -> Ptr C'apr_pool_t -> IO C'apr_status_t)

{-# LINE 75 "Bindings/APR/Portable.hsc" #-}
foreign import ccall "apr_os_dso_handle_get" c'apr_os_dso_handle_get
  :: Ptr (Ptr C'apr_os_dso_handle_t) -> Ptr C'apr_dso_handle_t -> IO C'apr_status_t
foreign import ccall "&apr_os_dso_handle_get" p'apr_os_dso_handle_get
  :: FunPtr (Ptr (Ptr C'apr_os_dso_handle_t) -> Ptr C'apr_dso_handle_t -> IO C'apr_status_t)

{-# LINE 76 "Bindings/APR/Portable.hsc" #-}

{-# LINE 77 "Bindings/APR/Portable.hsc" #-}
foreign import ccall "apr_os_uuid_get" c'apr_os_uuid_get
  :: Ptr CUChar -> IO C'apr_status_t
foreign import ccall "&apr_os_uuid_get" p'apr_os_uuid_get
  :: FunPtr (Ptr CUChar -> IO C'apr_status_t)

{-# LINE 78 "Bindings/APR/Portable.hsc" #-}

{-# LINE 79 "Bindings/APR/Portable.hsc" #-}

{-# LINE 80 "Bindings/APR/Portable.hsc" #-}

foreign import ccall "apr_os_default_encoding" c'apr_os_default_encoding
  :: Ptr C'apr_pool_t -> IO (Ptr CChar)
foreign import ccall "&apr_os_default_encoding" p'apr_os_default_encoding
  :: FunPtr (Ptr C'apr_pool_t -> IO (Ptr CChar))

{-# LINE 82 "Bindings/APR/Portable.hsc" #-}
foreign import ccall "apr_os_locale_encoding" c'apr_os_locale_encoding
  :: Ptr C'apr_pool_t -> IO (Ptr CChar)
foreign import ccall "&apr_os_locale_encoding" p'apr_os_locale_encoding
  :: FunPtr (Ptr C'apr_pool_t -> IO (Ptr CChar))

{-# LINE 83 "Bindings/APR/Portable.hsc" #-}