gnulib: define the path to gnulib's parent dir
[binutils-gdb.git] / gdb / command.h
index 33feb19166c690e2ea23f888940e3b3781e9445c..f8988e4149438486df70763d47b6e3faba58f348 100644 (file)
@@ -174,10 +174,6 @@ extern struct cmd_list_element *add_cmd_suppress_notification
                         struct cmd_list_element **list,
                         int *suppress_notification);
 
-extern struct cmd_list_element *add_alias_cmd (const char *, const char *,
-                                              enum command_class, int,
-                                              struct cmd_list_element **);
-
 extern struct cmd_list_element *add_alias_cmd (const char *,
                                               cmd_list_element *,
                                               enum command_class, int,
@@ -208,7 +204,7 @@ extern struct cmd_list_element *add_show_prefix_cmd
 extern struct cmd_list_element *add_prefix_cmd_suppress_notification
                        (const char *name, enum command_class theclass,
                         cmd_const_cfunc_ftype *fun,
-                        const char *doc, struct cmd_list_element **prefixlist,
+                        const char *doc, struct cmd_list_element **subcommands,
                         int allow_unknown,
                         struct cmd_list_element **list,
                         int *suppress_notification);
@@ -359,8 +355,10 @@ extern struct cmd_list_element *add_com (const char *, enum command_class,
                                         cmd_const_cfunc_ftype *fun,
                                         const char *);
 
-extern struct cmd_list_element *add_com_alias (const char *, const char *,
-                                              enum command_class, int);
+extern cmd_list_element *add_com_alias (const char *name,
+                                       cmd_list_element *target,
+                                       command_class theclass,
+                                       int abbrev_flag);
 
 extern struct cmd_list_element *add_com_suppress_notification
                       (const char *name, enum command_class theclass,
@@ -371,8 +369,9 @@ extern struct cmd_list_element *add_info (const char *,
                                          cmd_const_cfunc_ftype *fun,
                                          const char *);
 
-extern struct cmd_list_element *add_info_alias (const char *, const char *,
-                                               int);
+extern cmd_list_element *add_info_alias (const char *name,
+                                        cmd_list_element *target,
+                                        int abbrev_flag);
 
 extern void complete_on_cmdlist (struct cmd_list_element *,
                                 completion_tracker &tracker,
@@ -398,141 +397,85 @@ typedef void (show_value_ftype) (struct ui_file *file,
    instead print the value out directly.  */
 extern show_value_ftype deprecated_show_value_hack;
 
-extern void add_setshow_enum_cmd (const char *name,
-                                 enum command_class theclass,
-                                 const char *const *enumlist,
-                                 const char **var,
-                                 const char *set_doc,
-                                 const char *show_doc,
-                                 const char *help_doc,
-                                 cmd_const_sfunc_ftype *set_func,
-                                 show_value_ftype *show_func,
-                                 struct cmd_list_element **set_list,
-                                 struct cmd_list_element **show_list,
-                                 void *context = nullptr);
-
-extern void add_setshow_auto_boolean_cmd (const char *name,
-                                         enum command_class theclass,
-                                         enum auto_boolean *var,
-                                         const char *set_doc,
-                                         const char *show_doc,
-                                         const char *help_doc,
-                                         cmd_const_sfunc_ftype *set_func,
-                                         show_value_ftype *show_func,
-                                         struct cmd_list_element **set_list,
-                                         struct cmd_list_element **show_list);
-
-extern cmd_list_element *
-  add_setshow_boolean_cmd (const char *name,
-                          enum command_class theclass,
-                          bool *var,
-                          const char *set_doc, const char *show_doc,
-                          const char *help_doc,
-                          cmd_const_sfunc_ftype *set_func,
-                          show_value_ftype *show_func,
-                          struct cmd_list_element **set_list,
-                          struct cmd_list_element **show_list);
-
-extern void add_setshow_filename_cmd (const char *name,
-                                     enum command_class theclass,
-                                     char **var,
-                                     const char *set_doc,
-                                     const char *show_doc,
-                                     const char *help_doc,
-                                     cmd_const_sfunc_ftype *set_func,
-                                     show_value_ftype *show_func,
-                                     struct cmd_list_element **set_list,
-                                     struct cmd_list_element **show_list);
-
-extern void add_setshow_string_cmd (const char *name,
-                                   enum command_class theclass,
-                                   char **var,
-                                   const char *set_doc,
-                                   const char *show_doc,
-                                   const char *help_doc,
-                                   cmd_const_sfunc_ftype *set_func,
-                                   show_value_ftype *show_func,
-                                   struct cmd_list_element **set_list,
-                                   struct cmd_list_element **show_list);
-
-extern struct cmd_list_element *add_setshow_string_noescape_cmd
-                     (const char *name,
-                      enum command_class theclass,
-                      char **var,
-                      const char *set_doc,
-                      const char *show_doc,
-                      const char *help_doc,
-                      cmd_const_sfunc_ftype *set_func,
-                      show_value_ftype *show_func,
-                      struct cmd_list_element **set_list,
-                      struct cmd_list_element **show_list);
-
-extern void add_setshow_optional_filename_cmd (const char *name,
-                                              enum command_class theclass,
-                                              char **var,
-                                              const char *set_doc,
-                                              const char *show_doc,
-                                              const char *help_doc,
-                                              cmd_const_sfunc_ftype *set_func,
-                                              show_value_ftype *show_func,
-                                              struct cmd_list_element **set_list,
-                                              struct cmd_list_element **show_list);
-
-extern void add_setshow_integer_cmd (const char *name,
-                                    enum command_class theclass,
-                                    int *var,
-                                    const char *set_doc,
-                                    const char *show_doc,
-                                    const char *help_doc,
-                                    cmd_const_sfunc_ftype *set_func,
-                                    show_value_ftype *show_func,
-                                    struct cmd_list_element **set_list,
-                                    struct cmd_list_element **show_list);
-
-extern void add_setshow_uinteger_cmd (const char *name,
-                                     enum command_class theclass,
-                                     unsigned int *var,
-                                     const char *set_doc,
-                                     const char *show_doc,
-                                     const char *help_doc,
-                                     cmd_const_sfunc_ftype *set_func,
-                                     show_value_ftype *show_func,
-                                     struct cmd_list_element **set_list,
-                                     struct cmd_list_element **show_list);
-
-extern void add_setshow_zinteger_cmd (const char *name,
-                                     enum command_class theclass,
-                                     int *var,
-                                     const char *set_doc,
-                                     const char *show_doc,
-                                     const char *help_doc,
-                                     cmd_const_sfunc_ftype *set_func,
-                                     show_value_ftype *show_func,
-                                     struct cmd_list_element **set_list,
-                                     struct cmd_list_element **show_list);
-
-extern void add_setshow_zuinteger_cmd (const char *name,
-                                      enum command_class theclass,
-                                      unsigned int *var,
-                                      const char *set_doc,
-                                      const char *show_doc,
-                                      const char *help_doc,
-                                      cmd_const_sfunc_ftype *set_func,
-                                      show_value_ftype *show_func,
-                                      struct cmd_list_element **set_list,
-                                      struct cmd_list_element **show_list);
-
-extern void
-  add_setshow_zuinteger_unlimited_cmd (const char *name,
-                                      enum command_class theclass,
-                                      int *var,
-                                      const char *set_doc,
-                                      const char *show_doc,
-                                      const char *help_doc,
-                                      cmd_const_sfunc_ftype *set_func,
-                                      show_value_ftype *show_func,
-                                      struct cmd_list_element **set_list,
-                                      struct cmd_list_element **show_list);
+/* Return value type for the add_setshow_* functions.  */
+
+struct set_show_commands
+{
+  cmd_list_element *set, *show;
+};
+
+extern set_show_commands add_setshow_enum_cmd
+  (const char *name, command_class theclass, const char *const *enumlist,
+   const char **var, const char *set_doc, const char *show_doc,
+   const char *help_doc, cmd_const_sfunc_ftype *set_func,
+   show_value_ftype *show_func, cmd_list_element **set_list,
+   cmd_list_element **show_list, void *context = nullptr);
+
+extern set_show_commands add_setshow_auto_boolean_cmd
+  (const char *name, command_class theclass, auto_boolean *var,
+   const char *set_doc, const char *show_doc, const char *help_doc,
+   cmd_const_sfunc_ftype *set_func, show_value_ftype *show_func,
+   cmd_list_element **set_list, cmd_list_element **show_list);
+
+extern set_show_commands add_setshow_boolean_cmd
+  (const char *name, command_class theclass, bool *var, const char *set_doc,
+   const char *show_doc, const char *help_doc, cmd_const_sfunc_ftype *set_func,
+   show_value_ftype *show_func, cmd_list_element **set_list,
+   cmd_list_element **show_list);
+
+extern set_show_commands add_setshow_filename_cmd
+  (const char *name, command_class theclass, char **var, const char *set_doc,
+   const char *show_doc, const char *help_doc, cmd_const_sfunc_ftype *set_func,
+   show_value_ftype *show_func, cmd_list_element **set_list,
+   cmd_list_element **show_list);
+
+extern set_show_commands add_setshow_string_cmd
+  (const char *name, command_class theclass, char **var, const char *set_doc,
+   const char *show_doc, const char *help_doc, cmd_const_sfunc_ftype *set_func,
+   show_value_ftype *show_func, cmd_list_element **set_list,
+   cmd_list_element **show_list);
+
+extern set_show_commands add_setshow_string_noescape_cmd
+  (const char *name, command_class theclass, char **var, const char *set_doc,
+   const char *show_doc, const char *help_doc, cmd_const_sfunc_ftype *set_func,
+   show_value_ftype *show_func, cmd_list_element **set_list,
+   cmd_list_element **show_list);
+
+extern set_show_commands add_setshow_optional_filename_cmd
+  (const char *name, command_class theclass, char **var, const char *set_doc,
+   const char *show_doc, const char *help_doc, cmd_const_sfunc_ftype *set_func,
+   show_value_ftype *show_func, cmd_list_element **set_list,
+   cmd_list_element **show_list);
+
+extern set_show_commands add_setshow_integer_cmd
+  (const char *name, command_class theclass, int *var, const char *set_doc,
+   const char *show_doc, const char *help_doc, cmd_const_sfunc_ftype *set_func,
+   show_value_ftype *show_func, cmd_list_element **set_list,
+   cmd_list_element **show_list);
+
+extern set_show_commands add_setshow_uinteger_cmd
+  (const char *name, command_class theclass, unsigned int *var,
+   const char *set_doc, const char *show_doc, const char *help_doc,
+   cmd_const_sfunc_ftype *set_func, show_value_ftype *show_func,
+   cmd_list_element **set_list, cmd_list_element **show_list);
+
+extern set_show_commands add_setshow_zinteger_cmd
+  (const char *name, command_class theclass, int *var, const char *set_doc,
+   const char *show_doc, const char *help_doc, cmd_const_sfunc_ftype *set_func,
+   show_value_ftype *show_func, cmd_list_element **set_list,
+   cmd_list_element **show_list);
+
+extern set_show_commands add_setshow_zuinteger_cmd
+  (const char *name, command_class theclass, unsigned int *var,
+   const char *set_doc, const char *show_doc, const char *help_doc,
+   cmd_const_sfunc_ftype *set_func, show_value_ftype *show_func,
+   cmd_list_element **set_list, cmd_list_element **show_list);
+
+extern set_show_commands add_setshow_zuinteger_unlimited_cmd
+  (const char *name, command_class theclass, int *var, const char *set_doc,
+   const char *show_doc, const char *help_doc, cmd_const_sfunc_ftype *set_func,
+   show_value_ftype *show_func, cmd_list_element **set_list,
+   cmd_list_element **show_list);
 
 /* Do a "show" command for each thing on a command list.  */
 
@@ -595,9 +538,6 @@ extern void save_command_line (const char *cmd);
 
 extern void not_just_help_class_command (const char *, int);
 
-/* Check function pointer.  */
-extern int cmd_func_p (struct cmd_list_element *cmd);
-
 /* Call the command function.  */
 extern void cmd_func (struct cmd_list_element *cmd,
                      const char *args, int from_tty);