]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blobdiff - gdb/mi/mi-main.h
Update copyright year range in header of all files managed by GDB
[thirdparty/binutils-gdb.git] / gdb / mi / mi-main.h
index 454837db80807daf40969d1bb24fd5d681a18064..ff1d4ed84bc8734546ebb82b59b8ffde6d88e962 100644 (file)
@@ -1,6 +1,6 @@
 /* MI Internal Functions for GDB, the GNU debugger.
 
-   Copyright (C) 2003, 2007 Free Software Foundation, Inc.
+   Copyright (C) 2003-2023 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
-#ifndef MI_MAIN_H
-#define MI_MAIN_H
+#ifndef MI_MI_MAIN_H
+#define MI_MI_MAIN_H
+
+struct ui_file;
 
 extern void mi_load_progress (const char *section_name,
                              unsigned long sent_so_far,
                              unsigned long total_section,
                              unsigned long total_sent,
                              unsigned long grand_total);
-#endif
 
+extern void mi_print_timing_maybe (struct ui_file *file);
+
+/* Whether MI is in async mode.  */
+
+extern int mi_async_p (void);
+
+extern char *current_token;
+
+extern int running_result_record_printed;
+extern int mi_proceeded;
+
+struct mi_suppress_notification
+{
+  /* Breakpoint notification suppressed?  */
+  int breakpoint;
+  /* Command param changed notification suppressed?  */
+  int cmd_param_changed;
+  /* Traceframe changed notification suppressed?  */
+  int traceframe;
+  /* Memory changed notification suppressed?  */
+  int memory;
+  /* User selected context changed notification suppressed?  */
+  int user_selected_context;
+};
+extern struct mi_suppress_notification mi_suppress_notification;
+
+/* This is a hack so we can get some extra commands going, but has existed
+   within GDB for many years now.  Ideally we don't want to channel things
+   through the CLI, but implement all commands as pure MI commands with
+   their own implementation.
+
+   Execute the CLI command CMD, if ARGS_P is true then ARGS should be a
+   non-nullptr string containing arguments to add after CMD.  If ARGS_P is
+   false then ARGS must be nullptr.  */
+
+extern void mi_execute_cli_command (const char *cmd, bool args_p,
+                                   const char *args);
+
+/* Implementation of -fix-multi-location-breakpoint-output.  */
+
+extern void mi_cmd_fix_multi_location_breakpoint_output (const char *command,
+                                                        char **argv, int argc);
+
+/* Implementation of -fix-breakpoint-script-output.  */
+
+extern void mi_cmd_fix_breakpoint_script_output (const char *command,
+                                                char **argv, int argc);
+
+#endif /* MI_MI_MAIN_H */