Deleted Added
full compact
kern_cons.c (718) kern_cons.c (798)
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 * $Id: cons.c,v 1.4 1993/10/18 14:21:48 davidg Exp $
39 * $Id: cons.c,v 1.5 1993/11/07 17:41:32 wollman Exp $
40 */
41
42
43#include "sys/param.h"
44#include "sys/proc.h"
45#include "sys/user.h"
46#include "sys/systm.h"
47#include "sys/buf.h"

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

68 { 0 },
69};
70/* end XXX */
71
72struct tty *constty = 0; /* virtual console output device */
73struct consdev *cn_tab; /* physical console device info */
74struct tty *cn_tty; /* XXX: console tty struct for tprintf */
75
40 */
41
42
43#include "sys/param.h"
44#include "sys/proc.h"
45#include "sys/user.h"
46#include "sys/systm.h"
47#include "sys/buf.h"

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

68 { 0 },
69};
70/* end XXX */
71
72struct tty *constty = 0; /* virtual console output device */
73struct consdev *cn_tab; /* physical console device info */
74struct tty *cn_tty; /* XXX: console tty struct for tprintf */
75
76void
76cninit()
77{
78 register struct consdev *cp;
79
80 /*
81 * Collect information about all possible consoles
82 * and find the one with highest priority
83 */

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

94 return;
95 /*
96 * Turn on console
97 */
98 cn_tty = cp->cn_tp;
99 (*cp->cn_init)(cp);
100}
101
77cninit()
78{
79 register struct consdev *cp;
80
81 /*
82 * Collect information about all possible consoles
83 * and find the one with highest priority
84 */

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

95 return;
96 /*
97 * Turn on console
98 */
99 cn_tty = cp->cn_tp;
100 (*cp->cn_init)(cp);
101}
102
103int
102cnopen(dev, flag, mode, p)
103 dev_t dev;
104 int flag, mode;
105 struct proc *p;
106{
107 if (cn_tab == NULL)
108 return (0);
109 dev = cn_tab->cn_dev;
110 return ((*cdevsw[major(dev)].d_open)(dev, flag, mode, p));
111}
112
104cnopen(dev, flag, mode, p)
105 dev_t dev;
106 int flag, mode;
107 struct proc *p;
108{
109 if (cn_tab == NULL)
110 return (0);
111 dev = cn_tab->cn_dev;
112 return ((*cdevsw[major(dev)].d_open)(dev, flag, mode, p));
113}
114
115int
113cnclose(dev, flag, mode, p)
114 dev_t dev;
115 int flag, mode;
116 struct proc *p;
117{
118 if (cn_tab == NULL)
119 return (0);
120 dev = cn_tab->cn_dev;
121 return ((*cdevsw[major(dev)].d_close)(dev, flag, mode, p));
122}
123
116cnclose(dev, flag, mode, p)
117 dev_t dev;
118 int flag, mode;
119 struct proc *p;
120{
121 if (cn_tab == NULL)
122 return (0);
123 dev = cn_tab->cn_dev;
124 return ((*cdevsw[major(dev)].d_close)(dev, flag, mode, p));
125}
126
127int
124cnread(dev, uio, flag)
125 dev_t dev;
126 struct uio *uio;
128cnread(dev, uio, flag)
129 dev_t dev;
130 struct uio *uio;
131 int flag;
127{
128 if (cn_tab == NULL)
129 return (0);
130 dev = cn_tab->cn_dev;
131 return ((*cdevsw[major(dev)].d_read)(dev, uio, flag));
132}
133
132{
133 if (cn_tab == NULL)
134 return (0);
135 dev = cn_tab->cn_dev;
136 return ((*cdevsw[major(dev)].d_read)(dev, uio, flag));
137}
138
139int
134cnwrite(dev, uio, flag)
135 dev_t dev;
136 struct uio *uio;
140cnwrite(dev, uio, flag)
141 dev_t dev;
142 struct uio *uio;
143 int flag;
137{
138 if (cn_tab == NULL)
139 return (0);
140 if (constty) /* 16 Aug 92*/
141 dev = constty->t_dev;
142 else
143 dev = cn_tab->cn_dev;
144 return ((*cdevsw[major(dev)].d_write)(dev, uio, flag));
145}
146
144{
145 if (cn_tab == NULL)
146 return (0);
147 if (constty) /* 16 Aug 92*/
148 dev = constty->t_dev;
149 else
150 dev = cn_tab->cn_dev;
151 return ((*cdevsw[major(dev)].d_write)(dev, uio, flag));
152}
153
154int
147cnioctl(dev, cmd, data, flag, p)
148 dev_t dev;
155cnioctl(dev, cmd, data, flag, p)
156 dev_t dev;
157 int cmd;
149 caddr_t data;
158 caddr_t data;
159 int flag;
150 struct proc *p;
151{
152 int error;
153
154 if (cn_tab == NULL)
155 return (0);
156 /*
157 * Superuser can always use this to wrest control of console

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

164 constty = NULL;
165 return (0);
166 }
167 dev = cn_tab->cn_dev;
168 return ((*cdevsw[major(dev)].d_ioctl)(dev, cmd, data, flag, p));
169}
170
171/*ARGSUSED*/
160 struct proc *p;
161{
162 int error;
163
164 if (cn_tab == NULL)
165 return (0);
166 /*
167 * Superuser can always use this to wrest control of console

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

174 constty = NULL;
175 return (0);
176 }
177 dev = cn_tab->cn_dev;
178 return ((*cdevsw[major(dev)].d_ioctl)(dev, cmd, data, flag, p));
179}
180
181/*ARGSUSED*/
182int
172cnselect(dev, rw, p)
173 dev_t dev;
174 int rw;
175 struct proc *p;
176{
177 if (cn_tab == NULL)
178 return (1);
179 return (ttselect(cn_tab->cn_dev, rw, p));
180}
181
183cnselect(dev, rw, p)
184 dev_t dev;
185 int rw;
186 struct proc *p;
187{
188 if (cn_tab == NULL)
189 return (1);
190 return (ttselect(cn_tab->cn_dev, rw, p));
191}
192
193int
182cngetc()
183{
184 if (cn_tab == NULL)
185 return (0);
186 return ((*cn_tab->cn_getc)(cn_tab->cn_dev));
187}
188
194cngetc()
195{
196 if (cn_tab == NULL)
197 return (0);
198 return ((*cn_tab->cn_getc)(cn_tab->cn_dev));
199}
200
201void
189cnputc(c)
190 register int c;
191{
192 if (cn_tab == NULL)
193 return;
194 if (c) {
195 (*cn_tab->cn_putc)(cn_tab->cn_dev, c);
196 if (c == '\n')

--- 13 unchanged lines hidden ---
202cnputc(c)
203 register int c;
204{
205 if (cn_tab == NULL)
206 return;
207 if (c) {
208 (*cn_tab->cn_putc)(cn_tab->cn_dev, c);
209 if (c == '\n')

--- 13 unchanged lines hidden ---