- disabled. START_LOG is 1 when logging is starting, 0 when it ends,
- and OUT is the stream for the log file; it will be NULL when
- logging is ending. LOGFILE is non-NULL if the output streams
- are to be tees, with the log file as one of the outputs. */
-
-extern int current_interp_set_logging (int start_log, struct ui_file *out,
- struct ui_file *logfile);
-
-/* Returns opaque data associated with the top-level interpreter. */
-extern void *top_level_interpreter_data (void);
+ disabled. LOGFILE is the stream for the log file when logging is
+ starting and is NULL when logging is ending. LOGGING_REDIRECT is
+ the value of the "set logging redirect" setting. If true, the
+ interpreter should configure the output streams to send output only
+ to the logfile. If false, the interpreter should configure the
+ output streams to send output to both the current output stream
+ (i.e., the terminal) and the log file. DEBUG_REDIRECT is same as
+ LOGGING_REDIRECT, but for the value of "set logging debugredirect"
+ instead. */
+extern void current_interp_set_logging (ui_file_up logfile,
+ bool logging_redirect,
+ bool debug_redirect);
+
+/* Returns the top-level interpreter. */