{-# LANGUAGE ForeignFunctionInterface #-} module Bindings.MonetDB.Mapi where import Foreign import Foreign.C.Types import Foreign.C.String type MapiMsg = CInt cMOK, cMERROR, cMTIMEOUT, cMMORE, cMSERVER :: MapiMsg cMOK = 0 cMERROR = (-1) cMTIMEOUT = (-2) cMMORE = (-3) cMSERVER = (-4) type Mapi = Ptr () type MapiHdl = Ptr () foreign import ccall "mapi.h mapi_connect" mapi_connect :: Ptr CChar -> CInt -> Ptr CChar -> Ptr CChar -> Ptr CChar -> Ptr CChar -> IO Mapi foreign import ccall "mapi.h mapi_disconnect" mapi_disconnect :: Mapi -> IO () foreign import ccall "mapi.h mapi_query" mapi_query :: Mapi -> Ptr CChar -> IO MapiHdl foreign import ccall "mapi.h mapi_close_handle" mapi_close_handle :: MapiHdl -> IO () foreign import ccall "mapi.h mapi_execute" mapi_execute :: MapiHdl -> IO MapiMsg foreign import ccall "mapi.h mapi_fetch_row" mapi_fetch_row :: MapiHdl -> IO CInt foreign import ccall "mapi.h mapi_get_field_count" mapi_get_field_count :: MapiHdl -> IO CInt foreign import ccall "mapi.h mapi_fetch_field" mapi_fetch_field :: MapiHdl -> CInt -> IO (Ptr CChar) foreign import ccall "mapi.h mapi_fetch_field_len" mapi_fetch_field_len :: MapiHdl -> CInt -> IO CSize foreign import ccall "mapi.h mapi_error" mapi_error :: Mapi -> IO CInt foreign import ccall "mapi.h mapi_error_str" mapi_error_str :: Mapi -> IO (Ptr CChar) foreign import ccall "mapi.h mapi_result_error" mapi_result_error :: MapiHdl -> IO (Ptr CChar) foreign import ccall "mapi.h mapi_get_name" mapi_get_name :: MapiHdl -> CInt -> IO (Ptr CChar)