+/* Try to colorize some source code. FILENAME is the name of the file
+ holding the code. CONTENTS is the source code itself. This will
+ either a colorized (using ANSI terminal escapes) version of the
+ source code, or an empty value if colorizing could not be done. */
+
+extern gdb::optional<std::string> ext_lang_colorize
+ (const std::string &filename, const std::string &contents);
+
+/* Try to colorize a single line of disassembler output, CONTENT for
+ GDBARCH. This will return either a colorized (using ANSI terminal
+ escapes) version of CONTENT, or an empty value if colorizing could not
+ be done. */
+
+extern gdb::optional<std::string> ext_lang_colorize_disasm
+ (const std::string &content, gdbarch *gdbarch);
+
+/* Calls extension_language_ops::print_insn for each extension language,
+ returning the result from the first extension language that returns a
+ non-empty result (any further extension languages are not then called).
+
+ All arguments are forwarded to extension_language_ops::print_insn, see
+ that function for a full description. */
+
+extern gdb::optional<int> ext_lang_print_insn
+ (struct gdbarch *gdbarch, CORE_ADDR address, struct disassemble_info *info);
+
+#if GDB_SELF_TEST
+namespace selftests {
+extern void (*hook_set_active_ext_lang) ();
+}
+#endif
+