1951a39d68df598db08dfced8b4707755864a0492Ying Wang/****************************************************************************
2951a39d68df598db08dfced8b4707755864a0492Ying Wang ****************************************************************************
3951a39d68df598db08dfced8b4707755864a0492Ying Wang ***
4951a39d68df598db08dfced8b4707755864a0492Ying Wang ***   This header was automatically generated from a Linux kernel header
5951a39d68df598db08dfced8b4707755864a0492Ying Wang ***   of the same name, to make information necessary for userspace to
6951a39d68df598db08dfced8b4707755864a0492Ying Wang ***   call into the kernel available to libc.  It contains only constants,
7951a39d68df598db08dfced8b4707755864a0492Ying Wang ***   structures, and macros generated from the original header, and thus,
8951a39d68df598db08dfced8b4707755864a0492Ying Wang ***   contains no copyrightable information.
9951a39d68df598db08dfced8b4707755864a0492Ying Wang ***
10951a39d68df598db08dfced8b4707755864a0492Ying Wang ****************************************************************************
11951a39d68df598db08dfced8b4707755864a0492Ying Wang ****************************************************************************/
12951a39d68df598db08dfced8b4707755864a0492Ying Wang#include <linux/wait.h>
13951a39d68df598db08dfced8b4707755864a0492Ying Wang#include <linux/vt.h>
14951a39d68df598db08dfced8b4707755864a0492Ying Wang
15951a39d68df598db08dfced8b4707755864a0492Ying Wangstruct vt_struct;
16951a39d68df598db08dfced8b4707755864a0492Ying Wang
17951a39d68df598db08dfced8b4707755864a0492Ying Wang#define NPAR 16
18951a39d68df598db08dfced8b4707755864a0492Ying Wang
19951a39d68df598db08dfced8b4707755864a0492Ying Wangstruct vc_data {
20951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned short vc_num;
21951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned int vc_cols;
22951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned int vc_rows;
23951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned int vc_size_row;
24951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned int vc_scan_lines;
25951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned long vc_origin;
26951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned long vc_scr_end;
27951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned long vc_visible_origin;
28951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned int vc_top, vc_bottom;
29951a39d68df598db08dfced8b4707755864a0492Ying Wang const struct consw *vc_sw;
30951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned short *vc_screenbuf;
31951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned int vc_screenbuf_size;
32951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned char vc_mode;
33951a39d68df598db08dfced8b4707755864a0492Ying Wang
34951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned char vc_attr;
35951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned char vc_def_color;
36951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned char vc_color;
37951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned char vc_s_color;
38951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned char vc_ulcolor;
39951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned char vc_halfcolor;
40951a39d68df598db08dfced8b4707755864a0492Ying Wang
41951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned int vc_cursor_type;
42951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned short vc_complement_mask;
43951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned short vc_s_complement_mask;
44951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned int vc_x, vc_y;
45951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned int vc_saved_x, vc_saved_y;
46951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned long vc_pos;
47951a39d68df598db08dfced8b4707755864a0492Ying Wang
48951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned short vc_hi_font_mask;
49951a39d68df598db08dfced8b4707755864a0492Ying Wang struct console_font vc_font;
50951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned short vc_video_erase_char;
51951a39d68df598db08dfced8b4707755864a0492Ying Wang
52951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned int vc_state;
53951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned int vc_npar,vc_par[NPAR];
54951a39d68df598db08dfced8b4707755864a0492Ying Wang struct tty_struct *vc_tty;
55951a39d68df598db08dfced8b4707755864a0492Ying Wang
56951a39d68df598db08dfced8b4707755864a0492Ying Wang struct vt_mode vt_mode;
57951a39d68df598db08dfced8b4707755864a0492Ying Wang int vt_pid;
58951a39d68df598db08dfced8b4707755864a0492Ying Wang int vt_newvt;
59951a39d68df598db08dfced8b4707755864a0492Ying Wang wait_queue_head_t paste_wait;
60951a39d68df598db08dfced8b4707755864a0492Ying Wang
61951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned int vc_charset : 1;
62951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned int vc_s_charset : 1;
63951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned int vc_disp_ctrl : 1;
64951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned int vc_toggle_meta : 1;
65951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned int vc_decscnm : 1;
66951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned int vc_decom : 1;
67951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned int vc_decawm : 1;
68951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned int vc_deccm : 1;
69951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned int vc_decim : 1;
70951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned int vc_deccolm : 1;
71951a39d68df598db08dfced8b4707755864a0492Ying Wang
72951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned int vc_intensity : 2;
73951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned int vc_underline : 1;
74951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned int vc_blink : 1;
75951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned int vc_reverse : 1;
76951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned int vc_s_intensity : 2;
77951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned int vc_s_underline : 1;
78951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned int vc_s_blink : 1;
79951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned int vc_s_reverse : 1;
80951a39d68df598db08dfced8b4707755864a0492Ying Wang
81951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned int vc_ques : 1;
82951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned int vc_need_wrap : 1;
83951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned int vc_can_do_color : 1;
84951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned int vc_report_mouse : 2;
85951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned int vc_kmalloced : 1;
86951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned char vc_utf : 1;
87951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned char vc_utf_count;
88951a39d68df598db08dfced8b4707755864a0492Ying Wang int vc_utf_char;
89951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned int vc_tab_stop[8];
90951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned char vc_palette[16*3];
91951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned short * vc_translate;
92951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned char vc_G0_charset;
93951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned char vc_G1_charset;
94951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned char vc_saved_G0;
95951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned char vc_saved_G1;
96951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned int vc_bell_pitch;
97951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned int vc_bell_duration;
98951a39d68df598db08dfced8b4707755864a0492Ying Wang struct vc_data **vc_display_fg;
99951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned long vc_uni_pagedir;
100951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned long *vc_uni_pagedir_loc;
101951a39d68df598db08dfced8b4707755864a0492Ying Wang
102951a39d68df598db08dfced8b4707755864a0492Ying Wang};
103951a39d68df598db08dfced8b4707755864a0492Ying Wang
104951a39d68df598db08dfced8b4707755864a0492Ying Wangstruct vc {
105951a39d68df598db08dfced8b4707755864a0492Ying Wang struct vc_data *d;
106951a39d68df598db08dfced8b4707755864a0492Ying Wang
107951a39d68df598db08dfced8b4707755864a0492Ying Wang};
108951a39d68df598db08dfced8b4707755864a0492Ying Wang
109951a39d68df598db08dfced8b4707755864a0492Ying Wang#define CUR_DEF 0
110951a39d68df598db08dfced8b4707755864a0492Ying Wang#define CUR_NONE 1
111951a39d68df598db08dfced8b4707755864a0492Ying Wang#define CUR_UNDERLINE 2
112951a39d68df598db08dfced8b4707755864a0492Ying Wang#define CUR_LOWER_THIRD 3
113951a39d68df598db08dfced8b4707755864a0492Ying Wang#define CUR_LOWER_HALF 4
114951a39d68df598db08dfced8b4707755864a0492Ying Wang#define CUR_TWO_THIRDS 5
115951a39d68df598db08dfced8b4707755864a0492Ying Wang#define CUR_BLOCK 6
116951a39d68df598db08dfced8b4707755864a0492Ying Wang#define CUR_HWMASK 0x0f
117951a39d68df598db08dfced8b4707755864a0492Ying Wang#define CUR_SWMASK 0xfff0
118951a39d68df598db08dfced8b4707755864a0492Ying Wang
119951a39d68df598db08dfced8b4707755864a0492Ying Wang#define CUR_DEFAULT CUR_UNDERLINE
120951a39d68df598db08dfced8b4707755864a0492Ying Wang
121951a39d68df598db08dfced8b4707755864a0492Ying Wang#define CON_IS_VISIBLE(conp) (*conp->vc_display_fg == conp)
122