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

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

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

{-# LINE 4 "Bindings/APR/Buckets.hsc" #-}

module Bindings.APR.Buckets 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 7 "Bindings/APR/Buckets.hsc" #-}
import Bindings.APR
import Bindings.APR.Allocator.Types
import Bindings.APR.ErrNo
import Bindings.APR.File.Types
import Bindings.APR.MMap
import Bindings.APR.Network.IO
import Bindings.APR.Pools
import Bindings.APR.Want

c'APR_BUCKET_BUFF_SIZE = 8000
c'APR_BUCKET_BUFF_SIZE :: (Num a) => a

{-# LINE 17 "Bindings/APR/Buckets.hsc" #-}

type C'apr_read_type_e = CUInt

{-# LINE 19 "Bindings/APR/Buckets.hsc" #-}
c'APR_BLOCK_READ = 0
c'APR_BLOCK_READ :: (Num a) => a

{-# LINE 20 "Bindings/APR/Buckets.hsc" #-}
c'APR_NONBLOCK_READ = 1
c'APR_NONBLOCK_READ :: (Num a) => a

{-# LINE 21 "Bindings/APR/Buckets.hsc" #-}

data C'apr_bucket_alloc_t = C'apr_bucket_alloc_t

{-# LINE 23 "Bindings/APR/Buckets.hsc" #-}

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

{-# LINE 25 "Bindings/APR/Buckets.hsc" #-}
c'APR_BUCKET_METADATA = 1
c'APR_BUCKET_METADATA :: (Num a) => a

{-# LINE 26 "Bindings/APR/Buckets.hsc" #-}
data C'apr_bucket_type_t = C'apr_bucket_type_t{
{-# LINE 27 "Bindings/APR/Buckets.hsc" #-}

  c'apr_bucket_type_t'name :: Ptr CChar
{-# LINE 28 "Bindings/APR/Buckets.hsc" #-}
,
  c'apr_bucket_type_t'num_func :: CInt
{-# LINE 29 "Bindings/APR/Buckets.hsc" #-}
,
  c'apr_bucket_type_t'is_metadata :: CInt
{-# LINE 30 "Bindings/APR/Buckets.hsc" #-}
,
  c'apr_bucket_type_t'destroy :: FunPtr (Ptr () -> IO ())
{-# LINE 31 "Bindings/APR/Buckets.hsc" #-}
,
  c'apr_bucket_type_t'read :: FunPtr (Ptr C'apr_bucket -> Ptr (Ptr CChar) -> Ptr C'apr_size_t -> C'apr_read_type_e -> IO C'apr_status_t)
{-# LINE 32 "Bindings/APR/Buckets.hsc" #-}
,
  c'apr_bucket_type_t'setaside :: FunPtr (Ptr C'apr_bucket -> Ptr C'apr_pool_t -> IO C'apr_status_t)
{-# LINE 33 "Bindings/APR/Buckets.hsc" #-}
,
  c'apr_bucket_type_t'split :: FunPtr (Ptr C'apr_bucket -> C'apr_size_t -> IO C'apr_status_t)
{-# LINE 34 "Bindings/APR/Buckets.hsc" #-}
,
  c'apr_bucket_type_t'copy :: FunPtr (Ptr C'apr_bucket -> Ptr (Ptr C'apr_bucket) -> IO C'apr_status_t)
{-# LINE 35 "Bindings/APR/Buckets.hsc" #-}

 } deriving (Eq,Show)
instance Storable C'apr_bucket_type_t where
  sizeOf _ = 32
  alignment = sizeOf
  peek p = do
    v0 <- peekByteOff p 0
    v1 <- peekByteOff p 4
    v2 <- peekByteOff p 8
    v3 <- peekByteOff p 12
    v4 <- peekByteOff p 16
    v5 <- peekByteOff p 20
    v6 <- peekByteOff p 24
    v7 <- peekByteOff p 28
    return $ C'apr_bucket_type_t v0 v1 v2 v3 v4 v5 v6 v7
  poke p (C'apr_bucket_type_t v0 v1 v2 v3 v4 v5 v6 v7) = do
    pokeByteOff p 0 v0
    pokeByteOff p 4 v1
    pokeByteOff p 8 v2
    pokeByteOff p 12 v3
    pokeByteOff p 16 v4
    pokeByteOff p 20 v5
    pokeByteOff p 24 v6
    pokeByteOff p 28 v7
    return ()

{-# LINE 36 "Bindings/APR/Buckets.hsc" #-}

data C'apr_bucket = C'apr_bucket{
{-# LINE 38 "Bindings/APR/Buckets.hsc" #-}

  c'apr_bucket'link'next :: Ptr C'apr_bucket,
  c'apr_bucket'link'prev :: Ptr C'apr_bucket
{-# LINE 39 "Bindings/APR/Buckets.hsc" #-}
,
  c'apr_bucket'type :: Ptr C'apr_bucket_type_t
{-# LINE 40 "Bindings/APR/Buckets.hsc" #-}
,
  c'apr_bucket'length :: C'apr_size_t
{-# LINE 41 "Bindings/APR/Buckets.hsc" #-}
,
  c'apr_bucket'start :: C'apr_off_t
{-# LINE 42 "Bindings/APR/Buckets.hsc" #-}
,
  c'apr_bucket'data :: Ptr ()
{-# LINE 43 "Bindings/APR/Buckets.hsc" #-}
,
  c'apr_bucket'free :: FunPtr (Ptr () -> IO ())
{-# LINE 44 "Bindings/APR/Buckets.hsc" #-}
,
  c'apr_bucket'list :: Ptr C'apr_bucket_alloc_t
{-# LINE 45 "Bindings/APR/Buckets.hsc" #-}

 } deriving (Eq,Show)
instance Storable C'apr_bucket where
  sizeOf _ = 36
  alignment = sizeOf
  peek p = do
    v0 <- peekByteOff p 0
    v1 <- peekByteOff p 4
    v2 <- peekByteOff p 8
    v3 <- peekByteOff p 12
    v4 <- peekByteOff p 16
    v5 <- peekByteOff p 24
    v6 <- peekByteOff p 28
    v7 <- peekByteOff p 32
    return $ C'apr_bucket v0 v1 v2 v3 v4 v5 v6 v7
  poke p (C'apr_bucket v0 v1 v2 v3 v4 v5 v6 v7) = do
    pokeByteOff p 0 v0
    pokeByteOff p 4 v1
    pokeByteOff p 8 v2
    pokeByteOff p 12 v3
    pokeByteOff p 16 v4
    pokeByteOff p 24 v5
    pokeByteOff p 28 v6
    pokeByteOff p 32 v7
    return ()

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

data C'apr_bucket_list = C'apr_bucket_list{
  c'apr_bucket_list'next :: Ptr C'apr_bucket,
  c'apr_bucket_list'prev :: Ptr C'apr_bucket
 } deriving (Eq,Show)
instance Storable C'apr_bucket_list where
  sizeOf _ = 8
  alignment = sizeOf
  peek p = do
    v0 <- peekByteOff p 0
    v1 <- peekByteOff p 4
    return $ C'apr_bucket_list v0 v1
  poke p (C'apr_bucket_list v0 v1) = do
    pokeByteOff p 0 v0
    pokeByteOff p 4 v1
    return ()

{-# LINE 48 "Bindings/APR/Buckets.hsc" #-}
data C'apr_bucket_brigade = C'apr_bucket_brigade{
{-# LINE 49 "Bindings/APR/Buckets.hsc" #-}

  c'apr_bucket_brigade'p :: Ptr C'apr_pool_t
{-# LINE 50 "Bindings/APR/Buckets.hsc" #-}
,
  c'apr_bucket_brigade'list :: C'apr_bucket_list
{-# LINE 51 "Bindings/APR/Buckets.hsc" #-}
,
  c'apr_bucket_brigade'bucket_alloc :: Ptr C'apr_bucket_alloc_t
{-# LINE 52 "Bindings/APR/Buckets.hsc" #-}

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

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

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

{-# LINE 55 "Bindings/APR/Buckets.hsc" #-}

foreign import ccall "inline_APR_BRIGADE_CHECK_CONSISTENCY" c'APR_BRIGADE_CHECK_CONSISTENCY
  :: Ptr C'apr_bucket_brigade -> IO ()

{-# LINE 57 "Bindings/APR/Buckets.hsc" #-}
foreign import ccall "inline_APR_BUCKET_CHECK_CONSISTENCY" c'APR_BUCKET_CHECK_CONSISTENCY
  :: Ptr C'apr_bucket -> IO ()

{-# LINE 58 "Bindings/APR/Buckets.hsc" #-}

foreign import ccall "inline_APR_BRIGADE_SENTINEL" c'APR_BRIGADE_SENTINEL
  :: Ptr C'apr_bucket_brigade -> IO (Ptr C'apr_bucket)

{-# LINE 60 "Bindings/APR/Buckets.hsc" #-}
foreign import ccall "inline_APR_BRIGADE_EMPTY" c'APR_BRIGADE_EMPTY
  :: Ptr C'apr_bucket_brigade -> IO CInt

{-# LINE 61 "Bindings/APR/Buckets.hsc" #-}
foreign import ccall "inline_APR_BRIGADE_FIRST" c'APR_BRIGADE_FIRST
  :: Ptr C'apr_bucket_brigade -> IO (Ptr C'apr_bucket)

{-# LINE 62 "Bindings/APR/Buckets.hsc" #-}
foreign import ccall "inline_APR_BRIGADE_LAST" c'APR_BRIGADE_LAST
  :: Ptr C'apr_bucket_brigade -> IO (Ptr C'apr_bucket)

{-# LINE 63 "Bindings/APR/Buckets.hsc" #-}
foreign import ccall "inline_APR_BRIGADE_INSERT_HEAD" c'APR_BRIGADE_INSERT_HEAD
  :: Ptr C'apr_bucket_brigade -> Ptr C'apr_bucket -> IO ()

{-# LINE 64 "Bindings/APR/Buckets.hsc" #-}
foreign import ccall "inline_APR_BRIGADE_INSERT_TAIL" c'APR_BRIGADE_INSERT_TAIL
  :: Ptr C'apr_bucket_brigade -> Ptr C'apr_bucket -> IO ()

{-# LINE 65 "Bindings/APR/Buckets.hsc" #-}
foreign import ccall "inline_APR_BRIGADE_CONCAT" c'APR_BRIGADE_CONCAT
  :: Ptr C'apr_bucket_brigade -> Ptr C'apr_bucket_brigade -> IO ()

{-# LINE 66 "Bindings/APR/Buckets.hsc" #-}
foreign import ccall "inline_APR_BRIGADE_PREPEND" c'APR_BRIGADE_PREPEND
  :: Ptr C'apr_bucket_brigade -> Ptr C'apr_bucket_brigade -> IO ()

{-# LINE 67 "Bindings/APR/Buckets.hsc" #-}

foreign import ccall "inline_APR_BUCKET_INSERT_BEFORE" c'APR_BUCKET_INSERT_BEFORE
  :: Ptr C'apr_bucket -> Ptr C'apr_bucket -> IO ()

{-# LINE 69 "Bindings/APR/Buckets.hsc" #-}
foreign import ccall "inline_APR_BUCKET_INSERT_AFTER" c'APR_BUCKET_INSERT_AFTER
  :: Ptr C'apr_bucket -> Ptr C'apr_bucket -> IO ()

{-# LINE 70 "Bindings/APR/Buckets.hsc" #-}
foreign import ccall "inline_APR_BUCKET_NEXT" c'APR_BUCKET_NEXT
  :: Ptr C'apr_bucket -> IO (Ptr C'apr_bucket)

{-# LINE 71 "Bindings/APR/Buckets.hsc" #-}
foreign import ccall "inline_APR_BUCKET_PREV" c'APR_BUCKET_PREV
  :: Ptr C'apr_bucket -> IO (Ptr C'apr_bucket)

{-# LINE 72 "Bindings/APR/Buckets.hsc" #-}
foreign import ccall "inline_APR_BUCKET_REMOVE" c'APR_BUCKET_REMOVE
  :: Ptr C'apr_bucket -> IO ()

{-# LINE 73 "Bindings/APR/Buckets.hsc" #-}
foreign import ccall "inline_APR_BUCKET_INIT" c'APR_BUCKET_INIT
  :: Ptr C'apr_bucket -> IO ()

{-# LINE 74 "Bindings/APR/Buckets.hsc" #-}
foreign import ccall "inline_APR_BUCKET_IS_METADATA" c'APR_BUCKET_IS_METADATA
  :: Ptr C'apr_bucket -> IO CInt

{-# LINE 75 "Bindings/APR/Buckets.hsc" #-}
foreign import ccall "inline_APR_BUCKET_IS_FLUSH" c'APR_BUCKET_IS_FLUSH
  :: Ptr C'apr_bucket -> IO CInt

{-# LINE 76 "Bindings/APR/Buckets.hsc" #-}
foreign import ccall "inline_APR_BUCKET_IS_EOS" c'APR_BUCKET_IS_EOS
  :: Ptr C'apr_bucket -> IO CInt

{-# LINE 77 "Bindings/APR/Buckets.hsc" #-}
foreign import ccall "inline_APR_BUCKET_IS_FILE" c'APR_BUCKET_IS_FILE
  :: Ptr C'apr_bucket -> IO CInt

{-# LINE 78 "Bindings/APR/Buckets.hsc" #-}
foreign import ccall "inline_APR_BUCKET_IS_PIPE" c'APR_BUCKET_IS_PIPE
  :: Ptr C'apr_bucket -> IO CInt

{-# LINE 79 "Bindings/APR/Buckets.hsc" #-}
foreign import ccall "inline_APR_BUCKET_IS_SOCKET" c'APR_BUCKET_IS_SOCKET
  :: Ptr C'apr_bucket -> IO CInt

{-# LINE 80 "Bindings/APR/Buckets.hsc" #-}
foreign import ccall "inline_APR_BUCKET_IS_HEAP" c'APR_BUCKET_IS_HEAP
  :: Ptr C'apr_bucket -> IO CInt

{-# LINE 81 "Bindings/APR/Buckets.hsc" #-}
foreign import ccall "inline_APR_BUCKET_IS_TRANSIENT" c'APR_BUCKET_IS_TRANSIENT
  :: Ptr C'apr_bucket -> IO CInt

{-# LINE 82 "Bindings/APR/Buckets.hsc" #-}
foreign import ccall "inline_APR_BUCKET_IS_IMMORTAL" c'APR_BUCKET_IS_IMMORTAL
  :: Ptr C'apr_bucket -> IO CInt

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

{-# LINE 84 "Bindings/APR/Buckets.hsc" #-}
foreign import ccall "inline_APR_BUCKET_IS_MMAP" c'APR_BUCKET_IS_MMAP
  :: Ptr C'apr_bucket -> IO CInt

{-# LINE 85 "Bindings/APR/Buckets.hsc" #-}

{-# LINE 86 "Bindings/APR/Buckets.hsc" #-}
foreign import ccall "inline_APR_BUCKET_IS_POOL" c'APR_BUCKET_IS_POOL
  :: Ptr C'apr_bucket -> IO CInt

{-# LINE 87 "Bindings/APR/Buckets.hsc" #-}

data C'apr_bucket_refcount = C'apr_bucket_refcount{
{-# LINE 89 "Bindings/APR/Buckets.hsc" #-}

  c'apr_bucket_refcount'refcount :: CInt
{-# LINE 90 "Bindings/APR/Buckets.hsc" #-}

 } deriving (Eq,Show)
instance Storable C'apr_bucket_refcount where
  sizeOf _ = 4
  alignment = sizeOf
  peek p = do
    v0 <- peekByteOff p 0
    return $ C'apr_bucket_refcount v0
  poke p (C'apr_bucket_refcount v0) = do
    pokeByteOff p 0 v0
    return ()

{-# LINE 91 "Bindings/APR/Buckets.hsc" #-}

data C'apr_bucket_heap = C'apr_bucket_heap{
{-# LINE 93 "Bindings/APR/Buckets.hsc" #-}

  c'apr_bucket_heap'refcount :: C'apr_bucket_refcount
{-# LINE 94 "Bindings/APR/Buckets.hsc" #-}
,
  c'apr_bucket_heap'base :: Ptr CChar
{-# LINE 95 "Bindings/APR/Buckets.hsc" #-}
,
  c'apr_bucket_heap'alloc_len :: C'apr_size_t
{-# LINE 96 "Bindings/APR/Buckets.hsc" #-}
,
  c'apr_bucket_heap'free_func :: FunPtr (Ptr () -> IO ())
{-# LINE 97 "Bindings/APR/Buckets.hsc" #-}

 } deriving (Eq,Show)
instance Storable C'apr_bucket_heap 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_bucket_heap v0 v1 v2 v3
  poke p (C'apr_bucket_heap v0 v1 v2 v3) = do
    pokeByteOff p 0 v0
    pokeByteOff p 4 v1
    pokeByteOff p 8 v2
    pokeByteOff p 12 v3
    return ()

{-# LINE 98 "Bindings/APR/Buckets.hsc" #-}

data C'apr_bucket_pool = C'apr_bucket_pool{
{-# LINE 100 "Bindings/APR/Buckets.hsc" #-}

  c'apr_bucket_pool'heap :: C'apr_bucket_heap
{-# LINE 101 "Bindings/APR/Buckets.hsc" #-}
,
  c'apr_bucket_pool'base :: Ptr CChar
{-# LINE 102 "Bindings/APR/Buckets.hsc" #-}
,
  c'apr_bucket_pool'pool :: Ptr C'apr_pool_t
{-# LINE 103 "Bindings/APR/Buckets.hsc" #-}
,
  c'apr_bucket_pool'list :: Ptr C'apr_bucket_alloc_t
{-# LINE 104 "Bindings/APR/Buckets.hsc" #-}

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

{-# LINE 105 "Bindings/APR/Buckets.hsc" #-}


{-# LINE 107 "Bindings/APR/Buckets.hsc" #-}
data C'apr_bucket_mmap = C'apr_bucket_mmap{
{-# LINE 108 "Bindings/APR/Buckets.hsc" #-}

  c'apr_bucket_mmap'refcount :: C'apr_bucket_refcount
{-# LINE 109 "Bindings/APR/Buckets.hsc" #-}
,
  c'apr_bucket_mmap'mmap :: C'apr_mmap_t
{-# LINE 110 "Bindings/APR/Buckets.hsc" #-}

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

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

{-# LINE 112 "Bindings/APR/Buckets.hsc" #-}

data C'apr_bucket_file = C'apr_bucket_file{
{-# LINE 114 "Bindings/APR/Buckets.hsc" #-}

  c'apr_bucket_file'refcount :: C'apr_bucket_refcount
{-# LINE 115 "Bindings/APR/Buckets.hsc" #-}
,
  c'apr_bucket_file'fd :: Ptr C'apr_file_t
{-# LINE 116 "Bindings/APR/Buckets.hsc" #-}
,
  c'apr_bucket_file'readpool :: Ptr C'apr_pool_t
{-# LINE 117 "Bindings/APR/Buckets.hsc" #-}

{-# LINE 118 "Bindings/APR/Buckets.hsc" #-}
,
  c'apr_bucket_file'can_mmap :: CInt
{-# LINE 119 "Bindings/APR/Buckets.hsc" #-}

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

 } deriving (Eq,Show)
instance Storable C'apr_bucket_file 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_bucket_file v0 v1 v2 v3
  poke p (C'apr_bucket_file v0 v1 v2 v3) = do
    pokeByteOff p 0 v0
    pokeByteOff p 4 v1
    pokeByteOff p 8 v2
    pokeByteOff p 12 v3
    return ()

{-# LINE 121 "Bindings/APR/Buckets.hsc" #-}

data C'apr_bucket_structs = C'apr_bucket_structs{
{-# LINE 123 "Bindings/APR/Buckets.hsc" #-}

  c'apr_bucket_structs'b :: C'apr_bucket
{-# LINE 124 "Bindings/APR/Buckets.hsc" #-}
,
  c'apr_bucket_structs'heap :: C'apr_bucket_heap
{-# LINE 125 "Bindings/APR/Buckets.hsc" #-}
,
  c'apr_bucket_structs'pool :: C'apr_bucket_pool
{-# LINE 126 "Bindings/APR/Buckets.hsc" #-}

{-# LINE 127 "Bindings/APR/Buckets.hsc" #-}
,
  c'apr_bucket_structs'mmap :: C'apr_bucket_mmap
{-# LINE 128 "Bindings/APR/Buckets.hsc" #-}

{-# LINE 129 "Bindings/APR/Buckets.hsc" #-}
,
  c'apr_bucket_structs'file :: C'apr_bucket_file
{-# LINE 130 "Bindings/APR/Buckets.hsc" #-}

 } deriving (Eq,Show)
u'apr_bucket_structs'b v vf = alloca $ \p -> do
  poke p v
  pokeByteOff p 0 vf
  vu <- peek p
  return $ v 
    {c'apr_bucket_structs'b = c'apr_bucket_structs'b vu}
    {c'apr_bucket_structs'heap = c'apr_bucket_structs'heap vu}
    {c'apr_bucket_structs'pool = c'apr_bucket_structs'pool vu}
    {c'apr_bucket_structs'mmap = c'apr_bucket_structs'mmap vu}
    {c'apr_bucket_structs'file = c'apr_bucket_structs'file vu}
u'apr_bucket_structs'b :: C'apr_bucket_structs -> C'apr_bucket -> IO C'apr_bucket_structs
u'apr_bucket_structs'heap v vf = alloca $ \p -> do
  poke p v
  pokeByteOff p 0 vf
  vu <- peek p
  return $ v 
    {c'apr_bucket_structs'b = c'apr_bucket_structs'b vu}
    {c'apr_bucket_structs'heap = c'apr_bucket_structs'heap vu}
    {c'apr_bucket_structs'pool = c'apr_bucket_structs'pool vu}
    {c'apr_bucket_structs'mmap = c'apr_bucket_structs'mmap vu}
    {c'apr_bucket_structs'file = c'apr_bucket_structs'file vu}
u'apr_bucket_structs'heap :: C'apr_bucket_structs -> C'apr_bucket_heap -> IO C'apr_bucket_structs
u'apr_bucket_structs'pool v vf = alloca $ \p -> do
  poke p v
  pokeByteOff p 0 vf
  vu <- peek p
  return $ v 
    {c'apr_bucket_structs'b = c'apr_bucket_structs'b vu}
    {c'apr_bucket_structs'heap = c'apr_bucket_structs'heap vu}
    {c'apr_bucket_structs'pool = c'apr_bucket_structs'pool vu}
    {c'apr_bucket_structs'mmap = c'apr_bucket_structs'mmap vu}
    {c'apr_bucket_structs'file = c'apr_bucket_structs'file vu}
u'apr_bucket_structs'pool :: C'apr_bucket_structs -> C'apr_bucket_pool -> IO C'apr_bucket_structs
u'apr_bucket_structs'mmap v vf = alloca $ \p -> do
  poke p v
  pokeByteOff p 0 vf
  vu <- peek p
  return $ v 
    {c'apr_bucket_structs'b = c'apr_bucket_structs'b vu}
    {c'apr_bucket_structs'heap = c'apr_bucket_structs'heap vu}
    {c'apr_bucket_structs'pool = c'apr_bucket_structs'pool vu}
    {c'apr_bucket_structs'mmap = c'apr_bucket_structs'mmap vu}
    {c'apr_bucket_structs'file = c'apr_bucket_structs'file vu}
u'apr_bucket_structs'mmap :: C'apr_bucket_structs -> C'apr_bucket_mmap -> IO C'apr_bucket_structs
u'apr_bucket_structs'file v vf = alloca $ \p -> do
  poke p v
  pokeByteOff p 0 vf
  vu <- peek p
  return $ v 
    {c'apr_bucket_structs'b = c'apr_bucket_structs'b vu}
    {c'apr_bucket_structs'heap = c'apr_bucket_structs'heap vu}
    {c'apr_bucket_structs'pool = c'apr_bucket_structs'pool vu}
    {c'apr_bucket_structs'mmap = c'apr_bucket_structs'mmap vu}
    {c'apr_bucket_structs'file = c'apr_bucket_structs'file vu}
u'apr_bucket_structs'file :: C'apr_bucket_structs -> C'apr_bucket_file -> IO C'apr_bucket_structs
instance Storable C'apr_bucket_structs where
  sizeOf _ = 36
  alignment = sizeOf
  peek p = do
    v0 <- peekByteOff p 0
    v1 <- peekByteOff p 0
    v2 <- peekByteOff p 0
    v3 <- peekByteOff p 0
    v4 <- peekByteOff p 0
    return $ C'apr_bucket_structs v0 v1 v2 v3 v4
  poke p (C'apr_bucket_structs v0 v1 v2 v3 v4) = do
    pokeByteOff p 0 v0
    pokeByteOff p 0 v1
    pokeByteOff p 0 v2
    pokeByteOff p 0 v3
    pokeByteOff p 0 v4
    return ()

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

c'APR_BUCKET_ALLOC_SIZE = 72
c'APR_BUCKET_ALLOC_SIZE :: (Num a) => a

{-# LINE 133 "Bindings/APR/Buckets.hsc" #-}

foreign import ccall "apr_brigade_create" c'apr_brigade_create
  :: Ptr C'apr_pool_t -> Ptr C'apr_bucket_alloc_t -> IO (Ptr C'apr_bucket_brigade)
foreign import ccall "&apr_brigade_create" p'apr_brigade_create
  :: FunPtr (Ptr C'apr_pool_t -> Ptr C'apr_bucket_alloc_t -> IO (Ptr C'apr_bucket_brigade))

{-# LINE 135 "Bindings/APR/Buckets.hsc" #-}
foreign import ccall "apr_brigade_destroy" c'apr_brigade_destroy
  :: Ptr C'apr_bucket_brigade -> IO C'apr_status_t
foreign import ccall "&apr_brigade_destroy" p'apr_brigade_destroy
  :: FunPtr (Ptr C'apr_bucket_brigade -> IO C'apr_status_t)

{-# LINE 136 "Bindings/APR/Buckets.hsc" #-}
foreign import ccall "apr_brigade_cleanup" c'apr_brigade_cleanup
  :: Ptr () -> IO C'apr_status_t
foreign import ccall "&apr_brigade_cleanup" p'apr_brigade_cleanup
  :: FunPtr (Ptr () -> IO C'apr_status_t)

{-# LINE 137 "Bindings/APR/Buckets.hsc" #-}
foreign import ccall "apr_brigade_split_ex" c'apr_brigade_split_ex
  :: Ptr C'apr_bucket_brigade -> Ptr C'apr_bucket -> Ptr C'apr_bucket_brigade -> IO (Ptr C'apr_bucket_brigade)
foreign import ccall "&apr_brigade_split_ex" p'apr_brigade_split_ex
  :: FunPtr (Ptr C'apr_bucket_brigade -> Ptr C'apr_bucket -> Ptr C'apr_bucket_brigade -> IO (Ptr C'apr_bucket_brigade))

{-# LINE 138 "Bindings/APR/Buckets.hsc" #-}
foreign import ccall "apr_brigade_split" c'apr_brigade_split
  :: Ptr C'apr_bucket_brigade -> Ptr C'apr_bucket -> IO (Ptr C'apr_bucket_brigade)
foreign import ccall "&apr_brigade_split" p'apr_brigade_split
  :: FunPtr (Ptr C'apr_bucket_brigade -> Ptr C'apr_bucket -> IO (Ptr C'apr_bucket_brigade))

{-# LINE 139 "Bindings/APR/Buckets.hsc" #-}
foreign import ccall "apr_brigade_partition" c'apr_brigade_partition
  :: Ptr C'apr_bucket_brigade -> C'apr_off_t -> Ptr (Ptr C'apr_bucket) -> IO C'apr_status_t
foreign import ccall "&apr_brigade_partition" p'apr_brigade_partition
  :: FunPtr (Ptr C'apr_bucket_brigade -> C'apr_off_t -> Ptr (Ptr C'apr_bucket) -> IO C'apr_status_t)

{-# LINE 140 "Bindings/APR/Buckets.hsc" #-}
foreign import ccall "apr_brigade_length" c'apr_brigade_length
  :: Ptr C'apr_bucket_brigade -> CInt -> Ptr C'apr_off_t -> IO C'apr_status_t
foreign import ccall "&apr_brigade_length" p'apr_brigade_length
  :: FunPtr (Ptr C'apr_bucket_brigade -> CInt -> Ptr C'apr_off_t -> IO C'apr_status_t)

{-# LINE 141 "Bindings/APR/Buckets.hsc" #-}
foreign import ccall "apr_brigade_flatten" c'apr_brigade_flatten
  :: Ptr C'apr_bucket_brigade -> Ptr CChar -> Ptr C'apr_size_t -> IO C'apr_status_t
foreign import ccall "&apr_brigade_flatten" p'apr_brigade_flatten
  :: FunPtr (Ptr C'apr_bucket_brigade -> Ptr CChar -> Ptr C'apr_size_t -> IO C'apr_status_t)

{-# LINE 142 "Bindings/APR/Buckets.hsc" #-}
foreign import ccall "apr_brigade_pflatten" c'apr_brigade_pflatten
  :: Ptr C'apr_bucket_brigade -> Ptr (Ptr CChar) -> Ptr C'apr_size_t -> Ptr C'apr_pool_t -> IO C'apr_status_t
foreign import ccall "&apr_brigade_pflatten" p'apr_brigade_pflatten
  :: FunPtr (Ptr C'apr_bucket_brigade -> Ptr (Ptr CChar) -> Ptr C'apr_size_t -> Ptr C'apr_pool_t -> IO C'apr_status_t)

{-# LINE 143 "Bindings/APR/Buckets.hsc" #-}
foreign import ccall "apr_brigade_split_line" c'apr_brigade_split_line
  :: Ptr C'apr_bucket_brigade -> Ptr C'apr_bucket_brigade -> C'apr_read_type_e -> C'apr_off_t -> IO C'apr_status_t
foreign import ccall "&apr_brigade_split_line" p'apr_brigade_split_line
  :: FunPtr (Ptr C'apr_bucket_brigade -> Ptr C'apr_bucket_brigade -> C'apr_read_type_e -> C'apr_off_t -> IO C'apr_status_t)

{-# LINE 144 "Bindings/APR/Buckets.hsc" #-}
foreign import ccall "apr_brigade_to_iovec" c'apr_brigade_to_iovec
  :: Ptr C'apr_bucket_brigade -> Ptr C'iovec -> Ptr CInt -> C'apr_status_t
foreign import ccall "&apr_brigade_to_iovec" p'apr_brigade_to_iovec
  :: FunPtr (Ptr C'apr_bucket_brigade -> Ptr C'iovec -> Ptr CInt -> C'apr_status_t)

{-# LINE 145 "Bindings/APR/Buckets.hsc" #-}
-- FIXME: apr_brigade_to_vputstrs takes va_list
foreign import ccall "apr_brigade_write" c'apr_brigade_write
  :: Ptr C'apr_bucket_brigade -> C'apr_brigade_flush -> Ptr () -> Ptr CChar -> C'apr_size_t -> IO C'apr_status_t
foreign import ccall "&apr_brigade_write" p'apr_brigade_write
  :: FunPtr (Ptr C'apr_bucket_brigade -> C'apr_brigade_flush -> Ptr () -> Ptr CChar -> C'apr_size_t -> IO C'apr_status_t)

{-# LINE 147 "Bindings/APR/Buckets.hsc" #-}
foreign import ccall "apr_brigade_writev" c'apr_brigade_writev
  :: Ptr C'apr_bucket_brigade -> C'apr_brigade_flush -> Ptr () -> Ptr C'iovec -> C'apr_size_t -> IO C'apr_status_t
foreign import ccall "&apr_brigade_writev" p'apr_brigade_writev
  :: FunPtr (Ptr C'apr_bucket_brigade -> C'apr_brigade_flush -> Ptr () -> Ptr C'iovec -> C'apr_size_t -> IO C'apr_status_t)

{-# LINE 148 "Bindings/APR/Buckets.hsc" #-}
foreign import ccall "apr_brigade_puts" c'apr_brigade_puts
  :: Ptr C'apr_bucket_brigade -> C'apr_brigade_flush -> Ptr () -> Ptr CChar -> IO C'apr_status_t
foreign import ccall "&apr_brigade_puts" p'apr_brigade_puts
  :: FunPtr (Ptr C'apr_bucket_brigade -> C'apr_brigade_flush -> Ptr () -> Ptr CChar -> IO C'apr_status_t)

{-# LINE 149 "Bindings/APR/Buckets.hsc" #-}
foreign import ccall "apr_brigade_putc" c'apr_brigade_putc
  :: Ptr C'apr_bucket_brigade -> C'apr_brigade_flush -> Ptr () -> CChar -> IO C'apr_status_t
foreign import ccall "&apr_brigade_putc" p'apr_brigade_putc
  :: FunPtr (Ptr C'apr_bucket_brigade -> C'apr_brigade_flush -> Ptr () -> CChar -> IO C'apr_status_t)

{-# LINE 150 "Bindings/APR/Buckets.hsc" #-}
-- FIXME: apr_brigade_putstrs takes varargs
-- FIXME: apr_brigade_printf takes varargs
-- FIXME: apr_brigade_vprintf takes va_list
foreign import ccall "apr_brigade_insert_file" c'apr_brigade_insert_file
  :: Ptr C'apr_bucket_brigade -> Ptr C'apr_file_t -> C'apr_off_t -> C'apr_off_t -> Ptr C'apr_pool_t -> IO (Ptr C'apr_bucket)
foreign import ccall "&apr_brigade_insert_file" p'apr_brigade_insert_file
  :: FunPtr (Ptr C'apr_bucket_brigade -> Ptr C'apr_file_t -> C'apr_off_t -> C'apr_off_t -> Ptr C'apr_pool_t -> IO (Ptr C'apr_bucket))

{-# LINE 154 "Bindings/APR/Buckets.hsc" #-}

foreign import ccall "apr_bucket_alloc_create" c'apr_bucket_alloc_create
  :: Ptr C'apr_pool_t -> Ptr (C'apr_bucket_alloc_t)
foreign import ccall "&apr_bucket_alloc_create" p'apr_bucket_alloc_create
  :: FunPtr (Ptr C'apr_pool_t -> Ptr (C'apr_bucket_alloc_t))

{-# LINE 156 "Bindings/APR/Buckets.hsc" #-}
foreign import ccall "apr_bucket_alloc_create_ex" c'apr_bucket_alloc_create_ex
  :: Ptr C'apr_allocator_t -> Ptr (C'apr_bucket_alloc_t)
foreign import ccall "&apr_bucket_alloc_create_ex" p'apr_bucket_alloc_create_ex
  :: FunPtr (Ptr C'apr_allocator_t -> Ptr (C'apr_bucket_alloc_t))

{-# LINE 157 "Bindings/APR/Buckets.hsc" #-}
foreign import ccall "apr_bucket_alloc_destroy" c'apr_bucket_alloc_destroy
  :: Ptr C'apr_bucket_alloc_t -> IO ()
foreign import ccall "&apr_bucket_alloc_destroy" p'apr_bucket_alloc_destroy
  :: FunPtr (Ptr C'apr_bucket_alloc_t -> IO ())

{-# LINE 158 "Bindings/APR/Buckets.hsc" #-}
foreign import ccall "apr_bucket_alloc" c'apr_bucket_alloc
  :: C'apr_size_t -> Ptr C'apr_bucket_alloc_t -> IO (Ptr ())
foreign import ccall "&apr_bucket_alloc" p'apr_bucket_alloc
  :: FunPtr (C'apr_size_t -> Ptr C'apr_bucket_alloc_t -> IO (Ptr ()))

{-# LINE 159 "Bindings/APR/Buckets.hsc" #-}
foreign import ccall "apr_bucket_free" c'apr_bucket_free
  :: Ptr () -> IO ()
foreign import ccall "&apr_bucket_free" p'apr_bucket_free
  :: FunPtr (Ptr () -> IO ())

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

foreign import ccall "inline_apr_bucket_destroy" c'apr_bucket_destroy
  :: Ptr C'apr_bucket -> IO ()

{-# LINE 162 "Bindings/APR/Buckets.hsc" #-}
foreign import ccall "inline_apr_bucket_delete" c'apr_bucket_delete
  :: Ptr C'apr_bucket -> IO ()

{-# LINE 163 "Bindings/APR/Buckets.hsc" #-}
foreign import ccall "inline_apr_bucket_read" c'apr_bucket_read
  :: Ptr C'apr_bucket -> Ptr (Ptr CChar) -> Ptr C'apr_size_t -> C'apr_read_type_e -> IO C'apr_status_t

{-# LINE 164 "Bindings/APR/Buckets.hsc" #-}
foreign import ccall "inline_apr_bucket_setaside" c'apr_bucket_setaside
  :: Ptr C'apr_bucket -> Ptr C'apr_pool_t -> IO C'apr_status_t

{-# LINE 165 "Bindings/APR/Buckets.hsc" #-}
foreign import ccall "inline_apr_bucket_split" c'apr_bucket_split
  :: Ptr C'apr_bucket -> C'apr_size_t -> IO C'apr_status_t

{-# LINE 166 "Bindings/APR/Buckets.hsc" #-}
foreign import ccall "inline_apr_bucket_copy" c'apr_bucket_copy
  :: Ptr C'apr_bucket -> Ptr (Ptr C'apr_bucket) -> IO C'apr_status_t

{-# LINE 167 "Bindings/APR/Buckets.hsc" #-}

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

{-# LINE 169 "Bindings/APR/Buckets.hsc" #-}
foreign import ccall "apr_bucket_setaside_notimpl" c'apr_bucket_setaside_notimpl
  :: Ptr C'apr_bucket -> Ptr C'apr_pool_t -> IO C'apr_status_t
foreign import ccall "&apr_bucket_setaside_notimpl" p'apr_bucket_setaside_notimpl
  :: FunPtr (Ptr C'apr_bucket -> Ptr C'apr_pool_t -> IO C'apr_status_t)

{-# LINE 170 "Bindings/APR/Buckets.hsc" #-}
foreign import ccall "apr_bucket_split_notimpl" c'apr_bucket_split_notimpl
  :: Ptr C'apr_bucket -> C'apr_size_t -> IO C'apr_status_t
foreign import ccall "&apr_bucket_split_notimpl" p'apr_bucket_split_notimpl
  :: FunPtr (Ptr C'apr_bucket -> C'apr_size_t -> IO C'apr_status_t)

{-# LINE 171 "Bindings/APR/Buckets.hsc" #-}
foreign import ccall "apr_bucket_copy_notimpl" c'apr_bucket_copy_notimpl
  :: Ptr C'apr_bucket -> Ptr (Ptr C'apr_bucket) -> IO C'apr_status_t
foreign import ccall "&apr_bucket_copy_notimpl" p'apr_bucket_copy_notimpl
  :: FunPtr (Ptr C'apr_bucket -> Ptr (Ptr C'apr_bucket) -> IO C'apr_status_t)

{-# LINE 172 "Bindings/APR/Buckets.hsc" #-}
foreign import ccall "apr_bucket_destroy_noop" c'apr_bucket_destroy_noop
  :: Ptr () -> IO ()
foreign import ccall "&apr_bucket_destroy_noop" p'apr_bucket_destroy_noop
  :: FunPtr (Ptr () -> IO ())

{-# LINE 173 "Bindings/APR/Buckets.hsc" #-}

foreign import ccall "&apr_bucket_type_flush" p'apr_bucket_type_flush
  :: Ptr (C'apr_bucket_type_t)

{-# LINE 175 "Bindings/APR/Buckets.hsc" #-}
foreign import ccall "&apr_bucket_type_eos" p'apr_bucket_type_eos
  :: Ptr (C'apr_bucket_type_t)

{-# LINE 176 "Bindings/APR/Buckets.hsc" #-}
foreign import ccall "&apr_bucket_type_file" p'apr_bucket_type_file
  :: Ptr (C'apr_bucket_type_t)

{-# LINE 177 "Bindings/APR/Buckets.hsc" #-}
foreign import ccall "&apr_bucket_type_heap" p'apr_bucket_type_heap
  :: Ptr (C'apr_bucket_type_t)

{-# LINE 178 "Bindings/APR/Buckets.hsc" #-}

{-# LINE 179 "Bindings/APR/Buckets.hsc" #-}
foreign import ccall "&apr_bucket_type_mmap" p'apr_bucket_type_mmap
  :: Ptr (C'apr_bucket_type_t)

{-# LINE 180 "Bindings/APR/Buckets.hsc" #-}

{-# LINE 181 "Bindings/APR/Buckets.hsc" #-}
foreign import ccall "&apr_bucket_type_pool" p'apr_bucket_type_pool
  :: Ptr (C'apr_bucket_type_t)

{-# LINE 182 "Bindings/APR/Buckets.hsc" #-}
foreign import ccall "&apr_bucket_type_pipe" p'apr_bucket_type_pipe
  :: Ptr (C'apr_bucket_type_t)

{-# LINE 183 "Bindings/APR/Buckets.hsc" #-}
foreign import ccall "&apr_bucket_type_immortal" p'apr_bucket_type_immortal
  :: Ptr (C'apr_bucket_type_t)

{-# LINE 184 "Bindings/APR/Buckets.hsc" #-}
foreign import ccall "&apr_bucket_type_transient" p'apr_bucket_type_transient
  :: Ptr (C'apr_bucket_type_t)

{-# LINE 185 "Bindings/APR/Buckets.hsc" #-}
foreign import ccall "&apr_bucket_type_socket" p'apr_bucket_type_socket
  :: Ptr (C'apr_bucket_type_t)

{-# LINE 186 "Bindings/APR/Buckets.hsc" #-}

foreign import ccall "apr_bucket_simple_split" c'apr_bucket_simple_split
  :: Ptr C'apr_bucket -> C'apr_size_t -> IO C'apr_status_t
foreign import ccall "&apr_bucket_simple_split" p'apr_bucket_simple_split
  :: FunPtr (Ptr C'apr_bucket -> C'apr_size_t -> IO C'apr_status_t)

{-# LINE 188 "Bindings/APR/Buckets.hsc" #-}
foreign import ccall "apr_bucket_simple_copy" c'apr_bucket_simple_copy
  :: Ptr C'apr_bucket -> Ptr (Ptr C'apr_bucket) -> IO C'apr_status_t
foreign import ccall "&apr_bucket_simple_copy" p'apr_bucket_simple_copy
  :: FunPtr (Ptr C'apr_bucket -> Ptr (Ptr C'apr_bucket) -> IO C'apr_status_t)

{-# LINE 189 "Bindings/APR/Buckets.hsc" #-}

foreign import ccall "apr_bucket_shared_make" c'apr_bucket_shared_make
  :: Ptr C'apr_bucket -> Ptr () -> C'apr_off_t -> C'apr_size_t -> IO (Ptr C'apr_bucket)
foreign import ccall "&apr_bucket_shared_make" p'apr_bucket_shared_make
  :: FunPtr (Ptr C'apr_bucket -> Ptr () -> C'apr_off_t -> C'apr_size_t -> IO (Ptr C'apr_bucket))

{-# LINE 191 "Bindings/APR/Buckets.hsc" #-}
foreign import ccall "apr_bucket_shared_destroy" c'apr_bucket_shared_destroy
  :: Ptr () -> IO CInt
foreign import ccall "&apr_bucket_shared_destroy" p'apr_bucket_shared_destroy
  :: FunPtr (Ptr () -> IO CInt)

{-# LINE 192 "Bindings/APR/Buckets.hsc" #-}
foreign import ccall "apr_bucket_shared_split" c'apr_bucket_shared_split
  :: Ptr C'apr_bucket -> C'apr_size_t -> IO C'apr_status_t
foreign import ccall "&apr_bucket_shared_split" p'apr_bucket_shared_split
  :: FunPtr (Ptr C'apr_bucket -> C'apr_size_t -> IO C'apr_status_t)

{-# LINE 193 "Bindings/APR/Buckets.hsc" #-}
foreign import ccall "apr_bucket_shared_copy" c'apr_bucket_shared_copy
  :: Ptr C'apr_bucket -> Ptr (Ptr C'apr_bucket) -> IO C'apr_status_t
foreign import ccall "&apr_bucket_shared_copy" p'apr_bucket_shared_copy
  :: FunPtr (Ptr C'apr_bucket -> Ptr (Ptr C'apr_bucket) -> IO C'apr_status_t)

{-# LINE 194 "Bindings/APR/Buckets.hsc" #-}

foreign import ccall "apr_bucket_eos_create" c'apr_bucket_eos_create
  :: Ptr C'apr_bucket_alloc_t -> IO (Ptr C'apr_bucket)
foreign import ccall "&apr_bucket_eos_create" p'apr_bucket_eos_create
  :: FunPtr (Ptr C'apr_bucket_alloc_t -> IO (Ptr C'apr_bucket))

{-# LINE 196 "Bindings/APR/Buckets.hsc" #-}
foreign import ccall "apr_bucket_eos_make" c'apr_bucket_eos_make
  :: Ptr C'apr_bucket -> IO (Ptr C'apr_bucket)
foreign import ccall "&apr_bucket_eos_make" p'apr_bucket_eos_make
  :: FunPtr (Ptr C'apr_bucket -> IO (Ptr C'apr_bucket))

{-# LINE 197 "Bindings/APR/Buckets.hsc" #-}
foreign import ccall "apr_bucket_flush_create" c'apr_bucket_flush_create
  :: Ptr C'apr_bucket_alloc_t -> IO (Ptr C'apr_bucket)
foreign import ccall "&apr_bucket_flush_create" p'apr_bucket_flush_create
  :: FunPtr (Ptr C'apr_bucket_alloc_t -> IO (Ptr C'apr_bucket))

{-# LINE 198 "Bindings/APR/Buckets.hsc" #-}
foreign import ccall "apr_bucket_flush_make" c'apr_bucket_flush_make
  :: Ptr C'apr_bucket -> IO (Ptr C'apr_bucket)
foreign import ccall "&apr_bucket_flush_make" p'apr_bucket_flush_make
  :: FunPtr (Ptr C'apr_bucket -> IO (Ptr C'apr_bucket))

{-# LINE 199 "Bindings/APR/Buckets.hsc" #-}
foreign import ccall "apr_bucket_immortal_create" c'apr_bucket_immortal_create
  :: Ptr CChar -> C'apr_size_t -> Ptr C'apr_bucket_alloc_t -> IO (Ptr C'apr_bucket)
foreign import ccall "&apr_bucket_immortal_create" p'apr_bucket_immortal_create
  :: FunPtr (Ptr CChar -> C'apr_size_t -> Ptr C'apr_bucket_alloc_t -> IO (Ptr C'apr_bucket))

{-# LINE 200 "Bindings/APR/Buckets.hsc" #-}
foreign import ccall "apr_bucket_immortal_make" c'apr_bucket_immortal_make
  :: Ptr C'apr_bucket -> Ptr CChar -> C'apr_size_t -> IO (Ptr C'apr_bucket)
foreign import ccall "&apr_bucket_immortal_make" p'apr_bucket_immortal_make
  :: FunPtr (Ptr C'apr_bucket -> Ptr CChar -> C'apr_size_t -> IO (Ptr C'apr_bucket))

{-# LINE 201 "Bindings/APR/Buckets.hsc" #-}
foreign import ccall "apr_bucket_transient_create" c'apr_bucket_transient_create
  :: Ptr CChar -> C'apr_size_t -> Ptr C'apr_bucket_alloc_t -> IO (Ptr C'apr_bucket)
foreign import ccall "&apr_bucket_transient_create" p'apr_bucket_transient_create
  :: FunPtr (Ptr CChar -> C'apr_size_t -> Ptr C'apr_bucket_alloc_t -> IO (Ptr C'apr_bucket))

{-# LINE 202 "Bindings/APR/Buckets.hsc" #-}
foreign import ccall "apr_bucket_transient_make" c'apr_bucket_transient_make
  :: Ptr C'apr_bucket -> Ptr CChar -> C'apr_size_t -> IO (Ptr C'apr_bucket)
foreign import ccall "&apr_bucket_transient_make" p'apr_bucket_transient_make
  :: FunPtr (Ptr C'apr_bucket -> Ptr CChar -> C'apr_size_t -> IO (Ptr C'apr_bucket))

{-# LINE 203 "Bindings/APR/Buckets.hsc" #-}
foreign import ccall "apr_bucket_heap_create" c'apr_bucket_heap_create
  :: Ptr CChar -> C'apr_size_t -> FunPtr (Ptr () -> IO ()) -> Ptr C'apr_bucket_alloc_t -> IO (Ptr C'apr_bucket)
foreign import ccall "&apr_bucket_heap_create" p'apr_bucket_heap_create
  :: FunPtr (Ptr CChar -> C'apr_size_t -> FunPtr (Ptr () -> IO ()) -> Ptr C'apr_bucket_alloc_t -> IO (Ptr C'apr_bucket))

{-# LINE 204 "Bindings/APR/Buckets.hsc" #-}
foreign import ccall "apr_bucket_heap_make" c'apr_bucket_heap_make
  :: Ptr C'apr_bucket -> Ptr CChar -> C'apr_size_t -> FunPtr (Ptr () -> IO ()) -> IO (Ptr C'apr_bucket)
foreign import ccall "&apr_bucket_heap_make" p'apr_bucket_heap_make
  :: FunPtr (Ptr C'apr_bucket -> Ptr CChar -> C'apr_size_t -> FunPtr (Ptr () -> IO ()) -> IO (Ptr C'apr_bucket))

{-# LINE 205 "Bindings/APR/Buckets.hsc" #-}
foreign import ccall "apr_bucket_pool_create" c'apr_bucket_pool_create
  :: Ptr CChar -> C'apr_size_t -> Ptr C'apr_pool_t -> Ptr C'apr_bucket_alloc_t -> IO (Ptr C'apr_bucket)
foreign import ccall "&apr_bucket_pool_create" p'apr_bucket_pool_create
  :: FunPtr (Ptr CChar -> C'apr_size_t -> Ptr C'apr_pool_t -> Ptr C'apr_bucket_alloc_t -> IO (Ptr C'apr_bucket))

{-# LINE 206 "Bindings/APR/Buckets.hsc" #-}
foreign import ccall "apr_bucket_pool_make" c'apr_bucket_pool_make
  :: Ptr C'apr_bucket -> Ptr CChar -> C'apr_size_t -> Ptr C'apr_pool_t -> IO (Ptr C'apr_bucket)
foreign import ccall "&apr_bucket_pool_make" p'apr_bucket_pool_make
  :: FunPtr (Ptr C'apr_bucket -> Ptr CChar -> C'apr_size_t -> Ptr C'apr_pool_t -> IO (Ptr C'apr_bucket))

{-# LINE 207 "Bindings/APR/Buckets.hsc" #-}

{-# LINE 208 "Bindings/APR/Buckets.hsc" #-}
foreign import ccall "apr_bucket_mmap_create" c'apr_bucket_mmap_create
  :: Ptr C'apr_mmap_t -> C'apr_off_t -> C'apr_size_t -> Ptr C'apr_bucket_alloc_t -> IO (Ptr C'apr_bucket)
foreign import ccall "&apr_bucket_mmap_create" p'apr_bucket_mmap_create
  :: FunPtr (Ptr C'apr_mmap_t -> C'apr_off_t -> C'apr_size_t -> Ptr C'apr_bucket_alloc_t -> IO (Ptr C'apr_bucket))

{-# LINE 209 "Bindings/APR/Buckets.hsc" #-}
foreign import ccall "apr_bucket_mmap_make" c'apr_bucket_mmap_make
  :: Ptr C'apr_bucket -> Ptr C'apr_mmap_t -> C'apr_off_t -> C'apr_size_t -> IO (Ptr C'apr_bucket)
foreign import ccall "&apr_bucket_mmap_make" p'apr_bucket_mmap_make
  :: FunPtr (Ptr C'apr_bucket -> Ptr C'apr_mmap_t -> C'apr_off_t -> C'apr_size_t -> IO (Ptr C'apr_bucket))

{-# LINE 210 "Bindings/APR/Buckets.hsc" #-}

{-# LINE 211 "Bindings/APR/Buckets.hsc" #-}
foreign import ccall "apr_bucket_socket_create" c'apr_bucket_socket_create
  :: Ptr C'apr_socket_t -> Ptr C'apr_bucket_alloc_t -> IO (Ptr C'apr_bucket)
foreign import ccall "&apr_bucket_socket_create" p'apr_bucket_socket_create
  :: FunPtr (Ptr C'apr_socket_t -> Ptr C'apr_bucket_alloc_t -> IO (Ptr C'apr_bucket))

{-# LINE 212 "Bindings/APR/Buckets.hsc" #-}
foreign import ccall "apr_bucket_socket_make" c'apr_bucket_socket_make
  :: Ptr C'apr_bucket -> Ptr C'apr_socket_t -> IO (Ptr C'apr_bucket)
foreign import ccall "&apr_bucket_socket_make" p'apr_bucket_socket_make
  :: FunPtr (Ptr C'apr_bucket -> Ptr C'apr_socket_t -> IO (Ptr C'apr_bucket))

{-# LINE 213 "Bindings/APR/Buckets.hsc" #-}
foreign import ccall "apr_bucket_pipe_create" c'apr_bucket_pipe_create
  :: Ptr C'apr_file_t -> Ptr C'apr_bucket_alloc_t -> IO (Ptr C'apr_bucket)
foreign import ccall "&apr_bucket_pipe_create" p'apr_bucket_pipe_create
  :: FunPtr (Ptr C'apr_file_t -> Ptr C'apr_bucket_alloc_t -> IO (Ptr C'apr_bucket))

{-# LINE 214 "Bindings/APR/Buckets.hsc" #-}
foreign import ccall "apr_bucket_pipe_make" c'apr_bucket_pipe_make
  :: Ptr C'apr_bucket -> Ptr C'apr_file_t -> IO (Ptr C'apr_bucket)
foreign import ccall "&apr_bucket_pipe_make" p'apr_bucket_pipe_make
  :: FunPtr (Ptr C'apr_bucket -> Ptr C'apr_file_t -> IO (Ptr C'apr_bucket))

{-# LINE 215 "Bindings/APR/Buckets.hsc" #-}
foreign import ccall "apr_bucket_file_create" c'apr_bucket_file_create
  :: Ptr C'apr_file_t -> C'apr_off_t -> C'apr_size_t -> Ptr C'apr_pool_t -> Ptr C'apr_bucket_alloc_t -> IO (Ptr C'apr_bucket)
foreign import ccall "&apr_bucket_file_create" p'apr_bucket_file_create
  :: FunPtr (Ptr C'apr_file_t -> C'apr_off_t -> C'apr_size_t -> Ptr C'apr_pool_t -> Ptr C'apr_bucket_alloc_t -> IO (Ptr C'apr_bucket))

{-# LINE 216 "Bindings/APR/Buckets.hsc" #-}
foreign import ccall "apr_bucket_file_make" c'apr_bucket_file_make
  :: Ptr C'apr_bucket -> Ptr C'apr_file_t -> C'apr_off_t -> C'apr_size_t -> Ptr C'apr_pool_t -> IO (Ptr C'apr_bucket)
foreign import ccall "&apr_bucket_file_make" p'apr_bucket_file_make
  :: FunPtr (Ptr C'apr_bucket -> Ptr C'apr_file_t -> C'apr_off_t -> C'apr_size_t -> Ptr C'apr_pool_t -> IO (Ptr C'apr_bucket))

{-# LINE 217 "Bindings/APR/Buckets.hsc" #-}
foreign import ccall "apr_bucket_file_enable_mmap" c'apr_bucket_file_enable_mmap
  :: Ptr C'apr_bucket -> CInt -> IO C'apr_status_t
foreign import ccall "&apr_bucket_file_enable_mmap" p'apr_bucket_file_enable_mmap
  :: FunPtr (Ptr C'apr_bucket -> CInt -> IO C'apr_status_t)

{-# LINE 218 "Bindings/APR/Buckets.hsc" #-}