module Bindings.GObject.BoxedTypes 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
import Bindings.GLib.Fundamentals
import Bindings.GObject.TypeInformation
type C'GBoxedCopyFunc = FunPtr (C'gpointer -> IO C'gpointer)
foreign import ccall "wrapper" mk'GBoxedCopyFunc
:: (C'gpointer -> IO C'gpointer) -> IO C'GBoxedCopyFunc
foreign import ccall "dynamic" mK'GBoxedCopyFunc
:: C'GBoxedCopyFunc -> (C'gpointer -> IO C'gpointer)
type C'GBoxedFreeFunc = FunPtr (C'gpointer -> IO ())
foreign import ccall "wrapper" mk'GBoxedFreeFunc
:: (C'gpointer -> IO ()) -> IO C'GBoxedFreeFunc
foreign import ccall "dynamic" mK'GBoxedFreeFunc
:: C'GBoxedFreeFunc -> (C'gpointer -> IO ())
foreign import ccall "g_boxed_copy" c'g_boxed_copy
:: C'GType -> C'gconstpointer -> IO C'gpointer
foreign import ccall "&g_boxed_copy" p'g_boxed_copy
:: FunPtr (C'GType -> C'gconstpointer -> IO C'gpointer)
foreign import ccall "g_boxed_free" c'g_boxed_free
:: C'GType -> C'gpointer -> IO ()
foreign import ccall "&g_boxed_free" p'g_boxed_free
:: FunPtr (C'GType -> C'gpointer -> IO ())
foreign import ccall "g_boxed_type_register_static" c'g_boxed_type_register_static
:: Ptr C'gchar -> C'GBoxedCopyFunc -> C'GBoxedFreeFunc -> IO C'GType
foreign import ccall "&g_boxed_type_register_static" p'g_boxed_type_register_static
:: FunPtr (Ptr C'gchar -> C'GBoxedCopyFunc -> C'GBoxedFreeFunc -> IO C'GType)
foreign import ccall "g_pointer_type_register_static" c'g_pointer_type_register_static
:: Ptr C'gchar -> IO C'GType
foreign import ccall "&g_pointer_type_register_static" p'g_pointer_type_register_static
:: FunPtr (Ptr C'gchar -> IO C'GType)
foreign import ccall "inline_G_TYPE_HASH_TABLE" c'G_TYPE_HASH_TABLE
:: C'GType
foreign import ccall "inline_G_TYPE_DATE" c'G_TYPE_DATE
:: C'GType
foreign import ccall "inline_G_TYPE_GSTRING" c'G_TYPE_GSTRING
:: C'GType
foreign import ccall "inline_G_TYPE_STRV" c'G_TYPE_STRV
:: C'GType
foreign import ccall "inline_G_TYPE_REGEX" c'G_TYPE_REGEX
:: C'GType
foreign import ccall "inline_G_TYPE_ARRAY" c'G_TYPE_ARRAY
:: C'GType
foreign import ccall "inline_G_TYPE_BYTE_ARRAY" c'G_TYPE_BYTE_ARRAY
:: C'GType
foreign import ccall "inline_G_TYPE_PTR_ARRAY" c'G_TYPE_PTR_ARRAY
:: C'GType
type C'GStrv = Ptr (Ptr C'gchar)