1 1.1 christos /* Definitions used by event-top.c, for GDB, the GNU debugger. 2 1.1 christos 3 1.1.1.5 christos Copyright (C) 1999-2019 Free Software Foundation, Inc. 4 1.1 christos 5 1.1 christos Written by Elena Zannoni <ezannoni (at) cygnus.com> of Cygnus Solutions. 6 1.1 christos 7 1.1 christos This file is part of GDB. 8 1.1 christos 9 1.1 christos This program is free software; you can redistribute it and/or modify 10 1.1 christos it under the terms of the GNU General Public License as published by 11 1.1 christos the Free Software Foundation; either version 3 of the License, or 12 1.1 christos (at your option) any later version. 13 1.1 christos 14 1.1 christos This program is distributed in the hope that it will be useful, 15 1.1 christos but WITHOUT ANY WARRANTY; without even the implied warranty of 16 1.1 christos MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 1.1 christos GNU General Public License for more details. 18 1.1 christos 19 1.1 christos You should have received a copy of the GNU General Public License 20 1.1 christos along with this program. If not, see <http://www.gnu.org/licenses/>. */ 21 1.1 christos 22 1.1 christos #ifndef EVENT_TOP_H 23 1.1 christos #define EVENT_TOP_H 24 1.1 christos 25 1.1.1.5 christos #include <signal.h> 26 1.1.1.5 christos 27 1.1 christos struct cmd_list_element; 28 1.1 christos 29 1.1 christos /* Exported functions from event-top.c. 30 1.1 christos FIXME: these should really go into top.h. */ 31 1.1 christos 32 1.1.1.2 christos extern void display_gdb_prompt (const char *new_prompt); 33 1.1.1.3 christos extern void gdb_setup_readline (int); 34 1.1.1.3 christos extern void gdb_disable_readline (void); 35 1.1 christos extern void async_init_signals (void); 36 1.1.1.3 christos extern void change_line_handler (int); 37 1.1.1.3 christos 38 1.1.1.5 christos extern void command_line_handler (gdb::unique_xmalloc_ptr<char> &&rl); 39 1.1.1.5 christos extern void command_handler (const char *command); 40 1.1 christos 41 1.1 christos #ifdef SIGTSTP 42 1.1.1.5 christos extern void handle_sigtstp (int sig); 43 1.1 christos #endif 44 1.1.1.5 christos 45 1.1 christos extern void handle_sigint (int sig); 46 1.1 christos extern void handle_sigterm (int sig); 47 1.1 christos extern void async_request_quit (void *arg); 48 1.1 christos extern void stdin_event_handler (int error, void *client_data); 49 1.1 christos extern void async_disable_stdin (void); 50 1.1 christos extern void async_enable_stdin (void); 51 1.1 christos 52 1.1 christos /* Exported variables from event-top.c. 53 1.1 christos FIXME: these should really go into top.h. */ 54 1.1 christos 55 1.1.1.3 christos extern int set_editing_cmd_var; 56 1.1 christos extern int exec_done_display_p; 57 1.1 christos extern struct prompts the_prompts; 58 1.1 christos extern void (*after_char_processing_hook) (void); 59 1.1.1.2 christos extern int call_stdin_event_handler_again_p; 60 1.1.1.3 christos extern void gdb_readline_no_editing_callback (void *client_data); 61 1.1.1.2 christos 62 1.1.1.2 christos /* Wrappers for rl_callback_handler_remove and 63 1.1.1.2 christos rl_callback_handler_install that keep track of whether the callback 64 1.1.1.2 christos handler is installed in readline. Do not call the readline 65 1.1.1.2 christos versions directly. */ 66 1.1.1.2 christos extern void gdb_rl_callback_handler_remove (void); 67 1.1.1.2 christos extern void gdb_rl_callback_handler_install (const char *prompt); 68 1.1.1.2 christos 69 1.1.1.2 christos /* Reinstall the readline callback handler (with no prompt), if not 70 1.1.1.2 christos currently installed. */ 71 1.1.1.2 christos extern void gdb_rl_callback_handler_reinstall (void); 72 1.1 christos 73 1.1 christos #endif 74