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