1*ef5ccd6cSJohn Marino /* GDB routines for supporting auto-loaded scripts. 2*ef5ccd6cSJohn Marino 3*ef5ccd6cSJohn Marino Copyright (C) 2012-2013 Free Software Foundation, Inc. 4*ef5ccd6cSJohn Marino 5*ef5ccd6cSJohn Marino This file is part of GDB. 6*ef5ccd6cSJohn Marino 7*ef5ccd6cSJohn Marino This program is free software; you can redistribute it and/or modify 8*ef5ccd6cSJohn Marino it under the terms of the GNU General Public License as published by 9*ef5ccd6cSJohn Marino the Free Software Foundation; either version 3 of the License, or 10*ef5ccd6cSJohn Marino (at your option) any later version. 11*ef5ccd6cSJohn Marino 12*ef5ccd6cSJohn Marino This program is distributed in the hope that it will be useful, 13*ef5ccd6cSJohn Marino but WITHOUT ANY WARRANTY; without even the implied warranty of 14*ef5ccd6cSJohn Marino MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15*ef5ccd6cSJohn Marino GNU General Public License for more details. 16*ef5ccd6cSJohn Marino 17*ef5ccd6cSJohn Marino You should have received a copy of the GNU General Public License 18*ef5ccd6cSJohn Marino along with this program. If not, see <http://www.gnu.org/licenses/>. */ 19*ef5ccd6cSJohn Marino 20*ef5ccd6cSJohn Marino #ifndef AUTO_LOAD_H 21*ef5ccd6cSJohn Marino #define AUTO_LOAD_H 1 22*ef5ccd6cSJohn Marino 23*ef5ccd6cSJohn Marino struct program_space; 24*ef5ccd6cSJohn Marino 25*ef5ccd6cSJohn Marino struct script_language 26*ef5ccd6cSJohn Marino { 27*ef5ccd6cSJohn Marino const char *suffix; 28*ef5ccd6cSJohn Marino 29*ef5ccd6cSJohn Marino void (*source_script_for_objfile) (struct objfile *objfile, FILE *file, 30*ef5ccd6cSJohn Marino const char *filename); 31*ef5ccd6cSJohn Marino }; 32*ef5ccd6cSJohn Marino 33*ef5ccd6cSJohn Marino extern int global_auto_load; 34*ef5ccd6cSJohn Marino 35*ef5ccd6cSJohn Marino extern int auto_load_local_gdbinit; 36*ef5ccd6cSJohn Marino extern char *auto_load_local_gdbinit_pathname; 37*ef5ccd6cSJohn Marino extern int auto_load_local_gdbinit_loaded; 38*ef5ccd6cSJohn Marino 39*ef5ccd6cSJohn Marino extern struct auto_load_pspace_info * 40*ef5ccd6cSJohn Marino get_auto_load_pspace_data_for_loading (struct program_space *pspace); 41*ef5ccd6cSJohn Marino extern int maybe_add_script (struct auto_load_pspace_info *pspace_info, 42*ef5ccd6cSJohn Marino int loaded, const char *name, 43*ef5ccd6cSJohn Marino const char *full_path, 44*ef5ccd6cSJohn Marino const struct script_language *language); 45*ef5ccd6cSJohn Marino extern void auto_load_objfile_script (struct objfile *objfile, 46*ef5ccd6cSJohn Marino const struct script_language *language); 47*ef5ccd6cSJohn Marino extern void load_auto_scripts_for_objfile (struct objfile *objfile); 48*ef5ccd6cSJohn Marino extern int 49*ef5ccd6cSJohn Marino script_not_found_warning_print (struct auto_load_pspace_info *pspace_info); 50*ef5ccd6cSJohn Marino extern char auto_load_info_scripts_pattern_nl[]; 51*ef5ccd6cSJohn Marino extern void auto_load_info_scripts (char *pattern, int from_tty, 52*ef5ccd6cSJohn Marino const struct script_language *language); 53*ef5ccd6cSJohn Marino 54*ef5ccd6cSJohn Marino extern struct cmd_list_element **auto_load_set_cmdlist_get (void); 55*ef5ccd6cSJohn Marino extern struct cmd_list_element **auto_load_show_cmdlist_get (void); 56*ef5ccd6cSJohn Marino extern struct cmd_list_element **auto_load_info_cmdlist_get (void); 57*ef5ccd6cSJohn Marino 58*ef5ccd6cSJohn Marino extern int file_is_auto_load_safe (const char *filename, 59*ef5ccd6cSJohn Marino const char *debug_fmt, ...); 60*ef5ccd6cSJohn Marino 61*ef5ccd6cSJohn Marino #endif /* AUTO_LOAD_H */ 62