+int IsClassFloat (const type* Type) attribute ((const));
+/* Return true if this is a float type */
+
+int IsClassPtr (const type* Type) attribute ((const));
+/* Return true if this is a pointer type */
+
+int IsClassStruct (const type* Type) attribute ((const));
+/* Return true if this is a struct type */
+
+int IsSignUnsigned (const type* Type) attribute ((const));
+/* Return true if this is an unsigned type */
+
+int IsQualConst (const type* T) attribute ((const));
+/* Return true if the given type has a const memory image */
+
+int IsQualVolatile (const type* T) attribute ((const));
+/* Return true if the given type has a volatile type qualifier */
+
+int IsFastCallFunc (const type* T) attribute ((const));
+/* Return true if this is a function type or pointer to function with
+ * __fastcall__ calling conventions
+ */
+
+int IsVariadicFunc (const type* T) attribute ((const));
+/* Return true if this is a function type or pointer to function type with
+ * variable parameter list
+ */
+
+#if defined(HAVE_INLINE)
+INLINE type GetType (const type* T)
+/* Get the raw type */
+{
+ return (T[0] & T_MASK_TYPE);
+}
+#else
+# define GetType(T) ((T)[0] & T_MASK_TYPE)
+#endif
+
+#if defined(HAVE_INLINE)
+INLINE type GetClass (const type* T)
+/* Get the class of a type string */
+{
+ return (T[0] & T_MASK_CLASS);
+}
+#else
+# define GetClass(T) ((T)[0] & T_MASK_CLASS)
+#endif
+
+#if defined(HAVE_INLINE)
+INLINE type GetSignedness (const type* T)
+/* Get the sign of a type */
+{
+ return (T[0] & T_MASK_SIGN);
+}
+#else
+# define GetSignedness(T) ((T)[0] & T_MASK_SIGN)
+#endif
+
+#if defined(HAVE_INLINE)
+INLINE type GetSizeModifier (const type* T)
+/* Get the size modifier of a type */
+{
+ return (T[0] & T_MASK_SIZE);
+}
+#else
+# define GetSizeModifier(T) ((T)[0] & T_MASK_SIZE)
+#endif
+
+type GetQualifier (const type* T) attribute ((const));
+/* Get the qualifier from the given type string */
+
+FuncDesc* GetFuncDesc (const type* T) attribute ((const));