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
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{
c'apr_text'text :: Ptr CChar
,
c'apr_text'next :: Ptr C'apr_text
} 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 ()
data C'apr_text_header = C'apr_text_header{
c'apr_text_header'first :: Ptr C'apr_text
,
c'apr_text_header'last :: Ptr C'apr_text
} 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 ()
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 ())
c'APR_XML_NS_DAV_ID = 0
c'APR_XML_NS_DAV_ID :: (Num a) => a
c'APR_XML_NS_NONE = 10
c'APR_XML_NS_NONE :: (Num a) => a
c'APR_XML_NS_ERROR_BASE = 100
c'APR_XML_NS_ERROR_BASE :: (Num a) => a
foreign import ccall "inline_APR_XML_NS_IS_ERROR" c'APR_XML_NS_IS_ERROR
:: CInt -> IO CInt
data C'apr_xml_attr = C'apr_xml_attr{
c'apr_xml_attr'name :: Ptr CChar
,
c'apr_xml_attr'ns :: CInt
,
c'apr_xml_attr'value :: Ptr CChar
,
c'apr_xml_attr'next :: Ptr C'apr_xml_attr
} 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 ()
data C'apr_xml_ns_scope = C'apr_xml_ns_scope
data C'apr_xml_elem = C'apr_xml_elem{
c'apr_xml_elem'name :: Ptr CChar
,
c'apr_xml_elem'ns :: CInt
,
c'apr_xml_elem'lang :: Ptr CChar
,
c'apr_xml_elem'first_cdata :: C'apr_text_header
,
c'apr_xml_elem'following_cdata :: C'apr_text_header
,
c'apr_xml_elem'parent :: Ptr C'apr_xml_elem
,
c'apr_xml_elem'next :: Ptr C'apr_xml_elem
,
c'apr_xml_elem'first_child :: Ptr C'apr_xml_elem
,
c'apr_xml_elem'attr :: Ptr C'apr_xml_elem
,
c'apr_xml_elem'last_child :: Ptr C'apr_xml_elem
,
c'apr_xml_elem'ns_scope :: Ptr C'apr_xml_ns_scope
,
c'apr_xml_elem'priv :: Ptr ()
} 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 ()
foreign import ccall "inline_APR_XML_ELEM_IS_EMPTY" c'APR_XML_ELEM_IS_EMPTY
:: Ptr C'apr_xml_elem -> IO CInt
data C'apr_xml_doc = C'apr_xml_doc{
c'apr_xml_doc'root :: Ptr C'apr_xml_elem
,
c'apr_xml_doc'namespaces :: Ptr C'apr_array_header_t
} 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 ()
data C'apr_xml_parser = C'apr_xml_parser
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))
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)
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)
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)
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))
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 ())
c'APR_XML_X2T_FULL = 0
c'APR_XML_X2T_FULL :: (Num a) => a
c'APR_XML_X2T_INNER = 1
c'APR_XML_X2T_INNER :: (Num a) => a
c'APR_XML_X2T_LANG_INNER = 2
c'APR_XML_X2T_LANG_INNER :: (Num a) => a
c'APR_XML_X2T_FULL_NS_LANG = 3
c'APR_XML_X2T_FULL_NS_LANG :: (Num a) => a
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))
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))
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 ())
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)
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)