* NEWS: Mention new /m modifier for disassemble command.
[deliverable/binutils-gdb.git] / gdb / cli / cli-decode.h
index 5b6f9682e7c81c30369d49b355294f8ac237c242..f133b3d8fe0129002f41782ba3f91b073b6c23da 100644 (file)
@@ -1,9 +1,10 @@
 /* Header file for GDB command decoding library.
-   Copyright 2000 Free Software Foundation, Inc.
+
+   Copyright (c) 2000, 2003, 2007, 2008 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 2 of the License, or
+   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,
    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., 59 Temple Place - Suite 330,
-   Boston, MA 02111-1307, USA.  */
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #if !defined (CLI_DECODE_H)
 #define CLI_DECODE_H 1
 
-#include "gdb_regex.h"         /* Needed by apropos_cmd.  */
 #include "command.h"
 
+struct re_pattern_buffer;
+
 #if 0
 /* FIXME: cagney/2002-03-17: Once cmd_type() has been removed, ``enum
    cmd_types'' can be moved from "command.h" to "cli-decode.h".  */
@@ -48,6 +48,9 @@ cmd_types;
 #define DEPRECATED_WARN_USER      0x2
 #define MALLOCED_REPLACEMENT      0x4
 
+/* This flag is set if the command is allowed during async execution.  */
+#define CMD_ASYNC_OK              0x8
+
 struct cmd_list_element
   {
     /* Points to next command in this list.  */
@@ -69,12 +72,11 @@ struct cmd_list_element
        to one of the below.  */
     union
       {
-       /* If type is not_set_cmd, call it like this:  */
-       void (*cfunc) (char *args, int from_tty);
-
-       /* If type is set_cmd or show_cmd, first set the variables, and
-          then call this.  */
-       void (*sfunc) (char *args, int from_tty, struct cmd_list_element * c);
+       /* If type is not_set_cmd, call it like this: */
+       cmd_cfunc_ftype *cfunc;
+       /* If type is set_cmd or show_cmd, first set the variables,
+          and then call this: */
+       cmd_sfunc_ftype *sfunc;
       }
     function;
 
@@ -87,6 +89,10 @@ struct cmd_list_element
        Entire string should also end with a period, not a newline.  */
     char *doc;
 
+    /* For set/show commands.  A method for printing the output to the
+       specified stream.  */
+    show_value_ftype *show_value_func;
+
     /* flags : a bitfield 
        
        bit 0: (LSB) CMD_DEPRECATED, when 1 indicated that this command
@@ -109,7 +115,7 @@ struct cmd_list_element
      */
     int flags;
 
-    /* if this command is deprecated, this is the replacement name */
+    /* If this command is deprecated, this is the replacement name.  */
     char *replacement;
 
     /* If this command represents a show command, then this function
@@ -122,8 +128,8 @@ struct cmd_list_element
     /* Hook for another command to be executed after this command.  */
     struct cmd_list_element *hook_post;
 
-    /* Flag that specifies if this command is already running it's hook. */
-    /* Prevents the possibility of hook recursion. */
+    /* Flag that specifies if this command is already running it's hook.  */
+    /* Prevents the possibility of hook recursion.  */
     int hook_in;
 
     /* Nonzero identifies a prefix command.  For them, the address
@@ -240,6 +246,13 @@ extern int cmd_cfunc_eq (struct cmd_list_element *cmd,
 extern void set_cmd_context (struct cmd_list_element *cmd, void *context);
 extern void *get_cmd_context (struct cmd_list_element *cmd);
 
+/* Mark command as async-ready; there is no way to disable this once
+   set.  */
+extern void set_cmd_async_ok (struct cmd_list_element *);
+
+/* Return true if command is async-ok.  */
+extern int get_cmd_async_ok (struct cmd_list_element *);
+
 extern struct cmd_list_element *lookup_cmd (char **,
                                            struct cmd_list_element *, char *,
                                            int, int);
@@ -281,35 +294,6 @@ extern void delete_cmd (char *, struct cmd_list_element **);
 extern void help_cmd_list (struct cmd_list_element *, enum command_class,
                           char *, int, struct ui_file *);
 
-extern struct cmd_list_element *add_set_cmd (char *name, enum
-                                            command_class class,
-                                            var_types var_type, void *var,
-                                            char *doc,
-                                            struct cmd_list_element **list);
-
-extern struct cmd_list_element *add_set_enum_cmd (char *name,
-                                                 enum command_class class,
-                                                 const char *enumlist[],
-                                                 const char **var,
-                                                 char *doc,
-                                                 struct cmd_list_element **list);
-
-extern struct cmd_list_element *add_set_auto_boolean_cmd (char *name,
-                                                         enum command_class class,
-                                                         enum auto_boolean *var,
-                                                         char *doc,
-                                                         struct cmd_list_element **list);
-
-extern struct cmd_list_element *add_set_boolean_cmd (char *name,
-                                                    enum command_class class,
-                                                    int *var,
-                                                    char *doc,
-                                                    struct cmd_list_element **list);
-
-extern struct cmd_list_element *add_show_from_set (struct cmd_list_element *,
-                                                  struct cmd_list_element
-                                                  **);
-
 /* Functions that implement commands about CLI commands. */
 
 extern void help_cmd (char *, struct ui_file *);
This page took 0.02573 seconds and 4 git commands to generate.