-/* Function pointers can be declared as (Function *)foo. */
-#if !defined (_FUNCTION_DEF)
-# define _FUNCTION_DEF
-typedef int Function ();
-typedef void VFunction ();
-typedef char *CPFunction ();
-typedef char **CPPFunction ();
-#endif /* _FUNCTION_DEF */
+#if !defined (__STDC__) && !defined (__cplusplus)
+# if defined (__GNUC__) /* gcc with -traditional */
+# if !defined (const)
+# define const __const
+# endif /* !const */
+# else /* !__GNUC__ */
+# if !defined (const)
+# define const
+# endif /* !const */
+# endif /* !__GNUC__ */
+#endif /* !__STDC__ && !__cplusplus */
+
+typedef char *tilde_hook_func_t __P((char *));