Subject: Object file symbols limited to 8 characters [+FIX] (#165 - #8 of 19)
Index:	cc,as,ld,ar,ranlib,nm,nlist,adb,... (2.11BSD)

Description:
	For some time now (seem like eons;-)) the object file format used 
	by Unix for the PDP-11 has restricted symbols to 8 significant 
	characters (actually 7 due to the C compiler prefixing symbols with 
	a leading tilde (~) or underscore (_)).

	Aside from the "creative constraints" this imposes on the programmer
	there was the continuing problem of 'name collisions', especially
	when porting applications from machines whose object file format
	permitted longer symbol names.

	Numerous workarounds have been employed in the past.  The
	most common one relied on a combination of a name collision
	detection program ('shortc') and the flexname capability of the
	C preprocessor ('cpp').  This served to mask the problem while
	making debugging difficult due to mangled/synthetic symbol names.

Repeat-By:
	Attempt to compile the following program:

		int	this_is_a_long_name;
		int	this_is_a_long_name_too;

		main() { exit(0)};

Fix:
	This section is repeated in each of the 19 parts which make up
	the update kit.  You should read it perhaps once or twice, but
	then skip over it (how to do that is mentioned below).

	Taking a "hint" from the a.out(5) man page:

"The compiler will note name collisions when they occur within a single file...
There is really little that can be done about this.  Some thought is being
given to modifying the loader to flag detectable collisions, but the real
solution would be to change over to the 4BSD a.out format.  This would 
involve modifying the compiler, assembler and adb and then simply porting 
the 4.3BSD ld, nm, ranlib, strip and nlist.  Or perhaps simply porting the 
entire 4.3BSD suite might be best ...  Anyone interested in a project?"

	This I have done.  No more volunteers for the project need apply ;-)

	The new limit on symbol length is 32 characters!  There is still
	a limit (but it is _much_ more reasonable now) simply because of
	address space constraints - it needs to be possible to hold 
	at least one of the 'symbol' or 'string' tables in memory in many
	cases (nice to hold both, but - i know, get a 486;-)).

	It must be noted though that it is almost trivial now to raise
	the limit if that is desired - the programs which need to know
	the maximum length of a symbol string all have an easily changed
	#define statement now (usually MAXSYMLEN but there are a couple
	exceptions).  The 'string table' format itself doesn't care how 
	long the strings are.  The actual a.out format won't have to 
	change again to accomodate a higher limit on symbol name length!

	The "string table" object file format has been ported and all
	the necessary changes made throughout the entire system.

	The changes were *massive* and widespread.  Programs affected
	of course included the assembler and compiler.  Other programs
	affected were anything which accessed a symbol table entry either
	via nlist(3) [ps, pstat, fstat, vmstat, etc] or by reading
	object files [ld, ranlib, nm, adb, strip, etc].

	The actual changes to the compiler and assembler were minor
	because those programs had already been modified earlier 
	(updates #142, 143, 152, 153).  The compiler only needed to have
	the maximum size of a symbol name raised.  The assembler
	already knew how to generate 'string table' object files - all
	that needed to be done in 'as' was to flip a bit telling it
	to generate the new object format instead of the old style.

	+++++++++++++++
	And now for a bit of a narrative about what was done.   The
	detailed instructions for applying this part (#8 of 19) of the
	update kit follow the 'story' below.  This started out as
	a semi-organized accounting of what was done but then devolved
	into a semi-rambling tale due to the sheer bulk of the changes.

	You can skip to the details for applying #165 by searching for
	the string "=======" below - this header is replicated in all
	parts of this kit.
	+++++++++++++++

	Alas, the remaining changes were not so simple.  Complete
	replacements for ranlib(1), ar(1), nlist(3) were ported from
	the Net-2 release.  Other programs such as symorder(1) and
	two new programs 'symcompact' and 'strcompact' (used to
	compress/compact symbol and string tables) were written from
	scratch.

	Perhaps the two hardest parts of the whole effort were
	rewriting the linker 'ld' and making *large* modifications
	to the debugger 'adb'.  This was a very difficult job.
	'ld needed to scan new style ranlib archives, as well as
	using the "virtual memory" facility (the 'libvmf' routines 
	posted earlier) for symbol table management and so on.  'adb'
	was a MESS (having been written in a pseudo block structured
	macro language).  Since the new symbol table entry could be
	so much larger than the old it was no longer possible for adb
	to hold as much of the symbol table in memory - an alternate 
	method took a while to develope and implement, more on that
	in the patch which deals with adb (actually the changes to
	adb are so large there are two substantial parts of this update
	kit just for adb!).

	After the basic programs (ar, ld, ranlib, etc) were running
	the system had to be completely recompiled from sources, beginning
	with the object libraries.  After those were done the process
	of recompiling the rest of the system could proceed.

	Guess what happens when you recreate libc.a with a buggy linker?
	Yep - the system is rendered useless until backup copies of
	everything can be reloaded.  Don't let this happen to you - be
	sure (and i'll repeat the point later) to back up the system
	(or at least key executables and .a files) before installing
	this upgrade.

	In all there were about 330 files modified during the change of
	object file format.  Some of these were not directly related
	to the new object file format.  There were a number of (obsolete)
	references to "BSD2_10" lingering in the system.  Those 
	have been replaced with "pdp11" and the 'BSD2_10' define has
	been removed from the C preprocessor (cpp).  DO NOT use 'BSD2_10'
	to #ifdef pdp-11 sensitive code, use "pdp11" instead.

	During the recompile of the libraries a fairly large number of
	"shortened" names were lengthened - these included syscall routines
	such as "gethostname" which no longer had to be munged into
	"gethname".  Also a surprising number of typographical errors
	were uncovered (mainly in the Fortran libraries) where an extra
	character (beyond the 7th character) was left off or accidentally
	added.  These were all fixed and eventually, after a couple
	evenings, the libraries were built and installed.

	After the libraries were done it was the application programs'
	turn to be recompiled.  This took the better part of a couple 
	weeks to finally make it thru due to (as it turned out) the iterative 
	nature of the task.  A symbol would come up undefined and have
	to be tracked down exactly where the wrong definition/use was
	coming from.  Finally, however, the task was done and it was
	time to move on to the kernel.

	The kernel proved to be suprisingly easy - no real complications
	arose except when it came time to reboot, a bug had been introduced
	into 'autoconfig' (who uses 'nlist' to scan the kernel symbol table).
	Ouch!  That was another couple late nights.  Since the compiler
	supports unsigned longs now a number of small changes which
	ifdef'd 'u_long' to 'long' were removed.

	REMEMBER - you need to recompile 'autoconfig' and install it
	before rebooting the new kernel ;-)

	The performance of 'ps' though (and anything else which used
	nlist(3), 'fstat', 'w' are good examples) was unacceptably slow.

	So, amidst other delays (real work, the earthquake - which almost
	tossed the disc drive to the floor, etc) the "symorder" program
	was written (with ideas borrowed from the Net-2 version).  The
	symorder(1) program rather insists on holding both the symbol
	and string tables in memory - this was a problem (or could be
	if the kernel symbol table grows much more) so two new and 
	original programs were written:  'symcompact' and 'strcompact'.

	The first program compacts the symbol table by removing 
	'register' local variables (they're of no use to anyone - the debugger
	doesn't/can't do anything with them) and redundant global text
	symbols (symbols in an overlaid program which are in the root
	segment do not need both the '~' and '_' symbols present).

	The second program 'strcompact' is one that any 'string table'
	based object file system can use.  It implements "shared strings"
	for symbols - if a program has many references to 'error' as a
	local symbol, why store the string 'error' more than once?  Simply
	store one instance and then update the symbol table entries to
	all point to the same string!

	Using both 'strcompact' and 'symcompact' on the /unix image
	resulted in a file that was 15kb smaller.  Running 'symorder'
	then puts the most frequently used symbols at the front of the
	symbol table, the performance of 'w', 'pstat', and other programs
	which nlist(3) the kernel was now acceptable.

	Some of the parts of this kit are large.  The large patch files have
	been split into pieces which the 'patch' will handle, other parts
	(the replacement 'ar' sources) were left as a single 'shar' file
	rather than split them up.

	Each part of this kit consists of:

		a 'patchfile' - this is used with the "patch" program to
		update files.

		an optional 'script' - this is run ("sh script") to perform
		initialization, remove files, create directories and so on.

		an optional 'new.sources' - this is a "shar" file containing
		complete sources for a program.

	ALL pathnames are _absolute_ - this way you do not have to "cd"
	around the system, you should be able to apply all the patches
	while you are in /tmp (or /usr/tmp - wherever you have the most
	free space).

	Be sure that you have at least 40mb free on /usr before 
	rebuilding the system - if you do not then building in stages
	will be necessary.

	Part 19 contains the detailed instructions for rebuilding the
	system _after_ the previous 18 patches have been applied.

	The patches (#158 thru #175) should be applied in order following
	the directions in each part.

	DO NOT recompile anything once the patching has begun until requested
	to do so in part 19.  Many of the system include files are modified
	and the object file format is being changed - recompilation will not
	be possible until the transformation of the system and object libraries
	is complete.

	AT A MINIMUM you will want to back up the following files (unless
	you have a known good backup already made) in case you need to
	recompile something before part 19 is done:

		/bin/ar
		/bin/ld
		/bin/nm
		/bin/as
		/usr/bin/ranlib
		/lib/c0
		/lib/crt0.o
		/lib/mcrt0.o
		/lib/libc.a
		/bin/nm
		/usr/include/*.h
		/usr/include/sys/*.h

	In part 19 there is a *complete* list of all files affected
	(all 336 of them) - you may wish to back those up also.

	And now the common header ('boilerplate') is over (at last ;-)),
	let the installation guide begin.

	As always, the complete 2.11BSD updates are available via 
	anonymous FTP to 'ftp.iipo.gtegsc.com' in the directory /pub/2.11BSD

==========  #165 (Part #8 of 19)

	This part updates the following files.  BACK THESE UP if you
	have any worries about the proceedure or do not have a bootable
	backup already at hand.

/usr/src/etc/syslogd.c
/usr/src/etc/pstat.c
/usr/src/etc/sa.c
/usr/src/etc/route.c
/usr/src/etc/dmesg.c
/usr/src/etc/reboot.c
/usr/src/etc/arp.c
/usr/src/etc/init.c
/usr/src/etc/telnetd.c
/usr/src/etc/edquota.c
/usr/src/etc/quotacheck.c
/usr/src/etc/ifconfig.c
/usr/src/etc/repquota.c
/usr/src/etc/inetd.c
/usr/src/etc/mkfs.c
/usr/src/etc/savecore.c

	0) Be in a temp directory ("cd /tmp" or "cd /usr/tmp")

	1) Save the following shar archive to a file (/tmp/165 for example)

	2) Unpack the archive:  sh 165

	3) Patch the files:  patch -p0 < patchfile

	4) rm 165 patchfile

	Part 8 of 19 is done.  DO NOT rebuild or compile _anything_
	at this point!

===== cut here
#! /bin/sh
# This is a shell archive, meaning:
# 1. Remove everything above the #! /bin/sh line.
# 2. Save the resulting text in a file.
# 3. Execute the file with /bin/sh (not csh) to create:
#	patchfile
# This archive created: Fri Feb  4 22:39:50 1994
export PATH; PATH=/bin:/usr/bin:$PATH
if test -f 'patchfile'
then
	echo shar: "will not over-write existing file 'patchfile'"
else
sed 's/^X//' << \SHAR_EOF > 'patchfile'
X*** /usr/src/etc/syslogd.c.old	Tue May  2 13:50:56 1989
X--- /usr/src/etc/syslogd.c	Fri Dec 31 22:28:59 1993
X***************
X*** 4,18 ****
X   * specifies the terms and conditions for redistribution.
X   */
X  
X! #ifndef lint
X  char copyright[] =
X  "@(#) Copyright (c) 1983 Regents of the University of California.\n\
X   All rights reserved.\n";
X- #endif not lint
X  
X! #ifndef lint
X! static char sccsid[] = "@(#)syslogd.c	5.13 (Berkeley) 5/26/86";
X! #endif not lint
X  
X  /*
X   *  syslogd -- log system messages
X--- 4,16 ----
X   * specifies the terms and conditions for redistribution.
X   */
X  
X! #if	defined(DOSCCS) && !defined(lint)
X  char copyright[] =
X  "@(#) Copyright (c) 1983 Regents of the University of California.\n\
X   All rights reserved.\n";
X  
X! static char sccsid[] = "@(#)syslogd.c	5.13.1 (2.11BSD GTE) 12/31/93";
X! #endif
X  
X  /*
X   *  syslogd -- log system messages
X***************
X*** 42,48 ****
X  #define DEFSPRI		(LOG_KERN|LOG_CRIT)
X  #define MARKCOUNT	10		/* ratio of minor to major marks */
X  
X- #include <short_names.h>
X  #include <errno.h>
X  #include <stdio.h>
X  #include <utmp.h>
X--- 40,45 ----
X*** /usr/src/etc/pstat.c.old	Wed Dec 23 19:57:22 1992
X--- /usr/src/etc/pstat.c	Sat Jan 15 11:55:22 1994
X***************
X*** 10,16 ****
X   All rights reserved.\n";
X  
X  /* static char sccsid[] = "@(#)pstat.c	5.8 (Berkeley) 5/5/86"; */
X! static char sccsid[] = "@(#)pstat.c	1.1 (2.11BSD) 12/23/92";
X  #endif not lint
X  
X  /*
X--- 10,16 ----
X   All rights reserved.\n";
X  
X  /* static char sccsid[] = "@(#)pstat.c	5.8 (Berkeley) 5/5/86"; */
X! static char sccsid[] = "@(#)pstat.c	1.2 (2.11BSD) 12/31/93";
X  #endif not lint
X  
X  /*
X***************
X*** 24,30 ****
X  #include <sys/user.h>
X  #undef	KERNEL
X  #include <sys/proc.h>
X- #include <short_names.h>
X  #include <sys/text.h>
X  #include <sys/inode.h>
X  #include <sys/map.h>
X--- 24,29 ----
X***************
X*** 187,193 ****
X  		fnlist = argv[0];
X  	nlist(fnlist, nl);
X  	if (nl[0].n_type == 0) {
X! 		printf("no namelist\n");
X  		exit(1);
X  	}
X  	allflags = filf | totflg | inof | prcf | txtf | ttyf | usrf | swpf;
X--- 186,192 ----
X  		fnlist = argv[0];
X  	nlist(fnlist, nl);
X  	if (nl[0].n_type == 0) {
X! 		printf("no namelist, n_type: %d n_value: %o n_name: %s\n", nl[0].n_type, nl[0].n_value, nl[0].n_name);
X  		exit(1);
X  	}
X  	allflags = filf | totflg | inof | prcf | txtf | ttyf | usrf | swpf;
X*** /usr/src/etc/sa.c.old	Tue Oct  3 13:58:17 1989
X--- /usr/src/etc/sa.c	Mon Jan 10 21:51:43 1994
X***************
X*** 1,5 ****
X! #ifndef lint
X! static char *sccsid = "@(#)sa.c	4.9 (Berkeley) 12/12/84";
X  #endif
X  
X  /*
X--- 1,5 ----
X! #if	defined(DOSCCS) && !defined(lint)
X! static char *sccsid = "@(#)sa.c	4.9.1 (2.11BSD GTE) 1/1/94";
X  #endif
X  
X  /*
X***************
X*** 17,23 ****
X   *	UC Berkeley
X   *	31jan81
X   */
X! #ifdef BSD2_10
X  #include <sys/param.h>		/* need LINEHZ for acct.h */
X  #endif
X  
X--- 17,23 ----
X   *	UC Berkeley
X   *	31jan81
X   */
X! #ifdef pdp11
X  #include <sys/param.h>		/* need LINEHZ for acct.h */
X  #endif
X  
X***************
X*** 676,682 ****
X  			*cp = '\0';
X  		x = expand(fbuf.ac_utime) + expand(fbuf.ac_stime);
X  		y = pgtok((u_short)fbuf.ac_mem);
X! #ifdef BSD2_10
X  		z = expand(fbuf.ac_io);
X  #else
X  		z = expand(fbuf.ac_io) / AHZ;
X--- 676,682 ----
X  			*cp = '\0';
X  		x = expand(fbuf.ac_utime) + expand(fbuf.ac_stime);
X  		y = pgtok((u_short)fbuf.ac_mem);
X! #ifdef pdp11
X  		z = expand(fbuf.ac_io);
X  #else
X  		z = expand(fbuf.ac_io) / AHZ;
X*** /usr/src/etc/route.c.old	Thu Jan  5 23:14:17 1989
X--- /usr/src/etc/route.c	Mon Jan 10 21:52:14 1994
X***************
X*** 4,18 ****
X   * specifies the terms and conditions for redistribution.
X   */
X  
X! #ifndef lint
X  char copyright[] =
X  "@(#) Copyright (c) 1983 Regents of the University of California.\n\
X   All rights reserved.\n";
X- #endif not lint
X  
X! #ifndef lint
X! static char sccsid[] = "@(#)route.c	5.6 (Berkeley) 6/5/86";
X! #endif not lint
X  
X  #include <sys/param.h>
X  #include <sys/socket.h>
X--- 4,16 ----
X   * specifies the terms and conditions for redistribution.
X   */
X  
X! #if	defined(DOSCCS) && !defined(lint)
X  char copyright[] =
X  "@(#) Copyright (c) 1983 Regents of the University of California.\n\
X   All rights reserved.\n";
X  
X! static char sccsid[] = "@(#)route.c	5.6.1 (2.11BSD GTE) 1/1/94";
X! #endif
X  
X  #include <sys/param.h>
X  #include <sys/socket.h>
X***************
X*** 92,98 ****
X  	"",
X  };
X  
X! #ifdef BSD2_10
X  u_int base2_10;
X  struct nlist kl[] = {
X  #define N_NETDATA	0
X--- 90,96 ----
X  	"",
X  };
X  
X! #ifdef pdp11
X  u_int base2_10;
X  struct nlist kl[] = {
X  #define N_NETDATA	0
X***************
X*** 110,116 ****
X  	int rthashsize, i, doinghost = 1, kmem;
X  	char *routename(), *netname();
X  
X! #ifdef BSD2_10
X  	nlist("/unix", kl);
X  	if (kl[N_NETDATA].n_value == 0) {
X  		printf("route: \"netdata\", symbol not in namelist\n");
X--- 108,114 ----
X  	int rthashsize, i, doinghost = 1, kmem;
X  	char *routename(), *netname();
X  
X! #ifdef pdp11
X  	nlist("/unix", kl);
X  	if (kl[N_NETDATA].n_value == 0) {
X  		printf("route: \"netdata\", symbol not in namelist\n");
X***************
X*** 132,138 ****
X  		printf("route: \"rthashsize\", symbol not in namelist\n");
X  		exit(1);
X  	}
X! #ifdef BSD2_10
X  	kmem = open("/dev/mem", 0);
X  #else
X  	kmem = open("/dev/kmem", 0);
X--- 130,136 ----
X  		printf("route: \"rthashsize\", symbol not in namelist\n");
X  		exit(1);
X  	}
X! #ifdef pdp11
X  	kmem = open("/dev/mem", 0);
X  #else
X  	kmem = open("/dev/kmem", 0);
X***************
X*** 141,147 ****
X  		perror("route: /dev/kmem");
X  		exit(1);
X  	}
X! #ifdef BSD2_10
X  	lseek(kmem, (off_t)kl[N_NETDATA].n_value, 0);
X  	read(kmem, &base2_10, sizeof(base2_10));
X  	lseek(kmem, (off_t)nl[N_RTHASHSIZE].n_value + ctob((long)base2_10), 0);
X--- 139,145 ----
X  		perror("route: /dev/kmem");
X  		exit(1);
X  	}
X! #ifdef pdp11
X  	lseek(kmem, (off_t)kl[N_NETDATA].n_value, 0);
X  	read(kmem, &base2_10, sizeof(base2_10));
X  	lseek(kmem, (off_t)nl[N_RTHASHSIZE].n_value + ctob((long)base2_10), 0);
X***************
X*** 151,157 ****
X  	read(kmem, &rthashsize, sizeof (rthashsize));
X  	routehash = (struct mbuf **)malloc(rthashsize*sizeof (struct mbuf *));
X  
X! #ifdef BSD2_10
X  	lseek(kmem, (off_t)nl[N_RTHOST].n_value + ctob((long)base2_10), 0);
X  #else
X  	lseek(kmem, (off_t)nl[N_RTHOST].n_value, 0);
X--- 149,155 ----
X  	read(kmem, &rthashsize, sizeof (rthashsize));
X  	routehash = (struct mbuf **)malloc(rthashsize*sizeof (struct mbuf *));
X  
X! #ifdef pdp11
X  	lseek(kmem, (off_t)nl[N_RTHOST].n_value + ctob((long)base2_10), 0);
X  #else
X  	lseek(kmem, (off_t)nl[N_RTHOST].n_value, 0);
X***************
X*** 164,170 ****
X  			continue;
X  		m = routehash[i];
X  		while (m) {
X! #ifdef BSD2_10
X  			lseek(kmem, (off_t)m + ctob((long)base2_10), 0);
X  #else
X  			lseek(kmem, (off_t)m, 0);
X--- 162,168 ----
X  			continue;
X  		m = routehash[i];
X  		while (m) {
X! #ifdef pdp11
X  			lseek(kmem, (off_t)m + ctob((long)base2_10), 0);
X  #else
X  			lseek(kmem, (off_t)m, 0);
X***************
X*** 185,191 ****
X  		}
X  	}
X  	if (doinghost) {
X! #ifdef BSD2_10
X  		lseek(kmem, (off_t)nl[N_RTNET].n_value+ctob((long)base2_10), 0);
X  #else
X  		lseek(kmem, (off_t)nl[N_RTNET].n_value, 0);
X--- 183,189 ----
X  		}
X  	}
X  	if (doinghost) {
X! #ifdef pdp11
X  		lseek(kmem, (off_t)nl[N_RTNET].n_value+ctob((long)base2_10), 0);
X  #else
X  		lseek(kmem, (off_t)nl[N_RTNET].n_value, 0);
X***************
X*** 240,246 ****
X  		if (cp)
X  			strcpy(line, cp);
X  		else {
X! #ifdef BSD2_10
X  #define C(x)	(((int)(x)) & 0xff)
X  #else
X  #define C(x)	((x) & 0xff)
X--- 238,244 ----
X  		if (cp)
X  			strcpy(line, cp);
X  		else {
X! #ifdef pdp11
X  #define C(x)	(((int)(x)) & 0xff)
X  #else
X  #define C(x)	((x) & 0xff)
X***************
X*** 314,324 ****
X  			while ((mask & 1) == 0) {
X  				mask >>= 1;
X  				net >>= 1;
X- #ifdef BSD2_10
X- 				/* 2.10BSD compiler doesn't support u_long */
X- 				mask &= 0x7fffffff;
X- 				net &= 0x7fffffff;
X- #endif
X  			}
X  			np = getnetbyaddr(net, AF_INET);
X  			if (np)
X--- 312,317 ----
X*** /usr/src/etc/dmesg.c.old	Sun Aug  6 17:05:38 1989
X--- /usr/src/etc/dmesg.c	Mon Jan 10 21:52:32 1994
X***************
X*** 4,12 ****
X   * specifies the terms and conditions for redistribution.
X   */
X  
X! #ifndef lint
X! static char sccsid[] = "@(#)dmesg.c	5.4 (Berkeley) 2/20/86";
X! #endif not lint
X  
X  /*
X   *	Suck up system messages
X--- 4,12 ----
X   * specifies the terms and conditions for redistribution.
X   */
X  
X! #if	defined(DOSCCS) && !defined(lint)
X! static char sccsid[] = "@(#)dmesg.c	5.4.1 (2.11BSD GTE) 1/1/94";
X! #endif
X  
X  /*
X   *	Suck up system messages
X***************
X*** 58,68 ****
X  		lseek(of, 0L, 0);
X  	}
X  	sflg = 0;
X! #ifdef BSD2_10
X  	nlist(argc>2? argv[2]:"/unix", nl);
X! #else !BSD2_10
X  	nlist(argc>2? argv[2]:"/vmunix", nl);
X! #endif BSD2_10
X  	if (nl[0].n_type==0)
X  		done("Can't get kernel namelist\n");
X  	if ((mem = open((argc>1? argv[1]: "/dev/mem"), 0)) < 0)
X--- 58,68 ----
X  		lseek(of, 0L, 0);
X  	}
X  	sflg = 0;
X! #ifdef pdp11
X  	nlist(argc>2? argv[2]:"/unix", nl);
X! #else
X  	nlist(argc>2? argv[2]:"/vmunix", nl);
X! #endif
X  	if (nl[0].n_type==0)
X  		done("Can't get kernel namelist\n");
X  	if ((mem = open((argc>1? argv[1]: "/dev/mem"), 0)) < 0)
X*** /usr/src/etc/reboot.c.old	Thu Aug  6 11:40:39 1987
X--- /usr/src/etc/reboot.c	Mon Jan 10 21:52:52 1994
X***************
X*** 4,18 ****
X   * specifies the terms and conditions for redistribution.
X   */
X  
X! #ifndef lint
X  char copyright[] =
X  "@(#) Copyright (c) 1980,1986 Regents of the University of California.\n\
X   All rights reserved.\n";
X- #endif not lint
X  
X! #ifndef lint
X! static char sccsid[] = "@(#)reboot.c	5.5 (Berkeley) 8/2/87";
X! #endif not lint
X  
X  /*
X   * Reboot ...
X--- 4,16 ----
X   * specifies the terms and conditions for redistribution.
X   */
X  
X! #if	defined(DOSCCS) && !defined(lint)
X  char copyright[] =
X  "@(#) Copyright (c) 1980,1986 Regents of the University of California.\n\
X   All rights reserved.\n";
X  
X! static char sccsid[] = "@(#)reboot.c	5.5.1 (2.11BSD) 1/1/94";
X! #endif
X  
X  /*
X   * Reboot ...
X***************
X*** 27,33 ****
X  #include <sys/reboot.h>
X  #include <sys/signal.h>
X  
X! #ifdef BSD2_10
X  #	define	OPTS	"lqnhdarsf"
X  #else
X  #	define	OPTS	"lqnhdarsfk"
X--- 25,31 ----
X  #include <sys/reboot.h>
X  #include <sys/signal.h>
X  
X! #ifdef pdp11
X  #	define	OPTS	"lqnhdarsf"
X  #else
X  #	define	OPTS	"lqnhdarsfk"
X***************
X*** 72,78 ****
X  			case 'r':  howto |= RB_RDONLY;	break;
X  			case 's':  howto |= RB_SINGLE;	break;
X  			case 'f':  howto |= RB_NOFSCK;	break;
X! #ifndef BSD2_10
X  			case 'k':  howto |= RB_KDB;	break;
X  #endif
X  			case '?':
X--- 70,76 ----
X  			case 'r':  howto |= RB_RDONLY;	break;
X  			case 's':  howto |= RB_SINGLE;	break;
X  			case 'f':  howto |= RB_NOFSCK;	break;
X! #ifndef pdp11
X  			case 'k':  howto |= RB_KDB;	break;
X  #endif
X  			case '?':
X*** /usr/src/etc/arp.c.old	Thu Jan  5 23:09:55 1989
X--- /usr/src/etc/arp.c	Mon Jan 10 21:53:12 1994
X***************
X*** 1,5 ****
X! #ifndef lint
X! static	char *sccsid = "@(#)arp.c	5.4 (Berkeley) 11/18/87";
X  #endif
X  
X  /*
X--- 1,5 ----
X! #if	defined(DOSCCS) && !defined(lint)
X! static	char *sccsid = "@(#)arp.c	5.4.1 (2.11BSD GTE) 1/1/94";
X  #endif
X  
X  /*
X***************
X*** 24,30 ****
X  	char **argv;
X  {
X  	if (argc >= 2 && strcmp(argv[1], "-a") == 0) {
X! #ifdef BSD2_10
X  		char *kernel = "/netnix", *mem = "/dev/mem";
X  #else
X  		char *kernel = "/unix", *mem = "/dev/kmem";
X--- 24,30 ----
X  	char **argv;
X  {
X  	if (argc >= 2 && strcmp(argv[1], "-a") == 0) {
X! #ifdef pdp11
X  		char *kernel = "/netnix", *mem = "/dev/mem";
X  #else
X  		char *kernel = "/unix", *mem = "/dev/kmem";
X***************
X*** 253,259 ****
X  	{ "" },
X  };
X  
X! #ifdef BSD2_10
X  char	unix2_10[] = "/vmunix";
X  u_int	base2_10;
X  struct nlist kl[] = {
X--- 253,259 ----
X  	{ "" },
X  };
X  
X! #ifdef pdp11
X  char	unix2_10[] = "/vmunix";
X  u_int	base2_10;
X  struct nlist kl[] = {
X***************
X*** 277,283 ****
X  	extern int h_errno;
X  
X  	nlist(kernel, nl);
X! #ifdef BSD2_10
X  	nlist(unix2_10, kl);
X  	if(kl[X_NETDATA].n_type == 0) {
X  		fprintf(stderr, "arp: %s: bad namelist\n", unix2_10);
X--- 277,283 ----
X  	extern int h_errno;
X  
X  	nlist(kernel, nl);
X! #ifdef pdp11
X  	nlist(unix2_10, kl);
X  	if(kl[X_NETDATA].n_type == 0) {
X  		fprintf(stderr, "arp: %s: bad namelist\n", unix2_10);
X***************
X*** 293,299 ****
X  		fprintf(fprintf, "arp: cannot open %s\n", mem);
X  		exit(1);
X  	}
X! #ifdef BSD2_10
X  	lseek(mf, (long)kl[X_NETDATA].n_value, 0);
X  	read(mf, &base2_10, sizeof(base2_10));
X  	lseek(mf, (long)nl[X_ARPTAB_SIZE].n_value + ctob((long)base2_10), 0);
X--- 293,299 ----
X  		fprintf(fprintf, "arp: cannot open %s\n", mem);
X  		exit(1);
X  	}
X! #ifdef pdp11
X  	lseek(mf, (long)kl[X_NETDATA].n_value, 0);
X  	read(mf, &base2_10, sizeof(base2_10));
X  	lseek(mf, (long)nl[X_ARPTAB_SIZE].n_value + ctob((long)base2_10), 0);
X***************
X*** 311,317 ****
X  		fprintf(stderr, "arp: can't get memory for arptab\n");
X  		exit(1);
X  	}
X! #ifdef BSD2_10
X  	lseek(mf, (long)nl[X_ARPTAB].n_value + ctob((long)base2_10), 0);
X  #else
X  	lseek(mf, (long)nl[X_ARPTAB].n_value, 0);
X--- 311,317 ----
X  		fprintf(stderr, "arp: can't get memory for arptab\n");
X  		exit(1);
X  	}
X! #ifdef pdp11
X  	lseek(mf, (long)nl[X_ARPTAB].n_value + ctob((long)base2_10), 0);
X  #else
X  	lseek(mf, (long)nl[X_ARPTAB].n_value, 0);
X*** /usr/src/etc/init.c.old	Sat Jul 25 16:23:18 1987
X--- /usr/src/etc/init.c	Sat Jan 15 11:21:21 1994
X***************
X*** 4,12 ****
X   * specifies the terms and conditions for redistribution.
X   */
X  
X! #ifndef lint
X! static char sccsid[] = "@(#)init.c	5.6 (Berkeley) 5/26/86";
X! #endif not lint
X  
X  #include <signal.h>
X  #include <sys/types.h>
X--- 4,12 ----
X   * specifies the terms and conditions for redistribution.
X   */
X  
X! #if	defined(DOSCCS) && !defined(lint)
X! static char sccsid[] = "@(#)init.c	5.6.1 (2.11BSD GTE) 1/1/94";
X! #endif
X  
X  #include <signal.h>
X  #include <sys/types.h>
X***************
X*** 79,91 ****
X  #ifdef vax
X  	howto = r11;
X  #else
X! #ifdef BSD2_10
X  	if (argc > 1 && argv[1][0] == '-') {
X  		howto = atoi(argv[1]+1);
X  		bzero(argv[1], strlen(argv[1])); /* keep ps output clean ... */
X  	} else
X  		howto = RB_SINGLE;
X! #else !BSD2_10
X  	if (argc > 1 && argv[1][0] == '-') {
X  		char *cp;
X  
X--- 79,91 ----
X  #ifdef vax
X  	howto = r11;
X  #else
X! #ifdef pdp11
X  	if (argc > 1 && argv[1][0] == '-') {
X  		howto = atoi(argv[1]+1);
X  		bzero(argv[1], strlen(argv[1])); /* keep ps output clean ... */
X  	} else
X  		howto = RB_SINGLE;
X! #else
X  	if (argc > 1 && argv[1][0] == '-') {
X  		char *cp;
X  
X***************
X*** 102,114 ****
X  	} else {
X  		howto = RB_SINGLE;
X  	}
X- #endif BSD2_10
X  #endif
X  	openlog("init", LOG_CONS|LOG_ODELAY, LOG_AUTH);
X! #ifdef BSD2_10
X  	if (autoconfig() == 0)
X  		howto = RB_SINGLE;
X! #endif BSD2_10
X  	sigvec(SIGTERM, &rvec, (struct sigvec *)0);
X  	signal(SIGTSTP, idle);
X  	signal(SIGSTOP, SIG_IGN);
X--- 102,114 ----
X  	} else {
X  		howto = RB_SINGLE;
X  	}
X  #endif
X+ #endif
X  	openlog("init", LOG_CONS|LOG_ODELAY, LOG_AUTH);
X! #ifdef pdp11
X  	if (autoconfig() == 0)
X  		howto = RB_SINGLE;
X! #endif
X  	sigvec(SIGTERM, &rvec, (struct sigvec *)0);
X  	signal(SIGTSTP, idle);
X  	signal(SIGSTOP, SIG_IGN);
X***************
X*** 225,233 ****
X  {
X  	register pid, f;
X  	int status;
X- #ifdef BSD2_10
X  	char *arg1, *arg2;
X- #endif BSD2_10
X  
X  	pid = fork();
X  	if (pid == 0) {
X--- 225,231 ----
X***************
X*** 234,240 ****
X  		(void) open("/", O_RDONLY);
X  		dup2(0, 1);
X  		dup2(0, 2);
X! #ifdef BSD2_10
X  		if (oldhowto & (RB_SINGLE|RB_NOFSCK))
X  			arg1 = "fastboot";
X  		else
X--- 232,238 ----
X  		(void) open("/", O_RDONLY);
X  		dup2(0, 1);
X  		dup2(0, 2);
X! #ifdef pdp11
X  		if (oldhowto & (RB_SINGLE|RB_NOFSCK))
X  			arg1 = "fastboot";
X  		else
X***************
X*** 244,255 ****
X  		else
X  			arg2 = (char *)0;
X  		execl(shell, shell, runc, arg1, arg2, (char *)0);
X! #else !BSD2_10
X  		if (oldhowto & RB_SINGLE)
X  			execl(shell, shell, runc, (char *)0);
X  		else
X  			execl(shell, shell, runc, "autoboot", (char *)0);
X! #endif BSD2_10
X  		exit(1);
X  	}
X  	while (wait(&status) != pid)
X--- 242,253 ----
X  		else
X  			arg2 = (char *)0;
X  		execl(shell, shell, runc, arg1, arg2, (char *)0);
X! #else
X  		if (oldhowto & RB_SINGLE)
X  			execl(shell, shell, runc, (char *)0);
X  		else
X  			execl(shell, shell, runc, "autoboot", (char *)0);
X! #endif
X  		exit(1);
X  	}
X  	while (wait(&status) != pid)
X***************
X*** 272,280 ****
X  	return (1);
X  }
X  
X! #ifdef BSD2_10
X  int	merge();
X! #endif BSD2_10
X  struct	sigvec	mvec = { merge, sigmask(SIGTERM), 0 };
X  /*
X   * Multi-user.  Listen for users leaving, SIGHUP's
X--- 270,278 ----
X  	return (1);
X  }
X  
X! #ifdef pdp11
X  int	merge();
X! #endif
X  struct	sigvec	mvec = { merge, sigmask(SIGTERM), 0 };
X  /*
X   * Multi-user.  Listen for users leaving, SIGHUP's
X***************
X*** 642,648 ****
X  	sleep(10);	/* prevent failures from eating machine */
X  }
X  
X! #ifdef BSD2_10
X  #include <machine/autoconfig.h>
X  
X  autoconfig()
X--- 640,646 ----
X  	sleep(10);	/* prevent failures from eating machine */
X  }
X  
X! #ifdef pdp11
X  #include <machine/autoconfig.h>
X  
X  autoconfig()
X***************
X*** 678,681 ****
X  			return (0);
X  	}
X  }
X! #endif BSD2_10
X--- 676,679 ----
X  			return (0);
X  	}
X  }
X! #endif
X*** /usr/src/etc/telnetd.c.old	Wed Dec 19 09:43:59 1990
X--- /usr/src/etc/telnetd.c	Mon Jan 10 21:54:08 1994
X***************
X*** 4,18 ****
X   * specifies the terms and conditions for redistribution.
X   */
X  
X! #ifndef lint
X  char copyright[] =
X  "@(#) Copyright (c) 1983 Regents of the University of California.\n\
X   All rights reserved.\n";
X- #endif not lint
X  
X! #ifndef lint
X! static char sccsid[] = "@(#)telnetd.c	5.20 (Berkeley) 9/2/87";
X! #endif not lint
X  
X  /*
X   * Telnet server.
X--- 4,16 ----
X   * specifies the terms and conditions for redistribution.
X   */
X  
X! #if	defined(DOSCCS) && !defined(lint)
X  char copyright[] =
X  "@(#) Copyright (c) 1983 Regents of the University of California.\n\
X   All rights reserved.\n";
X  
X! static char sccsid[] = "@(#)telnetd.c	5.20.1 (Berkeley) 1/1/94";
X! #endif
X  
X  /*
X   * Telnet server.
X***************
X*** 166,175 ****
X  	}
X  	doit(0, &from);
X  }
X- 
X- #ifdef BSD2_10
X- #define	terminaltype	termtype
X- #endif
X  
X  char	*terminaltype = 0;
X  char	*envinit[2];
X--- 164,169 ----
X*** /usr/src/etc/edquota.c.old	Sun Sep  4 23:36:34 1988
X--- /usr/src/etc/edquota.c	Mon Jan 10 21:54:21 1994
X***************
X*** 4,18 ****
X   * specifies the terms and conditions for redistribution.
X   */
X  
X! #ifndef lint
X  char copyright[] =
X  "@(#) Copyright (c) 1980 Regents of the University of California.\n\
X   All rights reserved.\n";
X- #endif not lint
X  
X! #ifndef lint
X! static char sccsid[] = "@(#)edquota.c 5.3 (Berkeley) 11/4/85";
X! #endif not lint
X  
X  /*
X   * Disk quota editor.
X--- 4,16 ----
X   * specifies the terms and conditions for redistribution.
X   */
X  
X! #if	defined(DOSCCS) && !defined(lint)
X  char copyright[] =
X  "@(#) Copyright (c) 1980 Regents of the University of California.\n\
X   All rights reserved.\n";
X  
X! static char sccsid[] = "@(#)edquota.c 5.3.1 (2.11BSD GTE) 1/1/94";
X! #endif
X  
X  /*
X   * Disk quota editor.
X***************
X*** 171,177 ****
X  		if (*dqf[i] == '\0')
X  			continue;
X  		fprintf(fd,
X! #ifdef BSD2_10
X  "fs %s blocks (soft = %ld, hard = %ld) inodes (soft = %u, hard = %u)\n"
X  			, dqf[i]
X  			, dq[i].dq_bsoftlimit
X--- 169,175 ----
X  		if (*dqf[i] == '\0')
X  			continue;
X  		fprintf(fd,
X! #ifdef pdp11
X  "fs %s blocks (soft = %ld, hard = %ld) inodes (soft = %u, hard = %u)\n"
X  			, dqf[i]
X  			, dq[i].dq_bsoftlimit
X***************
X*** 221,227 ****
X  			cp++;
X  		strcpy(dqf[i], dp);
X  		n = sscanf(cp,
X! #ifdef BSD2_10
X  "blocks (soft = %ld, hard = %ld) inodes (soft = %u, hard = %u)\n"
X  #else
X  "blocks (soft = %d, hard = %d) inodes (soft = %hd, hard = %hd)\n"
X--- 219,225 ----
X  			cp++;
X  		strcpy(dqf[i], dp);
X  		n = sscanf(cp,
X! #ifdef pdp11
X  "blocks (soft = %ld, hard = %ld) inodes (soft = %u, hard = %u)\n"
X  #else
X  "blocks (soft = %d, hard = %d) inodes (soft = %hd, hard = %hd)\n"
X***************
X*** 235,241 ****
X  			fprintf(stderr, "%s: bad format\n", cp);
X  			continue;
X  		}
X! #ifndef BSD2_10
X  		dq[i].dq_bsoftlimit = btodb(dq[i].dq_bsoftlimit * 1024);
X  		dq[i].dq_bhardlimit = btodb(dq[i].dq_bhardlimit * 1024);
X  #endif
X--- 233,239 ----
X  			fprintf(stderr, "%s: bad format\n", cp);
X  			continue;
X  		}
X! #ifndef pdp11
X  		dq[i].dq_bsoftlimit = btodb(dq[i].dq_bsoftlimit * 1024);
X  		dq[i].dq_bhardlimit = btodb(dq[i].dq_bhardlimit * 1024);
X  #endif
X***************
X*** 367,373 ****
X  				break;
X  
X  			case sizeof dqblk:	/* OK */
X! #ifdef BSD2_10
X  				/*
X  				 * we have to convert from bytes to disc blocks
X  				 * because the quotas file entries use bytes
X--- 365,371 ----
X  				break;
X  
X  			case sizeof dqblk:	/* OK */
X! #ifdef pdp11
X  				/*
X  				 * we have to convert from bytes to disc blocks
X  				 * because the quotas file entries use bytes
X***************
X*** 404,410 ****
X  	register fd, cnt;
X  	struct stat sb;
X  	struct fstab *fs;
X! #ifdef BSD2_10
X  	struct dqblk *du;
X  #endif
X  
X--- 402,408 ----
X  	register fd, cnt;
X  	struct stat sb;
X  	struct fstab *fs;
X! #ifdef pdp11
X  	struct dqblk *du;
X  #endif
X  
X***************
X*** 423,429 ****
X  			perror(*dqf);
X  		} else {
X  			lseek(fd, (long)uid * (long)sizeof (struct dqblk), 0);
X! #ifdef BSD2_10
X  			/*
X  			 * have to write bytes not disc blocks to the quotas
X  			 * file.
X--- 421,427 ----
X  			perror(*dqf);
X  		} else {
X  			lseek(fd, (long)uid * (long)sizeof (struct dqblk), 0);
X! #ifdef pdp11
X  			/*
X  			 * have to write bytes not disc blocks to the quotas
X  			 * file.
X*** /usr/src/etc/quotacheck.c.old	Sun Jul  3 17:53:01 1988
X--- /usr/src/etc/quotacheck.c	Mon Jan 10 21:54:45 1994
X***************
X*** 4,18 ****
X   * specifies the terms and conditions for redistribution.
X   */
X  
X! #ifndef lint
X  char copyright[] =
X  "@(#) Copyright (c) 1980 Regents of the University of California.\n\
X   All rights reserved.\n";
X- #endif not lint
X  
X! #ifndef lint
X! static char sccsid[] = "@(#)quotacheck.c	5.8 (Berkeley) 10/22/87";
X! #endif not lint
X  
X  /*
X   * Fix up / report on disc quotas & usage
X--- 4,16 ----
X   * specifies the terms and conditions for redistribution.
X   */
X  
X! #if	defined(DOSCCS) && !defined(lint)
X  char copyright[] =
X  "@(#) Copyright (c) 1980 Regents of the University of California.\n\
X   All rights reserved.\n";
X  
X! static char sccsid[] = "@(#)quotacheck.c	5.8.1 (2.11BSD GTE) 1/1/94";
X! #endif
X  
X  /*
X   * Fix up / report on disc quotas & usage
X***************
X*** 36,42 ****
X  } un;
X  #define	sblock	un.sblk
X  
X! #ifdef BSD2_10
X  #define	ITABSZ	128
X  #else
X  #define	ITABSZ	256
X--- 34,40 ----
X  } un;
X  #define	sblock	un.sblk
X  
X! #ifdef pdp11
X  #define	ITABSZ	128
X  #else
X  #define	ITABSZ	256
X***************
X*** 51,57 ****
X  	u_short	fu_uid;
X  	char fu_name[LOGINNAMESIZE + 1];
X  };
X! #ifdef BSD2_10
X  #define	FUHASH 337
X  #else
X  #define FUHASH 997
X--- 49,55 ----
X  	u_short	fu_uid;
X  	char fu_name[LOGINNAMESIZE + 1];
X  };
X! #ifdef pdp11
X  #define	FUHASH 337
X  #else
X  #define FUHASH 997
X***************
X*** 59,75 ****
X  struct fileusage *fuhead[FUHASH];
X  struct fileusage *lookup();
X  struct fileusage *adduid();
X- #ifdef BSD2_10
X  uid_t	highuid;
X- #else
X- int highuid;
X- #endif
X  
X  int fi;
X  ino_t ino;
X- #ifdef BSD2_10
X  ino_t	icnt;
X- #endif
X  long done;
X  struct	passwd	*getpwent();
X  struct	dinode	*ginode();
X--- 57,67 ----
X***************
X*** 97,105 ****
X  	argc--, argv++;
X  	if (argc > 0 && strcmp(*argv, "-v") == 0) {
X  		vflag++;
X- #ifdef BSD2_10
X  		goto again;
X- #endif
X  	}
X  	if (argc > 0 && strcmp(*argv, "-a") == 0) {
X  		aflag++;
X--- 89,95 ----
X***************
X*** 288,294 ****
X  	}
X  	sync();
X  	bread(SBLOCK, (char *)&sblock, SBSIZE);
X! #ifdef BSD2_10
X  	dp = NULL;
X  	ino = ROOTINO;
X  	icnt = (sblock.fs_isize  - 2 ) * INOPB; /* don't count boot&super */
X--- 278,284 ----
X  	}
X  	sync();
X  	bread(SBLOCK, (char *)&sblock, SBSIZE);
X! #ifdef pdp11
X  	dp = NULL;
X  	ino = ROOTINO;
X  	icnt = (sblock.fs_isize  - 2 ) * INOPB; /* don't count boot&super */
X***************
X*** 327,333 ****
X  				fprintf(stdout, "\tinodes %d -> %d",
X  					dqbuf.dqb_curinodes, fup->fu_usage.du_curinodes);
X  			if (dqbuf.dqb_curblocks != fup->fu_usage.du_curblocks)
X! #ifdef BSD2_10
X  				printf("\tbytes %ld -> %ld",
X  #else
X  				fprintf(stdout, "\tblocks %d -> %d",
X--- 317,323 ----
X  				fprintf(stdout, "\tinodes %d -> %d",
X  					dqbuf.dqb_curinodes, fup->fu_usage.du_curinodes);
X  			if (dqbuf.dqb_curblocks != fup->fu_usage.du_curblocks)
X! #ifdef pdp11
X  				printf("\tbytes %ld -> %ld",
X  #else
X  				fprintf(stdout, "\tblocks %d -> %d",
X***************
X*** 338,344 ****
X  		dqbuf.dqb_curinodes = fup->fu_usage.du_curinodes;
X  		dqbuf.dqb_curblocks = fup->fu_usage.du_curblocks;
X  		fwrite(&dqbuf, sizeof(struct dqblk), 1, qfo);
X! #ifdef BSD2_10
X  		/* system call interface is in blocks not bytes */
X  		fup->fu_usage.du_curblocks = btodb(fup->fu_usage.du_curblocks);
X  #endif
X--- 328,334 ----
X  		dqbuf.dqb_curinodes = fup->fu_usage.du_curinodes;
X  		dqbuf.dqb_curblocks = fup->fu_usage.du_curblocks;
X  		fwrite(&dqbuf, sizeof(struct dqblk), 1, qfo);
X! #ifdef pdp11
X  		/* system call interface is in blocks not bytes */
X  		fup->fu_usage.du_curblocks = btodb(fup->fu_usage.du_curblocks);
X  #endif
X***************
X*** 347,357 ****
X  		fup->fu_usage.du_curblocks = 0;
X  	}
X  	fflush(qfo);
X- #ifdef BSD2_10
X  	ftruncate(fileno(qfo), (off_t)(highuid + 1) * sizeof(struct dqblk));
X- #else
X- 	ftruncate(fileno(qfo), (off_t)((highuid + 1) * sizeof(struct dqblk)));
X- #endif
X  	fclose(qfi);
X  	fclose(qfo);
X  	close(fi);
X--- 337,343 ----
X***************
X*** 371,377 ****
X  	fup->fu_usage.du_curinodes++;
X  	if ((ip->di_mode & IFMT) == IFCHR || (ip->di_mode & IFMT) == IFBLK)
X  		return;
X! #ifdef BSD2_10
X  	fup->fu_usage.du_curblocks += ip->di_size;
X  #else
X  	fup->fu_usage.du_curblocks += ip->di_blocks;
X--- 357,363 ----
X  	fup->fu_usage.du_curinodes++;
X  	if ((ip->di_mode & IFMT) == IFCHR || (ip->di_mode & IFMT) == IFBLK)
X  		return;
X! #ifdef pdp11
X  	fup->fu_usage.du_curblocks += ip->di_size;
X  #else
X  	fup->fu_usage.du_curblocks += ip->di_blocks;
X***************
X*** 395,408 ****
X  struct dinode *
X  ginode()
X  {
X- #ifdef BSD2_10
X  	daddr_t	iblk;
X- #else
X- 	register unsigned long iblk;
X- #endif
X  
X  	if (dp == NULL || ++dp >= &itab[ITABSZ]) {
X! #ifdef BSD2_10
X  		iblk = itod(ino);
X  		bread(iblk, (char *)itab, sizeof itab);
X  		dp = &itab[ino % INOPB];
X--- 381,390 ----
X  struct dinode *
X  ginode()
X  {
X  	daddr_t	iblk;
X  
X  	if (dp == NULL || ++dp >= &itab[ITABSZ]) {
X! #ifdef pdp11
X  		iblk = itod(ino);
X  		bread(iblk, (char *)itab, sizeof itab);
X  		dp = &itab[ino % INOPB];
X***************
X*** 418,424 ****
X  }
X  
X  bread(bno, buf, cnt)
X! #ifdef BSD2_10
X  	daddr_t	bno;
X  	char *buf;
X  {
X--- 400,406 ----
X  }
X  
X  bread(bno, buf, cnt)
X! #ifdef pdp11
X  	daddr_t	bno;
X  	char *buf;
X  {
X*** /usr/src/etc/ifconfig.c.old	Thu Jan  5 23:13:06 1989
X--- /usr/src/etc/ifconfig.c	Mon Jan 10 21:55:19 1994
X***************
X*** 4,18 ****
X   * specifies the terms and conditions for redistribution.
X   */
X  
X! #ifndef lint
X  char copyright[] =
X  "@(#) Copyright (c) 1983 Regents of the University of California.\n\
X   All rights reserved.\n";
X- #endif not lint
X  
X! #ifndef lint
X! static char sccsid[] = "@(#)ifconfig.c	4.20 (Berkeley) 4/6/87";
X! #endif not lint
X  
X  #include <sys/types.h>
X  #include <sys/socket.h>
X--- 4,16 ----
X   * specifies the terms and conditions for redistribution.
X   */
X  
X! #if	defined(DOSCCS) && !defined(lint)
X  char copyright[] =
X  "@(#) Copyright (c) 1983 Regents of the University of California.\n\
X   All rights reserved.\n";
X  
X! static char sccsid[] = "@(#)ifconfig.c	4.20.1 (2.11BSD GTE) 1/1/94";
X! #endif
X  
X  #include <sys/types.h>
X  #include <sys/socket.h>
X***************
X*** 50,56 ****
X  int	setifflags(), setifaddr(), setifdstaddr(), setifnetmask();
X  int	setifmetric(), setifbroadaddr(), setifipdst();
X  
X! #ifdef BSD2_10
X  #define	NEXTARG		0x7fff
X  #else
X  #define	NEXTARG		0xffffff
X--- 48,54 ----
X  int	setifflags(), setifaddr(), setifdstaddr(), setifnetmask();
X  int	setifmetric(), setifbroadaddr(), setifipdst();
X  
X! #ifdef pdp11
X  #define	NEXTARG		0x7fff
X  #else
X  #define	NEXTARG		0xffffff
X*** /usr/src/etc/repquota.c.old	Sun Jul  3 17:53:48 1988
X--- /usr/src/etc/repquota.c	Mon Jan 10 21:55:34 1994
X***************
X*** 4,17 ****
X   * specifies the terms and conditions for redistribution.
X   */
X  
X! #ifndef lint
X  char copyright[] =
X  "@(#) Copyright (c) 1980 Regents of the University of California.\n\
X   All rights reserved.\n";
X- #endif not lint
X  
X! #ifndef lint
X! static char sccsid[] = "@(#)repquota.c	5.4 (Berkeley) 3/5/86";
X  #endif not lint
X  
X  /*
X--- 4,15 ----
X   * specifies the terms and conditions for redistribution.
X   */
X  
X! #if	defined(DOSCCS) && !defined(lint)
X  char copyright[] =
X  "@(#) Copyright (c) 1980 Regents of the University of California.\n\
X   All rights reserved.\n";
X  
X! static char sccsid[] = "@(#)repquota.c	5.4.1 (2.11BSD GTE) 1/1/94";
X  #endif not lint
X  
X  /*
X***************
X*** 32,38 ****
X  	u_short	fu_uid;
X  	char fu_name[LOGINNAMESIZE + 1];
X  };
X! #ifdef BSD2_10
X  #define	FUHASH 337
X  #else
X  #define FUHASH 997
X--- 30,36 ----
X  	u_short	fu_uid;
X  	char fu_name[LOGINNAMESIZE + 1];
X  };
X! #ifdef pdp11
X  #define	FUHASH 337
X  #else
X  #define FUHASH 997
X***************
X*** 162,168 ****
X  			printf("%-10s", fup->fu_name);
X  		else
X  			printf("#%-9d", uid);
X! #ifdef BSD2_10
X  		printf("%c%c%8ld%8ld%8ld %5u   %5u %5u %5u %5u\n",
X  #else
X  		printf("%c%c%8d%8d%8d %5d   %5d %5d %5d %5d\n",
X--- 160,166 ----
X  			printf("%-10s", fup->fu_name);
X  		else
X  			printf("#%-9d", uid);
X! #ifdef pdp11
X  		printf("%c%c%8ld%8ld%8ld %5u   %5u %5u %5u %5u\n",
X  #else
X  		printf("%c%c%8d%8d%8d %5d   %5d %5d %5d %5d\n",
X***************
X*** 173,179 ****
X  			fup->fu_dqblk.dqb_isoftlimit &&
X  			    fup->fu_dqblk.dqb_curinodes >=
X  			    fup->fu_dqblk.dqb_isoftlimit ? '+' : '-',
X! #ifdef BSD2_10
X  			fup->fu_dqblk.dqb_curblocks / 1024,
X  			fup->fu_dqblk.dqb_bsoftlimit / 1024,
X  			fup->fu_dqblk.dqb_bhardlimit / 1024,
X--- 171,177 ----
X  			fup->fu_dqblk.dqb_isoftlimit &&
X  			    fup->fu_dqblk.dqb_curinodes >=
X  			    fup->fu_dqblk.dqb_isoftlimit ? '+' : '-',
X! #ifdef pdp11
X  			fup->fu_dqblk.dqb_curblocks / 1024,
X  			fup->fu_dqblk.dqb_bsoftlimit / 1024,
X  			fup->fu_dqblk.dqb_bhardlimit / 1024,
X*** /usr/src/etc/inetd.c.old	Mon Aug 10 17:22:07 1987
X--- /usr/src/etc/inetd.c	Mon Jan 10 21:56:00 1994
X***************
X*** 4,18 ****
X   * specifies the terms and conditions for redistribution.
X   */
X  
X! #ifndef lint
X  char copyright[] =
X  "@(#) Copyright (c) 1983 Regents of the University of California.\n\
X   All rights reserved.\n";
X- #endif not lint
X  
X! #ifndef lint
X! static char sccsid[] = "@(#)inetd.c	5.6 (Berkeley) 4/29/86";
X! #endif not lint
X  
X  /*
X   * Inetd - Internet super-server
X--- 4,16 ----
X   * specifies the terms and conditions for redistribution.
X   */
X  
X! #if	defined(DOSCCS) && !defined(lint)
X  char copyright[] =
X  "@(#) Copyright (c) 1983 Regents of the University of California.\n\
X   All rights reserved.\n";
X  
X! static char sccsid[] = "@(#)inetd.c	5.6.1 (2.11BSD GTE) 1/1/94";
X! #endif
X  
X  /*
X   * Inetd - Internet super-server
X***************
X*** 104,122 ****
X  	struct	timeval se_time;	/* start of se_count */
X  	struct	servtab *se_next;
X  } *servtab;
X- 
X- #ifdef	BSD2_10
X- #define	echo_stream	st_echo
X- #define	discard_stream	st_discard
X- #define	machtime_stream	st_machtime
X- #define	daytime_stream	st_daytime
X- #define	chargen_stream	st_chargen
X- #define	echo_dg		dg_echo
X- #define	discard_dg	dg_discard
X- #define	machtime_dg	dg_machtime
X- #define	daytime_dg	dg_daytime
X- #define	chargen_dg	dg_chargen
X- #endif	BSD2_10
X  
X  int echo_stream(), discard_stream(), machtime_stream();
X  int daytime_stream(), chargen_stream();
X--- 102,107 ----
X*** /usr/src/etc/mkfs.c.old	Wed Dec 30 11:29:53 1992
X--- /usr/src/etc/mkfs.c	Thu Jan  6 20:54:41 1994
X***************
X*** 1,4 ****
X! char	*sccsid = "@(#)mkfs.c	2.6";
X  
X  /*
X   * Make a file system prototype.
X--- 1,4 ----
X! char	*sccsid = "@(#)mkfs.c	2.7";
X  
X  /*
X   * Make a file system prototype.
X***************
X*** 13,19 ****
X  #undef	EXTERNALITIMES
X  #ifndef STANDALONE
X  #include <stdio.h>
X- #include <a.out.h>
X  #endif
X  
X  #include <sys/file.h>
X--- 13,18 ----
X*** /usr/src/etc/savecore.c.old	Tue Sep  1 10:09:45 1987
X--- /usr/src/etc/savecore.c	Sun Jan 16 21:37:22 1994
X***************
X*** 4,10 ****
X  
X  #include	<sys/param.h>
X  #include	<stdio.h>
X! #include	<a.out.h>
X  #include	<sys/dir.h>
X  #include	<sys/stat.h>
X  #include	<sys/fs.h>
X--- 4,10 ----
X  
X  #include	<sys/param.h>
X  #include	<stdio.h>
X! #include	<nlist.h>
X  #include	<sys/dir.h>
X  #include	<sys/stat.h>
X  #include	<sys/fs.h>
X***************
X*** 32,42 ****
X  #define	X_TIME		2
X  	{ "_time" },
X  #define	X_PANICSTR	3
X! 	{ "_panicst" },
X  #define	X_PHYSMEM	4
X  	{ "_physmem" },
X  #define	X_BOOTIME	5
X! 	{ "_boottim" },
X  #define	X_VERSION	6
X  	{ "_version" },
X  	{ 0 },
X--- 32,42 ----
X  #define	X_TIME		2
X  	{ "_time" },
X  #define	X_PANICSTR	3
X! 	{ "_panicstr" },
X  #define	X_PHYSMEM	4
X  	{ "_physmem" },
X  #define	X_BOOTIME	5
X! 	{ "_boottime" },
X  #define	X_VERSION	6
X  	{ "_version" },
X  	{ 0 },
SHAR_EOF
fi
exit 0
#	End of shell archive
