module Database.DuckDB.FFI.Configuration (
c_duckdb_create_config,
c_duckdb_config_count,
c_duckdb_get_config_flag,
c_duckdb_set_config,
c_duckdb_destroy_config,
c_duckdb_create_config_option,
c_duckdb_destroy_config_option,
c_duckdb_config_option_set_name,
c_duckdb_config_option_set_type,
c_duckdb_config_option_set_default_value,
c_duckdb_config_option_set_default_scope,
c_duckdb_config_option_set_description,
c_duckdb_register_config_option,
c_duckdb_client_context_get_config_option,
) where
import Database.DuckDB.FFI.Types
import Foreign.C.String (CString)
import Foreign.C.Types (CInt (..), CSize (..))
import Foreign.Ptr (Ptr)
foreign import ccall safe "duckdb_create_config"
c_duckdb_create_config :: Ptr DuckDBConfig -> IO DuckDBState
foreign import ccall safe "duckdb_config_count"
c_duckdb_config_count :: IO CSize
foreign import ccall safe "duckdb_get_config_flag"
c_duckdb_get_config_flag :: CSize -> Ptr CString -> Ptr CString -> IO DuckDBState
foreign import ccall safe "duckdb_set_config"
c_duckdb_set_config :: DuckDBConfig -> CString -> CString -> IO DuckDBState
foreign import ccall safe "duckdb_destroy_config"
c_duckdb_destroy_config :: Ptr DuckDBConfig -> IO ()
foreign import ccall safe "duckdb_create_config_option"
c_duckdb_create_config_option :: IO DuckDBConfigOption
foreign import ccall safe "duckdb_destroy_config_option"
c_duckdb_destroy_config_option :: Ptr DuckDBConfigOption -> IO ()
foreign import ccall safe "duckdb_config_option_set_name"
c_duckdb_config_option_set_name :: DuckDBConfigOption -> CString -> IO ()
foreign import ccall safe "duckdb_config_option_set_type"
c_duckdb_config_option_set_type :: DuckDBConfigOption -> DuckDBLogicalType -> IO ()
foreign import ccall safe "duckdb_config_option_set_default_value"
c_duckdb_config_option_set_default_value :: DuckDBConfigOption -> DuckDBValue -> IO ()
foreign import ccall safe "duckdb_config_option_set_default_scope"
c_duckdb_config_option_set_default_scope :: DuckDBConfigOption -> DuckDBConfigOptionScope -> IO ()
foreign import ccall safe "duckdb_config_option_set_description"
c_duckdb_config_option_set_description :: DuckDBConfigOption -> CString -> IO ()
foreign import ccall safe "duckdb_register_config_option"
c_duckdb_register_config_option :: DuckDBConnection -> DuckDBConfigOption -> IO DuckDBState
foreign import ccall safe "duckdb_client_context_get_config_option"
c_duckdb_client_context_get_config_option :: DuckDBClientContext -> CString -> Ptr DuckDBConfigOptionScope -> IO DuckDBValue