<!-- ##### ENUM GTypeFundamentals ##### -->
<para>
The predefined identifiers of the reserved fundamental types.
</para>

@G_TYPE_INVALID: 		Usually a return value indicating an error.
@G_TYPE_NONE: 			A synonym for the "void" type in C.
@G_TYPE_INTERFACE: 		Root type of all interface types.
@G_TYPE_CHAR: 			Identifier for the built-in type "gchar".
@G_TYPE_UCHAR: 			Identifier for the built-in type "guchar".
@G_TYPE_BOOLEAN: 		Identifier for the built-in type "gboolean".
@G_TYPE_INT: 			Identifier for the built-in type "gint".
@G_TYPE_UINT: 			Identifier for the built-in type "guint".
@G_TYPE_LONG: 			Identifier for the built-in type "glong".
@G_TYPE_ULONG: 			Identifier for the built-in type "gulong".
@G_TYPE_INT64: 
@G_TYPE_UINT64: 
@G_TYPE_ENUM: 			Identifier for the "#GEnum" type.
@G_TYPE_FLAGS: 			Identifier for the "#GFlags" type.
@G_TYPE_FLOAT: 			Identifier for the built-in type "gfloat".
@G_TYPE_DOUBLE: 		Identifier for the built-in type "gdouble".
@G_TYPE_STRING: 		Identifier for a pointer to a null-terminated string "gchar*".
@G_TYPE_POINTER: 		Identifier for anonymous pointers "void*".
@G_TYPE_BOXED: 			Identifier for the "#GBoxed" type.
@G_TYPE_PARAM: 			Identifier for the "#GParam" type.
@G_TYPE_OBJECT: 		Identifier for the "#GObject" type.
@G_TYPE_RESERVED_BSE_FIRST: 	First fundamental type ID reserved for BSE.
@G_TYPE_RESERVED_BSE_LAST: 	Last fundamental type ID reserved for BSE.
@G_TYPE_RESERVED_LAST_FUNDAMENTAL: 
@G_TYPE_CONSTANT_TYPES: 
@G_TYPE_CLOSURE: 
@G_TYPE_VALUE: 
@G_TYPE_VALUE_ARRAY: 
@G_TYPE_GSTRING: 
@G_TYPE_PARAM_CHAR: 
@G_TYPE_PARAM_UCHAR: 
@G_TYPE_PARAM_BOOLEAN: 
@G_TYPE_PARAM_INT: 
@G_TYPE_PARAM_UINT: 
@G_TYPE_PARAM_LONG: 
@G_TYPE_PARAM_ULONG: 
@G_TYPE_PARAM_INT64: 
@G_TYPE_PARAM_UINT64: 
@G_TYPE_PARAM_UNICHAR: 
@G_TYPE_PARAM_ENUM: 
@G_TYPE_PARAM_FLAGS: 
@G_TYPE_PARAM_FLOAT: 
@G_TYPE_PARAM_DOUBLE: 
@G_TYPE_PARAM_STRING: 
@G_TYPE_PARAM_PARAM: 
@G_TYPE_PARAM_BOXED: 
@G_TYPE_PARAM_POINTER: 
@G_TYPE_PARAM_VALUE_ARRAY: 
@G_TYPE_PARAM_CLOSURE: 
@G_TYPE_PARAM_OBJECT: 

<!-- ##### FUNCTION g_type_check_flags ##### -->
<para>
Determines whether a given set of #GTypeFlags and #GTypeFundamentalFlags
are set for @type.
</para>

@type: 	  The type to check for flags.
@flags:   Bitwise combination of #GTypeFlags and #GTypeFundamentalFlags.
@Returns: #TRUE if all @flags are set for @type, #FALSE otherwise.

<!-- ##### FUNCTION g_type_instance_is_a ##### -->
<para>
Determines if @instance adheres to the interface exported
by @iface_type. @iface_type is either a type that @instance
is derived from, or an interface type that is supported by
the anchestry of @instance.
</para>

@instance: 	A valid #GTypeInstance structure.
@iface_type: 	A #GType value.
@Returns: 	#TRUE if @instance conforms to @iface_type, #FALSE otherwise.

<!-- ##### FUNCTION g_type_value_is_a ##### -->
<para>
Determines if @value is a #GValue whose type conforms to @type.
</para>

@value: 	  A valid #GValue structure.
@type:    A #GType value.
@Returns: #TRUE if @value is a #GValue of @type or #FALSE if not.

