gdb: use gdb::optional instead of passing a pointer to gdb::array_view
[deliverable/binutils-gdb.git] / gdb / auto-load.h
index f8b5b0d7a790ca93ba574a5598b72a5a115823a7..c10787f873bbe0343b0166eabd7aab93ed5834bb 100644 (file)
@@ -1,6 +1,6 @@
 /* GDB routines for supporting auto-loaded scripts.
 
-   Copyright (C) 2012-2017 Free Software Foundation, Inc.
+   Copyright (C) 2012-2021 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -25,11 +25,30 @@ struct program_space;
 struct auto_load_pspace_info;
 struct extension_language_defn;
 
-extern int global_auto_load;
+namespace gdb {
+namespace observers {
+struct token;
+} /* namespace observers */
+} /* namespace gdb */
 
-extern int auto_load_local_gdbinit;
+/* Value of the 'set debug auto-load' configuration variable.  */
+
+extern bool debug_auto_load;
+
+/* Print an "auto-load" debug statement.  */
+
+#define auto_load_debug_printf(fmt, ...) \
+  debug_prefixed_printf_cond (debug_auto_load, "auto-load", fmt, ##__VA_ARGS__)
+
+extern bool global_auto_load;
+
+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;
+
+/* Token used for the auto_load_new_objfile observer, so other observers can
+   specify it as a dependency. */
+extern gdb::observers::token auto_load_new_objfile_observer_token;
 
 extern struct auto_load_pspace_info *
   get_auto_load_pspace_data_for_loading (struct program_space *pspace);
@@ -37,18 +56,26 @@ extern void auto_load_objfile_script (struct objfile *objfile,
                                      const struct extension_language_defn *);
 extern void load_auto_scripts_for_objfile (struct objfile *objfile);
 extern char auto_load_info_scripts_pattern_nl[];
-extern void auto_load_info_scripts (char *pattern, int from_tty,
+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);
+/* Return true if FILENAME is located in one of the directories of
+   AUTO_LOAD_SAFE_PATH.  Otherwise call warning and return false.  FILENAME does
+   not have to be an absolute path.
+
+   Existence of FILENAME is not checked.  Function will still give a warning
+   even if the caller would quietly skip non-existing file in unsafe
+   directory.  */
+
+extern bool file_is_auto_load_safe (const char *filename);
+
+/* Return true if auto-loading gdb scripts is enabled.  */
 
-extern int auto_load_gdb_scripts_enabled
+extern bool auto_load_gdb_scripts_enabled
   (const struct extension_language_defn *extlang);
 
 #endif /* AUTO_LOAD_H */
This page took 0.024468 seconds and 4 git commands to generate.