Deleted Added
full compact
kern_cons.c (70239) kern_cons.c (72521)
1/*
2 * Copyright (c) 1988 University of Utah.
3 * Copyright (c) 1991 The Regents of the University of California.
4 * All rights reserved.
5 *
6 * This code is derived from software contributed to Berkeley by
7 * the Systems Programming Group of the University of Utah Computer
8 * Science Department.

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

31 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
32 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
33 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
34 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
35 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
36 * SUCH DAMAGE.
37 *
38 * from: @(#)cons.c 7.2 (Berkeley) 5/9/91
1/*
2 * Copyright (c) 1988 University of Utah.
3 * Copyright (c) 1991 The Regents of the University of California.
4 * All rights reserved.
5 *
6 * This code is derived from software contributed to Berkeley by
7 * the Systems Programming Group of the University of Utah Computer
8 * Science Department.

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

31 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
32 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
33 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
34 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
35 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
36 * SUCH DAMAGE.
37 *
38 * from: @(#)cons.c 7.2 (Berkeley) 5/9/91
39 * $FreeBSD: head/sys/kern/tty_cons.c 70239 2000-12-20 21:50:37Z phk $
39 * $FreeBSD: head/sys/kern/tty_cons.c 72521 2001-02-15 16:34:11Z jlemon $
40 */
41
42#include <sys/param.h>
43#include <sys/systm.h>
44#include <sys/conf.h>
45#include <sys/cons.h>
46#include <sys/kernel.h>
47#include <sys/proc.h>

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

53#include <machine/cpu.h>
54
55static d_open_t cnopen;
56static d_close_t cnclose;
57static d_read_t cnread;
58static d_write_t cnwrite;
59static d_ioctl_t cnioctl;
60static d_poll_t cnpoll;
40 */
41
42#include <sys/param.h>
43#include <sys/systm.h>
44#include <sys/conf.h>
45#include <sys/cons.h>
46#include <sys/kernel.h>
47#include <sys/proc.h>

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

53#include <machine/cpu.h>
54
55static d_open_t cnopen;
56static d_close_t cnclose;
57static d_read_t cnread;
58static d_write_t cnwrite;
59static d_ioctl_t cnioctl;
60static d_poll_t cnpoll;
61static d_kqfilter_t cnkqfilter;
61
62#define CDEV_MAJOR 0
63static struct cdevsw cn_cdevsw = {
64 /* open */ cnopen,
65 /* close */ cnclose,
66 /* read */ cnread,
67 /* write */ cnwrite,
68 /* ioctl */ cnioctl,
69 /* poll */ cnpoll,
70 /* mmap */ nommap,
71 /* strategy */ nostrategy,
72 /* name */ "console",
73 /* maj */ CDEV_MAJOR,
74 /* dump */ nodump,
75 /* psize */ nopsize,
62
63#define CDEV_MAJOR 0
64static struct cdevsw cn_cdevsw = {
65 /* open */ cnopen,
66 /* close */ cnclose,
67 /* read */ cnread,
68 /* write */ cnwrite,
69 /* ioctl */ cnioctl,
70 /* poll */ cnpoll,
71 /* mmap */ nommap,
72 /* strategy */ nostrategy,
73 /* name */ "console",
74 /* maj */ CDEV_MAJOR,
75 /* dump */ nodump,
76 /* psize */ nopsize,
76 /* flags */ D_TTY,
77 /* bmaj */ -1
77 /* flags */ D_TTY | D_KQFILTER,
78 /* bmaj */ -1,
79 /* kqfilter */ cnkqfilter,
78};
79
80static dev_t cn_dev_t; /* seems to be never really used */
81static udev_t cn_udev_t;
82SYSCTL_OPAQUE(_machdep, CPU_CONSDEV, consdev, CTLFLAG_RD,
83 &cn_udev_t, sizeof cn_udev_t, "T,dev_t", "");
84
85static int cn_mute;

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

393 if ((cn_tab == NULL) || cn_mute)
394 return (1);
395
396 dev = cn_tab->cn_dev;
397
398 return ((*devsw(dev)->d_poll)(dev, events, p));
399}
400
80};
81
82static dev_t cn_dev_t; /* seems to be never really used */
83static udev_t cn_udev_t;
84SYSCTL_OPAQUE(_machdep, CPU_CONSDEV, consdev, CTLFLAG_RD,
85 &cn_udev_t, sizeof cn_udev_t, "T,dev_t", "");
86
87static int cn_mute;

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

395 if ((cn_tab == NULL) || cn_mute)
396 return (1);
397
398 dev = cn_tab->cn_dev;
399
400 return ((*devsw(dev)->d_poll)(dev, events, p));
401}
402
403static int
404cnkqfilter(dev, kn)
405 dev_t dev;
406 struct knote *kn;
407{
408 if ((cn_tab == NULL) || cn_mute)
409 return (1);
410
411 dev = cn_tab->cn_dev;
412 if (devsw(dev)->d_flags & D_KQFILTER)
413 return ((*devsw(dev)->d_kqfilter)(dev, kn));
414 return (1);
415}
416
401int
402cngetc()
403{
404 int c;
405 if ((cn_tab == NULL) || cn_mute)
406 return (-1);
407 c = (*cn_tab->cn_getc)(cn_tab->cn_dev);
408 if (c == '\r') c = '\n'; /* console input is always ICRNL */

--- 49 unchanged lines hidden ---
417int
418cngetc()
419{
420 int c;
421 if ((cn_tab == NULL) || cn_mute)
422 return (-1);
423 c = (*cn_tab->cn_getc)(cn_tab->cn_dev);
424 if (c == '\r') c = '\n'; /* console input is always ICRNL */

--- 49 unchanged lines hidden ---