Deleted Added
full compact
scvidctl.c (150686) scvidctl.c (162711)
1/*-
2 * Copyright (c) 1998 Kazutaka YOKOTA <yokota@zodiac.mech.utsunomiya-u.ac.jp>
3 * All rights reserved.
4 *
5 * This code is derived from software contributed to The DragonFly Project
6 * by Sascha Wildner <saw@online.de>
7 *
8 * Redistribution and use in source and binary forms, with or without

--- 14 unchanged lines hidden (view full) ---

23 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
24 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
25 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
27 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28 */
29
30#include <sys/cdefs.h>
1/*-
2 * Copyright (c) 1998 Kazutaka YOKOTA <yokota@zodiac.mech.utsunomiya-u.ac.jp>
3 * All rights reserved.
4 *
5 * This code is derived from software contributed to The DragonFly Project
6 * by Sascha Wildner <saw@online.de>
7 *
8 * Redistribution and use in source and binary forms, with or without

--- 14 unchanged lines hidden (view full) ---

23 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
24 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
25 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
27 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28 */
29
30#include <sys/cdefs.h>
31__FBSDID("$FreeBSD: head/sys/dev/syscons/scvidctl.c 150686 2005-09-28 14:54:07Z marius $");
31__FBSDID("$FreeBSD: head/sys/dev/syscons/scvidctl.c 162711 2006-09-27 19:57:02Z ru $");
32
32
33#include "opt_compat.h"
33#include "opt_syscons.h"
34
35#include <sys/param.h>
36#include <sys/systm.h>
37#include <sys/conf.h>
38#include <sys/signalvar.h>
39#include <sys/tty.h>
40#include <sys/kernel.h>

--- 436 unchanged lines hidden (view full) ---

477sc_vid_ioctl(struct tty *tp, u_long cmd, caddr_t data, int flag, struct thread *td)
478{
479 scr_stat *scp;
480 video_adapter_t *adp;
481 video_info_t info;
482 video_adapter_info_t adp_info;
483 int error;
484 int s;
34#include "opt_syscons.h"
35
36#include <sys/param.h>
37#include <sys/systm.h>
38#include <sys/conf.h>
39#include <sys/signalvar.h>
40#include <sys/tty.h>
41#include <sys/kernel.h>

--- 436 unchanged lines hidden (view full) ---

478sc_vid_ioctl(struct tty *tp, u_long cmd, caddr_t data, int flag, struct thread *td)
479{
480 scr_stat *scp;
481 video_adapter_t *adp;
482 video_info_t info;
483 video_adapter_info_t adp_info;
484 int error;
485 int s;
486#if defined(COMPAT_FREEBSD6) || defined(COMPAT_FREEBSD5) || \
487 defined(COMPAT_FREEBSD4) || defined(COMPAT_43)
488 int ival;
489#endif
485
486 scp = SC_STAT(tp->t_dev);
487 if (scp == NULL) /* tp == SC_MOUSE */
488 return ENOIOCTL;
489 adp = scp->sc->adp;
490 if (adp == NULL) /* shouldn't happen??? */
491 return ENODEV;
492

--- 86 unchanged lines hidden (view full) ---

579 if (error == 0)
580 bcopy(&info, (old_video_info_t *)data, sizeof(old_video_info_t));
581 return error;
582
583 case CONS_FINDMODE: /* find a matching video mode */
584 case FBIO_FINDMODE:
585 return fb_ioctl(adp, FBIO_FINDMODE, data);
586
490
491 scp = SC_STAT(tp->t_dev);
492 if (scp == NULL) /* tp == SC_MOUSE */
493 return ENOIOCTL;
494 adp = scp->sc->adp;
495 if (adp == NULL) /* shouldn't happen??? */
496 return ENODEV;
497

--- 86 unchanged lines hidden (view full) ---

584 if (error == 0)
585 bcopy(&info, (old_video_info_t *)data, sizeof(old_video_info_t));
586 return error;
587
588 case CONS_FINDMODE: /* find a matching video mode */
589 case FBIO_FINDMODE:
590 return fb_ioctl(adp, FBIO_FINDMODE, data);
591
592#if defined(COMPAT_FREEBSD6) || defined(COMPAT_FREEBSD5) || \
593 defined(COMPAT_FREEBSD4) || defined(COMPAT_43)
594 case _IO('c', 104):
595 ival = IOCPARM_IVAL(data);
596 data = (caddr_t)&ival;
597 /* FALLTHROUGH */
598#endif
587 case CONS_SETWINORG: /* set frame buffer window origin */
588 case FBIO_SETWINORG:
589 if (scp != scp->sc->cur_scp)
590 return ENODEV; /* XXX */
591 return fb_ioctl(adp, FBIO_SETWINORG, data);
592
593 case FBIO_GETWINORG: /* get frame buffer window origin */
594 if (scp != scp->sc->cur_scp)

--- 75 unchanged lines hidden (view full) ---

670 case SW_PC98_EGC640x400: case SW_PC98_PEGC640x400:
671 case SW_PC98_PEGC640x480:
672#endif
673 if (!(adp->va_flags & V_ADP_MODECHANGE))
674 return ENODEV;
675 return sc_set_graphics_mode(scp, tp, cmd & 0xff);
676#endif /* SC_NO_MODE_CHANGE */
677
599 case CONS_SETWINORG: /* set frame buffer window origin */
600 case FBIO_SETWINORG:
601 if (scp != scp->sc->cur_scp)
602 return ENODEV; /* XXX */
603 return fb_ioctl(adp, FBIO_SETWINORG, data);
604
605 case FBIO_GETWINORG: /* get frame buffer window origin */
606 if (scp != scp->sc->cur_scp)

--- 75 unchanged lines hidden (view full) ---

682 case SW_PC98_EGC640x400: case SW_PC98_PEGC640x400:
683 case SW_PC98_PEGC640x480:
684#endif
685 if (!(adp->va_flags & V_ADP_MODECHANGE))
686 return ENODEV;
687 return sc_set_graphics_mode(scp, tp, cmd & 0xff);
688#endif /* SC_NO_MODE_CHANGE */
689
690#if defined(COMPAT_FREEBSD6) || defined(COMPAT_FREEBSD5) || \
691 defined(COMPAT_FREEBSD4) || defined(COMPAT_43)
692 case _IO('K', 10):
693 ival = IOCPARM_IVAL(data);
694 data = (caddr_t)&ival;
695 /* FALLTHROUGH */
696#endif
678 case KDSETMODE: /* set current mode of this (virtual) console */
697 case KDSETMODE: /* set current mode of this (virtual) console */
679 switch (*(intptr_t *)data) {
698 switch (*(int *)data) {
680 case KD_TEXT: /* switch to TEXT (known) mode */
681 /*
682 * If scp->mode is of graphics modes, we don't know which
683 * text mode to switch back to...
684 */
685 if (scp->status & GRAPHICS_MODE)
686 return EINVAL;
687 /* restore fonts & palette ! */

--- 111 unchanged lines hidden (view full) ---

799 case KDGETMODE: /* get current mode of this (virtual) console */
800 /*
801 * From the user program's point of view, KD_PIXEL is the same
802 * as KD_TEXT...
803 */
804 *data = ISGRAPHSC(scp) ? KD_GRAPHICS : KD_TEXT;
805 return 0;
806
699 case KD_TEXT: /* switch to TEXT (known) mode */
700 /*
701 * If scp->mode is of graphics modes, we don't know which
702 * text mode to switch back to...
703 */
704 if (scp->status & GRAPHICS_MODE)
705 return EINVAL;
706 /* restore fonts & palette ! */

--- 111 unchanged lines hidden (view full) ---

818 case KDGETMODE: /* get current mode of this (virtual) console */
819 /*
820 * From the user program's point of view, KD_PIXEL is the same
821 * as KD_TEXT...
822 */
823 *data = ISGRAPHSC(scp) ? KD_GRAPHICS : KD_TEXT;
824 return 0;
825
826#if defined(COMPAT_FREEBSD6) || defined(COMPAT_FREEBSD5) || \
827 defined(COMPAT_FREEBSD4) || defined(COMPAT_43)
828 case _IO('K', 13):
829 ival = IOCPARM_IVAL(data);
830 data = (caddr_t)&ival;
831 /* FALLTHROUGH */
832#endif
807 case KDSBORDER: /* set border color of this (virtual) console */
833 case KDSBORDER: /* set border color of this (virtual) console */
808 scp->border = *(intptr_t *)data;
834 scp->border = *(int *)data;
809 if (scp == scp->sc->cur_scp)
810 sc_set_border(scp, scp->border);
811 return 0;
812 }
813
814 return ENOIOCTL;
815}
816

--- 48 unchanged lines hidden ---
835 if (scp == scp->sc->cur_scp)
836 sc_set_border(scp, scp->border);
837 return 0;
838 }
839
840 return ENOIOCTL;
841}
842

--- 48 unchanged lines hidden ---