Ignore:
Timestamp:
2014-03-17T15:00:13Z (10 years ago)
Author:
Martin Decky <martin@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
9df6b0f
Parents:
e1fc679a
Message:

add support for framebuffer history paging (using Page Up and Page Down keys), inspiration taken from the code by Sebastian Köln
add support for input device out-of-band signalling

File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/generic/include/console/chardev.h

    re1fc679a r7ddc2c7  
    4343#define INDEV_BUFLEN  512
    4444
     45/** Input character device out-of-band signal type. */
     46typedef enum {
     47        INDEV_SIGNAL_SCROLL_UP = 0,
     48        INDEV_SIGNAL_SCROLL_DOWN
     49} indev_signal_t;
     50
    4551struct indev;
    4652
    47 /* Input character device operations interface. */
     53/** Input character device operations interface. */
    4854typedef struct {
    4955        /** Read character directly from device, assume interrupts disabled. */
    5056        wchar_t (* poll)(struct indev *);
     57       
     58        /** Signal out-of-band condition. */
     59        void (* signal)(struct indev *, indev_signal_t);
    5160} indev_operations_t;
    5261
     
    6776} indev_t;
    6877
    69 
    7078struct outdev;
    7179
    72 /* Output character device operations interface. */
     80/** Output character device operations interface. */
    7381typedef struct {
    7482        /** Write character to output. */
     
    7785        /** Redraw any previously cached characters. */
    7886        void (* redraw)(struct outdev *);
     87       
     88        /** Scroll up in the device cache. */
     89        void (* scroll_up)(struct outdev *);
     90       
     91        /** Scroll down in the device cache. */
     92        void (* scroll_down)(struct outdev *);
    7993} outdev_operations_t;
    8094
     
    99113extern void indev_push_character(indev_t *, wchar_t);
    100114extern wchar_t indev_pop_character(indev_t *);
     115extern void indev_signal(indev_t *, indev_signal_t);
    101116
    102117extern void outdev_initialize(const char *, outdev_t *,
Note: See TracChangeset for help on using the changeset viewer.