+/* ***DEPRECATED*** The gdblib files must not be calling/using things in any
+ of the possible command languages. If necessary, a hook (that may be
+ present or not) must be used and set to the appropriate routine by any
+ command language that cares about it. If you are having to include this
+ file you are possibly doing things the old way. This file will dissapear.
+ fnasser@redhat.com */
+
/* Header file for GDB-specific command-line stuff.
- Copyright (C) 1986, 1989, 1990 Free Software Foundation, Inc.
+ Copyright (C) 1986-2022 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 1, or (at your option)
- any later version.
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
-
-#include "command.h"
-
-/* Chain containing all defined commands. */
-
-extern struct cmd_list_element *cmdlist;
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
-/* Chain containing all defined info subcommands. */
+#if !defined (GDBCMD_H)
+#define GDBCMD_H 1
-extern struct cmd_list_element *infolist;
-
-/* Chain containing all defined enable subcommands. */
-
-extern struct cmd_list_element *enablelist;
-
-/* Chain containing all defined disable subcommands. */
-
-extern struct cmd_list_element *disablelist;
+#include "command.h"
+#include "ui-out.h"
+#include "cli/cli-script.h"
+#include "cli/cli-cmds.h"
-/* Chain containing all defined delete subcommands. */
+extern void execute_command (const char *, int);
-extern struct cmd_list_element *deletelist;
+/* Run FN. Sends its output to FILE, do not display it to the screen.
+ The global BATCH_FLAG will be temporarily set to true. */
-/* Chain containing all defined "enable breakpoint" subcommands. */
+extern void execute_fn_to_ui_file (struct ui_file *file, std::function<void(void)> fn);
-extern struct cmd_list_element *enablebreaklist;
+/* Run FN. Capture its output into the returned string, do not display it
+ to the screen. The global BATCH_FLAG will temporarily be set to true.
+ When TERM_OUT is true the output is collected with terminal behaviour
+ (e.g. with styling). When TERM_OUT is false raw output will be collected
+ (e.g. no styling). */
-/* Chain containing all defined set subcommands */
+extern void execute_fn_to_string (std::string &res,
+ std::function<void(void)> fn, bool term_out);
-extern struct cmd_list_element *setlist;
+/* As execute_fn_to_ui_file, but run execute_command for P and FROM_TTY. */
-/* Chain containing all defined show subcommands. */
-extern struct cmd_list_element *showlist;
+extern void execute_command_to_ui_file (struct ui_file *file,
+ const char *p, int from_tty);
-/* Chain containing all defined \"set history\". */
+/* As execute_fn_to_string, but run execute_command for P and FROM_TTY. */
-extern struct cmd_list_element *sethistlist;
+extern void execute_command_to_string (std::string &res, const char *p,
+ int from_tty, bool term_out);
-/* Chain containing all defined \"show history\". */
-extern struct cmd_list_element *showhistlist;
+/* As execute_command_to_string, but ignore resulting string. */
-/* Chain containing all defined \"unset history\". */
+extern void execute_command_to_string (const char *p,
+ int from_tty, bool term_out);
-extern struct cmd_list_element *unsethistlist;
+extern void print_command_line (struct command_line *, unsigned int,
+ struct ui_file *);
+extern void print_command_lines (struct ui_out *,
+ struct command_line *, unsigned int);
-void execute_command ();
-char **noop_completer ();
+#endif /* !defined (GDBCMD_H) */