Deleted Added
full compact
vt_consolectl.c (219888) vt_consolectl.c (259016)
1/*-
2 * Copyright (c) 2009 The FreeBSD Foundation
3 * All rights reserved.
4 *
5 * This software was developed by Ed Schouten under sponsorship from the
6 * FreeBSD Foundation.
7 *
8 * Redistribution and use in source and binary forms, with or without
9 * modification, are permitted provided that the following conditions
10 * are met:
11 * 1. Redistributions of source code must retain the above copyright
12 * notice, this list of conditions and the following disclaimer.
13 * 2. Redistributions in binary form must reproduce the above copyright
14 * notice, this list of conditions and the following disclaimer in the
15 * documentation and/or other materials provided with the distribution.
16 *
17 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
18 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
19 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
20 * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
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
30#include <sys/cdefs.h>
1/*-
2 * Copyright (c) 2009 The FreeBSD Foundation
3 * All rights reserved.
4 *
5 * This software was developed by Ed Schouten under sponsorship from the
6 * FreeBSD Foundation.
7 *
8 * Redistribution and use in source and binary forms, with or without
9 * modification, are permitted provided that the following conditions
10 * are met:
11 * 1. Redistributions of source code must retain the above copyright
12 * notice, this list of conditions and the following disclaimer.
13 * 2. Redistributions in binary form must reproduce the above copyright
14 * notice, this list of conditions and the following disclaimer in the
15 * documentation and/or other materials provided with the distribution.
16 *
17 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
18 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
19 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
20 * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
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
30#include <sys/cdefs.h>
31__FBSDID("$FreeBSD: user/ed/newcons/sys/dev/vt/vt_consolectl.c 219888 2011-03-22 21:31:31Z ed $");
31__FBSDID("$FreeBSD: head/sys/dev/vt/vt_consolectl.c 219888 2011-03-22 21:31:31Z ed $");
32
33#include <sys/param.h>
34#include <sys/conf.h>
35#include <sys/consio.h>
36#include <sys/kernel.h>
37#include <sys/systm.h>
38
39#include <dev/vt/vt.h>
40
41static d_ioctl_t consolectl_ioctl;
42
43static struct cdevsw consolectl_cdevsw = {
44 .d_version = D_VERSION,
45 .d_ioctl = consolectl_ioctl,
46 .d_name = "consolectl",
47};
48
49static int
50consolectl_ioctl(struct cdev *dev, u_long cmd, caddr_t data, int flag,
51 struct thread *td)
52{
53
54 switch (cmd) {
55 case CONS_GETVERS:
56 *(int*)data = 0x200;
57 return 0;
58 case CONS_MOUSECTL: {
59 mouse_info_t *mi = (mouse_info_t*)data;
60
61 sysmouse_process_event(mi);
62 return (0);
63 }
64 default:
65 printf("consolectl: unknown ioctl: %c:%lx\n",
66 (char)IOCGROUP(cmd), IOCBASECMD(cmd));
67 return (ENOIOCTL);
68 }
69}
70
71static void
72consolectl_drvinit(void *unused)
73{
74
75 make_dev(&consolectl_cdevsw, 0, UID_ROOT, GID_WHEEL, 0600,
76 "consolectl");
77}
78
79SYSINIT(consolectl, SI_SUB_DRIVERS, SI_ORDER_MIDDLE, consolectl_drvinit, NULL);
32
33#include <sys/param.h>
34#include <sys/conf.h>
35#include <sys/consio.h>
36#include <sys/kernel.h>
37#include <sys/systm.h>
38
39#include <dev/vt/vt.h>
40
41static d_ioctl_t consolectl_ioctl;
42
43static struct cdevsw consolectl_cdevsw = {
44 .d_version = D_VERSION,
45 .d_ioctl = consolectl_ioctl,
46 .d_name = "consolectl",
47};
48
49static int
50consolectl_ioctl(struct cdev *dev, u_long cmd, caddr_t data, int flag,
51 struct thread *td)
52{
53
54 switch (cmd) {
55 case CONS_GETVERS:
56 *(int*)data = 0x200;
57 return 0;
58 case CONS_MOUSECTL: {
59 mouse_info_t *mi = (mouse_info_t*)data;
60
61 sysmouse_process_event(mi);
62 return (0);
63 }
64 default:
65 printf("consolectl: unknown ioctl: %c:%lx\n",
66 (char)IOCGROUP(cmd), IOCBASECMD(cmd));
67 return (ENOIOCTL);
68 }
69}
70
71static void
72consolectl_drvinit(void *unused)
73{
74
75 make_dev(&consolectl_cdevsw, 0, UID_ROOT, GID_WHEEL, 0600,
76 "consolectl");
77}
78
79SYSINIT(consolectl, SI_SUB_DRIVERS, SI_ORDER_MIDDLE, consolectl_drvinit, NULL);