]> Git Repo - binutils.git/blobdiff - gdb/monitor.h
* config/sparc/xm-sparc.h (NEW_SUN_CORE): Remove, never used.
[binutils.git] / gdb / monitor.h
index 1bd4b7cd81b3ab340b7019056e3cb9fe5723faa8..7fbf8cca86c3b0cb900d393b7b3a7cb02b4365d7 100644 (file)
@@ -1,8 +1,5 @@
 /* Remote debugging interface ROM monitors.
- *  Copyright 1990, 1991, 1992 Free Software Foundation, Inc.
- *  Contributed by Cygnus Support. Written by Rob Savoye for Cygnus.
- *
- *  Copyright 1990, 1991, 1992 Free Software Foundation, Inc.
+ *  Copyright 1990, 1991, 1992, 1996 Free Software Foundation, Inc.
  *  Contributed by Cygnus Support. Written by Rob Savoye for Cygnus.
  *
  * This file is part of GDB.
  *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
  */
 
-struct rom_cmd_data {
-  char *cmd;                   /* command to send */
-  char *delim;                 /* the delimiter */
-  char *result;                        /* the result */
-};
+#include "serial.h"
 
 /* This structure describes the strings necessary to give small command
    sequences to the monitor, and parse the response.
@@ -70,7 +63,8 @@ struct memrw_cmd
 struct regrw_cmd
 {
   char *cmd;                   /* Command to send for reg read/write */
-  char *resp_delim;            /* String just prior to the desired value */
+  char *resp_delim;            /* String (actually a regexp if getmem) just
+                                  prior to the desired value */
   char *term;                  /* Terminating string to search for */
   char *term_cmd;              /* String to get out of sub-mode (if necessary) */
 };
@@ -98,15 +92,13 @@ struct monitor_ops
   char *dump_registers;                /* Command to dump all regs at once */
   char *register_pattern;      /* Pattern that picks out register from reg dump */
   void (*supply_register) PARAMS ((char *name, int namelen, char *val, int vallen));
+  void (*load_routine) PARAMS ((serial_t desc, char *file, int hashmark)); /* Download routine */
   char *load;                  /* load command */
   char *loadresp;              /* Response to load command */
   char *prompt;                        /* monitor command prompt */
-  char *cmd_delim;             /* end-of-command delimitor */
+  char *line_term;             /* end-of-command delimitor */
   char *cmd_end;               /* optional command terminator */
   struct target_ops *target;   /* target operations */
-  char **loadtypes;            /* the load types that are supported */
-  char **loadprotos;           /* the load protocols that are supported */
-  char *baudrates;             /* supported baud rates */
   int stopbits;                        /* number of stop bits */
   char **regnames;             /* array of register names in ascii */
   int magic;                   /* Check value */
@@ -116,15 +108,18 @@ struct monitor_ops
 
 /* Flag defintions */
 
-#define MO_CLR_BREAK_USES_ADDR 0x1 /* If set, then clear breakpoint command
-                                     uses address, otherwise it uses an index
-                                     returned by the monitor.  */
-#define MO_FILL_USES_ADDR 0x2  /* If set, then memory fill command uses
-                                  STARTADDR, ENDADDR+1, VALUE as args, else it
-                                  uses STARTADDR, LENGTH, VALUE as args. */
-#define MO_NEED_REGDUMP_AFTER_CONT 0x4 /* If set, then monitor doesn't auto-
-                                         matically supply register dump when
-                                         coming back after a continue.  */
+#define MO_CLR_BREAK_USES_ADDR 0x1     /* If set, then clear breakpoint command
+                                          uses address, otherwise it uses an index
+                                          returned by the monitor.  */
+#define MO_FILL_USES_ADDR 0x2          /* If set, then memory fill command uses
+                                          STARTADDR, ENDADDR+1, VALUE as args, else it
+                                          uses STARTADDR, LENGTH, VALUE as args. */
+#define MO_NEED_REGDUMP_AFTER_CONT 0x4 /* If set, then monitor doesn't auto-
+                                          matically supply register dump when
+                                          coming back after a continue.  */
+#define MO_GETMEM_NEEDS_RANGE 0x8      /* getmem needs start addr and end addr */
+#define MO_GETMEM_READ_SINGLE 0x10     /* getmem can only read one loc at a time */
+#define MO_HANDLE_NL 0x20              /* handle \r\n combinations */
 
 extern struct monitor_ops        *current_monitor;
 
@@ -167,4 +162,12 @@ extern struct monitor_ops        *current_monitor;
 #define REG_DELIM               (current_monitor->regset.delim)
 
 extern void monitor_open PARAMS ((char *args, struct monitor_ops *ops, int from_tty));
+extern void monitor_close PARAMS ((int quitting));
 extern char *monitor_supply_register PARAMS ((int regno, char *valstr));
+extern int monitor_expect PARAMS ((char *prompt, char *buf, int buflen));
+extern int monitor_expect_prompt PARAMS ((char *buf, int buflen));
+extern void monitor_printf PARAMS ((char *, ...))
+     ATTR_FORMAT(printf, 1, 2);
+extern void monitor_printf_noecho PARAMS ((char *, ...))
+     ATTR_FORMAT(printf, 1, 2);
+extern void init_monitor_ops PARAMS ((struct target_ops *));
This page took 0.026306 seconds and 4 git commands to generate.