-extern void cpp_register_pragma PARAMS ((cpp_reader *,
- const char *, const char *,
- void (*) PARAMS ((cpp_reader *))));
-extern void cpp_register_pragma_space PARAMS ((cpp_reader *, const char *));
-#endif
+extern enum cpp_ttype pragma_lex (tree *);
+
+/* This is not actually available to pragma parsers. It's merely a
+ convenient location to declare this function for c-lex, after
+ having enum cpp_ttype declared. */
+extern enum cpp_ttype c_lex_with_flags (tree *, location_t *, unsigned char *);
+
+/* If 1, then lex strings into the execution character set.
+ If 0, lex strings into the host character set.
+ If -1, lex both, and chain them together, such that the former
+ is the TREE_CHAIN of the latter. */
+extern int c_lex_string_translate;
+
+/* If true, strings should be passed to the caller of c_lex completely
+ unmolested (no concatenation, no translation). */
+extern bool c_lex_return_raw_strings;