On 05.07.2013 00:15:29, Samuel Thibault wrote:
> etc.  Ideally all these would go into common .h files.

I made a first version of this patch. I also found an unused function, 
which is a plus in my cleanup project.

Here's the patch:
* ddb/db_write_cmd.h: New file.
(db_write_cmd): Add prototype.
Include <mach/boolean.h>.
Include <machine/db_machdep.h>.
* ddb/db_break.h (db_listbreak_cmd): Add prototype.
(db_delete_cmd): Likewise.
(db_breakpoint_cmd): Likewise.
* ddb/db_watch.h (db_listwatch_cmd): Likewise.
(db_deletewatch_cmd): Likewise.
(db_watchpoint_cmd): Likewise.
* ddb/db_print.h (db_show_one_thread): Likewise.
(db_show_all_threads): Likewise.
* ddb/db_examine.h (db_print_cmd): Likewise.
(db_examine_forward): Likewise.
(db_examine_backward): Likewise.
(db_search_cmd): Likewise.
* ddb/db_variables.h (db_set_cmd): Likewise.
* ddb/db_run.h (db_trace_until_call_cmd): Likewise.
(db_trace_until_matching_cmd): Likewise.
(db_continue_cmd): Likewise.
* ddb/db_command.h (db_fncall): Likewise.
* ddb/db_command.c: Include <ddb/db_break.h>.
Include <ddb/db_watch.h>.
Include <ddb/db_variables.h>.
Include <ddb/db_write_cmd.h>.
Include <ddb/db_run.h>.
Include <ddb/db_cond.h>.
(db_listbreak_cmd): Remove prototype.
(db_listwatch_cmd): Likewise.
(db_show_one_thread): Likewise.
(db_show_all_threads): Likewise.
(db_show_macro): Likewise.
(db_show_help): Likewise.
(db_print_cmd): Likewise.
(db_examine_cmd): Likewise.
(db_set_cmd): Likewise.
(db_examine_forward): Likewise.
(db_examine_backward): Likewise.
(db_search_cmd): Likewise.
(db_write_cmd): Likewise.
(db_delete_cmd): Likewise.
(db_breakpoint_cmd): Likewise.
(db_deletewatch_cmd): Likewise.
(db_watchpoint_cmd): Likewise.
(db_single_step_cmd): Likewise.
(db_trace_until_call_cmd): Likewise.
(db_trace_until_matching_cmd): Likewise.
(db_continue_cmd): Likewise.
(db_cond_cmd): Likewise.
(db_help_cmd): Likewise.
(db_def_macro_cmd): Likewise.
(db_del_macro_cmd): Likewise.
(db_fncall): Likewise.
(db_help_cmd): Remove unused function.
From fe4dba010bbe25e4d148f1cc3d488c17dca5eaac Mon Sep 17 00:00:00 2001
From: Marin Ramesa <marin.ram...@gmail.com>
Date: Sat, 6 Jul 2013 14:11:29 +0200
Subject: [PATCH] ddb: cleanup db_command.c

---
 ddb/db_break.h     | 10 ++++++++++
 ddb/db_command.c   | 37 +++++++------------------------------
 ddb/db_command.h   |  2 ++
 ddb/db_examine.h   | 16 ++++++++++++++++
 ddb/db_print.h     | 12 ++++++++++++
 ddb/db_run.h       | 18 ++++++++++++++++++
 ddb/db_variables.h |  2 ++
 ddb/db_watch.h     | 14 ++++++++++++++
 ddb/db_write_cmd.h | 16 ++++++++++++++++
 9 files changed, 97 insertions(+), 30 deletions(-)
 create mode 100644 ddb/db_write_cmd.h

diff --git a/ddb/db_break.h b/ddb/db_break.h
index 20d74d2..89e7889 100644
--- a/ddb/db_break.h
+++ b/ddb/db_break.h
@@ -88,4 +88,14 @@ extern db_breakpoint_t  db_set_breakpoint(task_t task, db_addr_t addr,
 					  int count, thread_t thread, 
 					  boolean_t task_bpt);
 
+void db_listbreak_cmd();
+
+void db_delete_cmd();
+
+void db_breakpoint_cmd(
+	db_expr_t	addr,
+	int		have_addr,
+	db_expr_t	count,
+	char *		modif);
+
 #endif	/* _DDB_DB_BREAK_H_ */
diff --git a/ddb/db_command.c b/ddb/db_command.c
index bcc507d..c032172 100644
--- a/ddb/db_command.c
+++ b/ddb/db_command.c
@@ -46,6 +46,12 @@
 #include <ddb/db_expr.h>
 #include <ddb/db_examine.h>
 #include <ddb/db_print.h>
+#include <ddb/db_break.h>
+#include <ddb/db_watch.h>
+#include <ddb/db_variables.h>
+#include <ddb/db_write_cmd.h>
+#include <ddb/db_run.h>
+#include <ddb/db_cond.h>
 
 #include <machine/setjmp.h>
 #include <kern/debug.h>
@@ -300,16 +306,10 @@ db_command_list(last_cmdp, cmd_table)
 /*
  * 'show' commands
  */
-extern void	db_listbreak_cmd();
-extern void	db_listwatch_cmd();
-extern void	db_show_one_thread();
-extern void	db_show_all_threads();
-extern void	db_show_macro();
 extern void	vm_map_print(), vm_object_print(), vm_page_print();
 extern void	vm_map_copy_print();
 extern void	ipc_port_print(), ipc_pset_print(), db_show_all_slocks();
 extern void	ipc_kmsg_print(), ipc_msg_print();
-void		db_show_help();
 
 struct db_command db_show_all_cmds[] = {
 	{ "threads",	db_show_all_threads,	0,	0 },
@@ -337,18 +337,7 @@ struct db_command db_show_cmds[] = {
 	{ (char *)0, }
 };
 
-extern void	db_print_cmd(), db_examine_cmd(), db_set_cmd();
-extern void	db_examine_forward(), db_examine_backward();
-extern void	db_search_cmd();
-extern void	db_write_cmd();
-extern void	db_delete_cmd(), db_breakpoint_cmd();
-extern void	db_deletewatch_cmd(), db_watchpoint_cmd();
-extern void	db_single_step_cmd(), db_trace_until_call_cmd(),
-		db_trace_until_matching_cmd(), db_continue_cmd();
-extern void	db_stack_trace_cmd(), db_cond_cmd();
-void		db_help_cmd();
-void		db_def_macro_cmd(), db_del_macro_cmd();
-void		db_fncall();
+extern void	db_stack_trace_cmd();
 extern void	db_reset_cpu();
 
 struct db_command db_command_table[] = {
@@ -404,18 +393,6 @@ struct db_command *ptr;
 
 struct db_command	*db_last_command = 0;
 
-void
-db_help_cmd()
-{
-	struct db_command *cmd = db_command_table;
-
-	while (cmd->name != 0) {
-	    db_printf("%-12s", cmd->name);
-	    db_end_line();
-	    cmd++;
-	}
-}
-
 int	(*ddb_display)();
 
 void
diff --git a/ddb/db_command.h b/ddb/db_command.h
index 1c0d106..3ed1fb9 100644
--- a/ddb/db_command.h
+++ b/ddb/db_command.h
@@ -68,4 +68,6 @@ struct db_command {
 
 extern boolean_t db_exec_cmd_nest(char *cmd, int size);
 
+void db_fncall();
+
 #endif /* MACH_KDB */
diff --git a/ddb/db_examine.h b/ddb/db_examine.h
index 197f397..e1fb1ee 100644
--- a/ddb/db_examine.h
+++ b/ddb/db_examine.h
@@ -39,6 +39,18 @@ extern void db_examine (
 	int count,
 	task_t task);
 
+void db_examine_forward(
+	db_expr_t	addr,
+	int		have_addr,
+	db_expr_t	count,
+	char *		modif);
+
+void db_examine_backward(
+	db_expr_t	addr,
+	int		have_addr,
+	db_expr_t	count,
+	char *		modif);
+
 extern void db_print_loc_and_inst (
 	db_addr_t loc,
 	task_t task);
@@ -49,4 +61,8 @@ int db_xcdump(
 	int	count,
 	task_t task);
 
+void db_print_cmd();
+
+void db_search_cmd();
+
 #endif /* _DDB_DB_EXAMINE_H_ */
diff --git a/ddb/db_print.h b/ddb/db_print.h
index 5f7a146..898014e 100644
--- a/ddb/db_print.h
+++ b/ddb/db_print.h
@@ -32,6 +32,18 @@ void db_show_port_id(
 	db_expr_t	count,
 	char *		modif);
 
+void db_show_one_thread(
+	db_expr_t	addr,
+	int		have_addr,
+	db_expr_t	count,
+	char *		modif);
+
+void db_show_all_threads(
+	db_expr_t	addr,
+	int		have_addr,
+	db_expr_t	count,
+	char *		modif);
+
 db_addr_t db_task_from_space(
 	ipc_space_t	space,
 	int		*task_id);
diff --git a/ddb/db_run.h b/ddb/db_run.h
index 31c0e37..e138f60 100644
--- a/ddb/db_run.h
+++ b/ddb/db_run.h
@@ -47,4 +47,22 @@ extern void db_single_step_cmd(
 	db_expr_t	count,
 	char		*modif);
 
+void db_trace_until_call_cmd(
+	db_expr_t	addr,
+	int		have_addr,
+	db_expr_t	count,
+	char *		modif);
+
+void db_trace_until_matching_cmd(
+	db_expr_t	addr,
+	int		have_addr,
+	db_expr_t	count,
+	char *		modif);
+
+void db_continue_cmd(
+	db_expr_t	addr,
+	int		have_addr,
+	db_expr_t	count,
+	char *		modif);
+
 extern boolean_t db_in_single_step(void);
diff --git a/ddb/db_variables.h b/ddb/db_variables.h
index 5249d18..af7068f 100644
--- a/ddb/db_variables.h
+++ b/ddb/db_variables.h
@@ -80,4 +80,6 @@ extern struct db_variable	*db_eregs;
 
 extern int db_get_variable(db_expr_t *valuep);
 
+void db_set_cmd();
+
 #endif	/* _DB_VARIABLES_H_ */
diff --git a/ddb/db_watch.h b/ddb/db_watch.h
index a7acb39..fb95ae5 100644
--- a/ddb/db_watch.h
+++ b/ddb/db_watch.h
@@ -57,6 +57,20 @@ extern void db_set_watchpoint(task_t task, db_addr_t addr, vm_size_t size);
 extern void db_delete_watchpoint(task_t task, db_addr_t addr);
 extern void db_list_watchpoints(void);
 
+void db_listwatch_cmd();
+
+void db_deletewatch_cmd(
+	db_expr_t	addr,
+	int		have_addr,
+	db_expr_t	count,
+	char *		modif);
+
+void db_watchpoint_cmd(
+	db_expr_t	addr,
+	int		have_addr,
+	db_expr_t	count,
+	char *		modif);
+
 #endif	/* _DDB_DB_WATCH_ */
 
 #endif /* MACH_KDB */
diff --git a/ddb/db_write_cmd.h b/ddb/db_write_cmd.h
new file mode 100644
index 0000000..74bac54
--- /dev/null
+++ b/ddb/db_write_cmd.h
@@ -0,0 +1,16 @@
+#ifndef	_DDB_DB_WRITE_CMD_H_
+#define	_DDB_DB_WRITE_CMD_H_
+
+#include <mach/boolean.h>
+#include <machine/db_machdep.h>
+
+/* Prototypes for functions exported by this module.
+ */
+
+void db_write_cmd(
+	db_expr_t	address,
+	boolean_t	have_addr,
+	db_expr_t	count,
+	char *		modif);
+
+#endif	/* !_DDB_DB_WRITE_CMD_H_ */
-- 
1.8.1.4

Reply via email to