]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blobdiff - gdb/cli/cli-cmds.h
Update copyright year range in header of all files managed by GDB
[thirdparty/binutils-gdb.git] / gdb / cli / cli-cmds.h
index e79dcf05d62c1f8f5ec7f0972dfb375358cac28f..429574426ac2503b7983356a2d8fc602df704c85 100644 (file)
@@ -1,6 +1,5 @@
 /* Header file for GDB CLI command implementation library.
-   Copyright (c) 2000,2006,2007,2008,2009,2010,2011
-   Free Software Foundation, Inc.
+   Copyright (C) 2000-2023 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
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
-#if !defined (CLI_CMDS_H)
-#define CLI_CMDS_H 1
+#ifndef CLI_CLI_CMDS_H
+#define CLI_CLI_CMDS_H
+
+#include "gdbsupport/filestuff.h"
+#include "gdbsupport/gdb_optional.h"
+#include "completer.h"
 
 /* Chain containing all defined commands.  */
 
@@ -46,18 +49,10 @@ extern struct cmd_list_element *detachlist;
 
 extern struct cmd_list_element *killlist;
 
-/* Chain containing all defined toggle subcommands.  */
-
-extern struct cmd_list_element *togglelist;
-
 /* Chain containing all defined stop subcommands.  */
 
 extern struct cmd_list_element *stoplist;
 
-/* Chain containing all defined "enable breakpoint" subcommands.  */
-
-extern struct cmd_list_element *enablebreaklist;
-
 /* Chain containing all defined set subcommands */
 
 extern struct cmd_list_element *setlist;
@@ -94,10 +89,42 @@ extern struct cmd_list_element *maintenanceinfolist;
 
 extern struct cmd_list_element *maintenanceprintlist;
 
+/* Chain containing all defined "maintenance flush" subcommands.  */
+
+extern struct cmd_list_element *maintenanceflushlist;
+
+/* Chain containing all defined "maintenance check" subcommands.  */
+
+extern struct cmd_list_element *maintenancechecklist;
+
+/* Chain containing all defined "maintenance set" subcommands.  */
+
+extern struct cmd_list_element *maintenance_set_cmdlist;
+
+/* Chain containing all defined "maintenance show" subcommands.  */
+
+extern struct cmd_list_element *maintenance_show_cmdlist;
+
 extern struct cmd_list_element *setprintlist;
 
 extern struct cmd_list_element *showprintlist;
 
+/* Chain containing all defined "set print raw" subcommands.  */
+
+extern struct cmd_list_element *setprintrawlist;
+
+/* Chain containing all defined "show print raw" subcommands.  */
+
+extern struct cmd_list_element *showprintrawlist;
+
+/* Chain containing all defined "set print type" subcommands.  */
+
+extern struct cmd_list_element *setprinttypelist;
+
+/* Chain containing all defined "show print type" subcommands.  */
+
+extern struct cmd_list_element *showprinttypelist;
+
 extern struct cmd_list_element *setdebuglist;
 
 extern struct cmd_list_element *showdebuglist;
@@ -106,32 +133,73 @@ extern struct cmd_list_element *setchecklist;
 
 extern struct cmd_list_element *showchecklist;
 
-/* Exported to gdb/top.c */
+/* Chain containing all defined "save" subcommands.  */
+
+extern struct cmd_list_element *save_cmdlist;
+
+/* Chain containing all defined "set source" subcommands.  */
 
-void init_cmd_lists (void);
+extern struct cmd_list_element *setsourcelist;
 
-void init_cli_cmds (void);
+/* Chain containing all defined "show source" subcommands.  */
+
+extern struct cmd_list_element *showsourcelist;
+
+/* Limit the call depth of user-defined commands */
+
+extern unsigned int max_user_call_depth;
+
+/* Exported to gdb/top.c */
 
 int is_complete_command (struct cmd_list_element *cmd);
 
 /* Exported to gdb/main.c */
 
-extern void cd_command (char *, int);
+extern void cd_command (const char *, int);
 
 /* Exported to gdb/top.c and gdb/main.c */
 
-extern void quit_command (char *, int);
+extern void quit_command (const char *, int);
 
-extern void source_script (char *, int);
+extern void source_script (const char *, int);
 
 /* Exported to objfiles.c.  */
 
-extern int find_and_open_script (const char *file, int search_path,
-                                FILE **streamp, char **full_path);
+/* The script that was opened.  */
+struct open_script
+{
+  gdb_file_up stream;
+  gdb::unique_xmalloc_ptr<char> full_path;
+
+  open_script (gdb_file_up &&stream_,
+              gdb::unique_xmalloc_ptr<char> &&full_path_)
+    : stream (std::move (stream_)),
+      full_path (std::move (full_path_))
+  {
+  }
+};
+
+extern gdb::optional<open_script>
+    find_and_open_script (const char *file, int search_path);
 
 /* Command tracing state.  */
 
 extern int source_verbose;
-extern int trace_commands;
-
-#endif /* !defined (CLI_CMDS_H) */
+extern bool trace_commands;
+
+/* Common code for the "with" and "maintenance with" commands.
+   SET_CMD_PREFIX is the spelling of the corresponding "set" command
+   prefix: i.e., "set " or "maintenance set ".  SETLIST is the command
+   element for the same "set" command prefix.  */
+extern void with_command_1 (const char *set_cmd_prefix,
+                           cmd_list_element *setlist,
+                           const char *args, int from_tty);
+
+/* Common code for the completers of the "with" and "maintenance with"
+   commands.  SET_CMD_PREFIX is the spelling of the corresponding
+   "set" command prefix: i.e., "set " or "maintenance set ".  */
+extern void with_command_completer_1 (const char *set_cmd_prefix,
+                                     completion_tracker &tracker,
+                                     const char *text);
+
+#endif /* CLI_CLI_CMDS_H */