]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blobdiff - gdb/top.h
Update copyright year range in header of all files managed by GDB
[thirdparty/binutils-gdb.git] / gdb / top.h
index c450c6e1ae8513f3b93d3e2b8204beadee890a06..68c637a03d839f9e87acf357374d3d245a20d1d9 100644 (file)
--- a/gdb/top.h
+++ b/gdb/top.h
@@ -1,6 +1,6 @@
 /* Top level stuff for GDB, the GNU debugger.
 
-   Copyright (C) 1986-2016 Free Software Foundation, Inc.
+   Copyright (C) 1986-2024 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
 #ifndef TOP_H
 #define TOP_H
 
+#include "gdbsupport/event-loop.h"
+#include "gdbsupport/next-iterator.h"
+#include "value.h"
+
 /* From top.c.  */
-extern char *saved_command_line;
-extern int saved_command_line_size;
-extern FILE *instream;
-extern int in_user_command;
-extern int confirm;
-extern char gdb_dirbuf[1024];
+extern bool confirm;
 extern int inhibit_gdbinit;
-extern const char gdbinit[];
+extern auto_boolean interactive_mode;
+
+/* Print the GDB version banner to STREAM.  If INTERACTIVE is false,
+   then information referring to commands (e.g., "show configuration")
+   is omitted; this mode is used for the --version command line
+   option.  If INTERACTIVE is true, then interactive commands are
+   mentioned.  */
+extern void print_gdb_version (struct ui_file *stream, bool interactive);
 
-extern void print_gdb_version (struct ui_file *);
 extern void print_gdb_configuration (struct ui_file *);
 
 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_force (int *, int) ATTRIBUTE_NORETURN;
+extern void quit_command (const char *, int);
 extern void quit_cover (void);
-extern void execute_command (char *, int);
+extern void execute_command (const char *, int);
 
 /* 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
@@ -58,44 +63,50 @@ extern void check_frame_language_change (void);
 /* 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 scoped_value_mark prepare_execute_command (void);
 
 /* This function returns a pointer to the string that is used
    by gdb for its command prompt.  */
-extern char *get_prompt (void);
+extern const std::string &get_prompt ();
 
 /* This function returns a pointer to the string that is used
    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.  */
-
-extern int gdb_in_secondary_prompt_p (void);
+/* Return 1 if UI's current input handler is a secondary prompt, 0
+   otherwise.  */
 
-/* From random places.  */
-extern int readnow_symbol_files;
+extern int gdb_in_secondary_prompt_p (struct ui *ui);
 
 /* Perform _initialize initialization.  */
-extern void gdb_init (char *);
+extern void gdb_init ();
 
 /* For use by event-top.c.  */
 /* Variables from top.c.  */
 extern int source_line_number;
-extern const char *source_file_name;
-extern int history_expansion_p;
-extern int server_command;
+extern std::string source_file_name;
+extern bool history_expansion_p;
+extern bool 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 show_commands (const char *args, int from_tty);
+
+extern void set_verbose (const char *, int, struct cmd_list_element *);
+
+extern const char *handle_line_of_input (std::string &cmd_line_buffer,
+                                        const char *rl, int repeat,
+                                        const char *annotation_suffix);
 
-extern void set_history (char *, int);
+/* Call at startup to see if the user has requested that gdb start up
+   quietly.  */
 
-extern void show_history (char *, int);
+extern bool check_quiet_mode ();
 
-extern void set_verbose (char *, int, struct cmd_list_element *);
+/* Unbuffer STREAM.  This is a wrapper around setbuf(STREAM, nullptr)
+   which applies some special rules for MS-Windows hosts.  */
 
-extern void do_restore_instream_cleanup (void *stream);
+extern void unbuffer_stream (FILE *stream);
 
 #endif