|
|
1.1 root 1: /*
2: * Copyright (c) 1988 University of Utah.
3: * Copyright (c) 1990 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.
9: *
10: * Redistribution and use in source and binary forms, with or without
11: * modification, are permitted provided that the following conditions
12: * are met:
13: * 1. Redistributions of source code must retain the above copyright
14: * notice, this list of conditions and the following disclaimer.
15: * 2. Redistributions in binary form must reproduce the above copyright
16: * notice, this list of conditions and the following disclaimer in the
17: * documentation and/or other materials provided with the distribution.
18: * 3. All advertising materials mentioning features or use of this software
19: * must display the following acknowledgement:
20: * This product includes software developed by the University of
21: * California, Berkeley and its contributors.
22: * 4. Neither the name of the University nor the names of its contributors
23: * may be used to endorse or promote products derived from this software
24: * without specific prior written permission.
25: *
26: * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
27: * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
28: * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
29: * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
30: * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
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: Utah $Hdr: cons.c 1.5 89/08/22$
39: *
40: * @(#)cons.c 7.4 (Berkeley) 5/5/91
41: */
42:
43: #include "sys/param.h"
44: #include "samachdep.h"
45: #include "../hp300/cons.h"
46:
47: #ifdef ITECONSOLE
48: int iteprobe(), iteinit(), itegetchar(), iteputchar();
49: #endif
50: #ifdef DCACONSOLE
51: int dcaprobe(), dcainit(), dcagetchar(), dcaputchar();
52: #endif
53: #ifdef DCMCONSOLE
54: int dcmprobe(), dcminit(), dcmgetchar(), dcmputchar();
55: #endif
56:
57: struct consdev constab[] = {
58: #ifdef ITECONSOLE
59: { iteprobe, iteinit, itegetchar, iteputchar },
60: #endif
61: #ifdef DCACONSOLE
62: { dcaprobe, dcainit, dcagetchar, dcaputchar },
63: #endif
64: #ifdef DCMCONSOLE
65: { dcmprobe, dcminit, dcmgetchar, dcmputchar },
66: #endif
67: { 0 },
68: };
69:
70: struct consdev *cn_tab;
71: int noconsole;
72:
73: cninit()
74: {
75: register struct consdev *cp;
76:
77: cn_tab = NULL;
78: noconsole = 1;
79: for (cp = constab; cp->cn_probe; cp++) {
80: (*cp->cn_probe)(cp);
81: if (cp->cn_pri > CN_DEAD &&
82: (cn_tab == NULL || cp->cn_pri > cn_tab->cn_pri))
83: cn_tab = cp;
84: }
85: if (cn_tab) {
86: (*cn_tab->cn_init)(cn_tab);
87: noconsole = 0;
88: }
89: }
90:
91: cngetc()
92: {
93: if (cn_tab)
94: return((*cn_tab->cn_getc)());
95: return(0);
96: }
97:
98: cnputc(c)
99: int c;
100: {
101: if (cn_tab)
102: (*cn_tab->cn_putc)(c);
103: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.