Basic Types standard GLib types, defined for ease-of-use and portability. GLib defines a number of commonly used types, which can be divided into 4 groups: New types which are not part of standard C - #gboolean, #gsize, #gssize. Integer types which are guaranteed to be the same size across all platforms - #gint8, #guint8, #gint16, #guint16, #gint32, #guint32, #gint64, #guint64. Types which are easier to use than their standard C counterparts - #gpointer, #gconstpointer, #guchar, #guint, #gushort, #gulong. Types which correspond exactly to standard C types, but are included for completeness - #gchar, #gint, #gshort, #glong, #gfloat, #gdouble. A standard boolean type. Variables of this type should only contain the value #TRUE or #FALSE. An untyped pointer. #gpointer looks better and is easier to use than void*. An untyped pointer to constant data. The data pointed to should not be changed. This is typically used in function prototypes to indicate that the data pointed to will not be altered by the function. Corresponds to the standard C char type. Corresponds to the standard C unsigned char type. Corresponds to the standard C int type. Values of this type can range from #G_MININT to #G_MAXINT. Corresponds to the standard C unsigned int type. Values of this type can range from 0 to #G_MAXUINT. Corresponds to the standard C short type. Values of this type can range from #G_MINSHORT to #G_MAXSHORT. Corresponds to the standard C unsigned short type. Values of this type can range from 0 to #G_MAXUSHORT. Corresponds to the standard C long type. Values of this type can range from #G_MINLONG to #G_MAXLONG. Corresponds to the standard C unsigned long type. Values of this type can range from 0 to #G_MAXULONG. A signed integer guaranteed to be 8 bits on all platforms. Values of this type can range from -128 to 127. An unsigned integer guaranteed to be 8 bits on all platforms. Values of this type can range from 0 to 255. A signed integer guaranteed to be 16 bits on all platforms. Values of this type can range from -32,768 to 32,767. An unsigned integer guaranteed to be 16 bits on all platforms. Values of this type can range from 0 to 65,535. A signed integer guaranteed to be 32 bits on all platforms. Values of this type can range from -2,147,483,648 to 2,147,483,647. An unsigned integer guaranteed to be 32 bits on all platforms. Values of this type can range from 0 to 4,294,967,295. This macro is defined if 64-bit signed and unsigned integers are available on the platform. A signed integer guaranteed to be 64 bits on all platforms on which it is available (see #G_HAVE_GINT64). Values of this type can range from -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807. An unsigned integer guaranteed to be 64 bits on all platforms on which it is available (see #G_HAVE_GINT64). Values of this type can range from 0 to 18,446,744,073,709,551,615. This macro is used to insert 64-bit integer literals into the source code. @val: a literal integer value, e.g. 0x1d636b02300a7aa7U. Corresponds to the standard C float type. Values of this type can range from -#G_MAXFLOAT to #G_MAXFLOAT. Corresponds to the standard C double type. Values of this type can range from -#G_MAXDOUBLE to #G_MAXDOUBLE. An unsigned 32-bit integer intended to represent sizes of data structures. A signed 32-bit integer intended to represent sizes of data structures.