summaryrefslogtreecommitdiff
path: root/gdb/command.h
diff options
context:
space:
mode:
authorAndrew Cagney <cagney@redhat.com>2002-03-24 00:40:35 +0000
committerAndrew Cagney <cagney@redhat.com>2002-03-24 00:40:35 +0000
commitc6bd954f2d5991b31d3efae1e42d8571b4da359b (patch)
tree2ec43bd8482ff7e75448e02f00a1f8e6d79b18e2 /gdb/command.h
parent358a73db249108222599515e1579a8e08111d1e5 (diff)
downloadgdb-c6bd954f2d5991b31d3efae1e42d8571b4da359b.tar.gz
* command.h: Update copyright.
(struct cmd_list_element): Replace definition with opaque declaration. (enum cmd_types): Document that it will eventually be moved to cli/cli-decode.h (CMD_DEPRECATED, DEPRECATED_WARN_USER): Delete macros. (MALLOCED_REPLACEMENT): Delete macro. * Makefile.in (cli_decode_h): Add $(command_h). (top.o, completer.o, maint.o): Add dependency on $(cli_decode_h). * top.c: Include "cli/cli-decode.h". * completer.c: Include "cli/cli-decode.h". * maint.c: Include "cli/cli-decode.h". * cli/cli-decode.h: Include "command.h". (enum command_class): Delete. (enum cmd_types): Comment out. (enum cmd_auto_boolean): Delete. (enum var_types): Delete.
Diffstat (limited to 'gdb/command.h')
-rw-r--r--gdb/command.h168
1 files changed, 6 insertions, 162 deletions
diff --git a/gdb/command.h b/gdb/command.h
index 5f7284e4dfe..db7a7402584 100644
--- a/gdb/command.h
+++ b/gdb/command.h
@@ -1,13 +1,7 @@
-/* ***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 disapear.
- 2000-12-01 fnasser@redhat.com */
-
/* Header file for command-reading library command.c.
- Copyright 1986, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1999, 2000
- Free Software Foundation, Inc.
+
+ Copyright 1986, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1999,
+ 2000, 2002 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
@@ -44,6 +38,8 @@ enum command_class
class_pseudo, class_tui, class_xdb
};
+/* FIXME: cagney/2002-03-17: Once cmd_type() has been removed, ``enum
+ cmd_types'' can be moved from "command.h" to "cli-decode.h". */
/* Not a set/show command. Note that some commands which begin with
"set" or "show" might be in this category, if their syntax does
not fall into one of the following categories. */
@@ -105,159 +101,7 @@ typedef enum var_types
var_types;
/* This structure records one command'd definition. */
-
-
-/* This flag is used by the code executing commands to warn the user
- the first time a deprecated command is used, see the 'flags' field in
- the following struct.
-*/
-#define CMD_DEPRECATED 0x1
-#define DEPRECATED_WARN_USER 0x2
-#define MALLOCED_REPLACEMENT 0x4
-
-struct cmd_list_element
- {
- /* Points to next command in this list. */
- struct cmd_list_element *next;
-
- /* Name of this command. */
- char *name;
-
- /* Command class; class values are chosen by application program. */
- enum command_class class;
-
- /* Function definition of this command. NULL for command class
- names and for help topics that are not really commands. NOTE:
- cagney/2002-02-02: This function signature is evolving. For
- the moment suggest sticking with either set_cmd_cfunc() or
- set_cmd_sfunc(). */
- void (*func) (struct cmd_list_element *c, char *args, int from_tty);
- /* The command's real callback. At present func() bounces through
- 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);
- }
- function;
-
- /* Local state (context) for this command. This can be anything. */
- void *context;
-
- /* Documentation of this command (or help topic).
- First line is brief documentation; remaining lines form, with it,
- the full documentation. First line should end with a period.
- Entire string should also end with a period, not a newline. */
- char *doc;
-
- /* flags : a bitfield
-
- bit 0: (LSB) CMD_DEPRECATED, when 1 indicated that this command
- is deprecated. It may be removed from gdb's command set in the
- future.
-
- bit 1: DEPRECATED_WARN_USER, the user needs to be warned that
- this is a deprecated command. The user should only be warned
- the first time a command is used.
-
- bit 2: MALLOCED_REPLACEMENT, when functions are deprecated at
- compile time (this is the way it should, in general, be done)
- the memory containing the replacement string is statically
- allocated. In some cases it makes sense to deprecate commands
- at runtime (the testsuite is one example). In this case the
- memory for replacement is malloc'ed. When a command is
- undeprecated or re-deprecated at runtime we don't want to risk
- calling free on statically allocated memory, so we check this
- flag.
- */
- int flags;
-
- /* if this command is deprecated, this is the replacement name */
- char *replacement;
-
- /* If this command represents a show command, then this function
- is called before the variable's value is examined. */
- void (*pre_show_hook) (struct cmd_list_element *c);
-
- /* Hook for another command to be executed before this command. */
- struct cmd_list_element *hook_pre;
-
- /* 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. */
- int hook_in;
-
- /* Nonzero identifies a prefix command. For them, the address
- of the variable containing the list of subcommands. */
- struct cmd_list_element **prefixlist;
-
- /* For prefix commands only:
- String containing prefix commands to get here: this one
- plus any others needed to get to it. Should end in a space.
- It is used before the word "command" in describing the
- commands reached through this prefix. */
- char *prefixname;
-
- /* For prefix commands only:
- nonzero means do not get an error if subcommand is not
- recognized; call the prefix's own function in that case. */
- char allow_unknown;
-
- /* Nonzero says this is an abbreviation, and should not
- be mentioned in lists of commands.
- This allows "br<tab>" to complete to "break", which it
- otherwise wouldn't. */
- char abbrev_flag;
-
- /* Completion routine for this command. TEXT is the text beyond
- what was matched for the command itself (leading whitespace is
- skipped). It stops where we are supposed to stop completing
- (rl_point) and is '\0' terminated.
-
- Return value is a malloc'd vector of pointers to possible completions
- terminated with NULL. If there are no completions, returning a pointer
- to a NULL would work but returning NULL itself is also valid.
- WORD points in the same buffer as TEXT, and completions should be
- 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);
-
- /* Type of "set" or "show" command (or SET_NOT_SET if not "set"
- or "show"). */
- cmd_types type;
-
- /* Pointer to variable affected by "set" and "show". Doesn't matter
- if type is not_set. */
- void *var;
-
- /* What kind of variable is *VAR? */
- var_types var_type;
-
- /* Pointer to NULL terminated list of enumerated values (like argv). */
- const char **enums;
-
- /* Pointer to command strings of user-defined commands */
- struct command_line *user_commands;
-
- /* Pointer to command that is hooked by this one, (by hook_pre)
- so the hook can be removed when this one is deleted. */
- struct cmd_list_element *hookee_pre;
-
- /* Pointer to command that is hooked by this one, (by hook_post)
- so the hook can be removed when this one is deleted. */
- struct cmd_list_element *hookee_post;
-
- /* 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;
- };
+struct cmd_list_element;
/* Forward-declarations of the entry-points of cli/cli-decode.c. */