2009-12-02 Tristan Gingold <gingold@adacore.com>
[deliverable/binutils-gdb.git] / gdb / interps.h
index 9ef68a6159a2aa4e89b23e9cd4e4fd9bf9c2849d..de736ce38ef376ecbf753a7845659914eee019d6 100644 (file)
@@ -1,6 +1,7 @@
 /* Manages interpreters for GDB, the GNU debugger.
 
-   Copyright 2000, 2002, 2003 Free Software Foundation, Inc.
+   Copyright (C) 2000, 2002, 2003, 2007, 2008, 2009
+   Free Software Foundation, Inc.
 
    Written by Jim Ingham <jingham@apple.com> of Apple Computer, Inc.
 
@@ -8,7 +9,7 @@
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 2 of the License, or
+   the Free Software Foundation; either version 3 of the License, or
    (at your option) any later version.
 
    This program is distributed in the hope that it will be useful,
@@ -17,9 +18,7 @@
    GNU General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software
-   Foundation, Inc., 59 Temple Place - Suite 330,
-   Boston, MA 02111-1307, USA. */
+   along with this program.  If not, see <http://www.gnu.org/licenses/>. */
 
 #ifndef INTERPS_H
 #define INTERPS_H
@@ -33,15 +32,16 @@ extern int interp_resume (struct interp *interp);
 extern int interp_suspend (struct interp *interp);
 extern int interp_prompt_p (struct interp *interp);
 extern int interp_exec_p (struct interp *interp);
-extern struct exception interp_exec (struct interp *interp,
-                                    const char *command);
+extern struct gdb_exception interp_exec (struct interp *interp,
+                                        const char *command);
 extern int interp_quiet_p (struct interp *interp);
 
-typedef void *(interp_init_ftype) (void);
+typedef void *(interp_init_ftype) (int top_level);
 typedef int (interp_resume_ftype) (void *data);
 typedef int (interp_suspend_ftype) (void *data);
 typedef int (interp_prompt_p_ftype) (void *data);
-typedef struct exception (interp_exec_ftype) (void *data, const char *command);
+typedef struct gdb_exception (interp_exec_ftype) (void *data,
+                                                 const char *command);
 typedef void (interp_command_loop_ftype) (void *data);
 
 struct interp_procs
@@ -58,13 +58,16 @@ extern struct interp *interp_new (const char *name, void *data,
                                  struct ui_out *uiout,
                                  const struct interp_procs *procs);
 extern void interp_add (struct interp *interp);
-extern int interp_set (struct interp *interp);
+extern int interp_set (struct interp *interp, int top_level);
 extern struct interp *interp_lookup (const char *name);
 extern struct ui_out *interp_ui_out (struct interp *interp);
 
 extern int current_interp_named_p (const char *name);
 extern int current_interp_display_prompt_p (void);
 extern void current_interp_command_loop (void);
+/* Returns opaque data associated with the top-level interpreter.  */
+extern void *top_level_interpreter_data (void);
+extern struct interp *top_level_interpreter (void);
 
 extern void clear_interpreter_hooks (void);
 
@@ -75,5 +78,6 @@ extern void clear_interpreter_hooks (void);
 #define INTERP_MI3             "mi3"
 #define INTERP_MI              "mi"
 #define INTERP_TUI             "tui"
+#define INTERP_INSIGHT         "insight"
 
 #endif
This page took 0.036822 seconds and 4 git commands to generate.