{-# OPTIONS_GHC -Wall #-} {-# Language ForeignFunctionInterface #-} module Casadi.Internal.CToolsImports where import Foreign.C.Types import Foreign.Ptr ( Ptr ) import Casadi.Internal.MarshalTypes --------------------------- stdpair ----------------------------------- foreign import ccall unsafe "hs_new_stdpair" c_newStdPair :: Ptr a -> Ptr b -> IO (Ptr (StdPair (Ptr a) (Ptr b))) foreign import ccall unsafe "hs_stdpair_fst" c_stdPairFst :: Ptr (StdPair (Ptr a) (Ptr b)) -> IO (Ptr a) foreign import ccall unsafe "hs_stdpair_snd" c_stdPairSnd :: Ptr (StdPair (Ptr a) (Ptr b)) -> IO (Ptr b) foreign import ccall unsafe "hs_delete_stdpair" c_deleteStdPair :: Ptr (StdPair (Ptr a) (Ptr b)) -> IO () foreign import ccall unsafe "hs_new_stdpair_long_long" c_newStdPairLLong :: CLLong -> CLLong -> IO (Ptr (StdPair CLLong CLLong)) foreign import ccall unsafe "hs_stdpair_fst_long_long" c_stdPairFstLLong :: Ptr (StdPair CLLong CLLong) -> IO CLLong foreign import ccall unsafe "hs_stdpair_snd_long_long" c_stdPairSndLLong :: Ptr (StdPair CLLong CLLong) -> IO CLLong foreign import ccall unsafe "hs_delete_stdpair_long_long" c_deleteStdPairLLong :: Ptr (StdPair CLLong CLLong) -> IO () --------------------------- stdmap ----------------------------------- foreign import ccall unsafe "hs_new_dict" c_newDict :: Ptr (StdVec (Ptr StdString)) -> Ptr (StdVec (Ptr a)) -> IO (Ptr (StdMap StdString (Ptr a))) foreign import ccall unsafe "hs_dict_size" c_dictSize :: Ptr (StdMap StdString (Ptr a)) -> IO CInt foreign import ccall unsafe "hs_lookup_dict" c_lookupDict :: Ptr (StdMap StdString (Ptr a)) -> Ptr StdString -> IO (Ptr a) foreign import ccall unsafe "hs_dict_copy" c_dictCopy :: Ptr (StdMap StdString (Ptr a)) -> Ptr (Ptr StdString) -> Ptr (Ptr a) -> IO () foreign import ccall unsafe "hs_delete_dict" c_deleteDict :: Ptr (StdMap StdString (Ptr a)) -> IO () --------------------------- ("int","CInt",Nothing,["Int","Bool"]) ----------------------------------- foreign import ccall unsafe "hs_new_vec_int" c_newVecCInt :: Ptr CInt -> CInt -> IO (Ptr (StdVec CInt)) foreign import ccall unsafe "hs_delete_vec_int" c_deleteVecCInt :: Ptr (StdVec CInt) -> IO () foreign import ccall unsafe "hs_copy_vec_int" c_copyVecCInt :: Ptr (StdVec CInt) -> Ptr CInt -> IO () foreign import ccall unsafe "hs_size_vec_int" c_sizeVecCInt :: Ptr (StdVec CInt) -> IO CInt foreign import ccall unsafe "hs_new_vec_llong" c_newVecLLong :: Ptr CLLong -> CInt -> IO (Ptr (StdVec CLLong)) foreign import ccall unsafe "hs_delete_vec_llong" c_deleteVecLLong :: Ptr (StdVec CLLong) -> IO () foreign import ccall unsafe "hs_copy_vec_llong" c_copyVecCLLong :: Ptr (StdVec CLLong) -> Ptr CLLong -> IO () foreign import ccall unsafe "hs_size_vec_llong" c_sizeVecCLLong :: Ptr (StdVec CLLong) -> IO CInt --------------------------- ("voidp","VoidP",Just "(Ptr a)",[]) ----------------------------------- foreign import ccall unsafe "hs_new_vec_voidp" c_newVecVoidP :: Ptr (Ptr a) -> CInt -> IO (Ptr (StdVec (Ptr a))) foreign import ccall unsafe "hs_delete_vec_voidp" c_deleteVecVoidP :: Ptr (StdVec (Ptr a)) -> IO () foreign import ccall unsafe "hs_copy_vec_voidp" c_copyVecVoidP :: Ptr (StdVec (Ptr a)) -> Ptr (Ptr a) -> IO () foreign import ccall unsafe "hs_size_vec_voidp" c_sizeVecVoidP :: Ptr (StdVec (Ptr a)) -> IO CInt --------------------------- ("uchar","CUChar",Nothing,[]) ----------------------------------- foreign import ccall unsafe "hs_new_vec_uchar" c_newVecCUChar :: Ptr CUChar -> CInt -> IO (Ptr (StdVec CUChar)) foreign import ccall unsafe "hs_delete_vec_uchar" c_deleteVecCUChar :: Ptr (StdVec CUChar) -> IO () foreign import ccall unsafe "hs_copy_vec_uchar" c_copyVecCUChar :: Ptr (StdVec CUChar) -> Ptr CUChar -> IO () foreign import ccall unsafe "hs_size_vec_uchar" c_sizeVecCUChar :: Ptr (StdVec CUChar) -> IO CInt --------------------------- ("double","CDouble",Nothing,["Double"]) ----------------------------------- foreign import ccall unsafe "hs_new_vec_double" c_newVecCDouble :: Ptr CDouble -> CInt -> IO (Ptr (StdVec CDouble)) foreign import ccall unsafe "hs_delete_vec_double" c_deleteVecCDouble :: Ptr (StdVec CDouble) -> IO () foreign import ccall unsafe "hs_copy_vec_double" c_copyVecCDouble :: Ptr (StdVec CDouble) -> Ptr CDouble -> IO () foreign import ccall unsafe "hs_size_vec_double" c_sizeVecCDouble :: Ptr (StdVec CDouble) -> IO CInt