*/
#define G_TYPE_FUNDAMENTAL(type) (g_type_fundamental (type))
#define G_TYPE_FUNDAMENTAL_MAX (255 << G_TYPE_FUNDAMENTAL_SHIFT)
-#define G_TYPE_FUNDAMENTAL_SHIFT (2)
-
-/* Constant fundamental types
+/* Constant fundamental types,
+ * introduced by g_type_init().
*/
-typedef enum /*< skip >*/
-{
- /* standard types, introduced by g_type_init() */
- G_TYPE_INVALID = 0 << G_TYPE_FUNDAMENTAL_SHIFT,
- G_TYPE_NONE = 1 << G_TYPE_FUNDAMENTAL_SHIFT,
- G_TYPE_INTERFACE = 2 << G_TYPE_FUNDAMENTAL_SHIFT,
-
- /* GLib type IDs */
- G_TYPE_CHAR = 3 << G_TYPE_FUNDAMENTAL_SHIFT,
- G_TYPE_UCHAR = 4 << G_TYPE_FUNDAMENTAL_SHIFT,
- G_TYPE_BOOLEAN = 5 << G_TYPE_FUNDAMENTAL_SHIFT,
- G_TYPE_INT = 6 << G_TYPE_FUNDAMENTAL_SHIFT,
- G_TYPE_UINT = 7 << G_TYPE_FUNDAMENTAL_SHIFT,
- G_TYPE_LONG = 8 << G_TYPE_FUNDAMENTAL_SHIFT,
- G_TYPE_ULONG = 9 << G_TYPE_FUNDAMENTAL_SHIFT,
- G_TYPE_INT64 = 10 << G_TYPE_FUNDAMENTAL_SHIFT,
- G_TYPE_UINT64 = 11 << G_TYPE_FUNDAMENTAL_SHIFT,
- G_TYPE_ENUM = 12 << G_TYPE_FUNDAMENTAL_SHIFT,
- G_TYPE_FLAGS = 13 << G_TYPE_FUNDAMENTAL_SHIFT,
- G_TYPE_FLOAT = 14 << G_TYPE_FUNDAMENTAL_SHIFT,
- G_TYPE_DOUBLE = 15 << G_TYPE_FUNDAMENTAL_SHIFT,
- G_TYPE_STRING = 16 << G_TYPE_FUNDAMENTAL_SHIFT,
- G_TYPE_POINTER = 17 << G_TYPE_FUNDAMENTAL_SHIFT,
- G_TYPE_BOXED = 18 << G_TYPE_FUNDAMENTAL_SHIFT,
- G_TYPE_PARAM = 19 << G_TYPE_FUNDAMENTAL_SHIFT,
- G_TYPE_OBJECT = 20 << G_TYPE_FUNDAMENTAL_SHIFT,
-
- /* reserved fundamental type ids,
- * mail gtk-devel-list@redhat.com for reservations
- */
- G_TYPE_RESERVED_GLIB_FIRST = 21 << G_TYPE_FUNDAMENTAL_SHIFT,
- G_TYPE_RESERVED_GLIB_LAST = 31 << G_TYPE_FUNDAMENTAL_SHIFT,
- G_TYPE_RESERVED_BSE_FIRST = 32 << G_TYPE_FUNDAMENTAL_SHIFT,
- G_TYPE_RESERVED_BSE_LAST = 48 << G_TYPE_FUNDAMENTAL_SHIFT,
- G_TYPE_RESERVED_USER_FIRST = 49 << G_TYPE_FUNDAMENTAL_SHIFT
-} GTypeFundamentals;
+#define G_TYPE_INVALID G_TYPE_MAKE_FUNDAMENTAL (0)
+#define G_TYPE_NONE G_TYPE_MAKE_FUNDAMENTAL (1)
+#define G_TYPE_INTERFACE G_TYPE_MAKE_FUNDAMENTAL (2)
+#define G_TYPE_CHAR G_TYPE_MAKE_FUNDAMENTAL (3)
+#define G_TYPE_UCHAR G_TYPE_MAKE_FUNDAMENTAL (4)
+#define G_TYPE_BOOLEAN G_TYPE_MAKE_FUNDAMENTAL (5)
+#define G_TYPE_INT G_TYPE_MAKE_FUNDAMENTAL (6)
+#define G_TYPE_UINT G_TYPE_MAKE_FUNDAMENTAL (7)
+#define G_TYPE_LONG G_TYPE_MAKE_FUNDAMENTAL (8)
+#define G_TYPE_ULONG G_TYPE_MAKE_FUNDAMENTAL (9)
+#define G_TYPE_INT64 G_TYPE_MAKE_FUNDAMENTAL (10)
+#define G_TYPE_UINT64 G_TYPE_MAKE_FUNDAMENTAL (11)
+#define G_TYPE_ENUM G_TYPE_MAKE_FUNDAMENTAL (12)
+#define G_TYPE_FLAGS G_TYPE_MAKE_FUNDAMENTAL (13)
+#define G_TYPE_FLOAT G_TYPE_MAKE_FUNDAMENTAL (14)
+#define G_TYPE_DOUBLE G_TYPE_MAKE_FUNDAMENTAL (15)
+#define G_TYPE_STRING G_TYPE_MAKE_FUNDAMENTAL (16)
+#define G_TYPE_POINTER G_TYPE_MAKE_FUNDAMENTAL (17)
+#define G_TYPE_BOXED G_TYPE_MAKE_FUNDAMENTAL (18)
+#define G_TYPE_PARAM G_TYPE_MAKE_FUNDAMENTAL (19)
+#define G_TYPE_OBJECT G_TYPE_MAKE_FUNDAMENTAL (20)
+
+
+/* Reserved fundamental type numbers to create new fundamental
+ * type IDs with G_TYPE_MAKE_FUNDAMENTAL().
+ * Send email to gtk-devel-list@redhat.com for reservations.
+ */
+#define G_TYPE_FUNDAMENTAL_SHIFT (2)
+#define G_TYPE_MAKE_FUNDAMENTAL(x) ((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
+#define G_TYPE_RESERVED_GLIB_FIRST (21)
+#define G_TYPE_RESERVED_GLIB_LAST (31)
+#define G_TYPE_RESERVED_BSE_FIRST (32)
+#define G_TYPE_RESERVED_BSE_LAST (48)
+#define G_TYPE_RESERVED_USER_FIRST (49)
/* Type Checking Macros