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

foreign import ccall interruptible
               "HROOTTreeTChain.h TChain_Branch" c_tchain_branch ::
               Ptr RawTChain -> CString -> CInt -> CInt -> IO CInt

foreign import ccall interruptible
               "HROOTTreeTChain.h TChain_branch1" c_tchain_branch1 ::
               Ptr RawTChain ->
                 CString -> Ptr () -> CString -> CInt -> IO (Ptr RawTBranch)

foreign import ccall interruptible
               "HROOTTreeTChain.h TChain_fillTree" c_tchain_filltree ::
               Ptr RawTChain -> IO CInt

foreign import ccall interruptible
               "HROOTTreeTChain.h TChain_SetName" c_tchain_setname ::
               Ptr RawTChain -> CString -> IO ()

foreign import ccall interruptible
               "HROOTTreeTChain.h TChain_SetNameTitle" c_tchain_setnametitle ::
               Ptr RawTChain -> CString -> CString -> IO ()

foreign import ccall interruptible
               "HROOTTreeTChain.h TChain_SetTitle" c_tchain_settitle ::
               Ptr RawTChain -> CString -> IO ()

foreign import ccall interruptible
               "HROOTTreeTChain.h TChain_GetLineColor" c_tchain_getlinecolor ::
               Ptr RawTChain -> IO CShort

foreign import ccall interruptible
               "HROOTTreeTChain.h TChain_GetLineStyle" c_tchain_getlinestyle ::
               Ptr RawTChain -> IO CShort

foreign import ccall interruptible
               "HROOTTreeTChain.h TChain_GetLineWidth" c_tchain_getlinewidth ::
               Ptr RawTChain -> IO CShort

foreign import ccall interruptible
               "HROOTTreeTChain.h TChain_ResetAttLine" c_tchain_resetattline ::
               Ptr RawTChain -> CString -> IO ()

foreign import ccall interruptible
               "HROOTTreeTChain.h TChain_SetLineAttributes"
               c_tchain_setlineattributes :: Ptr RawTChain -> IO ()

foreign import ccall interruptible
               "HROOTTreeTChain.h TChain_SetLineColor" c_tchain_setlinecolor ::
               Ptr RawTChain -> CShort -> IO ()

foreign import ccall interruptible
               "HROOTTreeTChain.h TChain_SetLineStyle" c_tchain_setlinestyle ::
               Ptr RawTChain -> CShort -> IO ()

foreign import ccall interruptible
               "HROOTTreeTChain.h TChain_SetLineWidth" c_tchain_setlinewidth ::
               Ptr RawTChain -> CShort -> IO ()

foreign import ccall interruptible
               "HROOTTreeTChain.h TChain_SetFillColor" c_tchain_setfillcolor ::
               Ptr RawTChain -> CInt -> IO ()

foreign import ccall interruptible
               "HROOTTreeTChain.h TChain_SetFillStyle" c_tchain_setfillstyle ::
               Ptr RawTChain -> CInt -> IO ()

foreign import ccall interruptible
               "HROOTTreeTChain.h TChain_GetMarkerColor" c_tchain_getmarkercolor
               :: Ptr RawTChain -> IO CShort

foreign import ccall interruptible
               "HROOTTreeTChain.h TChain_GetMarkerStyle" c_tchain_getmarkerstyle
               :: Ptr RawTChain -> IO CShort

foreign import ccall interruptible
               "HROOTTreeTChain.h TChain_GetMarkerSize" c_tchain_getmarkersize ::
               Ptr RawTChain -> IO CFloat

foreign import ccall interruptible
               "HROOTTreeTChain.h TChain_ResetAttMarker" c_tchain_resetattmarker
               :: Ptr RawTChain -> CString -> IO ()

foreign import ccall interruptible
               "HROOTTreeTChain.h TChain_SetMarkerAttributes"
               c_tchain_setmarkerattributes :: Ptr RawTChain -> IO ()

foreign import ccall interruptible
               "HROOTTreeTChain.h TChain_SetMarkerColor" c_tchain_setmarkercolor
               :: Ptr RawTChain -> CShort -> IO ()

foreign import ccall interruptible
               "HROOTTreeTChain.h TChain_SetMarkerStyle" c_tchain_setmarkerstyle
               :: Ptr RawTChain -> CShort -> IO ()

foreign import ccall interruptible
               "HROOTTreeTChain.h TChain_SetMarkerSize" c_tchain_setmarkersize ::
               Ptr RawTChain -> CShort -> IO ()

foreign import ccall interruptible "HROOTTreeTChain.h TChain_Clear"
               c_tchain_clear :: Ptr RawTChain -> CString -> IO ()

foreign import ccall interruptible "HROOTTreeTChain.h TChain_Draw"
               c_tchain_draw :: Ptr RawTChain -> CString -> IO ()

foreign import ccall interruptible
               "HROOTTreeTChain.h TChain_FindObject" c_tchain_findobject ::
               Ptr RawTChain -> CString -> IO (Ptr RawTObject)

foreign import ccall interruptible
               "HROOTTreeTChain.h TChain_GetName" c_tchain_getname ::
               Ptr RawTChain -> IO CString

foreign import ccall interruptible "HROOTTreeTChain.h TChain_IsA"
               c_tchain_isa :: Ptr RawTChain -> IO (Ptr RawTClass)

foreign import ccall interruptible "HROOTTreeTChain.h TChain_Paint"
               c_tchain_paint :: Ptr RawTChain -> CString -> IO ()

foreign import ccall interruptible
               "HROOTTreeTChain.h TChain_printObj" c_tchain_printobj ::
               Ptr RawTChain -> CString -> IO ()

foreign import ccall interruptible
               "HROOTTreeTChain.h TChain_SaveAs" c_tchain_saveas ::
               Ptr RawTChain -> CString -> CString -> IO ()

foreign import ccall interruptible "HROOTTreeTChain.h TChain_Write"
               c_tchain_write ::
               Ptr RawTChain -> CString -> CInt -> CInt -> IO CInt

foreign import ccall interruptible
               "HROOTTreeTChain.h TChain_Write_" c_tchain_write_ ::
               Ptr RawTChain -> IO CInt

foreign import ccall interruptible
               "HROOTTreeTChain.h TChain_delete" c_tchain_delete ::
               Ptr RawTChain -> IO ()

foreign import ccall interruptible
               "HROOTTreeTChain.h TChain_newTChain" c_tchain_newtchain ::
               CString -> CString -> IO (Ptr RawTChain)

foreign import ccall interruptible
               "HROOTTreeTChain.h TChain_addChain" c_tchain_addchain ::
               Ptr RawTChain -> Ptr RawTChain -> IO CInt

foreign import ccall interruptible
               "HROOTTreeTChain.h TChain_addChain1" c_tchain_addchain1 ::
               Ptr RawTChain -> CString -> CLong -> IO CInt