scvesactl.c (39287) | scvesactl.c (39591) |
---|---|
1/*- 2 * Copyright (c) 1998 Kazutaka YOKOTA (yokota@zodiac.mech.utsunomiya-u.ac.jp) 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright --- 12 unchanged lines hidden (view full) --- 21 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 22 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 23 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 24 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 25 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 26 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 27 * SUCH DAMAGE. 28 * | 1/*- 2 * Copyright (c) 1998 Kazutaka YOKOTA (yokota@zodiac.mech.utsunomiya-u.ac.jp) 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright --- 12 unchanged lines hidden (view full) --- 21 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 22 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 23 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 24 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 25 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 26 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 27 * SUCH DAMAGE. 28 * |
29 * $Id$ | 29 * $Id: scvesactl.c,v 1.1 1998/09/15 18:16:37 sos Exp $ |
30 */ 31 32#include "sc.h" 33#include "opt_vesa.h" 34#include "opt_vm86.h" 35 36#if (NSC > 0 && defined(VESA) && defined(VM86)) || defined(VESA_MODULE) 37 --- 7 unchanged lines hidden (view full) --- 45#include <machine/pc/vesa.h> 46 47#include <i386/isa/videoio.h> 48#include <i386/isa/syscons.h> 49 50static int (*prev_user_ioctl)(dev_t dev, int cmd, caddr_t data, int flag, 51 struct proc *p); 52 | 30 */ 31 32#include "sc.h" 33#include "opt_vesa.h" 34#include "opt_vm86.h" 35 36#if (NSC > 0 && defined(VESA) && defined(VM86)) || defined(VESA_MODULE) 37 --- 7 unchanged lines hidden (view full) --- 45#include <machine/pc/vesa.h> 46 47#include <i386/isa/videoio.h> 48#include <i386/isa/syscons.h> 49 50static int (*prev_user_ioctl)(dev_t dev, int cmd, caddr_t data, int flag, 51 struct proc *p); 52 |
53extern struct tty *scdevtotty(dev_t dev); | 53/* external functions */ 54struct tty *scdevtotty(dev_t dev); |
54 | 55 |
56/* functions in this module */ 57int vesa_ioctl(dev_t dev, int cmd, caddr_t data, int flag, struct proc *p); 58 |
|
55int 56vesa_ioctl(dev_t dev, int cmd, caddr_t data, int flag, struct proc *p) 57{ 58 scr_stat *scp; 59 struct tty *tp; 60 video_info_t info; 61 video_adapter_t *adp; 62 int mode; --- 11 unchanged lines hidden (view full) --- 74 mode = (int)data; 75 if ((*biosvidsw.get_info)(scp->adp, mode, &info)) 76 return ENODEV; 77 if (info.vi_flags & V_INFO_GRAPHICS) 78 goto vesa_graphics; 79 else 80 goto vesa_text; 81 | 59int 60vesa_ioctl(dev_t dev, int cmd, caddr_t data, int flag, struct proc *p) 61{ 62 scr_stat *scp; 63 struct tty *tp; 64 video_info_t info; 65 video_adapter_t *adp; 66 int mode; --- 11 unchanged lines hidden (view full) --- 78 mode = (int)data; 79 if ((*biosvidsw.get_info)(scp->adp, mode, &info)) 80 return ENODEV; 81 if (info.vi_flags & V_INFO_GRAPHICS) 82 goto vesa_graphics; 83 else 84 goto vesa_text; 85 |
86 /* generic text modes */ 87 case SW_TEXT_132x25: case SW_TEXT_132x30: 88 case SW_TEXT_132x43: case SW_TEXT_132x50: 89 case SW_TEXT_132x60: 90 adp = get_adapter(scp); 91 if (!(adp->va_flags & V_ADP_MODECHANGE)) 92 return ENODEV; 93 return sc_set_text_mode(scp, tp, cmd & 0xff, 0, 0, 0); 94 |
|
82 /* text modes */ 83 case SW_VESA_C80x60: 84 case SW_VESA_C132x25: 85 case SW_VESA_C132x43: 86 case SW_VESA_C132x50: 87 case SW_VESA_C132x60: 88 adp = get_adapter(scp); 89 if (!(adp->va_flags & V_ADP_MODECHANGE)) --- 61 unchanged lines hidden --- | 95 /* text modes */ 96 case SW_VESA_C80x60: 97 case SW_VESA_C132x25: 98 case SW_VESA_C132x43: 99 case SW_VESA_C132x50: 100 case SW_VESA_C132x60: 101 adp = get_adapter(scp); 102 if (!(adp->va_flags & V_ADP_MODECHANGE)) --- 61 unchanged lines hidden --- |