diff options
author | Andrew Cagney <cagney@redhat.com> | 2003-02-06 05:30:17 +0000 |
---|---|---|
committer | Andrew Cagney <cagney@redhat.com> | 2003-02-06 05:30:17 +0000 |
commit | 4a8f6654af815d1dc2e36a60d270f21fcb91d13e (patch) | |
tree | 3ebb7423e5e2844ee62e438eefcd82971b8a5168 /gdb/interps.h | |
parent | 92851186c3e3f4a246f702f1e2846ec166875982 (diff) | |
download | gdb-4a8f6654af815d1dc2e36a60d270f21fcb91d13e.zip gdb-4a8f6654af815d1dc2e36a60d270f21fcb91d13e.tar.gz gdb-4a8f6654af815d1dc2e36a60d270f21fcb91d13e.tar.bz2 |
Add missing files from last commit :-(
Diffstat (limited to 'gdb/interps.h')
-rw-r--r-- | gdb/interps.h | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/gdb/interps.h b/gdb/interps.h new file mode 100644 index 0000000..21362f4 --- /dev/null +++ b/gdb/interps.h @@ -0,0 +1,73 @@ +/* Manages interpreters for GDB, the GNU debugger. + + Copyright 2000, 2002, 2003 Free Software Foundation, Inc. + + Written by Jim Ingham <jingham@apple.com> of Apple Computer, Inc. + + This file is part of GDB. + + 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 + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + 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. */ + +#ifndef INTERPS_H +#define INTERPS_H + +struct ui_out; +struct interp; + +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 int interp_exec (struct interp *interp, const char *command); +extern int interp_quiet_p (struct interp *interp); + +typedef void *(interp_init_ftype) (void); +typedef int (interp_resume_ftype) (void *data); +typedef int (interp_suspend_ftype) (void *data); +typedef int (interp_prompt_p_ftype) (void *data); +typedef int (interp_exec_ftype) (void *data, const char *command); +typedef int (interp_command_loop_ftype) (void *data); + +struct interp_procs +{ + interp_init_ftype *init_proc; + interp_resume_ftype *resume_proc; + interp_suspend_ftype *suspend_proc; + interp_exec_ftype *exec_proc; + interp_prompt_p_ftype *prompt_proc_p; + interp_command_loop_ftype *command_loop_proc; +}; + +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 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); + +extern void clear_interpreter_hooks (); + +/* well-known interpreters */ +#define INTERP_CONSOLE "console" +#define INTERP_MI1 "mi1" +#define INTERP_MI "mi" + +#endif |