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