{-# LINE 1 "src/OGDF/Graph/FFI.hsc" #-}
{-# LANGUAGE ForeignFunctionInterface, InterruptibleFFI #-}
module OGDF.Graph.FFI where
import Data.Word
import Data.Int
import Foreign.C
import Foreign.Ptr
import OGDF.Graph.RawType
import OGDF.Graph.RawType
import OGDF.NodeElement.RawType
import OGDF.EdgeElement.RawType

foreign import ccall interruptible "OGDFGraph.h Graph_delete"
               c_graph_delete :: Ptr RawGraph -> IO ()

foreign import ccall interruptible "OGDFGraph.h Graph_newGraph"
               c_graph_newgraph :: IO (Ptr RawGraph)

foreign import ccall interruptible
               "OGDFGraph.h Graph_graph_newNode" c_graph_graph_newnode ::
               Ptr RawGraph -> IO (Ptr RawNodeElement)

foreign import ccall interruptible "OGDFGraph.h Graph_newNode1"
               c_graph_newnode1 :: Ptr RawGraph -> CInt -> IO (Ptr RawNodeElement)

foreign import ccall interruptible
               "OGDFGraph.h Graph_graph_newEdge" c_graph_graph_newedge ::
               Ptr RawGraph ->
                 Ptr RawNodeElement -> Ptr RawNodeElement -> IO (Ptr RawEdgeElement)

foreign import ccall interruptible
               "OGDFGraph.h Graph_graph_firstNode" c_graph_graph_firstnode ::
               Ptr RawGraph -> IO (Ptr RawNodeElement)

foreign import ccall interruptible
               "OGDFGraph.h Graph_graph_lastNode" c_graph_graph_lastnode ::
               Ptr RawGraph -> IO (Ptr RawNodeElement)

foreign import ccall interruptible
               "OGDFGraph.h Graph_graph_firstEdge" c_graph_graph_firstedge ::
               Ptr RawGraph -> IO (Ptr RawEdgeElement)

foreign import ccall interruptible
               "OGDFGraph.h Graph_graph_lastEdge" c_graph_graph_lastedge ::
               Ptr RawGraph -> IO (Ptr RawEdgeElement)