The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/chips/screen_defs.h

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    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


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.