summaryrefslogtreecommitdiffstats
path: root/libc/kernel/common/linux/console_struct.h
blob: 50e4cbe657dd8a78670f69f12ad3896ba74d9c5d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
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
/****************************************************************************
 ****************************************************************************
 ***
 ***   This header was automatically generated from a Linux kernel header
 ***   of the same name, to make information necessary for userspace to
 ***   call into the kernel available to libc.  It contains only constants,
 ***   structures, and macros generated from the original header, and thus,
 ***   contains no copyrightable information.
 ***
 ****************************************************************************
 ****************************************************************************/
#include <linux/wait.h>
#include <linux/vt.h>

struct vt_struct;

#define NPAR 16

struct vc_data {
 unsigned short vc_num;
 unsigned int vc_cols;
 unsigned int vc_rows;
 unsigned int vc_size_row;
 unsigned int vc_scan_lines;
 unsigned long vc_origin;
 unsigned long vc_scr_end;
 unsigned long vc_visible_origin;
 unsigned int vc_top, vc_bottom;
 const struct consw *vc_sw;
 unsigned short *vc_screenbuf;
 unsigned int vc_screenbuf_size;
 unsigned char vc_mode;

 unsigned char vc_attr;
 unsigned char vc_def_color;
 unsigned char vc_color;
 unsigned char vc_s_color;
 unsigned char vc_ulcolor;
 unsigned char vc_halfcolor;

 unsigned int vc_cursor_type;
 unsigned short vc_complement_mask;
 unsigned short vc_s_complement_mask;
 unsigned int vc_x, vc_y;
 unsigned int vc_saved_x, vc_saved_y;
 unsigned long vc_pos;

 unsigned short vc_hi_font_mask;
 struct console_font vc_font;
 unsigned short vc_video_erase_char;

 unsigned int vc_state;
 unsigned int vc_npar,vc_par[NPAR];
 struct tty_struct *vc_tty;

 struct vt_mode vt_mode;
 int vt_pid;
 int vt_newvt;
 wait_queue_head_t paste_wait;

 unsigned int vc_charset : 1;
 unsigned int vc_s_charset : 1;
 unsigned int vc_disp_ctrl : 1;
 unsigned int vc_toggle_meta : 1;
 unsigned int vc_decscnm : 1;
 unsigned int vc_decom : 1;
 unsigned int vc_decawm : 1;
 unsigned int vc_deccm : 1;
 unsigned int vc_decim : 1;
 unsigned int vc_deccolm : 1;

 unsigned int vc_intensity : 2;
 unsigned int vc_underline : 1;
 unsigned int vc_blink : 1;
 unsigned int vc_reverse : 1;
 unsigned int vc_s_intensity : 2;
 unsigned int vc_s_underline : 1;
 unsigned int vc_s_blink : 1;
 unsigned int vc_s_reverse : 1;

 unsigned int vc_ques : 1;
 unsigned int vc_need_wrap : 1;
 unsigned int vc_can_do_color : 1;
 unsigned int vc_report_mouse : 2;
 unsigned int vc_kmalloced : 1;
 unsigned char vc_utf : 1;
 unsigned char vc_utf_count;
 int vc_utf_char;
 unsigned int vc_tab_stop[8];
 unsigned char vc_palette[16*3];
 unsigned short * vc_translate;
 unsigned char vc_G0_charset;
 unsigned char vc_G1_charset;
 unsigned char vc_saved_G0;
 unsigned char vc_saved_G1;
 unsigned int vc_bell_pitch;
 unsigned int vc_bell_duration;
 struct vc_data **vc_display_fg;
 unsigned long vc_uni_pagedir;
 unsigned long *vc_uni_pagedir_loc;

};

struct vc {
 struct vc_data *d;

};

#define CUR_DEF 0
#define CUR_NONE 1
#define CUR_UNDERLINE 2
#define CUR_LOWER_THIRD 3
#define CUR_LOWER_HALF 4
#define CUR_TWO_THIRDS 5
#define CUR_BLOCK 6
#define CUR_HWMASK 0x0f
#define CUR_SWMASK 0xfff0

#define CUR_DEFAULT CUR_UNDERLINE

#define CON_IS_VISIBLE(conp) (*conp->vc_display_fg == conp)