cachepc-qemu

Fork of AMDESE/qemu with changes for cachepc side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-qemu
Log | Files | Refs | Submodules | LICENSE | sfeed.txt

readline.h (2044B)


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