+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));