1 #ifndef _IPXE_SHELL_H
2 #define _IPXE_SHELL_H
3 
4 /** @file
5  *
6  * Minimal command shell
7  *
8  */
9 
10 FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
11 
12 /** Shell stop states */
13 enum shell_stop_state {
14 	/** Continue processing */
15 	SHELL_CONTINUE = 0,
16 	/**
17 	 * Stop processing current command line
18 	 *
19 	 * This is the stop state entered by commands that change the flow
20 	 * of execution, such as "goto".
21 	 */
22 	SHELL_STOP_COMMAND = 1,
23 	/**
24 	 * Stop processing commands
25 	 *
26 	 * This is the stop state entered by commands that terminate
27 	 * the flow of execution, such as "exit".
28 	 */
29 	SHELL_STOP_COMMAND_SEQUENCE = 2,
30 };
31 
32 extern void shell_stop ( int stop );
33 extern int shell_stopped ( int stop );
34 extern int shell ( void );
35 
36 #endif /* _IPXE_SHELL_H */
37