Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(43)

Side by Side Diff: gdb/cli/cli-decode.h

Issue 11969036: Merge GDB 7.5.1 (Closed) Base URL: http://git.chromium.org/native_client/nacl-gdb.git@master
Patch Set: Created 7 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « gdb/cli/cli-cmds.c ('k') | gdb/cli/cli-decode.c » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* Header file for GDB command decoding library. 1 /* Header file for GDB command decoding library.
2 2
3 Copyright (c) 2000, 2003, 2007-2012 Free Software Foundation, Inc. 3 Copyright (c) 2000, 2003, 2007-2012 Free Software Foundation, Inc.
4 4
5 This program is free software; you can redistribute it and/or modify 5 This program is free software; you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by 6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation; either version 3 of the License, or 7 the Free Software Foundation; either version 3 of the License, or
8 (at your option) any later version. 8 (at your option) any later version.
9 9
10 This program is distributed in the hope that it will be useful, 10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of 11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details. 13 GNU General Public License for more details.
14 14
15 You should have received a copy of the GNU General Public License 15 You should have received a copy of the GNU General Public License
16 along with this program. If not, see <http://www.gnu.org/licenses/>. */ 16 along with this program. If not, see <http://www.gnu.org/licenses/>. */
17 17
18 #if !defined (CLI_DECODE_H) 18 #if !defined (CLI_DECODE_H)
19 #define CLI_DECODE_H 1 19 #define CLI_DECODE_H 1
20 20
21 /* This file defines the private interfaces for any code implementing
22 command internals. */
23
24 /* Include the public interfaces. */
21 #include "command.h" 25 #include "command.h"
22 26
23 struct re_pattern_buffer; 27 struct re_pattern_buffer;
24 28
25 #if 0 29 #if 0
26 /* FIXME: cagney/2002-03-17: Once cmd_type() has been removed, ``enum 30 /* FIXME: cagney/2002-03-17: Once cmd_type() has been removed, ``enum
27 cmd_types'' can be moved from "command.h" to "cli-decode.h". */ 31 cmd_types'' can be moved from "command.h" to "cli-decode.h". */
28 /* Not a set/show command. Note that some commands which begin with 32 /* Not a set/show command. Note that some commands which begin with
29 "set" or "show" might be in this category, if their syntax does 33 "set" or "show" might be in this category, if their syntax does
30 not fall into one of the following categories. */ 34 not fall into one of the following categories. */
(...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after
157 (rl_point) and is '\0' terminated. 161 (rl_point) and is '\0' terminated.
158 162
159 Return value is a malloc'd vector of pointers to possible 163 Return value is a malloc'd vector of pointers to possible
160 completions terminated with NULL. If there are no completions, 164 completions terminated with NULL. If there are no completions,
161 returning a pointer to a NULL would work but returning NULL 165 returning a pointer to a NULL would work but returning NULL
162 itself is also valid. WORD points in the same buffer as TEXT, 166 itself is also valid. WORD points in the same buffer as TEXT,
163 and completions should be returned relative to this position. 167 and completions should be returned relative to this position.
164 For example, suppose TEXT is "foo" and we want to complete to 168 For example, suppose TEXT is "foo" and we want to complete to
165 "foobar". If WORD is "oo", return "oobar"; if WORD is 169 "foobar". If WORD is "oo", return "oobar"; if WORD is
166 "baz/foo", return "baz/foobar". */ 170 "baz/foo", return "baz/foobar". */
167 char **(*completer) (struct cmd_list_element *cmd, 171 completer_ftype *completer;
168 » » » char *text, char *word);
169 172
170 /* Destruction routine for this command. If non-NULL, this is 173 /* Destruction routine for this command. If non-NULL, this is
171 called when this command instance is destroyed. This may be 174 called when this command instance is destroyed. This may be
172 used to finalize the CONTEXT field, if needed. */ 175 used to finalize the CONTEXT field, if needed. */
173 void (*destroyer) (struct cmd_list_element *self, void *context); 176 void (*destroyer) (struct cmd_list_element *self, void *context);
174 177
175 /* Type of "set" or "show" command (or SET_NOT_SET if not "set" 178 /* Type of "set" or "show" command (or SET_NOT_SET if not "set"
176 or "show"). */ 179 or "show"). */
177 cmd_types type; 180 cmd_types type;
178 181
179 /* Pointer to variable affected by "set" and "show". Doesn't 182 /* Pointer to variable affected by "set" and "show". Doesn't
180 matter if type is not_set. */ 183 matter if type is not_set. */
181 void *var; 184 void *var;
182 185
183 /* What kind of variable is *VAR? */ 186 /* What kind of variable is *VAR? */
184 var_types var_type; 187 var_types var_type;
185 188
186 /* Pointer to NULL terminated list of enumerated values (like 189 /* Pointer to NULL terminated list of enumerated values (like
187 argv). */ 190 argv). */
188 const char **enums; 191 const char *const *enums;
189 192
190 /* Pointer to command strings of user-defined commands */ 193 /* Pointer to command strings of user-defined commands */
191 struct command_line *user_commands; 194 struct command_line *user_commands;
192 195
193 /* Pointer to command that is hooked by this one, (by hook_pre) 196 /* Pointer to command that is hooked by this one, (by hook_pre)
194 so the hook can be removed when this one is deleted. */ 197 so the hook can be removed when this one is deleted. */
195 struct cmd_list_element *hookee_pre; 198 struct cmd_list_element *hookee_pre;
196 199
197 /* Pointer to command that is hooked by this one, (by hook_post) 200 /* Pointer to command that is hooked by this one, (by hook_post)
198 so the hook can be removed when this one is deleted. */ 201 so the hook can be removed when this one is deleted. */
199 struct cmd_list_element *hookee_post; 202 struct cmd_list_element *hookee_post;
200 203
201 /* Pointer to command that is aliased by this one, so the 204 /* Pointer to command that is aliased by this one, so the
202 aliased command can be located in case it has been hooked. */ 205 aliased command can be located in case it has been hooked. */
203 struct cmd_list_element *cmd_pointer; 206 struct cmd_list_element *cmd_pointer;
204 207
205 /* Start of a linked list of all aliases of this command. */ 208 /* Start of a linked list of all aliases of this command. */
206 struct cmd_list_element *aliases; 209 struct cmd_list_element *aliases;
207 210
208 /* Link pointer for aliases on an alias list. */ 211 /* Link pointer for aliases on an alias list. */
209 struct cmd_list_element *alias_chain; 212 struct cmd_list_element *alias_chain;
210 }; 213 };
211 214
212 /* Flag for an ambiguous cmd_list result. */
213 #define CMD_LIST_AMBIGUOUS ((struct cmd_list_element *) -1)
214
215 /* API to the manipulation of command lists. */
216
217 extern struct cmd_list_element *add_cmd (char *, enum command_class,
218 void (*fun) (char *, int), char *,
219 struct cmd_list_element **);
220
221 extern struct cmd_list_element *add_alias_cmd (char *, char *,
222 enum command_class, int,
223 struct cmd_list_element **);
224
225 extern struct cmd_list_element *add_prefix_cmd (char *, enum command_class,
226 void (*fun) (char *, int),
227 char *,
228 struct cmd_list_element **,
229 char *, int,
230 struct cmd_list_element **);
231
232 extern struct cmd_list_element *add_abbrev_prefix_cmd (char *,
233 enum command_class,
234 void (*fun) (char *,
235 int),
236 char *,
237 struct cmd_list_element
238 **, char *, int,
239 struct cmd_list_element
240 **);
241
242 /* Set the commands corresponding callback. */
243
244 extern void set_cmd_cfunc (struct cmd_list_element *cmd,
245 void (*cfunc) (char *args, int from_tty));
246
247 extern void set_cmd_sfunc (struct cmd_list_element *cmd,
248 void (*sfunc) (char *args, int from_tty,
249 struct cmd_list_element * c));
250
251 extern void set_cmd_completer (struct cmd_list_element *cmd,
252 char **(*completer) (struct cmd_list_element *sel f,
253 char *text, char *word));
254
255 /* HACK: cagney/2002-02-23: Code, mostly in tracepoints.c, grubs
256 around in cmd objects to test the value of the commands sfunc(). */
257 extern int cmd_cfunc_eq (struct cmd_list_element *cmd,
258 void (*cfunc) (char *args, int from_tty));
259
260 /* Access to the command's local context. */
261 extern void set_cmd_context (struct cmd_list_element *cmd, void *context);
262 extern void *get_cmd_context (struct cmd_list_element *cmd);
263
264 extern struct cmd_list_element *lookup_cmd (char **,
265 struct cmd_list_element *, char *,
266 int, int);
267
268 extern struct cmd_list_element *lookup_cmd_1 (char **,
269 struct cmd_list_element *,
270 struct cmd_list_element **,
271 int);
272
273 extern struct cmd_list_element *
274 deprecate_cmd (struct cmd_list_element *, char * );
275
276 extern void
277 deprecated_cmd_warning (char **);
278
279 extern int
280 lookup_cmd_composition (char *text,
281 struct cmd_list_element **alias,
282 struct cmd_list_element **prefix_cmd,
283 struct cmd_list_element **cmd);
284
285 extern struct cmd_list_element *add_com (char *, enum command_class,
286 void (*fun) (char *, int), char *);
287
288 extern struct cmd_list_element *add_com_alias (char *, char *,
289 enum command_class, int);
290
291 extern struct cmd_list_element *add_info (char *, void (*fun) (char *, int),
292 char *);
293
294 extern struct cmd_list_element *add_info_alias (char *, char *, int);
295
296 extern char **complete_on_cmdlist (struct cmd_list_element *, char *, char *);
297
298 extern char **complete_on_enum (const char *enumlist[], char *, char *);
299
300 extern void help_cmd_list (struct cmd_list_element *, enum command_class, 215 extern void help_cmd_list (struct cmd_list_element *, enum command_class,
301 char *, int, struct ui_file *); 216 char *, int, struct ui_file *);
302 217
303 /* Functions that implement commands about CLI commands. */ 218 /* Functions that implement commands about CLI commands. */
304 219
305 extern void help_cmd (char *, struct ui_file *); 220 extern void help_cmd (char *, struct ui_file *);
306 221
307 extern void help_list (struct cmd_list_element *, char *,
308 enum command_class, struct ui_file *);
309
310 extern void apropos_cmd (struct ui_file *, struct cmd_list_element *, 222 extern void apropos_cmd (struct ui_file *, struct cmd_list_element *,
311 struct re_pattern_buffer *, char *); 223 struct re_pattern_buffer *, char *);
312 224
313 /* Used to mark commands that don't do anything. If we just leave the 225 /* Used to mark commands that don't do anything. If we just leave the
314 function field NULL, the command is interpreted as a help topic, or 226 function field NULL, the command is interpreted as a help topic, or
315 as a class of commands. */ 227 as a class of commands. */
316 228
317 extern void not_just_help_class_command (char *arg, int from_tty); 229 extern void not_just_help_class_command (char *arg, int from_tty);
318 230
319 /* Exported to cli/cli-setshow.c */ 231 /* Exported to cli/cli-setshow.c */
320 232
321 extern void print_doc_line (struct ui_file *, char *); 233 extern void print_doc_line (struct ui_file *, char *);
322 234
323 235
324 #endif /* !defined (CLI_DECODE_H) */ 236 #endif /* !defined (CLI_DECODE_H) */
OLDNEW
« no previous file with comments | « gdb/cli/cli-cmds.c ('k') | gdb/cli/cli-decode.c » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698