{-# LINE 1 "src/Bindings/GLib/CoreApplicationSupport/MainEventLoop.hsc" #-}

{-# LINE 2 "src/Bindings/GLib/CoreApplicationSupport/MainEventLoop.hsc" #-}

{-# LINE 3 "src/Bindings/GLib/CoreApplicationSupport/MainEventLoop.hsc" #-}

-- | <http://library.gnome.org/devel/glib/stable/glib-The-Main-Event-Loop.html>

module Bindings.GLib.CoreApplicationSupport.MainEventLoop where
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 8 "src/Bindings/GLib/CoreApplicationSupport/MainEventLoop.hsc" #-}
import Bindings.GLib.Fundamentals
import Bindings.GLib.Utilities.DateAndTimeFunctions
import Bindings.GLib.DataTypes.Datasets
import Bindings.GLib.CoreApplicationSupport.Threads

data C'GMainLoop = C'GMainLoop

{-# LINE 14 "src/Bindings/GLib/CoreApplicationSupport/MainEventLoop.hsc" #-}

foreign import ccall "g_main_loop_new" c'g_main_loop_new
  :: Ptr C'GMainContext -> C'gboolean -> IO (Ptr C'GMainLoop)
foreign import ccall "&g_main_loop_new" p'g_main_loop_new
  :: FunPtr (Ptr C'GMainContext -> C'gboolean -> IO (Ptr C'GMainLoop))

{-# LINE 16 "src/Bindings/GLib/CoreApplicationSupport/MainEventLoop.hsc" #-}
foreign import ccall "g_main_loop_ref" c'g_main_loop_ref
  :: Ptr C'GMainLoop -> IO (Ptr C'GMainLoop)
foreign import ccall "&g_main_loop_ref" p'g_main_loop_ref
  :: FunPtr (Ptr C'GMainLoop -> IO (Ptr C'GMainLoop))

{-# LINE 17 "src/Bindings/GLib/CoreApplicationSupport/MainEventLoop.hsc" #-}
foreign import ccall "g_main_loop_unref" c'g_main_loop_unref
  :: Ptr C'GMainLoop -> IO ()
foreign import ccall "&g_main_loop_unref" p'g_main_loop_unref
  :: FunPtr (Ptr C'GMainLoop -> IO ())

{-# LINE 18 "src/Bindings/GLib/CoreApplicationSupport/MainEventLoop.hsc" #-}
foreign import ccall "g_main_loop_run" c'g_main_loop_run
  :: Ptr C'GMainLoop -> IO ()
foreign import ccall "&g_main_loop_run" p'g_main_loop_run
  :: FunPtr (Ptr C'GMainLoop -> IO ())

{-# LINE 19 "src/Bindings/GLib/CoreApplicationSupport/MainEventLoop.hsc" #-}
foreign import ccall "g_main_loop_quit" c'g_main_loop_quit
  :: Ptr C'GMainLoop -> IO ()
foreign import ccall "&g_main_loop_quit" p'g_main_loop_quit
  :: FunPtr (Ptr C'GMainLoop -> IO ())

{-# LINE 20 "src/Bindings/GLib/CoreApplicationSupport/MainEventLoop.hsc" #-}
foreign import ccall "g_main_loop_is_running" c'g_main_loop_is_running
  :: Ptr C'GMainLoop -> IO C'gboolean
foreign import ccall "&g_main_loop_is_running" p'g_main_loop_is_running
  :: FunPtr (Ptr C'GMainLoop -> IO C'gboolean)

{-# LINE 21 "src/Bindings/GLib/CoreApplicationSupport/MainEventLoop.hsc" #-}
foreign import ccall "g_main_loop_get_context" c'g_main_loop_get_context
  :: Ptr C'GMainLoop -> IO (Ptr C'GMainContext)
foreign import ccall "&g_main_loop_get_context" p'g_main_loop_get_context
  :: FunPtr (Ptr C'GMainLoop -> IO (Ptr C'GMainContext))

{-# LINE 22 "src/Bindings/GLib/CoreApplicationSupport/MainEventLoop.hsc" #-}

c'G_PRIORITY_HIGH = -100
c'G_PRIORITY_HIGH :: (Num a) => a

{-# LINE 24 "src/Bindings/GLib/CoreApplicationSupport/MainEventLoop.hsc" #-}
c'G_PRIORITY_DEFAULT = 0
c'G_PRIORITY_DEFAULT :: (Num a) => a

{-# LINE 25 "src/Bindings/GLib/CoreApplicationSupport/MainEventLoop.hsc" #-}
c'G_PRIORITY_HIGH_IDLE = 100
c'G_PRIORITY_HIGH_IDLE :: (Num a) => a

{-# LINE 26 "src/Bindings/GLib/CoreApplicationSupport/MainEventLoop.hsc" #-}
c'G_PRIORITY_DEFAULT_IDLE = 200
c'G_PRIORITY_DEFAULT_IDLE :: (Num a) => a

{-# LINE 27 "src/Bindings/GLib/CoreApplicationSupport/MainEventLoop.hsc" #-}
c'G_PRIORITY_LOW = 300
c'G_PRIORITY_LOW :: (Num a) => a

{-# LINE 28 "src/Bindings/GLib/CoreApplicationSupport/MainEventLoop.hsc" #-}

data C'GMainContext = C'GMainContext

{-# LINE 30 "src/Bindings/GLib/CoreApplicationSupport/MainEventLoop.hsc" #-}

foreign import ccall "g_main_context_new" c'g_main_context_new
  :: IO (Ptr C'GMainContext)
foreign import ccall "&g_main_context_new" p'g_main_context_new
  :: FunPtr (IO (Ptr C'GMainContext))

{-# LINE 32 "src/Bindings/GLib/CoreApplicationSupport/MainEventLoop.hsc" #-}
foreign import ccall "g_main_context_ref" c'g_main_context_ref
  :: Ptr C'GMainContext -> IO (Ptr C'GMainContext)
foreign import ccall "&g_main_context_ref" p'g_main_context_ref
  :: FunPtr (Ptr C'GMainContext -> IO (Ptr C'GMainContext))

{-# LINE 33 "src/Bindings/GLib/CoreApplicationSupport/MainEventLoop.hsc" #-}
foreign import ccall "g_main_context_unref" c'g_main_context_unref
  :: Ptr C'GMainContext -> IO ()
foreign import ccall "&g_main_context_unref" p'g_main_context_unref
  :: FunPtr (Ptr C'GMainContext -> IO ())

{-# LINE 34 "src/Bindings/GLib/CoreApplicationSupport/MainEventLoop.hsc" #-}
foreign import ccall "g_main_context_default" c'g_main_context_default
  :: IO (Ptr C'GMainContext)
foreign import ccall "&g_main_context_default" p'g_main_context_default
  :: FunPtr (IO (Ptr C'GMainContext))

{-# LINE 35 "src/Bindings/GLib/CoreApplicationSupport/MainEventLoop.hsc" #-}
foreign import ccall "g_main_context_iteration" c'g_main_context_iteration
  :: Ptr C'GMainContext -> C'gboolean -> IO C'gboolean
foreign import ccall "&g_main_context_iteration" p'g_main_context_iteration
  :: FunPtr (Ptr C'GMainContext -> C'gboolean -> IO C'gboolean)

{-# LINE 36 "src/Bindings/GLib/CoreApplicationSupport/MainEventLoop.hsc" #-}
foreign import ccall "g_main_context_pending" c'g_main_context_pending
  :: Ptr C'GMainContext -> IO C'gboolean
foreign import ccall "&g_main_context_pending" p'g_main_context_pending
  :: FunPtr (Ptr C'GMainContext -> IO C'gboolean)

{-# LINE 37 "src/Bindings/GLib/CoreApplicationSupport/MainEventLoop.hsc" #-}
foreign import ccall "g_main_context_find_source_by_id" c'g_main_context_find_source_by_id
  :: Ptr C'GMainContext -> C'guint -> IO (Ptr C'GSource)
foreign import ccall "&g_main_context_find_source_by_id" p'g_main_context_find_source_by_id
  :: FunPtr (Ptr C'GMainContext -> C'guint -> IO (Ptr C'GSource))

{-# LINE 38 "src/Bindings/GLib/CoreApplicationSupport/MainEventLoop.hsc" #-}
foreign import ccall "g_main_context_find_source_by_user_data" c'g_main_context_find_source_by_user_data
  :: Ptr C'GMainContext -> C'gpointer -> IO (Ptr C'GSource)
foreign import ccall "&g_main_context_find_source_by_user_data" p'g_main_context_find_source_by_user_data
  :: FunPtr (Ptr C'GMainContext -> C'gpointer -> IO (Ptr C'GSource))

{-# LINE 39 "src/Bindings/GLib/CoreApplicationSupport/MainEventLoop.hsc" #-}
foreign import ccall "g_main_context_find_source_by_funcs_user_data" c'g_main_context_find_source_by_funcs_user_data
  :: Ptr C'GMainContext -> Ptr C'GSourceFuncs -> C'gpointer -> IO (Ptr C'GSource)
foreign import ccall "&g_main_context_find_source_by_funcs_user_data" p'g_main_context_find_source_by_funcs_user_data
  :: FunPtr (Ptr C'GMainContext -> Ptr C'GSourceFuncs -> C'gpointer -> IO (Ptr C'GSource))

{-# LINE 40 "src/Bindings/GLib/CoreApplicationSupport/MainEventLoop.hsc" #-}
foreign import ccall "g_main_context_wakeup" c'g_main_context_wakeup
  :: Ptr C'GMainContext -> IO ()
foreign import ccall "&g_main_context_wakeup" p'g_main_context_wakeup
  :: FunPtr (Ptr C'GMainContext -> IO ())

{-# LINE 41 "src/Bindings/GLib/CoreApplicationSupport/MainEventLoop.hsc" #-}
foreign import ccall "g_main_context_acquire" c'g_main_context_acquire
  :: Ptr C'GMainContext -> IO C'gboolean
foreign import ccall "&g_main_context_acquire" p'g_main_context_acquire
  :: FunPtr (Ptr C'GMainContext -> IO C'gboolean)

{-# LINE 42 "src/Bindings/GLib/CoreApplicationSupport/MainEventLoop.hsc" #-}
foreign import ccall "g_main_context_release" c'g_main_context_release
  :: Ptr C'GMainContext -> IO ()
foreign import ccall "&g_main_context_release" p'g_main_context_release
  :: FunPtr (Ptr C'GMainContext -> IO ())

{-# LINE 43 "src/Bindings/GLib/CoreApplicationSupport/MainEventLoop.hsc" #-}
foreign import ccall "g_main_context_is_owner" c'g_main_context_is_owner
  :: Ptr C'GMainContext -> IO C'gboolean
foreign import ccall "&g_main_context_is_owner" p'g_main_context_is_owner
  :: FunPtr (Ptr C'GMainContext -> IO C'gboolean)

{-# LINE 44 "src/Bindings/GLib/CoreApplicationSupport/MainEventLoop.hsc" #-}
foreign import ccall "g_main_context_wait" c'g_main_context_wait
  :: Ptr C'GMainContext -> Ptr C'GCond -> Ptr C'GMutex -> IO C'gboolean
foreign import ccall "&g_main_context_wait" p'g_main_context_wait
  :: FunPtr (Ptr C'GMainContext -> Ptr C'GCond -> Ptr C'GMutex -> IO C'gboolean)

{-# LINE 45 "src/Bindings/GLib/CoreApplicationSupport/MainEventLoop.hsc" #-}
foreign import ccall "g_main_context_prepare" c'g_main_context_prepare
  :: Ptr C'GMainContext -> Ptr C'gint -> IO C'gboolean
foreign import ccall "&g_main_context_prepare" p'g_main_context_prepare
  :: FunPtr (Ptr C'GMainContext -> Ptr C'gint -> IO C'gboolean)

{-# LINE 46 "src/Bindings/GLib/CoreApplicationSupport/MainEventLoop.hsc" #-}
foreign import ccall "g_main_context_query" c'g_main_context_query
  :: Ptr C'GMainContext -> C'gint -> Ptr C'gint -> Ptr C'GPollFD -> C'gint -> IO C'gint
foreign import ccall "&g_main_context_query" p'g_main_context_query
  :: FunPtr (Ptr C'GMainContext -> C'gint -> Ptr C'gint -> Ptr C'GPollFD -> C'gint -> IO C'gint)

{-# LINE 47 "src/Bindings/GLib/CoreApplicationSupport/MainEventLoop.hsc" #-}
foreign import ccall "g_main_context_check" c'g_main_context_check
  :: Ptr C'GMainContext -> C'gint -> Ptr C'GPollFD -> C'gint -> IO C'gint
foreign import ccall "&g_main_context_check" p'g_main_context_check
  :: FunPtr (Ptr C'GMainContext -> C'gint -> Ptr C'GPollFD -> C'gint -> IO C'gint)

{-# LINE 48 "src/Bindings/GLib/CoreApplicationSupport/MainEventLoop.hsc" #-}
foreign import ccall "g_main_context_dispatch" c'g_main_context_dispatch
  :: Ptr C'GMainContext -> IO ()
foreign import ccall "&g_main_context_dispatch" p'g_main_context_dispatch
  :: FunPtr (Ptr C'GMainContext -> IO ())

{-# LINE 49 "src/Bindings/GLib/CoreApplicationSupport/MainEventLoop.hsc" #-}
foreign import ccall "g_main_context_set_poll_func" c'g_main_context_set_poll_func
  :: Ptr C'GMainContext -> C'GPollFunc -> IO ()
foreign import ccall "&g_main_context_set_poll_func" p'g_main_context_set_poll_func
  :: FunPtr (Ptr C'GMainContext -> C'GPollFunc -> IO ())

{-# LINE 50 "src/Bindings/GLib/CoreApplicationSupport/MainEventLoop.hsc" #-}
foreign import ccall "g_main_context_get_poll_func" c'g_main_context_get_poll_func
  :: Ptr C'GMainContext -> IO C'GPollFunc
foreign import ccall "&g_main_context_get_poll_func" p'g_main_context_get_poll_func
  :: FunPtr (Ptr C'GMainContext -> IO C'GPollFunc)

{-# LINE 51 "src/Bindings/GLib/CoreApplicationSupport/MainEventLoop.hsc" #-}

type C'GPollFunc = FunPtr (Ptr C'GPollFD -> C'guint -> C'gint -> IO C'gint)
foreign import ccall "wrapper" mk'GPollFunc
  :: (Ptr C'GPollFD -> C'guint -> C'gint -> IO C'gint) -> IO C'GPollFunc
foreign import ccall "dynamic" mK'GPollFunc
  :: C'GPollFunc -> (Ptr C'GPollFD -> C'guint -> C'gint -> IO C'gint)

{-# LINE 53 "src/Bindings/GLib/CoreApplicationSupport/MainEventLoop.hsc" #-}

foreign import ccall "g_main_context_add_poll" c'g_main_context_add_poll
  :: Ptr C'GMainContext -> Ptr C'GPollFD -> C'gint -> IO ()
foreign import ccall "&g_main_context_add_poll" p'g_main_context_add_poll
  :: FunPtr (Ptr C'GMainContext -> Ptr C'GPollFD -> C'gint -> IO ())

{-# LINE 55 "src/Bindings/GLib/CoreApplicationSupport/MainEventLoop.hsc" #-}
foreign import ccall "g_main_context_remove_poll" c'g_main_context_remove_poll
  :: Ptr C'GMainContext -> Ptr C'GPollFD -> IO ()
foreign import ccall "&g_main_context_remove_poll" p'g_main_context_remove_poll
  :: FunPtr (Ptr C'GMainContext -> Ptr C'GPollFD -> IO ())

{-# LINE 56 "src/Bindings/GLib/CoreApplicationSupport/MainEventLoop.hsc" #-}
foreign import ccall "g_main_depth" c'g_main_depth
  :: IO C'gint
foreign import ccall "&g_main_depth" p'g_main_depth
  :: FunPtr (IO C'gint)

{-# LINE 57 "src/Bindings/GLib/CoreApplicationSupport/MainEventLoop.hsc" #-}
foreign import ccall "g_main_current_source" c'g_main_current_source
  :: IO (Ptr C'GSource)
foreign import ccall "&g_main_current_source" p'g_main_current_source
  :: FunPtr (IO (Ptr C'GSource))

{-# LINE 58 "src/Bindings/GLib/CoreApplicationSupport/MainEventLoop.hsc" #-}

foreign import ccall "g_main_context_get_thread_default" c'g_main_context_get_thread_default
  :: IO (Ptr C'GMainContext)
foreign import ccall "&g_main_context_get_thread_default" p'g_main_context_get_thread_default
  :: FunPtr (IO (Ptr C'GMainContext))

{-# LINE 60 "src/Bindings/GLib/CoreApplicationSupport/MainEventLoop.hsc" #-}
foreign import ccall "g_main_context_push_thread_default" c'g_main_context_push_thread_default
  :: Ptr C'GMainContext -> IO ()
foreign import ccall "&g_main_context_push_thread_default" p'g_main_context_push_thread_default
  :: FunPtr (Ptr C'GMainContext -> IO ())

{-# LINE 61 "src/Bindings/GLib/CoreApplicationSupport/MainEventLoop.hsc" #-}
foreign import ccall "g_main_context_pop_thread_default" c'g_main_context_pop_thread_default
  :: Ptr C'GMainContext -> IO ()
foreign import ccall "&g_main_context_pop_thread_default" p'g_main_context_pop_thread_default
  :: FunPtr (Ptr C'GMainContext -> IO ())

{-# LINE 62 "src/Bindings/GLib/CoreApplicationSupport/MainEventLoop.hsc" #-}

foreign import ccall "g_timeout_source_new" c'g_timeout_source_new
  :: C'guint -> IO (Ptr C'GSource)
foreign import ccall "&g_timeout_source_new" p'g_timeout_source_new
  :: FunPtr (C'guint -> IO (Ptr C'GSource))

{-# LINE 64 "src/Bindings/GLib/CoreApplicationSupport/MainEventLoop.hsc" #-}
foreign import ccall "g_timeout_source_new_seconds" c'g_timeout_source_new_seconds
  :: C'guint -> IO (Ptr C'GSource)
foreign import ccall "&g_timeout_source_new_seconds" p'g_timeout_source_new_seconds
  :: FunPtr (C'guint -> IO (Ptr C'GSource))

{-# LINE 65 "src/Bindings/GLib/CoreApplicationSupport/MainEventLoop.hsc" #-}
foreign import ccall "g_timeout_add" c'g_timeout_add
  :: C'guint -> C'GSourceFunc -> C'gpointer -> IO C'guint
foreign import ccall "&g_timeout_add" p'g_timeout_add
  :: FunPtr (C'guint -> C'GSourceFunc -> C'gpointer -> IO C'guint)

{-# LINE 66 "src/Bindings/GLib/CoreApplicationSupport/MainEventLoop.hsc" #-}
foreign import ccall "g_timeout_add_full" c'g_timeout_add_full
  :: C'gint -> C'guint -> C'GSourceFunc -> C'gpointer -> C'GDestroyNotify -> IO C'guint
foreign import ccall "&g_timeout_add_full" p'g_timeout_add_full
  :: FunPtr (C'gint -> C'guint -> C'GSourceFunc -> C'gpointer -> C'GDestroyNotify -> IO C'guint)

{-# LINE 67 "src/Bindings/GLib/CoreApplicationSupport/MainEventLoop.hsc" #-}
foreign import ccall "g_timeout_add_seconds" c'g_timeout_add_seconds
  :: C'guint -> C'GSourceFunc -> C'gpointer -> IO C'guint
foreign import ccall "&g_timeout_add_seconds" p'g_timeout_add_seconds
  :: FunPtr (C'guint -> C'GSourceFunc -> C'gpointer -> IO C'guint)

{-# LINE 68 "src/Bindings/GLib/CoreApplicationSupport/MainEventLoop.hsc" #-}
foreign import ccall "g_timeout_add_seconds_full" c'g_timeout_add_seconds_full
  :: C'gint -> C'guint -> C'GSourceFunc -> C'gpointer -> C'GDestroyNotify -> IO C'guint
foreign import ccall "&g_timeout_add_seconds_full" p'g_timeout_add_seconds_full
  :: FunPtr (C'gint -> C'guint -> C'GSourceFunc -> C'gpointer -> C'GDestroyNotify -> IO C'guint)

{-# LINE 69 "src/Bindings/GLib/CoreApplicationSupport/MainEventLoop.hsc" #-}

foreign import ccall "g_idle_source_new" c'g_idle_source_new
  :: IO (Ptr C'GSource)
foreign import ccall "&g_idle_source_new" p'g_idle_source_new
  :: FunPtr (IO (Ptr C'GSource))

{-# LINE 71 "src/Bindings/GLib/CoreApplicationSupport/MainEventLoop.hsc" #-}
foreign import ccall "g_idle_add" c'g_idle_add
  :: C'GSourceFunc -> C'gpointer -> IO C'guint
foreign import ccall "&g_idle_add" p'g_idle_add
  :: FunPtr (C'GSourceFunc -> C'gpointer -> IO C'guint)

{-# LINE 72 "src/Bindings/GLib/CoreApplicationSupport/MainEventLoop.hsc" #-}
foreign import ccall "g_idle_add_full" c'g_idle_add_full
  :: C'gint -> C'GSourceFunc -> C'gpointer -> C'GDestroyNotify -> IO C'guint
foreign import ccall "&g_idle_add_full" p'g_idle_add_full
  :: FunPtr (C'gint -> C'GSourceFunc -> C'gpointer -> C'GDestroyNotify -> IO C'guint)

{-# LINE 73 "src/Bindings/GLib/CoreApplicationSupport/MainEventLoop.hsc" #-}
foreign import ccall "g_idle_remove_by_data" c'g_idle_remove_by_data
  :: C'gpointer -> IO C'gboolean
foreign import ccall "&g_idle_remove_by_data" p'g_idle_remove_by_data
  :: FunPtr (C'gpointer -> IO C'gboolean)

{-# LINE 74 "src/Bindings/GLib/CoreApplicationSupport/MainEventLoop.hsc" #-}

type C'GPid = CInt

{-# LINE 76 "src/Bindings/GLib/CoreApplicationSupport/MainEventLoop.hsc" #-}

type C'GChildWatchFunc = FunPtr (C'GPid -> C'gint -> C'gpointer -> IO ())
foreign import ccall "wrapper" mk'GChildWatchFunc
  :: (C'GPid -> C'gint -> C'gpointer -> IO ()) -> IO C'GChildWatchFunc
foreign import ccall "dynamic" mK'GChildWatchFunc
  :: C'GChildWatchFunc -> (C'GPid -> C'gint -> C'gpointer -> IO ())

{-# LINE 78 "src/Bindings/GLib/CoreApplicationSupport/MainEventLoop.hsc" #-}

foreign import ccall "g_child_watch_source_new" c'g_child_watch_source_new
  :: C'GPid -> IO (Ptr C'GSource)
foreign import ccall "&g_child_watch_source_new" p'g_child_watch_source_new
  :: FunPtr (C'GPid -> IO (Ptr C'GSource))

{-# LINE 80 "src/Bindings/GLib/CoreApplicationSupport/MainEventLoop.hsc" #-}
foreign import ccall "g_child_watch_add" c'g_child_watch_add
  :: C'GPid -> C'GChildWatchFunc -> C'gpointer -> IO C'guint
foreign import ccall "&g_child_watch_add" p'g_child_watch_add
  :: FunPtr (C'GPid -> C'GChildWatchFunc -> C'gpointer -> IO C'guint)

{-# LINE 81 "src/Bindings/GLib/CoreApplicationSupport/MainEventLoop.hsc" #-}
foreign import ccall "g_child_watch_add_full" c'g_child_watch_add_full
  :: C'gint -> C'GPid -> C'GChildWatchFunc -> C'gpointer -> C'GDestroyNotify -> IO C'guint
foreign import ccall "&g_child_watch_add_full" p'g_child_watch_add_full
  :: FunPtr (C'gint -> C'GPid -> C'GChildWatchFunc -> C'gpointer -> C'GDestroyNotify -> IO C'guint)

{-# LINE 82 "src/Bindings/GLib/CoreApplicationSupport/MainEventLoop.hsc" #-}

data C'GPollFD = C'GPollFD{
{-# LINE 84 "src/Bindings/GLib/CoreApplicationSupport/MainEventLoop.hsc" #-}

  c'GPollFD'events :: C'gushort
{-# LINE 85 "src/Bindings/GLib/CoreApplicationSupport/MainEventLoop.hsc" #-}
,
  c'GPollFD'revents :: C'gushort
{-# LINE 86 "src/Bindings/GLib/CoreApplicationSupport/MainEventLoop.hsc" #-}

 } deriving (Eq,Show)
instance Storable C'GPollFD where
  sizeOf _ = 8
  alignment = sizeOf
  peek p = do
    v0 <- peekByteOff p 4
    v1 <- peekByteOff p 6
    return $ C'GPollFD v0 v1
  poke p (C'GPollFD v0 v1) = do
    pokeByteOff p 4 v0
    pokeByteOff p 6 v1
    return ()

{-# LINE 87 "src/Bindings/GLib/CoreApplicationSupport/MainEventLoop.hsc" #-}

foreign import ccall "g_poll" c'g_poll
  :: Ptr C'GPollFD -> C'guint -> C'gint -> IO C'gint
foreign import ccall "&g_poll" p'g_poll
  :: FunPtr (Ptr C'GPollFD -> C'guint -> C'gint -> IO C'gint)

{-# LINE 89 "src/Bindings/GLib/CoreApplicationSupport/MainEventLoop.hsc" #-}

data C'GSource = C'GSource

{-# LINE 91 "src/Bindings/GLib/CoreApplicationSupport/MainEventLoop.hsc" #-}

type C'GSourceDummyMarshal = FunPtr (IO ())
foreign import ccall "wrapper" mk'GSourceDummyMarshal
  :: (IO ()) -> IO C'GSourceDummyMarshal
foreign import ccall "dynamic" mK'GSourceDummyMarshal
  :: C'GSourceDummyMarshal -> (IO ())

{-# LINE 93 "src/Bindings/GLib/CoreApplicationSupport/MainEventLoop.hsc" #-}

data C'GSourceFuncs = C'GSourceFuncs{
{-# LINE 95 "src/Bindings/GLib/CoreApplicationSupport/MainEventLoop.hsc" #-}

  c'GSourceFuncs'prepare :: FunPtr (Ptr C'GSource -> Ptr C'gint -> IO C'gboolean)
{-# LINE 96 "src/Bindings/GLib/CoreApplicationSupport/MainEventLoop.hsc" #-}
,
  c'GSourceFuncs'check :: FunPtr (Ptr C'GSource -> IO C'gboolean)
{-# LINE 97 "src/Bindings/GLib/CoreApplicationSupport/MainEventLoop.hsc" #-}
,
  c'GSourceFuncs'dispatch :: FunPtr (Ptr C'GSource -> C'GSourceFunc -> C'gpointer -> IO C'gboolean)
{-# LINE 98 "src/Bindings/GLib/CoreApplicationSupport/MainEventLoop.hsc" #-}
,
  c'GSourceFuncs'finalize :: FunPtr (Ptr C'GSource -> IO ())
{-# LINE 99 "src/Bindings/GLib/CoreApplicationSupport/MainEventLoop.hsc" #-}
,
  c'GSourceFuncs'closure_callback :: C'GSourceFunc
{-# LINE 100 "src/Bindings/GLib/CoreApplicationSupport/MainEventLoop.hsc" #-}
,
  c'GSourceFuncs'closure_marshal :: C'GSourceDummyMarshal
{-# LINE 101 "src/Bindings/GLib/CoreApplicationSupport/MainEventLoop.hsc" #-}

 } deriving (Eq,Show)
instance Storable C'GSourceFuncs where
  sizeOf _ = 24
  alignment = sizeOf
  peek p = do
    v0 <- peekByteOff p 0
    v1 <- peekByteOff p 4
    v2 <- peekByteOff p 8
    v3 <- peekByteOff p 12
    v4 <- peekByteOff p 16
    v5 <- peekByteOff p 20
    return $ C'GSourceFuncs v0 v1 v2 v3 v4 v5
  poke p (C'GSourceFuncs v0 v1 v2 v3 v4 v5) = do
    pokeByteOff p 0 v0
    pokeByteOff p 4 v1
    pokeByteOff p 8 v2
    pokeByteOff p 12 v3
    pokeByteOff p 16 v4
    pokeByteOff p 20 v5
    return ()

{-# LINE 102 "src/Bindings/GLib/CoreApplicationSupport/MainEventLoop.hsc" #-}

data C'GSourceCallbackFuncs = C'GSourceCallbackFuncs{
{-# LINE 104 "src/Bindings/GLib/CoreApplicationSupport/MainEventLoop.hsc" #-}

  c'GSourceCallbackFuncs'ref :: FunPtr (C'gpointer -> IO ())
{-# LINE 105 "src/Bindings/GLib/CoreApplicationSupport/MainEventLoop.hsc" #-}
,
  c'GSourceCallbackFuncs'unref :: FunPtr (C'gpointer -> IO ())
{-# LINE 106 "src/Bindings/GLib/CoreApplicationSupport/MainEventLoop.hsc" #-}
,
  c'GSourceCallbackFuncs'get :: FunPtr (C'gpointer -> Ptr C'GSource -> Ptr C'GSourceFunc -> Ptr C'gpointer -> IO ())
{-# LINE 107 "src/Bindings/GLib/CoreApplicationSupport/MainEventLoop.hsc" #-}

 } deriving (Eq,Show)
instance Storable C'GSourceCallbackFuncs where
  sizeOf _ = 12
  alignment = sizeOf
  peek p = do
    v0 <- peekByteOff p 0
    v1 <- peekByteOff p 4
    v2 <- peekByteOff p 8
    return $ C'GSourceCallbackFuncs v0 v1 v2
  poke p (C'GSourceCallbackFuncs v0 v1 v2) = do
    pokeByteOff p 0 v0
    pokeByteOff p 4 v1
    pokeByteOff p 8 v2
    return ()

{-# LINE 108 "src/Bindings/GLib/CoreApplicationSupport/MainEventLoop.hsc" #-}

foreign import ccall "g_source_new" c'g_source_new
  :: Ptr C'GSourceFuncs -> C'guint -> IO (Ptr C'GSource)
foreign import ccall "&g_source_new" p'g_source_new
  :: FunPtr (Ptr C'GSourceFuncs -> C'guint -> IO (Ptr C'GSource))

{-# LINE 110 "src/Bindings/GLib/CoreApplicationSupport/MainEventLoop.hsc" #-}
foreign import ccall "g_source_ref" c'g_source_ref
  :: Ptr C'GSource -> IO (Ptr C'GSource)
foreign import ccall "&g_source_ref" p'g_source_ref
  :: FunPtr (Ptr C'GSource -> IO (Ptr C'GSource))

{-# LINE 111 "src/Bindings/GLib/CoreApplicationSupport/MainEventLoop.hsc" #-}
foreign import ccall "g_source_unref" c'g_source_unref
  :: Ptr C'GSource -> IO ()
foreign import ccall "&g_source_unref" p'g_source_unref
  :: FunPtr (Ptr C'GSource -> IO ())

{-# LINE 112 "src/Bindings/GLib/CoreApplicationSupport/MainEventLoop.hsc" #-}
foreign import ccall "g_source_set_funcs" c'g_source_set_funcs
  :: Ptr C'GSource -> Ptr C'GSourceFuncs -> IO ()
foreign import ccall "&g_source_set_funcs" p'g_source_set_funcs
  :: FunPtr (Ptr C'GSource -> Ptr C'GSourceFuncs -> IO ())

{-# LINE 113 "src/Bindings/GLib/CoreApplicationSupport/MainEventLoop.hsc" #-}
foreign import ccall "g_source_attach" c'g_source_attach
  :: Ptr C'GSource -> Ptr C'GMainContext -> IO C'guint
foreign import ccall "&g_source_attach" p'g_source_attach
  :: FunPtr (Ptr C'GSource -> Ptr C'GMainContext -> IO C'guint)

{-# LINE 114 "src/Bindings/GLib/CoreApplicationSupport/MainEventLoop.hsc" #-}
foreign import ccall "g_source_destroy" c'g_source_destroy
  :: Ptr C'GSource -> IO ()
foreign import ccall "&g_source_destroy" p'g_source_destroy
  :: FunPtr (Ptr C'GSource -> IO ())

{-# LINE 115 "src/Bindings/GLib/CoreApplicationSupport/MainEventLoop.hsc" #-}
foreign import ccall "g_source_is_destroyed" c'g_source_is_destroyed
  :: Ptr C'GSource -> IO C'gboolean
foreign import ccall "&g_source_is_destroyed" p'g_source_is_destroyed
  :: FunPtr (Ptr C'GSource -> IO C'gboolean)

{-# LINE 116 "src/Bindings/GLib/CoreApplicationSupport/MainEventLoop.hsc" #-}
foreign import ccall "g_source_set_priority" c'g_source_set_priority
  :: Ptr C'GSource -> C'gint -> IO ()
foreign import ccall "&g_source_set_priority" p'g_source_set_priority
  :: FunPtr (Ptr C'GSource -> C'gint -> IO ())

{-# LINE 117 "src/Bindings/GLib/CoreApplicationSupport/MainEventLoop.hsc" #-}
foreign import ccall "g_source_get_priority" c'g_source_get_priority
  :: Ptr C'GSource -> IO C'gint
foreign import ccall "&g_source_get_priority" p'g_source_get_priority
  :: FunPtr (Ptr C'GSource -> IO C'gint)

{-# LINE 118 "src/Bindings/GLib/CoreApplicationSupport/MainEventLoop.hsc" #-}
foreign import ccall "g_source_set_can_recurse" c'g_source_set_can_recurse
  :: Ptr C'GSource -> C'gboolean -> IO ()
foreign import ccall "&g_source_set_can_recurse" p'g_source_set_can_recurse
  :: FunPtr (Ptr C'GSource -> C'gboolean -> IO ())

{-# LINE 119 "src/Bindings/GLib/CoreApplicationSupport/MainEventLoop.hsc" #-}
foreign import ccall "g_source_get_can_recurse" c'g_source_get_can_recurse
  :: Ptr C'GSource -> IO C'gboolean
foreign import ccall "&g_source_get_can_recurse" p'g_source_get_can_recurse
  :: FunPtr (Ptr C'GSource -> IO C'gboolean)

{-# LINE 120 "src/Bindings/GLib/CoreApplicationSupport/MainEventLoop.hsc" #-}
foreign import ccall "g_source_get_id" c'g_source_get_id
  :: Ptr C'GSource -> IO C'guint
foreign import ccall "&g_source_get_id" p'g_source_get_id
  :: FunPtr (Ptr C'GSource -> IO C'guint)

{-# LINE 121 "src/Bindings/GLib/CoreApplicationSupport/MainEventLoop.hsc" #-}
foreign import ccall "g_source_get_context" c'g_source_get_context
  :: Ptr C'GSource -> IO (Ptr C'GMainContext)
foreign import ccall "&g_source_get_context" p'g_source_get_context
  :: FunPtr (Ptr C'GSource -> IO (Ptr C'GMainContext))

{-# LINE 122 "src/Bindings/GLib/CoreApplicationSupport/MainEventLoop.hsc" #-}
foreign import ccall "g_source_set_callback" c'g_source_set_callback
  :: Ptr C'GSource -> C'GSourceFunc -> C'gpointer -> C'GDestroyNotify -> IO ()
foreign import ccall "&g_source_set_callback" p'g_source_set_callback
  :: FunPtr (Ptr C'GSource -> C'GSourceFunc -> C'gpointer -> C'GDestroyNotify -> IO ())

{-# LINE 123 "src/Bindings/GLib/CoreApplicationSupport/MainEventLoop.hsc" #-}

type C'GSourceFunc = FunPtr (C'gpointer -> IO C'gboolean)
foreign import ccall "wrapper" mk'GSourceFunc
  :: (C'gpointer -> IO C'gboolean) -> IO C'GSourceFunc
foreign import ccall "dynamic" mK'GSourceFunc
  :: C'GSourceFunc -> (C'gpointer -> IO C'gboolean)

{-# LINE 125 "src/Bindings/GLib/CoreApplicationSupport/MainEventLoop.hsc" #-}

foreign import ccall "g_source_set_callback_indirect" c'g_source_set_callback_indirect
  :: Ptr C'GSource -> C'gpointer -> Ptr C'GSourceCallbackFuncs -> IO ()
foreign import ccall "&g_source_set_callback_indirect" p'g_source_set_callback_indirect
  :: FunPtr (Ptr C'GSource -> C'gpointer -> Ptr C'GSourceCallbackFuncs -> IO ())

{-# LINE 127 "src/Bindings/GLib/CoreApplicationSupport/MainEventLoop.hsc" #-}
foreign import ccall "g_source_add_poll" c'g_source_add_poll
  :: Ptr C'GSource -> Ptr C'GPollFD -> IO ()
foreign import ccall "&g_source_add_poll" p'g_source_add_poll
  :: FunPtr (Ptr C'GSource -> Ptr C'GPollFD -> IO ())

{-# LINE 128 "src/Bindings/GLib/CoreApplicationSupport/MainEventLoop.hsc" #-}
foreign import ccall "g_source_remove_poll" c'g_source_remove_poll
  :: Ptr C'GSource -> Ptr C'GPollFD -> IO ()
foreign import ccall "&g_source_remove_poll" p'g_source_remove_poll
  :: FunPtr (Ptr C'GSource -> Ptr C'GPollFD -> IO ())

{-# LINE 129 "src/Bindings/GLib/CoreApplicationSupport/MainEventLoop.hsc" #-}
foreign import ccall "g_source_get_current_time" c'g_source_get_current_time
  :: Ptr C'GSource -> Ptr C'GTimeVal -> IO ()
foreign import ccall "&g_source_get_current_time" p'g_source_get_current_time
  :: FunPtr (Ptr C'GSource -> Ptr C'GTimeVal -> IO ())

{-# LINE 130 "src/Bindings/GLib/CoreApplicationSupport/MainEventLoop.hsc" #-}
foreign import ccall "g_source_remove" c'g_source_remove
  :: C'guint -> IO C'gboolean
foreign import ccall "&g_source_remove" p'g_source_remove
  :: FunPtr (C'guint -> IO C'gboolean)

{-# LINE 131 "src/Bindings/GLib/CoreApplicationSupport/MainEventLoop.hsc" #-}
foreign import ccall "g_source_remove_by_funcs_user_data" c'g_source_remove_by_funcs_user_data
  :: Ptr C'GSourceFuncs -> C'gpointer -> IO C'gboolean
foreign import ccall "&g_source_remove_by_funcs_user_data" p'g_source_remove_by_funcs_user_data
  :: FunPtr (Ptr C'GSourceFuncs -> C'gpointer -> IO C'gboolean)

{-# LINE 132 "src/Bindings/GLib/CoreApplicationSupport/MainEventLoop.hsc" #-}
foreign import ccall "g_source_remove_by_user_data" c'g_source_remove_by_user_data
  :: C'gpointer -> IO C'gboolean
foreign import ccall "&g_source_remove_by_user_data" p'g_source_remove_by_user_data
  :: FunPtr (C'gpointer -> IO C'gboolean)

{-# LINE 133 "src/Bindings/GLib/CoreApplicationSupport/MainEventLoop.hsc" #-}