patch-2.1.31 linux/include/linux/console.h
Next file: linux/include/linux/file.h
Previous file: linux/include/linux/auto_fs.h
Back to the patch index
Back to the overall index
- Lines: 116
- Date:
Thu Mar 27 14:36:39 1997
- Orig file:
v2.1.30/linux/include/linux/console.h
- Orig date:
Sun May 19 21:54:29 1996
diff -u --recursive --new-file v2.1.30/linux/include/linux/console.h linux/include/linux/console.h
@@ -16,70 +16,7 @@
#define NPAR 16
-struct vc_data {
- unsigned long vc_screenbuf_size;
- unsigned short vc_num; /* Console number */
- unsigned short vc_video_erase_char; /* Background erase character */
- unsigned char vc_attr; /* Current attributes */
- unsigned char vc_def_color; /* Default colors */
- unsigned char vc_color; /* Foreground & background */
- unsigned char vc_s_color; /* Saved foreground & background */
- unsigned char vc_ulcolor; /* Colour for underline mode */
- unsigned char vc_halfcolor; /* Colour for half intensity mode */
- unsigned long vc_origin; /* Used for EGA/VGA fast scroll */
- unsigned long vc_scr_end; /* Used for EGA/VGA fast scroll */
- unsigned short *vc_pos;
- unsigned long vc_x,vc_y;
- unsigned long vc_top,vc_bottom;
- unsigned long vc_rows,vc_cols;
- unsigned long vc_size_row;
- unsigned long vc_state;
- unsigned long vc_npar,vc_par[NPAR];
- unsigned short *vc_video_mem_start;
- unsigned long vc_video_mem_end; /* End of video RAM (sort of) */
- unsigned long vc_saved_x;
- unsigned long vc_saved_y;
- /* mode flags */
- unsigned long vc_charset : 1; /* Character set G0 / G1 */
- unsigned long vc_s_charset : 1; /* Saved character set */
- unsigned long vc_disp_ctrl : 1; /* Display chars < 32? */
- unsigned long vc_toggle_meta : 1; /* Toggle high bit? */
- unsigned long vc_decscnm : 1; /* Screen Mode */
- unsigned long vc_decom : 1; /* Origin Mode */
- unsigned long vc_decawm : 1; /* Autowrap Mode */
- unsigned long vc_deccm : 1; /* Cursor Visible */
- unsigned long vc_decim : 1; /* Insert Mode */
- unsigned long vc_deccolm : 1; /* 80/132 Column Mode */
- /* attribute flags */
- unsigned long vc_intensity : 2; /* 0=half-bright, 1=normal, 2=bold */
- unsigned long vc_underline : 1;
- unsigned long vc_blink : 1;
- unsigned long vc_reverse : 1;
- unsigned long vc_s_intensity : 2; /* saved rendition */
- unsigned long vc_s_underline : 1;
- unsigned long vc_s_blink : 1;
- unsigned long vc_s_reverse : 1;
- /* misc */
- unsigned long vc_ques : 1;
- unsigned long vc_need_wrap : 1;
- unsigned long vc_can_do_color : 1;
- unsigned long vc_has_scrolled : 1; /* Info for unblank_screen */
- unsigned long vc_kmalloced : 1; /* kfree_s() needed */
- unsigned long vc_report_mouse : 2;
- unsigned char vc_utf : 1; /* Unicode UTF-8 encoding */
- unsigned char vc_utf_count;
- unsigned long vc_utf_char;
- unsigned long vc_tab_stop[5]; /* Tab stops. 160 columns. */
- 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; /* Console bell pitch */
- unsigned int vc_bell_duration; /* Console bell duration */
- struct consw *vc_sw;
- /* additional information is in vt_kern.h */
-};
+struct vc_data;
/*
* this is what the terminal answers to a ESC-Z or csi0c query.
@@ -120,5 +57,43 @@
#define CM_DRAW (1)
#define CM_ERASE (2)
#define CM_MOVE (3)
+
+struct tty_struct;
+int tioclinux(struct tty_struct *tty, unsigned long arg);
+
+/* The interface for /dev/console(s) and printk output */
+
+struct console
+{
+ /*
+ * This function should not return before the string is written.
+ */
+ void (*write)(const char*, unsigned);
+
+ /* To unblank the console in case of panic */
+ void (*unblank)(void);
+
+ /*
+ * Only the console that was registered last with wait_key !=
+ * NULL will be used. This blocks until there is a character
+ * to give back, it does not schedule.
+ */
+ void (*wait_key)(void);
+
+ /*
+ * Return the device to use when opening /dev/console. Only the
+ * last registered console will do.
+ */
+ int (*device)(void);
+
+ /*
+ * For a linked list of consoles for multiple output. Any console
+ * not at the head of the list is used only for output.
+ */
+ struct console *next;
+};
+
+extern void register_console(struct console *);
+extern struct console *console_drivers;
#endif /* linux/console.h */
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov