1 /*
2 * Mach Operating System
3 * Copyright (c) 1991,1990,1989 Carnegie Mellon University
4 * All Rights Reserved.
5 *
6 * Permission to use, copy, modify and distribute this software and its
7 * documentation is hereby granted, provided that both the copyright
8 * notice and this permission notice appear in all copies of the
9 * software, derivative works or modified versions, and any portions
10 * thereof, and that both notices appear in supporting documentation.
11 *
12 * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS"
13 * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR
14 * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
15 *
16 * Carnegie Mellon requests users of this software to return to
17 *
18 * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU
19 * School of Computer Science
20 * Carnegie Mellon University
21 * Pittsburgh PA 15213-3890
22 *
23 * any improvements or extensions that they make and grant Carnegie Mellon
24 * the rights to redistribute these changes.
25 */
26 /*
27 * HISTORY
28 * $Log: screen_defs.h,v $
29 * Revision 2.8 93/01/14 17:21:58 danner
30 * Added first cut at true kbd layer [jtp@hut.fi]
31 *
32 * Revision 2.7 91/08/24 11:53:09 af
33 * Added frame size related defs. Redefines for 3min.
34 * Define here logical names for the keyboard&mouse
35 * serial lines. Specify completely here the kernel font.
36 * [91/08/02 02:09:43 af]
37 *
38 * Revision 2.6 91/06/19 11:54:22 rvb
39 * File moved here from mips/PMAX since it tries to be generic;
40 * it is used on the PMAX and the Vax3100.
41 * [91/06/04 rvb]
42 *
43 * Revision 2.5 91/05/14 17:27:34 mrt
44 * Correcting copyright
45 *
46 * Revision 2.4 91/02/05 17:44:18 mrt
47 * Added author notices
48 * [91/02/04 11:17:42 mrt]
49 *
50 * Changed to use new Mach copyright
51 * [91/02/02 12:16:17 mrt]
52 *
53 * Revision 2.3 90/12/05 23:34:22 af
54 *
55 *
56 * Revision 2.1.1.1 90/11/13 15:05:29 af
57 * Created.
58 * [90/11/07 af]
59 */
60 /*
61 * File: screen_defs.h
62 * Author: Alessandro Forin, Carnegie Mellon University
63 * Date: 11/90
64 *
65 * Definitions for the Generic Screen Driver.
66 */
67
68 #include <chips/screen.h>
69 #include <chips/screen_switch.h>
70 #include <device/device_types.h>
71
72 /*
73 * Driver state
74 */
75 typedef struct screen_softc {
76 user_info_t *up;
77 char **hw_state; /* semi-opaque */
78
79 struct screen_switch sw;
80
81 /* should also be a switch */
82 io_return_t (*kbd_set_status)();
83 int (*kbd_reset)();
84 int (*kbd_beep)();
85
86 char flags;
87 char mapped;
88 char blitc_state;
89 char standout;
90 short save_row;
91 short save_col;
92 /*
93 * Eventually move here all that is Kdep in the user structure,
94 * to avoid crashing because of a bogus graphic server
95 */
96 short frame_scanline_width; /* in pixels */
97 short frame_height; /* in scanlines */
98 short frame_visible_width; /* in pixels */
99 short frame_visible_height; /* in pixels */
100
101 /* This is used by all screens, therefore it is sized maximally */
102 # define MaxCharRows 68 /* 2DA screen & PMAG-AA */
103 # define MaxCharCols 160 /* PMAG-AA */
104 # define MinCharRows 57 /* pmax */
105 unsigned char ascii_screen[MaxCharRows*MaxCharCols];
106
107 } *screen_softc_t;
108
109 extern screen_softc_t screen(/* int unit */);
110
111 /*
112 * This global says if we have a graphic console
113 * and where it is and if it is enabled
114 */
115 extern short screen_console;
116 #define SCREEN_CONS_ENBL (0x0100)
117 #define SCREEN_ISA_CONSOLE() (screen_console & SCREEN_CONS_ENBL)
118 #define SCREEN_CONS_UNIT() (screen_console & 0x00ff)
119
120 /*
121 * A graphic screen needs a keyboard and a mouse/tablet
122 */
123 #define SCREEN_LINE_KEYBOARD 0
124 #define SCREEN_LINE_POINTER 1
125 #define SCREEN_LINE_OTHER (-1)
126
127 /* kernel font */
128 #define KfontWidth 8
129 #define KfontHeight 15
130 extern unsigned char kfont_7x14[];
131
Cache object: eafffc5fb23980ed422082da2d4b433b
|