/* $NetBSD: wwrint.c,v 1.5 1997/11/21 08:37:47 lukem Exp $ */ /* * Copyright (c) 1983, 1993 * The Regents of the University of California. All rights reserved. * * This code is derived from software contributed to Berkeley by * Edward Wang at The University of California, Berkeley. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. All advertising materials mentioning features or use of this software * must display the following acknowledgement: * This product includes software developed by the University of * California, Berkeley and its contributors. * 4. Neither the name of the University nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. */ #include #ifndef lint #if 0 static char sccsid[] = "@(#)wwrint.c 8.1 (Berkeley) 6/6/93"; #else __RCSID("$NetBSD: wwrint.c,v 1.5 1997/11/21 08:37:47 lukem Exp $"); #endif #endif /* not lint */ #include #include "ww.h" #include "tt.h" /* * Tty input interrupt handler. * (1) Read input into buffer (wwib*). * (2) Set the interrupt flag if anything is read. * Currently, the last is used to get out of the blocking * select() in wwiomux(). * To avoid race conditions, we only modify wwibq in here, except * when the buffer is empty; and everywhere else, we only change wwibp. * It should be completely safe. */ void wwrint() { int n; wwnread++; n = read(0, wwibq, wwibe - wwibq); if (n > 0) { if (tt.tt_rint) n = (*tt.tt_rint)(wwibq, n); if (n > 0) { wwibq += n; wwnreadc += n; /* * Hasten or delay the next checkpoint, * as the case may be. */ if (tt.tt_checkpoint && !wwdocheckpoint) (void) alarm(1); wwsetintr(); } } else if (n == 0) wwnreadz++; else wwnreade++; } a1dc289cf9a1e8e'>Remove some unecessary includes sys/user.h header.rmind 2009-05-12struct cfdata * -> cfdata_t, no functional changes intended.cegger 2008-04-28Remove clause 3 and 4 from TNF licensesmartin 2008-03-14Split device_t and softc for all com(4) devices (well, everything thatcube 2007-10-19machine/{bus,cpu,intr}.h -> sys/{bus,cpu,intr}.had 2006-11-16__unused removal on arguments; approved by core.christos 2006-10-12- sprinkle __unused on function decls.christos 2006-07-13Add an option COM_REGMAP to allow com(4) to use an array of register indices.gdamore 2005-12-11merge ktrace-lwp.christos 2005-02-27nuke trailing whitespaceperry 2005-02-04de-__Pperry 2004-09-14include "locators.h" explicitely where it is needed, so thatdrochner 2003-08-07Move UCB-licensed code from 4-clause to 3-clause licence.agc 2002-10-02Fix sizeof and whitespace bug from the script I'm using to do thethorpej 2002-10-02Use CFATTACH_DECL().thorpej 2002-09-27Declare all cfattach structures const.thorpej 2001-11-15don't need <sys/types.h> when including <sys/param.h>lukem 2001-11-13add RCSIDlukem 1998-09-16Garbage collect unused 3rd parameter to comprobe1().is 1998-08-15Assign my copyrights to TNF.mycroft 1998-06-09Nuke __BROKEN_INDIRECT_CONFIG.thorpej 1997-10-16Adjust for the new "com" driver home.thorpej 1997-10-03Make this compile on alpha and, presumably, other noncjs 1997-09-16Support for the upcoming NetBSD/Amiga Hypercom driver family:is 1997-08-23Use the new com_is_console() to decide if the port is already initialized.drochner 1997-08-16Bring back the "comconsattached" flag. It is necessary for starreddrochner 1997-08-13fix multi-port serial drivers to reflect recent changes to com driver for con...jtk 1997-07-17use locator defines in "locators.h" to index cf_loc[]jtk 1997-04-04New version of com driver. Uses a different queueing mechanism and a splitmycroft