summaryrefslogtreecommitdiffstats
path: root/cpukit/libmisc/monitor/monitor.h
diff options
context:
space:
mode:
Diffstat (limited to 'cpukit/libmisc/monitor/monitor.h')
-rw-r--r--cpukit/libmisc/monitor/monitor.h33
1 files changed, 20 insertions, 13 deletions
diff --git a/cpukit/libmisc/monitor/monitor.h b/cpukit/libmisc/monitor/monitor.h
index 219ad7ecd2..4edc799ddf 100644
--- a/cpukit/libmisc/monitor/monitor.h
+++ b/cpukit/libmisc/monitor/monitor.h
@@ -284,18 +284,21 @@ extern unsigned32 rtems_monitor_default_node; /* current default for commands *
*/
typedef struct rtems_monitor_command_entry_s rtems_monitor_command_entry_t;
-
-/* FIXME: This should not be here */
-extern rtems_monitor_command_entry_t rtems_monitor_commands[];
+typedef union _rtems_monitor_command_arg_t rtems_monitor_command_arg_t;
typedef void ( *rtems_monitor_command_function_t )(
int argc,
char **argv,
- unsigned32 command_arg,
+ rtems_monitor_command_arg_t *command_arg,
boolean verbose
);
-typedef unsigned32 rtems_monitor_command_arg_t;
+union _rtems_monitor_command_arg_t {
+ rtems_monitor_object_type_t monitor_object ;
+ rtems_status_code status_code ;
+ rtems_symbol_table_t **symbol_table ;
+ rtems_monitor_command_entry_t *monitor_command_entry ;
+};
struct rtems_monitor_command_entry_s {
char *command; /* command name */
@@ -307,6 +310,7 @@ struct rtems_monitor_command_entry_s {
rtems_monitor_command_entry_t *next;
};
+
typedef void *(*rtems_monitor_object_next_fn)(void *, void *, rtems_id *);
typedef void (*rtems_monitor_object_canonical_fn)(void *, void *);
typedef void (*rtems_monitor_object_dump_header_fn)(boolean);
@@ -327,11 +331,11 @@ typedef struct {
void rtems_monitor_kill(void);
void rtems_monitor_init(unsigned32);
void rtems_monitor_wakeup(void);
-void rtems_monitor_pause_cmd(int, char **, unsigned32, boolean);
-void rtems_monitor_fatal_cmd(int, char **, unsigned32, boolean);
-void rtems_monitor_continue_cmd(int, char **, unsigned32, boolean);
-void rtems_monitor_debugger_cmd(int, char **, unsigned32, boolean);
-void rtems_monitor_node_cmd(int, char **, unsigned32, boolean);
+void rtems_monitor_pause_cmd(int, char **, rtems_monitor_command_arg_t*, boolean);
+void rtems_monitor_fatal_cmd(int, char **, rtems_monitor_command_arg_t*, boolean);
+void rtems_monitor_continue_cmd(int, char **, rtems_monitor_command_arg_t*, boolean);
+void rtems_monitor_debugger_cmd(int, char **, rtems_monitor_command_arg_t*, boolean);
+void rtems_monitor_node_cmd(int, char **, rtems_monitor_command_arg_t*, boolean);
void rtems_monitor_symbols_loadup(void);
int rtems_monitor_insert_cmd(rtems_monitor_command_entry_t *);
int rtems_monitor_erase_cmd(rtems_monitor_command_entry_t *);
@@ -350,7 +354,7 @@ int rtems_monitor_command_read(char *, int *, char **);
rtems_monitor_command_entry_t *rtems_monitor_command_lookup(
rtems_monitor_command_entry_t * table, int argc, char **argv);
void rtems_monitor_command_usage(rtems_monitor_command_entry_t *, char *);
-void rtems_monitor_help_cmd(int, char **, unsigned32, boolean);
+void rtems_monitor_help_cmd(int, char **, rtems_monitor_command_arg_t *, boolean);
/* prmisc.c */
void rtems_monitor_separator(void);
@@ -373,7 +377,7 @@ rtems_id rtems_monitor_object_canonical_get(rtems_monitor_object_type_t, rtems
rtems_id rtems_monitor_object_canonical_next(rtems_monitor_object_info_t *, rtems_id, void *);
void *rtems_monitor_object_next(void *, void *, rtems_id, rtems_id *);
rtems_id rtems_monitor_object_canonical(rtems_id, void *);
-void rtems_monitor_object_cmd(int, char **, unsigned32, boolean);
+void rtems_monitor_object_cmd(int, char **, rtems_monitor_command_arg_t*, boolean);
/* manager.c */
void *rtems_monitor_manager_next(void *, void *, rtems_id *);
@@ -438,11 +442,14 @@ void rtems_monitor_symbol_canonical(rtems_monitor_symbol_t *, rtems_symbol_t
void rtems_monitor_symbol_canonical_by_name(rtems_monitor_symbol_t *, char *);
void rtems_monitor_symbol_canonical_by_value(rtems_monitor_symbol_t *, void *);
unsigned32 rtems_monitor_symbol_dump(rtems_monitor_symbol_t *, boolean);
-void rtems_monitor_symbol_cmd(int, char **, unsigned32, boolean);
+void rtems_monitor_symbol_cmd(int, char **, rtems_monitor_command_arg_t*, boolean);
extern rtems_symbol_table_t *rtems_monitor_symbols;
+/* FIXME: This should not be here */
+extern rtems_monitor_command_entry_t rtems_monitor_commands[];
+
#define MONITOR_WAKEUP_EVENT RTEMS_EVENT_0
#ifdef __cplusplus