{-# LANGUAGE ForeignFunctionInterface #-}
module Redland.LowLevel where
import Foreign
import Foreign.C
data RedlandWorld
foreign import ccall "librdf_new_world"
librdf_new_world :: IO (Ptr RedlandWorld)
foreign import ccall "librdf_free_world"
librdf_free_world :: Ptr RedlandWorld -> IO ()
foreign import ccall "redland.h &librdf_free_world"
p_librdf_free_world :: FinalizerPtr RedlandWorld
foreign import ccall "librdf_world_open"
librdf_world_open :: Ptr RedlandWorld -> IO ()
data RedlandHash
foreign import ccall "librdf_new_hash"
librdf_new_hash
:: Ptr RedlandWorld
-> CString
-> IO (Ptr RedlandHash)
foreign import ccall "librdf_free_hash"
librdf_free_hash :: Ptr RedlandHash -> IO ()
foreign import ccall "redland.h &librdf_free_hash"
p_librdf_free_hash :: FinalizerPtr RedlandHash
foreign import ccall "librdf_hash_put_strings"
librdf_hash_put_strings
:: Ptr RedlandHash
-> CString
-> CString
-> IO CInt
foreign import ccall "librdf_hash_get"
librdf_hash_get
:: Ptr RedlandHash
-> CString
-> IO CString
foreign import ccall "librdf_hash_get_del"
librdf_hash_get_del
:: Ptr RedlandHash
-> CString
-> IO CString
data RedlandModel
foreign import ccall "librdf_new_model"
librdf_new_model
:: Ptr RedlandWorld
-> Ptr RedlandStorage
-> CString
-> IO (Ptr RedlandModel)
foreign import ccall "librdf_free_model"
librdf_free_model :: Ptr RedlandModel -> IO ()
foreign import ccall "redland.h &librdf_free_model"
p_librdf_free_model :: FinalizerPtr RedlandModel
foreign import ccall "librdf_model_query_execute"
librdf_model_query_execute
:: Ptr RedlandModel
-> Ptr RedlandQuery
-> IO (Ptr RedlandQueryResults)
foreign import ccall "librdf_model_sync"
librdf_model_sync :: Ptr RedlandModel -> IO CInt
foreign import ccall "librdf_model_load"
librdf_model_load
:: Ptr RedlandModel
-> Ptr RedlandURI
-> CString
-> CString
-> Ptr RedlandURI
-> IO CInt
foreign import ccall "librdf_model_find_statements"
librdf_model_find_statements
:: Ptr RedlandModel
-> Ptr RedlandStatement
-> IO (Ptr RedlandStream)
data RedlandNode
foreign import ccall "librdf_new_node"
librdf_new_node :: Ptr RedlandWorld -> IO (Ptr RedlandNode)
foreign import ccall "librdf_free_node"
librdf_free_node :: Ptr RedlandNode -> IO ()
foreign import ccall "redland.h &librdf_free_node"
p_librdf_free_node :: FinalizerPtr RedlandNode
foreign import ccall "librdf_new_node_from_node"
librdf_new_node_from_node
:: Ptr RedlandNode
-> IO (Ptr RedlandNode)
foreign import ccall "librdf_new_node_from_blank_identifier"
librdf_new_node_from_blank_identifier
:: Ptr RedlandWorld
-> CString
-> IO (Ptr RedlandNode)
foreign import ccall "librdf_new_node_from_literal"
librdf_new_node_from_literal
:: Ptr RedlandWorld
-> CString
-> CString
-> CInt
-> IO (Ptr RedlandNode)
foreign import ccall "librdf_new_node_from_typed_literal"
librdf_new_node_from_typed_literal
:: Ptr RedlandWorld
-> CString
-> CString
-> Ptr RedlandURI
-> IO (Ptr RedlandNode)
foreign import ccall "librdf_new_node_from_uri"
librdf_new_node_from_uri
:: Ptr RedlandWorld
-> Ptr RedlandURI
-> IO (Ptr RedlandNode)
foreign import ccall "librdf_new_node_from_uri_string"
librdf_new_node_from_uri_string
:: Ptr RedlandWorld
-> CString
-> IO (Ptr RedlandNode)
foreign import ccall "librdf_node_get_blank_identifier"
librdf_node_get_blank_identifier
:: Ptr RedlandNode
-> IO CString
foreign import ccall "librdf_node_get_literal_value"
librdf_node_get_literal_value
:: Ptr RedlandNode
-> IO CString
foreign import ccall "librdf_node_get_literal_value_language"
librdf_node_get_literal_value_language
:: Ptr RedlandNode
-> IO CString
foreign import ccall "librdf_node_get_literal_value_datatype_uri"
librdf_node_get_literal_value_datatype_uri
:: Ptr RedlandNode
-> IO (Ptr RedlandURI)
foreign import ccall "librdf_node_get_literal_value_is_wf_xml"
librdf_node_get_literal_value_is_wf_xml
:: Ptr RedlandNode
-> IO CInt
foreign import ccall "librdf_node_get_uri"
librdf_node_get_uri
:: Ptr RedlandNode
-> IO (Ptr RedlandURI)
foreign import ccall "librdf_node_is_blank"
librdf_node_is_blank :: Ptr RedlandNode -> IO CInt
foreign import ccall "librdf_node_is_literal"
librdf_node_is_literal :: Ptr RedlandNode -> IO CInt
foreign import ccall "librdf_node_is_resource"
librdf_node_is_resource :: Ptr RedlandNode -> IO CInt
foreign import ccall "librdf_node_to_string"
librdf_node_to_string :: Ptr RedlandNode -> IO CString
data RedlandParser
foreign import ccall "librdf_new_parser"
librdf_new_parser
:: Ptr RedlandWorld
-> CString
-> CString
-> Ptr RedlandURI
-> IO (Ptr RedlandParser)
foreign import ccall "librdf_free_parser"
librdf_free_parser :: Ptr RedlandParser -> IO ()
foreign import ccall "redland.h &librdf_free_parser"
p_librdf_free_parser :: FinalizerPtr RedlandParser
foreign import ccall "librdf_parser_parse_string_into_model"
librdf_parser_parse_string_into_model
:: Ptr RedlandParser
-> CString
-> Ptr RedlandURI
-> Ptr RedlandModel
-> IO CInt
foreign import ccall "librdf_parser_guess_name2"
librdf_parser_guess_name2
:: Ptr RedlandWorld
-> CString
-> CString
-> CString
-> IO CString
data RedlandQuery
foreign import ccall "librdf_new_query"
librdf_new_query
:: Ptr RedlandWorld
-> CString
-> Ptr RedlandURI
-> CString
-> Ptr RedlandURI
-> IO (Ptr RedlandQuery)
foreign import ccall "librdf_free_query"
librdf_free_query :: Ptr RedlandQuery -> IO ()
foreign import ccall "redland.h &librdf_free_query"
p_librdf_free_query :: FinalizerPtr RedlandQuery
foreign import ccall "librdf_query_execute"
librdf_query_execute
:: Ptr RedlandQuery
-> Ptr RedlandModel
-> IO (Ptr RedlandQueryResults)
data RedlandQueryResults
foreign import ccall "librdf_free_query_results"
librdf_free_query_results :: Ptr RedlandQueryResults -> IO ()
foreign import ccall "redland.h &librdf_free_query_results"
p_librdf_free_query_results :: FinalizerPtr RedlandQueryResults
foreign import ccall "librdf_query_results_get_count"
librdf_query_results_get_count :: Ptr RedlandQueryResults -> IO CInt
foreign import ccall "librdf_query_results_next"
librdf_query_results_next :: Ptr RedlandQueryResults -> IO CInt
foreign import ccall "librdf_query_results_finished"
librdf_query_results_finished :: Ptr RedlandQueryResults -> IO CInt
foreign import ccall "librdf_query_results_get_binding_value"
librdf_query_results_get_binding_value
:: Ptr RedlandQueryResults
-> CInt
-> IO (Ptr RedlandNode)
foreign import ccall "librdf_query_results_get_binding_name"
librdf_query_results_get_binding_name
:: Ptr RedlandQueryResults
-> CInt
-> IO CString
foreign import ccall "librdf_query_results_get_binding_value_by_name"
librdf_query_results_get_binding_value_by_name
:: Ptr RedlandQueryResults
-> CString
-> IO (Ptr RedlandNode)
foreign import ccall "librdf_query_results_get_bindings_count"
librdf_query_results_get_bindings_count :: Ptr RedlandQueryResults -> IO CInt
data RedlandStatement
foreign import ccall "librdf_new_statement"
librdf_new_statement :: Ptr RedlandWorld -> IO (Ptr RedlandStatement)
foreign import ccall "librdf_free_statement"
librdf_free_statement :: Ptr RedlandStatement -> IO ()
foreign import ccall "redland.h &librdf_free_statement"
p_librdf_free_statement :: FinalizerPtr RedlandStatement
foreign import ccall "librdf_new_statement_from_nodes"
librdf_new_statement_from_nodes
:: Ptr RedlandWorld
-> Ptr RedlandNode
-> Ptr RedlandNode
-> Ptr RedlandNode
-> IO (Ptr RedlandStatement)
foreign import ccall "librdf_new_statement_from_statement"
librdf_new_statement_from_statement
:: Ptr RedlandStatement
-> IO (Ptr RedlandStatement)
foreign import ccall "librdf_statement_get_subject"
librdf_statement_get_subject
:: Ptr RedlandStatement
-> IO (Ptr RedlandNode)
foreign import ccall "librdf_statement_set_subject"
librdf_statement_set_subject
:: Ptr RedlandStatement
-> Ptr RedlandNode
-> IO ()
foreign import ccall "librdf_statement_get_predicate"
librdf_statement_get_predicate
:: Ptr RedlandStatement
-> IO (Ptr RedlandNode)
foreign import ccall "librdf_statement_set_predicate"
librdf_statement_set_predicate
:: Ptr RedlandStatement
-> Ptr RedlandNode
-> IO ()
foreign import ccall "librdf_statement_get_object"
librdf_statement_get_object
:: Ptr RedlandStatement
-> IO (Ptr RedlandNode)
foreign import ccall "librdf_statement_set_object"
librdf_statement_set_object
:: Ptr RedlandStatement
-> Ptr RedlandNode
-> IO ()
data RedlandStorage
foreign import ccall "librdf_new_storage"
librdf_new_storage
:: Ptr RedlandWorld
-> CString
-> CString
-> CString
-> IO (Ptr RedlandStorage)
foreign import ccall "librdf_free_storage"
librdf_free_storage :: Ptr RedlandStorage -> IO ()
foreign import ccall "redland.h &librdf_free_storage"
p_librdf_free_storage :: FinalizerPtr RedlandStorage
foreign import ccall "librdf_new_storage_with_options"
librdf_new_storage_with_options
:: Ptr RedlandWorld
-> CString
-> CString
-> Ptr RedlandHash
-> IO (Ptr RedlandStorage)
data RedlandStream
foreign import ccall "librdf_free_stream"
librdf_free_stream :: Ptr RedlandStream -> IO ()
foreign import ccall "redland.h &librdf_free_stream"
p_librdf_free_stream :: FinalizerPtr RedlandStream
foreign import ccall "librdf_stream_end"
librdf_stream_end :: Ptr RedlandStream -> IO CInt
foreign import ccall "librdf_stream_next"
librdf_stream_next :: Ptr RedlandStream -> IO CInt
foreign import ccall "librdf_stream_get_object"
librdf_stream_get_object
:: Ptr RedlandStream
-> IO (Ptr RedlandStatement)
data RedlandURI
foreign import ccall "librdf_new_uri"
librdf_new_uri
:: Ptr RedlandWorld
-> CString
-> IO (Ptr RedlandURI)
foreign import ccall "librdf_free_uri"
librdf_free_uri :: Ptr RedlandURI -> IO ()
foreign import ccall "redland.h &librdf_free_uri"
p_librdf_free_uri :: FinalizerPtr RedlandURI
foreign import ccall "librdf_new_uri_from_uri"
librdf_new_uri_from_uri
:: Ptr RedlandURI
-> IO (Ptr RedlandURI)
foreign import ccall "librdf_uri_as_string"
librdf_uri_as_string :: Ptr RedlandURI -> IO CString