|
|
1.1 ! root 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 [email protected] ! 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: * File: screen_defs.h ! 28: * Author: Alessandro Forin, Carnegie Mellon University ! 29: * Date: 11/90 ! 30: * ! 31: * Definitions for the Generic Screen Driver. ! 32: */ ! 33: ! 34: #include <chips/screen.h> ! 35: #include <chips/screen_switch.h> ! 36: #include <device/device_types.h> ! 37: ! 38: /* ! 39: * Driver state ! 40: */ ! 41: typedef struct screen_softc { ! 42: user_info_t *up; ! 43: char **hw_state; /* semi-opaque */ ! 44: ! 45: struct screen_switch sw; ! 46: ! 47: /* should also be a switch */ ! 48: io_return_t (*kbd_set_status)(); ! 49: int (*kbd_reset)(); ! 50: int (*kbd_beep)(); ! 51: ! 52: char flags; ! 53: char mapped; ! 54: char blitc_state; ! 55: char standout; ! 56: short save_row; ! 57: short save_col; ! 58: /* ! 59: * Eventually move here all that is Kdep in the user structure, ! 60: * to avoid crashing because of a bogus graphic server ! 61: */ ! 62: short frame_scanline_width; /* in pixels */ ! 63: short frame_height; /* in scanlines */ ! 64: short frame_visible_width; /* in pixels */ ! 65: short frame_visible_height; /* in pixels */ ! 66: ! 67: /* This is used by all screens, therefore it is sized maximally */ ! 68: # define MaxCharRows 68 /* 2DA screen & PMAG-AA */ ! 69: # define MaxCharCols 160 /* PMAG-AA */ ! 70: # define MinCharRows 57 /* pmax */ ! 71: unsigned char ascii_screen[MaxCharRows*MaxCharCols]; ! 72: ! 73: } *screen_softc_t; ! 74: ! 75: extern screen_softc_t screen(/* int unit */); ! 76: ! 77: /* ! 78: * This global says if we have a graphic console ! 79: * and where it is and if it is enabled ! 80: */ ! 81: extern short screen_console; ! 82: #define SCREEN_CONS_ENBL (0x0100) ! 83: #define SCREEN_ISA_CONSOLE() (screen_console & SCREEN_CONS_ENBL) ! 84: #define SCREEN_CONS_UNIT() (screen_console & 0x00ff) ! 85: ! 86: /* ! 87: * A graphic screen needs a keyboard and a mouse/tablet ! 88: */ ! 89: #define SCREEN_LINE_KEYBOARD 0 ! 90: #define SCREEN_LINE_POINTER 1 ! 91: #define SCREEN_LINE_OTHER (-1) ! 92: ! 93: /* kernel font */ ! 94: #define KfontWidth 8 ! 95: #define KfontHeight 15 ! 96: extern unsigned char kfont_7x14[]; ! 97:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.