From 6806a0a8db23949ac0bd9b67f92d7ff8aeae9275 Mon Sep 17 00:00:00 2001 From: Marcus Brinkmann Date: Tue, 4 Jun 2002 01:50:59 +0000 Subject: 2002-06-04 Marcus Brinkmann * display.h: Renamed to ... * display-drv.h: ... this. * Makefile (LCLHDRS): Rename display.h to display-drv.h. * console.c: Include "display-drv.h" instead "display.h". * vga-display.c: Likewise. --- console/ChangeLog | 8 ++++++ console/Makefile | 2 +- console/console.c | 2 +- console/display-drv.h | 79 +++++++++++++++++++++++++++++++++++++++++++++++++++ console/display.h | 79 --------------------------------------------------- console/vga-display.c | 2 +- 6 files changed, 90 insertions(+), 82 deletions(-) create mode 100644 console/display-drv.h delete mode 100644 console/display.h (limited to 'console') diff --git a/console/ChangeLog b/console/ChangeLog index 2922e5d7..5b228dd6 100644 --- a/console/ChangeLog +++ b/console/ChangeLog @@ -1,3 +1,11 @@ +2002-06-04 Marcus Brinkmann + + * display.h: Renamed to ... + * display-drv.h: ... this. + * Makefile (LCLHDRS): Rename display.h to display-drv.h. + * console.c: Include "display-drv.h" instead "display.h". + * vga-display.c: Likewise. + 2002-06-03 Marcus Brinkmann * console.c (vcons_release): Fix last change. diff --git a/console/Makefile b/console/Makefile index b44c583d..06ceec4e 100644 --- a/console/Makefile +++ b/console/Makefile @@ -23,7 +23,7 @@ makemode := server target = console SRCS = main.c console.c focus.c vga-display.c vga.c dynafont.c bdf.c -LCLHDRS = focus.h input.h console.h display.h vga.h vga-hw.h dynafont.h bdf.h \ +LCLHDRS = focus.h input.h console.h display-drv.h vga.h vga-hw.h dynafont.h bdf.h \ mutations.h priv.h HURDLIBS = trivfs fshelp iohelp threads ports ihash shouldbeinlibc diff --git a/console/console.c b/console/console.c index 46dfa406..71422ffd 100644 --- a/console/console.c +++ b/console/console.c @@ -24,7 +24,7 @@ #include #include "console.h" -#include "display.h" +#include "display-drv.h" #include "input.h" diff --git a/console/display-drv.h b/console/display-drv.h new file mode 100644 index 00000000..803d3180 --- /dev/null +++ b/console/display-drv.h @@ -0,0 +1,79 @@ +/* display.h - The interface to a display driver. + Copyright (C) 2002 Free Software Foundation, Inc. + Written by Marcus Brinkmann. + + This file is part of the GNU Hurd. + + The GNU Hurd is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License as + published by the Free Software Foundation; either version 2, or (at + your option) any later version. + + The GNU Hurd is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. */ + +#ifndef _DISPLAY_H_ +#define _DISPLAY_H_ 1 + +#include +#include +#include + + +struct display_ops +{ + /* Initialize the subsystem. */ + error_t (*init) (void); + + /* Create a new (virtual) console display, with the system encoding + being ENCODING. A failure at the first time this is called is + critical. Subsequent calls might return an error if multiple + virtual consoles are not supported. Further operations on this + console will be called with the first parameter being *HOOK, + which should be set to some unique identifier for this + console. */ + error_t (*create) (void **console, const char *encoding); + + /* Destroy the console CONSOLE. The caller will first activate a + different console as the active one. */ + void (*destroy) (void *console); + + /* Change the active console of WHO to CONSOLE. WHO is a unique identifier + for the entity requesting the activation (which can be used by the + display driver to group several activation requests together). */ + void (*activate) (void *console, int who); + + /* Scroll the console CONSOLE by the desired amount. This is only a + hint, the actual amount scrolled might depend on the capability + of the subsystem. Negative AMOUNT scrolls back in history. */ + error_t (*scroll) (void *console, int amount); + + /* Output LENGTH bytes starting from BUFFER in the system encoding. + Set BUFFER and LENGTH to the new values. The exact semantics are + just as in the iconv interface. */ + error_t (*output) (void *console, char **buffer, size_t *length); + + /* Return the current size of CONSOLE in WINSIZE. */ + void (*getsize) (void *console, struct winsize *size); +}; +typedef struct display_ops *display_ops_t; + +extern struct display_ops vga_display_ops; +extern struct display_ops mach_display_ops; + +display_ops_t display_driver[] = + { +#if defined(__i386__) + &vga_display_ops, +#endif + &mach_display_ops, + 0 + }; + +#endif /* _DISPLAY_H_ */ diff --git a/console/display.h b/console/display.h deleted file mode 100644 index 803d3180..00000000 --- a/console/display.h +++ /dev/null @@ -1,79 +0,0 @@ -/* display.h - The interface to a display driver. - Copyright (C) 2002 Free Software Foundation, Inc. - Written by Marcus Brinkmann. - - This file is part of the GNU Hurd. - - The GNU Hurd is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public License as - published by the Free Software Foundation; either version 2, or (at - your option) any later version. - - The GNU Hurd is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. */ - -#ifndef _DISPLAY_H_ -#define _DISPLAY_H_ 1 - -#include -#include -#include - - -struct display_ops -{ - /* Initialize the subsystem. */ - error_t (*init) (void); - - /* Create a new (virtual) console display, with the system encoding - being ENCODING. A failure at the first time this is called is - critical. Subsequent calls might return an error if multiple - virtual consoles are not supported. Further operations on this - console will be called with the first parameter being *HOOK, - which should be set to some unique identifier for this - console. */ - error_t (*create) (void **console, const char *encoding); - - /* Destroy the console CONSOLE. The caller will first activate a - different console as the active one. */ - void (*destroy) (void *console); - - /* Change the active console of WHO to CONSOLE. WHO is a unique identifier - for the entity requesting the activation (which can be used by the - display driver to group several activation requests together). */ - void (*activate) (void *console, int who); - - /* Scroll the console CONSOLE by the desired amount. This is only a - hint, the actual amount scrolled might depend on the capability - of the subsystem. Negative AMOUNT scrolls back in history. */ - error_t (*scroll) (void *console, int amount); - - /* Output LENGTH bytes starting from BUFFER in the system encoding. - Set BUFFER and LENGTH to the new values. The exact semantics are - just as in the iconv interface. */ - error_t (*output) (void *console, char **buffer, size_t *length); - - /* Return the current size of CONSOLE in WINSIZE. */ - void (*getsize) (void *console, struct winsize *size); -}; -typedef struct display_ops *display_ops_t; - -extern struct display_ops vga_display_ops; -extern struct display_ops mach_display_ops; - -display_ops_t display_driver[] = - { -#if defined(__i386__) - &vga_display_ops, -#endif - &mach_display_ops, - 0 - }; - -#endif /* _DISPLAY_H_ */ diff --git a/console/vga-display.c b/console/vga-display.c index ac1ebcb3..c3c35bbf 100644 --- a/console/vga-display.c +++ b/console/vga-display.c @@ -32,7 +32,7 @@ #include "vga.h" #include "dynafont.h" -#include "display.h" +#include "display-drv.h" struct vga_display_console -- cgit v1.2.3