/* GDB routines for supporting auto-loaded scripts.
- Copyright (C) 2012 Free Software Foundation, Inc.
+ Copyright (C) 2012-2020 Free Software Foundation, Inc.
This file is part of GDB.
#ifndef AUTO_LOAD_H
#define AUTO_LOAD_H 1
+struct objfile;
struct program_space;
+struct auto_load_pspace_info;
+struct extension_language_defn;
-struct script_language
-{
- const char *suffix;
+extern bool global_auto_load;
- void (*source_script_for_objfile) (struct objfile *objfile, FILE *file,
- const char *filename);
-};
-
-extern int global_auto_load;
-
-extern int auto_load_local_gdbinit;
+extern bool auto_load_local_gdbinit;
extern char *auto_load_local_gdbinit_pathname;
-extern int auto_load_local_gdbinit_loaded;
+extern bool auto_load_local_gdbinit_loaded;
extern struct auto_load_pspace_info *
get_auto_load_pspace_data_for_loading (struct program_space *pspace);
-extern int maybe_add_script (struct auto_load_pspace_info *pspace_info,
- const char *name, const char *full_path,
- const struct script_language *language);
extern void auto_load_objfile_script (struct objfile *objfile,
- const struct script_language *language);
+ const struct extension_language_defn *);
extern void load_auto_scripts_for_objfile (struct objfile *objfile);
-extern int
- script_not_found_warning_print (struct auto_load_pspace_info *pspace_info);
extern char auto_load_info_scripts_pattern_nl[];
-extern void auto_load_info_scripts (char *pattern, int from_tty,
- const struct script_language *language);
+extern void auto_load_info_scripts (const char *pattern, int from_tty,
+ const struct extension_language_defn *);
extern struct cmd_list_element **auto_load_set_cmdlist_get (void);
extern struct cmd_list_element **auto_load_show_cmdlist_get (void);
extern struct cmd_list_element **auto_load_info_cmdlist_get (void);
+extern int file_is_auto_load_safe (const char *filename,
+ const char *debug_fmt, ...)
+ ATTRIBUTE_PRINTF (2, 3);
+
+extern int auto_load_gdb_scripts_enabled
+ (const struct extension_language_defn *extlang);
+
#endif /* AUTO_LOAD_H */