summaryrefslogtreecommitdiffstats
path: root/src/include
diff options
context:
space:
mode:
Diffstat (limited to 'src/include')
-rw-r--r--src/include/ipxe/command.h2
-rw-r--r--src/include/ipxe/shell.h22
2 files changed, 22 insertions, 2 deletions
diff --git a/src/include/ipxe/command.h b/src/include/ipxe/command.h
index 2486e7aa2..a7d0ae462 100644
--- a/src/include/ipxe/command.h
+++ b/src/include/ipxe/command.h
@@ -23,6 +23,4 @@ struct command {
#define __command __table_entry ( COMMANDS, 01 )
-extern int shell_exit;
-
#endif /* _IPXE_COMMAND_H */
diff --git a/src/include/ipxe/shell.h b/src/include/ipxe/shell.h
index 55e56346c..faa32f422 100644
--- a/src/include/ipxe/shell.h
+++ b/src/include/ipxe/shell.h
@@ -9,6 +9,28 @@
FILE_LICENCE ( GPL2_OR_LATER );
+/** Shell stop states */
+enum shell_stop_state {
+ /** Continue processing */
+ SHELL_CONTINUE = 0,
+ /**
+ * Stop processing current command line
+ *
+ * This is the stop state entered by commands that change the flow
+ * of execution, such as "goto".
+ */
+ SHELL_STOP_COMMAND = 1,
+ /**
+ * Stop processing commands
+ *
+ * This is the stop state entered by commands that terminate
+ * the flow of execution, such as "exit".
+ */
+ SHELL_STOP_COMMAND_SEQUENCE = 2,
+};
+
+extern void shell_stop ( int stop );
+extern int shell_stopped ( int stop );
extern int shell ( void );
#endif /* _IPXE_SHELL_H */