*** empty log message ***
[deliverable/binutils-gdb.git] / gdb / interps.h
CommitLineData
4a8f6654
AC
1/* Manages interpreters for GDB, the GNU debugger.
2
7b6bb8da 3 Copyright (C) 2000, 2002, 2003, 2007, 2008, 2009, 2010, 2011
0fb0cc75 4 Free Software Foundation, Inc.
4a8f6654
AC
5
6 Written by Jim Ingham <jingham@apple.com> of Apple Computer, Inc.
7
8 This file is part of GDB.
9
10 This program is free software; you can redistribute it and/or modify
11 it under the terms of the GNU General Public License as published by
a9762ec7 12 the Free Software Foundation; either version 3 of the License, or
4a8f6654
AC
13 (at your option) any later version.
14
15 This program is distributed in the hope that it will be useful,
16 but WITHOUT ANY WARRANTY; without even the implied warranty of
17 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 GNU General Public License for more details.
19
20 You should have received a copy of the GNU General Public License
a9762ec7 21 along with this program. If not, see <http://www.gnu.org/licenses/>. */
4a8f6654
AC
22
23#ifndef INTERPS_H
24#define INTERPS_H
25
c1043fc2
AC
26#include "exceptions.h"
27
4a8f6654
AC
28struct ui_out;
29struct interp;
30
31extern int interp_resume (struct interp *interp);
32extern int interp_suspend (struct interp *interp);
33extern int interp_prompt_p (struct interp *interp);
34extern int interp_exec_p (struct interp *interp);
71fff37b
AC
35extern struct gdb_exception interp_exec (struct interp *interp,
36 const char *command);
4a8f6654
AC
37extern int interp_quiet_p (struct interp *interp);
38
683f2885 39typedef void *(interp_init_ftype) (int top_level);
4a8f6654
AC
40typedef int (interp_resume_ftype) (void *data);
41typedef int (interp_suspend_ftype) (void *data);
42typedef int (interp_prompt_p_ftype) (void *data);
71fff37b
AC
43typedef struct gdb_exception (interp_exec_ftype) (void *data,
44 const char *command);
1cdac4ef 45typedef void (interp_command_loop_ftype) (void *data);
4a8f6654
AC
46
47struct interp_procs
48{
49 interp_init_ftype *init_proc;
50 interp_resume_ftype *resume_proc;
51 interp_suspend_ftype *suspend_proc;
52 interp_exec_ftype *exec_proc;
53 interp_prompt_p_ftype *prompt_proc_p;
54 interp_command_loop_ftype *command_loop_proc;
55};
56
57extern struct interp *interp_new (const char *name, void *data,
58 struct ui_out *uiout,
59 const struct interp_procs *procs);
60extern void interp_add (struct interp *interp);
683f2885 61extern int interp_set (struct interp *interp, int top_level);
4a8f6654
AC
62extern struct interp *interp_lookup (const char *name);
63extern struct ui_out *interp_ui_out (struct interp *interp);
64
65extern int current_interp_named_p (const char *name);
66extern int current_interp_display_prompt_p (void);
67extern void current_interp_command_loop (void);
683f2885
VP
68/* Returns opaque data associated with the top-level interpreter. */
69extern void *top_level_interpreter_data (void);
79a68887 70extern struct interp *top_level_interpreter (void);
4a8f6654 71
b9362cc7 72extern void clear_interpreter_hooks (void);
4a8f6654
AC
73
74/* well-known interpreters */
75#define INTERP_CONSOLE "console"
76#define INTERP_MI1 "mi1"
2fcf52f0
AC
77#define INTERP_MI2 "mi2"
78#define INTERP_MI3 "mi3"
4a8f6654 79#define INTERP_MI "mi"
226361c4 80#define INTERP_TUI "tui"
cc4349ed 81#define INTERP_INSIGHT "insight"
4a8f6654
AC
82
83#endif
This page took 0.586807 seconds and 4 git commands to generate.