Annotation of qemu/console.h, revision 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