1
2
3
4
5
6
7
8
9
10
11
12
13
14 #ifndef _LINUX_CONSOLE_H_
15 #define _LINUX_CONSOLE_H_ 1
16
17 #define NPAR 16
18
19 struct vc_data {
20 unsigned long vc_screenbuf_size;
21 unsigned short vc_num;
22 unsigned short vc_video_erase_char;
23 unsigned char vc_attr;
24 unsigned char vc_def_color;
25 unsigned char vc_color;
26 unsigned char vc_s_color;
27 unsigned char vc_ulcolor;
28 unsigned char vc_halfcolor;
29 unsigned long vc_origin;
30 unsigned long vc_scr_end;
31 unsigned short *vc_pos;
32 unsigned long vc_x,vc_y;
33 unsigned long vc_top,vc_bottom;
34 unsigned long vc_rows,vc_cols;
35 unsigned long vc_size_row;
36 unsigned long vc_state;
37 unsigned long vc_npar,vc_par[NPAR];
38 unsigned short *vc_video_mem_start;
39 unsigned long vc_video_mem_end;
40 unsigned long vc_saved_x;
41 unsigned long vc_saved_y;
42
43 unsigned long vc_charset : 1;
44 unsigned long vc_s_charset : 1;
45 unsigned long vc_disp_ctrl : 1;
46 unsigned long vc_toggle_meta : 1;
47 unsigned long vc_decscnm : 1;
48 unsigned long vc_decom : 1;
49 unsigned long vc_decawm : 1;
50 unsigned long vc_deccm : 1;
51 unsigned long vc_decim : 1;
52 unsigned long vc_deccolm : 1;
53
54 unsigned long vc_intensity : 2;
55 unsigned long vc_underline : 1;
56 unsigned long vc_blink : 1;
57 unsigned long vc_reverse : 1;
58 unsigned long vc_s_intensity : 2;
59 unsigned long vc_s_underline : 1;
60 unsigned long vc_s_blink : 1;
61 unsigned long vc_s_reverse : 1;
62
63 unsigned long vc_ques : 1;
64 unsigned long vc_need_wrap : 1;
65 unsigned long vc_can_do_color : 1;
66 unsigned long vc_has_scrolled : 1;
67 unsigned long vc_kmalloced : 1;
68 unsigned long vc_report_mouse : 2;
69 unsigned char vc_utf : 1;
70 unsigned char vc_utf_count;
71 unsigned long vc_utf_char;
72 unsigned long vc_tab_stop[5];
73 unsigned short *vc_translate;
74 unsigned char vc_G0_charset;
75 unsigned char vc_G1_charset;
76 unsigned char vc_saved_G0;
77 unsigned char vc_saved_G1;
78 unsigned int vc_bell_pitch;
79 unsigned int vc_bell_duration;
80 struct consw *vc_sw;
81
82 };
83
84
85
86
87 #define VT100ID "\033[?1;2c"
88 #define VT102ID "\033[?6c"
89
90
91
92 struct consw {
93 unsigned long (*con_startup)(unsigned long, char **);
94 void (*con_init)(struct vc_data *);
95 int (*con_deinit)(struct vc_data *);
96 int (*con_clear)(struct vc_data *, int, int, int, int);
97 int (*con_putc)(struct vc_data *, int, int, int);
98 int (*con_putcs)(struct vc_data *, const char *, int, int, int);
99 int (*con_cursor)(struct vc_data *, int);
100 int (*con_scroll)(struct vc_data *, int, int, int, int);
101 int (*con_bmove)(struct vc_data *, int, int, int, int, int, int);
102 int (*con_switch)(struct vc_data *);
103 int (*con_blank)(int);
104 int (*con_get_font)(struct vc_data *, int *, int *, char *);
105 int (*con_set_font)(struct vc_data *, int, int, char *);
106 };
107
108 extern struct consw *conswitchp;
109
110
111 #define CON_INITED (1)
112
113
114 #define SM_UP (1)
115 #define SM_DOWN (2)
116 #define SM_LEFT (3)
117 #define SM_RIGHT (4)
118
119
120 #define CM_DRAW (1)
121 #define CM_ERASE (2)
122 #define CM_MOVE (3)
123
124 #endif