16ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh/****************************************************************************
26ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh ****************************************************************************
36ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh ***
46ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh ***   This header was automatically generated from a Linux kernel header
56ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh ***   of the same name, to make information necessary for userspace to
66ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh ***   call into the kernel available to libc.  It contains only constants,
76ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh ***   structures, and macros generated from the original header, and thus,
86ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh ***   contains no copyrightable information.
96ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh ***
106ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh ****************************************************************************
116ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh ****************************************************************************/
126ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#include <linux/wait.h>
136ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#include <linux/vt.h>
146ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh
156ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsiehstruct vt_struct;
166ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh
176ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define NPAR 16
186ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh
196ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsiehstruct vc_data {
206ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh unsigned short vc_num;
216ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh unsigned int vc_cols;
226ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh unsigned int vc_rows;
236ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh unsigned int vc_size_row;
246ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh unsigned int vc_scan_lines;
256ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh unsigned long vc_origin;
266ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh unsigned long vc_scr_end;
276ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh unsigned long vc_visible_origin;
286ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh unsigned int vc_top, vc_bottom;
296ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh const struct consw *vc_sw;
306ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh unsigned short *vc_screenbuf;
316ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh unsigned int vc_screenbuf_size;
326ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh unsigned char vc_mode;
336ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh
346ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh unsigned char vc_attr;
356ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh unsigned char vc_def_color;
366ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh unsigned char vc_color;
376ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh unsigned char vc_s_color;
386ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh unsigned char vc_ulcolor;
396ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh unsigned char vc_halfcolor;
406ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh
416ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh unsigned int vc_cursor_type;
426ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh unsigned short vc_complement_mask;
436ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh unsigned short vc_s_complement_mask;
446ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh unsigned int vc_x, vc_y;
456ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh unsigned int vc_saved_x, vc_saved_y;
466ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh unsigned long vc_pos;
476ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh
486ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh unsigned short vc_hi_font_mask;
496ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh struct console_font vc_font;
506ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh unsigned short vc_video_erase_char;
516ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh
526ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh unsigned int vc_state;
536ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh unsigned int vc_npar,vc_par[NPAR];
546ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh struct tty_struct *vc_tty;
556ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh
566ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh struct vt_mode vt_mode;
576ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh int vt_pid;
586ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh int vt_newvt;
596ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh wait_queue_head_t paste_wait;
606ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh
616ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh unsigned int vc_charset : 1;
626ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh unsigned int vc_s_charset : 1;
636ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh unsigned int vc_disp_ctrl : 1;
646ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh unsigned int vc_toggle_meta : 1;
656ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh unsigned int vc_decscnm : 1;
666ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh unsigned int vc_decom : 1;
676ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh unsigned int vc_decawm : 1;
686ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh unsigned int vc_deccm : 1;
696ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh unsigned int vc_decim : 1;
706ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh unsigned int vc_deccolm : 1;
716ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh
726ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh unsigned int vc_intensity : 2;
736ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh unsigned int vc_underline : 1;
746ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh unsigned int vc_blink : 1;
756ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh unsigned int vc_reverse : 1;
766ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh unsigned int vc_s_intensity : 2;
776ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh unsigned int vc_s_underline : 1;
786ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh unsigned int vc_s_blink : 1;
796ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh unsigned int vc_s_reverse : 1;
806ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh
816ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh unsigned int vc_ques : 1;
826ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh unsigned int vc_need_wrap : 1;
836ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh unsigned int vc_can_do_color : 1;
846ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh unsigned int vc_report_mouse : 2;
856ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh unsigned int vc_kmalloced : 1;
866ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh unsigned char vc_utf : 1;
876ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh unsigned char vc_utf_count;
886ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh int vc_utf_char;
896ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh unsigned int vc_tab_stop[8];
906ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh unsigned char vc_palette[16*3];
916ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh unsigned short * vc_translate;
926ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh unsigned char vc_G0_charset;
936ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh unsigned char vc_G1_charset;
946ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh unsigned char vc_saved_G0;
956ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh unsigned char vc_saved_G1;
966ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh unsigned int vc_bell_pitch;
976ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh unsigned int vc_bell_duration;
986ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh struct vc_data **vc_display_fg;
996ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh unsigned long vc_uni_pagedir;
1006ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh unsigned long *vc_uni_pagedir_loc;
1016ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh
1026ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh};
1036ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh
1046ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsiehstruct vc {
1056ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh struct vc_data *d;
1066ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh
1076ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh};
1086ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh
1096ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define CUR_DEF 0
1106ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define CUR_NONE 1
1116ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define CUR_UNDERLINE 2
1126ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define CUR_LOWER_THIRD 3
1136ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define CUR_LOWER_HALF 4
1146ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define CUR_TWO_THIRDS 5
1156ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define CUR_BLOCK 6
1166ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define CUR_HWMASK 0x0f
1176ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define CUR_SWMASK 0xfff0
1186ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh
1196ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define CUR_DEFAULT CUR_UNDERLINE
1206ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh
1216ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define CON_IS_VISIBLE(conp) (*conp->vc_display_fg == conp)
122