1999-01-19 Fernando Nasser <fnasser@totem.to.cygnus.com>
[deliverable/binutils-gdb.git] / gdb / remote-hms.c
index 24865056b0fe88a7fbf42d32bb54859e48a5e488..3ca8455d979243c7811800b4f1164d1ea55f425f 100644 (file)
@@ -83,7 +83,9 @@ static char *hms_inits[] =
  NULL};
 
 static struct monitor_ops hms_cmds ;
-static void init_hms_cmds(void)
+
+static void 
+init_hms_cmds(void)
 {
   hms_cmds.flags =   MO_CLR_BREAK_USES_ADDR | MO_FILL_USES_ADDR | MO_GETMEM_NEEDS_RANGE;
   hms_cmds.init =   hms_inits;         /* Init strings */
@@ -157,7 +159,6 @@ Specify the serial device it is connected to (e.g. /dev/ttya).";
   add_target (&hms_ops);
 }
 
-
 #if 0
 /* This is kept here because we used to support the H8/500 in this module,
    and I haven't done the H8/500 yet */
@@ -412,7 +413,7 @@ hms_create_inferior (execfile, args, env)
     error ("Can't pass arguments to remote hms process.");
 
   if (execfile == 0 || exec_bfd == 0)
-    error ("No exec file specified");
+    error ("No executable file specified");
 
   entry_pt = (int) bfd_get_start_address (exec_bfd);
   check_open ();
@@ -1320,33 +1321,75 @@ hms_open (name, from_tty)
 
 /* Define the target subroutine names */
 
-struct target_ops hms_ops =
+struct target_ops hms_ops ;
+
+static void 
+init_hms_ops(void)
 {
-  "hms", "Remote HMS monitor",
-  "Use the H8 evaluation board running the HMS monitor connected\n\
-by a serial line.",
-
-  hms_open, hms_close,
-  0, hms_detach, hms_resume, hms_wait, /* attach */
-  hms_fetch_register, hms_store_register,
-  hms_prepare_to_store,
-  hms_xfer_inferior_memory,
-  hms_files_info,
-  hms_insert_breakpoint, hms_remove_breakpoint,                /* Breakpoints */
-  0, 0, 0, 0, 0,               /* Terminal handling */
-  hms_kill,                    /* FIXME, kill */
-  generic_load,
-  0,                           /* lookup_symbol */
-  hms_create_inferior,         /* create_inferior */
-  hms_mourn,                   /* mourn_inferior FIXME */
-  0,                           /* can_run */
-  0,                           /* notice_signals */
-  0,                           /* to_thread_alive */
-  0,                           /* to_stop */
-  process_stratum, 0,          /* next */
-  1, 1, 1, 1, 1,               /* all mem, mem, stack, regs, exec */
-  0, 0,                                /* Section pointers */
-  OPS_MAGIC,                   /* Always the last thing */
+  hms_ops.to_shortname =   "hms";
+  hms_ops.to_longname =   "Remote HMS monitor";
+  hms_ops.to_doc =   "Use the H8 evaluation board running the HMS monitor connected\n\
+by a serial line.";
+  hms_ops.to_open =   hms_open;
+  hms_ops.to_close =   hms_close;
+  hms_ops.to_attach =   0;
+  hms_ops.to_post_attach = NULL;
+  hms_ops.to_require_attach = NULL;
+  hms_ops.to_detach =   hms_detach;
+  hms_ops.to_require_detach = NULL;
+  hms_ops.to_resume =   hms_resume;
+  hms_ops.to_wait  =   hms_wait;
+  hms_ops.to_post_wait = NULL;
+  hms_ops.to_fetch_registers  =   hms_fetch_register;
+  hms_ops.to_store_registers  =   hms_store_register;
+  hms_ops.to_prepare_to_store =   hms_prepare_to_store;
+  hms_ops.to_xfer_memory  =   hms_xfer_inferior_memory;
+  hms_ops.to_files_info  =   hms_files_info;
+  hms_ops.to_insert_breakpoint =   hms_insert_breakpoint;
+  hms_ops.to_remove_breakpoint =   hms_remove_breakpoint;
+  hms_ops.to_terminal_init  =   0;
+  hms_ops.to_terminal_inferior =   0;
+  hms_ops.to_terminal_ours_for_output =   0;
+  hms_ops.to_terminal_ours  =   0;
+  hms_ops.to_terminal_info  =   0;
+  hms_ops.to_kill  =   hms_kill;       
+  hms_ops.to_load  =   generic_load;
+  hms_ops.to_lookup_symbol =   0;
+  hms_ops.to_create_inferior =   hms_create_inferior;
+  hms_ops.to_post_startup_inferior = NULL;
+  hms_ops.to_acknowledge_created_inferior = NULL;
+  hms_ops.to_clone_and_follow_inferior = NULL;
+  hms_ops.to_post_follow_inferior_by_clone = NULL;
+  hms_ops.to_insert_fork_catchpoint = NULL;
+  hms_ops.to_remove_fork_catchpoint = NULL;
+  hms_ops.to_insert_vfork_catchpoint = NULL;
+  hms_ops.to_remove_vfork_catchpoint = NULL;
+  hms_ops.to_has_forked = NULL;
+  hms_ops.to_has_vforked = NULL;
+  hms_ops.to_can_follow_vfork_prior_to_exec = NULL;
+  hms_ops.to_post_follow_vfork = NULL;
+  hms_ops.to_insert_exec_catchpoint = NULL;
+  hms_ops.to_remove_exec_catchpoint = NULL;
+  hms_ops.to_has_execd = NULL;
+  hms_ops.to_reported_exec_events_per_exec_call = NULL;
+  hms_ops.to_has_exited = NULL;
+  hms_ops.to_mourn_inferior =   hms_mourn;
+  hms_ops.to_can_run  =   0;
+  hms_ops.to_notice_signals =   0;
+  hms_ops.to_thread_alive  =   0;
+  hms_ops.to_stop  =   0;
+  hms_ops.to_pid_to_exec_file = NULL;
+  hms_ops.to_core_file_to_sym_file = NULL;                     
+  hms_ops.to_stratum =   process_stratum;
+  hms_ops.DONT_USE =   0;      
+  hms_ops.to_has_all_memory =   1;
+  hms_ops.to_has_memory =   1;
+  hms_ops.to_has_stack =   1;
+  hms_ops.to_has_registers =   1;
+  hms_ops.to_has_execution =   1;
+  hms_ops.to_sections =   0;
+  hms_ops.to_sections_end =   0;                       
+  hms_ops.to_magic =   OPS_MAGIC;              
 };
 
 hms_quiet ()                   /* FIXME - this routine can be removed after Dec '94 */
@@ -1435,6 +1478,7 @@ remove_commands ()
 void
 _initialize_remote_hms ()
 {
+  init_hms_ops() ;
   add_target (&hms_ops);
 
   add_com ("hms <command>", class_obscure, hms_com,
This page took 0.024631 seconds and 4 git commands to generate.