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