* i386-linux-tdep.c (I386_LINUX_RECORD_SIZE_*,
[deliverable/binutils-gdb.git] / gdb / cli / cli-decode.h
index 97e71063973b27ba5a51d234347c09d8fb2eb961..b6475e04d8f94f83c799ff65a1d9f82a2b53fee4 100644 (file)
@@ -1,10 +1,10 @@
 /* Header file for GDB command decoding library.
 
-   Copyright 2000, 2003 Free Software Foundation, Inc.
+   Copyright (c) 2000, 2003, 2007, 2008, 2009 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,
@@ -13,9 +13,7 @@
    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
@@ -88,6 +86,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
@@ -110,7 +112,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
@@ -123,8 +125,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 its hook.  */
+    /* Prevents the possibility of hook recursion.  */
     int hook_in;
 
     /* Nonzero identifies a prefix command.  For them, the address
@@ -161,7 +163,12 @@ struct cmd_list_element
        returned relative to this position.  For example, suppose TEXT is "foo"
        and we want to complete to "foobar".  If WORD is "oo", return
        "oobar"; if WORD is "baz/foo", return "baz/foobar".  */
-    char **(*completer) (char *text, char *word);
+    char **(*completer) (struct cmd_list_element *cmd, char *text, char *word);
+
+    /* Destruction routine for this command.  If non-NULL, this is
+       called when this command instance is destroyed.  This may be
+       used to finalize the CONTEXT field, if needed.  */
+    void (*destroyer) (struct cmd_list_element *self, void *context);
 
     /* Type of "set" or "show" command (or SET_NOT_SET if not "set"
        or "show").  */
@@ -191,6 +198,12 @@ struct cmd_list_element
     /* Pointer to command that is aliased by this one, so the
        aliased command can be located in case it has been hooked.  */
     struct cmd_list_element *cmd_pointer;
+
+    /* Start of a linked list of all aliases of this command.  */
+    struct cmd_list_element *aliases;
+
+    /* Link pointer for aliases on an alias list.  */
+    struct cmd_list_element *alias_chain;
   };
 
 /* API to the manipulation of command lists.  */
@@ -230,7 +243,8 @@ extern void set_cmd_sfunc (struct cmd_list_element *cmd,
                                          struct cmd_list_element * c));
 
 extern void set_cmd_completer (struct cmd_list_element *cmd,
-                              char **(*completer) (char *text, char *word));
+                              char **(*completer) (struct cmd_list_element *self,
+                                                   char *text, char *word));
 
 /* HACK: cagney/2002-02-23: Code, mostly in tracepoints.c, grubs
    around in cmd objects to test the value of the commands sfunc().  */
@@ -277,27 +291,9 @@ extern char **complete_on_cmdlist (struct cmd_list_element *, char *, char *);
 
 extern char **complete_on_enum (const char *enumlist[], char *, char *);
 
-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 *deprecated_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.034532 seconds and 4 git commands to generate.