diff --git a/gdb/breakpoint.c b/gdb/breakpoint.c
index b04f3b7..4329fb1 100644
--- a/gdb/breakpoint.c
+++ b/gdb/breakpoint.c
@@ -16061,8 +16061,7 @@ static struct cmd_list_element *tcatch_cmdlist;
 
 void
 add_catch_command (char *name, char *docstring,
-		   void (*sfunc) (char *args, int from_tty,
-				  struct cmd_list_element *command),
+		   cmd_sfunc_ftype *sfunc,
 		   completer_ftype *completer,
 		   void *user_data_catch,
 		   void *user_data_tcatch)
diff --git a/gdb/breakpoint.h b/gdb/breakpoint.h
index d8e88fc..0d19ac4 100644
--- a/gdb/breakpoint.h
+++ b/gdb/breakpoint.h
@@ -1221,8 +1221,7 @@ extern void initialize_breakpoint_ops (void);
 
 extern void
   add_catch_command (char *name, char *docstring,
-		     void (*sfunc) (char *args, int from_tty,
-				    struct cmd_list_element *command),
+		     cmd_sfunc_ftype *sfunc,
 		     completer_ftype *completer,
 		     void *user_data_catch,
 		     void *user_data_tcatch);
diff --git a/gdb/cli/cli-decode.c b/gdb/cli/cli-decode.c
index d36ab4e..f09b777 100644
--- a/gdb/cli/cli-decode.c
+++ b/gdb/cli/cli-decode.c
@@ -134,8 +134,7 @@ set_cmd_sfunc (struct cmd_list_element *cmd, cmd_sfunc_ftype *sfunc)
 }
 
 int
-cmd_cfunc_eq (struct cmd_list_element *cmd,
-	      void (*cfunc) (char *args, int from_tty))
+cmd_cfunc_eq (struct cmd_list_element *cmd, cmd_cfunc_ftype *cfunc)
 {
   return cmd->func == do_cfunc && cmd->function.cfunc == cfunc;
 }
@@ -183,7 +182,7 @@ set_cmd_completer (struct cmd_list_element *cmd, completer_ftype *completer)
    of *LIST).  */
 
 struct cmd_list_element *
-add_cmd (const char *name, enum command_class class, void (*fun) (char *, int),
+add_cmd (const char *name, enum command_class class, cmd_cfunc_ftype *fun,
 	 char *doc, struct cmd_list_element **list)
 {
   struct cmd_list_element *c
@@ -329,7 +328,7 @@ add_alias_cmd (const char *name, const char *oldname, enum command_class class,
 
 struct cmd_list_element *
 add_prefix_cmd (const char *name, enum command_class class,
-		void (*fun) (char *, int),
+		cmd_cfunc_ftype *fun,
 		char *doc, struct cmd_list_element **prefixlist,
 		char *prefixname, int allow_unknown,
 		struct cmd_list_element **list)
@@ -357,7 +356,7 @@ add_prefix_cmd (const char *name, enum command_class class,
 
 struct cmd_list_element *
 add_abbrev_prefix_cmd (const char *name, enum command_class class,
-		       void (*fun) (char *, int), char *doc,
+		       cmd_cfunc_ftype *fun, char *doc,
 		       struct cmd_list_element **prefixlist, char *prefixname,
 		       int allow_unknown, struct cmd_list_element **list)
 {
@@ -846,7 +845,7 @@ delete_cmd (const char *name, struct cmd_list_element **list,
 /* Add an element to the list of info subcommands.  */
 
 struct cmd_list_element *
-add_info (const char *name, void (*fun) (char *, int), char *doc)
+add_info (const char *name, cmd_cfunc_ftype *fun, char *doc)
 {
   return add_cmd (name, no_class, fun, doc, &infolist);
 }
@@ -862,7 +861,7 @@ add_info_alias (const char *name, char *oldname, int abbrev_flag)
 /* Add an element to the list of commands.  */
 
 struct cmd_list_element *
-add_com (const char *name, enum command_class class, void (*fun) (char *, int),
+add_com (const char *name, enum command_class class, cmd_cfunc_ftype *fun,
 	 char *doc)
 {
   return add_cmd (name, class, fun, doc, &cmdlist);
diff --git a/gdb/command.h b/gdb/command.h
index a5040a4..0ea1c3f 100644
--- a/gdb/command.h
+++ b/gdb/command.h
@@ -113,6 +113,8 @@ var_types;
 /* This structure records one command'd definition.  */
 struct cmd_list_element;
 
+typedef void cmd_cfunc_ftype (char *args, int from_tty);
+
 /* Forward-declarations of the entry-points of cli/cli-decode.c.  */
 
 /* API to the manipulation of command lists.  */
@@ -120,7 +122,8 @@ struct cmd_list_element;
 extern int valid_user_defined_cmd_name_p (const char *name);
 
 extern struct cmd_list_element *add_cmd (const char *, enum command_class,
-					 void (*fun) (char *, int), char *,
+					 cmd_cfunc_ftype *fun,
+					 char *,
 					 struct cmd_list_element **);
 
 extern struct cmd_list_element *add_alias_cmd (const char *, const char *,
@@ -128,7 +131,7 @@ extern struct cmd_list_element *add_alias_cmd (const char *, const char *,
 					       struct cmd_list_element **);
 
 extern struct cmd_list_element *add_prefix_cmd (const char *, enum command_class,
-						void (*fun) (char *, int),
+						cmd_cfunc_ftype *fun,
 						char *,
 						struct cmd_list_element **,
 						char *, int,
@@ -136,8 +139,7 @@ extern struct cmd_list_element *add_prefix_cmd (const char *, enum command_class
 
 extern struct cmd_list_element *add_abbrev_prefix_cmd (const char *,
 						       enum command_class,
-						       void (*fun) (char *,
-								    int),
+						       cmd_cfunc_ftype *fun,
 						       char *,
 						       struct cmd_list_element
 						       **, char *, int,
@@ -146,7 +148,6 @@ extern struct cmd_list_element *add_abbrev_prefix_cmd (const 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,
 			   cmd_cfunc_ftype *cfunc);
 
@@ -163,7 +164,7 @@ extern void set_cmd_completer (struct cmd_list_element *, completer_ftype *);
 /* 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,
-			 void (*cfunc) (char *args, int from_tty));
+			 cmd_cfunc_ftype *cfun);
 
 /* Each command object has a local context attached to it.  */
 extern void set_cmd_context (struct cmd_list_element *cmd,
@@ -203,14 +204,14 @@ extern int lookup_cmd_composition (const char *text,
 				   struct cmd_list_element **cmd);
 
 extern struct cmd_list_element *add_com (const char *, enum command_class,
-					 void (*fun) (char *, int),
+					 cmd_cfunc_ftype *fun,
 					 char *);
 
 extern struct cmd_list_element *add_com_alias (const char *, const char *,
 					       enum command_class, int);
 
 extern struct cmd_list_element *add_info (const char *,
-					  void (*fun) (char *, int),
+					  cmd_cfunc_ftype *fun,
 					  char *);
 
 extern struct cmd_list_element *add_info_alias (const char *, char *, int);
