]> 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 f4268c26b06a7c8108227dc24089dccf807cb5e5..ff1d4ed84bc8734546ebb82b59b8ffde6d88e962 100644 (file)
@@ -1,6 +1,6 @@
 /* MI Internal Functions for GDB, the GNU debugger.
 
-   Copyright (C) 2003, 2007-2012 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,
@@ -26,7 +28,11 @@ extern void mi_load_progress (const char *section_name,
                              unsigned long total_sent,
                              unsigned long grand_total);
 
-extern void mi_print_timing_maybe (void);
+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;
 
@@ -39,8 +45,35 @@ struct mi_suppress_notification
   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;
 
-#endif
+/* 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 */