gdb-3.5
[deliverable/binutils-gdb.git] / gdb / command.h
1 /* Header file for command-reading library command.c.
2 Copyright (C) 1986, 1989 Free Software Foundation, Inc.
3
4 This program is free software; you can redistribute it and/or modify
5 it under the terms of the GNU General Public License as published by
6 the Free Software Foundation; either version 1, or (at your option)
7 any later version.
8
9 This program is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 GNU General Public License for more details.
13
14 You should have received a copy of the GNU General Public License
15 along with this program; if not, write to the Free Software
16 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
17
18 /* This structure records one command'd definition. */
19
20 struct cmd_list_element
21 {
22 /* Points to next command in this list. */
23 struct cmd_list_element *next;
24
25 /* Name of this command. */
26 char *name;
27
28 /* Command class; class values are chosen by application program. */
29 int class;
30
31 /* Function definition of this command.
32 Zero for command class names and for help topics that
33 are not really commands. */
34 void (*function) ();
35
36 /* Documentation of this command (or help topic).
37 First line is brief documentation; remaining lines form, with it,
38 the full documentation. First line should end with a period.
39 Entire string should also end with a period, not a newline. */
40 char *doc;
41
42 /* Auxiliary information.
43 It is up to the calling program to decide what this means. */
44 char *aux;
45
46 /* Nonzero identifies a prefix command. For them, the address
47 of the variable containing the list of subcommands. */
48 struct cmd_list_element **prefixlist;
49
50 /* For prefix commands only:
51 String containing prefix commands to get here: this one
52 plus any others needed to get to it. Should end in a space.
53 It is used before the word "command" in describing the
54 commands reached through this prefix. */
55 char *prefixname;
56
57 /* For prefix commands only:
58 nonzero means do not get an error if subcommand is not
59 recognized; call the prefix's own function in that case. */
60 char allow_unknown;
61
62 /* Nonzero says this is an abbreviation, and should not
63 be mentioned in lists of commands.
64 This allows "br<tab>" to complete to "break", which it
65 otherwise wouldn't. */
66 char abbrev_flag;
67 };
68
69 /* Forward-declarations of the entry-points of command.c. */
70
71 extern struct cmd_list_element *add_cmd ();
72 extern struct cmd_list_element *add_alias_cmd ();
73 extern struct cmd_list_element *add_prefix_cmd ();
74 extern struct cmd_list_element *lookup_cmd (), *lookup_cmd_1 ();
75 extern char **complete_on_cmdlist ();
76 extern void delete_cmd ();
77 extern void help_cmd ();
This page took 0.04232 seconds and 4 git commands to generate.