kern_cons.c (46153) | kern_cons.c (46676) |
---|---|
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.63 1999/04/27 12:21:03 phk Exp $ | 39 * $Id: cons.c,v 1.64 1999/04/28 10:52:04 dt Exp $ |
40 */ 41 42#include "opt_devfs.h" 43 44#include <sys/param.h> 45#ifdef DEVFS 46#include <sys/devfsext.h> 47#endif /*DEVFS*/ --- 105 unchanged lines hidden (view full) --- 153 struct cdevsw *cdp; 154 155 if ((cn_tab == NULL) || cn_mute) 156 return; 157 158 /* 159 * Hook the open and close functions. 160 */ | 40 */ 41 42#include "opt_devfs.h" 43 44#include <sys/param.h> 45#ifdef DEVFS 46#include <sys/devfsext.h> 47#endif /*DEVFS*/ --- 105 unchanged lines hidden (view full) --- 153 struct cdevsw *cdp; 154 155 if ((cn_tab == NULL) || cn_mute) 156 return; 157 158 /* 159 * Hook the open and close functions. 160 */ |
161 cdp = cdevsw[major(cn_tab->cn_dev)]; | 161 cdp = devsw(cn_tab->cn_dev); |
162 cn_phys_close = cdp->d_close; 163 cdp->d_close = cnclose; 164 cn_phys_open = cdp->d_open; 165 cdp->d_open = cnopen; 166 cn_tp = (*cdp->d_devtotty)(cn_tab->cn_dev); 167 cn_dev_t = cn_tp->t_dev; 168} 169 170static void 171cnuninit(void) 172{ 173 struct cdevsw *cdp; 174 175 if (cn_tab == NULL) 176 return; 177 178 /* 179 * Unhook the open and close functions. 180 */ | 162 cn_phys_close = cdp->d_close; 163 cdp->d_close = cnclose; 164 cn_phys_open = cdp->d_open; 165 cdp->d_open = cnopen; 166 cn_tp = (*cdp->d_devtotty)(cn_tab->cn_dev); 167 cn_dev_t = cn_tp->t_dev; 168} 169 170static void 171cnuninit(void) 172{ 173 struct cdevsw *cdp; 174 175 if (cn_tab == NULL) 176 return; 177 178 /* 179 * Unhook the open and close functions. 180 */ |
181 cdp = cdevsw[major(cn_tab->cn_dev)]; | 181 cdp = devsw(cn_tab->cn_dev); |
182 cdp->d_close = cn_phys_close; 183 cn_phys_close = NULL; 184 cdp->d_open = cn_phys_open; 185 cn_phys_open = NULL; 186 cn_tp = NULL; 187 cn_dev_t = 0; 188} 189 --- 126 unchanged lines hidden (view full) --- 316cnread(dev, uio, flag) 317 dev_t dev; 318 struct uio *uio; 319 int flag; 320{ 321 if ((cn_tab == NULL) || cn_mute) 322 return (0); 323 dev = cn_tab->cn_dev; | 182 cdp->d_close = cn_phys_close; 183 cn_phys_close = NULL; 184 cdp->d_open = cn_phys_open; 185 cn_phys_open = NULL; 186 cn_tp = NULL; 187 cn_dev_t = 0; 188} 189 --- 126 unchanged lines hidden (view full) --- 316cnread(dev, uio, flag) 317 dev_t dev; 318 struct uio *uio; 319 int flag; 320{ 321 if ((cn_tab == NULL) || cn_mute) 322 return (0); 323 dev = cn_tab->cn_dev; |
324 return ((*cdevsw[major(dev)]->d_read)(dev, uio, flag)); | 324 return ((*devsw(dev)->d_read)(dev, uio, flag)); |
325} 326 327static int 328cnwrite(dev, uio, flag) 329 dev_t dev; 330 struct uio *uio; 331 int flag; 332{ 333 if ((cn_tab == NULL) || cn_mute) { 334 uio->uio_resid = 0; /* dump the data */ 335 return (0); 336 } 337 if (constty) 338 dev = constty->t_dev; 339 else 340 dev = cn_tab->cn_dev; | 325} 326 327static int 328cnwrite(dev, uio, flag) 329 dev_t dev; 330 struct uio *uio; 331 int flag; 332{ 333 if ((cn_tab == NULL) || cn_mute) { 334 uio->uio_resid = 0; /* dump the data */ 335 return (0); 336 } 337 if (constty) 338 dev = constty->t_dev; 339 else 340 dev = cn_tab->cn_dev; |
341 return ((*cdevsw[major(dev)]->d_write)(dev, uio, flag)); | 341 return ((*devsw(dev)->d_write)(dev, uio, flag)); |
342} 343 344static int 345cnioctl(dev, cmd, data, flag, p) 346 dev_t dev; 347 u_long cmd; 348 caddr_t data; 349 int flag; --- 10 unchanged lines hidden (view full) --- 360 if (cmd == TIOCCONS && constty) { 361 error = suser(p); 362 if (error) 363 return (error); 364 constty = NULL; 365 return (0); 366 } 367 dev = cn_tab->cn_dev; | 342} 343 344static int 345cnioctl(dev, cmd, data, flag, p) 346 dev_t dev; 347 u_long cmd; 348 caddr_t data; 349 int flag; --- 10 unchanged lines hidden (view full) --- 360 if (cmd == TIOCCONS && constty) { 361 error = suser(p); 362 if (error) 363 return (error); 364 constty = NULL; 365 return (0); 366 } 367 dev = cn_tab->cn_dev; |
368 return ((*cdevsw[major(dev)]->d_ioctl)(dev, cmd, data, flag, p)); | 368 return ((*devsw(dev)->d_ioctl)(dev, cmd, data, flag, p)); |
369} 370 371static int 372cnpoll(dev, events, p) 373 dev_t dev; 374 int events; 375 struct proc *p; 376{ 377 if ((cn_tab == NULL) || cn_mute) 378 return (1); 379 380 dev = cn_tab->cn_dev; 381 | 369} 370 371static int 372cnpoll(dev, events, p) 373 dev_t dev; 374 int events; 375 struct proc *p; 376{ 377 if ((cn_tab == NULL) || cn_mute) 378 return (1); 379 380 dev = cn_tab->cn_dev; 381 |
382 return ((*cdevsw[major(dev)]->d_poll)(dev, events, p)); | 382 return ((*devsw(dev)->d_poll)(dev, events, p)); |
383} 384 385int 386cngetc() 387{ 388 int c; 389 if ((cn_tab == NULL) || cn_mute) 390 return (-1); --- 48 unchanged lines hidden --- | 383} 384 385int 386cngetc() 387{ 388 int c; 389 if ((cn_tab == NULL) || cn_mute) 390 return (-1); --- 48 unchanged lines hidden --- |