Blame view
include/linux/vt_kern.h
5.17 KB
1da177e4c
|
1 2 3 4 5 6 7 |
#ifndef _VT_KERN_H #define _VT_KERN_H /* * this really is an extension of the vc_cons structure in console.c, but * with information needed by the vt package */ |
1da177e4c
|
8 9 10 |
#include <linux/vt.h> #include <linux/kd.h> #include <linux/tty.h> |
c831c338f
|
11 |
#include <linux/mutex.h> |
1da177e4c
|
12 13 |
#include <linux/console_struct.h> #include <linux/mm.h> |
a29ccf6f8
|
14 |
#include <linux/consolemap.h> |
a5eb56242
|
15 |
#include <linux/notifier.h> |
1da177e4c
|
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
/* * Presently, a lot of graphics programs do not restore the contents of * the higher font pages. Defining this flag will avoid use of them, but * will lose support for PIO_FONTRESET. Note that many font operations are * not likely to work with these programs anyway; they need to be * fixed. The linux/Documentation directory includes a code snippet * to save and restore the text font. */ #ifdef CONFIG_VGA_CONSOLE #define BROKEN_GRAPHICS_PROGRAMS 1 #endif extern void kd_mksound(unsigned int hz, unsigned int ticks); extern int kbd_rate(struct kbd_repeat *rep); |
a8f340e39
|
31 |
extern int fg_console, last_console, want_console; |
1da177e4c
|
32 33 34 35 36 37 |
/* console.c */ int vc_allocate(unsigned int console); int vc_cons_allocated(unsigned int console); int vc_resize(struct vc_data *vc, unsigned int cols, unsigned int lines); |
ca9bda00b
|
38 |
void vc_deallocate(unsigned int console); |
1da177e4c
|
39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 |
void reset_palette(struct vc_data *vc); void do_blank_screen(int entering_gfx); void do_unblank_screen(int leaving_gfx); void unblank_screen(void); void poke_blanked_console(void); int con_font_op(struct vc_data *vc, struct console_font_op *op); int con_set_cmap(unsigned char __user *cmap); int con_get_cmap(unsigned char __user *cmap); void scrollback(struct vc_data *vc, int lines); void scrollfront(struct vc_data *vc, int lines); void update_region(struct vc_data *vc, unsigned long start, int count); void redraw_screen(struct vc_data *vc, int is_switch); #define update_screen(x) redraw_screen(x, 0) #define switch_screen(x) redraw_screen(x, 1) struct tty_struct; int tioclinux(struct tty_struct *tty, unsigned long arg); |
a29ccf6f8
|
56 |
#ifdef CONFIG_CONSOLE_TRANSLATIONS |
1da177e4c
|
57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 |
/* consolemap.c */ struct unimapinit; struct unipair; int con_set_trans_old(unsigned char __user * table); int con_get_trans_old(unsigned char __user * table); int con_set_trans_new(unsigned short __user * table); int con_get_trans_new(unsigned short __user * table); int con_clear_unimap(struct vc_data *vc, struct unimapinit *ui); int con_set_unimap(struct vc_data *vc, ushort ct, struct unipair __user *list); int con_get_unimap(struct vc_data *vc, ushort ct, ushort __user *uct, struct unipair __user *list); int con_set_default_unimap(struct vc_data *vc); void con_free_unimap(struct vc_data *vc); void con_protect_unimap(struct vc_data *vc, int rdonly); int con_copy_unimap(struct vc_data *dst_vc, struct vc_data *src_vc); |
a29ccf6f8
|
73 |
#define vc_translate(vc, c) ((vc)->vc_translate[(c) | \ |
4744b4343
|
74 |
((vc)->vc_toggle_meta ? 0x80 : 0)]) |
a29ccf6f8
|
75 |
#else |
75e0b946c
|
76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 |
static inline int con_set_trans_old(unsigned char __user *table) { return 0; } static inline int con_get_trans_old(unsigned char __user *table) { return -EINVAL; } static inline int con_set_trans_new(unsigned short __user *table) { return 0; } static inline int con_get_trans_new(unsigned short __user *table) { return -EINVAL; } static inline int con_clear_unimap(struct vc_data *vc, struct unimapinit *ui) { return 0; } static inline int con_set_unimap(struct vc_data *vc, ushort ct, struct unipair __user *list) { return 0; } static inline int con_get_unimap(struct vc_data *vc, ushort ct, ushort __user *uct, struct unipair __user *list) { return -EINVAL; } static inline int con_set_default_unimap(struct vc_data *vc) { return 0; } static inline void con_free_unimap(struct vc_data *vc) { } static inline void con_protect_unimap(struct vc_data *vc, int rdonly) { } static inline int con_copy_unimap(struct vc_data *dst_vc, struct vc_data *src_vc) { return 0; } |
a29ccf6f8
|
122 123 124 |
#define vc_translate(vc, c) (c) #endif |
1da177e4c
|
125 |
/* vt.c */ |
8b92e87d3
|
126 127 |
void vt_event_post(unsigned int event, unsigned int old, unsigned int new); int vt_waitactive(int n); |
1da177e4c
|
128 129 |
void change_console(struct vc_data *new_vc); void reset_vc(struct vc_data *vc); |
623e71b03
|
130 131 |
extern int unbind_con_driver(const struct consw *csw, int first, int last, int deflt); |
d81ed1030
|
132 |
int vty_init(const struct file_operations *console_fops); |
1da177e4c
|
133 |
|
8fd4bd223
|
134 135 136 137 138 139 |
static inline bool vt_force_oops_output(struct vc_data *vc) { if (oops_in_progress && vc->vc_panic_force_write) return true; return false; } |
1da177e4c
|
140 141 142 143 144 145 146 |
/* * vc_screen.c shares this temporary buffer with the console write code so that * we can easily avoid touching user space while holding the console spinlock. */ #define CON_BUF_SIZE (CONFIG_BASE_SMALL ? 256 : PAGE_SIZE) extern char con_buf[CON_BUF_SIZE]; |
c831c338f
|
147 |
extern struct mutex con_buf_mtx; |
b257bc051
|
148 |
extern char vt_dont_switch; |
2e8ecb9db
|
149 |
extern int default_utf8; |
f6c06b680
|
150 |
extern int global_cursor_default; |
1da177e4c
|
151 |
|
81af8d67d
|
152 153 154 155 156 157 |
struct vt_spawn_console { spinlock_t lock; struct pid *pid; int sig; }; extern struct vt_spawn_console vt_spawn_con; |
8d233558c
|
158 |
extern int vt_move_to_console(unsigned int vt, int alloc); |
a5eb56242
|
159 160 161 162 163 164 165 166 167 168 |
/* Interfaces for VC notification of character events (for accessibility etc) */ struct vt_notifier_param { struct vc_data *vc; /* VC on which the update happened */ unsigned int c; /* Printed char */ }; extern int register_vt_notifier(struct notifier_block *nb); extern int unregister_vt_notifier(struct notifier_block *nb); |
f6c06b680
|
169 |
extern void hide_boot_cursor(bool hide); |
1da177e4c
|
170 |
#endif /* _VT_KERN_H */ |