Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 19 Oct 2004 00:29:08 GMT
From:      Peter Wemm <peter@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 63342 for review
Message-ID:  <200410190029.i9J0T8RK019018@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=63342

Change 63342 by peter@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) <<<



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200410190029.i9J0T8RK019018>