aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStu Grossman <grossman@cygnus>1994-08-10 23:16:40 +0000
committerStu Grossman <grossman@cygnus>1994-08-10 23:16:40 +0000
commit8164ec2eb5c6b68d851af2850b20ef75a5bb1682 (patch)
tree08e2cf0e3184218ebd2194682b0fa1f102574d2d
parent1311f8d1a5ad54f0b26f318dec99ec91a37d7b1f (diff)
downloadgdb-8164ec2eb5c6b68d851af2850b20ef75a5bb1682.zip
gdb-8164ec2eb5c6b68d851af2850b20ef75a5bb1682.tar.gz
gdb-8164ec2eb5c6b68d851af2850b20ef75a5bb1682.tar.bz2
* defs.h, top.c: Use `extern' in declarations of GUI hooks, and
define them in top.c. Add comments to the hooks.
-rw-r--r--gdb/ChangeLog5
-rw-r--r--gdb/defs.h28
-rw-r--r--gdb/top.c36
3 files changed, 51 insertions, 18 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 12723b7..2969e67 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,8 @@
+Wed Aug 10 16:13:45 1994 Stu Grossman (grossman@cygnus.com)
+
+ * defs.h, top.c: Use `extern' in declarations of GUI hooks, and
+ define them in top.c. Add comments to the hooks.
+
Wed Aug 10 15:57:43 1994 Doug Evans (dje@canuck.cygnus.com)
* remote-sim.c (gdbsim_ops): Set `to_insert_breakpoint' and
diff --git a/gdb/defs.h b/gdb/defs.h
index 0fd9bf1..d21c30e 100644
--- a/gdb/defs.h
+++ b/gdb/defs.h
@@ -39,14 +39,6 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
typedef bfd_vma CORE_ADDR;
-/* These are supposedly internal to BFD, but in practice are needed
- all over GDB's readers. They should be defined in bfd.h (FIXME). */
-
-bfd_size_type bfd_read PARAMS ((PTR ptr, bfd_size_type size,
- bfd_size_type nitems, bfd *abfd));
-int bfd_seek PARAMS ((bfd* CONST abfd, CONST file_ptr fp,
- CONST int direction));
-
#define min(a, b) ((a) < (b) ? (a) : (b))
#define max(a, b) ((a) > (b) ? (a) : (b))
@@ -837,17 +829,17 @@ struct symtab;
struct breakpoint;
#endif
-void (*init_ui_hook) PARAMS ((void));
-void (*command_loop_hook) PARAMS ((void));
-void (*fputs_unfiltered_hook) PARAMS ((const char *linebuffer));
-void (*print_frame_info_listing_hook) PARAMS ((struct symtab *s, int line,
+extern void (*init_ui_hook) PARAMS ((void));
+extern void (*command_loop_hook) PARAMS ((void));
+extern void (*fputs_unfiltered_hook) PARAMS ((const char *linebuffer));
+extern void (*print_frame_info_listing_hook) PARAMS ((struct symtab *s, int line,
int stopline, int noerror));
-int (*query_hook) PARAMS (());
-void (*flush_hook) PARAMS ((FILE *stream));
-void (*create_breakpoint_hook) PARAMS ((struct breakpoint *b));
-void (*delete_breakpoint_hook) PARAMS ((struct breakpoint *bpt));
-void (*enable_breakpoint_hook) PARAMS ((struct breakpoint *bpt));
-void (*disable_breakpoint_hook) PARAMS ((struct breakpoint *bpt));
+extern int (*query_hook) PARAMS (());
+extern void (*flush_hook) PARAMS ((FILE *stream));
+extern void (*create_breakpoint_hook) PARAMS ((struct breakpoint *b));
+extern void (*delete_breakpoint_hook) PARAMS ((struct breakpoint *bpt));
+extern void (*enable_breakpoint_hook) PARAMS ((struct breakpoint *bpt));
+extern void (*disable_breakpoint_hook) PARAMS ((struct breakpoint *bpt));
/* Inhibit window interface if non-zero. */
diff --git a/gdb/top.c b/gdb/top.c
index 75acd4a..27616ae 100644
--- a/gdb/top.c
+++ b/gdb/top.c
@@ -317,6 +317,42 @@ static void stop_sig PARAMS ((int));
#if 0 == (HAVE_SIGSETMASK)
#define sigsetmask(n)
#endif
+
+/* Hooks for alternate command interfaces. */
+
+/* Called after most modules have been initialized, but before taking users
+ command file. */
+
+void (*init_ui_hook) PARAMS ((void));
+
+/* Called instead of command_loop at top level. Can be invoked via
+ return_to_top_level. */
+
+void (*command_loop_hook) PARAMS ((void));
+
+/* Called instead of fputs for all output. */
+
+void (*fputs_unfiltered_hook) PARAMS ((const char *linebuffer));
+
+/* Called from print_frame_info to list the line we stopped in. */
+
+void (*print_frame_info_listing_hook) PARAMS ((struct symtab *s, int line,
+ int stopline, int noerror));
+/* Replaces most of query. */
+
+int (*query_hook) PARAMS (());
+
+/* Called from gdb_flush to flush output. */
+
+void (*flush_hook) PARAMS ((FILE *stream));
+
+/* Called as appropriate to notify the interface of the specified breakpoint
+ conditions. */
+
+void (*create_breakpoint_hook) PARAMS ((struct breakpoint *b));
+void (*delete_breakpoint_hook) PARAMS ((struct breakpoint *bpt));
+void (*enable_breakpoint_hook) PARAMS ((struct breakpoint *bpt));
+void (*disable_breakpoint_hook) PARAMS ((struct breakpoint *bpt));
/* Where to go for return_to_top_level (RETURN_ERROR). */
jmp_buf error_return;