{-# LINE 1 "src/Bindings/Gts/BasicMacrosFunctionsAndDataStructures/MiscellaneousMacrosAndFunctions.hsc" #-}

{-# LINE 2 "src/Bindings/Gts/BasicMacrosFunctionsAndDataStructures/MiscellaneousMacrosAndFunctions.hsc" #-}

{-# LINE 3 "src/Bindings/Gts/BasicMacrosFunctionsAndDataStructures/MiscellaneousMacrosAndFunctions.hsc" #-}

-- | <http://gts.sourceforge.net/reference/gts-miscellaneous-macros-and-functions.html>

module Bindings.Gts.BasicMacrosFunctionsAndDataStructures.MiscellaneousMacrosAndFunctions where
import Bindings.GLib
import Bindings.Gts.Types
import Foreign.Ptr (Ptr,FunPtr,plusPtr)
import Foreign.Ptr (wordPtrToPtr,castPtrToFunPtr)
import Foreign.Storable
import Foreign.C.Types
import Foreign.C.String (CString,CStringLen,CWString,CWStringLen)
import Foreign.Marshal.Alloc (alloca)
import Foreign.Marshal.Array (peekArray,pokeArray)
import Data.Int
import Data.Word

{-# LINE 10 "src/Bindings/Gts/BasicMacrosFunctionsAndDataStructures/MiscellaneousMacrosAndFunctions.hsc" #-}

foreign import ccall "array_GTS_COMMENTS" c'GTS_COMMENTS
  :: Ptr (CChar)

{-# LINE 12 "src/Bindings/Gts/BasicMacrosFunctionsAndDataStructures/MiscellaneousMacrosAndFunctions.hsc" #-}

foreign import ccall "gts_file_new" c'gts_file_new
  :: Ptr CFile -> IO (Ptr C'GtsFile)
foreign import ccall "&gts_file_new" p'gts_file_new
  :: FunPtr (Ptr CFile -> IO (Ptr C'GtsFile))

{-# LINE 14 "src/Bindings/Gts/BasicMacrosFunctionsAndDataStructures/MiscellaneousMacrosAndFunctions.hsc" #-}
foreign import ccall "gts_file_next_token" c'gts_file_next_token
  :: Ptr C'GtsFile -> IO ()
foreign import ccall "&gts_file_next_token" p'gts_file_next_token
  :: FunPtr (Ptr C'GtsFile -> IO ())

{-# LINE 15 "src/Bindings/Gts/BasicMacrosFunctionsAndDataStructures/MiscellaneousMacrosAndFunctions.hsc" #-}
foreign import ccall "gts_file_first_token_after" c'gts_file_first_token_after
  :: Ptr C'GtsFile -> C'GtsTokenType -> IO ()
foreign import ccall "&gts_file_first_token_after" p'gts_file_first_token_after
  :: FunPtr (Ptr C'GtsFile -> C'GtsTokenType -> IO ())

{-# LINE 16 "src/Bindings/Gts/BasicMacrosFunctionsAndDataStructures/MiscellaneousMacrosAndFunctions.hsc" #-}
foreign import ccall "gts_file_assign_start" c'gts_file_assign_start
  :: Ptr C'GtsFile -> Ptr C'GtsFileVariable -> IO ()
foreign import ccall "&gts_file_assign_start" p'gts_file_assign_start
  :: FunPtr (Ptr C'GtsFile -> Ptr C'GtsFileVariable -> IO ())

{-# LINE 17 "src/Bindings/Gts/BasicMacrosFunctionsAndDataStructures/MiscellaneousMacrosAndFunctions.hsc" #-}
foreign import ccall "gts_file_assign_next" c'gts_file_assign_next
  :: Ptr C'GtsFile -> Ptr C'GtsFileVariable -> IO (Ptr C'GtsFileVariable)
foreign import ccall "&gts_file_assign_next" p'gts_file_assign_next
  :: FunPtr (Ptr C'GtsFile -> Ptr C'GtsFileVariable -> IO (Ptr C'GtsFileVariable))

{-# LINE 18 "src/Bindings/Gts/BasicMacrosFunctionsAndDataStructures/MiscellaneousMacrosAndFunctions.hsc" #-}
foreign import ccall "gts_file_assign_variables" c'gts_file_assign_variables
  :: Ptr C'GtsFile -> Ptr C'GtsFileVariable -> IO ()
foreign import ccall "&gts_file_assign_variables" p'gts_file_assign_variables
  :: FunPtr (Ptr C'GtsFile -> Ptr C'GtsFileVariable -> IO ())

{-# LINE 19 "src/Bindings/Gts/BasicMacrosFunctionsAndDataStructures/MiscellaneousMacrosAndFunctions.hsc" #-}
foreign import ccall "gts_file_getc" c'gts_file_getc
  :: Ptr C'GtsFile -> IO C'gint
foreign import ccall "&gts_file_getc" p'gts_file_getc
  :: FunPtr (Ptr C'GtsFile -> IO C'gint)

{-# LINE 20 "src/Bindings/Gts/BasicMacrosFunctionsAndDataStructures/MiscellaneousMacrosAndFunctions.hsc" #-}
foreign import ccall "gts_file_getc_scope" c'gts_file_getc_scope
  :: Ptr C'GtsFile -> IO C'gint
foreign import ccall "&gts_file_getc_scope" p'gts_file_getc_scope
  :: FunPtr (Ptr C'GtsFile -> IO C'gint)

{-# LINE 21 "src/Bindings/Gts/BasicMacrosFunctionsAndDataStructures/MiscellaneousMacrosAndFunctions.hsc" #-}
foreign import ccall "gts_file_read" c'gts_file_read
  :: Ptr C'GtsFile -> C'gpointer -> C'guint -> C'guint -> IO C'guint
foreign import ccall "&gts_file_read" p'gts_file_read
  :: FunPtr (Ptr C'GtsFile -> C'gpointer -> C'guint -> C'guint -> IO C'guint)

{-# LINE 22 "src/Bindings/Gts/BasicMacrosFunctionsAndDataStructures/MiscellaneousMacrosAndFunctions.hsc" #-}
foreign import ccall "gts_file_destroy" c'gts_file_destroy
  :: Ptr C'GtsFile -> IO ()
foreign import ccall "&gts_file_destroy" p'gts_file_destroy
  :: FunPtr (Ptr C'GtsFile -> IO ())

{-# LINE 23 "src/Bindings/Gts/BasicMacrosFunctionsAndDataStructures/MiscellaneousMacrosAndFunctions.hsc" #-}