qemu/readline.h
<<
>>
Prefs
   1#ifndef READLINE_H
   2#define READLINE_H
   3
   4#include "qemu-common.h"
   5
   6#define READLINE_CMD_BUF_SIZE 4095
   7#define READLINE_MAX_CMDS 64
   8#define READLINE_MAX_COMPLETIONS 256
   9
  10typedef void ReadLineFunc(Monitor *mon, const char *str, void *opaque);
  11typedef void ReadLineCompletionFunc(const char *cmdline);
  12
  13typedef struct ReadLineState {
  14    char cmd_buf[READLINE_CMD_BUF_SIZE + 1];
  15    int cmd_buf_index;
  16    int cmd_buf_size;
  17
  18    char last_cmd_buf[READLINE_CMD_BUF_SIZE + 1];
  19    int last_cmd_buf_index;
  20    int last_cmd_buf_size;
  21
  22    int esc_state;
  23    int esc_param;
  24
  25    char *history[READLINE_MAX_CMDS];
  26    int hist_entry;
  27
  28    ReadLineCompletionFunc *completion_finder;
  29    char *completions[READLINE_MAX_COMPLETIONS];
  30    int nb_completions;
  31    int completion_index;
  32
  33    ReadLineFunc *readline_func;
  34    void *readline_opaque;
  35    int read_password;
  36    char prompt[256];
  37    Monitor *mon;
  38} ReadLineState;
  39
  40void readline_add_completion(ReadLineState *rs, const char *str);
  41void readline_set_completion_index(ReadLineState *rs, int completion_index);
  42
  43const char *readline_get_history(ReadLineState *rs, unsigned int index);
  44
  45void readline_handle_byte(ReadLineState *rs, int ch);
  46
  47void readline_start(ReadLineState *rs, const char *prompt, int read_password,
  48                    ReadLineFunc *readline_func, void *opaque);
  49void readline_restart(ReadLineState *rs);
  50void readline_show_prompt(ReadLineState *rs);
  51
  52ReadLineState *readline_init(Monitor *mon,
  53                             ReadLineCompletionFunc *completion_finder);
  54
  55#endif /* !READLINE_H */
  56