111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/****************************************************************************
211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ****************************************************************************
311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***
411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   This header was automatically generated from a Linux kernel header
511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   of the same name, to make information necessary for userspace to
611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   call into the kernel available to libc.  It contains only constants,
711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   structures, and macros generated from the original header, and thus,
811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   contains no copyrightable information.
911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***
1011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ****************************************************************************
1111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ****************************************************************************/
1211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#include <linux/wait.h>
1311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#include <linux/vt.h>
1411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
1511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct vt_struct;
1611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
1711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define NPAR 16
1811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
1911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct vc_data {
2011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned short vc_num;
2111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned int vc_cols;
2211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned int vc_rows;
2311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned int vc_size_row;
2411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned int vc_scan_lines;
2511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned long vc_origin;
2611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned long vc_scr_end;
2711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned long vc_visible_origin;
2811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned int vc_top, vc_bottom;
2911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const struct consw *vc_sw;
3011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned short *vc_screenbuf;
3111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned int vc_screenbuf_size;
3211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned char vc_mode;
3311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
3411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned char vc_attr;
3511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned char vc_def_color;
3611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned char vc_color;
3711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned char vc_s_color;
3811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned char vc_ulcolor;
3911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned char vc_halfcolor;
4011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
4111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned int vc_cursor_type;
4211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned short vc_complement_mask;
4311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned short vc_s_complement_mask;
4411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned int vc_x, vc_y;
4511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned int vc_saved_x, vc_saved_y;
4611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned long vc_pos;
4711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
4811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned short vc_hi_font_mask;
4911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert struct console_font vc_font;
5011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned short vc_video_erase_char;
5111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
5211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned int vc_state;
5311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned int vc_npar,vc_par[NPAR];
5411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert struct tty_struct *vc_tty;
5511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
5611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert struct vt_mode vt_mode;
5711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert int vt_pid;
5811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert int vt_newvt;
5911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert wait_queue_head_t paste_wait;
6011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
6111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned int vc_charset : 1;
6211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned int vc_s_charset : 1;
6311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned int vc_disp_ctrl : 1;
6411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned int vc_toggle_meta : 1;
6511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned int vc_decscnm : 1;
6611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned int vc_decom : 1;
6711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned int vc_decawm : 1;
6811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned int vc_deccm : 1;
6911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned int vc_decim : 1;
7011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned int vc_deccolm : 1;
7111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
7211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned int vc_intensity : 2;
7311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned int vc_underline : 1;
7411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned int vc_blink : 1;
7511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned int vc_reverse : 1;
7611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned int vc_s_intensity : 2;
7711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned int vc_s_underline : 1;
7811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned int vc_s_blink : 1;
7911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned int vc_s_reverse : 1;
8011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
8111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned int vc_ques : 1;
8211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned int vc_need_wrap : 1;
8311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned int vc_can_do_color : 1;
8411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned int vc_report_mouse : 2;
8511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned int vc_kmalloced : 1;
8611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned char vc_utf : 1;
8711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned char vc_utf_count;
8811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert int vc_utf_char;
8911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned int vc_tab_stop[8];
9011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned char vc_palette[16*3];
9111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned short * vc_translate;
9211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned char vc_G0_charset;
9311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned char vc_G1_charset;
9411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned char vc_saved_G0;
9511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned char vc_saved_G1;
9611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned int vc_bell_pitch;
9711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned int vc_bell_duration;
9811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert struct vc_data **vc_display_fg;
9911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned long vc_uni_pagedir;
10011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned long *vc_uni_pagedir_loc;
10111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
10211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert};
10311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
10411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct vc {
10511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert struct vc_data *d;
10611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
10711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert};
10811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
10911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define CUR_DEF 0
11011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define CUR_NONE 1
11111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define CUR_UNDERLINE 2
11211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define CUR_LOWER_THIRD 3
11311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define CUR_LOWER_HALF 4
11411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define CUR_TWO_THIRDS 5
11511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define CUR_BLOCK 6
11611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define CUR_HWMASK 0x0f
11711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define CUR_SWMASK 0xfff0
11811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
11911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define CUR_DEFAULT CUR_UNDERLINE
12011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
12111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define CON_IS_VISIBLE(conp) (*conp->vc_display_fg == conp)
122