Annotation of qemu/console.h, revision 1.1.1.1

1.1       root        1: #ifndef CONSOLE_H
                      2: #define CONSOLE_H
                      3: 
                      4: #include "qemu-char.h"
                      5: 
                      6: /* keyboard/mouse support */
                      7: 
                      8: #define MOUSE_EVENT_LBUTTON 0x01
                      9: #define MOUSE_EVENT_RBUTTON 0x02
                     10: #define MOUSE_EVENT_MBUTTON 0x04
                     11: 
                     12: typedef void QEMUPutKBDEvent(void *opaque, int keycode);
                     13: typedef void QEMUPutMouseEvent(void *opaque, int dx, int dy, int dz, int buttons_state);
                     14: 
                     15: typedef struct QEMUPutMouseEntry {
                     16:     QEMUPutMouseEvent *qemu_put_mouse_event;
                     17:     void *qemu_put_mouse_event_opaque;
                     18:     int qemu_put_mouse_event_absolute;
                     19:     char *qemu_put_mouse_event_name;
                     20: 
                     21:     /* used internally by qemu for handling mice */
                     22:     struct QEMUPutMouseEntry *next;
                     23: } QEMUPutMouseEntry;
                     24: 
                     25: void qemu_add_kbd_event_handler(QEMUPutKBDEvent *func, void *opaque);
                     26: QEMUPutMouseEntry *qemu_add_mouse_event_handler(QEMUPutMouseEvent *func,
                     27:                                                 void *opaque, int absolute,
                     28:                                                 const char *name);
                     29: void qemu_remove_mouse_event_handler(QEMUPutMouseEntry *entry);
                     30: 
                     31: void kbd_put_keycode(int keycode);
                     32: void kbd_mouse_event(int dx, int dy, int dz, int buttons_state);
                     33: int kbd_mouse_is_absolute(void);
                     34: 
                     35: void do_info_mice(void);
                     36: void do_mouse_set(int index);
                     37: 
                     38: /* keysym is a unicode code except for special keys (see QEMU_KEY_xxx
                     39:    constants) */
                     40: #define QEMU_KEY_ESC1(c) ((c) | 0xe100)
                     41: #define QEMU_KEY_BACKSPACE  0x007f
                     42: #define QEMU_KEY_UP         QEMU_KEY_ESC1('A')
                     43: #define QEMU_KEY_DOWN       QEMU_KEY_ESC1('B')
                     44: #define QEMU_KEY_RIGHT      QEMU_KEY_ESC1('C')
                     45: #define QEMU_KEY_LEFT       QEMU_KEY_ESC1('D')
                     46: #define QEMU_KEY_HOME       QEMU_KEY_ESC1(1)
                     47: #define QEMU_KEY_END        QEMU_KEY_ESC1(4)
                     48: #define QEMU_KEY_PAGEUP     QEMU_KEY_ESC1(5)
                     49: #define QEMU_KEY_PAGEDOWN   QEMU_KEY_ESC1(6)
                     50: #define QEMU_KEY_DELETE     QEMU_KEY_ESC1(3)
                     51: 
                     52: #define QEMU_KEY_CTRL_UP         0xe400
                     53: #define QEMU_KEY_CTRL_DOWN       0xe401
                     54: #define QEMU_KEY_CTRL_LEFT       0xe402
                     55: #define QEMU_KEY_CTRL_RIGHT      0xe403
                     56: #define QEMU_KEY_CTRL_HOME       0xe404
                     57: #define QEMU_KEY_CTRL_END        0xe405
                     58: #define QEMU_KEY_CTRL_PAGEUP     0xe406
                     59: #define QEMU_KEY_CTRL_PAGEDOWN   0xe407
                     60: 
                     61: void kbd_put_keysym(int keysym);
                     62: 
                     63: /* consoles */
                     64: 
                     65: struct DisplayState {
                     66:     uint8_t *data;
                     67:     int linesize;
                     68:     int depth;
                     69:     int bgr; /* BGR color order instead of RGB. Only valid for depth == 32 */
                     70:     int width;
                     71:     int height;
                     72:     void *opaque;
                     73:     struct QEMUTimer *gui_timer;
                     74: 
                     75:     void (*dpy_update)(struct DisplayState *s, int x, int y, int w, int h);
                     76:     void (*dpy_resize)(struct DisplayState *s, int w, int h);
                     77:     void (*dpy_refresh)(struct DisplayState *s);
                     78:     void (*dpy_copy)(struct DisplayState *s, int src_x, int src_y,
                     79:                      int dst_x, int dst_y, int w, int h);
                     80:     void (*dpy_fill)(struct DisplayState *s, int x, int y,
                     81:                      int w, int h, uint32_t c);
                     82:     void (*mouse_set)(int x, int y, int on);
                     83:     void (*cursor_define)(int width, int height, int bpp, int hot_x, int hot_y,
                     84:                           uint8_t *image, uint8_t *mask);
                     85: };
                     86: 
                     87: static inline void dpy_update(DisplayState *s, int x, int y, int w, int h)
                     88: {
                     89:     s->dpy_update(s, x, y, w, h);
                     90: }
                     91: 
                     92: static inline void dpy_resize(DisplayState *s, int w, int h)
                     93: {
                     94:     s->dpy_resize(s, w, h);
                     95: }
                     96: 
                     97: typedef void (*vga_hw_update_ptr)(void *);
                     98: typedef void (*vga_hw_invalidate_ptr)(void *);
                     99: typedef void (*vga_hw_screen_dump_ptr)(void *, const char *);
                    100: 
                    101: TextConsole *graphic_console_init(DisplayState *ds, vga_hw_update_ptr update,
                    102:                                   vga_hw_invalidate_ptr invalidate,
                    103:                                   vga_hw_screen_dump_ptr screen_dump,
                    104:                                   void *opaque);
                    105: void vga_hw_update(void);
                    106: void vga_hw_invalidate(void);
                    107: void vga_hw_screen_dump(const char *filename);
                    108: 
                    109: int is_graphic_console(void);
                    110: CharDriverState *text_console_init(DisplayState *ds, const char *p);
                    111: void console_select(unsigned int index);
                    112: void console_color_init(DisplayState *ds);
                    113: 
                    114: /* sdl.c */
                    115: void sdl_display_init(DisplayState *ds, int full_screen, int no_frame);
                    116: 
                    117: /* cocoa.m */
                    118: void cocoa_display_init(DisplayState *ds, int full_screen);
                    119: 
                    120: /* vnc.c */
                    121: void vnc_display_init(DisplayState *ds);
                    122: void vnc_display_close(DisplayState *ds);
                    123: int vnc_display_open(DisplayState *ds, const char *display);
                    124: int vnc_display_password(DisplayState *ds, const char *password);
                    125: void do_info_vnc(void);
                    126: 
                    127: /* x_keymap.c */
                    128: extern uint8_t _translate_keycode(const int key);
                    129: 
                    130: /* FIXME: term_printf et al should probably go elsewhere so everything
                    131:    does not need to include console.h  */
                    132: /* monitor.c */
                    133: void monitor_init(CharDriverState *hd, int show_banner);
                    134: void term_puts(const char *str);
                    135: void term_vprintf(const char *fmt, va_list ap);
                    136: void term_printf(const char *fmt, ...) __attribute__ ((__format__ (__printf__, 1, 2)));
                    137: void term_print_filename(const char *filename);
                    138: void term_flush(void);
                    139: void term_print_help(void);
                    140: void monitor_readline(const char *prompt, int is_password,
                    141:                       char *buf, int buf_size);
                    142: 
                    143: /* readline.c */
                    144: typedef void ReadLineFunc(void *opaque, const char *str);
                    145: 
                    146: extern int completion_index;
                    147: void add_completion(const char *str);
                    148: void readline_handle_byte(int ch);
                    149: void readline_find_completion(const char *cmdline);
                    150: const char *readline_get_history(unsigned int index);
                    151: void readline_start(const char *prompt, int is_password,
                    152:                     ReadLineFunc *readline_func, void *opaque);
                    153: 
                    154: #endif

unix.superglobalmegacorp.com