2002-08-20 Michael Snyder <msnyder@redhat.com>
[deliverable/binutils-gdb.git] / gdb / command.h
index e8694828a0708026c57700da6ebea6b2e8c744d1..96c99abcaba1640cb1abb49d9a585baebe507467 100644 (file)
@@ -124,12 +124,14 @@ extern struct cmd_list_element *add_abbrev_prefix_cmd (char *,
 
 /* Set the commands corresponding callback.  */
 
+typedef void cmd_cfunc_ftype (char *args, int from_tty);
 extern void set_cmd_cfunc (struct cmd_list_element *cmd,
-                          void (*cfunc) (char *args, int from_tty));
+                          cmd_cfunc_ftype *cfunc);
 
+typedef void cmd_sfunc_ftype (char *args, int from_tty,
+                             struct cmd_list_element *c);
 extern void set_cmd_sfunc (struct cmd_list_element *cmd,
-                          void (*sfunc) (char *args, int from_tty,
-                                         struct cmd_list_element * c));
+                          cmd_sfunc_ftype *sfunc);
 
 extern void set_cmd_completer (struct cmd_list_element *cmd,
                               char **(*completer) (char *text, char *word));
@@ -208,6 +210,26 @@ extern void help_list (struct cmd_list_element *, char *,
 extern void help_cmd_list (struct cmd_list_element *, enum command_class,
                           char *, int, struct ui_file *);
 
+extern void add_setshow_cmd (char *name,
+                            enum command_class class,
+                            var_types var_type, void *var,
+                            char *set_doc, char *show_doc,
+                            cmd_sfunc_ftype *set_func,
+                            cmd_sfunc_ftype *show_func,
+                            struct cmd_list_element **set_list,
+                            struct cmd_list_element **show_list);
+
+extern void add_setshow_cmd_full (char *name,
+                                 enum command_class class,
+                                 var_types var_type, void *var,
+                                 char *set_doc, char *show_doc,
+                                 cmd_sfunc_ftype *set_func,
+                                 cmd_sfunc_ftype *show_func,
+                                 struct cmd_list_element **set_list,
+                                 struct cmd_list_element **show_list,
+                                 struct cmd_list_element **set_result,
+                                 struct cmd_list_element **show_result);
+
 extern struct cmd_list_element *add_set_cmd (char *name, enum
                                             command_class class,
                                             var_types var_type, void *var,
@@ -221,17 +243,24 @@ extern struct cmd_list_element *add_set_enum_cmd (char *name,
                                                  char *doc,
                                                  struct cmd_list_element **list);
 
-extern struct cmd_list_element *add_set_auto_boolean_cmd (char *name,
-                                                         enum command_class class,
-                                                         enum auto_boolean *var,
-                                                         char *doc,
-                                                         struct cmd_list_element **list);
-
-extern struct cmd_list_element *add_set_boolean_cmd (char *name,
-                                                    enum command_class class,
-                                                    int *var,
-                                                    char *doc,
-                                                    struct cmd_list_element **list);
+extern void add_setshow_auto_boolean_cmd (char *name,
+                                         enum command_class class,
+                                         enum auto_boolean *var,
+                                         char *set_doc, char *show_doc,
+                                         cmd_sfunc_ftype *set_func,
+                                         cmd_sfunc_ftype *show_func,
+                                         struct cmd_list_element **set_list,
+                                         struct cmd_list_element **show_list);
+
+extern void add_setshow_boolean_cmd (char *name,
+                                    enum command_class class,
+                                    int *var,
+                                    char *set_doc,
+                                    char *show_doc,
+                                    cmd_sfunc_ftype *set_func,
+                                    cmd_sfunc_ftype *show_func,
+                                    struct cmd_list_element **set_list,
+                                    struct cmd_list_element **show_list);
 
 extern struct cmd_list_element *add_show_from_set (struct cmd_list_element *,
                                                   struct cmd_list_element
@@ -251,4 +280,10 @@ extern void dont_repeat (void);
 
 extern void not_just_help_class_command (char *, int);
 
+/* check function pointer */
+extern int cmd_func_p (struct cmd_list_element *cmd);
+
+/* call the command function */
+extern void cmd_func (struct cmd_list_element *cmd, char *args, int from_tty);
+
 #endif /* !defined (COMMAND_H) */
This page took 0.024926 seconds and 4 git commands to generate.