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

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

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

module Bindings.APR.XML 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/XML.hsc" #-}
import Bindings.APR
import Bindings.APR.ErrNo
import Bindings.APR.File.Types
import Bindings.APR.Pools
import Bindings.APR.Tables
import Bindings.APR.XLate

data C'apr_text = C'apr_text{
{-# LINE 14 "Bindings/APR/XML.hsc" #-}

  c'apr_text'text :: Ptr CChar
{-# LINE 15 "Bindings/APR/XML.hsc" #-}
,
  c'apr_text'next :: Ptr C'apr_text
{-# LINE 16 "Bindings/APR/XML.hsc" #-}

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

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

data C'apr_text_header = C'apr_text_header{
{-# LINE 19 "Bindings/APR/XML.hsc" #-}

  c'apr_text_header'first :: Ptr C'apr_text
{-# LINE 20 "Bindings/APR/XML.hsc" #-}
,
  c'apr_text_header'last :: Ptr C'apr_text
{-# LINE 21 "Bindings/APR/XML.hsc" #-}

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

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

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

{-# LINE 24 "Bindings/APR/XML.hsc" #-}

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

{-# LINE 26 "Bindings/APR/XML.hsc" #-}
c'APR_XML_NS_NONE = -10
c'APR_XML_NS_NONE :: (Num a) => a

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

c'APR_XML_NS_ERROR_BASE = -100
c'APR_XML_NS_ERROR_BASE :: (Num a) => a

{-# LINE 29 "Bindings/APR/XML.hsc" #-}
foreign import ccall "inline_APR_XML_NS_IS_ERROR" c'APR_XML_NS_IS_ERROR
  :: CInt -> IO CInt

{-# LINE 30 "Bindings/APR/XML.hsc" #-}

data C'apr_xml_attr = C'apr_xml_attr{
{-# LINE 32 "Bindings/APR/XML.hsc" #-}

  c'apr_xml_attr'name :: Ptr CChar
{-# LINE 33 "Bindings/APR/XML.hsc" #-}
,
  c'apr_xml_attr'ns :: CInt
{-# LINE 34 "Bindings/APR/XML.hsc" #-}
,
  c'apr_xml_attr'value :: Ptr CChar
{-# LINE 35 "Bindings/APR/XML.hsc" #-}
,
  c'apr_xml_attr'next :: Ptr C'apr_xml_attr
{-# LINE 36 "Bindings/APR/XML.hsc" #-}

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

{-# LINE 37 "Bindings/APR/XML.hsc" #-}

data C'apr_xml_ns_scope = C'apr_xml_ns_scope

{-# LINE 39 "Bindings/APR/XML.hsc" #-}

data C'apr_xml_elem = C'apr_xml_elem{
{-# LINE 41 "Bindings/APR/XML.hsc" #-}

  c'apr_xml_elem'name :: Ptr CChar
{-# LINE 42 "Bindings/APR/XML.hsc" #-}
,
  c'apr_xml_elem'ns :: CInt
{-# LINE 43 "Bindings/APR/XML.hsc" #-}
,
  c'apr_xml_elem'lang :: Ptr CChar
{-# LINE 44 "Bindings/APR/XML.hsc" #-}

,
  c'apr_xml_elem'first_cdata :: C'apr_text_header
{-# LINE 46 "Bindings/APR/XML.hsc" #-}
,
  c'apr_xml_elem'following_cdata :: C'apr_text_header
{-# LINE 47 "Bindings/APR/XML.hsc" #-}

,
  c'apr_xml_elem'parent :: Ptr C'apr_xml_elem
{-# LINE 49 "Bindings/APR/XML.hsc" #-}
,
  c'apr_xml_elem'next :: Ptr C'apr_xml_elem
{-# LINE 50 "Bindings/APR/XML.hsc" #-}
,
  c'apr_xml_elem'first_child :: Ptr C'apr_xml_elem
{-# LINE 51 "Bindings/APR/XML.hsc" #-}
,
  c'apr_xml_elem'attr :: Ptr C'apr_xml_elem
{-# LINE 52 "Bindings/APR/XML.hsc" #-}

,
  c'apr_xml_elem'last_child :: Ptr C'apr_xml_elem
{-# LINE 54 "Bindings/APR/XML.hsc" #-}
,
  c'apr_xml_elem'ns_scope :: Ptr C'apr_xml_ns_scope
{-# LINE 55 "Bindings/APR/XML.hsc" #-}

,
  c'apr_xml_elem'priv :: Ptr ()
{-# LINE 57 "Bindings/APR/XML.hsc" #-}

 } deriving (Eq,Show)
instance Storable C'apr_xml_elem where
  sizeOf _ = 56
  alignment = sizeOf
  peek p = do
    v0 <- peekByteOff p 0
    v1 <- peekByteOff p 4
    v2 <- peekByteOff p 8
    v3 <- peekByteOff p 12
    v4 <- peekByteOff p 20
    v5 <- peekByteOff p 28
    v6 <- peekByteOff p 32
    v7 <- peekByteOff p 36
    v8 <- peekByteOff p 40
    v9 <- peekByteOff p 44
    v10 <- peekByteOff p 48
    v11 <- peekByteOff p 52
    return $ C'apr_xml_elem v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11
  poke p (C'apr_xml_elem v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11) = do
    pokeByteOff p 0 v0
    pokeByteOff p 4 v1
    pokeByteOff p 8 v2
    pokeByteOff p 12 v3
    pokeByteOff p 20 v4
    pokeByteOff p 28 v5
    pokeByteOff p 32 v6
    pokeByteOff p 36 v7
    pokeByteOff p 40 v8
    pokeByteOff p 44 v9
    pokeByteOff p 48 v10
    pokeByteOff p 52 v11
    return ()

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

foreign import ccall "inline_APR_XML_ELEM_IS_EMPTY" c'APR_XML_ELEM_IS_EMPTY
  :: Ptr C'apr_xml_elem -> IO CInt

{-# LINE 60 "Bindings/APR/XML.hsc" #-}

data C'apr_xml_doc = C'apr_xml_doc{
{-# LINE 62 "Bindings/APR/XML.hsc" #-}

  c'apr_xml_doc'root :: Ptr C'apr_xml_elem
{-# LINE 63 "Bindings/APR/XML.hsc" #-}
,
  c'apr_xml_doc'namespaces :: Ptr C'apr_array_header_t
{-# LINE 64 "Bindings/APR/XML.hsc" #-}

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

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

data C'apr_xml_parser = C'apr_xml_parser

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

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

{-# LINE 69 "Bindings/APR/XML.hsc" #-}
foreign import ccall "apr_xml_parse_file" c'apr_xml_parse_file
  :: Ptr C'apr_pool_t -> Ptr (Ptr C'apr_xml_parser) -> Ptr (Ptr C'apr_xml_doc) -> Ptr C'apr_file_t -> C'apr_size_t -> IO C'apr_status_t
foreign import ccall "&apr_xml_parse_file" p'apr_xml_parse_file
  :: FunPtr (Ptr C'apr_pool_t -> Ptr (Ptr C'apr_xml_parser) -> Ptr (Ptr C'apr_xml_doc) -> Ptr C'apr_file_t -> C'apr_size_t -> IO C'apr_status_t)

{-# LINE 70 "Bindings/APR/XML.hsc" #-}
foreign import ccall "apr_xml_parser_feed" c'apr_xml_parser_feed
  :: Ptr C'apr_xml_parser -> Ptr CChar -> C'apr_size_t -> IO C'apr_status_t
foreign import ccall "&apr_xml_parser_feed" p'apr_xml_parser_feed
  :: FunPtr (Ptr C'apr_xml_parser -> Ptr CChar -> C'apr_size_t -> IO C'apr_status_t)

{-# LINE 71 "Bindings/APR/XML.hsc" #-}
foreign import ccall "apr_xml_parser_done" c'apr_xml_parser_done
  :: Ptr C'apr_xml_parser -> Ptr (Ptr C'apr_xml_doc) -> IO C'apr_status_t
foreign import ccall "&apr_xml_parser_done" p'apr_xml_parser_done
  :: FunPtr (Ptr C'apr_xml_parser -> Ptr (Ptr C'apr_xml_doc) -> IO C'apr_status_t)

{-# LINE 72 "Bindings/APR/XML.hsc" #-}
foreign import ccall "apr_xml_parser_geterror" c'apr_xml_parser_geterror
  :: Ptr C'apr_xml_parser -> Ptr CChar -> C'apr_size_t -> IO (Ptr CChar)
foreign import ccall "&apr_xml_parser_geterror" p'apr_xml_parser_geterror
  :: FunPtr (Ptr C'apr_xml_parser -> Ptr CChar -> C'apr_size_t -> IO (Ptr CChar))

{-# LINE 73 "Bindings/APR/XML.hsc" #-}

foreign import ccall "apr_xml_to_text" c'apr_xml_to_text
  :: Ptr C'apr_pool_t -> Ptr C'apr_xml_elem -> CInt -> Ptr C'apr_array_header_t -> Ptr CInt -> Ptr (Ptr CChar) -> Ptr C'apr_size_t -> IO ()
foreign import ccall "&apr_xml_to_text" p'apr_xml_to_text
  :: FunPtr (Ptr C'apr_pool_t -> Ptr C'apr_xml_elem -> CInt -> Ptr C'apr_array_header_t -> Ptr CInt -> Ptr (Ptr CChar) -> Ptr C'apr_size_t -> IO ())

{-# LINE 75 "Bindings/APR/XML.hsc" #-}

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

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

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

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

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

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

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

{-# LINE 83 "Bindings/APR/XML.hsc" #-}
foreign import ccall "apr_xml_quote_elem" c'apr_xml_quote_elem
  :: Ptr C'apr_pool_t -> Ptr C'apr_xml_elem -> IO ()
foreign import ccall "&apr_xml_quote_elem" p'apr_xml_quote_elem
  :: FunPtr (Ptr C'apr_pool_t -> Ptr C'apr_xml_elem -> IO ())

{-# LINE 84 "Bindings/APR/XML.hsc" #-}
foreign import ccall "apr_xml_insert_uri" c'apr_xml_insert_uri
  :: Ptr C'apr_array_header_t -> Ptr CChar -> IO CInt
foreign import ccall "&apr_xml_insert_uri" p'apr_xml_insert_uri
  :: FunPtr (Ptr C'apr_array_header_t -> Ptr CChar -> IO CInt)

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

foreign import ccall "inline_APR_XML_GET_URI_ITEM" c'APR_XML_GET_URI_ITEM
  :: Ptr C'apr_array_header_t -> CInt -> IO (Ptr CChar)

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


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