import gdb-1999-07-12 snapshot
[deliverable/binutils-gdb.git] / gdb / top.h
CommitLineData
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
c5aa993b 5 This file is part of GDB.
c906108c 6
c5aa993b
JM
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.
c906108c 11
c5aa993b
JM
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.
c906108c 16
c5aa993b
JM
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,
20 Boston, MA 02111-1307, USA. */
c906108c 21
7a292a7a
SS
22#include <setjmp.h>
23
c906108c
SS
24/* From top.c. */
25extern char *line;
26extern int linesize;
27extern FILE *instream;
28extern char gdb_dirbuf[1024];
29extern int inhibit_gdbinit;
30extern int epoch_interface;
31extern char gdbinit[];
32
33/* Generally one should use catch_errors rather than manipulating these
34 directly. The exception is main(). */
35#if defined(HAVE_SIGSETJMP)
36#define SIGJMP_BUF sigjmp_buf
37#define SIGSETJMP(buf) sigsetjmp(buf, 1)
38#define SIGLONGJMP(buf,val) siglongjmp(buf,val)
39#else
40#define SIGJMP_BUF jmp_buf
41#define SIGSETJMP(buf) setjmp(buf)
42#define SIGLONGJMP(buf,val) longjmp(buf,val)
43#endif
44
cd0fc7c3
SS
45/* Temporary variable for SET_TOP_LEVEL. */
46
47int top_level_val;
48
49/* Do a setjmp on error_return and quit_return. catch_errors is
50 generally a cleaner way to do this, but main() would look pretty
51 ugly if it had to use catch_errors each time. */
52
53#define SET_TOP_LEVEL() \
54 (((top_level_val = SIGSETJMP (error_return)) \
55 ? (PTR) 0 : (PTR) memcpy (quit_return, error_return, sizeof (SIGJMP_BUF))) \
56 , top_level_val)
57
c906108c
SS
58extern SIGJMP_BUF error_return;
59extern SIGJMP_BUF quit_return;
60
61extern void print_gdb_version PARAMS ((GDB_FILE *));
62
63extern void source_command PARAMS ((char *, int));
64extern void cd_command PARAMS ((char *, int));
65extern void read_command_file PARAMS ((FILE *));
66extern void init_history PARAMS ((void));
67extern void command_loop PARAMS ((void));
68extern int quit_confirm PARAMS ((void));
69extern void quit_force PARAMS ((char *, int));
70extern void quit_command PARAMS ((char *, int));
0f71a2f6
JM
71extern void command_loop_marker PARAMS ((int));
72extern int quit_cover PARAMS ((PTR));
73extern void execute_command PARAMS ((char *, int));
c906108c
SS
74
75/* This function returns a pointer to the string that is used
76 by gdb for its command prompt. */
c5aa993b
JM
77extern char *get_prompt PARAMS ((void));
78
c906108c
SS
79/* This function copies the specified string into the string that
80 is used by gdb for its command prompt. */
81extern void set_prompt PARAMS ((char *));
82
83/* From random places. */
84extern int mapped_symbol_files;
85extern int readnow_symbol_files;
392a587b
JM
86
87/* Perform _initialize initialization */
88extern void gdb_init PARAMS ((char *));
0f71a2f6
JM
89
90/* For use by event-top.c */
91/* Variables from top.c. */
92extern int source_line_number;
93extern char *source_file_name;
94extern char *source_error;
95extern char *source_pre_error;
96extern int history_expansion_p;
97extern int server_command;
This page took 0.034292 seconds and 4 git commands to generate.