cli: Add a function to set up a new cread

Create a init function so that it is easy to use command-line reading.

Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
Simon Glass
2023-10-01 19:13:17 -06:00
committed by Tom Rini
parent 3b487bf511
commit 39ee32166f
2 changed files with 31 additions and 10 deletions

View File

@@ -32,7 +32,8 @@ struct cli_ch_state {
* @eol_num: Number of characters in the buffer
* @insert: true if in 'insert' mode
* @history: true if history should be accessible
* @cmd_complete: true if tab completion should be enabled
* @cmd_complete: true if tab completion should be enabled (requires @prompt to
* be set)
* @buf: Buffer containing line
* @prompt: Prompt for the line
*/
@@ -262,6 +263,20 @@ int cli_ch_process(struct cli_ch_state *cch, int ichar);
*/
int cread_line_process_ch(struct cli_line_state *cls, char ichar);
/**
* cli_cread_init() - Set up a new cread struct
*
* Sets up a new cread state, with history and cmd_complete set to false
*
* After calling this, you can use cread_line_process_ch() to process characters
* received from the user.
*
* @cls: CLI line state
* @buf: Text buffer containing the initial text
* @buf_size: Buffer size, including nul terminator
*/
void cli_cread_init(struct cli_line_state *cls, char *buf, uint buf_size);
/** cread_print_hist_list() - Print the command-line history list */
void cread_print_hist_list(void);