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

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

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

module Bindings.APR.Thread.Proc 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/Thread/Proc.hsc" #-}
import Bindings.APR
import Bindings.APR.ErrNo
import Bindings.APR.File.Types
import Bindings.APR.Pools
import System.Posix.Types

type C'apr_cmdtype_e = CUInt

{-# LINE 13 "Bindings/APR/Thread/Proc.hsc" #-}
c'APR_SHELLCMD = 0
c'APR_SHELLCMD :: (Num a) => a

{-# LINE 14 "Bindings/APR/Thread/Proc.hsc" #-}
c'APR_PROGRAM = 1
c'APR_PROGRAM :: (Num a) => a

{-# LINE 15 "Bindings/APR/Thread/Proc.hsc" #-}
c'APR_PROGRAM_ENV = 2
c'APR_PROGRAM_ENV :: (Num a) => a

{-# LINE 16 "Bindings/APR/Thread/Proc.hsc" #-}
c'APR_PROGRAM_PATH = 3
c'APR_PROGRAM_PATH :: (Num a) => a

{-# LINE 17 "Bindings/APR/Thread/Proc.hsc" #-}
c'APR_SHELLCMD_ENV = 4
c'APR_SHELLCMD_ENV :: (Num a) => a

{-# LINE 18 "Bindings/APR/Thread/Proc.hsc" #-}

type C'apr_wait_how_e = CUInt

{-# LINE 20 "Bindings/APR/Thread/Proc.hsc" #-}
c'APR_WAIT = 0
c'APR_WAIT :: (Num a) => a

{-# LINE 21 "Bindings/APR/Thread/Proc.hsc" #-}
c'APR_NOWAIT = 1
c'APR_NOWAIT :: (Num a) => a

{-# LINE 22 "Bindings/APR/Thread/Proc.hsc" #-}

type C'apr_exit_why_e = CUInt

{-# LINE 24 "Bindings/APR/Thread/Proc.hsc" #-}
c'APR_PROC_EXIT = 1
c'APR_PROC_EXIT :: (Num a) => a

{-# LINE 25 "Bindings/APR/Thread/Proc.hsc" #-}
c'APR_PROC_SIGNAL = 2
c'APR_PROC_SIGNAL :: (Num a) => a

{-# LINE 26 "Bindings/APR/Thread/Proc.hsc" #-}
c'APR_PROC_SIGNAL_CORE = 4
c'APR_PROC_SIGNAL_CORE :: (Num a) => a

{-# LINE 27 "Bindings/APR/Thread/Proc.hsc" #-}

foreign import ccall "inline_APR_PROC_CHECK_EXIT" c'APR_PROC_CHECK_EXIT
  :: Ptr C'apr_exit_why_e -> IO CInt

{-# LINE 29 "Bindings/APR/Thread/Proc.hsc" #-}
foreign import ccall "inline_APR_PROC_CHECK_SIGNALED" c'APR_PROC_CHECK_SIGNALED
  :: Ptr C'apr_exit_why_e -> IO CInt

{-# LINE 30 "Bindings/APR/Thread/Proc.hsc" #-}
foreign import ccall "inline_APR_PROC_CHECK_CORE_DUMP" c'APR_PROC_CHECK_CORE_DUMP
  :: Ptr C'apr_exit_why_e -> IO CInt

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

c'APR_NO_PIPE = 0
c'APR_NO_PIPE :: (Num a) => a

{-# LINE 33 "Bindings/APR/Thread/Proc.hsc" #-}
c'APR_FULL_BLOCK = 1
c'APR_FULL_BLOCK :: (Num a) => a

{-# LINE 34 "Bindings/APR/Thread/Proc.hsc" #-}
c'APR_FULL_NONBLOCK = 2
c'APR_FULL_NONBLOCK :: (Num a) => a

{-# LINE 35 "Bindings/APR/Thread/Proc.hsc" #-}
c'APR_PARENT_BLOCK = 3
c'APR_PARENT_BLOCK :: (Num a) => a

{-# LINE 36 "Bindings/APR/Thread/Proc.hsc" #-}
c'APR_CHILD_BLOCK = 4
c'APR_CHILD_BLOCK :: (Num a) => a

{-# LINE 37 "Bindings/APR/Thread/Proc.hsc" #-}
c'APR_NO_FILE = 8
c'APR_NO_FILE :: (Num a) => a

{-# LINE 38 "Bindings/APR/Thread/Proc.hsc" #-}

c'APR_READ_BLOCK = 3
c'APR_READ_BLOCK :: (Num a) => a

{-# LINE 40 "Bindings/APR/Thread/Proc.hsc" #-}
c'APR_WRITE_BLOCK = 4
c'APR_WRITE_BLOCK :: (Num a) => a

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

c'APR_LIMIT_CPU = 0
c'APR_LIMIT_CPU :: (Num a) => a

{-# LINE 43 "Bindings/APR/Thread/Proc.hsc" #-}
c'APR_LIMIT_MEM = 1
c'APR_LIMIT_MEM :: (Num a) => a

{-# LINE 44 "Bindings/APR/Thread/Proc.hsc" #-}
c'APR_LIMIT_NPROC = 2
c'APR_LIMIT_NPROC :: (Num a) => a

{-# LINE 45 "Bindings/APR/Thread/Proc.hsc" #-}
c'APR_LIMIT_NOFILE = 3
c'APR_LIMIT_NOFILE :: (Num a) => a

{-# LINE 46 "Bindings/APR/Thread/Proc.hsc" #-}

c'APR_OC_REASON_DEATH = 0
c'APR_OC_REASON_DEATH :: (Num a) => a

{-# LINE 48 "Bindings/APR/Thread/Proc.hsc" #-}
c'APR_OC_REASON_UNWRITABLE = 1
c'APR_OC_REASON_UNWRITABLE :: (Num a) => a

{-# LINE 49 "Bindings/APR/Thread/Proc.hsc" #-}
c'APR_OC_REASON_RESTART = 2
c'APR_OC_REASON_RESTART :: (Num a) => a

{-# LINE 50 "Bindings/APR/Thread/Proc.hsc" #-}
c'APR_OC_REASON_UNREGISTER = 3
c'APR_OC_REASON_UNREGISTER :: (Num a) => a

{-# LINE 51 "Bindings/APR/Thread/Proc.hsc" #-}
c'APR_OC_REASON_LOST = 4
c'APR_OC_REASON_LOST :: (Num a) => a

{-# LINE 52 "Bindings/APR/Thread/Proc.hsc" #-}
c'APR_OC_REASON_RUNNING = 5
c'APR_OC_REASON_RUNNING :: (Num a) => a

{-# LINE 53 "Bindings/APR/Thread/Proc.hsc" #-}

data C'apr_proc_t = C'apr_proc_t{
{-# LINE 55 "Bindings/APR/Thread/Proc.hsc" #-}

  c'apr_proc_t'pid :: CPid
{-# LINE 56 "Bindings/APR/Thread/Proc.hsc" #-}
,
  c'apr_proc_t'in :: Ptr C'apr_file_t
{-# LINE 57 "Bindings/APR/Thread/Proc.hsc" #-}
,
  c'apr_proc_t'out :: Ptr C'apr_file_t
{-# LINE 58 "Bindings/APR/Thread/Proc.hsc" #-}
,
  c'apr_proc_t'err :: Ptr C'apr_file_t
{-# LINE 59 "Bindings/APR/Thread/Proc.hsc" #-}

{-# LINE 62 "Bindings/APR/Thread/Proc.hsc" #-}

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

{-# LINE 63 "Bindings/APR/Thread/Proc.hsc" #-}

type C'apr_child_errfn_t = FunPtr (Ptr C'apr_pool_t -> C'apr_status_t -> Ptr CChar -> IO ())
foreign import ccall "wrapper" mk'apr_child_errfn_t
  :: (Ptr C'apr_pool_t -> C'apr_status_t -> Ptr CChar -> IO ()) -> IO C'apr_child_errfn_t
foreign import ccall "dynamic" mK'apr_child_errfn_t
  :: C'apr_child_errfn_t -> (Ptr C'apr_pool_t -> C'apr_status_t -> Ptr CChar -> IO ())

{-# LINE 65 "Bindings/APR/Thread/Proc.hsc" #-}

data C'apr_thread_t = C'apr_thread_t

{-# LINE 67 "Bindings/APR/Thread/Proc.hsc" #-}
data C'apr_threadattr_t = C'apr_threadattr_t

{-# LINE 68 "Bindings/APR/Thread/Proc.hsc" #-}
data C'apr_procattr_t = C'apr_procattr_t

{-# LINE 69 "Bindings/APR/Thread/Proc.hsc" #-}
data C'apr_thread_once_t = C'apr_thread_once_t

{-# LINE 70 "Bindings/APR/Thread/Proc.hsc" #-}
data C'apr_threadkey_t = C'apr_threadkey_t

{-# LINE 71 "Bindings/APR/Thread/Proc.hsc" #-}
data C'apr_other_child_rec_t = C'apr_other_child_rec_t

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

type C'apr_thread_start_t = FunPtr (Ptr C'apr_thread_t -> Ptr () -> IO (Ptr ()))
foreign import ccall "wrapper" mk'apr_thread_start_t
  :: (Ptr C'apr_thread_t -> Ptr () -> IO (Ptr ())) -> IO C'apr_thread_start_t
foreign import ccall "dynamic" mK'apr_thread_start_t
  :: C'apr_thread_start_t -> (Ptr C'apr_thread_t -> Ptr () -> IO (Ptr ()))

{-# LINE 74 "Bindings/APR/Thread/Proc.hsc" #-}

type C'apr_kill_conditions_e = CUInt

{-# LINE 76 "Bindings/APR/Thread/Proc.hsc" #-}
c'APR_KILL_NEVER = 0
c'APR_KILL_NEVER :: (Num a) => a

{-# LINE 77 "Bindings/APR/Thread/Proc.hsc" #-}
c'APR_KILL_ALWAYS = 1
c'APR_KILL_ALWAYS :: (Num a) => a

{-# LINE 78 "Bindings/APR/Thread/Proc.hsc" #-}
c'APR_KILL_AFTER_TIMEOUT = 2
c'APR_KILL_AFTER_TIMEOUT :: (Num a) => a

{-# LINE 79 "Bindings/APR/Thread/Proc.hsc" #-}
c'APR_JUST_WAIT = 3
c'APR_JUST_WAIT :: (Num a) => a

{-# LINE 80 "Bindings/APR/Thread/Proc.hsc" #-}
c'APR_KILL_ONLY_ONCE = 4
c'APR_KILL_ONLY_ONCE :: (Num a) => a

{-# LINE 81 "Bindings/APR/Thread/Proc.hsc" #-}


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

foreign import ccall "apr_threadattr_create" c'apr_threadattr_create
  :: Ptr (Ptr C'apr_threadattr_t) -> Ptr C'apr_pool_t -> IO C'apr_status_t
foreign import ccall "&apr_threadattr_create" p'apr_threadattr_create
  :: FunPtr (Ptr (Ptr C'apr_threadattr_t) -> Ptr C'apr_pool_t -> IO C'apr_status_t)

{-# LINE 85 "Bindings/APR/Thread/Proc.hsc" #-}
foreign import ccall "apr_threadattr_detach_set" c'apr_threadattr_detach_set
  :: Ptr C'apr_threadattr_t -> C'apr_int32_t -> IO C'apr_status_t
foreign import ccall "&apr_threadattr_detach_set" p'apr_threadattr_detach_set
  :: FunPtr (Ptr C'apr_threadattr_t -> C'apr_int32_t -> IO C'apr_status_t)

{-# LINE 86 "Bindings/APR/Thread/Proc.hsc" #-}
foreign import ccall "apr_threadattr_detach_get" c'apr_threadattr_detach_get
  :: Ptr C'apr_threadattr_t -> IO C'apr_status_t
foreign import ccall "&apr_threadattr_detach_get" p'apr_threadattr_detach_get
  :: FunPtr (Ptr C'apr_threadattr_t -> IO C'apr_status_t)

{-# LINE 87 "Bindings/APR/Thread/Proc.hsc" #-}
foreign import ccall "apr_threadattr_stacksize_set" c'apr_threadattr_stacksize_set
  :: Ptr C'apr_threadattr_t -> C'apr_size_t -> IO C'apr_status_t
foreign import ccall "&apr_threadattr_stacksize_set" p'apr_threadattr_stacksize_set
  :: FunPtr (Ptr C'apr_threadattr_t -> C'apr_size_t -> IO C'apr_status_t)

{-# LINE 88 "Bindings/APR/Thread/Proc.hsc" #-}
foreign import ccall "apr_threadattr_guardsize_set" c'apr_threadattr_guardsize_set
  :: Ptr C'apr_threadattr_t -> C'apr_size_t -> IO C'apr_status_t
foreign import ccall "&apr_threadattr_guardsize_set" p'apr_threadattr_guardsize_set
  :: FunPtr (Ptr C'apr_threadattr_t -> C'apr_size_t -> IO C'apr_status_t)

{-# LINE 89 "Bindings/APR/Thread/Proc.hsc" #-}

foreign import ccall "apr_thread_create" c'apr_thread_create
  :: Ptr (Ptr C'apr_thread_t) -> Ptr C'apr_threadattr_t -> C'apr_thread_start_t -> Ptr () -> Ptr C'apr_pool_t -> IO C'apr_status_t
foreign import ccall "&apr_thread_create" p'apr_thread_create
  :: FunPtr (Ptr (Ptr C'apr_thread_t) -> Ptr C'apr_threadattr_t -> C'apr_thread_start_t -> Ptr () -> Ptr C'apr_pool_t -> IO C'apr_status_t)

{-# LINE 91 "Bindings/APR/Thread/Proc.hsc" #-}
foreign import ccall "apr_thread_exit" c'apr_thread_exit
  :: Ptr C'apr_thread_t -> C'apr_status_t -> IO C'apr_status_t
foreign import ccall "&apr_thread_exit" p'apr_thread_exit
  :: FunPtr (Ptr C'apr_thread_t -> C'apr_status_t -> IO C'apr_status_t)

{-# LINE 92 "Bindings/APR/Thread/Proc.hsc" #-}
foreign import ccall "apr_thread_join" c'apr_thread_join
  :: Ptr C'apr_status_t -> Ptr C'apr_thread_t -> IO C'apr_status_t
foreign import ccall "&apr_thread_join" p'apr_thread_join
  :: FunPtr (Ptr C'apr_status_t -> Ptr C'apr_thread_t -> IO C'apr_status_t)

{-# LINE 93 "Bindings/APR/Thread/Proc.hsc" #-}
foreign import ccall "apr_thread_yield" c'apr_thread_yield
  :: IO ()
foreign import ccall "&apr_thread_yield" p'apr_thread_yield
  :: FunPtr (IO ())

{-# LINE 94 "Bindings/APR/Thread/Proc.hsc" #-}

foreign import ccall "apr_thread_once_init" c'apr_thread_once_init
  :: Ptr (Ptr C'apr_thread_once_t) -> Ptr C'apr_pool_t -> IO C'apr_status_t
foreign import ccall "&apr_thread_once_init" p'apr_thread_once_init
  :: FunPtr (Ptr (Ptr C'apr_thread_once_t) -> Ptr C'apr_pool_t -> IO C'apr_status_t)

{-# LINE 96 "Bindings/APR/Thread/Proc.hsc" #-}
foreign import ccall "apr_thread_once" c'apr_thread_once
  :: Ptr C'apr_thread_once_t -> FunPtr (IO ()) -> IO C'apr_status_t
foreign import ccall "&apr_thread_once" p'apr_thread_once
  :: FunPtr (Ptr C'apr_thread_once_t -> FunPtr (IO ()) -> IO C'apr_status_t)

{-# LINE 97 "Bindings/APR/Thread/Proc.hsc" #-}

foreign import ccall "apr_thread_detach" c'apr_thread_detach
  :: Ptr C'apr_thread_t -> IO C'apr_status_t
foreign import ccall "&apr_thread_detach" p'apr_thread_detach
  :: FunPtr (Ptr C'apr_thread_t -> IO C'apr_status_t)

{-# LINE 99 "Bindings/APR/Thread/Proc.hsc" #-}
foreign import ccall "apr_thread_data_get" c'apr_thread_data_get
  :: Ptr (Ptr ()) -> Ptr CChar -> Ptr C'apr_thread_t -> IO C'apr_status_t
foreign import ccall "&apr_thread_data_get" p'apr_thread_data_get
  :: FunPtr (Ptr (Ptr ()) -> Ptr CChar -> Ptr C'apr_thread_t -> IO C'apr_status_t)

{-# LINE 100 "Bindings/APR/Thread/Proc.hsc" #-}
foreign import ccall "apr_thread_data_set" c'apr_thread_data_set
  :: Ptr () -> Ptr CChar -> FunPtr (Ptr () -> IO C'apr_status_t) -> Ptr C'apr_thread_t -> IO C'apr_status_t
foreign import ccall "&apr_thread_data_set" p'apr_thread_data_set
  :: FunPtr (Ptr () -> Ptr CChar -> FunPtr (Ptr () -> IO C'apr_status_t) -> Ptr C'apr_thread_t -> IO C'apr_status_t)

{-# LINE 101 "Bindings/APR/Thread/Proc.hsc" #-}

foreign import ccall "apr_threadkey_private_create" c'apr_threadkey_private_create
  :: Ptr (Ptr C'apr_threadkey_t) -> FunPtr (Ptr () -> IO ()) -> Ptr C'apr_pool_t -> IO C'apr_status_t
foreign import ccall "&apr_threadkey_private_create" p'apr_threadkey_private_create
  :: FunPtr (Ptr (Ptr C'apr_threadkey_t) -> FunPtr (Ptr () -> IO ()) -> Ptr C'apr_pool_t -> IO C'apr_status_t)

{-# LINE 103 "Bindings/APR/Thread/Proc.hsc" #-}
foreign import ccall "apr_threadkey_private_get" c'apr_threadkey_private_get
  :: Ptr (Ptr ()) -> Ptr C'apr_threadkey_t -> IO C'apr_status_t
foreign import ccall "&apr_threadkey_private_get" p'apr_threadkey_private_get
  :: FunPtr (Ptr (Ptr ()) -> Ptr C'apr_threadkey_t -> IO C'apr_status_t)

{-# LINE 104 "Bindings/APR/Thread/Proc.hsc" #-}
foreign import ccall "apr_threadkey_private_set" c'apr_threadkey_private_set
  :: Ptr () -> Ptr C'apr_threadkey_t -> IO C'apr_status_t
foreign import ccall "&apr_threadkey_private_set" p'apr_threadkey_private_set
  :: FunPtr (Ptr () -> Ptr C'apr_threadkey_t -> IO C'apr_status_t)

{-# LINE 105 "Bindings/APR/Thread/Proc.hsc" #-}
foreign import ccall "apr_threadkey_private_delete" c'apr_threadkey_private_delete
  :: Ptr C'apr_threadkey_t -> Ptr C'apr_status_t
foreign import ccall "&apr_threadkey_private_delete" p'apr_threadkey_private_delete
  :: FunPtr (Ptr C'apr_threadkey_t -> Ptr C'apr_status_t)

{-# LINE 106 "Bindings/APR/Thread/Proc.hsc" #-}

foreign import ccall "apr_threadkey_data_get" c'apr_threadkey_data_get
  :: Ptr (Ptr ()) -> Ptr CChar -> Ptr C'apr_threadkey_t -> IO C'apr_status_t
foreign import ccall "&apr_threadkey_data_get" p'apr_threadkey_data_get
  :: FunPtr (Ptr (Ptr ()) -> Ptr CChar -> Ptr C'apr_threadkey_t -> IO C'apr_status_t)

{-# LINE 108 "Bindings/APR/Thread/Proc.hsc" #-}
foreign import ccall "apr_threadkey_data_set" c'apr_threadkey_data_set
  :: Ptr () -> Ptr CChar -> FunPtr (Ptr () -> IO C'apr_status_t) -> Ptr C'apr_threadkey_t -> IO C'apr_status_t
foreign import ccall "&apr_threadkey_data_set" p'apr_threadkey_data_set
  :: FunPtr (Ptr () -> Ptr CChar -> FunPtr (Ptr () -> IO C'apr_status_t) -> Ptr C'apr_threadkey_t -> IO C'apr_status_t)

{-# LINE 109 "Bindings/APR/Thread/Proc.hsc" #-}


{-# LINE 111 "Bindings/APR/Thread/Proc.hsc" #-}

foreign import ccall "apr_procattr_create" c'apr_procattr_create
  :: Ptr (Ptr C'apr_procattr_t) -> Ptr C'apr_pool_t -> IO C'apr_status_t
foreign import ccall "&apr_procattr_create" p'apr_procattr_create
  :: FunPtr (Ptr (Ptr C'apr_procattr_t) -> Ptr C'apr_pool_t -> IO C'apr_status_t)

{-# LINE 113 "Bindings/APR/Thread/Proc.hsc" #-}
foreign import ccall "apr_procattr_io_set" c'apr_procattr_io_set
  :: Ptr C'apr_procattr_t -> C'apr_int32_t -> C'apr_int32_t -> C'apr_int32_t -> IO C'apr_status_t
foreign import ccall "&apr_procattr_io_set" p'apr_procattr_io_set
  :: FunPtr (Ptr C'apr_procattr_t -> C'apr_int32_t -> C'apr_int32_t -> C'apr_int32_t -> IO C'apr_status_t)

{-# LINE 114 "Bindings/APR/Thread/Proc.hsc" #-}
foreign import ccall "apr_procattr_child_in_set" c'apr_procattr_child_in_set
  :: Ptr C'apr_procattr_t -> Ptr C'apr_file_t -> Ptr C'apr_file_t -> IO C'apr_status_t
foreign import ccall "&apr_procattr_child_in_set" p'apr_procattr_child_in_set
  :: FunPtr (Ptr C'apr_procattr_t -> Ptr C'apr_file_t -> Ptr C'apr_file_t -> IO C'apr_status_t)

{-# LINE 115 "Bindings/APR/Thread/Proc.hsc" #-}
foreign import ccall "apr_procattr_child_out_set" c'apr_procattr_child_out_set
  :: Ptr C'apr_procattr_t -> Ptr C'apr_file_t -> Ptr C'apr_file_t -> IO C'apr_status_t
foreign import ccall "&apr_procattr_child_out_set" p'apr_procattr_child_out_set
  :: FunPtr (Ptr C'apr_procattr_t -> Ptr C'apr_file_t -> Ptr C'apr_file_t -> IO C'apr_status_t)

{-# LINE 116 "Bindings/APR/Thread/Proc.hsc" #-}
foreign import ccall "apr_procattr_child_err_set" c'apr_procattr_child_err_set
  :: Ptr C'apr_procattr_t -> Ptr C'apr_file_t -> Ptr C'apr_file_t -> IO C'apr_status_t
foreign import ccall "&apr_procattr_child_err_set" p'apr_procattr_child_err_set
  :: FunPtr (Ptr C'apr_procattr_t -> Ptr C'apr_file_t -> Ptr C'apr_file_t -> IO C'apr_status_t)

{-# LINE 117 "Bindings/APR/Thread/Proc.hsc" #-}
foreign import ccall "apr_procattr_dir_set" c'apr_procattr_dir_set
  :: Ptr C'apr_procattr_t -> Ptr CChar -> IO C'apr_status_t
foreign import ccall "&apr_procattr_dir_set" p'apr_procattr_dir_set
  :: FunPtr (Ptr C'apr_procattr_t -> Ptr CChar -> IO C'apr_status_t)

{-# LINE 118 "Bindings/APR/Thread/Proc.hsc" #-}
foreign import ccall "apr_procattr_cmdtype_set" c'apr_procattr_cmdtype_set
  :: Ptr C'apr_procattr_t -> C'apr_cmdtype_e -> IO C'apr_status_t
foreign import ccall "&apr_procattr_cmdtype_set" p'apr_procattr_cmdtype_set
  :: FunPtr (Ptr C'apr_procattr_t -> C'apr_cmdtype_e -> IO C'apr_status_t)

{-# LINE 119 "Bindings/APR/Thread/Proc.hsc" #-}
foreign import ccall "apr_procattr_detach_set" c'apr_procattr_detach_set
  :: Ptr C'apr_procattr_t -> C'apr_int32_t -> IO C'apr_status_t
foreign import ccall "&apr_procattr_detach_set" p'apr_procattr_detach_set
  :: FunPtr (Ptr C'apr_procattr_t -> C'apr_int32_t -> IO C'apr_status_t)

{-# LINE 120 "Bindings/APR/Thread/Proc.hsc" #-}


{-# LINE 122 "Bindings/APR/Thread/Proc.hsc" #-}
-- FIXME: rlimit
-- #  ccall apr_procattr_limit_set  , Ptr <apr_procattr_t> -> <apr_int32_t> -> Ptr <rlimit> -> IO <apr_status_t>

{-# LINE 125 "Bindings/APR/Thread/Proc.hsc" #-}

foreign import ccall "apr_procattr_child_errfn_set" c'apr_procattr_child_errfn_set
  :: Ptr C'apr_procattr_t -> C'apr_child_errfn_t -> IO C'apr_status_t
foreign import ccall "&apr_procattr_child_errfn_set" p'apr_procattr_child_errfn_set
  :: FunPtr (Ptr C'apr_procattr_t -> C'apr_child_errfn_t -> IO C'apr_status_t)

{-# LINE 127 "Bindings/APR/Thread/Proc.hsc" #-}
foreign import ccall "apr_procattr_error_check_set" c'apr_procattr_error_check_set
  :: Ptr C'apr_procattr_t -> C'apr_int32_t -> IO C'apr_status_t
foreign import ccall "&apr_procattr_error_check_set" p'apr_procattr_error_check_set
  :: FunPtr (Ptr C'apr_procattr_t -> C'apr_int32_t -> IO C'apr_status_t)

{-# LINE 128 "Bindings/APR/Thread/Proc.hsc" #-}
foreign import ccall "apr_procattr_addrspace_set" c'apr_procattr_addrspace_set
  :: Ptr C'apr_procattr_t -> C'apr_int32_t -> IO C'apr_status_t
foreign import ccall "&apr_procattr_addrspace_set" p'apr_procattr_addrspace_set
  :: FunPtr (Ptr C'apr_procattr_t -> C'apr_int32_t -> IO C'apr_status_t)

{-# LINE 129 "Bindings/APR/Thread/Proc.hsc" #-}
foreign import ccall "apr_procattr_user_set" c'apr_procattr_user_set
  :: Ptr C'apr_procattr_t -> Ptr CChar -> Ptr CChar -> IO C'apr_status_t
foreign import ccall "&apr_procattr_user_set" p'apr_procattr_user_set
  :: FunPtr (Ptr C'apr_procattr_t -> Ptr CChar -> Ptr CChar -> IO C'apr_status_t)

{-# LINE 130 "Bindings/APR/Thread/Proc.hsc" #-}
foreign import ccall "apr_procattr_group_set" c'apr_procattr_group_set
  :: Ptr C'apr_procattr_t -> Ptr CChar -> Ptr C'apr_status_t
foreign import ccall "&apr_procattr_group_set" p'apr_procattr_group_set
  :: FunPtr (Ptr C'apr_procattr_t -> Ptr CChar -> Ptr C'apr_status_t)

{-# LINE 131 "Bindings/APR/Thread/Proc.hsc" #-}


{-# LINE 133 "Bindings/APR/Thread/Proc.hsc" #-}
foreign import ccall "apr_proc_fork" c'apr_proc_fork
  :: Ptr C'apr_proc_t -> Ptr C'apr_pool_t -> IO C'apr_status_t
foreign import ccall "&apr_proc_fork" p'apr_proc_fork
  :: FunPtr (Ptr C'apr_proc_t -> Ptr C'apr_pool_t -> IO C'apr_status_t)

{-# LINE 134 "Bindings/APR/Thread/Proc.hsc" #-}

{-# LINE 135 "Bindings/APR/Thread/Proc.hsc" #-}

foreign import ccall "apr_proc_create" c'apr_proc_create
  :: Ptr C'apr_proc_t -> Ptr CChar -> Ptr (Ptr CChar) -> Ptr (Ptr CChar) -> Ptr C'apr_procattr_t -> Ptr C'apr_pool_t -> IO C'apr_status_t
foreign import ccall "&apr_proc_create" p'apr_proc_create
  :: FunPtr (Ptr C'apr_proc_t -> Ptr CChar -> Ptr (Ptr CChar) -> Ptr (Ptr CChar) -> Ptr C'apr_procattr_t -> Ptr C'apr_pool_t -> IO C'apr_status_t)

{-# LINE 137 "Bindings/APR/Thread/Proc.hsc" #-}
foreign import ccall "apr_proc_wait" c'apr_proc_wait
  :: Ptr C'apr_proc_t -> Ptr CInt -> Ptr C'apr_exit_why_e -> C'apr_wait_how_e -> IO C'apr_status_t
foreign import ccall "&apr_proc_wait" p'apr_proc_wait
  :: FunPtr (Ptr C'apr_proc_t -> Ptr CInt -> Ptr C'apr_exit_why_e -> C'apr_wait_how_e -> IO C'apr_status_t)

{-# LINE 138 "Bindings/APR/Thread/Proc.hsc" #-}
foreign import ccall "apr_proc_wait_all_procs" c'apr_proc_wait_all_procs
  :: Ptr C'apr_proc_t -> Ptr CInt -> Ptr C'apr_exit_why_e -> C'apr_wait_how_e -> Ptr C'apr_pool_t -> IO C'apr_status_t
foreign import ccall "&apr_proc_wait_all_procs" p'apr_proc_wait_all_procs
  :: FunPtr (Ptr C'apr_proc_t -> Ptr CInt -> Ptr C'apr_exit_why_e -> C'apr_wait_how_e -> Ptr C'apr_pool_t -> IO C'apr_status_t)

{-# LINE 139 "Bindings/APR/Thread/Proc.hsc" #-}

c'APR_PROC_DETACH_FOREGROUND = 0
c'APR_PROC_DETACH_FOREGROUND :: (Num a) => a

{-# LINE 141 "Bindings/APR/Thread/Proc.hsc" #-}
c'APR_PROC_DETACH_DAEMONIZE = 1
c'APR_PROC_DETACH_DAEMONIZE :: (Num a) => a

{-# LINE 142 "Bindings/APR/Thread/Proc.hsc" #-}

foreign import ccall "apr_proc_detach" c'apr_proc_detach
  :: CInt -> IO C'apr_status_t
foreign import ccall "&apr_proc_detach" p'apr_proc_detach
  :: FunPtr (CInt -> IO C'apr_status_t)

{-# LINE 144 "Bindings/APR/Thread/Proc.hsc" #-}
foreign import ccall "apr_proc_other_child_register" c'apr_proc_other_child_register
  :: Ptr C'apr_proc_t -> FunPtr (CInt -> Ptr () -> CInt -> IO ()) -> Ptr () -> Ptr C'apr_file_t -> Ptr C'apr_pool_t -> IO ()
foreign import ccall "&apr_proc_other_child_register" p'apr_proc_other_child_register
  :: FunPtr (Ptr C'apr_proc_t -> FunPtr (CInt -> Ptr () -> CInt -> IO ()) -> Ptr () -> Ptr C'apr_file_t -> Ptr C'apr_pool_t -> IO ())

{-# LINE 145 "Bindings/APR/Thread/Proc.hsc" #-}
foreign import ccall "apr_proc_other_child_unregister" c'apr_proc_other_child_unregister
  :: Ptr () -> IO ()
foreign import ccall "&apr_proc_other_child_unregister" p'apr_proc_other_child_unregister
  :: FunPtr (Ptr () -> IO ())

{-# LINE 146 "Bindings/APR/Thread/Proc.hsc" #-}
foreign import ccall "apr_proc_other_child_alert" c'apr_proc_other_child_alert
  :: Ptr C'apr_proc_t -> CInt -> CInt -> IO C'apr_status_t
foreign import ccall "&apr_proc_other_child_alert" p'apr_proc_other_child_alert
  :: FunPtr (Ptr C'apr_proc_t -> CInt -> CInt -> IO C'apr_status_t)

{-# LINE 147 "Bindings/APR/Thread/Proc.hsc" #-}
foreign import ccall "apr_proc_other_child_refresh" c'apr_proc_other_child_refresh
  :: Ptr C'apr_other_child_rec_t -> CInt -> IO ()
foreign import ccall "&apr_proc_other_child_refresh" p'apr_proc_other_child_refresh
  :: FunPtr (Ptr C'apr_other_child_rec_t -> CInt -> IO ())

{-# LINE 148 "Bindings/APR/Thread/Proc.hsc" #-}
foreign import ccall "apr_proc_other_child_refresh_all" c'apr_proc_other_child_refresh_all
  :: CInt -> IO ()
foreign import ccall "&apr_proc_other_child_refresh_all" p'apr_proc_other_child_refresh_all
  :: FunPtr (CInt -> IO ())

{-# LINE 149 "Bindings/APR/Thread/Proc.hsc" #-}
foreign import ccall "apr_proc_kill" c'apr_proc_kill
  :: Ptr C'apr_proc_t -> CInt -> IO C'apr_status_t
foreign import ccall "&apr_proc_kill" p'apr_proc_kill
  :: FunPtr (Ptr C'apr_proc_t -> CInt -> IO C'apr_status_t)

{-# LINE 150 "Bindings/APR/Thread/Proc.hsc" #-}
foreign import ccall "apr_pool_note_subprocess" c'apr_pool_note_subprocess
  :: Ptr C'apr_pool_t -> Ptr C'apr_pool_t -> C'apr_kill_conditions_e -> IO ()
foreign import ccall "&apr_pool_note_subprocess" p'apr_pool_note_subprocess
  :: FunPtr (Ptr C'apr_pool_t -> Ptr C'apr_pool_t -> C'apr_kill_conditions_e -> IO ())

{-# LINE 151 "Bindings/APR/Thread/Proc.hsc" #-}


{-# LINE 153 "Bindings/APR/Thread/Proc.hsc" #-}


{-# LINE 155 "Bindings/APR/Thread/Proc.hsc" #-}
foreign import ccall "apr_setup_signal_thread" c'apr_setup_signal_thread
  :: IO C'apr_status_t
foreign import ccall "&apr_setup_signal_thread" p'apr_setup_signal_thread
  :: FunPtr (IO C'apr_status_t)

{-# LINE 156 "Bindings/APR/Thread/Proc.hsc" #-}
foreign import ccall "apr_signal_thread" c'apr_signal_thread
  :: FunPtr (CInt -> IO CInt) -> IO C'apr_status_t
foreign import ccall "&apr_signal_thread" p'apr_signal_thread
  :: FunPtr (FunPtr (CInt -> IO CInt) -> IO C'apr_status_t)

{-# LINE 157 "Bindings/APR/Thread/Proc.hsc" #-}

{-# LINE 158 "Bindings/APR/Thread/Proc.hsc" #-}

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

{-# LINE 160 "Bindings/APR/Thread/Proc.hsc" #-}


{-# LINE 162 "Bindings/APR/Thread/Proc.hsc" #-}