Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 26 Mar 2002 11:05:08 -0800 (PST)
From:      John Baldwin <jhb@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 8449 for review
Message-ID:  <200203261905.g2QJ58R40469@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://people.freebsd.org/~peter/p4db/chv.cgi?CH=8449

Change 8449 by jhb@jhb_laptop on 2002/03/26 11:05:07

	IFC.

Affected files ...

... //depot/projects/smpng/sys/conf/kmod_syms.awk#2 integrate
... //depot/projects/smpng/sys/contrib/ipfilter/netinet/ip_proxy.c#5 integrate
... //depot/projects/smpng/sys/dev/ata/ata-all.c#14 integrate
... //depot/projects/smpng/sys/dev/ata/atapi-all.c#10 integrate
... //depot/projects/smpng/sys/dev/ata/atapi-cd.c#16 integrate
... //depot/projects/smpng/sys/dev/ata/atapi-fd.c#6 integrate
... //depot/projects/smpng/sys/dev/ata/atapi-tape.c#9 integrate
... //depot/projects/smpng/sys/dev/bktr/bktr_i2c.c#3 integrate
... //depot/projects/smpng/sys/dev/bktr/bktr_os.c#6 integrate
... //depot/projects/smpng/sys/dev/bktr/bktr_reg.h#3 integrate
... //depot/projects/smpng/sys/dev/digi/digi.c#10 integrate
... //depot/projects/smpng/sys/i386/include/i4b_ioctl.h#8 integrate
... //depot/projects/smpng/sys/i386/isa/pcf.c#3 integrate
... //depot/projects/smpng/sys/i4b/include/i4b_l3l4.h#4 integrate
... //depot/projects/smpng/sys/i4b/layer3/i4b_l2if.c#3 integrate
... //depot/projects/smpng/sys/i4b/layer3/i4b_q931.c#5 integrate
... //depot/projects/smpng/sys/i4b/layer3/i4b_q931.h#3 integrate
... //depot/projects/smpng/sys/i4b/layer4/i4b_i4bdrv.c#7 integrate
... //depot/projects/smpng/sys/i4b/layer4/i4b_l4.c#4 integrate
... //depot/projects/smpng/sys/ia64/include/ansi.h#10 integrate
... //depot/projects/smpng/sys/kern/kern_linker.c#16 integrate
... //depot/projects/smpng/sys/kern/vfs_aio.c#15 integrate
... //depot/projects/smpng/sys/kern/vfs_init.c#4 integrate
... //depot/projects/smpng/sys/kern/vfs_subr.c#21 integrate
... //depot/projects/smpng/sys/kern/vfs_syscalls.c#27 integrate
... //depot/projects/smpng/sys/kern/vfs_vnops.c#19 integrate
... //depot/projects/smpng/sys/sys/file.h#9 integrate
... //depot/projects/smpng/sys/sys/inflate.h#3 integrate
... //depot/projects/smpng/sys/sys/mount.h#9 integrate
... //depot/projects/smpng/sys/sys/socketvar.h#15 integrate
... //depot/projects/smpng/sys/vm/vm_extern.h#9 integrate

Differences ...

==== //depot/projects/smpng/sys/conf/kmod_syms.awk#2 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/conf/kmod_syms.awk,v 1.1 2002/01/10 03:52:01 msmith Exp $
+# $FreeBSD: src/sys/conf/kmod_syms.awk,v 1.2 2002/03/25 20:32:24 obrien Exp $
 
 # Read global symbols from object file.
 BEGIN {
@@ -10,7 +10,7 @@
 }
 
 # De-list symbols from the export list.
-// {
+{
         if (ARGIND == 1)
                 nextfile
         delete syms[$0]

==== //depot/projects/smpng/sys/contrib/ipfilter/netinet/ip_proxy.c#5 (text+ko) ====

@@ -77,7 +77,7 @@
 
 #if !defined(lint)
 /* static const char rcsid[] = "@(#)$Id: ip_proxy.c,v 2.9.2.6 2001/07/15 22:06:15 darrenr Exp $"; */
-static const char rcsid[] = "@(#)$FreeBSD: src/sys/contrib/ipfilter/netinet/ip_proxy.c,v 1.16 2002/03/19 15:14:18 darrenr Exp $";
+static const char rcsid[] = "@(#)$FreeBSD: src/sys/contrib/ipfilter/netinet/ip_proxy.c,v 1.17 2002/03/26 13:42:09 ru Exp $";
 #endif
 
 #if defined(_KERNEL) && (SOLARIS || defined(__sgi))
@@ -98,8 +98,8 @@
 #include "netinet/ip_rcmd_pxy.c"
 #include "netinet/ip_raudio_pxy.c"
 #include "netinet/ip_netbios_pxy.c"
+#include "netinet/ip_ipsec_pxy.c"
 #endif
-#include "netinet/ip_ipsec_pxy.c"
 
 ap_session_t	*ap_sess_tab[AP_SESS_SIZE];
 ap_session_t	*ap_sess_list = NULL;

==== //depot/projects/smpng/sys/dev/ata/ata-all.c#14 (text+ko) ====

@@ -25,7 +25,7 @@
  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/dev/ata/ata-all.c,v 1.139 2002/03/19 12:14:13 peter Exp $
+ * $FreeBSD: src/sys/dev/ata/ata-all.c,v 1.140 2002/03/26 09:31:22 sos Exp $
  */
 
 #include "opt_ata.h"
@@ -418,31 +418,27 @@
     struct ata_params *ata_parm;
     int retry = 0;
 
+    if (!(ata_parm = malloc(sizeof(struct ata_params), M_ATA, M_NOWAIT))) {
+	ata_prtdev(atadev, "malloc for identify data failed\n");
+	return -1;
+    }
+
     /* apparently some devices needs this repeated */
     do {
 	if (ata_command(atadev, command, 0, 0, 0, ATA_WAIT_INTR)) {
 	    ata_prtdev(atadev, "%s identify failed\n",
 		       command == ATA_C_ATAPI_IDENTIFY ? "ATAPI" : "ATA");
+	    free(ata_parm, M_ATA);
 	    return -1;
 	}
 	if (retry++ > 4) {
 	    ata_prtdev(atadev, "%s identify retries exceeded\n",
 		       command == ATA_C_ATAPI_IDENTIFY ? "ATAPI" : "ATA");
+	    free(ata_parm, M_ATA);
 	    return -1;
 	}
     } while (ata_wait(atadev, ((command == ATA_C_ATAPI_IDENTIFY) ?
 			       ATA_S_DRQ : (ATA_S_READY|ATA_S_DSC|ATA_S_DRQ))));
-
-    ata_parm = malloc(sizeof(struct ata_params), M_ATA, M_NOWAIT);
-    if (!ata_parm) {
-	int i;
-
-	for (i = 0; i < sizeof(struct ata_params)/sizeof(int16_t); i++)
-	    ATA_INW(atadev->channel->r_io, ATA_DATA);
-	ata_prtdev(atadev, "malloc for identify data failed\n");
-	return -1;
-    }
-
     ATA_INSW(atadev->channel->r_io, ATA_DATA, (int16_t *)ata_parm,
 	     sizeof(struct ata_params)/sizeof(int16_t));
 

==== //depot/projects/smpng/sys/dev/ata/atapi-all.c#10 (text+ko) ====

@@ -25,7 +25,7 @@
  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/dev/ata/atapi-all.c,v 1.86 2002/03/11 21:04:32 sos Exp $
+ * $FreeBSD: src/sys/dev/ata/atapi-all.c,v 1.87 2002/03/26 09:31:22 sos Exp $
  */
 
 #include "opt_ata.h"
@@ -95,29 +95,27 @@
 #ifdef DEV_ATAPICD
     case ATAPI_TYPE_CDROM:
 	if (acdattach(atadev))
-	    goto notfound;
+	    return;
 	break; 
 #endif
 #ifdef DEV_ATAPIFD
     case ATAPI_TYPE_DIRECT:
 	if (afdattach(atadev))
-	    goto notfound;
-	break; 
+	    return; 
+	break;
 #endif
 #ifdef DEV_ATAPIST
     case ATAPI_TYPE_TAPE:
 	if (astattach(atadev))
-	    goto notfound;
-	break; 
+	    return; 
+	break;
 #endif
-notfound:
-    default:
-	ata_prtdev(atadev, "<%.40s/%.8s> %s device - NO DRIVER!\n",
-		   atadev->param->model, atadev->param->revision, 
-		   atapi_type(atadev->param->type));
-	free(atadev->result, M_ATAPI);
-	atadev->driver = NULL;
     }
+    ata_prtdev(atadev, "<%.40s/%.8s> %s device - NO DRIVER!\n",
+	       atadev->param->model, atadev->param->revision, 
+	       atapi_type(atadev->param->type));
+    free(atadev->result, M_ATAPI);
+    atadev->driver = NULL;
 }
 
 void

==== //depot/projects/smpng/sys/dev/ata/atapi-cd.c#16 (text+ko) ====

@@ -25,7 +25,7 @@
  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/dev/ata/atapi-cd.c,v 1.112 2002/03/16 15:56:54 sos Exp $
+ * $FreeBSD: src/sys/dev/ata/atapi-cd.c,v 1.113 2002/03/26 09:31:22 sos Exp $
  */
 
 #include "opt_ata.h"
@@ -113,7 +113,7 @@
 
     if ((cdp = acd_init_lun(atadev, NULL)) == NULL) {
 	ata_prtdev(atadev, "acd: out of memory\n");
-	return -1;
+	return 0;
     }
 
     ata_set_name(atadev, "acd", cdp->lun);
@@ -129,7 +129,7 @@
 	if (chp == NULL) {
 	    ata_prtdev(atadev, "out of memory\n");
 	    free(cdp, M_ACD);
-	    return -1;
+	    return 0;
 	}
 	if (!atapi_queue_cmd(cdp->device, ccb, (caddr_t)chp, 
 			     sizeof(struct changer),
@@ -145,7 +145,7 @@
 		ata_prtdev(atadev, "out of memory\n");
 		free(chp, M_ACD);
 		free(cdp, M_ACD);
-		return -1;
+		return 0;
 	    }
 	    for (count = 0; count < chp->slots; count++) {
 		if (count > 0) {
@@ -181,7 +181,7 @@
     }
     acd_describe(cdp);
     atadev->driver = cdp;
-    return 0;
+    return 1;
 }
 
 void

==== //depot/projects/smpng/sys/dev/ata/atapi-fd.c#6 (text+ko) ====

@@ -25,7 +25,7 @@
  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/dev/ata/atapi-fd.c,v 1.69 2002/03/11 21:04:32 sos Exp $
+ * $FreeBSD: src/sys/dev/ata/atapi-fd.c,v 1.70 2002/03/26 09:31:22 sos Exp $
  */
 
 #include <sys/param.h>
@@ -87,7 +87,7 @@
     fdp = malloc(sizeof(struct afd_softc), M_AFD, M_NOWAIT | M_ZERO);
     if (!fdp) {
 	ata_prtdev(atadev, "out of memory\n");
-	return -1;
+	return 0;
     }
 
     fdp->device = atadev;
@@ -97,7 +97,7 @@
 
     if (afd_sense(fdp)) {
 	free(fdp, M_AFD);
-	return -1;
+	return 0;
     }
 
     if (!strncmp(atadev->param->model, "IOMEGA ZIP", 10))
@@ -114,7 +114,7 @@
     afd_describe(fdp);
     atadev->flags |= ATA_D_MEDIA_CHANGED;
     atadev->driver = fdp;
-    return 0;
+    return 1;
 }
 
 void

==== //depot/projects/smpng/sys/dev/ata/atapi-tape.c#9 (text+ko) ====

@@ -25,7 +25,7 @@
  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/dev/ata/atapi-tape.c,v 1.65 2002/03/11 21:04:32 sos Exp $
+ * $FreeBSD: src/sys/dev/ata/atapi-tape.c,v 1.66 2002/03/26 09:31:22 sos Exp $
  */
 
 #include "opt_ata.h"
@@ -95,7 +95,7 @@
     stp = malloc(sizeof(struct ast_softc), M_AST, M_NOWAIT | M_ZERO);
     if (!stp) {
 	ata_prtdev(atadev, "out of memory\n");
-	return -1;
+	return 0;
     }
 
     stp->device = atadev;
@@ -105,7 +105,7 @@
 
     if (ast_sense(stp)) {
 	free(stp, M_AST);
-	return -1;
+	return 0;
     }
 
     if (!strcmp(atadev->param->model, "OnStream DI-30")) {
@@ -141,7 +141,7 @@
     stp->device->flags |= ATA_D_MEDIA_CHANGED;
     ast_describe(stp);
     atadev->driver = stp;
-    return 0;
+    return 1;
 }
 
 void	

==== //depot/projects/smpng/sys/dev/bktr/bktr_i2c.c#3 (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/dev/bktr/bktr_i2c.c,v 1.20 2002/03/23 15:47:08 nsouch Exp $
+ * $FreeBSD: src/sys/dev/bktr/bktr_i2c.c,v 1.21 2002/03/25 21:22:33 nsouch Exp $
  *
  */
 
@@ -74,6 +74,12 @@
 
 #define I2C_DELAY	40
 
+/* Compilation is void if BKTR_USE_FREEBSD_SMBUS is not
+ * defined. This allows bktr owners to have smbus active for there
+ * motherboard and still use their bktr without smbus.
+ */
+#if defined(BKTR_USE_FREEBSD_SMBUS)
+
 #define BTI2C_DEBUG(x)	if (bti2c_debug) (x)
 static int bti2c_debug = 0;
 
@@ -86,9 +92,6 @@
 	struct bktr_softc *bktr_sc = (struct bktr_softc *)device_get_softc(dev);
 	struct bktr_i2c_softc *sc = &bktr_sc->i2c_sc;
 
-	device_t *list;
-	int count;
-
 	sc->smbus = device_add_child(dev, "smbus", -1);
 	sc->iicbb = device_add_child(dev, "iicbb", -1);
 
@@ -97,13 +100,6 @@
 
 	bus_generic_attach(dev);
 
-	/* the iicbus is the first child of device iicbb */
-	device_get_children(sc->iicbb, &list, &count);
-	if (count) {
-		sc->iicbus = list[0];
-		free(list, M_TEMP);
-	}
-
 	return (0);
 };
 
@@ -344,3 +340,5 @@
 
 	return (0);
 }
+
+#endif /* defined(BKTR_USE_FREEBSD_SMBUS) */

==== //depot/projects/smpng/sys/dev/bktr/bktr_os.c#6 (text+ko) ====

@@ -1,4 +1,4 @@
-/* $FreeBSD: src/sys/dev/bktr/bktr_os.c,v 1.26 2002/03/23 15:47:08 nsouch Exp $ */
+/* $FreeBSD: src/sys/dev/bktr/bktr_os.c,v 1.27 2002/03/25 21:22:33 nsouch Exp $ */
 
 /*
  * This is part of the Driver for Video Capture Cards (Frame grabbers)
@@ -986,11 +986,6 @@
 #endif
 	pci_conf_write(tag, 0x40, fun);
 
-#if defined(BKTR_USE_FREEBSD_SMBUS)
-	if (bt848_i2c_attach(dev))
-		printf("bktr%d: i2c_attach: can't attach\n", unit);
-#endif
-
 /*
  * PCI latency timer.  32 is a good value for 4 bus mastering slots, if
  * you have more than four, then 16 would probably be a better value.

==== //depot/projects/smpng/sys/dev/bktr/bktr_reg.h#3 (text+ko) ====

@@ -1,5 +1,5 @@
 /*
- * $FreeBSD: src/sys/dev/bktr/bktr_reg.h,v 1.43 2002/03/23 15:47:08 nsouch Exp $
+ * $FreeBSD: src/sys/dev/bktr/bktr_reg.h,v 1.44 2002/03/25 21:22:33 nsouch Exp $
  *
  * Copyright (c) 1999 Roger Hardiman
  * Copyright (c) 1998 Amancio Hasty
@@ -449,7 +449,6 @@
 	int bus_owned;
 
 	device_t iicbb;
-	device_t iicbus;
 	device_t smbus;
 };
 #endif

==== //depot/projects/smpng/sys/dev/digi/digi.c#10 (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.19 2002/02/27 23:47:45 peter Exp $
+ * $FreeBSD: src/sys/dev/digi/digi.c,v 1.20 2002/03/26 18:01:38 jhb Exp $
  */
 
 /*-

==== //depot/projects/smpng/sys/i386/include/i4b_ioctl.h#8 (text+ko) ====

@@ -27,29 +27,21 @@
  *	i4b_ioctl.h - messages kernel <--> userland
  *	-------------------------------------------
  *
- * $FreeBSD: src/sys/i386/include/i4b_ioctl.h,v 1.18 2002/03/17 09:33:13 hm Exp $
+ * $FreeBSD: src/sys/i386/include/i4b_ioctl.h,v 1.19 2002/03/26 15:12:27 hm Exp $
  *
- *      last edit-date: [Sun Mar 17 10:09:55 2002]
+ *      last edit-date: [Tue Mar 26 14:44:15 2002]
  *
  *---------------------------------------------------------------------------*/
 
 #ifndef _I4B_IOCTL_H_
 #define _I4B_IOCTL_H_
 
-#if 0
-#if defined(__FreeBSD__) && __FreeBSD__ >= 3
-#ifndef _MACHINE_TYPES_H_
-#include <machine/types.h>
-#endif /* _MACHINE_TYPES_H_ */
-#endif /* __FreeBSD__ */
-#endif
-
 /*---------------------------------------------------------------------------*
  *	version and release number for isdn4bsd package
  *---------------------------------------------------------------------------*/
 #define	VERSION		1		/* version number	*/
-#define	REL		1		/* release number	*/
-#define STEP		1		/* release step		*/
+#define	REL		2		/* release number	*/
+#define STEP		0		/* release step		*/
 
 /*---------------------------------------------------------------------------*
  * date/time format in i4b log messages
@@ -172,6 +164,7 @@
  *	max length of some strings
  *---------------------------------------------------------------------------*/
 #define TELNO_MAX	41  /* max length of a telephone number (+ '\0')  */
+#define SUBADDR_MAX	21  /* max length of a subaddress (+ '\0')        */
 #define DISPLAY_MAX	91  /* max length of display information (+ '\0') */
 #define DATETIME_MAX	21  /* max length of datetime information (+ '\0')*/
 #define KEYPAD_MAX	35  /* max length of a keypad string (+ '\0')     */
@@ -341,7 +334,9 @@
 #define  CHAN_NO  (-2)		/* call waiting (CW) for incoming	*/
 	int		bprot;	/* b channel protocot, see BPROT_XXX	*/
 	char		dst_telno[TELNO_MAX];	/* destination telno	*/
+	char		dst_subaddr[SUBADDR_MAX];	/* dest subaddr */
 	char		src_telno[TELNO_MAX];	/* source telno		*/
+	char		src_subaddr[SUBADDR_MAX];	/* src subaddr	*/
 	int		scr_ind;/* screening indicator			*/
 #define  SCR_NONE     0		/* no screening indicator transmitted	*/
 #define  SCR_USR_NOSC 1		/* screening user provided, not screened*/
@@ -412,7 +407,9 @@
 	int		driver;		/* driver type		*/
 	int		driver_unit;	/* driver unit number	*/
 	int		cmdlen;		/* length of string	*/
+	int		subaddrlen;	/* length of subaddr	*/
 	char		cmd[TELNO_MAX];	/* the number to dial	*/	
+	char		subaddr[SUBADDR_MAX];	/* dest subaddr	*/	
 } msg_dialoutnumber_ind_t;
 
 /*---------------------------------------------------------------------------*
@@ -572,7 +569,9 @@
 #define  ULEN_METHOD_STATIC  0	/* use unitlen_time value (see above) */
 #define  ULEN_METHOD_DYNAMIC 1	/* use AOCD */	
 	char		dst_telno[TELNO_MAX];	/* destination telephone no  */
+	char		dst_subaddr[SUBADDR_MAX];	/* dest subaddr      */
 	char		src_telno[TELNO_MAX];	/* source telephone number   */
+	char		src_subaddr[SUBADDR_MAX];	/* source subaddr    */
 	char		keypad[KEYPAD_MAX];	/* keypad string 	     */	
 } msg_connect_req_t;
 

==== //depot/projects/smpng/sys/i386/isa/pcf.c#3 (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/i386/isa/pcf.c,v 1.17 2001/12/10 08:09:46 obrien Exp $
+ * $FreeBSD: src/sys/i386/isa/pcf.c,v 1.18 2002/03/25 21:22:35 nsouch Exp $
  *
  */
 #include <sys/param.h>
@@ -197,10 +197,10 @@
 			return (error);
 	}
 
-	pcf->iicbus = iicbus_alloc_bus(pcfdev);
+	pcf->iicbus = device_add_child(pcfdev, "iicbus", -1);
 
 	/* probe and attach the iicbus */
-	device_probe_and_attach(pcf->iicbus);
+	bus_generic_attach(pcfdev);
 
 	return (0);
 }

==== //depot/projects/smpng/sys/i4b/include/i4b_l3l4.h#4 (text+ko) ====

@@ -27,7 +27,7 @@
  *	i4b_l3l4.h - layer 3 / layer 4 interface
  *	------------------------------------------
  *
- * $FreeBSD: src/sys/i4b/include/i4b_l3l4.h,v 1.10 2002/03/17 09:33:14 hm Exp $
+ * $FreeBSD: src/sys/i4b/include/i4b_l3l4.h,v 1.11 2002/03/26 15:13:52 hm Exp $
  *
  *	last edit-date: [Sat Mar  9 15:57:44 2002]
  *
@@ -147,7 +147,9 @@
 	int	call_state;		/* from incoming SETUP	*/
 	
 	u_char	dst_telno[TELNO_MAX];	/* destination number	*/
+	u_char	dst_subaddr[SUBADDR_MAX];	/* destination subaddr	*/
 	u_char	src_telno[TELNO_MAX];	/* source number	*/
+	u_char	src_subaddr[SUBADDR_MAX];	/* source subaddr	*/
 
 	int	scr_ind;		/* screening ind for incoming call */
 	int	prs_ind;		/* presentation ind for incoming call */

==== //depot/projects/smpng/sys/i4b/layer3/i4b_l2if.c#3 (text+ko) ====

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2001 Hellmuth Michaelis. All rights reserved.
+ * Copyright (c) 1997, 2002 Hellmuth Michaelis. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
@@ -27,9 +27,9 @@
  *	i4b_l2if.c - Layer 3 interface to Layer 2
  *	-------------------------------------------
  *
- * $FreeBSD: src/sys/i4b/layer3/i4b_l2if.c,v 1.11 2001/10/18 11:53:49 hm Exp $
+ * $FreeBSD: src/sys/i4b/layer3/i4b_l2if.c,v 1.12 2002/03/26 15:13:53 hm Exp $
  *
- *      last edit-date: [Thu Oct 18 13:29:19 2001]
+ *      last edit-date: [Tue Mar 26 15:03:59 2002]
  *
  *---------------------------------------------------------------------------*/
 
@@ -422,7 +422,9 @@
 	u_char *ptr;
 	int len;
 	int slen = strlen(cd->src_telno);
+	int sslen = strlen(cd->src_subaddr);
 	int dlen = strlen(cd->dst_telno);
+	int dslen = strlen(cd->dst_subaddr);
 	int klen = strlen(cd->keypad);	
 
 	/*
@@ -437,7 +439,9 @@
 	len = 	I_FRAME_HDRLEN		+
 		MSG_SETUP_LEN		+
 		(slen ? (3+slen) : 0)	+
+		(sslen ? (3+sslen) : 0)	+
 		(dlen ? (3+dlen) : 0)	+
+		(dslen ? (3+dslen) : 0)	+
 		(klen ? (2+klen) : 0)	+
 		(cd->bprot == BPROT_NONE ? 1 : 0);
 
@@ -521,6 +525,15 @@
 		ptr += slen;
 	}
 
+	if(sslen)
+	{
+		*ptr++ = IEI_CALLINGPS;		/* calling subaddr */
+		*ptr++ = IEI_CALLINGPS_LEN+sslen; /* calling subaddr len */
+		*ptr++ = SUBADDR_TYPE_NSAP;	/* type = NSAP */
+		strncpy(ptr, cd->src_subaddr, sslen);
+		ptr += sslen;
+	}
+
 	if(dlen)
 	{
 		*ptr++ = IEI_CALLEDPN;		/* called party no */
@@ -529,6 +542,15 @@
 		strncpy(ptr, cd->dst_telno, dlen);
 		ptr += dlen;
 	}
+
+	if(dslen)
+	{	
+		*ptr++ = IEI_CALLEDPS;		/* calling party subaddr */
+		*ptr++ = IEI_CALLEDPS_LEN+dslen;/* calling party subaddr len */
+		*ptr++ = SUBADDR_TYPE_NSAP;	/* type = NSAP */
+		strncpy(ptr, cd->dst_subaddr, dslen);
+		ptr += dslen;
+	}
 	
 	DL_Data_Req(ctrl_desc[cd->controller].unit, m);
 }

==== //depot/projects/smpng/sys/i4b/layer3/i4b_q931.c#5 (text+ko) ====

@@ -27,7 +27,7 @@
  *	i4b_q931.c - Q931 received messages handling
  *	--------------------------------------------
  *
- * $FreeBSD: src/sys/i4b/layer3/i4b_q931.c,v 1.13 2002/03/17 09:33:15 hm Exp $
+ * $FreeBSD: src/sys/i4b/layer3/i4b_q931.c,v 1.14 2002/03/26 15:13:53 hm Exp $
  *
  *      last edit-date: [Sat Mar  9 19:36:45 2002]
  *
@@ -431,17 +431,21 @@
 			break;
 	
 		case IEI_CALLINGPS:	/* calling party subaddress */
-			NDBGL3(L3_P_MSG, "IEI_CALLINGPS");
+			memcpy(cd->src_subaddr, &msg_ptr[3], min(SUBADDR_MAX, msg_ptr[1]-1));
+			cd->src_subaddr[min(SUBADDR_MAX, msg_ptr[1] - 1)] = '\0';
+			NDBGL3(L3_P_MSG, "IEI_CALLINGPS = %s", cd->src_subaddr);
 			break;
 			
 		case IEI_CALLEDPN:	/* called party number */
 			memcpy(cd->dst_telno, &msg_ptr[3], min(TELNO_MAX, msg_ptr[1]-1));
-			cd->dst_telno[min(TELNO_MAX, msg_ptr [1] - 1)] = '\0';
+			cd->dst_telno[min(TELNO_MAX, msg_ptr[1] - 1)] = '\0';
 			NDBGL3(L3_P_MSG, "IEI_CALLED = %s", cd->dst_telno); 
 			break;
 	
 		case IEI_CALLEDPS:	/* called party subaddress */
-			NDBGL3(L3_P_MSG, "IEI_CALLEDPS");
+			memcpy(cd->dst_subaddr, &msg_ptr[3], min(SUBADDR_MAX, msg_ptr[1]-1));
+			cd->dst_subaddr[min(SUBADDR_MAX, msg_ptr[1] - 1)] = '\0';
+			NDBGL3(L3_P_MSG, "IEI_CALLEDPS = %s", cd->dst_subaddr);
 			break;
 
 		case IEI_REDIRNO:	/* redirecting number */

==== //depot/projects/smpng/sys/i4b/layer3/i4b_q931.h#3 (text+ko) ====

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2001 Hellmuth Michaelis. All rights reserved.
+ * Copyright (c) 1997, 2002 Hellmuth Michaelis. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
@@ -27,9 +27,9 @@
  *	i4b_q931.h - Q931 handling header file
  *	--------------------------------------
  *
- * $FreeBSD: src/sys/i4b/layer3/i4b_q931.h,v 1.8 2001/10/18 11:53:49 hm Exp $
+ * $FreeBSD: src/sys/i4b/layer3/i4b_q931.h,v 1.9 2002/03/26 15:13:54 hm Exp $
  *
- *      last edit-date: [Thu Oct 18 13:29:01 2001]
+ *      last edit-date: [Tue Mar 26 15:04:33 2002]
  *
  *---------------------------------------------------------------------------*/
 
@@ -79,12 +79,12 @@
 #define IT_CAP_SPEECH		0x80	/* BC: information xfer capability */
 #define IT_CAP_UNR_DIG_INFO	0x88	/* BC: information xfer capability */
 
-#define	IT_RATE_64K		0x90	/* BC: information xfer rate */
-#define	IT_UL1_G711A		0xa3	/* layer1 proto G.711 A-law */
+#define	IT_RATE_64K		0x90	/* BC: information xfer rate	*/
+#define	IT_UL1_G711A		0xa3	/* layer1 proto G.711 A-law	*/
 
 #define IEI_CHANNELID_LEN	0x01    /* length of channel id		*/
-#define	CHANNELID_B1		0x81	/* channel = B1 (outgoing) */
-#define	CHANNELID_B2		0x82	/* channel = B2 (outgoing) */
+#define	CHANNELID_B1		0x81	/* channel = B1 (outgoing)	*/
+#define	CHANNELID_B2		0x82	/* channel = B2 (outgoing) 	*/
 #define	CHANNELID_ANY		0x83	/* channel = any channel (outgoing) */
 
 #define IE_CHAN_ID_NO		0x00	/* no channel (incoming)	*/
@@ -94,9 +94,13 @@
 
 #define	NUMBER_TYPEPLAN		0x81    /* type of number/numbering plan */
 
-#define IEI_CALLINGPN_LEN	1	/* without number string ! */
+#define IEI_CALLINGPN_LEN	1	/* without number string !	*/
+#define IEI_CALLEDPN_LEN	1	/* without number string !	*/
+
+#define IEI_CALLINGPS_LEN	1
+#define IEI_CALLEDPS_LEN	1
 
-#define IEI_CALLEDPN_LEN	1	/* without number string ! */
+#define	SUBADDR_TYPE_NSAP	0x80	/* subaddr: type=NSAP		*/
 
 /* CONNECT_ACK */
 

==== //depot/projects/smpng/sys/i4b/layer4/i4b_i4bdrv.c#7 (text+ko) ====

@@ -27,7 +27,7 @@
  *	i4b_i4bdrv.c - i4b userland interface driver
  *	--------------------------------------------
  *
- * $FreeBSD: src/sys/i4b/layer4/i4b_i4bdrv.c,v 1.25 2002/03/17 09:33:15 hm Exp $
+ * $FreeBSD: src/sys/i4b/layer4/i4b_i4bdrv.c,v 1.26 2002/03/26 15:13:54 hm Exp $
  *
  *      last edit-date: [Sun Mar 17 09:54:22 2002]
  *
@@ -292,6 +292,9 @@
 			strcpy(cd->dst_telno, mcr->dst_telno);
 			strcpy(cd->src_telno, mcr->src_telno);
 
+			strcpy(cd->dst_subaddr, mcr->dst_subaddr);
+			strcpy(cd->src_subaddr, mcr->src_subaddr);
+
 			if(mcr->keypad[0] != '\0')
 				strcpy(cd->keypad, mcr->keypad);
 			else

==== //depot/projects/smpng/sys/i4b/layer4/i4b_l4.c#4 (text+ko) ====

@@ -27,7 +27,7 @@
  *	i4b_l4.c - kernel interface to userland
  *	-----------------------------------------
  *
- * $FreeBSD: src/sys/i4b/layer4/i4b_l4.c,v 1.12 2002/03/17 09:33:15 hm Exp $
+ * $FreeBSD: src/sys/i4b/layer4/i4b_l4.c,v 1.13 2002/03/26 15:13:54 hm Exp $
  *
  *      last edit-date: [Sat Mar  9 19:46:26 2002]
  *
@@ -204,6 +204,7 @@
 	if((m = i4b_Dgetmbuf(sizeof(msg_dialoutnumber_ind_t))) != NULL)
 	{
 		msg_dialoutnumber_ind_t *md = (msg_dialoutnumber_ind_t *)m->m_data;
+		int i;
 
 		md->header.type = MSG_DIALOUTNUMBER_IND;
 		md->header.cdid = -1;
@@ -211,11 +212,20 @@
 		md->driver = driver;
 		md->driver_unit = driver_unit;
 
-		if(cmdlen > TELNO_MAX)
-			cmdlen = TELNO_MAX;
+		for (i = 0; i < cmdlen; i++)
+			if (cmd[i] == '*')
+				break;
+
+		/* XXX: TELNO_MAX is _with_ tailing '\0', so max is actually TELNO_MAX - 1 */
+		md->cmdlen = (i < TELNO_MAX  - 1 ? i : TELNO_MAX - 1);
+		/* skip the (first) '*' */
+		md->subaddrlen = (cmdlen - i - 1 < SUBADDR_MAX - 1 ? cmdlen - i - 1 : SUBADDR_MAX - 1);
+
+		bcopy(cmd, md->cmd, md->cmdlen);
+		if (md->subaddrlen != -1)
+			bcopy(cmd+i+1, md->subaddr, md->subaddrlen); 
 
-		md->cmdlen = cmdlen;
-		bcopy(cmd, md->cmd, cmdlen);
+		NDBGL4(L4_TIMO, "cmd[%d]=%s, subaddr[%d]=%s", md->cmdlen, md->cmd, md->subaddrlen, md->subaddr);
 		i4bputqueue(m);
 	}
 }
@@ -365,11 +375,21 @@
 		else
 			strcpy(mp->dst_telno, TELNO_EMPTY);
 
+		if(strlen(cd->dst_subaddr) > 0)
+			strcpy(mp->dst_subaddr, cd->dst_subaddr);
+		else
+			strcpy(mp->dst_subaddr, TELNO_EMPTY);
+
 		if(strlen(cd->src_telno) > 0)
 			strcpy(mp->src_telno, cd->src_telno);
 		else
 			strcpy(mp->src_telno, TELNO_EMPTY);
 			
+		if(strlen(cd->src_subaddr) > 0)
+			strcpy(mp->src_subaddr, cd->src_subaddr);
+		else
+			strcpy(mp->src_subaddr, TELNO_EMPTY);
+
 		strcpy(mp->display, cd->display);
 
 		mp->scr_ind = cd->scr_ind;

==== //depot/projects/smpng/sys/ia64/include/ansi.h#10 (text+ko) ====

@@ -32,7 +32,7 @@
  *
  *	@(#)ansi.h	8.2 (Berkeley) 1/4/94
  *	From: NetBSD: ansi.h,v 1.9 1997/11/23 20:20:53 kleink Exp
- * $FreeBSD: src/sys/ia64/include/ansi.h,v 1.18 2002/03/24 11:25:45 obrien Exp $
+ * $FreeBSD: src/sys/ia64/include/ansi.h,v 1.19 2002/03/26 02:59:00 obrien Exp $
  */
 
 #ifndef	_MACHINE_ANSI_H_
@@ -73,14 +73,13 @@
 
 #ifdef __GNUC__
 #define	_BSD_VA_LIST_	__builtin_va_list	/* internally known to gcc */
-typedef _BSD_VA_LIST_	__gnuc_va_list;		/* compatibility w/GNU headers*/
+#if !defined(__GNUC_VA_LIST) && !defined(__NO_GNUC_VA_LIST)
+#define __GNUC_VA_LIST
+typedef _BSD_VA_LIST_ __gnuc_va_list;		/* compatibility w/GNU headers*/
+#endif
 #else
 #error Must add va_list support for this non-GCC compiler.
 #endif /*__GNUC__*/
-#if defined __GNUC__ && !defined(__GNUC_VA_LIST) && !defined(__NO_GNUC_VA_LIST)
-#define __GNUC_VA_LIST
-typedef _BSD_VA_LIST_ __gnuc_va_list;		/* compatibility w/GNU headers*/
-#endif
 
 /*
  * The rune type above is declared to be an ``int'' instead of the more natural

==== //depot/projects/smpng/sys/kern/kern_linker.c#16 (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/kern/kern_linker.c,v 1.84 2002/03/22 04:56:09 arr Exp $
+ * $FreeBSD: src/sys/kern/kern_linker.c,v 1.85 2002/03/25 18:26:34 arr Exp $
  */
 
 #include "opt_ddb.h"
@@ -698,10 +698,10 @@
 
 	td->td_retval[0] = -1;
 
-	if (securelevel > 0)	/* redundant, but that's OK */
-		return (EPERM);
+	mtx_lock(&Giant);
 
-	mtx_lock(&Giant);
+	if ((error = securelevel_gt(td->td_ucred, 0)) != 0)
+		goto out;
 
 	if ((error = suser(td, 0)) != 0)
 		goto out;
@@ -745,10 +745,10 @@
 	linker_file_t lf;
 	int error = 0;
 
-	if (securelevel > 0)	/* redundant, but that's OK */
-		return (EPERM);
+	mtx_lock(&Giant);
 
-	mtx_lock(&Giant);
+	if ((error = securelevel_gt(td->td_ucred, 0)) != 0)
+		goto out;
 
 	if ((error = suser(td, 0)) != 0)
 		goto out;

==== //depot/projects/smpng/sys/kern/vfs_aio.c#15 (text+ko) ====

@@ -13,7 +13,7 @@
  * bad that happens because of using this software isn't the responsibility
  * of the author.  This software is distributed AS-IS.
  *
- * $FreeBSD: src/sys/kern/vfs_aio.c,v 1.118 2002/03/20 04:09:58 jeff Exp $
+ * $FreeBSD: src/sys/kern/vfs_aio.c,v 1.119 2002/03/25 21:52:04 bde Exp $
  */
 
 /*
@@ -42,6 +42,7 @@
 #include <sys/syscall.h>
 #include <sys/sysent.h>
 #include <sys/sysctl.h>
+#include <sys/sx.h>
 #include <sys/vnode.h>
 #include <sys/conf.h>
 #include <sys/event.h>

==== //depot/projects/smpng/sys/kern/vfs_init.c#4 (text+ko) ====

@@ -36,7 +36,7 @@
  * SUCH DAMAGE.
  *
  *	@(#)vfs_init.c	8.3 (Berkeley) 1/4/94
- * $FreeBSD: src/sys/kern/vfs_init.c,v 1.57 2002/03/20 04:09:58 jeff Exp $
+ * $FreeBSD: src/sys/kern/vfs_init.c,v 1.58 2002/03/25 21:30:50 obrien Exp $
  */
 
 
@@ -129,8 +129,10 @@
 	for (i = 0; i < vnodeopv_num; i++) {
 		opv = vnodeopv_descs[i];
 		opv_desc_vector_p = opv->opv_desc_vector_p;
+#ifdef WANT_BAD_JUJU
 		if (*opv_desc_vector_p)
 			FREE(*opv_desc_vector_p, M_VNODE);
+#endif
 		MALLOC(*opv_desc_vector_p, vop_t **,
 			vfs_opv_numops * sizeof(vop_t *), M_VNODE,
 			M_WAITOK | M_ZERO);

==== //depot/projects/smpng/sys/kern/vfs_subr.c#21 (text+ko) ====

@@ -36,7 +36,7 @@
  * SUCH DAMAGE.
  *
  *	@(#)vfs_subr.c	8.31 (Berkeley) 5/26/95
- * $FreeBSD: src/sys/kern/vfs_subr.c,v 1.349 2002/03/20 04:09:58 jeff Exp $
+ * $FreeBSD: src/sys/kern/vfs_subr.c,v 1.350 2002/03/26 15:33:43 mux Exp $
  */
 
 /*
@@ -507,6 +507,83 @@
 }
 
 /*
+ * Get a mount option by its name.
+ *
+ * Return 0 if the option was found.
+ * Return ENOENT if the option wasn't found.
+ * If len is a non-NULL pointer and *len
+ * a integer different from 0, then the size
+ * of the option will be compared with *len and
+ * if they doesn't match, EINVAL is returned.
+ * If len is non-NULL and *len == 0, it will
+ * be filled with the length of the option.
+ * Finally, if buf is non-NULL, it will be
+ * filled with the address of the option.
+ */
+int
+vfs_getopt(opts, name, buf, len)
+	struct vfsoptlist *opts;
+	const char *name;
+	void **buf;
+	int *len;
+{
+	struct vfsopt *opt;
+	int i;
+
+	i = 0;
+	opt = opts->opt;
+	while (i++ < opts->optcnt) {
+		if (strcmp(name, opt->name) == 0) {
+			if (len != NULL) {
+			       	if ((*len != 0) && (*len != opt->len))
+					return (EINVAL);
+				*len = opt->len;
+			}
+			if (buf != NULL)
+				*buf = opt->value;
+			return (0);
+		}
+		opt++;
+	}
+	return (ENOENT);
+}
+
+/*
+ * Find and copy a mount option.
+ * The size of the buffer has to be specified
+ * in len, if it is not big enough, EINVAL is
+ * returned.  Returns ENOENT if the option is
+ * not found.  Otherwise, the number of bytes
+ * actually copied are put in done if it's
+ * non-NULL and 0 is returned.
+ */
+int
+vfs_copyopt(opts, name, dest, len, done)
+	struct vfsoptlist *opts;
+	const char *name;
+	void *dest;
+	int len, *done;
+{
+	struct vfsopt *opt;
+	int i;
+
+	i = 0;
+	opt = opts->opt;
+	while (i++ < opts->optcnt) {
+		if (strcmp(name, opt->name) == 0) {
+			if (len < opt->len)
+				return (EINVAL);
+			bcopy(dest, opt->value, opt->len);
+			if (done != NULL)
+				*done = opt->len;
+			return (0);
+		}
+		opt++;
+	}
+	return (ENOENT);
+}
+
+/*
  * Set vnode attributes to VNOVAL
  */

>>> TRUNCATED FOR MAIL (1000 lines) <<<

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe p4-projects" in the body of the message




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