cc97bcb58567344bbccd794fe248f6bb956dd887
[external/binutils.git] / gdb / main.h
1 /* Main interface for GDB, the GNU debugger.
2
3    Copyright (C) 2002-2014 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 3 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, see <http://www.gnu.org/licenses/>.  */
19
20 #ifndef MAIN_H
21 #define MAIN_H
22
23 struct captured_main_args
24 {
25   int argc;
26   char **argv;
27   int use_windows;
28   const char *interpreter_p;
29 };
30
31 extern int gdb_main (struct captured_main_args *);
32
33 /* From main.c.  */
34 extern int return_child_result;
35 extern int return_child_result_value;
36 extern int batch_silent;
37 extern int batch_flag;
38
39 /* From mingw-hdep.c, used by main.c.  */
40
41 /* Return argv[0] in absolute form, if possible, or ARGV0 if not.  The
42    return value is in malloc'ed storage.  */
43 extern char *windows_get_absolute_argv0 (const char *argv0);
44
45 /* Return read only pointer to the name of gdb as it was invoked.  This
46    might have been expanded to an absolute path if required by the
47    platform.  Could return NULL if called before gdb has had a chance to
48    parse the argv array.  */
49 extern const char *get_gdb_program_name (void);
50
51 #endif