* remote-sds.c (sds_ops): Define only once.
authorStan Shebs <shebs@codesourcery.com>
Thu, 21 Jan 1999 03:08:02 +0000 (03:08 +0000)
committerStan Shebs <shebs@codesourcery.com>
Thu, 21 Jan 1999 03:08:02 +0000 (03:08 +0000)
(init_sds_ops, sds_command, _initialize_remote_sds): Declare.
(init_sds_ops): Init only non-zero fields.

gdb/remote-sds.c

index 33e2bb522a297a318fcc534abaec79aedd21679d..3ab5f44bbef67707ce0a538fb582c0d83c650eef 100644 (file)
@@ -45,6 +45,8 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
 #include <signal.h>
 #include "serial.h"
 
+extern void _initialize_remote_sds PARAMS ((void));
+
 /* Declarations of local functions. */
 
 static int sds_write_bytes PARAMS ((CORE_ADDR, char *, int));
@@ -106,16 +108,19 @@ static int sds_insert_breakpoint PARAMS ((CORE_ADDR, char *));
 
 static int sds_remove_breakpoint PARAMS ((CORE_ADDR, char *));
 
+static void init_sds_ops PARAMS ((void));
+
+static void sds_command PARAMS ((char *args, int from_tty));
+
+/* Define the target operations vector. */
 
-static struct target_ops sds_ops;      /* Forward decl */
+static struct target_ops sds_ops;
 
 /* This was 5 seconds, which is a long time to sit and wait.
    Unless this is going though some terminal server or multiplexer or
    other form of hairy serial connection, I would think 2 seconds would
    be plenty.  */
 
-/* Changed to allow option to set timeout value.
-   was static int sds_timeout = 2; */
 static int sds_timeout = 2;
 
 /* Descriptor for I/O to remote machine.  Initialize it to NULL so
@@ -1120,76 +1125,36 @@ sds_remove_breakpoint (addr, contents_cache)
   return 0;
 }
 \f
-/* Define the target operations vector. */
-
-static struct target_ops sds_ops ;
-
 static void 
-init_sds_ops(void)
+init_sds_ops ()
 {
-  sds_ops.to_shortname =   "sds";
-  sds_ops.to_longname =   "Remote serial target with SDS protocol";
-  sds_ops.to_doc =   "Use a remote computer via a serial line; using the SDS protocol.\n\
-Specify the serial device it is connected to (e.g. /dev/ttya).", 
-    sds_ops.to_open =   sds_open;      
-  sds_ops.to_close =   sds_close;      
-  sds_ops.to_attach =   NULL;
-  sds_ops.to_post_attach = NULL;
-  sds_ops.to_require_attach = NULL;            
-  sds_ops.to_detach =   sds_detach;
-  sds_ops.to_require_detach = NULL;    
-  sds_ops.to_resume =   sds_resume;    
-  sds_ops.to_wait  =   sds_wait;
-  sds_ops.to_post_wait = NULL; 
-  sds_ops.to_fetch_registers  =   sds_fetch_registers;
-  sds_ops.to_store_registers  =   sds_store_registers; 
-  sds_ops.to_prepare_to_store =   sds_prepare_to_store;        
-  sds_ops.to_xfer_memory  =   sds_xfer_memory; 
-  sds_ops.to_files_info  =   sds_files_info;   
-  sds_ops.to_insert_breakpoint =   sds_insert_breakpoint;
-  sds_ops.to_remove_breakpoint =   sds_remove_breakpoint;
-  sds_ops.to_terminal_init  =   NULL;          
-  sds_ops.to_terminal_inferior =   NULL;       
-  sds_ops.to_terminal_ours_for_output =   NULL;        
-  sds_ops.to_terminal_ours  =   NULL;  
-  sds_ops.to_terminal_info  =   NULL;  
-  sds_ops.to_kill  =   sds_kill;       
-  sds_ops.to_load  =   sds_load;       
-  sds_ops.to_lookup_symbol =   NULL;                   
-  sds_ops.to_create_inferior =   sds_create_inferior;
-  sds_ops.to_post_startup_inferior = NULL;
-  sds_ops.to_acknowledge_created_inferior = NULL;
-  sds_ops.to_clone_and_follow_inferior = NULL;
-  sds_ops.to_post_follow_inferior_by_clone = NULL;
-  sds_ops.to_insert_fork_catchpoint = NULL;
-  sds_ops.to_remove_fork_catchpoint = NULL;
-  sds_ops.to_insert_vfork_catchpoint = NULL;
-  sds_ops.to_remove_vfork_catchpoint = NULL;
-  sds_ops.to_has_forked = NULL;
-  sds_ops.to_has_vforked = NULL;
-  sds_ops.to_can_follow_vfork_prior_to_exec = NULL;
-  sds_ops.to_post_follow_vfork = NULL;
-  sds_ops.to_insert_exec_catchpoint = NULL;
-  sds_ops.to_remove_exec_catchpoint = NULL;
-  sds_ops.to_has_execd = NULL;
-  sds_ops.to_reported_exec_events_per_exec_call = NULL;
-  sds_ops.to_has_exited = NULL;
-  sds_ops.to_mourn_inferior =   sds_mourn;
-  sds_ops.to_can_run  =   0;           
-  sds_ops.to_notice_signals =   0;     
-  sds_ops.to_thread_alive  =   0;      
-  sds_ops.to_stop  =   0;
-  sds_ops.to_pid_to_exec_file = NULL;
-  sds_ops.to_core_file_to_sym_file = NULL;             
-  sds_ops.to_stratum =   process_stratum;
-  sds_ops.DONT_USE =   NULL;           
-  sds_ops.to_has_all_memory =   1;
-  sds_ops.to_has_memory =   1; 
-  sds_ops.to_has_stack =   1;                          /* to_has_stack */
-  sds_ops.to_has_registers =   1;  sds_ops.to_has_execution =   1;
-  sds_ops.to_sections =   NULL;        
-  sds_ops.to_sections_end =   NULL;
-  sds_ops.to_magic =   OPS_MAGIC ;
+  sds_ops.to_shortname = "sds";
+  sds_ops.to_longname = "Remote serial target with SDS protocol";
+  sds_ops.to_doc = "Use a remote computer via a serial line; using the SDS protocol.\n\
+Specify the serial device it is connected to (e.g. /dev/ttya).";
+  sds_ops.to_open = sds_open;
+  sds_ops.to_close = sds_close;
+  sds_ops.to_detach = sds_detach;
+  sds_ops.to_resume = sds_resume;
+  sds_ops.to_wait = sds_wait;
+  sds_ops.to_fetch_registers = sds_fetch_registers;
+  sds_ops.to_store_registers = sds_store_registers;
+  sds_ops.to_prepare_to_store = sds_prepare_to_store;
+  sds_ops.to_xfer_memory = sds_xfer_memory;
+  sds_ops.to_files_info = sds_files_info;
+  sds_ops.to_insert_breakpoint = sds_insert_breakpoint;
+  sds_ops.to_remove_breakpoint = sds_remove_breakpoint;
+  sds_ops.to_kill = sds_kill;
+  sds_ops.to_load = sds_load;
+  sds_ops.to_create_inferior = sds_create_inferior;
+  sds_ops.to_mourn_inferior = sds_mourn;
+  sds_ops.to_stratum = process_stratum;
+  sds_ops.to_has_all_memory = 1;
+  sds_ops.to_has_memory = 1;
+  sds_ops.to_has_stack = 1;
+  sds_ops.to_has_registers = 1;
+  sds_ops.to_has_execution = 1;
+  sds_ops.to_magic = OPS_MAGIC;
 }
 
 /* Put a command string, in args, out to the monitor and display the
@@ -1228,7 +1193,7 @@ sds_command (args, from_tty)
 void
 _initialize_remote_sds ()
 {
-  init_sds_ops() ;
+  init_sds_ops ();
   add_target (&sds_ops);
 
   add_show_from_set (add_set_cmd ("sdstimeout", no_class,