/* Header file for command creation.
- Copyright (C) 1986-2017 Free Software Foundation, Inc.
+ Copyright (C) 1986-2018 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
/* This structure records one command'd definition. */
struct cmd_list_element;
-typedef void cmd_cfunc_ftype (char *args, int from_tty);
typedef void cmd_const_cfunc_ftype (const char *args, int from_tty);
/* This structure specifies notifications to be suppressed by a cli
extern int valid_user_defined_cmd_name_p (const char *name);
-extern struct cmd_list_element *add_cmd (const char *, enum command_class,
- cmd_cfunc_ftype *fun,
- const char *,
- struct cmd_list_element **);
-
/* Const-correct variant of the above. */
extern struct cmd_list_element *add_cmd (const char *, enum command_class,
struct cmd_list_element
**);
-/* Set the commands corresponding callback. */
-
-extern void set_cmd_cfunc (struct cmd_list_element *cmd,
- cmd_cfunc_ftype *cfunc);
-
-/* Const-correct variant of the above. */
-
-extern void set_cmd_cfunc (struct cmd_list_element *cmd,
- cmd_const_cfunc_ftype *cfunc);
-
-typedef void cmd_sfunc_ftype (char *args, int from_tty,
- struct cmd_list_element *c);
+typedef void cmd_const_sfunc_ftype (const char *args, int from_tty,
+ struct cmd_list_element *c);
extern void set_cmd_sfunc (struct cmd_list_element *cmd,
- cmd_sfunc_ftype *sfunc);
+ cmd_const_sfunc_ftype *sfunc);
/* A completion routine. Add possible completions to tracker.
/* HACK: cagney/2002-02-23: Code, mostly in tracepoints.c, grubs
around in cmd objects to test the value of the commands sfunc(). */
-extern int cmd_cfunc_eq (struct cmd_list_element *cmd,
- cmd_cfunc_ftype *cfun);
extern int cmd_cfunc_eq (struct cmd_list_element *cmd,
cmd_const_cfunc_ftype *cfun);
struct cmd_list_element **cmd);
extern struct cmd_list_element *add_com (const char *, enum command_class,
- cmd_cfunc_ftype *fun,
+ cmd_const_cfunc_ftype *fun,
const char *);
extern struct cmd_list_element *add_com_alias (const char *, const char *,
int *supress_notification);
extern struct cmd_list_element *add_info (const char *,
- cmd_cfunc_ftype *fun,
+ cmd_const_cfunc_ftype *fun,
const char *);
extern struct cmd_list_element *add_info_alias (const char *, const char *,
const char *set_doc,
const char *show_doc,
const char *help_doc,
- cmd_sfunc_ftype *set_func,
+ cmd_const_sfunc_ftype *set_func,
show_value_ftype *show_func,
struct cmd_list_element **set_list,
struct cmd_list_element **show_list);
const char *set_doc,
const char *show_doc,
const char *help_doc,
- cmd_sfunc_ftype *set_func,
+ cmd_const_sfunc_ftype *set_func,
show_value_ftype *show_func,
struct cmd_list_element **set_list,
struct cmd_list_element **show_list);
int *var,
const char *set_doc, const char *show_doc,
const char *help_doc,
- cmd_sfunc_ftype *set_func,
+ cmd_const_sfunc_ftype *set_func,
show_value_ftype *show_func,
struct cmd_list_element **set_list,
struct cmd_list_element **show_list);
const char *set_doc,
const char *show_doc,
const char *help_doc,
- cmd_sfunc_ftype *set_func,
+ cmd_const_sfunc_ftype *set_func,
show_value_ftype *show_func,
struct cmd_list_element **set_list,
struct cmd_list_element **show_list);
const char *set_doc,
const char *show_doc,
const char *help_doc,
- cmd_sfunc_ftype *set_func,
+ cmd_const_sfunc_ftype *set_func,
show_value_ftype *show_func,
struct cmd_list_element **set_list,
struct cmd_list_element **show_list);
const char *set_doc,
const char *show_doc,
const char *help_doc,
- cmd_sfunc_ftype *set_func,
+ cmd_const_sfunc_ftype *set_func,
show_value_ftype *show_func,
struct cmd_list_element **set_list,
struct cmd_list_element **show_list);
const char *set_doc,
const char *show_doc,
const char *help_doc,
- cmd_sfunc_ftype *set_func,
+ cmd_const_sfunc_ftype *set_func,
show_value_ftype *show_func,
struct cmd_list_element **set_list,
struct cmd_list_element **show_list);
const char *set_doc,
const char *show_doc,
const char *help_doc,
- cmd_sfunc_ftype *set_func,
+ cmd_const_sfunc_ftype *set_func,
show_value_ftype *show_func,
struct cmd_list_element **set_list,
struct cmd_list_element **show_list);
const char *set_doc,
const char *show_doc,
const char *help_doc,
- cmd_sfunc_ftype *set_func,
+ cmd_const_sfunc_ftype *set_func,
show_value_ftype *show_func,
struct cmd_list_element **set_list,
struct cmd_list_element **show_list);
const char *set_doc,
const char *show_doc,
const char *help_doc,
- cmd_sfunc_ftype *set_func,
+ cmd_const_sfunc_ftype *set_func,
show_value_ftype *show_func,
struct cmd_list_element **set_list,
struct cmd_list_element **show_list);
const char *set_doc,
const char *show_doc,
const char *help_doc,
- cmd_sfunc_ftype *set_func,
+ cmd_const_sfunc_ftype *set_func,
show_value_ftype *show_func,
struct cmd_list_element **set_list,
struct cmd_list_element **show_list);
const char *set_doc,
const char *show_doc,
const char *help_doc,
- cmd_sfunc_ftype *set_func,
+ cmd_const_sfunc_ftype *set_func,
show_value_ftype *show_func,
struct cmd_list_element **set_list,
struct cmd_list_element **show_list);
extern scoped_restore_tmpl<int> prevent_dont_repeat (void);
+/* Set the arguments that will be passed if the current command is
+ repeated. Note that the passed-in string must be a constant. */
+
+extern void set_repeat_arguments (const char *args);
+
/* Used to mark commands that don't do anything. If we just leave the
function field NULL, the command is interpreted as a help topic, or
as a class of commands. */
/* Call the command function. */
extern void cmd_func (struct cmd_list_element *cmd,
- char *args, int from_tty);
+ const char *args, int from_tty);
#endif /* !defined (COMMAND_H) */