/* common */
#include "attrib.h"
+/* cc65 */
+#include "funcdesc.h"
+
/*****************************************************************************/
void PrintRawType (FILE* F, const type* Type);
/* Print a type string in raw format (for debugging) */
+void PrintFuncSig (FILE* F, const char* Name, type* Type);
+/* Print a function signature. */
+
void Encode (type* Type, unsigned long Val);
/* Encode an unsigned long into a type array */
/* 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 with __fastcall__ calling conventions */
+/* 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
+ */
int IsTypeFuncPtr (const type* T) attribute ((const));
/* Return true if this is a function pointer */
type GetQualifier (const type* T) attribute ((const));
/* Get the qualifier from the given type string */
-struct FuncDesc* GetFuncDesc (const type* T) attribute ((const));
+FuncDesc* GetFuncDesc (const type* T) attribute ((const));
/* Get the FuncDesc pointer from a function or pointer-to-function type */
+type* GetFuncReturn (type* T) attribute ((const));
+/* Return a pointer to the return type of a function or pointer-to-function type */
+
/* End of datatype.h */