* ldmain.c (main): Error if --gc-sections and
[deliverable/binutils-gdb.git] / gdb / monitor.h
index 7847174d950f661882f0ddbf5e8f39b3046b3ac8..6864165ffb37b4b6d3fa16300d4da56728805da2 100644 (file)
@@ -93,8 +93,16 @@ struct monitor_ops
                                   GDB with the value of a register.  */
   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 */
+  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 */
+  int (*dumpregs) PARAMS((void)) ;    /* routine to dump all registers */
+  int (*continue_hook) PARAMS((void)) ; /* Emit the continue command */
+  int (*wait_filter) PARAMS((char * buf, /* Maybe contains registers */
+                           int bufmax ,
+                           int * response_length,
+                           struct target_waitstatus * status)) ;
   char *load;                  /* load command */
   char *loadresp;              /* Response to load command */
   char *prompt;                        /* monitor command prompt */
@@ -168,6 +176,57 @@ struct monitor_ops
 
 #define MO_REGISTER_VALUE_FIRST 0x1000
 
+/* If set, then the monitor displays registers as pairs.  */
+
+#define MO_32_REGS_PAIRED 0x2000
+
+/* If set, then register setting happens interactively.  */
+
+#define MO_SETREG_INTERACTIVE 0x4000
+
+/* If set, then memory setting happens interactively.  */
+
+#define MO_SETMEM_INTERACTIVE 0x8000
+
+/* If set, then memory dumps are always on 16-byte boundaries, even
+   when less is desired.  */
+
+#define MO_GETMEM_16_BOUNDARY 0x10000
+
+/* If set, then the monitor numbers its breakpoints starting from 1.  */
+
+#define MO_CLR_BREAK_1_BASED 0x20000
+
+/* If set, then the monitor acks srecords with a plus sign.  */
+
+#define MO_SREC_ACK_PLUS 0x40000
+
+/* If set, then the monitor "acks" srecords with rotating lines.  */
+
+#define MO_SREC_ACK_ROTATE 0x80000
+
+/* If set, then remove useless address bits from memory addresses.  */
+
+#define MO_ADDR_BITS_REMOVE 0x100000
+
+/* If set, then display target program output if prefixed by ^O.  */
+
+#define MO_PRINT_PROGRAM_OUTPUT 0x200000
+
+/* Some dump bytes commands align the first data with the preceeding
+16 byte boundary. Some print blanks and start at the exactly the
+requested boundary. */
+
+#define MO_EXACT_DUMPADDR 0x400000
+
+/* Rather entering and exiting the write memory dialog for each word byte,
+   we can save time by transferring the whole block without exiting
+   the memory editing mode. You only need to worry about this
+   if you are doing memory downloading.
+   This engages a new write function registered with dcache.
+   */
+#define MO_HAS_BLOCKWRITES 0x800000
+
 #define SREC_SIZE 160
 
 extern void monitor_open PARAMS ((char *args, struct monitor_ops *ops,
@@ -180,5 +239,8 @@ 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 monitor_write PARAMS ((char *buf, int buflen));
+extern int monitor_readchar PARAMS ((void));
 extern char *monitor_get_dev_name PARAMS ((void));
 extern void init_monitor_ops PARAMS ((struct target_ops *));
+extern int monitor_dump_reg_block PARAMS((char * dump_cmd)) ;
This page took 0.023162 seconds and 4 git commands to generate.