packages feed

casadi-bindings-internal-0.1.6.1: src/Casadi/Internal/CToolsImports.hs

{-# 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