4 #include "qemu-common.h"
6 #define READLINE_CMD_BUF_SIZE 4095
7 #define READLINE_MAX_CMDS 64
8 #define READLINE_MAX_COMPLETIONS 256
10 typedef void ReadLineFunc(Monitor
*mon
, const char *str
, void *opaque
);
11 typedef void ReadLineCompletionFunc(const char *cmdline
);
13 typedef struct ReadLineState
{
14 char cmd_buf
[READLINE_CMD_BUF_SIZE
+ 1];
18 char last_cmd_buf
[READLINE_CMD_BUF_SIZE
+ 1];
19 int last_cmd_buf_index
;
20 int last_cmd_buf_size
;
25 char *history
[READLINE_MAX_CMDS
];
28 ReadLineCompletionFunc
*completion_finder
;
29 char *completions
[READLINE_MAX_COMPLETIONS
];
33 ReadLineFunc
*readline_func
;
34 void *readline_opaque
;
40 void readline_add_completion(ReadLineState
*rs
, const char *str
);
41 void readline_set_completion_index(ReadLineState
*rs
, int completion_index
);
43 const char *readline_get_history(ReadLineState
*rs
, unsigned int index
);
45 void readline_handle_byte(ReadLineState
*rs
, int ch
);
47 void readline_start(ReadLineState
*rs
, const char *prompt
, int read_password
,
48 ReadLineFunc
*readline_func
, void *opaque
);
49 void readline_restart(ReadLineState
*rs
);
50 void readline_show_prompt(ReadLineState
*rs
);
52 ReadLineState
*readline_init(Monitor
*mon
,
53 ReadLineCompletionFunc
*completion_finder
);
55 #endif /* !READLINE_H */