PERFORCE change 63342 for review
Peter Wemm
peter at FreeBSD.org
Mon Oct 18 17:29:10 PDT 2004
http://perforce.freebsd.org/chv.cgi?CH=63342
Change 63342 by peter at peter_daintree on 2004/10/19 00:28:19
IFC @63337
Affected files ...
.. //depot/projects/hammer/UPDATING#63 integrate
.. //depot/projects/hammer/gnu/usr.bin/rcs/rcsfreeze/Makefile#2 integrate
.. //depot/projects/hammer/lib/libmagic/Makefile#2 integrate
.. //depot/projects/hammer/share/man/man4/sio.4#7 integrate
.. //depot/projects/hammer/sys/alpha/alpha/promcons.c#12 integrate
.. //depot/projects/hammer/sys/alpha/tlsb/zs_tlsb.c#13 integrate
.. //depot/projects/hammer/sys/dev/dcons/dcons_os.c#3 integrate
.. //depot/projects/hammer/sys/dev/digi/digi.c#19 integrate
.. //depot/projects/hammer/sys/dev/if_ndis/if_ndis.c#21 integrate
.. //depot/projects/hammer/sys/dev/nmdm/nmdm.c#16 integrate
.. //depot/projects/hammer/sys/dev/ofw/ofw_console.c#17 integrate
.. //depot/projects/hammer/sys/dev/syscons/syscons.c#26 integrate
.. //depot/projects/hammer/sys/dev/syscons/sysmouse.c#10 integrate
.. //depot/projects/hammer/sys/dev/zs/zs.c#16 integrate
.. //depot/projects/hammer/sys/i386/isa/pcvt/pcvt_drv.c#12 integrate
.. //depot/projects/hammer/sys/ia64/ia64/ssc.c#9 integrate
.. //depot/projects/hammer/sys/kern/kern_descrip.c#33 integrate
.. //depot/projects/hammer/sys/kern/tty.c#31 integrate
.. //depot/projects/hammer/sys/kern/tty_pty.c#23 integrate
.. //depot/projects/hammer/sys/kern/uipc_socket.c#40 integrate
.. //depot/projects/hammer/sys/kern/uipc_usrreq.c#25 integrate
.. //depot/projects/hammer/sys/modules/netgraph/device/Makefile#2 integrate
.. //depot/projects/hammer/sys/net/raw_cb.c#7 integrate
.. //depot/projects/hammer/sys/net/raw_usrreq.c#10 integrate
.. //depot/projects/hammer/sys/netatalk/ddp_pcb.c#5 integrate
.. //depot/projects/hammer/sys/netatm/atm_socket.c#8 integrate
.. //depot/projects/hammer/sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c#13 integrate
.. //depot/projects/hammer/sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c#11 integrate
.. //depot/projects/hammer/sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c#11 integrate
.. //depot/projects/hammer/sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c#10 integrate
.. //depot/projects/hammer/sys/netgraph/ng_device.c#9 integrate
.. //depot/projects/hammer/sys/netgraph/ng_device.h#4 integrate
.. //depot/projects/hammer/sys/netinet/in_pcb.c#30 integrate
.. //depot/projects/hammer/sys/netinet/tcp_subr.c#30 integrate
.. //depot/projects/hammer/sys/netinet6/in6_pcb.c#18 integrate
.. //depot/projects/hammer/sys/netipx/ipx_pcb.c#5 integrate
.. //depot/projects/hammer/sys/netipx/ipx_usrreq.c#6 integrate
.. //depot/projects/hammer/sys/netnatm/natm.c#13 integrate
.. //depot/projects/hammer/sys/pci/if_de.c#20 integrate
.. //depot/projects/hammer/sys/sys/socketvar.h#23 integrate
.. //depot/projects/hammer/sys/sys/tty.h#19 integrate
.. //depot/projects/hammer/usr.sbin/rpc.yppasswdd/Makefile#3 integrate
.. //depot/projects/hammer/usr.sbin/ypserv/Makefile#3 integrate
Differences ...
==== //depot/projects/hammer/UPDATING#63 (text+ko) ====
@@ -23,6 +23,14 @@
developers choose to disable these features on build machines
to maximize performance.
+20041018:
+ A major sweep over the tty drivers to elimnate approx 3100
+ lines of copy&pasted code have been performed. As a part of
+ this change some tty devices have changed names:
+ sio devices are now named: {tty,cua}d%d[.init,.lock]
+ ucom devices are now named: {tty,cua}U%d[.init,.lock]
+ For other drivers see the commit logs.
+
20041007:
The FreeBSD keyword is no longer a requirement for a valid
rc.d script. The rc(8) and rc.shutdown(8) scripts no longer check
@@ -1943,4 +1951,4 @@
Contact Warner Losh if you have any questions about your use of
this document.
-$FreeBSD: src/UPDATING,v 1.374 2004/10/17 14:59:18 obrien Exp $
+$FreeBSD: src/UPDATING,v 1.375 2004/10/18 21:24:21 phk Exp $
==== //depot/projects/hammer/gnu/usr.bin/rcs/rcsfreeze/Makefile#2 (text+ko) ====
@@ -1,10 +1,7 @@
-# $FreeBSD: src/gnu/usr.bin/rcs/rcsfreeze/Makefile,v 1.8 2002/07/29 09:40:09 ru Exp $
+# $FreeBSD: src/gnu/usr.bin/rcs/rcsfreeze/Makefile,v 1.9 2004/10/18 21:44:17 ru Exp $
+SCRIPTS= rcsfreeze.sh
MAN= rcsfreeze.1
-afterinstall:
- ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} \
- ${.CURDIR}/rcsfreeze.sh ${DESTDIR}${BINDIR}/rcsfreeze
-
.include "../../Makefile.inc"
.include <bsd.prog.mk>
==== //depot/projects/hammer/lib/libmagic/Makefile#2 (text+ko) ====
@@ -1,4 +1,4 @@
-# $FreeBSD: src/lib/libmagic/Makefile,v 1.3 2004/08/09 11:05:09 obrien Exp $
+# $FreeBSD: src/lib/libmagic/Makefile,v 1.4 2004/10/18 22:18:23 ru Exp $
# Copyright (c) David E. O'Brien, 2000-2004
CONTRDIR= ${.CURDIR}/../../contrib/file
@@ -45,8 +45,8 @@
${CC} -DHAVE_CONFIG_H -DCOMPILE_ONLY \
-I${.CURDIR} -I${CONTRDIR} -o ${.TARGET} ${.ALLSRC}
-FILEVER!= awk '$$1 == "\#define" && $$2 == "VERSION" { print $$3 }' \
- ${.CURDIR}/config.h | uniq
+FILEVER!= awk '$$1 == "\#define" && $$2 == "VERSION" { print $$3; exit }' \
+ ${.CURDIR}/config.h
CLEANFILES+= ${MAN}
.for mp in ${MAN}
${mp}: ${mp:C/[0-9]/man/}
==== //depot/projects/hammer/share/man/man4/sio.4#7 (text+ko) ====
@@ -34,9 +34,9 @@
.\"
.\" from: @(#)dca.4 5.2 (Berkeley) 3/27/91
.\" from: com.4,v 1.1 1993/08/06 11:19:07 cgd Exp
-.\" $FreeBSD: src/share/man/man4/sio.4,v 1.53 2004/07/03 18:29:20 ru Exp $
+.\" $FreeBSD: src/share/man/man4/sio.4,v 1.54 2004/10/18 21:31:05 obrien Exp $
.\"
-.Dd July 10, 2002
+.Dd October 17, 2004
.Dt SIO 4
.Os
.Sh NAME
@@ -342,22 +342,22 @@
to avoid certain security holes, but this needs to be done by
getty if the callin port is used for anything else.
.Sh FILES
-.Bl -tag -width /dev/ttyid? -compact
+.Bl -tag -width /dev/ttyd?.init -compact
.It Pa /dev/ttyd?
for callin ports
-.It Pa /dev/ttyid?
-.It Pa /dev/ttyld?
+.It Pa /dev/ttyd?.init
+.It Pa /dev/ttyd?.lock
corresponding callin initial-state and lock-state devices
.Pp
-.It Pa /dev/cuaa?
+.It Pa /dev/cuad?
for callout ports
-.It Pa /dev/cuaia?
-.It Pa /dev/cuala?
+.It Pa /dev/cuad?.init
+.It Pa /dev/cuad?.lock
corresponding callout initial-state and lock-state devices
.El
.Pp
-.Bl -tag -width /etc/rc.serial -compact
-.It Pa /etc/rc.serial
+.Bl -tag -width /etc/rc.d/serial -compact
+.It Pa /etc/rc.d/serial
examples of setting the initial-state and lock-state devices
.El
.Pp
==== //depot/projects/hammer/sys/alpha/alpha/promcons.c#12 (text+ko) ====
@@ -27,7 +27,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/alpha/alpha/promcons.c,v 1.41 2004/09/17 11:02:53 phk Exp $");
+__FBSDID("$FreeBSD: src/sys/alpha/alpha/promcons.c,v 1.42 2004/10/18 21:51:24 phk Exp $");
#include <sys/param.h>
#include <sys/kernel.h>
@@ -107,12 +107,7 @@
tp->t_dev = dev;
if ((tp->t_state & TS_ISOPEN) == 0) {
tp->t_state |= TS_CARR_ON;
- ttychars(tp);
- tp->t_iflag = TTYDEF_IFLAG;
- tp->t_oflag = TTYDEF_OFLAG;
- tp->t_cflag = TTYDEF_CFLAG|CLOCAL;
- tp->t_lflag = TTYDEF_LFLAG;
- tp->t_ispeed = tp->t_ospeed = TTYDEF_SPEED;
+ ttyconsmode(tp, 0);
ttsetwater(tp);
setuptimeout = 1;
==== //depot/projects/hammer/sys/alpha/tlsb/zs_tlsb.c#13 (text+ko) ====
@@ -31,7 +31,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/alpha/tlsb/zs_tlsb.c,v 1.48 2004/09/17 11:04:57 phk Exp $");
+__FBSDID("$FreeBSD: src/sys/alpha/tlsb/zs_tlsb.c,v 1.49 2004/10/18 21:51:24 phk Exp $");
#include <sys/param.h>
#include <sys/kernel.h>
@@ -283,12 +283,7 @@
tp = dev->si_tty;
if ((tp->t_state & TS_ISOPEN) == 0) {
tp->t_state |= TS_CARR_ON;
- ttychars(tp);
- tp->t_iflag = TTYDEF_IFLAG;
- tp->t_oflag = TTYDEF_OFLAG;
- tp->t_cflag = TTYDEF_CFLAG|CLOCAL;
- tp->t_lflag = TTYDEF_LFLAG;
- tp->t_ispeed = tp->t_ospeed = TTYDEF_SPEED;
+ ttyconsolemode(tp, 0);
ttsetwater(tp);
setuptimeout = 1;
} else if ((tp->t_state & TS_XCLUDE) && suser(td)) {
==== //depot/projects/hammer/sys/dev/dcons/dcons_os.c#3 (text+ko) ====
@@ -31,7 +31,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $FreeBSD: src/sys/dev/dcons/dcons_os.c,v 1.2 2004/10/14 00:21:32 simokawa Exp $
+ * $FreeBSD: src/sys/dev/dcons/dcons_os.c,v 1.3 2004/10/18 21:51:25 phk Exp $
*/
#include <sys/param.h>
@@ -294,12 +294,7 @@
s = spltty();
if ((tp->t_state & TS_ISOPEN) == 0) {
tp->t_state |= TS_CARR_ON;
- ttychars(tp);
- tp->t_iflag = TTYDEF_IFLAG;
- tp->t_oflag = TTYDEF_OFLAG;
- tp->t_cflag = TTYDEF_CFLAG|CLOCAL;
- tp->t_lflag = TTYDEF_LFLAG;
- tp->t_ispeed = tp->t_ospeed = TTYDEF_SPEED;
+ ttyconsolemode(tp, 0);
ttsetwater(tp);
} else if ((tp->t_state & TS_XCLUDE) && suser(td)) {
splx(s);
==== //depot/projects/hammer/sys/dev/digi/digi.c#19 (text+ko) ====
@@ -26,7 +26,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $FreeBSD: src/sys/dev/digi/digi.c,v 1.56 2004/10/06 20:01:49 phk Exp $
+ * $FreeBSD: src/sys/dev/digi/digi.c,v 1.57 2004/10/18 21:51:25 phk Exp $
*/
/*-
@@ -85,9 +85,6 @@
fepcmd(port, cmd, (op2 << 8) | op1, ncmds)
#define fepcmd_w fepcmd
-
-static speed_t digidefaultrate = TTYDEF_SPEED;
-
struct con_bios {
struct con_bios *next;
u_char *bios;
@@ -589,19 +586,7 @@
bc->edelay = 100;
- /*
- * We don't use all the flags from <sys/ttydefaults.h> since
- * they are only relevant for logins. It's important to have
- * echo off initially so that the line doesn't start blathering
- * before the echo flag can be turned off.
- */
- tp->t_init_in.c_iflag = 0;
- tp->t_init_in.c_oflag = 0;
- tp->t_init_in.c_cflag = TTYDEF_CFLAG;
- tp->t_init_in.c_lflag = 0;
- termioschars(&tp->t_init_in);
- tp->t_init_in.c_ispeed = tp->t_init_in.c_ospeed = digidefaultrate;
- tp->t_init_out = tp->t_init_in;
+ ttyinitmode(tp, 0, 0);
port->send_ring = 1; /* Default action on signal RI */
ttycreate(tp, NULL, 0, MINOR_CALLOUT, "D%r%r", sc->res.unit, i);
}
==== //depot/projects/hammer/sys/dev/if_ndis/if_ndis.c#21 (text+ko) ====
@@ -31,7 +31,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/if_ndis/if_ndis.c,v 1.70 2004/10/08 16:14:42 mlaier Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/if_ndis/if_ndis.c,v 1.71 2004/10/18 21:33:56 le Exp $");
#include "opt_bdg.h"
@@ -1291,8 +1291,10 @@
break;
}
- if (pcnt == 0)
+ if (pcnt == 0) {
+ NDIS_UNLOCK(sc);
return;
+ }
if (sc->ndis_txpending == 0)
ifp->if_flags |= IFF_OACTIVE;
==== //depot/projects/hammer/sys/dev/nmdm/nmdm.c#16 (text+ko) ====
@@ -29,7 +29,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/nmdm/nmdm.c,v 1.30 2004/07/15 20:47:37 phk Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/nmdm/nmdm.c,v 1.31 2004/10/18 21:51:25 phk Exp $");
/*
* Pseudo-nulmodem driver
@@ -247,13 +247,7 @@
tp2 = sp->other->nm_tty;
if ((tp->t_state & TS_ISOPEN) == 0) {
- ttychars(tp); /* Set up default chars */
- tp->t_iflag = TTYDEF_IFLAG;
- tp->t_oflag = TTYDEF_OFLAG;
- tp->t_lflag = TTYDEF_LFLAG;
- tp->t_lflag = 0;
- tp->t_cflag = TTYDEF_CFLAG;
- tp->t_ispeed = tp->t_ospeed = TTYDEF_SPEED;
+ ttyinitmode(tp, 0, 0);
ttsetwater(tp); /* XXX ? */
} else if (tp->t_state & TS_XCLUDE && suser(td)) {
return (EBUSY);
==== //depot/projects/hammer/sys/dev/ofw/ofw_console.c#17 (text+ko) ====
@@ -24,7 +24,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/ofw/ofw_console.c,v 1.29 2004/10/12 21:23:33 phk Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/ofw/ofw_console.c,v 1.30 2004/10/18 21:51:25 phk Exp $");
#include "opt_comconsole.h"
#include "opt_ofw.h"
@@ -138,12 +138,7 @@
if ((tp->t_state & TS_ISOPEN) == 0) {
tp->t_state |= TS_CARR_ON;
- ttychars(tp);
- tp->t_iflag = TTYDEF_IFLAG;
- tp->t_oflag = TTYDEF_OFLAG;
- tp->t_cflag = TTYDEF_CFLAG | CLOCAL;
- tp->t_lflag = TTYDEF_LFLAG;
- tp->t_ispeed = tp->t_ospeed = TTYDEF_SPEED;
+ ttyconsolemode(tp, 0);
ttsetwater(tp);
setuptimeout = 1;
==== //depot/projects/hammer/sys/dev/syscons/syscons.c#26 (text+ko) ====
@@ -27,7 +27,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/syscons/syscons.c,v 1.430 2004/10/14 08:58:28 phk Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/syscons/syscons.c,v 1.431 2004/10/18 21:51:25 phk Exp $");
#include "opt_syscons.h"
#include "opt_splash.h"
@@ -145,6 +145,7 @@
static int debugger;
/* prototypes */
+static struct tty *sc_alloc_tty(struct cdev *dev);
static int scvidprobe(int unit, int flags, int cons);
static int sckbdprobe(int unit, int flags, int cons);
static void scmeminit(void *arg);
@@ -288,10 +289,23 @@
return names[i].name[(adp->va_flags & V_ADP_COLOR) ? 0 : 1];
}
+static struct tty *
+sc_alloc_tty(struct cdev *dev)
+{
+ struct tty *tp;
+
+ tp = dev->si_tty = ttyalloc();
+ ttyinitmode(tp, 1, 0);
+ tp->t_oproc = scstart;
+ tp->t_param = scparam;
+ tp->t_stop = nottystop;
+ tp->t_dev = dev;
+ return (tp);
+}
+
int
sc_attach_unit(int unit, int flags)
{
- struct tty *tp;
sc_softc_t *sc;
scr_stat *scp;
#ifdef SC_PIXEL_MODE
@@ -383,14 +397,9 @@
for (vc = 0; vc < sc->vtys; vc++) {
if (sc->dev[vc] == NULL) {
- dev = make_dev(&sc_cdevsw, vc + unit * MAXCONS,
+ sc->dev[vc] = make_dev(&sc_cdevsw, vc + unit * MAXCONS,
UID_ROOT, GID_WHEEL, 0600, "ttyv%r", vc + unit * MAXCONS);
- sc->dev[vc] = dev;
- tp = sc->dev[vc]->si_tty = ttyalloc();
- tp->t_oproc = scstart;
- tp->t_param = scparam;
- tp->t_stop = nottystop;
- tp->t_dev = sc->dev[vc];
+ sc_alloc_tty(sc->dev[vc]);
if (vc == 0 && sc->dev == main_devs)
SC_STAT(sc->dev[0]) = &main_console;
}
@@ -403,12 +412,8 @@
dev = make_dev(&sc_cdevsw, SC_CONSOLECTL,
UID_ROOT, GID_WHEEL, 0600, "consolectl");
- tp = dev->si_tty = sc_console_tty = ttyalloc();
- ttyconsolemode(tp, 0);
- tp->t_oproc = scstart;
- tp->t_param = scparam;
- tp->t_stop = nottystop;
- tp->t_dev = dev;
+ sc_console_tty = sc_alloc_tty(dev);
+ ttyconsolemode(sc_console_tty, 0);
SC_STAT(dev) = sc_console;
return 0;
@@ -2581,7 +2586,6 @@
static void
scinit(int unit, int flags)
{
- struct tty *tp;
/*
* When syscons is being initialized as the kernel console, malloc()
@@ -2692,11 +2696,7 @@
sc->dev = malloc(sizeof(struct cdev *)*sc->vtys, M_DEVBUF, M_WAITOK|M_ZERO);
sc->dev[0] = make_dev(&sc_cdevsw, unit * MAXCONS,
UID_ROOT, GID_WHEEL, 0600, "ttyv%r", unit * MAXCONS);
- tp = sc->dev[0]->si_tty = ttyalloc();
- tp->t_oproc = scstart;
- tp->t_param = scparam;
- tp->t_stop = nottystop;
- tp->t_dev = sc->dev[0];
+ sc_alloc_tty(sc->dev[0]);
scp = alloc_scp(sc, sc->first_vty);
SC_STAT(sc->dev[0]) = scp;
}
==== //depot/projects/hammer/sys/dev/syscons/sysmouse.c#10 (text+ko) ====
@@ -26,7 +26,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/syscons/sysmouse.c,v 1.25 2004/10/14 08:58:28 phk Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/syscons/sysmouse.c,v 1.26 2004/10/18 21:51:26 phk Exp $");
#include "opt_syscons.h"
@@ -80,12 +80,7 @@
tp = dev->si_tty;
if (!(tp->t_state & TS_ISOPEN)) {
- ttychars(tp);
- tp->t_iflag = TTYDEF_IFLAG;
- tp->t_oflag = TTYDEF_OFLAG;
- tp->t_cflag = TTYDEF_CFLAG;
- tp->t_lflag = TTYDEF_LFLAG;
- tp->t_ispeed = tp->t_ospeed = TTYDEF_SPEED;
+ ttyinitmode(tp, 0, 0);
smparam(tp, &tp->t_termios);
ttyld_modem(tp, 1);
} else if (tp->t_state & TS_XCLUDE && suser(td)) {
==== //depot/projects/hammer/sys/dev/zs/zs.c#16 (text+ko) ====
@@ -40,7 +40,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/zs/zs.c,v 1.28 2004/09/18 16:43:15 phk Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/zs/zs.c,v 1.29 2004/10/18 21:51:26 phk Exp $");
/*-
* Copyright (c) 2003 Jake Burkholder.
* All rights reserved.
@@ -276,12 +276,8 @@
tp->t_modem = zsttymodem;
tp->t_break = zsttybreak;
tp->t_stop = zsttystop;
- tp->t_iflag = TTYDEF_IFLAG;
- tp->t_oflag = TTYDEF_OFLAG;
- tp->t_lflag = TTYDEF_LFLAG;
+ ttyinitmode(tp, 0, 0);
tp->t_cflag = CREAD | CLOCAL | CS8;
- tp->t_ospeed = TTYDEF_SPEED;
- tp->t_ispeed = TTYDEF_SPEED;
if (zstty_console(dev, mode, sizeof(mode))) {
ttychars(tp);
@@ -472,19 +468,10 @@
sc->sc_preg[1] |= ZSWR1_RIE | ZSWR1_SIE;
sc->sc_iput = sc->sc_iget = sc->sc_ibuf;
- /*
- * Initialize the termios status to the defaults. Add in the
- * sticky bits from TIOCSFLAGS.
- */
- t.c_ispeed = 0;
- t.c_ospeed = tp->t_ospeed;
- t.c_cflag = TTYDEF_CFLAG;
+ ttyconsolemode(t, 0);
/* Make sure zstty_param() will do something. */
tp->t_ospeed = 0;
(void)zstty_param(sc, tp, &t);
- tp->t_iflag = TTYDEF_IFLAG;
- tp->t_oflag = TTYDEF_OFLAG;
- tp->t_lflag = TTYDEF_LFLAG;
ttychars(tp);
ttsetwater(tp);
==== //depot/projects/hammer/sys/i386/isa/pcvt/pcvt_drv.c#12 (text+ko) ====
@@ -50,7 +50,7 @@
*
* Last Edit-Date: [Sat Jul 15 15:06:06 2000]
*
- * $FreeBSD: src/sys/i386/isa/pcvt/pcvt_drv.c,v 1.89 2004/07/15 20:47:40 phk Exp $
+ * $FreeBSD: src/sys/i386/isa/pcvt/pcvt_drv.c,v 1.90 2004/10/18 21:51:26 phk Exp $
*
*---------------------------------------------------------------------------*/
@@ -297,12 +297,7 @@
if ((tp->t_state & TS_ISOPEN) == 0)
{
- ttychars(tp);
- tp->t_iflag = TTYDEF_IFLAG;
- tp->t_oflag = TTYDEF_OFLAG;
- tp->t_cflag = TTYDEF_CFLAG;
- tp->t_lflag = TTYDEF_LFLAG;
- tp->t_ispeed = tp->t_ospeed = TTYDEF_SPEED;
+ ttyinitmode(tp, 1, 0);
pcvt_param(tp, &tp->t_termios);
ttyld_modem(tp, 1); /* fake connection */
winsz = 1; /* set winsize later */
==== //depot/projects/hammer/sys/ia64/ia64/ssc.c#9 (text+ko) ====
@@ -23,7 +23,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $FreeBSD: src/sys/ia64/ia64/ssc.c,v 1.23 2004/07/15 20:47:40 phk Exp $
+ * $FreeBSD: src/sys/ia64/ia64/ssc.c,v 1.24 2004/10/18 21:51:26 phk Exp $
*/
#include <sys/param.h>
#include <sys/bus.h>
@@ -148,12 +148,7 @@
tp->t_dev = dev;
if ((tp->t_state & TS_ISOPEN) == 0) {
tp->t_state |= TS_CARR_ON;
- ttychars(tp);
- tp->t_iflag = TTYDEF_IFLAG;
- tp->t_oflag = TTYDEF_OFLAG;
- tp->t_cflag = TTYDEF_CFLAG|CLOCAL;
- tp->t_lflag = TTYDEF_LFLAG;
- tp->t_ispeed = tp->t_ospeed = TTYDEF_SPEED;
+ ttyconsolemode(tp, 0);
ttsetwater(tp);
setuptimeout = 1;
==== //depot/projects/hammer/sys/kern/kern_descrip.c#33 (text+ko) ====
@@ -35,7 +35,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/kern/kern_descrip.c,v 1.245 2004/10/04 06:45:48 julian Exp $");
+__FBSDID("$FreeBSD: src/sys/kern/kern_descrip.c,v 1.246 2004/10/18 22:19:42 rwatson Exp $");
#include "opt_compat.h"
@@ -2063,6 +2063,7 @@
{
NET_ASSERT_GIANT();
+ ACCEPT_LOCK();
SOCK_LOCK(so);
sorele(so);
}
==== //depot/projects/hammer/sys/kern/tty.c#31 (text+ko) ====
@@ -71,7 +71,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/kern/tty.c,v 1.238 2004/10/15 09:03:07 phk Exp $");
+__FBSDID("$FreeBSD: src/sys/kern/tty.c,v 1.239 2004/10/18 21:51:26 phk Exp $");
#include "opt_compat.h"
#include "opt_tty.h"
@@ -2845,11 +2845,7 @@
tp->t_timeout = -1;
tp->t_dtr_wait = 3 * hz;
- tp->t_init_in.c_iflag = TTYDEF_IFLAG;
- tp->t_init_in.c_oflag = TTYDEF_OFLAG;
- tp->t_init_in.c_cflag = TTYDEF_CFLAG;
- tp->t_init_in.c_lflag = TTYDEF_LFLAG;
- tp->t_init_in.c_ispeed = tp->t_init_in.c_ospeed = TTYDEF_SPEED;
+ ttyinitmode(tp, 0, 0);
bcopy(ttydefchars, tp->t_init_in.c_cc, sizeof tp->t_init_in.c_cc);
/* Make callout the same as callin */
@@ -3365,23 +3361,44 @@
}
/*
+ * Initialize a tty to sane modes.
+ */
+void
+ttyinitmode(struct tty *tp, int echo, int speed)
+{
+
+ if (speed == 0)
+ speed = TTYDEF_SPEED;
+ tp->t_init_in.c_iflag = TTYDEF_IFLAG;
+ tp->t_init_in.c_oflag = TTYDEF_OFLAG;
+ tp->t_init_in.c_cflag = TTYDEF_CFLAG;
+ if (echo)
+ tp->t_init_in.c_lflag = TTYDEF_LFLAG_ECHO;
+ else
+ tp->t_init_in.c_lflag = TTYDEF_LFLAG;
+
+ tp->t_init_in.c_ispeed = tp->t_init_in.c_ospeed = speed;
+ termioschars(&tp->t_init_in);
+ tp->t_init_out = tp->t_init_in;
+ tp->t_termios = tp->t_init_in;
+}
+
+/*
* Use more "normal" termios paramters for consoles.
*/
void
ttyconsolemode(struct tty *tp, int speed)
{
- tp->t_init_in.c_iflag = TTYDEF_IFLAG;
- tp->t_init_in.c_oflag = TTYDEF_OFLAG;
- tp->t_init_in.c_cflag = TTYDEF_CFLAG | CLOCAL;
- tp->t_init_in.c_lflag = TTYDEF_LFLAG_ECHO;
- tp->t_lock_out.c_cflag = tp->t_lock_in.c_cflag = CLOCAL;
if (speed == 0)
speed = TTYDEF_SPEED;
+ ttyinitmode(tp, 1, speed);
+ tp->t_init_in.c_cflag |= CLOCAL;
+ tp->t_lock_out.c_cflag = tp->t_lock_in.c_cflag = CLOCAL;
tp->t_lock_out.c_ispeed = tp->t_lock_out.c_ospeed =
- tp->t_lock_in.c_ispeed = tp->t_lock_in.c_ospeed =
- tp->t_init_in.c_ispeed = tp->t_init_in.c_ospeed = speed;
+ tp->t_lock_in.c_ispeed = tp->t_lock_in.c_ospeed = speed;
tp->t_init_out = tp->t_init_in;
+ tp->t_termios = tp->t_init_in;
}
/*
==== //depot/projects/hammer/sys/kern/tty_pty.c#23 (text+ko) ====
@@ -30,7 +30,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/kern/tty_pty.c,v 1.132 2004/10/15 09:03:07 phk Exp $");
+__FBSDID("$FreeBSD: src/sys/kern/tty_pty.c,v 1.133 2004/10/18 21:51:26 phk Exp $");
/*
* Pseudo-teletype Driver
@@ -175,12 +175,7 @@
pt = dev->si_drv1;
tp = dev->si_tty;
if ((tp->t_state & TS_ISOPEN) == 0) {
- ttychars(tp); /* Set up default chars */
- tp->t_iflag = TTYDEF_IFLAG;
- tp->t_oflag = TTYDEF_OFLAG;
- tp->t_lflag = TTYDEF_LFLAG_ECHO;
- tp->t_cflag = TTYDEF_CFLAG;
- tp->t_ispeed = tp->t_ospeed = TTYDEF_SPEED;
+ ttyinitmode(tp, 1, 0);
} else if (tp->t_state & TS_XCLUDE && suser(td))
return (EBUSY);
else if (pt->pt_prison != td->td_ucred->cr_prison)
==== //depot/projects/hammer/sys/kern/uipc_socket.c#40 (text+ko) ====
@@ -32,7 +32,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/kern/uipc_socket.c,v 1.213 2004/10/11 08:11:26 rwatson Exp $");
+__FBSDID("$FreeBSD: src/sys/kern/uipc_socket.c,v 1.214 2004/10/18 22:19:42 rwatson Exp $");
#include "opt_inet.h"
#include "opt_mac.h"
@@ -227,6 +227,7 @@
SOCK_UNLOCK(so);
error = (*prp->pr_usrreqs->pru_attach)(so, proto, td);
if (error) {
+ ACCEPT_LOCK();
SOCK_LOCK(so);
so->so_state |= SS_NOFDREF;
sorele(so);
@@ -333,9 +334,8 @@
{
struct socket *head;
- SOCK_UNLOCK(so);
- ACCEPT_LOCK();
- SOCK_LOCK(so);
+ ACCEPT_LOCK_ASSERT();
+ SOCK_LOCK_ASSERT(so);
if (so->so_pcb != NULL || (so->so_state & SS_NOFDREF) == 0 ||
so->so_count != 0) {
@@ -467,6 +467,7 @@
error = error2;
}
discard:
+ ACCEPT_LOCK();
SOCK_LOCK(so);
KASSERT((so->so_state & SS_NOFDREF) == 0, ("soclose: NOFDREF"));
so->so_state |= SS_NOFDREF;
==== //depot/projects/hammer/sys/kern/uipc_usrreq.c#25 (text+ko) ====
@@ -31,7 +31,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/kern/uipc_usrreq.c,v 1.140 2004/08/25 21:24:36 rwatson Exp $");
+__FBSDID("$FreeBSD: src/sys/kern/uipc_usrreq.c,v 1.141 2004/10/18 22:19:42 rwatson Exp $");
#include "opt_mac.h"
@@ -140,6 +140,7 @@
unp_drop(unp, ECONNABORTED);
unp_detach(unp);
UNP_UNLOCK_ASSERT();
+ ACCEPT_LOCK();
SOCK_LOCK(so);
sotryfree(so);
return (0);
==== //depot/projects/hammer/sys/modules/netgraph/device/Makefile#2 (text+ko) ====
@@ -1,7 +1,7 @@
-# $FreeBSD: src/sys/modules/netgraph/device/Makefile,v 1.1 2002/06/18 21:32:33 julian Exp $
+# $FreeBSD: src/sys/modules/netgraph/device/Makefile,v 1.2 2004/10/18 20:13:57 glebius Exp $
KMOD= ng_device
SRCS= ng_device.c
-SRCS+= device_if.h
+SRCS+= device_if.h vnode_if.h
.include <bsd.kmod.mk>
==== //depot/projects/hammer/sys/net/raw_cb.c#7 (text+ko) ====
@@ -27,7 +27,7 @@
* SUCH DAMAGE.
*
* @(#)raw_cb.c 8.1 (Berkeley) 6/10/93
- * $FreeBSD: src/sys/net/raw_cb.c,v 1.29 2004/06/15 04:13:59 rwatson Exp $
+ * $FreeBSD: src/sys/net/raw_cb.c,v 1.30 2004/10/18 22:19:42 rwatson Exp $
*/
#include <sys/param.h>
@@ -98,6 +98,7 @@
{
struct socket *so = rp->rcb_socket;
+ ACCEPT_LOCK();
SOCK_LOCK(so);
so->so_pcb = 0;
sotryfree(so);
==== //depot/projects/hammer/sys/net/raw_usrreq.c#10 (text+ko) ====
@@ -27,7 +27,7 @@
* SUCH DAMAGE.
*
* @(#)raw_usrreq.c 8.1 (Berkeley) 6/10/93
- * $FreeBSD: src/sys/net/raw_usrreq.c,v 1.34 2004/06/15 04:13:59 rwatson Exp $
+ * $FreeBSD: src/sys/net/raw_usrreq.c,v 1.35 2004/10/18 22:19:42 rwatson Exp $
*/
#include <sys/param.h>
@@ -147,6 +147,7 @@
return EINVAL;
raw_disconnect(rp);
soisdisconnected(so);
+ ACCEPT_LOCK();
SOCK_LOCK(so);
sotryfree(so);
return 0;
==== //depot/projects/hammer/sys/netatalk/ddp_pcb.c#5 (text+ko) ====
@@ -3,7 +3,7 @@
* Copyright (c) 1990,1994 Regents of The University of Michigan.
* All Rights Reserved. See COPYRIGHT.
*
- * $FreeBSD: src/sys/netatalk/ddp_pcb.c,v 1.44 2004/07/12 18:39:59 rwatson Exp $
+ * $FreeBSD: src/sys/netatalk/ddp_pcb.c,v 1.45 2004/10/18 22:19:42 rwatson Exp $
*/
#include <sys/param.h>
@@ -282,6 +282,7 @@
DDP_LOCK_ASSERT(ddp);
soisdisconnected(so);
+ ACCEPT_LOCK();
SOCK_LOCK(so);
so->so_pcb = NULL;
sotryfree(so);
==== //depot/projects/hammer/sys/netatm/atm_socket.c#8 (text+ko) ====
@@ -31,7 +31,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/netatm/atm_socket.c,v 1.20 2004/06/12 20:47:29 rwatson Exp $");
+__FBSDID("$FreeBSD: src/sys/netatm/atm_socket.c,v 1.21 2004/10/18 22:19:42 rwatson Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -173,6 +173,7 @@
/*
* Break links and free control blocks
*/
+ ACCEPT_LOCK();
SOCK_LOCK(so);
so->so_pcb = NULL;
sotryfree(so);
==== //depot/projects/hammer/sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c#13 (text+ko) ====
@@ -26,7 +26,7 @@
* SUCH DAMAGE.
*
* $Id: ng_btsocket_hci_raw.c,v 1.14 2003/09/14 23:29:06 max Exp $
- * $FreeBSD: src/sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c,v 1.15 2004/06/12 20:47:30 rwatson Exp $
+ * $FreeBSD: src/sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c,v 1.16 2004/10/18 22:19:42 rwatson Exp $
*/
#include <sys/param.h>
@@ -1417,6 +1417,7 @@
bzero(pcb, sizeof(*pcb));
FREE(pcb, M_NETGRAPH_BTSOCKET_HCI_RAW);
+ ACCEPT_LOCK();
SOCK_LOCK(so);
so->so_pcb = NULL;
sotryfree(so);
==== //depot/projects/hammer/sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c#11 (text+ko) ====
@@ -26,7 +26,7 @@
* SUCH DAMAGE.
*
* $Id: ng_btsocket_l2cap.c,v 1.16 2003/09/14 23:29:06 max Exp $
- * $FreeBSD: src/sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c,v 1.13 2004/06/12 20:47:30 rwatson Exp $
+ * $FreeBSD: src/sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c,v 1.14 2004/10/18 22:19:42 rwatson Exp $
*/
#include <sys/param.h>
@@ -1804,6 +1804,7 @@
FREE(pcb, M_NETGRAPH_BTSOCKET_L2CAP);
soisdisconnected(so);
+ ACCEPT_LOCK();
SOCK_LOCK(so);
so->so_pcb = NULL;
sotryfree(so);
@@ -2347,6 +2348,7 @@
FREE(pcb, M_NETGRAPH_BTSOCKET_L2CAP);
soisdisconnected(so);
+ ACCEPT_LOCK();
SOCK_LOCK(so);
so->so_pcb = NULL;
sotryfree(so);
==== //depot/projects/hammer/sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c#11 (text+ko) ====
@@ -26,7 +26,7 @@
* SUCH DAMAGE.
*
* $Id: ng_btsocket_l2cap_raw.c,v 1.12 2003/09/14 23:29:06 max Exp $
- * $FreeBSD: src/sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c,v 1.12 2004/06/12 20:47:30 rwatson Exp $
+ * $FreeBSD: src/sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c,v 1.13 2004/10/18 22:19:42 rwatson Exp $
*/
#include <sys/param.h>
@@ -1129,6 +1129,7 @@
bzero(pcb, sizeof(*pcb));
FREE(pcb, M_NETGRAPH_BTSOCKET_L2CAP_RAW);
+ ACCEPT_LOCK();
SOCK_LOCK(so);
so->so_pcb = NULL;
sotryfree(so);
==== //depot/projects/hammer/sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c#10 (text+ko) ====
@@ -26,7 +26,7 @@
* SUCH DAMAGE.
*
* $Id: ng_btsocket_rfcomm.c,v 1.28 2003/09/14 23:29:06 max Exp $
- * $FreeBSD: src/sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c,v 1.12 2004/06/18 05:09:42 rwatson Exp $
+ * $FreeBSD: src/sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c,v 1.13 2004/10/18 22:19:42 rwatson Exp $
*/
#include <sys/param.h>
@@ -724,6 +724,7 @@
FREE(pcb, M_NETGRAPH_BTSOCKET_RFCOMM);
soisdisconnected(so);
+ ACCEPT_LOCK();
SOCK_LOCK(so);
so->so_pcb = NULL;
sotryfree(so);
==== //depot/projects/hammer/sys/netgraph/ng_device.c#9 (text+ko) ====
@@ -23,13 +23,19 @@
*
* Netgraph "device" node
*
- * This node presents a /dev/ngd%d device that interfaces to an other
+ * This node presents a /dev/ngd%d device that interfaces to an other
* netgraph node.
*
- * $FreeBSD: src/sys/netgraph/ng_device.c,v 1.11 2004/07/20 13:16:17 glebius Exp $
+ * $FreeBSD: src/sys/netgraph/ng_device.c,v 1.12 2004/10/18 20:13:57 glebius Exp $
*
*/
+#if 0
+#define AAA printf("ng_device: %s\n", __func__ );
+#else
+#define AAA
+#endif
+
#include <sys/param.h>
#include <sys/conf.h>
#include <sys/ioccom.h>
@@ -38,407 +44,328 @@
#include <sys/mbuf.h>
#include <sys/poll.h>
#include <sys/queue.h>
+#include <sys/socket.h>
#include <sys/systm.h>
#include <sys/uio.h>
+#include <sys/vnode.h>
+
+#include <net/if.h>
+#include <net/if_var.h>
+#include <netinet/in.h>
+#include <netinet/in_systm.h>
+#include <netinet/ip.h>
#include <netgraph/ng_message.h>
#include <netgraph/netgraph.h>
#include <netgraph/ng_device.h>
-/* turn this on for verbose messages */
-#define NGD_DEBUG
-
#define ERROUT(x) do { error = (x); goto done; } while (0)
/* Netgraph methods */
-static ng_constructor_t ng_device_cons;
+static ng_constructor_t ng_device_constructor;
static ng_rcvmsg_t ng_device_rcvmsg;
+static ng_shutdown_t ng_device_shutdown;
static ng_newhook_t ng_device_newhook;
-static ng_connect_t ng_device_connect;
static ng_rcvdata_t ng_device_rcvdata;
static ng_disconnect_t ng_device_disconnect;
>>> TRUNCATED FOR MAIL (1000 lines) <<<
More information about the p4-projects
mailing list