+/* Initialize the debugging interface. This is the "high-level"
+ * initialization function; older and lower-level applications can call
+ * dbopen() and friends directly.
+ *
+ * This function sets up debug logging and error-handling according to
+ * the current process name, type, and context, as defined in util.
+ */
+void debug_init(void);
+
+/*
+ * ADDITIONAL LOGGING
+ */
+
+/* Amanda implements a rudimentary method of distributing log information to
+ * arbitrary consumers. Some consumers are available here, and other modules
+ * (e.g., server-src/logfile.c) may implement them, too.
+ *
+ * If amanda_log_handler has never been called, then the default disposition
+ * depends on the application context: amanda_log_stderr is always used, and
+ * amanda_log_syslog is used in the 'daemon' context. The 'scriptutil' context
+ * does not do any debug logging.
+ */
+
+/* prototype for log-handling functions; these will be called with only a single
+ * bit set in the log_level. */
+typedef void (amanda_log_handler_t)(GLogLevelFlags log_level, const gchar *message);
+
+/* add an amanda_log_handler_t to the list of handlers */
+void add_amanda_log_handler(amanda_log_handler_t *hdlr);
+
+/* log ERROR, CRITICAL, and WARNING messages to syslog */
+void amanda_log_syslog(GLogLevelFlags log_level, const gchar *message);
+
+/* log ERROR and CRITICAL to stderr */
+void amanda_log_stderr(GLogLevelFlags log_level, const gchar *message);
+
+/* log nothing */
+void amanda_log_null(GLogLevelFlags log_level, const gchar *message);
+