GDB (xrefs)
Loading...
Searching...
No Matches
mi-main.h
Go to the documentation of this file.
1/* MI Internal Functions for GDB, the GNU debugger.
2
3 Copyright (C) 2003-2023 Free Software Foundation, Inc.
4
5 This file is part of GDB.
6
7 This program is free software; you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation; either version 3 of the License, or
10 (at your option) any later version.
11
12 This program is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
16
17 You should have received a copy of the GNU General Public License
18 along with this program. If not, see <http://www.gnu.org/licenses/>. */
19
20#ifndef MI_MI_MAIN_H
21#define MI_MI_MAIN_H
22
23struct ui_file;
24
25extern void mi_load_progress (const char *section_name,
26 unsigned long sent_so_far,
27 unsigned long total_section,
28 unsigned long total_sent,
29 unsigned long grand_total);
30
31extern void mi_print_timing_maybe (struct ui_file *file);
32
33/* Whether MI is in async mode. */
34
35extern int mi_async_p (void);
36
38{
39 /* Breakpoint notification suppressed? */
41 /* Command param changed notification suppressed? */
43 /* Traceframe changed notification suppressed? */
45 /* Memory changed notification suppressed? */
46 int memory;
47 /* User selected context changed notification suppressed? */
49};
51
52/* This is a hack so we can get some extra commands going, but has existed
53 within GDB for many years now. Ideally we don't want to channel things
54 through the CLI, but implement all commands as pure MI commands with
55 their own implementation.
56
57 Execute the CLI command CMD, if ARGS_P is true then ARGS should be a
58 non-nullptr string containing arguments to add after CMD. If ARGS_P is
59 false then ARGS must be nullptr. */
60
61extern void mi_execute_cli_command (const char *cmd, bool args_p,
62 const char *args);
63
64/* Implementation of -fix-multi-location-breakpoint-output. */
65
66extern void mi_cmd_fix_multi_location_breakpoint_output (const char *command,
67 const char *const *argv,
68 int argc);
69
70/* Implementation of -fix-breakpoint-script-output. */
71
72extern void mi_cmd_fix_breakpoint_script_output (const char *command,
73 const char *const *argv,
74 int argc);
75
76/* Parse a thread-group-id from ID, and return the integer part of the
77 ID. A valid thread-group-id is the character 'i' followed by an
78 integer that is greater than zero. */
79
80extern int mi_parse_thread_group_id (const char *id);
81
82#endif /* MI_MI_MAIN_H */
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)
Definition mi-main.c:2193
void mi_cmd_fix_breakpoint_script_output(const char *command, const char *const *argv, int argc)
Definition mi-main.c:2753
void mi_print_timing_maybe(struct ui_file *file)
Definition mi-main.c:2282
int mi_parse_thread_group_id(const char *id)
Definition mi-main.c:2805
int mi_async_p(void)
Definition mi-main.c:129
void mi_cmd_fix_multi_location_breakpoint_output(const char *command, const char *const *argv, int argc)
Definition mi-main.c:2743
void mi_execute_cli_command(const char *cmd, bool args_p, const char *args)
Definition mi-main.c:2159