]>
Commit | Line | Data |
---|---|---|
c906108c SS |
1 | /* Top level stuff for GDB, the GNU debugger. |
2 | Copyright 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994 | |
3 | Free Software Foundation, Inc. | |
4 | ||
5 | This file is part of GDB. | |
6 | ||
7 | This program is free software; you can redistribute it and/or modify | |
8 | it under the terms of the GNU General Public License as published by | |
9 | the Free Software Foundation; either version 2 of the License, or | |
10 | (at your option) any later version. | |
11 | ||
12 | This program is distributed in the hope that it will be useful, | |
13 | but WITHOUT ANY WARRANTY; without even the implied warranty of | |
14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
15 | GNU General Public License for more details. | |
16 | ||
17 | You should have received a copy of the GNU General Public License | |
18 | along with this program; if not, write to the Free Software | |
19 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ | |
20 | ||
7a292a7a SS |
21 | #include <setjmp.h> |
22 | ||
c906108c SS |
23 | /* From top.c. */ |
24 | extern char *line; | |
25 | extern int linesize; | |
26 | extern FILE *instream; | |
27 | extern char gdb_dirbuf[1024]; | |
28 | extern int inhibit_gdbinit; | |
29 | extern int epoch_interface; | |
30 | extern char gdbinit[]; | |
31 | ||
32 | /* Generally one should use catch_errors rather than manipulating these | |
33 | directly. The exception is main(). */ | |
34 | #if defined(HAVE_SIGSETJMP) | |
35 | #define SIGJMP_BUF sigjmp_buf | |
36 | #define SIGSETJMP(buf) sigsetjmp(buf, 1) | |
37 | #define SIGLONGJMP(buf,val) siglongjmp(buf,val) | |
38 | #else | |
39 | #define SIGJMP_BUF jmp_buf | |
40 | #define SIGSETJMP(buf) setjmp(buf) | |
41 | #define SIGLONGJMP(buf,val) longjmp(buf,val) | |
42 | #endif | |
43 | ||
cd0fc7c3 SS |
44 | /* Temporary variable for SET_TOP_LEVEL. */ |
45 | ||
46 | int top_level_val; | |
47 | ||
48 | /* Do a setjmp on error_return and quit_return. catch_errors is | |
49 | generally a cleaner way to do this, but main() would look pretty | |
50 | ugly if it had to use catch_errors each time. */ | |
51 | ||
52 | #define SET_TOP_LEVEL() \ | |
53 | (((top_level_val = SIGSETJMP (error_return)) \ | |
54 | ? (PTR) 0 : (PTR) memcpy (quit_return, error_return, sizeof (SIGJMP_BUF))) \ | |
55 | , top_level_val) | |
56 | ||
c906108c SS |
57 | extern SIGJMP_BUF error_return; |
58 | extern SIGJMP_BUF quit_return; | |
59 | ||
60 | extern void print_gdb_version PARAMS ((GDB_FILE *)); | |
61 | ||
62 | extern void source_command PARAMS ((char *, int)); | |
63 | extern void cd_command PARAMS ((char *, int)); | |
64 | extern void read_command_file PARAMS ((FILE *)); | |
65 | extern void init_history PARAMS ((void)); | |
66 | extern void command_loop PARAMS ((void)); | |
67 | extern int quit_confirm PARAMS ((void)); | |
68 | extern void quit_force PARAMS ((char *, int)); | |
69 | extern void quit_command PARAMS ((char *, int)); | |
0f71a2f6 JM |
70 | extern void command_loop_marker PARAMS ((int)); |
71 | extern int quit_cover PARAMS ((PTR)); | |
72 | extern void execute_command PARAMS ((char *, int)); | |
c906108c SS |
73 | |
74 | /* This function returns a pointer to the string that is used | |
75 | by gdb for its command prompt. */ | |
76 | extern char *get_prompt PARAMS((void)); | |
77 | ||
78 | /* This function copies the specified string into the string that | |
79 | is used by gdb for its command prompt. */ | |
80 | extern void set_prompt PARAMS ((char *)); | |
81 | ||
82 | /* From random places. */ | |
83 | extern int mapped_symbol_files; | |
84 | extern int readnow_symbol_files; | |
85 | #define ALL_CLEANUPS ((struct cleanup *)0) | |
392a587b JM |
86 | |
87 | /* Perform _initialize initialization */ | |
88 | extern void gdb_init PARAMS ((char *)); | |
0f71a2f6 JM |
89 | |
90 | /* For use by event-top.c */ | |
91 | /* Variables from top.c. */ | |
92 | extern int source_line_number; | |
93 | extern char *source_file_name; | |
94 | extern char *source_error; | |
95 | extern char *source_pre_error; | |
96 | extern int history_expansion_p; | |
97 | extern int server_command; |