Blame view

include/linux/vt_kern.h 6.2 KB
b24413180   Greg Kroah-Hartman   License cleanup: ...
1
  /* SPDX-License-Identifier: GPL-2.0 */
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
2
3
4
5
6
7
8
  #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   Linus Torvalds   Linux-2.6.12-rc2
9
10
11
  #include <linux/vt.h>
  #include <linux/kd.h>
  #include <linux/tty.h>
c831c338f   Matthias Kaehlcke   use mutex instead...
12
  #include <linux/mutex.h>
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
13
14
  #include <linux/console_struct.h>
  #include <linux/mm.h>
a29ccf6f8   David Woodhouse   Make console char...
15
  #include <linux/consolemap.h>
a5eb56242   Alan Cox   vt: move kernel s...
16
  #include <linux/notifier.h>
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
  
  /*
   * 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   Jon Smirl   [PATCH] vt: Remov...
32
  extern int fg_console, last_console, want_console;
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
33
34
35
36
37
38
  
  /* 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);
421b40a62   Peter Hurley   tty/vt: Fix vc_de...
39
  struct vc_data *vc_deallocate(unsigned int console);
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
40
41
42
43
44
45
46
47
  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);
1b0ec88ac   Jiri Slaby   vt: remove lines ...
48
  void scrollback(struct vc_data *vc);
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
49
  void scrollfront(struct vc_data *vc, int lines);
2a2483072   Dave Airlie   vgacon/vt: clear ...
50
  void clear_buffer_attributes(struct vc_data *vc);
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
51
52
53
54
55
56
57
  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   David Woodhouse   Make console char...
58
  #ifdef CONFIG_CONSOLE_TRANSLATIONS
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
59
  /* consolemap.c */
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
60
61
62
63
64
65
  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);
f8b0c2e68   Jiri Slaby   tty: vt, ignore P...
66
  int con_clear_unimap(struct vc_data *vc);
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
67
68
69
70
  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);
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
71
  int con_copy_unimap(struct vc_data *dst_vc, struct vc_data *src_vc);
a29ccf6f8   David Woodhouse   Make console char...
72
  #define vc_translate(vc, c) ((vc)->vc_translate[(c) |			\
4744b4343   Tim Bird   embedded: fix vc_...
73
  					((vc)->vc_toggle_meta ? 0x80 : 0)])
a29ccf6f8   David Woodhouse   Make console char...
74
  #else
75e0b946c   Kevin Winchester   vt: Fix warning: ...
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
  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;
  }
f8b0c2e68   Jiri Slaby   tty: vt, ignore P...
91
  static inline int con_clear_unimap(struct vc_data *vc)
75e0b946c   Kevin Winchester   vt: Fix warning: ...
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
  {
  	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   David Woodhouse   Make console char...
121
122
123
  
  #define vc_translate(vc, c) (c)
  #endif
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
124
  /* vt.c */
8b92e87d3   Alan Cox   vt: add an event ...
125
126
  void vt_event_post(unsigned int event, unsigned int old, unsigned int new);
  int vt_waitactive(int n);
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
127
128
  void change_console(struct vc_data *new_vc);
  void reset_vc(struct vc_data *vc);
e93a9a868   Takashi Iwai   fb: Yet another b...
129
130
  extern int do_unbind_con_driver(const struct consw *csw, int first, int last,
  			     int deflt);
d81ed1030   Alan Cox   tty: Remove more ...
131
  int vty_init(const struct file_operations *console_fops);
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
132

8fd4bd223   Jesse Barnes   vt/console: try h...
133
134
  static inline bool vt_force_oops_output(struct vc_data *vc)
  {
c958474b6   Mandeep Singh Baines   panic, vt: do not...
135
  	if (oops_in_progress && vc->vc_panic_force_write  && panic_timeout >= 0)
8fd4bd223   Jesse Barnes   vt/console: try h...
136
137
138
  		return true;
  	return false;
  }
b257bc051   Andrew Johnson   [PATCH] swsusp: f...
139
  extern char vt_dont_switch;
2e8ecb9db   Bill Nottingham   add CONFIG_VT_UNI...
140
  extern int default_utf8;
f6c06b680   Matthew Garrett   vc: Add support f...
141
  extern int global_cursor_default;
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
142

81af8d67d   Eric W. Biederman   [PATCH] vt: rewor...
143
144
145
146
147
148
  struct vt_spawn_console {
  	spinlock_t lock;
  	struct pid *pid;
  	int sig;
  };
  extern struct vt_spawn_console vt_spawn_con;
8d233558c   Alan Cox   vt: remove power ...
149
  extern int vt_move_to_console(unsigned int vt, int alloc);
a5eb56242   Alan Cox   vt: move kernel s...
150
151
152
153
154
155
156
157
158
159
  
  /* 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   Matthew Garrett   vc: Add support f...
160
  extern void hide_boot_cursor(bool hide);
247ff8e61   Alan Cox   vt: lock the acce...
161
162
  /* keyboard  provided interfaces */
  extern int vt_do_diacrit(unsigned int cmd, void __user *up, int eperm);
079c9534a   Alan Cox   vt:tackle kbd_table
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
  extern int vt_do_kdskbmode(int console, unsigned int arg);
  extern int vt_do_kdskbmeta(int console, unsigned int arg);
  extern int vt_do_kbkeycode_ioctl(int cmd, struct kbkeycode __user *user_kbkc,
  								int perm);
  extern int vt_do_kdsk_ioctl(int cmd, struct kbentry __user *user_kbe,
  					int perm, int console);
  extern int vt_do_kdgkb_ioctl(int cmd, struct kbsentry __user *user_kdgkb,
                                          int perm);
  extern int vt_do_kdskled(int console, int cmd, unsigned long arg, int perm);
  extern int vt_do_kdgkbmode(int console);
  extern int vt_do_kdgkbmeta(int console);
  extern void vt_reset_unicode(int console);
  extern int vt_get_shift_state(void);
  extern void vt_reset_keyboard(int console);
  extern int vt_get_leds(int console, int flag);
  extern int vt_get_kbd_mode_bit(int console, int bit);
  extern void vt_set_kbd_mode_bit(int console, int bit);
  extern void vt_clr_kbd_mode_bit(int console, int bit);
  extern void vt_set_led_state(int console, int leds);
  extern void vt_set_led_state(int console, int leds);
  extern void vt_kbd_con_start(int console);
  extern void vt_kbd_con_stop(int console);
35cc56f9a   Jiri Slaby   tty: vgacon+sisus...
185
186
  void vc_scrolldelta_helper(struct vc_data *c, int lines,
  		unsigned int rolled_over, void *_base, unsigned int size);
247ff8e61   Alan Cox   vt: lock the acce...
187

1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
188
  #endif /* _VT_KERN_H */