{-# LINE 1 "src/HROOT/IO/TMemFile/FFI.hsc" #-}
{-# LANGUAGE ForeignFunctionInterface, InterruptibleFFI #-}
module HROOT.IO.TMemFile.FFI where
import Data.Word
import Data.Int
import Foreign.C
import Foreign.Ptr
import HROOT.IO.TMemFile.RawType
import HROOT.IO.TMemFile.RawType
import HROOT.Core.TObject.RawType
import HROOT.Core.TKey.RawType
import HROOT.Core.TClass.RawType

foreign import ccall interruptible
               "HROOTIOTMemFile.h TMemFile_Append" c_tmemfile_append ::
               Ptr RawTMemFile -> Ptr RawTObject -> CBool -> IO ()

foreign import ccall interruptible
               "HROOTIOTMemFile.h TMemFile_addD" c_tmemfile_addd ::
               Ptr RawTMemFile -> Ptr RawTObject -> CBool -> IO ()

foreign import ccall interruptible
               "HROOTIOTMemFile.h TMemFile_AppendKey" c_tmemfile_appendkey ::
               Ptr RawTMemFile -> Ptr RawTKey -> IO CInt

foreign import ccall interruptible
               "HROOTIOTMemFile.h TMemFile_Close" c_tmemfile_close ::
               Ptr RawTMemFile -> CString -> IO ()

foreign import ccall interruptible "HROOTIOTMemFile.h TMemFile_Get"
               c_tmemfile_get :: Ptr RawTMemFile -> CString -> IO (Ptr RawTObject)

foreign import ccall interruptible
               "HROOTIOTMemFile.h TMemFile_cd_TDirectory" c_tmemfile_cd_tdirectory
               :: Ptr RawTMemFile -> CString -> IO CBool

foreign import ccall interruptible
               "HROOTIOTMemFile.h TMemFile_SetName" c_tmemfile_setname ::
               Ptr RawTMemFile -> CString -> IO ()

foreign import ccall interruptible
               "HROOTIOTMemFile.h TMemFile_SetNameTitle" c_tmemfile_setnametitle
               :: Ptr RawTMemFile -> CString -> CString -> IO ()

foreign import ccall interruptible
               "HROOTIOTMemFile.h TMemFile_SetTitle" c_tmemfile_settitle ::
               Ptr RawTMemFile -> CString -> IO ()

foreign import ccall interruptible
               "HROOTIOTMemFile.h TMemFile_Clear" c_tmemfile_clear ::
               Ptr RawTMemFile -> CString -> IO ()

foreign import ccall interruptible
               "HROOTIOTMemFile.h TMemFile_Draw" c_tmemfile_draw ::
               Ptr RawTMemFile -> CString -> IO ()

foreign import ccall interruptible
               "HROOTIOTMemFile.h TMemFile_FindObject" c_tmemfile_findobject ::
               Ptr RawTMemFile -> CString -> IO (Ptr RawTObject)

foreign import ccall interruptible
               "HROOTIOTMemFile.h TMemFile_GetName" c_tmemfile_getname ::
               Ptr RawTMemFile -> IO CString

foreign import ccall interruptible "HROOTIOTMemFile.h TMemFile_IsA"
               c_tmemfile_isa :: Ptr RawTMemFile -> IO (Ptr RawTClass)

foreign import ccall interruptible
               "HROOTIOTMemFile.h TMemFile_Paint" c_tmemfile_paint ::
               Ptr RawTMemFile -> CString -> IO ()

foreign import ccall interruptible
               "HROOTIOTMemFile.h TMemFile_printObj" c_tmemfile_printobj ::
               Ptr RawTMemFile -> CString -> IO ()

foreign import ccall interruptible
               "HROOTIOTMemFile.h TMemFile_SaveAs" c_tmemfile_saveas ::
               Ptr RawTMemFile -> CString -> CString -> IO ()

foreign import ccall interruptible
               "HROOTIOTMemFile.h TMemFile_Write" c_tmemfile_write ::
               Ptr RawTMemFile -> CString -> CInt -> CInt -> IO CInt

foreign import ccall interruptible
               "HROOTIOTMemFile.h TMemFile_Write_" c_tmemfile_write_ ::
               Ptr RawTMemFile -> IO CInt

foreign import ccall interruptible
               "HROOTIOTMemFile.h TMemFile_delete" c_tmemfile_delete ::
               Ptr RawTMemFile -> IO ()

foreign import ccall interruptible
               "HROOTIOTMemFile.h TMemFile_newTMemFile" c_tmemfile_newtmemfile ::
               CString -> CString -> CString -> CInt -> IO (Ptr RawTMemFile)