aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/syscons/scvidctl.c
diff options
context:
space:
mode:
authorRuslan Ermilov <ru@FreeBSD.org>2006-09-27 19:57:02 +0000
committerRuslan Ermilov <ru@FreeBSD.org>2006-09-27 19:57:02 +0000
commit9fddcc6661d2cf7bb8e704308437d2b1674b50be (patch)
treea886251dab8c19f71a5bfd0199ec1d9b327b3513 /sys/dev/syscons/scvidctl.c
parent3ea944faa0a3cf1e2fdcd8279ea45c038d5173cf (diff)
Notes
Diffstat (limited to 'sys/dev/syscons/scvidctl.c')
-rw-r--r--sys/dev/syscons/scvidctl.c30
1 files changed, 28 insertions, 2 deletions
diff --git a/sys/dev/syscons/scvidctl.c b/sys/dev/syscons/scvidctl.c
index f2debe35e824..65a56c63b8e7 100644
--- a/sys/dev/syscons/scvidctl.c
+++ b/sys/dev/syscons/scvidctl.c
@@ -30,6 +30,7 @@
#include <sys/cdefs.h>
__FBSDID("$FreeBSD$");
+#include "opt_compat.h"
#include "opt_syscons.h"
#include <sys/param.h>
@@ -482,6 +483,10 @@ sc_vid_ioctl(struct tty *tp, u_long cmd, caddr_t data, int flag, struct thread *
video_adapter_info_t adp_info;
int error;
int s;
+#if defined(COMPAT_FREEBSD6) || defined(COMPAT_FREEBSD5) || \
+ defined(COMPAT_FREEBSD4) || defined(COMPAT_43)
+ int ival;
+#endif
scp = SC_STAT(tp->t_dev);
if (scp == NULL) /* tp == SC_MOUSE */
@@ -584,6 +589,13 @@ sc_vid_ioctl(struct tty *tp, u_long cmd, caddr_t data, int flag, struct thread *
case FBIO_FINDMODE:
return fb_ioctl(adp, FBIO_FINDMODE, data);
+#if defined(COMPAT_FREEBSD6) || defined(COMPAT_FREEBSD5) || \
+ defined(COMPAT_FREEBSD4) || defined(COMPAT_43)
+ case _IO('c', 104):
+ ival = IOCPARM_IVAL(data);
+ data = (caddr_t)&ival;
+ /* FALLTHROUGH */
+#endif
case CONS_SETWINORG: /* set frame buffer window origin */
case FBIO_SETWINORG:
if (scp != scp->sc->cur_scp)
@@ -675,8 +687,15 @@ sc_vid_ioctl(struct tty *tp, u_long cmd, caddr_t data, int flag, struct thread *
return sc_set_graphics_mode(scp, tp, cmd & 0xff);
#endif /* SC_NO_MODE_CHANGE */
+#if defined(COMPAT_FREEBSD6) || defined(COMPAT_FREEBSD5) || \
+ defined(COMPAT_FREEBSD4) || defined(COMPAT_43)
+ case _IO('K', 10):
+ ival = IOCPARM_IVAL(data);
+ data = (caddr_t)&ival;
+ /* FALLTHROUGH */
+#endif
case KDSETMODE: /* set current mode of this (virtual) console */
- switch (*(intptr_t *)data) {
+ switch (*(int *)data) {
case KD_TEXT: /* switch to TEXT (known) mode */
/*
* If scp->mode is of graphics modes, we don't know which
@@ -804,8 +823,15 @@ sc_vid_ioctl(struct tty *tp, u_long cmd, caddr_t data, int flag, struct thread *
*data = ISGRAPHSC(scp) ? KD_GRAPHICS : KD_TEXT;
return 0;
+#if defined(COMPAT_FREEBSD6) || defined(COMPAT_FREEBSD5) || \
+ defined(COMPAT_FREEBSD4) || defined(COMPAT_43)
+ case _IO('K', 13):
+ ival = IOCPARM_IVAL(data);
+ data = (caddr_t)&ival;
+ /* FALLTHROUGH */
+#endif
case KDSBORDER: /* set border color of this (virtual) console */
- scp->border = *(intptr_t *)data;
+ scp->border = *(int *)data;
if (scp == scp->sc->cur_scp)
sc_set_border(scp, scp->border);
return 0;