X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=gdb%2Ftop.h;h=a498f390ebcb38eaa234026235b68dbf774fcaa8;hb=f42bf748e417cf9120fc57d144b6eaaf3adda247;hp=2803aa9fc8ca4415cbcf62240a9f39aa68e52139;hpb=ed288bb597072176e84fc8279707a3f2f475779b;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/top.h b/gdb/top.h index 2803aa9fc8..a498f390eb 100644 --- a/gdb/top.h +++ b/gdb/top.h @@ -1,12 +1,12 @@ /* Top level stuff for GDB, the GNU debugger. - Copyright 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994 - Free Software Foundation, Inc. + + Copyright (C) 1986-2016 Free Software Foundation, 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 + 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, @@ -15,83 +15,92 @@ 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 . */ + +#ifndef TOP_H +#define TOP_H -#include +struct buffer; /* From top.c. */ -extern char *line; -extern int linesize; +extern char *saved_command_line; extern FILE *instream; +extern int in_user_command; +extern int confirm; extern char gdb_dirbuf[1024]; extern int inhibit_gdbinit; -extern int epoch_interface; -extern char gdbinit[]; - -/* Generally one should use catch_errors rather than manipulating these - directly. The exception is main(). */ -#if defined(HAVE_SIGSETJMP) -#define SIGJMP_BUF sigjmp_buf -#define SIGSETJMP(buf) sigsetjmp(buf, 1) -#define SIGLONGJMP(buf,val) siglongjmp(buf,val) -#else -#define SIGJMP_BUF jmp_buf -#define SIGSETJMP(buf) setjmp(buf) -#define SIGLONGJMP(buf,val) longjmp(buf,val) -#endif +extern const char gdbinit[]; + +extern void print_gdb_version (struct ui_file *); +extern void print_gdb_configuration (struct ui_file *); -/* Temporary variable for SET_TOP_LEVEL. */ +extern void read_command_file (FILE *); +extern void init_history (void); +extern void command_loop (void); +extern int quit_confirm (void); +extern void quit_force (char *, int); +extern void quit_command (char *, int); +extern void quit_cover (void); +extern void execute_command (char *, int); -int top_level_val; +/* If the interpreter is in sync mode (we're running a user command's + list, running command hooks or similars), and we just ran a + synchronous command that started the target, wait for that command + to end. WAS_SYNC indicates whether sync_execution was set before + the command was run. */ -/* Do a setjmp on error_return and quit_return. catch_errors is - generally a cleaner way to do this, but main() would look pretty - ugly if it had to use catch_errors each time. */ +extern void maybe_wait_sync_command_done (int was_sync); -#define SET_TOP_LEVEL() \ - (((top_level_val = SIGSETJMP (error_return)) \ - ? (PTR) 0 : (PTR) memcpy (quit_return, error_return, sizeof (SIGJMP_BUF))) \ - , top_level_val) +/* Wait for a synchronous execution command to end. */ +extern void wait_sync_command_done (void); -extern SIGJMP_BUF error_return; -extern SIGJMP_BUF quit_return; +extern void check_frame_language_change (void); -extern void print_gdb_version PARAMS ((GDB_FILE *)); +/* Prepare for execution of a command. + Call this before every command, CLI or MI. + Returns a cleanup to be run after the command is completed. */ +extern struct cleanup *prepare_execute_command (void); -extern void source_command PARAMS ((char *, int)); -extern void cd_command PARAMS ((char *, int)); -extern void read_command_file PARAMS ((FILE *)); -extern void init_history PARAMS ((void)); -extern void command_loop PARAMS ((void)); -extern int quit_confirm PARAMS ((void)); -extern void quit_force PARAMS ((char *, int)); -extern void quit_command PARAMS ((char *, int)); -extern void command_loop_marker PARAMS ((int)); -extern int quit_cover PARAMS ((PTR)); -extern void execute_command PARAMS ((char *, int)); +/* This function returns a pointer to the string that is used + by gdb for its command prompt. */ +extern char *get_prompt (void); /* This function returns a pointer to the string that is used - by gdb for its command prompt. */ -extern char *get_prompt PARAMS ((void)); + by gdb for its command prompt. */ +extern void set_prompt (const char *s); + +/* Return 1 if the current input handler is a secondary prompt, 0 otherwise. */ -/* This function copies the specified string into the string that - is used by gdb for its command prompt. */ -extern void set_prompt PARAMS ((char *)); +extern int gdb_in_secondary_prompt_p (void); /* From random places. */ -extern int mapped_symbol_files; extern int readnow_symbol_files; -/* Perform _initialize initialization */ -extern void gdb_init PARAMS ((char *)); +/* Perform _initialize initialization. */ +extern void gdb_init (char *); -/* For use by event-top.c */ -/* Variables from top.c. */ +/* For use by event-top.c. */ +/* Variables from top.c. */ extern int source_line_number; -extern char *source_file_name; -extern char *source_error; -extern char *source_pre_error; +extern const char *source_file_name; extern int history_expansion_p; extern int server_command; +extern char *lim_at_start; + +extern void gdb_add_history (const char *); + +extern void show_commands (char *args, int from_tty); + +extern void set_history (char *, int); + +extern void show_history (char *, int); + +extern void set_verbose (char *, int, struct cmd_list_element *); + +extern void do_restore_instream_cleanup (void *stream); + +extern char *handle_line_of_input (struct buffer *cmd_line_buffer, + char *rl, int repeat, + char *annotation_suffix); + +#endif