aboutsummaryrefslogtreecommitdiff
path: root/include/console.h
diff options
context:
space:
mode:
authorSimon Glass2015-11-08 23:47:48 -0700
committerSimon Glass2015-11-19 20:27:50 -0700
commit9854a8748c8fdd69784a1fa1c4758c696621c88d (patch)
treedf09215e384695c184221ab9e3f4a295ef15efeb /include/console.h
parentb7b65090b29e6bc133c7922f8290c1e2f75b064a (diff)
console: Add a console buffer
It is useful to be able to record console output and provide console input via a buffer. This provides sandbox with the ability to run a command and check its output. If the console is set to silent then no visible output is generated. This also provides a means to fix the problem where tests produce unwanted output, such as errors or warnings. This can be confusing. We can instead set the console to silent and record this output. It can be checked later in the test if required. It is possible that this may prove useful for non-test situations. For example the console output may be suppressed for normal operations, but recorded and stored for access by the OS. That feature is not implemented at present. Signed-off-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'include/console.h')
-rw-r--r--include/console.h22
1 files changed, 22 insertions, 0 deletions
diff --git a/include/console.h b/include/console.h
index 097518d1503..3d37f6a53bf 100644
--- a/include/console.h
+++ b/include/console.h
@@ -20,6 +20,28 @@ void clear_ctrlc(void); /* clear the Control-C condition */
int disable_ctrlc(int); /* 1 to disable, 0 to enable Control-C detect */
int confirm_yesno(void); /* 1 if input is "y", "Y", "yes" or "YES" */
+/**
+ * console_record_init() - set up the console recording buffers
+ *
+ * This should be called as soon as malloc() is available so that the maximum
+ * amount of console output can be recorded.
+ */
+int console_record_init(void);
+
+/**
+ * console_record_reset() - reset the console recording buffers
+ *
+ * Removes any data in the buffers
+ */
+void console_record_reset(void);
+
+/**
+ * console_record_reset_enable() - reset and enable the console buffers
+ *
+ * This should be called to enable the console buffer.
+ */
+void console_record_reset_enable(void);
+
/*
* CONSOLE multiplexing.
*/