~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

Linux Cross Reference
Linux/include/linux/console.h

Version: ~ [ 2.4.0 ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 /*
  2  *  linux/include/linux/console.h
  3  *
  4  *  Copyright (C) 1993        Hamish Macdonald
  5  *
  6  * This file is subject to the terms and conditions of the GNU General Public
  7  * License.  See the file COPYING in the main directory of this archive
  8  * for more details.
  9  *
 10  * Changed:
 11  * 10-Mar-94: Arno Griffioen: Conversion for vt100 emulator port from PC LINUX
 12  */
 13 
 14 #ifndef _LINUX_CONSOLE_H_
 15 #define _LINUX_CONSOLE_H_ 1
 16 
 17 #include <linux/types.h>
 18 #include <linux/kdev_t.h>
 19 #include <linux/spinlock.h>
 20 
 21 struct vc_data;
 22 struct console_font_op;
 23 
 24 /*
 25  * this is what the terminal answers to a ESC-Z or csi0c query.
 26  */
 27 #define VT100ID "\033[?1;2c"
 28 #define VT102ID "\033[?6c"
 29 
 30 struct consw {
 31         const char *(*con_startup)(void);
 32         void    (*con_init)(struct vc_data *, int);
 33         void    (*con_deinit)(struct vc_data *);
 34         void    (*con_clear)(struct vc_data *, int, int, int, int);
 35         void    (*con_putc)(struct vc_data *, int, int, int);
 36         void    (*con_putcs)(struct vc_data *, const unsigned short *, int, int, int);
 37         void    (*con_cursor)(struct vc_data *, int);
 38         int     (*con_scroll)(struct vc_data *, int, int, int, int);
 39         void    (*con_bmove)(struct vc_data *, int, int, int, int, int, int);
 40         int     (*con_switch)(struct vc_data *);
 41         int     (*con_blank)(struct vc_data *, int);
 42         int     (*con_font_op)(struct vc_data *, struct console_font_op *);
 43         int     (*con_set_palette)(struct vc_data *, unsigned char *);
 44         int     (*con_scrolldelta)(struct vc_data *, int);
 45         int     (*con_set_origin)(struct vc_data *);
 46         void    (*con_save_screen)(struct vc_data *);
 47         u8      (*con_build_attr)(struct vc_data *, u8, u8, u8, u8, u8);
 48         void    (*con_invert_region)(struct vc_data *, u16 *, int);
 49         u16    *(*con_screen_pos)(struct vc_data *, int);
 50         unsigned long (*con_getxy)(struct vc_data *, unsigned long, int *, int *);
 51 };
 52 
 53 extern const struct consw *conswitchp;
 54 
 55 extern const struct consw dummy_con;    /* dummy console buffer */
 56 extern const struct consw fb_con;       /* frame buffer based console */
 57 extern const struct consw vga_con;      /* VGA text console */
 58 extern const struct consw newport_con;  /* SGI Newport console  */
 59 extern const struct consw prom_con;     /* SPARC PROM console */
 60 
 61 void take_over_console(const struct consw *sw, int first, int last, int deflt);
 62 void give_up_console(const struct consw *sw);
 63 
 64 /* scroll */
 65 #define SM_UP       (1)
 66 #define SM_DOWN     (2)
 67 
 68 /* cursor */
 69 #define CM_DRAW     (1)
 70 #define CM_ERASE    (2)
 71 #define CM_MOVE     (3)
 72 
 73 /*
 74  *      Array of consoles built from command line options (console=)
 75  */
 76 struct console_cmdline
 77 {
 78         char    name[8];                        /* Name of the driver       */
 79         int     index;                          /* Minor dev. to use        */
 80         char    *options;                       /* Options for the driver   */
 81 };
 82 #define MAX_CMDLINECONSOLES 8
 83 extern struct console_cmdline console_list[MAX_CMDLINECONSOLES];
 84 
 85 /*
 86  *      The interface for a console, or any other device that
 87  *      wants to capture console messages (printer driver?)
 88  */
 89 
 90 #define CON_PRINTBUFFER (1)
 91 #define CON_CONSDEV     (2) /* Last on the command line */
 92 #define CON_ENABLED     (4)
 93 
 94 extern spinlock_t console_lock;
 95 
 96 struct console
 97 {
 98         char    name[8];
 99         void    (*write)(struct console *, const char *, unsigned);
100         int     (*read)(struct console *, const char *, unsigned);
101         kdev_t  (*device)(struct console *);
102         int     (*wait_key)(struct console *);
103         void    (*unblank)(void);
104         int     (*setup)(struct console *, char *);
105         short   flags;
106         short   index;
107         int     cflag;
108         struct   console *next;
109 };
110 
111 extern void register_console(struct console *);
112 extern int unregister_console(struct console *);
113 extern struct console *console_drivers;
114 
115 /* VESA Blanking Levels */
116 #define VESA_NO_BLANKING        0
117 #define VESA_VSYNC_SUSPEND      1
118 #define VESA_HSYNC_SUSPEND      2
119 #define VESA_POWERDOWN          3
120 
121 #endif /* _LINUX_CONSOLE_H */
122 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

This page was automatically generated by the LXR engine.
Visit the LXR main site for more information.