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