kstuff 0.18 (part 1/6)

Dan Bernstein brnstnd at kramden.acf.nyu.edu
Tue May 7 14:15:31 AEST 1991


kstuff includes a whole bunch of stuff related to reading the kernel,
including pff, a more portable, improved version of ofiles/fstat. Of
long-term interest are the many kernel-reading libraries---you might
never have to open kmem again. Also here is an updated release of my
authd server and authuser client RFC 931 implementation, and as an extra
bonus you get findinode, a user-level reverse namei for BSD systems with
ndbm. I stole a few pieces of code from various versions of ofiles (as
indicated in the source). Everything else here is public-domain.

At various times various parts of kstuff have been run under each of
these systems: SunOS 4.0.3, SunOS 4.1, Ultrix 2.2, Ultrix 4.1, BSD
4.3-Tahoe, Convex UNIX 9.0, Dynix 3.0.17. If you're interested in
porting these programs or libraries to other BSD variants, get in touch
with me. If you're brave enough to attempt a System V port, good luck.

This is kstuff 0.18. Keep in mind that it's alpha software---it's not
supposed to work, and if it happens to compile and install without a
hitch on your machine, you should be happy. When you post constructive
criticism of kstuff to alt.sources.d, remember that I don't consider the
package finished. You shouldn't be complaining that the package doesn't
do something. You should be explaining your needs and showing how kstuff
1.00 could fulfill them.

---Dan Bernstein, brnstnd at nyu.edu

#! /bin/sh
# This is a shell archive.  Remove anything before this line, then unpack
# it by saving it into a file and typing "sh file".  To overwrite existing
# files, type "sh file -c".  You can also feed this as standard input via
# unshar, or by typing "sh <file", e.g..  If this archive is complete, you
# will see the following message at the end:
#		"End of archive 1 (of 6)."
# Contents:  README README.authd auread.h authuser.h avenrun.h
#   boottime.h confclonedev.h confconvexfilegarbage.h
#   confconvexrpcnfs.h confconvexsysfile.h confdevt.h confdomain.h
#   confetcconfhfileh.h conffcredptr.h conffree.h confgetuserconvex.h
#   confgetuserdynix.h confgetusermips.h confgetusersupport.h
#   confgnode.h confhavepflag.h confhaveppid.h confhavepsuid.h
#   confhaveucred.h confhaveusigintr.h confhavevmseg.h confitype.h
#   confkvm.h confloadavglong.h confmajorminor.h confmalloc.h
#   confmntent.h confmntult.h confneedartospte.h confneedmachparam.h
#   confneedmntinfo.h confnfs.h confnlistknlist.h confnlistmeaning.h
#   confnlistunder.h confnlname.h confnonsfinet.h confnounpaddr.h
#   confodofe.h confopalf.h confpcredinproc.h confpcredunderproc.h
#   confpsess.h confregion.h confrtype.h confslowstat.h
#   confsocketneedsxnode.h confsyncsema.h confsysucred.h
#   conftcpnlist.h conftext.h conftextneedsvmparam.h confttyvp.h
#   confultrixrpcnfs.h confundefstdcbeforedir.h confusrptnlist.h
#   confvmunix.h confvtype.h filetable.h findinode findinode/FIDDIR
#   findinode/FILES findinode/findinode.1 findinode/fsupdatefid
#   findinode/getopt.h findinode/updatefid.8 getdevicename.h
#   getfcred.h getopt.h getpcred.h getsocket.h getuser.h getvmseg.h
#   groupname.h inpcblist.h kmem.h mallocfree.h mmem.h mntops.h
#   netinp.h nlistlist.h numeric.c numeric.h portname.h printfamily.h
#   printfflag.h printftype.h printprotoinet.h printpstat.h
#   printrlimits.h printrusage.h printsocktype.h printucred.h
#   proctable.h revnamei.h smem.h stattimeout.h strerr.h structmbuf.h
#   structproc.h structprotosw.h structsockaddrin.h structsocket.h
#   structtcp.h structtext.h structucred.h structunpcb.h structuser.h
#   username.h virtype.h vmstuff.h
# Wrapped by brnstnd at kramden on Mon May  6 23:58:51 1991
PATH=/bin:/usr/bin:/usr/ucb ; export PATH
if test -f 'README' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'README'\"
else
echo shar: Extracting \"'README'\" \(6212 characters\)
sed "s/^X//" >'README' <<'END_OF_FILE'
Xkstuff 0.18, 5/6/91, Daniel J. Bernstein.
X
XThis code is in alpha test. That means you shouldn't be surprised at
Xbugs, annoying restrictions, exceedingly poor documentation, etc.
XHowever, I don't know of any bugs, and you should feel free to use the
Xlibraries in other programs. Some of the previous contributors to ofiles
Xmay want some rights to getdevicename.c, getuser.c, getvmseg.c,
Xmntops.c, stattimeout.c, getnode.c, and virtype.c; other than that, this
Xis all public-domain. (Nothing here is derived from any AT&T or Berkeley
Xor GPL-infected code.) Please send any comments, criticism, or code to
Xme at brnstnd at nyu.edu.
X
XBe sure to apply the changes indicated at the top of Makefile for your
Xsystem. Particular thanks to Vic Abell for portability mods, bug fixes,
Xand extensive testing.
X
XThis package includes, among other things: load, a fast version of
Xuptime; pff, an improved replacement for ofiles/fstat; authd, a revised
Xversion of the RFC 931 server; netstatuids, a version of netstat plus
Xusernames on both sides; kmem, nlist, strerr, and u area libraries; the
Xauthuser library. See README.authd for an updated extract of the
Xauthd/authuser documentation.
X
XTo compile, just make. To install, run INSTALL from a root shell.
X(INSTALL checks each action with you before doing it.) To test, run
X``make tests'' as any user.
X
XI've included the findinode package here in directory findinode. It's
Xentirely independent of kstuff, but pff can make good use of it. You
Xprobably want to look at that directory, and perhaps make and install
Xfindinode, before continuing with kstuff.
X
X
XPrograms:
X
Xload is a fast version of uptime with a slightly different output
Xformat, meant to illustrate how to use these libraries. I don't know why
Xuptime is so slow. Documentation is in load.1.
X
Xpff (process-file-file) is a mostly rewritten version of the popular
Xofiles utility. See pff.doc for some documentation. (Man page donations
Xwould be appreciated. :-)) See OFILES.hist for a history of ofiles.
XAlthough I think I've included almost every popular feature from the
XDupuy-Leres ofiles, the Abell ofiles, and the Christiansen fstat, as
Xwell as some extras, pff should be quite a bit more portable than any of
Xits predecessors. pff handles open files (and filesystems), network
Xconnections, mmaps, process texts, cwds, root directories, and
Xcontrolling ttys. It works over NFS. It even handles process texts on
Xthe Convex, unlike the Christiansen fstat. Late addition: if you have
Xfindinode running, pff gives you filenames! Please send me any further
Xextensions and portability mods you have. Thanks to all the ofiles and
Xfstat authors for lots of code and ideas.
X
Xnetstatuids uses the RFC 931 authuser library in authuser.c and the
Xkernel libraries here to show you all active TCP connections, with the
Xusernames on both sides. Naturally, it's faster than netstat -n, though
XI suppose this is excusable since netstat shows more information. Thanks
Xto Seth Robertson for suggesting this program and writing a prototype.
X
Xauthd is a revised version of the RFC 931 authd server (previous version
Xavailable separately). It should be somewhat faster and somewhat more
Xportable. Thanks to Kim Hoeglund for comments and code. Documentation is
Xin authd.8, tcpuid.8, and tcpuname.8, copied from the authd 3.01
Xdistribution. (tcpuid and tcpuname should be linked to authd.)
X
X
XLibraries:
X
Xkmem.h and nlistlist.h are kmem/nlist libraries meant to provide an
Xintuitive yet powerful interface. (mmem.h and smem.h are like kmem.h but
Xhandle /dev/mem and /dev/drum instead of /dev/kmem.) Intuitive:
Xkmemcpy() works just like memcpy() but out of kmem. Powerful: If
Xlibraries X and Y are developed independently but both need to use kmem
Xand nlist, normally they'd open independent descriptors and do separate
Xnlist()s. This is horrendously inefficient. These libraries solve the
Xproblem. See avenrun.c, boottime.c, and load.c for examples.
X
Xgetuser.h is a reasonably portable library to get the u area of a given
Xstruct proc. Together with kmem.h and nlistlist.h, getuser.h provides an
Xinterface about as useful as Sun's kvm library for kernel-reading
Xapplications but a lot more portable. (Well, I cheated a bit: under
X#ifdef sun, getuser.h just calls kvm_getu. The point is that
Xapplications don't have to worry whether getuser() is running on a Sun
Xor not.)
X
Xavenrun.h, boottime.h, filetable.h, getfcred.h, inpcblist.h, and
Xproctable.h are straightforward applications of the kmem and nlistlist
Xlibraries.
X
Xnetinp.h is an experiment. I will probably eliminate it if inpcblist.h
Xturns out to be portable enough. Thanks again to Kim Hoeglund.
X
Xstrerr.h is another piece of my forthcoming error-handling library. It
Xlets you set up libraries or sections of code so that callers can get a
Xmeaningful error message with a single function call. strerr handles
Xrecursion, so that if one library forwards an error from another library
Xit called, the error message will include an error from the sublibrary.
XBut none of the libraries have to worry about malloc()ing space or
Xconcatenating messages manually. Oh, yeah, and strerr(strerrno) is
Xequivalent to ANSI C's strerror(errno) if you don't have ANSI libraries.
X
Xstruct*.h are meant to keep you (well, me) from going insane when using
Xvendor include files. If you #include "structproc.h", then no matter how
Xbadly structured the vendor's include files are, no matter how many of
Xtheir files neglect to include their dependencies, no matter how many
Xfiles blow up if they are included twice, you should get a working
Xstruct proc and the definitions necessary to use that struct. (You may
Xnot understand what struct proc is for, but that's a separate problem.
X:-))
X
Xconf*.h form a two-level #include system. Why is it good to have a
Xsingle file for each #define, like confgnode.h for #ifdef GNODE? Among
Xother reasons, this opens up the chance of vendors standardizing these
X#include files with the same names and meanings they have here. It also
Xinsulates the main code from OS changes. Feel free to use conf*.h in
Xother packages. I am considering setting up a central registration
Xsystem for files like this.
X
XI know, there are lots of other libraries here... I'll document them
Xsoon.
END_OF_FILE
if test 6212 -ne `wc -c <'README'`; then
    echo shar: \"'README'\" unpacked with wrong size!
fi
# end of 'README'
fi
if test -f 'README.authd' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'README.authd'\"
else
echo shar: Extracting \"'README.authd'\" \(1711 characters\)
sed "s/^X//" >'README.authd' <<'END_OF_FILE'
Xauthd - authentication server daemon
Xtcpuid, tcpuname - find out which user owns a connection
Xauthuser - remote authentication library
X
Xauthd is an implementation of RFC 931, the Authentication Server under
XBSD. RFC 931 provides the name of the user owning a TCP connection. This
Xhelps network security: unless TCP itself is compromised, it is
Ximpossible to forge mail or news between computers supporting RFC 931.
XIt also becomes much easier to trace attackers than in the current,
Xlargely anonymous, network. authd requires no changes to current code:
Xevery connect() and accept() is authenticated automatically, with no
Xloss of efficiency.
X
Xtcpuid and tcpuname are the same program, but more suitable for local
Xuse from the command line by a user or system administrator. They show
Xwhich local user created a given TCP connection.
X
Xauthuser is a library encapsulating client use of RFC 931. It talks to a
Xremote Authentication Server to find out the username on the other side
Xof a given connection.
X
XOnly root can install authd. However, most current systems are insecure
Xenough that any user can run tcpuid and tcpuname. authuser is meant for
Xuse by any program.
X
X
X
XDerived from authd version 3.01, February 7, 1991.
XPlaced into the public domain by Daniel J. Bernstein.
XSome of the code in authd was inspired by code written by
XVic Abell, abe at mace.cc.purdue.edu, for the ofiles program.
X
XParticular thanks to the following people for comments, criticism, and
Xcode:
X
X   Gary Rosenblum (rosenblg at nyu.edu)
X   Seth Robertson (seth at sirius.ctr.columbia.edu)
X   Nick Sayer (mrapple at quack.sac.ca.us)
X   Chris Metcalf (metcalf at masala.lcs.mit.edu)
X   Tim Ramsey (tar at math.ksu.edu)
X   Tor Lillqvist (tml at tik.vtt.fi)
END_OF_FILE
if test 1711 -ne `wc -c <'README.authd'`; then
    echo shar: \"'README.authd'\" unpacked with wrong size!
fi
# end of 'README.authd'
fi
if test -f 'auread.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'auread.h'\"
else
echo shar: Extracting \"'auread.h'\" \(129 characters\)
sed "s/^X//" >'auread.h' <<'END_OF_FILE'
X#ifndef AUREAD_H
X#define AUREAD_H
X
X#define MAXNUMLEN 15
X#define LOOPMAX 1000
Xextern int readport();
Xextern int readlr();
X
X#endif
END_OF_FILE
if test 129 -ne `wc -c <'auread.h'`; then
    echo shar: \"'auread.h'\" unpacked with wrong size!
fi
# end of 'auread.h'
fi
if test -f 'authuser.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'authuser.h'\"
else
echo shar: Extracting \"'authuser.h'\" \(161 characters\)
sed "s/^X//" >'authuser.h' <<'END_OF_FILE'
X#ifndef AUTHUSER_H
X#define AUTHUSER_H
X
Xextern unsigned short auth_tcpport;
Xextern char *auth_xline();
Xextern int auth_fd();
Xextern char *auth_tcpuser();
X
X#endif
END_OF_FILE
if test 161 -ne `wc -c <'authuser.h'`; then
    echo shar: \"'authuser.h'\" unpacked with wrong size!
fi
# end of 'authuser.h'
fi
if test -f 'avenrun.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'avenrun.h'\"
else
echo shar: Extracting \"'avenrun.h'\" \(130 characters\)
sed "s/^X//" >'avenrun.h' <<'END_OF_FILE'
X#ifndef AVENRUN_H
X#define AVENRUN_H
X
Xextern char *avenrunstrerr();
Xextern int avenruninit();
Xextern double *getavenrun();
X
X#endif
END_OF_FILE
if test 130 -ne `wc -c <'avenrun.h'`; then
    echo shar: \"'avenrun.h'\" unpacked with wrong size!
fi
# end of 'avenrun.h'
fi
if test -f 'boottime.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'boottime.h'\"
else
echo shar: Extracting \"'boottime.h'\" \(180 characters\)
sed "s/^X//" >'boottime.h' <<'END_OF_FILE'
X#ifndef BOOTTIME_H
X#define BOOTTIME_H
X
Xextern char *boottimestrerr();
Xextern int boottimeinit();
Xextern long getboottime(); /* should be time_t on some systems, too bad */
X
X#endif
END_OF_FILE
if test 180 -ne `wc -c <'boottime.h'`; then
    echo shar: \"'boottime.h'\" unpacked with wrong size!
fi
# end of 'boottime.h'
fi
if test -f 'confclonedev.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'confclonedev.h'\"
else
echo shar: Extracting \"'confclonedev.h'\" \(143 characters\)
sed "s/^X//" >'confclonedev.h' <<'END_OF_FILE'
X#ifndef CONF_CLONEDEV_H
X#define CONF_CLONEDEV_H
X
X#ifdef SUNOS4
X#define CLONEDEV 37      /* streams clone major device number */
X#endif
X
X#endif
END_OF_FILE
if test 143 -ne `wc -c <'confclonedev.h'`; then
    echo shar: \"'confclonedev.h'\" unpacked with wrong size!
fi
# end of 'confclonedev.h'
fi
if test -f 'confconvexfilegarbage.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'confconvexfilegarbage.h'\"
else
echo shar: Extracting \"'confconvexfilegarbage.h'\" \(242 characters\)
sed "s/^X//" >'confconvexfilegarbage.h' <<'END_OF_FILE'
X#ifndef CONF_CONVEXFILEGARBAGE_H
X#define CONF_CONVEXFILEGARBAGE_H
X
X/* Define CONVEXFILEGARBAGE if lots of Convex-specific #includes are
Xnecessary for structxnode.h. Not well defined. */
X
X#ifdef CONVEX
X#define CONVEXFILEGARBAGE
X#endif
X
X#endif
END_OF_FILE
if test 242 -ne `wc -c <'confconvexfilegarbage.h'`; then
    echo shar: \"'confconvexfilegarbage.h'\" unpacked with wrong size!
fi
# end of 'confconvexfilegarbage.h'
fi
if test -f 'confconvexrpcnfs.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'confconvexrpcnfs.h'\"
else
echo shar: Extracting \"'confconvexrpcnfs.h'\" \(107 characters\)
sed "s/^X//" >'confconvexrpcnfs.h' <<'END_OF_FILE'
X#ifndef CONF_CONVEXRPCNFS_H
X#define CONF_CONVEXRPCNFS_H
X
X#ifdef CONVEX
X#define CONVEXRPCNFS
X#endif
X
X#endif
END_OF_FILE
if test 107 -ne `wc -c <'confconvexrpcnfs.h'`; then
    echo shar: \"'confconvexrpcnfs.h'\" unpacked with wrong size!
fi
# end of 'confconvexrpcnfs.h'
fi
if test -f 'confconvexsysfile.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'confconvexsysfile.h'\"
else
echo shar: Extracting \"'confconvexsysfile.h'\" \(110 characters\)
sed "s/^X//" >'confconvexsysfile.h' <<'END_OF_FILE'
X#ifndef CONF_CONVEXSYSFILE_H
X#define CONF_CONVEXSYSFILE_H
X
X#ifdef CONVEX
X#define CONVEXSYSFILE
X#endif
X
X#endif
END_OF_FILE
if test 110 -ne `wc -c <'confconvexsysfile.h'`; then
    echo shar: \"'confconvexsysfile.h'\" unpacked with wrong size!
fi
# end of 'confconvexsysfile.h'
fi
if test -f 'confdevt.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'confdevt.h'\"
else
echo shar: Extracting \"'confdevt.h'\" \(175 characters\)
sed "s/^X//" >'confdevt.h' <<'END_OF_FILE'
X#ifndef CONF_DEV_T_H
X#define CONF_DEV_T_H
X
X/* XXXX: talk to me if you have better ideas about this */
X#ifdef CONVEX
X#define DEV_T int
X#else
X#define DEV_T short
X#endif
X
X#endif
END_OF_FILE
if test 175 -ne `wc -c <'confdevt.h'`; then
    echo shar: \"'confdevt.h'\" unpacked with wrong size!
fi
# end of 'confdevt.h'
fi
if test -f 'confdomain.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'confdomain.h'\"
else
echo shar: Extracting \"'confdomain.h'\" \(219 characters\)
sed "s/^X//" >'confdomain.h' <<'END_OF_FILE'
X#ifndef CONF_DOMAIN_H
X#define CONF_DOMAIN_H
X
X/* -DDOMAIN if <sys/domain.h> exists and defines struct domain. */
X
X#if defined(BSD43) || defined(DYNIX) || (defined(ULTRIX) && (ULTRIX == 22))
X#define DOMAIN
X#endif
X
X#endif
END_OF_FILE
if test 219 -ne `wc -c <'confdomain.h'`; then
    echo shar: \"'confdomain.h'\" unpacked with wrong size!
fi
# end of 'confdomain.h'
fi
if test -f 'confetcconfhfileh.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'confetcconfhfileh.h'\"
else
echo shar: Extracting \"'confetcconfhfileh.h'\" \(110 characters\)
sed "s/^X//" >'confetcconfhfileh.h' <<'END_OF_FILE'
X#ifndef CONF_ETCCONFHFILEH_H
X#define CONF_ETCCONFHFILEH_H
X
X#ifdef __hpux
X#define ETCCONFHFILEH
X#endif
X
X#endif
END_OF_FILE
if test 110 -ne `wc -c <'confetcconfhfileh.h'`; then
    echo shar: \"'confetcconfhfileh.h'\" unpacked with wrong size!
fi
# end of 'confetcconfhfileh.h'
fi
if test -f 'conffcredptr.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'conffcredptr.h'\"
else
echo shar: Extracting \"'conffcredptr.h'\" \(281 characters\)
sed "s/^X//" >'conffcredptr.h' <<'END_OF_FILE'
X#ifndef CONF_FCREDPTR_H
X#define CONF_FCREDPTR_H
X
X/* -DFCRED_ISNOT_POINTER if file->f_cred is a struct ucred. */
X/* -UFCRED_ISNOT_POINTER if file->f_cred is a pointer to struct ucred. */
X/* Irrelevant under -UHAVE_UCRED. */
X
X#ifdef CONVEX
X#define FCRED_ISNOT_POINTER
X#endif
X
X#endif
END_OF_FILE
if test 281 -ne `wc -c <'conffcredptr.h'`; then
    echo shar: \"'conffcredptr.h'\" unpacked with wrong size!
fi
# end of 'conffcredptr.h'
fi
if test -f 'conffree.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'conffree.h'\"
else
echo shar: Extracting \"'conffree.h'\" \(133 characters\)
sed "s/^X//" >'conffree.h' <<'END_OF_FILE'
X#ifndef CONF_FREE_H
X#define CONF_FREE_H
X
X/* -DVOID_FREE if free() returns void. */
X
X#ifndef SUNOS41
X#define VOID_FREE
X#endif
X
X#endif
END_OF_FILE
if test 133 -ne `wc -c <'conffree.h'`; then
    echo shar: \"'conffree.h'\" unpacked with wrong size!
fi
# end of 'conffree.h'
fi
if test -f 'confgetuserconvex.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'confgetuserconvex.h'\"
else
echo shar: Extracting \"'confgetuserconvex.h'\" \(113 characters\)
sed "s/^X//" >'confgetuserconvex.h' <<'END_OF_FILE'
X#ifndef CONF_GETUSER_CONVEX_H
X#define CONF_GETUSER_CONVEX_H
X
X#ifdef CONVEX
X#define GETUSER_CONVEX
X#endif
X
X#endif
END_OF_FILE
if test 113 -ne `wc -c <'confgetuserconvex.h'`; then
    echo shar: \"'confgetuserconvex.h'\" unpacked with wrong size!
fi
# end of 'confgetuserconvex.h'
fi
if test -f 'confgetuserdynix.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'confgetuserdynix.h'\"
else
echo shar: Extracting \"'confgetuserdynix.h'\" \(109 characters\)
sed "s/^X//" >'confgetuserdynix.h' <<'END_OF_FILE'
X#ifndef CONF_GETUSER_DYNIX_H
X#define CONF_GETUSER_DYNIX_H
X
X#ifdef DYNIX
X#define GETUSER_DYNIX
X#endif
X
X#endif
END_OF_FILE
if test 109 -ne `wc -c <'confgetuserdynix.h'`; then
    echo shar: \"'confgetuserdynix.h'\" unpacked with wrong size!
fi
# end of 'confgetuserdynix.h'
fi
if test -f 'confgetusermips.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'confgetusermips.h'\"
else
echo shar: Extracting \"'confgetusermips.h'\" \(105 characters\)
sed "s/^X//" >'confgetusermips.h' <<'END_OF_FILE'
X#ifndef CONF_GETUSER_MIPS_H
X#define CONF_GETUSER_MIPS_H
X
X#ifdef mips
X#define GETUSER_MIPS
X#endif
X
X#endif
END_OF_FILE
if test 105 -ne `wc -c <'confgetusermips.h'`; then
    echo shar: \"'confgetusermips.h'\" unpacked with wrong size!
fi
# end of 'confgetusermips.h'
fi
if test -f 'confgetusersupport.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'confgetusersupport.h'\"
else
echo shar: Extracting \"'confgetusersupport.h'\" \(272 characters\)
sed "s/^X//" >'confgetusersupport.h' <<'END_OF_FILE'
X#ifndef CONF_GETUSERSUPPORT_H
X#define CONF_GETUSERSUPPORT_H
X
X/* -DGETUSERSUPPORT if the system supports a get-u-area library routine
Xunderstood by getuser.c. Not well defined. */
X
X#if defined(DYNIX) || defined(sun) || defined(CONVEX)
X#define GETUSERSUPPORT
X#endif
X
X#endif
END_OF_FILE
if test 272 -ne `wc -c <'confgetusersupport.h'`; then
    echo shar: \"'confgetusersupport.h'\" unpacked with wrong size!
fi
# end of 'confgetusersupport.h'
fi
if test -f 'confgnode.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'confgnode.h'\"
else
echo shar: Extracting \"'confgnode.h'\" \(86 characters\)
sed "s/^X//" >'confgnode.h' <<'END_OF_FILE'
X#ifndef CONF_GNODE_H
X#define CONF_GNODE_H
X
X#ifdef ULTRIX
X#define GNODE
X#endif
X
X#endif
END_OF_FILE
if test 86 -ne `wc -c <'confgnode.h'`; then
    echo shar: \"'confgnode.h'\" unpacked with wrong size!
fi
# end of 'confgnode.h'
fi
if test -f 'confhavepflag.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'confhavepflag.h'\"
else
echo shar: Extracting \"'confhavepflag.h'\" \(227 characters\)
sed "s/^X//" >'confhavepflag.h' <<'END_OF_FILE'
X#ifndef CONF_HAVEPFLAG_H
X#define CONF_HAVEPFLAG_H
X
X/* -DHAVE_PFLAG if struct proc has a p_flag element. */
X
X#include "structproc.h"
X#ifndef P_DYING /* only defined in systems without p_flag */
X#define HAVE_PFLAG
X#endif
X
X#endif
END_OF_FILE
if test 227 -ne `wc -c <'confhavepflag.h'`; then
    echo shar: \"'confhavepflag.h'\" unpacked with wrong size!
fi
# end of 'confhavepflag.h'
fi
if test -f 'confhaveppid.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'confhaveppid.h'\"
else
echo shar: Extracting \"'confhaveppid.h'\" \(202 characters\)
sed "s/^X//" >'confhaveppid.h' <<'END_OF_FILE'
X#ifndef CONF_HAVE_PPID_H
X#define CONF_HAVE_PPID_H
X
X/* -DHAVE_PPID if struct proc has a p_ppid element. */
X
X#ifndef ZS /* XXX: could look it up in user relation table */
X#define HAVE_PPID
X#endif
X
X#endif
END_OF_FILE
if test 202 -ne `wc -c <'confhaveppid.h'`; then
    echo shar: \"'confhaveppid.h'\" unpacked with wrong size!
fi
# end of 'confhaveppid.h'
fi
if test -f 'confhavepsuid.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'confhavepsuid.h'\"
else
echo shar: Extracting \"'confhavepsuid.h'\" \(243 characters\)
sed "s/^X//" >'confhavepsuid.h' <<'END_OF_FILE'
X#ifndef CONF_HAVEPSUID_H
X#define CONF_HAVEPSUID_H
X
X/* -DHAVE_PSUID if struct proc has a p_suid element. */
X
X#if defined(sun) || defined(CONVEX) || defined(DYNIX) || (defined(ULTRIX) && ULTRIX >= 40) /* XXX */
X#define HAVE_PSUID
X#endif
X
X#endif
END_OF_FILE
if test 243 -ne `wc -c <'confhavepsuid.h'`; then
    echo shar: \"'confhavepsuid.h'\" unpacked with wrong size!
fi
# end of 'confhavepsuid.h'
fi
if test -f 'confhaveucred.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'confhaveucred.h'\"
else
echo shar: Extracting \"'confhaveucred.h'\" \(128 characters\)
sed "s/^X//" >'confhaveucred.h' <<'END_OF_FILE'
X#ifndef CONF_HAVE_UCRED_H
X#define CONF_HAVE_UCRED_H
X
X#if !defined(ZS) && !defined(BSD43TAHOE)
X#define HAVE_UCRED
X#endif
X
X#endif
END_OF_FILE
if test 128 -ne `wc -c <'confhaveucred.h'`; then
    echo shar: \"'confhaveucred.h'\" unpacked with wrong size!
fi
# end of 'confhaveucred.h'
fi
if test -f 'confhaveusigintr.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'confhaveusigintr.h'\"
else
echo shar: Extracting \"'confhaveusigintr.h'\" \(109 characters\)
sed "s/^X//" >'confhaveusigintr.h' <<'END_OF_FILE'
X#ifndef CONF_HAVE_USIGINTR_H
X#define CONF_HAVE_USIGINTR_H
X
X#ifdef BSD43
X#define HAVE_USIGINTR
X#endif
X
X#endif
END_OF_FILE
if test 109 -ne `wc -c <'confhaveusigintr.h'`; then
    echo shar: \"'confhaveusigintr.h'\" unpacked with wrong size!
fi
# end of 'confhaveusigintr.h'
fi
if test -f 'confhavevmseg.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'confhavevmseg.h'\"
else
echo shar: Extracting \"'confhavevmseg.h'\" \(101 characters\)
sed "s/^X//" >'confhavevmseg.h' <<'END_OF_FILE'
X#ifndef CONF_HAVE_VMSEG_H
X#define CONV_HAVE_VMSEG_H
X
X#ifdef SUNOS4
X#define HAVE_VMSEG
X#endif
X
X#endif
END_OF_FILE
if test 101 -ne `wc -c <'confhavevmseg.h'`; then
    echo shar: \"'confhavevmseg.h'\" unpacked with wrong size!
fi
# end of 'confhavevmseg.h'
fi
if test -f 'confitype.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'confitype.h'\"
else
echo shar: Extracting \"'confitype.h'\" \(66 characters\)
sed "s/^X//" >'confitype.h' <<'END_OF_FILE'
X#ifndef CONF_ITYPE_H
X#define CONF_ITYPE_H
X
X#define I_TYPE
X
X#endif
END_OF_FILE
if test 66 -ne `wc -c <'confitype.h'`; then
    echo shar: \"'confitype.h'\" unpacked with wrong size!
fi
# end of 'confitype.h'
fi
if test -f 'confkvm.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'confkvm.h'\"
else
echo shar: Extracting \"'confkvm.h'\" \(77 characters\)
sed "s/^X//" >'confkvm.h' <<'END_OF_FILE'
X#ifndef CONF_KVM_H
X#define CONF_KVM_H
X
X#ifdef sun
X#define KVM
X#endif
X
X#endif
END_OF_FILE
if test 77 -ne `wc -c <'confkvm.h'`; then
    echo shar: \"'confkvm.h'\" unpacked with wrong size!
fi
# end of 'confkvm.h'
fi
if test -f 'confloadavglong.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'confloadavglong.h'\"
else
echo shar: Extracting \"'confloadavglong.h'\" \(203 characters\)
sed "s/^X//" >'confloadavglong.h' <<'END_OF_FILE'
X#ifndef CONF_LOADAVGLONG_H
X#define CONF_LOADAVGLONG_H
X
X#ifdef sun
X#define LOADAVGISLONG 256.0
X#endif
X#ifdef mips
X#define LOADAVGISLONG 256.0
X#endif
X#ifdef ZS
X#define LOADAVGISLONG 65536.0
X#endif
X
X#endif
END_OF_FILE
if test 203 -ne `wc -c <'confloadavglong.h'`; then
    echo shar: \"'confloadavglong.h'\" unpacked with wrong size!
fi
# end of 'confloadavglong.h'
fi
if test -f 'confmajorminor.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'confmajorminor.h'\"
else
echo shar: Extracting \"'confmajorminor.h'\" \(165 characters\)
sed "s/^X//" >'confmajorminor.h' <<'END_OF_FILE'
X#ifndef CONF_MAJOR_MINOR_H
X#define CONF_MAJOR_MINOR_H
X
X#ifdef ZS
X#define	major(x)	((int)(((unsigned)(x)>>8)&0377))
X#define	minor(x)	((int)((x)&0377))
X#endif
X
X#endif
END_OF_FILE
if test 165 -ne `wc -c <'confmajorminor.h'`; then
    echo shar: \"'confmajorminor.h'\" unpacked with wrong size!
fi
# end of 'confmajorminor.h'
fi
if test -f 'confmalloc.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'confmalloc.h'\"
else
echo shar: Extracting \"'confmalloc.h'\" \(250 characters\)
sed "s/^X//" >'confmalloc.h' <<'END_OF_FILE'
X#ifndef CONF_MALLOC_H
X#define CONF_MALLOC_H
X
X/* -DVOID_MALLOC if malloc() returns a void pointer. */
X/* -UVOID_MALLOC if malloc() returns a char pointer. */
X
X#if (defined(ULTRIX) && ULTRIX >= 40) || defined(CONVEX)
X#define VOID_MALLOC
X#endif
X
X#endif
END_OF_FILE
if test 250 -ne `wc -c <'confmalloc.h'`; then
    echo shar: \"'confmalloc.h'\" unpacked with wrong size!
fi
# end of 'confmalloc.h'
fi
if test -f 'confmntent.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'confmntent.h'\"
else
echo shar: Extracting \"'confmntent.h'\" \(181 characters\)
sed "s/^X//" >'confmntent.h' <<'END_OF_FILE'
X#ifndef CONF_MNTENT_H
X#define CONF_MNTENT_H
X
X/* -DMNTENT if <mntent.h> and getmntent() exist */
X
X#if defined(sun) || defined(CONVEX) || defined(DYNIX)
X#define MNTENT
X#endif
X
X#endif
END_OF_FILE
if test 181 -ne `wc -c <'confmntent.h'`; then
    echo shar: \"'confmntent.h'\" unpacked with wrong size!
fi
# end of 'confmntent.h'
fi
if test -f 'confmntult.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'confmntult.h'\"
else
echo shar: Extracting \"'confmntult.h'\" \(89 characters\)
sed "s/^X//" >'confmntult.h' <<'END_OF_FILE'
X#ifndef CONF_MNTULT_H
X#define CONF_MNTULT_H
X
X#ifdef ULTRIX
X#define MNTULT
X#endif
X
X#endif
END_OF_FILE
if test 89 -ne `wc -c <'confmntult.h'`; then
    echo shar: \"'confmntult.h'\" unpacked with wrong size!
fi
# end of 'confmntult.h'
fi
if test -f 'confneedartospte.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'confneedartospte.h'\"
else
echo shar: Extracting \"'confneedartospte.h'\" \(107 characters\)
sed "s/^X//" >'confneedartospte.h' <<'END_OF_FILE'
X#ifndef CONF_NEEDARTOSPTE_H
X#define CONF_NEEDARTOSPTE_H
X
X#ifdef ZS
X#define NEED_ARTOS_PTE_H
X#endif
X
X#endif
END_OF_FILE
if test 107 -ne `wc -c <'confneedartospte.h'`; then
    echo shar: \"'confneedartospte.h'\" unpacked with wrong size!
fi
# end of 'confneedartospte.h'
fi
if test -f 'confneedmachparam.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'confneedmachparam.h'\"
else
echo shar: Extracting \"'confneedmachparam.h'\" \(151 characters\)
sed "s/^X//" >'confneedmachparam.h' <<'END_OF_FILE'
X#ifndef CONF_NEEDMACHPARAM_H
X#define CONF_NEEDMACHPARAM_H
X
X#if !defined(ULTRIX) && !defined(sun) && !defined(ZS)
X#define NEED_MACHPARAM
X#endif
X
X#endif
END_OF_FILE
if test 151 -ne `wc -c <'confneedmachparam.h'`; then
    echo shar: \"'confneedmachparam.h'\" unpacked with wrong size!
fi
# end of 'confneedmachparam.h'
fi
if test -f 'confneedmntinfo.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'confneedmntinfo.h'\"
else
echo shar: Extracting \"'confneedmntinfo.h'\" \(132 characters\)
sed "s/^X//" >'confneedmntinfo.h' <<'END_OF_FILE'
X#ifndef CONF_NEEDMNTINFO_H
X#define CONF_NEEDMNTINFO_H
X
X#if !defined(SUNOS4) && !defined(CONVEX)
X#define NEED_MNTINFO
X#endif
X
X#endif
END_OF_FILE
if test 132 -ne `wc -c <'confneedmntinfo.h'`; then
    echo shar: \"'confneedmntinfo.h'\" unpacked with wrong size!
fi
# end of 'confneedmntinfo.h'
fi
if test -f 'confnfs.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'confnfs.h'\"
else
echo shar: Extracting \"'confnfs.h'\" \(99 characters\)
sed "s/^X//" >'confnfs.h' <<'END_OF_FILE'
X#ifndef CONF_NFS_H
X#define CONF_NFS_H
X
X/* XXX: NFS is already a higher-level definition */
X
X#endif
END_OF_FILE
if test 99 -ne `wc -c <'confnfs.h'`; then
    echo shar: \"'confnfs.h'\" unpacked with wrong size!
fi
# end of 'confnfs.h'
fi
if test -f 'confnlistknlist.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'confnlistknlist.h'\"
else
echo shar: Extracting \"'confnlistknlist.h'\" \(99 characters\)
sed "s/^X//" >'confnlistknlist.h' <<'END_OF_FILE'
X#ifndef CONF_NLISTKNLIST_H
X#define CONF_NLISTKNLIST_H
X
X#ifdef CONVEX
X#define KNLIST
X#endif
X
X#endif
END_OF_FILE
if test 99 -ne `wc -c <'confnlistknlist.h'`; then
    echo shar: \"'confnlistknlist.h'\" unpacked with wrong size!
fi
# end of 'confnlistknlist.h'
fi
if test -f 'confnlistmeaning.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'confnlistmeaning.h'\"
else
echo shar: Extracting \"'confnlistmeaning.h'\" \(180 characters\)
sed "s/^X//" >'confnlistmeaning.h' <<'END_OF_FILE'
X#ifndef CONF_NLISTMEANING_H
X#define CONF_NLISTMEANING_H
X
X/* -DMEANINGLESS_NLIST if nlist() does not return -1 on errors. */
X
X#ifdef ULTRIX
X#define MEANINGLESS_NLIST
X#endif
X
X#endif
END_OF_FILE
if test 180 -ne `wc -c <'confnlistmeaning.h'`; then
    echo shar: \"'confnlistmeaning.h'\" unpacked with wrong size!
fi
# end of 'confnlistmeaning.h'
fi
if test -f 'confnlistunder.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'confnlistunder.h'\"
else
echo shar: Extracting \"'confnlistunder.h'\" \(187 characters\)
sed "s/^X//" >'confnlistunder.h' <<'END_OF_FILE'
X#ifndef CONF_NLISTUNDER_H
X#define CONF_NLISTUNDER_H
X
X#if defined(__hp9000s800) || defined(sun386i)
X#define FORGET_UNDERSCORE /* wants, e.g., "nproc" instead of "_nproc" */
X#endif
X
X#endif
END_OF_FILE
if test 187 -ne `wc -c <'confnlistunder.h'`; then
    echo shar: \"'confnlistunder.h'\" unpacked with wrong size!
fi
# end of 'confnlistunder.h'
fi
if test -f 'confnlname.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'confnlname.h'\"
else
echo shar: Extracting \"'confnlname.h'\" \(241 characters\)
sed "s/^X//" >'confnlname.h' <<'END_OF_FILE'
X#ifndef CONF_NLNAME_H
X#define CONF_NLNAME_H
X
X#ifdef CONVEX
X#define NLNAME(foo) ((foo).n_un.n_name)
X/* why? why? why? why? haven't these people heard of portability? */
X#endif
X
X#ifndef NLNAME
X#define NLNAME(foo) ((foo).n_name)
X#endif
X
X#endif
END_OF_FILE
if test 241 -ne `wc -c <'confnlname.h'`; then
    echo shar: \"'confnlname.h'\" unpacked with wrong size!
fi
# end of 'confnlname.h'
fi
if test -f 'confnonsfinet.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'confnonsfinet.h'\"
else
echo shar: Extracting \"'confnonsfinet.h'\" \(123 characters\)
sed "s/^X//" >'confnonsfinet.h' <<'END_OF_FILE'
X#ifndef CONF_NONSFINET_H
X#define CONF_NONSFINET_H
X
X#ifdef __hpux
X#define NONSFINET /* no netstat -f inet */
X#endif
X
X#endif
END_OF_FILE
if test 123 -ne `wc -c <'confnonsfinet.h'`; then
    echo shar: \"'confnonsfinet.h'\" unpacked with wrong size!
fi
# end of 'confnonsfinet.h'
fi
if test -f 'confnounpaddr.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'confnounpaddr.h'\"
else
echo shar: Extracting \"'confnounpaddr.h'\" \(157 characters\)
sed "s/^X//" >'confnounpaddr.h' <<'END_OF_FILE'
X#ifndef CONF_NOUNPADDR_H
X#define CONF_NOUNPADDR_H
X
X#if defined(DYNIX) || (defined(ULTRIX) && ULTRIX == 22) /*XXX: BSD43?*/
X#define NO_UNPADDR
X#endif
X
X#endif
END_OF_FILE
if test 157 -ne `wc -c <'confnounpaddr.h'`; then
    echo shar: \"'confnounpaddr.h'\" unpacked with wrong size!
fi
# end of 'confnounpaddr.h'
fi
if test -f 'confodofe.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'confodofe.h'\"
else
echo shar: Extracting \"'confodofe.h'\" \(85 characters\)
sed "s/^X//" >'confodofe.h' <<'END_OF_FILE'
X#ifndef CONF_ODOFE_H
X#define CONF_ODOFE_H
X
X#ifdef DYNIX
X#define ODOFE
X#endif
X
X#endif
END_OF_FILE
if test 85 -ne `wc -c <'confodofe.h'`; then
    echo shar: \"'confodofe.h'\" unpacked with wrong size!
fi
# end of 'confodofe.h'
fi
if test -f 'confopalf.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'confopalf.h'\"
else
echo shar: Extracting \"'confopalf.h'\" \(87 characters\)
sed "s/^X//" >'confopalf.h' <<'END_OF_FILE'
X#ifndef CONF_OPALF_H
X#define CONF_OPALF_H
X
X#ifdef SUNOS41
X#define OPALF
X#endif
X
X#endif
END_OF_FILE
if test 87 -ne `wc -c <'confopalf.h'`; then
    echo shar: \"'confopalf.h'\" unpacked with wrong size!
fi
# end of 'confopalf.h'
fi
if test -f 'confpcredinproc.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'confpcredinproc.h'\"
else
echo shar: Extracting \"'confpcredinproc.h'\" \(106 characters\)
sed "s/^X//" >'confpcredinproc.h' <<'END_OF_FILE'
X#ifndef CONF_PCREDINPROC_H
X#define CONF_PCREDINPROC_H
X
X#ifdef CONVEX
X#define PCRED_IN_PROC
X#endif
X
X#endif
END_OF_FILE
if test 106 -ne `wc -c <'confpcredinproc.h'`; then
    echo shar: \"'confpcredinproc.h'\" unpacked with wrong size!
fi
# end of 'confpcredinproc.h'
fi
if test -f 'confpcredunderproc.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'confpcredunderproc.h'\"
else
echo shar: Extracting \"'confpcredunderproc.h'\" \(112 characters\)
sed "s/^X//" >'confpcredunderproc.h' <<'END_OF_FILE'
X#ifndef CONF_PCREDUNDERPROC_H
X#define CONF_PCREDUNDERPROC_H
X
X#ifdef sun
X#define PCRED_UNDER_PROC
X#endif
X
X#endif
END_OF_FILE
if test 112 -ne `wc -c <'confpcredunderproc.h'`; then
    echo shar: \"'confpcredunderproc.h'\" unpacked with wrong size!
fi
# end of 'confpcredunderproc.h'
fi
if test -f 'confpsess.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'confpsess.h'\"
else
echo shar: Extracting \"'confpsess.h'\" \(87 characters\)
sed "s/^X//" >'confpsess.h' <<'END_OF_FILE'
X#ifndef CONF_PSESS_H
X#define CONF_PSESS_H
X
X#ifdef SUNOS41
X#define PSESS
X#endif
X
X#endif
END_OF_FILE
if test 87 -ne `wc -c <'confpsess.h'`; then
    echo shar: \"'confpsess.h'\" unpacked with wrong size!
fi
# end of 'confpsess.h'
fi
if test -f 'confregion.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'confregion.h'\"
else
echo shar: Extracting \"'confregion.h'\" \(89 characters\)
sed "s/^X//" >'confregion.h' <<'END_OF_FILE'
X#ifndef CONF_REGION_H
X#define CONF_REGION_H
X
X#ifdef CONVEX
X#define REGION
X#endif
X
X#endif
END_OF_FILE
if test 89 -ne `wc -c <'confregion.h'`; then
    echo shar: \"'confregion.h'\" unpacked with wrong size!
fi
# end of 'confregion.h'
fi
if test -f 'confrtype.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'confrtype.h'\"
else
echo shar: Extracting \"'confrtype.h'\" \(110 characters\)
sed "s/^X//" >'confrtype.h' <<'END_OF_FILE'
X#ifndef CONF_RTYPE_H
X#define CONF_RTYPE_H
X
X#if defined(NFS) && !defined(SUNOS4)
X#define R_TYPE
X#endif
X
X#endif
END_OF_FILE
if test 110 -ne `wc -c <'confrtype.h'`; then
    echo shar: \"'confrtype.h'\" unpacked with wrong size!
fi
# end of 'confrtype.h'
fi
if test -f 'confslowstat.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'confslowstat.h'\"
else
echo shar: Extracting \"'confslowstat.h'\" \(117 characters\)
sed "s/^X//" >'confslowstat.h' <<'END_OF_FILE'
X#ifndef CONF_SLOWSTAT_H
X#define CONF_SLOWSTAT_H
X
X#if defined(NFS) || defined(ULTRIX)
X#define SLOWSTAT
X#endif
X
X#endif
END_OF_FILE
if test 117 -ne `wc -c <'confslowstat.h'`; then
    echo shar: \"'confslowstat.h'\" unpacked with wrong size!
fi
# end of 'confslowstat.h'
fi
if test -f 'confsocketneedsxnode.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'confsocketneedsxnode.h'\"
else
echo shar: Extracting \"'confsocketneedsxnode.h'\" \(119 characters\)
sed "s/^X//" >'confsocketneedsxnode.h' <<'END_OF_FILE'
X#ifndef CONF_SOCKETNEEDSXNODE_H
X#define CONF_SOCKETNEEDSXNODE_H
X
X#ifdef CONVEX
X#define SOCKETNEEDSXNODE
X#endif
X
X#endif
END_OF_FILE
if test 119 -ne `wc -c <'confsocketneedsxnode.h'`; then
    echo shar: \"'confsocketneedsxnode.h'\" unpacked with wrong size!
fi
# end of 'confsocketneedsxnode.h'
fi
if test -f 'confsyncsema.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'confsyncsema.h'\"
else
echo shar: Extracting \"'confsyncsema.h'\" \(95 characters\)
sed "s/^X//" >'confsyncsema.h' <<'END_OF_FILE'
X#ifndef CONF_SYNCSEMA_H
X#define CONF_SYNCSEMA_H
X
X#ifdef CONVEX
X#define SYNCSEMA
X#endif
X
X#endif
END_OF_FILE
if test 95 -ne `wc -c <'confsyncsema.h'`; then
    echo shar: \"'confsyncsema.h'\" unpacked with wrong size!
fi
# end of 'confsyncsema.h'
fi
if test -f 'confsysucred.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'confsysucred.h'\"
else
echo shar: Extracting \"'confsysucred.h'\" \(95 characters\)
sed "s/^X//" >'confsysucred.h' <<'END_OF_FILE'
X#ifndef CONF_SYSUCRED_H
X#define CONF_SYSUCRED_H
X
X#ifdef CONVEX
X#define SYSUCRED
X#endif
X
X#endif
END_OF_FILE
if test 95 -ne `wc -c <'confsysucred.h'`; then
    echo shar: \"'confsysucred.h'\" unpacked with wrong size!
fi
# end of 'confsysucred.h'
fi
if test -f 'conftcpnlist.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'conftcpnlist.h'\"
else
echo shar: Extracting \"'conftcpnlist.h'\" \(135 characters\)
sed "s/^X//" >'conftcpnlist.h' <<'END_OF_FILE'
X#ifndef CONF_TCPNLIST_H
X#define CONF_TCPNLIST_H
X
X#ifdef __hpux
X#define TCPNLIST "_tcp_cb"
X#else
X#define TCPNLIST "_tcb"
X#endif
X
X#endif
END_OF_FILE
if test 135 -ne `wc -c <'conftcpnlist.h'`; then
    echo shar: \"'conftcpnlist.h'\" unpacked with wrong size!
fi
# end of 'conftcpnlist.h'
fi
if test -f 'conftext.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'conftext.h'\"
else
echo shar: Extracting \"'conftext.h'\" \(129 characters\)
sed "s/^X//" >'conftext.h' <<'END_OF_FILE'
X#ifndef CONF_TEXT_H
X#define CONF_TEXT_H
X
X#if !defined(SUNOS4) && !defined(CONVEX) && !defined(DYNIX)
X#define TEXT
X#endif
X
X#endif
END_OF_FILE
if test 129 -ne `wc -c <'conftext.h'`; then
    echo shar: \"'conftext.h'\" unpacked with wrong size!
fi
# end of 'conftext.h'
fi
if test -f 'conftextneedsvmparam.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'conftextneedsvmparam.h'\"
else
echo shar: Extracting \"'conftextneedsvmparam.h'\" \(115 characters\)
sed "s/^X//" >'conftextneedsvmparam.h' <<'END_OF_FILE'
X#ifndef CONF_TEXTNEEDSVMPARAM_H
X#define CONF_TEXTNEEDSVMPARAM_H
X
X#ifdef ZS
X#define TEXTNEEDSVMPARAM
X#endif
X
X#endif
END_OF_FILE
if test 115 -ne `wc -c <'conftextneedsvmparam.h'`; then
    echo shar: \"'conftextneedsvmparam.h'\" unpacked with wrong size!
fi
# end of 'conftextneedsvmparam.h'
fi
if test -f 'confttyvp.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'confttyvp.h'\"
else
echo shar: Extracting \"'confttyvp.h'\" \(83 characters\)
sed "s/^X//" >'confttyvp.h' <<'END_OF_FILE'
X#ifndef CONF_TTYVP_H
X#define CONF_TTYVP_H
X
X#ifdef sun
X#define TTYVP
X#endif
X
X#endif
END_OF_FILE
if test 83 -ne `wc -c <'confttyvp.h'`; then
    echo shar: \"'confttyvp.h'\" unpacked with wrong size!
fi
# end of 'confttyvp.h'
fi
if test -f 'confultrixrpcnfs.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'confultrixrpcnfs.h'\"
else
echo shar: Extracting \"'confultrixrpcnfs.h'\" \(107 characters\)
sed "s/^X//" >'confultrixrpcnfs.h' <<'END_OF_FILE'
X#ifndef CONF_ULTRIXRPCNFS_H
X#define CONF_ULTRIXRPCNFS_H
X
X#ifdef ULTRIX
X#define ULTRIXRPCNFS
X#endif
X
X#endif
END_OF_FILE
if test 107 -ne `wc -c <'confultrixrpcnfs.h'`; then
    echo shar: \"'confultrixrpcnfs.h'\" unpacked with wrong size!
fi
# end of 'confultrixrpcnfs.h'
fi
if test -f 'confundefstdcbeforedir.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'confundefstdcbeforedir.h'\"
else
echo shar: Extracting \"'confundefstdcbeforedir.h'\" \(125 characters\)
sed "s/^X//" >'confundefstdcbeforedir.h' <<'END_OF_FILE'
X#ifndef CONF_UNDEFSTDCBEFOREDIR_H
X#define CONF_UNDEFSTDCBEFOREDIR_H
X
X#ifdef CONVEX
X#define UNDEFSTDCBEFOREDIR
X#endif
X
X#endif
END_OF_FILE
if test 125 -ne `wc -c <'confundefstdcbeforedir.h'`; then
    echo shar: \"'confundefstdcbeforedir.h'\" unpacked with wrong size!
fi
# end of 'confundefstdcbeforedir.h'
fi
if test -f 'confusrptnlist.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'confusrptnlist.h'\"
else
echo shar: Extracting \"'confusrptnlist.h'\" \(356 characters\)
sed "s/^X//" >'confusrptnlist.h' <<'END_OF_FILE'
X#ifndef CONF_USRPTNLIST_H
X#define CONF_USRPTNLIST_H
X
X#include "confgetusersupport.h"
X
X#ifndef GETUSERSUPPORT
X#if defined(BSD43TAHOE) || (defined(ULTRIX) && (ULTRIX < 40))
X#define NLISTPAGES "_Usrptmap"
X#define NLISTBASE "_usrpt"
X#else
X#define NLISTPAGES "_Sysmap" /* is this _pages on a Sun? who cares */
X#define NLISTBASE "_Sysbase"
X#endif
X#endif
X
X#endif
END_OF_FILE
if test 356 -ne `wc -c <'confusrptnlist.h'`; then
    echo shar: \"'confusrptnlist.h'\" unpacked with wrong size!
fi
# end of 'confusrptnlist.h'
fi
if test -f 'confvmunix.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'confvmunix.h'\"
else
echo shar: Extracting \"'confvmunix.h'\" \(300 characters\)
sed "s/^X//" >'confvmunix.h' <<'END_OF_FILE'
X#ifndef CONF_VMUNIX_H
X#define CONF_VMUNIX_H
X
X#ifndef VMUNIX
X#ifdef __hpux
X#define VMUNIX "/hp-ux"
X#endif
X#endif
X
X#ifndef VMUNIX
X#ifdef DYNIX
X#define VMUNIX "/dynix"
X#endif
X#endif
X
X#ifndef VMUNIX
X#ifdef ZS
X#define VMUNIX "/zsunix"
X#endif
X#endif
X
X#ifndef VMUNIX
X#define VMUNIX "/vmunix"
X#endif
X
X#endif
END_OF_FILE
if test 300 -ne `wc -c <'confvmunix.h'`; then
    echo shar: \"'confvmunix.h'\" unpacked with wrong size!
fi
# end of 'confvmunix.h'
fi
if test -f 'confvtype.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'confvtype.h'\"
else
echo shar: Extracting \"'confvtype.h'\" \(109 characters\)
sed "s/^X//" >'confvtype.h' <<'END_OF_FILE'
X#ifndef CONF_VTYPE_H
X#define CONF_VTYPE_H
X
X#if defined(NFS) || defined(ULTRIX)
X#define V_TYPE
X#endif
X
X#endif
END_OF_FILE
if test 109 -ne `wc -c <'confvtype.h'`; then
    echo shar: \"'confvtype.h'\" unpacked with wrong size!
fi
# end of 'confvtype.h'
fi
if test -f 'filetable.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'filetable.h'\"
else
echo shar: Extracting \"'filetable.h'\" \(193 characters\)
sed "s/^X//" >'filetable.h' <<'END_OF_FILE'
X#ifndef FILETABLE_H
X#define FILETABLE_H
X
Xextern char *filetablestrerr();
Xextern int mynfile;
Xextern int filetableinit();
Xextern struct file *myfile;
Xextern struct file *getfiletable();
X
X#endif
END_OF_FILE
if test 193 -ne `wc -c <'filetable.h'`; then
    echo shar: \"'filetable.h'\" unpacked with wrong size!
fi
# end of 'filetable.h'
fi
if test ! -d 'findinode' ; then
    echo shar: Creating directory \"'findinode'\"
    mkdir 'findinode'
fi
if test -f 'findinode/FIDDIR' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'findinode/FIDDIR'\"
else
echo shar: Extracting \"'findinode/FIDDIR'\" \(105 characters\)
sed "s/^X//" >'findinode/FIDDIR' <<'END_OF_FILE'
X/etc/fid
XThe first line of this file should be a directory where the findinode
Xdatabases will be stored.
END_OF_FILE
if test 105 -ne `wc -c <'findinode/FIDDIR'`; then
    echo shar: \"'findinode/FIDDIR'\" unpacked with wrong size!
fi
# end of 'findinode/FIDDIR'
fi
if test -f 'findinode/FILES' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'findinode/FILES'\"
else
echo shar: Extracting \"'findinode/FILES'\" \(118 characters\)
sed "s/^X//" >'findinode/FILES' <<'END_OF_FILE'
XREADME
XFILES
XMakefile
XFIDDIR
XINSTALL
Xfsupdatefid
Xfid.h
Xfid.c
Xupdatefid.c
Xfindinode.c
Xupdatefid.8
Xfindinode.1
Xgetopt.h
END_OF_FILE
if test 118 -ne `wc -c <'findinode/FILES'`; then
    echo shar: \"'findinode/FILES'\" unpacked with wrong size!
fi
# end of 'findinode/FILES'
fi
if test -f 'findinode/findinode.1' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'findinode/findinode.1'\"
else
echo shar: Extracting \"'findinode/findinode.1'\" \(0 characters\)
sed "s/^X//" >'findinode/findinode.1' <<'END_OF_FILE'
END_OF_FILE
if test 0 -ne `wc -c <'findinode/findinode.1'`; then
    echo shar: \"'findinode/findinode.1'\" unpacked with wrong size!
fi
# end of 'findinode/findinode.1'
fi
if test -f 'findinode/fsupdatefid' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'findinode/fsupdatefid'\"
else
echo shar: Extracting \"'findinode/fsupdatefid'\" \(427 characters\)
sed "s/^X//" >'findinode/fsupdatefid' <<'END_OF_FILE'
X#!/bin/sh
X#
X# Note the hard-coded /etc/updatefid.
X#
X# If the speed of this script is important, it should be rewritten with
X# xargs to run updatefid on several directories at once.
X#
X# On NFS systems you may want to use several find -xdev commands on just
X# the local filesystems. Or you may want to include everything. Your
X# choice.
X#
XSLEEP=3
Xwhile :
Xdo
X  find / -type d -exec sleep $SLEEP \; -exec /etc/updatefid {} \;
Xdone
END_OF_FILE
if test 427 -ne `wc -c <'findinode/fsupdatefid'`; then
    echo shar: \"'findinode/fsupdatefid'\" unpacked with wrong size!
fi
chmod +x 'findinode/fsupdatefid'
# end of 'findinode/fsupdatefid'
fi
if test -f 'findinode/getopt.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'findinode/getopt.h'\"
else
echo shar: Extracting \"'findinode/getopt.h'\" \(177 characters\)
sed "s/^X//" >'findinode/getopt.h' <<'END_OF_FILE'
X#ifndef GETOPT_H
X#define GETOPT_H
X
X/* The following should be in /usr/include/getopt.h but often aren't. */
Xextern int getopt();
Xextern char *optarg;
Xextern int optind;
X
X#endif
END_OF_FILE
if test 177 -ne `wc -c <'findinode/getopt.h'`; then
    echo shar: \"'findinode/getopt.h'\" unpacked with wrong size!
fi
# end of 'findinode/getopt.h'
fi
if test -f 'findinode/updatefid.8' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'findinode/updatefid.8'\"
else
echo shar: Extracting \"'findinode/updatefid.8'\" \(0 characters\)
sed "s/^X//" >'findinode/updatefid.8' <<'END_OF_FILE'
END_OF_FILE
if test 0 -ne `wc -c <'findinode/updatefid.8'`; then
    echo shar: \"'findinode/updatefid.8'\" unpacked with wrong size!
fi
# end of 'findinode/updatefid.8'
fi
if test -f 'getdevicename.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'getdevicename.h'\"
else
echo shar: Extracting \"'getdevicename.h'\" \(117 characters\)
sed "s/^X//" >'getdevicename.h' <<'END_OF_FILE'
X#ifndef GETDEVICENAME_H
X#define GETDEVICENAME_H
X
Xextern char *getdevicename();
Xextern char *getttydevname();
X
X#endif
END_OF_FILE
if test 117 -ne `wc -c <'getdevicename.h'`; then
    echo shar: \"'getdevicename.h'\" unpacked with wrong size!
fi
# end of 'getdevicename.h'
fi
if test -f 'getfcred.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'getfcred.h'\"
else
echo shar: Extracting \"'getfcred.h'\" \(111 characters\)
sed "s/^X//" >'getfcred.h' <<'END_OF_FILE'
X#ifndef GETFCRED_H
X#define GETFCRED_H
X
Xextern char *getfcredstrerr();
Xextern struct ucred *getfcred();
X
X#endif
END_OF_FILE
if test 111 -ne `wc -c <'getfcred.h'`; then
    echo shar: \"'getfcred.h'\" unpacked with wrong size!
fi
# end of 'getfcred.h'
fi
if test -f 'getopt.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'getopt.h'\"
else
echo shar: Extracting \"'getopt.h'\" \(177 characters\)
sed "s/^X//" >'getopt.h' <<'END_OF_FILE'
X#ifndef GETOPT_H
X#define GETOPT_H
X
X/* The following should be in /usr/include/getopt.h but often aren't. */
Xextern int getopt();
Xextern char *optarg;
Xextern int optind;
X
X#endif
END_OF_FILE
if test 177 -ne `wc -c <'getopt.h'`; then
    echo shar: \"'getopt.h'\" unpacked with wrong size!
fi
# end of 'getopt.h'
fi
if test -f 'getpcred.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'getpcred.h'\"
else
echo shar: Extracting \"'getpcred.h'\" \(111 characters\)
sed "s/^X//" >'getpcred.h' <<'END_OF_FILE'
X#ifndef GETPCRED_H
X#define GETPCRED_H
X
Xextern char *getpcredstrerr();
Xextern struct ucred *getpcred();
X
X#endif
END_OF_FILE
if test 111 -ne `wc -c <'getpcred.h'`; then
    echo shar: \"'getpcred.h'\" unpacked with wrong size!
fi
# end of 'getpcred.h'
fi
if test -f 'getsocket.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'getsocket.h'\"
else
echo shar: Extracting \"'getsocket.h'\" \(575 characters\)
sed "s/^X//" >'getsocket.h' <<'END_OF_FILE'
X#ifndef GETSOCKET_H
X#define GETSOCKET_H
X
X#define FSW_UNK 0
X#define FSW_INET 1
X#define FSW_UNIX 2
X
Xstruct socketbuf
X {
X  int socktype; char *strsockt;
X  int flagaccept; int flagreuse; int flaghead;
X  int family; char *famname; /* may be truncated to 30 chars */
X  int fsw;
X  union
X   {
X    struct {
X      int proto; char *strpro;
X      int r0; int r1; int r2; int r3; int rp;
X      int l0; int l1; int l2; int l3; int lp;
X     } inet;
X    struct { char *unpcb; char *node; char *conn; char path[108]; /* XXX: gag */
X     } un;
X   }
X  fu;
X }
X;
X
Xextern int getsocket();
X
X#endif
END_OF_FILE
if test 575 -ne `wc -c <'getsocket.h'`; then
    echo shar: \"'getsocket.h'\" unpacked with wrong size!
fi
# end of 'getsocket.h'
fi
if test -f 'getuser.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'getuser.h'\"
else
echo shar: Extracting \"'getuser.h'\" \(132 characters\)
sed "s/^X//" >'getuser.h' <<'END_OF_FILE'
X#ifndef GETUSER_H
X#define GETUSER_H
X
Xextern char *getuserstrerr();
Xextern int getuserinit();
Xextern struct user *getuser();
X
X#endif
END_OF_FILE
if test 132 -ne `wc -c <'getuser.h'`; then
    echo shar: \"'getuser.h'\" unpacked with wrong size!
fi
# end of 'getuser.h'
fi
if test -f 'getvmseg.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'getvmseg.h'\"
else
echo shar: Extracting \"'getvmseg.h'\" \(124 characters\)
sed "s/^X//" >'getvmseg.h' <<'END_OF_FILE'
X#ifndef GETVMSEG_H
X#define GETVMSEG_H
X
Xextern int vmsegmax;
Xextern struct vnode **getvmseg();
Xextern int seginit();
X
X#endif
END_OF_FILE
if test 124 -ne `wc -c <'getvmseg.h'`; then
    echo shar: \"'getvmseg.h'\" unpacked with wrong size!
fi
# end of 'getvmseg.h'
fi
if test -f 'groupname.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'groupname.h'\"
else
echo shar: Extracting \"'groupname.h'\" \(105 characters\)
sed "s/^X//" >'groupname.h' <<'END_OF_FILE'
X#ifndef GROUPNAME_H
X#define GROUPNAME_H
X
Xextern int gid2groupname();
Xextern int groupname2gid();
X
X#endif
END_OF_FILE
if test 105 -ne `wc -c <'groupname.h'`; then
    echo shar: \"'groupname.h'\" unpacked with wrong size!
fi
# end of 'groupname.h'
fi
if test -f 'inpcblist.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'inpcblist.h'\"
else
echo shar: Extracting \"'inpcblist.h'\" \(203 characters\)
sed "s/^X//" >'inpcblist.h' <<'END_OF_FILE'
X#ifndef INPCBLIST_H
X#define INPCBLIST_H
X
Xextern int inperrno; /*XXX*/
Xextern char *inpcbliststrerr();
Xextern struct inpcb *inpcbloc;
Xextern int inpcblistinit();
Xextern struct inpcb *nextinpcb();
X
X#endif
END_OF_FILE
if test 203 -ne `wc -c <'inpcblist.h'`; then
    echo shar: \"'inpcblist.h'\" unpacked with wrong size!
fi
# end of 'inpcblist.h'
fi
if test -f 'kmem.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'kmem.h'\"
else
echo shar: Extracting \"'kmem.h'\" \(111 characters\)
sed "s/^X//" >'kmem.h' <<'END_OF_FILE'
X#ifndef KMEM_H
X#define KMEM_H
X
Xextern char *kmemstrerr();
Xextern int kmeminit();
Xextern int kmemcpy();
X
X#endif
END_OF_FILE
if test 111 -ne `wc -c <'kmem.h'`; then
    echo shar: \"'kmem.h'\" unpacked with wrong size!
fi
# end of 'kmem.h'
fi
if test -f 'mallocfree.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'mallocfree.h'\"
else
echo shar: Extracting \"'mallocfree.h'\" \(245 characters\)
sed "s/^X//" >'mallocfree.h' <<'END_OF_FILE'
X#ifndef MALLOCFREE_H
X#define MALLOCFREE_H
X
X#include "confmalloc.h"
X#include "conffree.h"
X
X#ifdef VOID_MALLOC
Xextern void *malloc();
X#else
Xextern char *malloc();
X#endif
X#ifdef VOID_FREE
Xextern void free();
X#else
Xextern int free();
X#endif
X
X#endif
END_OF_FILE
if test 245 -ne `wc -c <'mallocfree.h'`; then
    echo shar: \"'mallocfree.h'\" unpacked with wrong size!
fi
# end of 'mallocfree.h'
fi
if test -f 'mmem.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'mmem.h'\"
else
echo shar: Extracting \"'mmem.h'\" \(111 characters\)
sed "s/^X//" >'mmem.h' <<'END_OF_FILE'
X#ifndef MMEM_H
X#define MMEM_H
X
Xextern char *mmemstrerr();
Xextern int mmeminit();
Xextern int mmemcpy();
X
X#endif
END_OF_FILE
if test 111 -ne `wc -c <'mmem.h'`; then
    echo shar: \"'mmem.h'\" unpacked with wrong size!
fi
# end of 'mmem.h'
fi
if test -f 'mntops.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'mntops.h'\"
else
echo shar: Extracting \"'mntops.h'\" \(503 characters\)
sed "s/^X//" >'mntops.h' <<'END_OF_FILE'
X#ifndef MNTOPS_H
X#define MNTOPS_H
X
X#include <sys/types.h>
X#include "structmtab.h" /* for MNTMAXSTR */
X
Xstruct mounted
X {
X  char *mountpoint;
X  char *filesystem;
X }
X;
X
Xstruct statlist
X {
X  struct statlist *next;
X  char filename[MNTMAXSTR];
X  char fsname[MNTMAXSTR];
X  dev_t device;
X }
X;
X
Xextern struct statlist *stats;
X
Xextern int get_mntlist();
Xextern struct mounted *getmntname(); /* for directory or block dev name */
Xextern struct mounted *getmntfile(); /* for dev number (in struct stat) */
X
X#endif
END_OF_FILE
if test 503 -ne `wc -c <'mntops.h'`; then
    echo shar: \"'mntops.h'\" unpacked with wrong size!
fi
# end of 'mntops.h'
fi
if test -f 'netinp.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'netinp.h'\"
else
echo shar: Extracting \"'netinp.h'\" \(124 characters\)
sed "s/^X//" >'netinp.h' <<'END_OF_FILE'
X#ifndef NETINP_H
X#define NETINP_H
X
Xextern char *inploc;
Xextern int netinpinit();
Xextern struct inpcb *nextnetinp();
X
X#endif
END_OF_FILE
if test 124 -ne `wc -c <'netinp.h'`; then
    echo shar: \"'netinp.h'\" unpacked with wrong size!
fi
# end of 'netinp.h'
fi
if test -f 'nlistlist.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'nlistlist.h'\"
else
echo shar: Extracting \"'nlistlist.h'\" \(149 characters\)
sed "s/^X//" >'nlistlist.h' <<'END_OF_FILE'
X#ifndef NLISTLIST_H
X#define NLISTLIST_H
X
Xextern char *nlistnotin();
Xextern char *nliststrerr();
Xextern int nlistadd();
Xextern int nlistdo();
X
X#endif
END_OF_FILE
if test 149 -ne `wc -c <'nlistlist.h'`; then
    echo shar: \"'nlistlist.h'\" unpacked with wrong size!
fi
# end of 'nlistlist.h'
fi
if test -f 'numeric.c' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'numeric.c'\"
else
echo shar: Extracting \"'numeric.c'\" \(422 characters\)
sed "s/^X//" >'numeric.c' <<'END_OF_FILE'
X/* History:
X5/1/91 DJB baseline public domain
X*/
X
X/*
X
Xint numeric(s) char *s; returns 1 if s is entirely composed of the
Xdigits 0 through 9, 0 otherwise.
X
X*/
X
X#include "numeric.h"
X
Xint numeric(s)
Xchar *s;
X{
X while (*s)
X  {
X   if ((*s != '0') && (*s != '1') && (*s != '2') && (*s != '3') && (*s != '4')
X    && (*s != '5') && (*s != '6') && (*s != '7') && (*s != '8') && (*s != '9'))
X     return 0;
X   ++s;
X  }
X return 1;
X}
END_OF_FILE
if test 422 -ne `wc -c <'numeric.c'`; then
    echo shar: \"'numeric.c'\" unpacked with wrong size!
fi
# end of 'numeric.c'
fi
if test -f 'numeric.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'numeric.h'\"
else
echo shar: Extracting \"'numeric.h'\" \(67 characters\)
sed "s/^X//" >'numeric.h' <<'END_OF_FILE'
X#ifndef NUMERIC_H
X#define NUMERIC_H
X
Xextern int numeric();
X
X#endif
END_OF_FILE
if test 67 -ne `wc -c <'numeric.h'`; then
    echo shar: \"'numeric.h'\" unpacked with wrong size!
fi
# end of 'numeric.h'
fi
if test -f 'portname.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'portname.h'\"
else
echo shar: Extracting \"'portname.h'\" \(103 characters\)
sed "s/^X//" >'portname.h' <<'END_OF_FILE'
X#ifndef PORTNAME_H
X#define PORTNAME_H
X
Xextern int port2portname();
Xextern int portname2port();
X
X#endif
END_OF_FILE
if test 103 -ne `wc -c <'portname.h'`; then
    echo shar: \"'portname.h'\" unpacked with wrong size!
fi
# end of 'portname.h'
fi
if test -f 'printfamily.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'printfamily.h'\"
else
echo shar: Extracting \"'printfamily.h'\" \(81 characters\)
sed "s/^X//" >'printfamily.h' <<'END_OF_FILE'
X#ifndef PRINTFAMILY_H
X#define PRINTFAMILY_H
X
Xextern char *printfamily();
X
X#endif
END_OF_FILE
if test 81 -ne `wc -c <'printfamily.h'`; then
    echo shar: \"'printfamily.h'\" unpacked with wrong size!
fi
# end of 'printfamily.h'
fi
if test -f 'printfflag.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'printfflag.h'\"
else
echo shar: Extracting \"'printfflag.h'\" \(303 characters\)
sed "s/^X//" >'printfflag.h' <<'END_OF_FILE'
X#ifndef PRINTFFLAG_H
X#define PRINTFFLAG_H
X
Xextern char *printfflag();
X/* printfflag(f,0) produces rwa */
X/*                          wn */
X/* printfflag(f,1) produces rwa     */
X/*                          wn      */
X/* printfflag(f,2) produces rw a    */
X/*                           wn     */
X
X#endif
END_OF_FILE
if test 303 -ne `wc -c <'printfflag.h'`; then
    echo shar: \"'printfflag.h'\" unpacked with wrong size!
fi
# end of 'printfflag.h'
fi
if test -f 'printftype.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'printftype.h'\"
else
echo shar: Extracting \"'printftype.h'\" \(78 characters\)
sed "s/^X//" >'printftype.h' <<'END_OF_FILE'
X#ifndef PRINTFTYPE_H
X#define PRINTFTYPE_H
X
Xextern char *printftype();
X
X#endif
END_OF_FILE
if test 78 -ne `wc -c <'printftype.h'`; then
    echo shar: \"'printftype.h'\" unpacked with wrong size!
fi
# end of 'printftype.h'
fi
if test -f 'printprotoinet.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'printprotoinet.h'\"
else
echo shar: Extracting \"'printprotoinet.h'\" \(90 characters\)
sed "s/^X//" >'printprotoinet.h' <<'END_OF_FILE'
X#ifndef PRINTPROTOINET_H
X#define PRINTPROTOINET_H
X
Xextern char *printprotoinet();
X
X#endif
END_OF_FILE
if test 90 -ne `wc -c <'printprotoinet.h'`; then
    echo shar: \"'printprotoinet.h'\" unpacked with wrong size!
fi
# end of 'printprotoinet.h'
fi
if test -f 'printpstat.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'printpstat.h'\"
else
echo shar: Extracting \"'printpstat.h'\" \(78 characters\)
sed "s/^X//" >'printpstat.h' <<'END_OF_FILE'
X#ifndef PRINTPSTAT_H
X#define PRINTPSTAT_H
X
Xextern char *printpstat();
X
X#endif
END_OF_FILE
if test 78 -ne `wc -c <'printpstat.h'`; then
    echo shar: \"'printpstat.h'\" unpacked with wrong size!
fi
# end of 'printpstat.h'
fi
if test -f 'printrlimits.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'printrlimits.h'\"
else
echo shar: Extracting \"'printrlimits.h'\" \(84 characters\)
sed "s/^X//" >'printrlimits.h' <<'END_OF_FILE'
X#ifndef PRINTRLIMITS_H
X#define PRINTRLIMITS_H
X
Xextern char *printrlimits();
X
X#endif
END_OF_FILE
if test 84 -ne `wc -c <'printrlimits.h'`; then
    echo shar: \"'printrlimits.h'\" unpacked with wrong size!
fi
# end of 'printrlimits.h'
fi
if test -f 'printrusage.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'printrusage.h'\"
else
echo shar: Extracting \"'printrusage.h'\" \(81 characters\)
sed "s/^X//" >'printrusage.h' <<'END_OF_FILE'
X#ifndef PRINTRUSAGE_H
X#define PRINTRUSAGE_H
X
Xextern char *printrusage();
X
X#endif
END_OF_FILE
if test 81 -ne `wc -c <'printrusage.h'`; then
    echo shar: \"'printrusage.h'\" unpacked with wrong size!
fi
# end of 'printrusage.h'
fi
if test -f 'printsocktype.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'printsocktype.h'\"
else
echo shar: Extracting \"'printsocktype.h'\" \(87 characters\)
sed "s/^X//" >'printsocktype.h' <<'END_OF_FILE'
X#ifndef PRINTSOCKTYPE_H
X#define PRINTSOCKTYPE_H
X
Xextern char *printsocktype();
X
X#endif
END_OF_FILE
if test 87 -ne `wc -c <'printsocktype.h'`; then
    echo shar: \"'printsocktype.h'\" unpacked with wrong size!
fi
# end of 'printsocktype.h'
fi
if test -f 'printucred.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'printucred.h'\"
else
echo shar: Extracting \"'printucred.h'\" \(78 characters\)
sed "s/^X//" >'printucred.h' <<'END_OF_FILE'
X#ifndef PRINTUCRED_H
X#define PRINTUCRED_H
X
Xextern char *printucred();
X
X#endif
END_OF_FILE
if test 78 -ne `wc -c <'printucred.h'`; then
    echo shar: \"'printucred.h'\" unpacked with wrong size!
fi
# end of 'printucred.h'
fi
if test -f 'proctable.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'proctable.h'\"
else
echo shar: Extracting \"'proctable.h'\" \(193 characters\)
sed "s/^X//" >'proctable.h' <<'END_OF_FILE'
X#ifndef PROCTABLE_H
X#define PROCTABLE_H
X
Xextern char *proctablestrerr();
Xextern struct proc *myproc;
Xextern int mynproc;
Xextern int proctableinit();
Xextern struct proc *getproctable();
X
X#endif
END_OF_FILE
if test 193 -ne `wc -c <'proctable.h'`; then
    echo shar: \"'proctable.h'\" unpacked with wrong size!
fi
# end of 'proctable.h'
fi
if test -f 'revnamei.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'revnamei.h'\"
else
echo shar: Extracting \"'revnamei.h'\" \(0 characters\)
sed "s/^X//" >'revnamei.h' <<'END_OF_FILE'
END_OF_FILE
if test 0 -ne `wc -c <'revnamei.h'`; then
    echo shar: \"'revnamei.h'\" unpacked with wrong size!
fi
# end of 'revnamei.h'
fi
if test -f 'smem.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'smem.h'\"
else
echo shar: Extracting \"'smem.h'\" \(111 characters\)
sed "s/^X//" >'smem.h' <<'END_OF_FILE'
X#ifndef SMEM_H
X#define SMEM_H
X
Xextern char *smemstrerr();
Xextern int smeminit();
Xextern int smemcpy();
X
X#endif
END_OF_FILE
if test 111 -ne `wc -c <'smem.h'`; then
    echo shar: \"'smem.h'\" unpacked with wrong size!
fi
# end of 'smem.h'
fi
if test -f 'stattimeout.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'stattimeout.h'\"
else
echo shar: Extracting \"'stattimeout.h'\" \(79 characters\)
sed "s/^X//" >'stattimeout.h' <<'END_OF_FILE'
X#ifndef STATTIMEOUT_H
X#define STATTIMEOUT_H
X
Xextern int stattimeout();
X
X#endif
END_OF_FILE
if test 79 -ne `wc -c <'stattimeout.h'`; then
    echo shar: \"'stattimeout.h'\" unpacked with wrong size!
fi
# end of 'stattimeout.h'
fi
if test -f 'strerr.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'strerr.h'\"
else
echo shar: Extracting \"'strerr.h'\" \(450 characters\)
sed "s/^X//" >'strerr.h' <<'END_OF_FILE'
X#ifndef STRERR_H
X#define STRERR_H
X
Xtypedef char *(*strerrfun)();
X  /* Note that you'd need to use structs to prototype this. */
Xstruct strerrtab
X {
X  int err;
X  char *s;
X  strerrfun next;
X }
X;
X
Xextern char *strerrsys();
Xextern char *strerrno();
Xextern char *strerr();
Xextern char *strerrtaberr();
Xextern char *strerrstr();
X
X/* REturn setting ERror Number */
X/* err must be lvalue */
X#define RETERN(ret,err,no) { (err) = (no); return (ret); }
X
X#endif
END_OF_FILE
if test 450 -ne `wc -c <'strerr.h'`; then
    echo shar: \"'strerr.h'\" unpacked with wrong size!
fi
# end of 'strerr.h'
fi
if test -f 'structmbuf.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'structmbuf.h'\"
else
echo shar: Extracting \"'structmbuf.h'\" \(96 characters\)
sed "s/^X//" >'structmbuf.h' <<'END_OF_FILE'
X#ifndef STRUCT_MBUF_H
X#define STRUCT_MBUF_H
X
X#ifndef MSIZE
X#include <sys/mbuf.h>
X#endif
X
X#endif
END_OF_FILE
if test 96 -ne `wc -c <'structmbuf.h'`; then
    echo shar: \"'structmbuf.h'\" unpacked with wrong size!
fi
# end of 'structmbuf.h'
fi
if test -f 'structproc.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'structproc.h'\"
else
echo shar: Extracting \"'structproc.h'\" \(333 characters\)
sed "s/^X//" >'structproc.h' <<'END_OF_FILE'
X#ifndef STRUCT_PROC_H
X#define STRUCT_PROC_H
X
X/* On an optimal system, this file would contain solely: */
X/* #include <sys/proc.h> */
X
X#include <sys/types.h>
X#include <sys/param.h>
X#ifndef ITIMER_REAL
X#include <sys/time.h>
X#endif
X#include <sys/proc.h>
X#include "confhavepsuid.h"
X#ifndef HAVE_PSUID
X#define p_suid p_uid
X#endif
X
X#endif
END_OF_FILE
if test 333 -ne `wc -c <'structproc.h'`; then
    echo shar: \"'structproc.h'\" unpacked with wrong size!
fi
# end of 'structproc.h'
fi
if test -f 'structprotosw.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'structprotosw.h'\"
else
echo shar: Extracting \"'structprotosw.h'\" \(153 characters\)
sed "s/^X//" >'structprotosw.h' <<'END_OF_FILE'
X#ifndef STRUCT_PROTOSW_H
X#define STRUCT_PROTOSW_H
X
X#include "confdomain.h"
X#ifdef DOMAIN
X#include <sys/domain.h>
X#endif
X#include <sys/protosw.h>
X
X#endif
END_OF_FILE
if test 153 -ne `wc -c <'structprotosw.h'`; then
    echo shar: \"'structprotosw.h'\" unpacked with wrong size!
fi
# end of 'structprotosw.h'
fi
if test -f 'structsockaddrin.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'structsockaddrin.h'\"
else
echo shar: Extracting \"'structsockaddrin.h'\" \(283 characters\)
sed "s/^X//" >'structsockaddrin.h' <<'END_OF_FILE'
X#ifndef STRUCT_SOCKADDR_IN_H
X#define STRUCT_SOCKADDR_IN_H
X
X/* On an optimal system, this file would contain solely: */
X/* #include <netinet/in.h> */
X
X#include <sys/types.h>
X#ifndef SOCK_STREAM
X#include <sys/socket.h>
X#endif
X#ifndef IPPROTO_TCP
X#include <netinet/in.h>
X#endif
X
X#endif
END_OF_FILE
if test 283 -ne `wc -c <'structsockaddrin.h'`; then
    echo shar: \"'structsockaddrin.h'\" unpacked with wrong size!
fi
# end of 'structsockaddrin.h'
fi
if test -f 'structsocket.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'structsocket.h'\"
else
echo shar: Extracting \"'structsocket.h'\" \(406 characters\)
sed "s/^X//" >'structsocket.h' <<'END_OF_FILE'
X#ifndef STRUCT_SOCKET_H
X#define STRUCT_SOCKET_H
X
X/* On an optimal system, this file would contain solely: */
X/* #include <sys/socketvar.h> */
X
X#include <sys/types.h>
X#include "confsocketneedsxnode.h"
X#ifdef SOCKETNEEDSXNODE
X#include "structxnode.h" /* easier than copying */
X#endif
X#ifndef SOCK_STREAM
X#include <sys/socket.h>
X#endif
X#ifndef SS_ISCONNECTED /*XXX*/
X#include <sys/socketvar.h>
X#endif
X
X#endif
END_OF_FILE
if test 406 -ne `wc -c <'structsocket.h'`; then
    echo shar: \"'structsocket.h'\" unpacked with wrong size!
fi
# end of 'structsocket.h'
fi
if test -f 'structtcp.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'structtcp.h'\"
else
echo shar: Extracting \"'structtcp.h'\" \(261 characters\)
sed "s/^X//" >'structtcp.h' <<'END_OF_FILE'
X#ifndef STRUCT_TCP_H
X#define STRUCT_TCP_H
X
X/* On an optimal system, this file would contain solely: */
X/* #include <netinet/tcp_var.h> */
X
X#include <netinet/tcp.h>
X#include <netinet/tcp_fsm.h>
X#include <netinet/tcp_timer.h>
X#include <netinet/tcp_var.h>
X
X#endif
END_OF_FILE
if test 261 -ne `wc -c <'structtcp.h'`; then
    echo shar: \"'structtcp.h'\" unpacked with wrong size!
fi
# end of 'structtcp.h'
fi
if test -f 'structtext.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'structtext.h'\"
else
echo shar: Extracting \"'structtext.h'\" \(368 characters\)
sed "s/^X//" >'structtext.h' <<'END_OF_FILE'
X#ifndef STRUCT_TEXT_H
X#define STRUCT_TEXT_H
X
X#include "conftext.h"
X#include "confregion.h"
X#include "conftextneedsvmparam.h"
X
X#include <sys/types.h>
X#ifdef TEXTNEEDSVMPARAM
X#include <sys/vmparam.h>
X#endif
X#ifdef TEXT
X#include <sys/text.h>
X#endif
X#ifdef REGION
X#include <machine/vmparam.h>
X#include <sys/region.h> /*XXX*/
X#include <sys/vspace.h> /*XXX*/
X#endif
X
X#endif
END_OF_FILE
if test 368 -ne `wc -c <'structtext.h'`; then
    echo shar: \"'structtext.h'\" unpacked with wrong size!
fi
# end of 'structtext.h'
fi
if test -f 'structucred.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'structucred.h'\"
else
echo shar: Extracting \"'structucred.h'\" \(437 characters\)
sed "s/^X//" >'structucred.h' <<'END_OF_FILE'
X#ifndef STRUCT_UCRED_H
X#define STRUCT_UCRED_H
X
X/* On an optimal system, this file would contain solely: */
X/* #include <sys/user.h> */
X
X#include "structuser.h"
X#include "confsysucred.h"
X#include "confhaveucred.h"
X#ifdef HAVE_UCRED
X#ifdef SYSUCRED
X#include <sys/ucred.h> /* dorks */
X#endif
X#else
X/* XXX: If the system doesn't support ucreds, some operations on them
X   won't make sense. */
Xstruct ucred
X {
X  long uid;
X }
X;
X#endif
X
X#endif
END_OF_FILE
if test 437 -ne `wc -c <'structucred.h'`; then
    echo shar: \"'structucred.h'\" unpacked with wrong size!
fi
# end of 'structucred.h'
fi
if test -f 'structunpcb.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'structunpcb.h'\"
else
echo shar: Extracting \"'structunpcb.h'\" \(218 characters\)
sed "s/^X//" >'structunpcb.h' <<'END_OF_FILE'
X#ifndef STRUCT_UNPCB_H
X#define STRUCT_UNPCB_H
X
X#include <sys/types.h>
X#include <sys/unpcb.h> /* XXX: any way to bracket this? */
X#include "confnounpaddr.h"
X#ifdef NO_UNPADDR
X#define unp_addr unp_remaddr
X#endif
X
X#endif
END_OF_FILE
if test 218 -ne `wc -c <'structunpcb.h'`; then
    echo shar: \"'structunpcb.h'\" unpacked with wrong size!
fi
# end of 'structunpcb.h'
fi
if test -f 'structuser.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'structuser.h'\"
else
echo shar: Extracting \"'structuser.h'\" \(231 characters\)
sed "s/^X//" >'structuser.h' <<'END_OF_FILE'
X#ifndef STRUCT_USER_H
X#define STRUCT_USER_H
X
X/* On an optimal system, this file would contain solely: */
X/* #include <sys/user.h> */
X
X#include <sys/types.h>
X#include <sys/param.h>
X#include <sys/dir.h>
X#include <sys/user.h>
X
X#endif
END_OF_FILE
if test 231 -ne `wc -c <'structuser.h'`; then
    echo shar: \"'structuser.h'\" unpacked with wrong size!
fi
# end of 'structuser.h'
fi
if test -f 'username.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'username.h'\"
else
echo shar: Extracting \"'username.h'\" \(101 characters\)
sed "s/^X//" >'username.h' <<'END_OF_FILE'
X#ifndef USERNAME_H
X#define USERNAME_H
X
Xextern int uid2username();
Xextern int username2uid();
X
X#endif
END_OF_FILE
if test 101 -ne `wc -c <'username.h'`; then
    echo shar: \"'username.h'\" unpacked with wrong size!
fi
# end of 'username.h'
fi
if test -f 'virtype.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'virtype.h'\"
else
echo shar: Extracting \"'virtype.h'\" \(244 characters\)
sed "s/^X//" >'virtype.h' <<'END_OF_FILE'
X#ifndef VIRTYPE_H
X#define VIRTYPE_H
X
X#include "confvtype.h"
X#include "confrtype.h"
X#include "confitype.h"
X
X#ifdef V_TYPE
Xextern char *vtype();
X#endif
X#ifdef R_TYPE
Xextern char *rtype();
X#endif
X#ifdef I_TYPE
Xextern char *itype();
X#endif
X
X#endif
END_OF_FILE
if test 244 -ne `wc -c <'virtype.h'`; then
    echo shar: \"'virtype.h'\" unpacked with wrong size!
fi
# end of 'virtype.h'
fi
if test -f 'vmstuff.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'vmstuff.h'\"
else
echo shar: Extracting \"'vmstuff.h'\" \(346 characters\)
sed "s/^X//" >'vmstuff.h' <<'END_OF_FILE'
X#ifndef VMSTUFF_H
X#define VMSTUFF_H
X
X/* XXX: This file isn't particularly logical. Hence the name. */
X
X#include <sys/types.h>
X#include "confhavevmseg.h"
X
X#ifdef HAVE_VMSEG
X#include <vm/hat.h>
X#include <vm/as.h>
X#include <vm/seg.h>
X#include <vm/seg_vn.h>
X#include <vm/seg_dev.h>
X#include <vm/seg_map.h>
X#else
X#include <sys/vmmac.h>
X#endif
X
X#endif
END_OF_FILE
if test 346 -ne `wc -c <'vmstuff.h'`; then
    echo shar: \"'vmstuff.h'\" unpacked with wrong size!
fi
# end of 'vmstuff.h'
fi
echo shar: End of archive 1 \(of 6\).
cp /dev/null ark1isdone
MISSING=""
for I in 1 2 3 4 5 6 ; do
    if test ! -f ark${I}isdone ; then
	MISSING="${MISSING} ${I}"
    fi
done
if test "${MISSING}" = "" ; then
    echo You have unpacked all 6 archives.
    rm -f ark[1-9]isdone
else
    echo You still need to unpack the following archives:
    echo "        " ${MISSING}
fi
##  End of shell archive.
exit 0



More information about the Alt.sources mailing list