New in version 2.0
The installation process has been completely revamped
for version 2.0. di now uses dist 3.0PL70 (metaconfig)
to do its configuration. Some of the platforms that were
ported in the past may not configure properly as I don't
have access to all of the platforms to test on.
Duplicate filesystems (automounted) are not displayed.
This has only been tested on Solaris. It probably will
not work for Digital's (I guess it's Compaq Tru64 now)
avdfs.
Platforms
di 2.0 has been tested on the following platforms:
AIX 4.1.4.0, 4.3.0.0, 4.3.1.0 (egcs-1.1.1.1)
BSD/OS 2.1 (gcc 1.42)
FreeBSD 2.1.5 (gcc 2.6.3), 2.2.6 (gcc 2.7.2.1), 2.2.7 (gcc 2.7.2.1),
3.0 (gcc 2.7.2.1)
IRIX 6.2, 6.5
Linux 2.0.27 (gcc 2.7.2.1)
Linux 2.0.35 (gcc 2.7.2.3)
NetBSD 1.3.3
Solaris 2.5.1 (gcc 2.7.2.2), 7 (SC3.0.1), 7 (gcc 2.8.1)
HP/UX B.10.20
UNICOS 10.0.0.3
Windows95 (cygnus gcc B19)
di has been ported to the following systems in the past:
A/UX, AIX, BSDI 1.x & 2.x, Convex, Cray UNICOS 9 & 10,
Cray UNICOS/mk, FreeBSD 1.x and 2.x, HP/UX, Linux,
NetBSD 1.x, Next 3.x, OSF/1, Pyramid, SCO 3.2.2 & 3.2.4,
Sequent Dynix and PT/x, SGI Irix, Solaris, SunOS, Sys V.3,
Sys V.4, Ultrix, Windows, Xenix
-- Brad
Archive-name: di/Part01
Submitted-by: b...@gentoo.com
#! /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 3)."
# Contents: MANIFEST MANIFEST.shar Makefile.SH README config.win95
# config_h.SH configure di.1 getopt.c hints hints/aix.sh
# hints/dynix.sh hints/dynixptx.sh hints/freebsd_2.sh hints/hpux.sh
# hints/irix.sh hints/linux_1.sh hints/linux_2.sh hints/solaris.sh
# hints/unicos.sh win95.mak
# Wrapped by bin@seer on Thu Apr 15 17:19:32 1999
PATH=/bin:/usr/bin:/usr/ucb ; export PATH
if test -f 'MANIFEST' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'MANIFEST'\"
else
echo shar: Extracting \"'MANIFEST'\" \(470 characters\)
sed "s/^X//" >'MANIFEST' <<'END_OF_FILE'
Xdi.1 manual page
Xdi.c main program
Xgetopt.c getopt() routine
Xconfig.win95 config.h for win95
XREADME Read this
Xwin95.mak pre-built Makefile for win95
XConfigure Portability tool
Xconfigure GNU configure-like wrapper
XMakefile.SH Produces Makefile
Xconfig_h.SH Produces config.h
END_OF_FILE
if test 470 -ne `wc -c <'MANIFEST'`; then
echo shar: \"'MANIFEST'\" unpacked with wrong size!
fi
# end of 'MANIFEST'
fi
if test -f 'MANIFEST.shar' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'MANIFEST.shar'\"
else
echo shar: Extracting \"'MANIFEST.shar'\" \(1014 characters\)
sed "s/^X//" >'MANIFEST.shar' <<'END_OF_FILE'
X File Name Archive # Description
X-----------------------------------------------------------
X Configure 3 Configuration script
X MANIFEST 1 MANIFEST
X MANIFEST.shar 1 This shipping list
X Makefile.SH 1 Produces Makefile
X README 1 Read This
X config.win95 1 config.h for win95
X config_h.SH 1 Produces config.h
X configure 1 gnu-like front-end for Configure
X di.1 1 di Manual Page
X di.c 2 di source
X getopt.c 1 getopt source (from Cnews)
X hints 1
X hints/aix.sh 1
X hints/dynix.sh 1
X hints/dynixptx.sh 1
X hints/freebsd_2.sh 1
X hints/hpux.sh 1
X hints/irix.sh 1
X hints/linux_1.sh 1
X hints/linux_2.sh 1
X hints/solaris.sh 1
X hints/unicos.sh 1
X win95.mak 1 window95 makefile
END_OF_FILE
if test 1014 -ne `wc -c <'MANIFEST.shar'`; then
echo shar: \"'MANIFEST.shar'\" unpacked with wrong size!
fi
# end of 'MANIFEST.shar'
fi
if test -f 'Makefile.SH' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'Makefile.SH'\"
else
echo shar: Extracting \"'Makefile.SH'\" \(5233 characters\)
sed "s/^X//" >'Makefile.SH' <<'END_OF_FILE'
Xcase $CONFIG in
X'')
X if test -f config.sh; then TOP=.;
X elif test -f ../config.sh; then TOP=..;
X elif test -f ../../config.sh; then TOP=../..;
X elif test -f ../../../config.sh; then TOP=../../..;
X elif test -f ../../../../config.sh; then TOP=../../../..;
X else
X echo "Can't find config.sh."; exit 1
X fi
X . $TOP/config.sh
X ;;
Xesac
X: This forces SH files to create target in same directory as SH file.
X: This is so that make depend always knows where to find SH derivatives.
Xcase "$0" in
X*/*) cd `expr X$0 : 'X\(.*\)/'` ;;
Xesac
Xecho "Extracting Makefile (with variable substitutions)"
X$spitshell >Makefile <<!GROK!THIS!
X#
X# di makefile
X#
X# Copyright 1995-1999 Brad Lanam
X#
X# $Id: Makefile.SH,v 1.2 1999-04-15 17:01:46-07 bll Exp $
X# $Source: /home/bll/DI/RCS/Makefile.SH,v $
X# @(#)Makefile 1.25
X#
X#
X
XSHELL = $sh
XCC = $cc
XLD = $ld
X$make_set_make
XOBJ_EXT = $_o
XEXE_EXT = $_exe
X
X#
X# additional flags/libraries
X#
XCFLAGS = -DPROG=\\"\$(PROG)\\" -DMPROG=\\"\$(MPROG)\\" $ccflags $optimize
XLDFLAGS = $ldflags
XLIBS = $libs
X
X#
X# installation options
X#
XUSER = bin
XGROUP = bin
XPREFIX = $prefix
XINSTDIR = \$(PREFIX)/bin
XPROG = $di_prog
XMPROG = mi
XTARGET = \$(INSTDIR)/\$(PROG)
XMTARGET = \$(INSTDIR)/\$(MPROG)
XINSTPERM = 111 # change USER to bin also...
X#INSTPERM = 4111 # install suid if your system has a mount table only root
X# can read. For SysV.4 and Solaris, the mount command may
X# reset the permissions of /etc/mnttab.
X
X#
X# simple man page installation
X#
XMANDIR = $mansrcexp
XMANTARGET = "\$(PROG).$manext"
XMANPERM = 444
XMANUSER = bin
XMANGRP = bin
X
X#
X# common programs
X#
XLN = $ln
XRM = $rm
XCP = $cp
XMV = $mv
XTEST = $test
XCHOWN = $chown
XCHGRP = $chgrp
XCHMOD = $chmod
XTOUCH = $touch
X
X###
X
XOTHEROBJ = $di_otherobj
X
X###
X
Xall: \$(PROG)\$(EXE_EXT)
X
X# This was tested using vc++ 5.0.
Xwindows:
X \$(MAKE) CC=cl LD=cl EXE_EXT=".exe" OBJ_EXT=".obj" \\
X CFLAGS="\$(CFLAGS) -nologo -O2 \\
X OTHEROBJ="getopt.obj" \\
X -DI_STDLIB -DI_SYS_TYPES -DI_TIME -DI_WINDOWS \\
X -DI_GETDISKFREESPACE \\
X -DDEFAULT_FORMAT=\\\\\\"sMbuvpT\\\\\\"" \\
X LDFLAGS="-nologo -O2" \$(PROG).exe
X
X# This was tested using Cygnus gcc b19
Xwindows-gcc:
X \$(MAKE) CC=gcc LD=gcc EXE_EXT=".exe" OBJ_EXT=".o" \\
X CFLAGS="\$(CFLAGS) -g -O2 \\
X OTHEROBJ="getopt.o" \\
X -DI_STDLIB -DI_SYS_TYPES -DI_TIME -DI_WINDOWS \\
X -DI_GETDISKFREESPACE \\
X -DDEFAULT_FORMAT=\\\\\\"sMbuvpT\\\\\\"" \\
X LDFLAGS="-g -O2" \$(PROG).exe
X
X####################
X
Xall: \$(PROG)\$(EXE_EXT)
X -\$(LN) -f \$(PROG)\$(EXE_EXT) \$(MPROG)\$(EXE_EXT)
X
Xclean:
X -\$(RM) -rf \$(PROG)\$(EXE_EXT) \$(MPROG)\$(EXE_EXT) *.o *.obj \\
X UU >/dev/null 2>&1
X
Xdistclean:
X -\$(RM) -rf config.h config.sh Makefile \$(PROG)\$(EXE_EXT) \\
X \$(MPROG)\$(EXE_EXT) di\$(EXE_EXT) diskinfo\$(EXE_EXT) \\
X *.o *.obj UU Wanted Obsolete >/dev/null 2>&1
X
Xrealclean:
X \$(MAKE) distclean
X
Xinstall:
X -\$(TEST) -f \$(TARGET) && \$(MV) \$(TARGET) \$(TARGET).old
X \$(CP) -f \$(PROG) \$(TARGET)
X -\$(LN) -f \$(TARGET) \$(MTARGET)
X \$(CHOWN) \$(USER) \$(TARGET)
X \$(CHGRP) \$(GROUP) \$(TARGET)
X \$(CHMOD) \$(INSTPERM) \$(TARGET)
X
Xinstallman:
Xinstall-man:
Xinstall.man:
X \$(CP) -f di.1 \$(MANDIR)/\$(MANTARGET)
X \$(CHOWN) \$(MANUSER) \$(MANDIR)/\$(MANTARGET)
X \$(CHGRP) \$(MANGRP) \$(MANDIR)/\$(MANTARGET)
X \$(CHMOD) \$(MANPERM) \$(MANDIR)/\$(MANTARGET)
X
X###
X
Xtar: MANIFEST README di.1 di.c getopt.c Makefile.SH configure \\
X Configure config_h.SH hints \\
X config.win95 win95.mak
X \$(SHELL) mktar.sh \$?
X
Xshar: di.shar
X
XMANIFEST.shar:
X echo "" > MANIFEST.shar
X echo "" >> MANIFEST.shar
X echo "README 1 Read This" >> MANIFEST.shar
X echo "MANIFEST 1 MANIFEST" >> MANIFEST.shar
X echo "di.1 1 di Manual Page" >> MANIFEST.shar
X echo "di.c 1 di source" >> MANIFEST.shar
X echo "getopt.c 1 getopt source (from Cnews)" >> MANIFEST.shar
X echo "Configure 1 Configuration script" >> MANIFEST.shar
X echo "configure 1 gnu-like front-end for Configure" >> MANIFEST.shar
X echo "config_h.SH 1 Produces config.h" >> MANIFEST.shar
X echo "config.win95 1 config.h for win95" >> MANIFEST.shar
X echo "Makefile.SH 1 Produces Makefile" >> MANIFEST.shar
X echo "win95.mak 1 window95 makefile" >> MANIFEST.shar
X echo "hints 1" >> MANIFEST.shar
X echo "hints/aix.sh 1" >> MANIFEST.shar
X echo "hints/freebsd_2.sh 1" >> MANIFEST.shar
X echo "hints/hpux.sh 1" >> MANIFEST.shar
X echo "hints/linux_1.sh 1" >> MANIFEST.shar
X echo "hints/linux_2.sh 1" >> MANIFEST.shar
X echo "hints/dynix.sh 1" >> MANIFEST.shar
X echo "hints/dynixptx.sh 1" >> MANIFEST.shar
X echo "hints/irix.sh 1" >> MANIFEST.shar
X echo "hints/solaris.sh 1" >> MANIFEST.shar
X echo "hints/unicos.sh 1" >> MANIFEST.shar
X
Xdi.shar: Configure configure config.win95 \\
X config_h.SH di.1 di.c getopt.c Makefile.SH \\
X README win95.mak MANIFEST
X -\$(RM) -f di.shar Part??
X \$(MAKE) MANIFEST.shar
X makekit -i MANIFEST.shar -o MANIFEST.shar -s120k
X -@\$(RM) -f *.BAK MANIFEST.shar > /dev/null 2>&1
X \$(SHELL) setname.sh
X \$(TOUCH) di.shar
X
X###
X
X\$(PROG)\$(EXE_EXT): di\$(OBJ_EXT) \$(OTHEROBJ)
X \$(CC) \$(CFLAGS) \$(LDFLAGS) -o \$(PROG)\$(EXE_EXT) di\$(OBJ_EXT) \\
X \$(OTHEROBJ) \$(LIBS)
X
X###
X
Xdi\$(OBJ_EXT): di.c config.h
X \$(CC) -c \$(CFLAGS) di.c
X
Xgetopt\$(OBJ_EXT): getopt.c
X \$(CC) -c \$(CFLAGS) getopt.c
X
X
X!GROK!THIS!
X
Xchmod 755 Makefile
X$eunicefix Makefile
END_OF_FILE
if test 5233 -ne `wc -c <'Makefile.SH'`; then
echo shar: \"'Makefile.SH'\" unpacked with wrong size!
fi
chmod +x 'Makefile.SH'
# end of 'Makefile.SH'
fi
if test -f 'README' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'README'\"
else
echo shar: Extracting \"'README'\" \(8105 characters\)
sed "s/^X//" >'README' <<'END_OF_FILE'
Xdi - disk information utility (version 2.0).
X
XDESCRIPTION
X
X 'di' is a disk information utility, displaying everything
X (and more) that your 'df' command does. It features the
X ability to display your disk usage in whatever format you
X desire/prefer/are used to. It is designed to be portable
X across many platforms.
X
XINSTALLATION
X
X The installation process has been completely revamped
X for version 2.0. di now uses dist 3.0PL70 to do its
X configuration.
X
X First, run Configure:
X
X ./Configure -d -s -e # non-interactive
X ./Configure -d -s -e -Dcc=gcc # non-interactive, and you want to use gcc
X ./Configure # interactive
X
X Some systems (Sys V variants) only allow root to read the
X mount table. If this is the case, change the INSTPERM macro
X in the Makefile should be set to 4111, and the USER macro to root.
X In SysV.4 and Solaris, the mount command would reset the
X permissions to be root readable only (fixed in Solaris 7).
X
X Then, do your make:
X
X make
X
X And install:
X
X AIX versions prior to 4.3 had a 'di' command. di is installed
X as 'diskinfo' instead for these AIX versions.
X
X make install
X
X To install the manual pages:
X
X make install.man
X
X Windows installation:
X
X Cygnus gcc: make -f win95.mak windows-gcc
X MS VC++: nmake -f win95.mak windows
X
XPORTING
X
X di 2.0 has been tested on the following platforms:
X
X AIX 4.1.4.0, 4.3.0.0, 4.3.1.0 (egcs-1.1.1.1)
X BSD/OS 2.1 (gcc 1.42)
X FreeBSD 2.1.5 (gcc 2.6.3), 2.2.6 (gcc 2.7.2.1), 2.2.7 (gcc 2.7.2.1),
X 3.0 (gcc 2.7.2.1)
X IRIX 6.2, 6.5
X Linux 2.0.27 (gcc 2.7.2.1)
X Linux 2.0.35 (gcc 2.7.2.3)
X NetBSD 1.3.3
X Solaris 2.5.1 (gcc 2.7.2.2), 7 (SC3.0.1), 7 (gcc 2.8.1)
X HP/UX B.10.20
X UNICOS 10.0.0.3
X Windows95 (cygnus gcc B19)
X
X di has been ported to the following systems in the past:
X
X A/UX, AIX, BSDI 1.x & 2.x, Convex, Cray UNICOS 9 & 10,
X Cray UNICOS/mk, FreeBSD 1.x and 2.x, HP/UX, Linux,
X NetBSD 1.x, Next 3.x, OSF/1, Pyramid, SCO 3.2.2 & 3.2.4,
X Sequent Dynix and PT/x, SGI Irix, Solaris, SunOS, Sys V.3,
X Sys V.4, Ultrix, Windows, Xenix
X
X Due to the revamped configuration process, some of these systems
X may not be properly configured as I don't have access to all of the
X platforms to test on.
X
X If you have large partitions, you may want to change the width
X for the printed block values in di.c, and the default format string.
X
XBUGS
X
X Solaris 2.6 has a bug in the kernel and reports the reserved
X space incorrectly. There is a kernel patch available (105572-05?).
X
X Send bug reports along with the output from 'di -A -x 2' and the
X output from your standard df command (as verbose as possible) to:
X
X b...@gentoo.com
X
X If the Configure script doesn't set up the 'config.h' file
X correctly, please let me know. E-mail me the incorrect (and
X corrected if possible) config.h file, and any other information
X as appropriate. The goal is to be able to run Configure in
X non-interactive mode for any system.
X
XCHANGES
X
X 2.0
X Now uses dist 3.0PL70 for configuration.
X Duplicate filesystems (automounted) are not displayed.
X This probably does not work for Digital's advfs.
X 1.24
X Added Windows w/gcc.
X The Solaris 2.6 statvfs() bug has a patch out for it.
X Patch #105572-05 (?).
X 1.23
X Improved Windows.
X 1.22
X Added Windows. Don't know the routines to get the number
X of file slots or the file system type (FAT12/16/32).
X Changed default to display megabytes.
X 1.21
X Fixed AIX typo.
X Linux 2.x
X 1.20
X Added Solaris large file system support. Note that
X ver 2.6 Beta_Update has a bug in the statvfs() routine,
X and the non-root available disk space is improperly
X reported.
X 1.19
X Added mount time, mount options. Link di to the mi command.
X 1.18
X Fixed some ignore/include list problems. Fixed local mount
X flag for OSF/1.
X 1.17
X Changed block values from unsigned long to doubles so that we
X can display using different block sizes (-d flag).
X Added -l flag for local filesystems only.
X 1.16
X Added A/UX [ blem...@atheist.tamu.edu (Brett G. Lemoine) ]
X Added convex [ "Schilperoort J.W." <J.W.Schi...@research.ptt.nl> ]
X 1.15
X Fixed bsdi 1.x and bsdi 2.x. Fragments weren't supported.
X Fixed FreeBSD 1.x and 2.x; same problem.
X Changed sco_sl makefile entry.
X 1.14
X Fixed problem with display widths in conjunction with
X ignore/include lists.
X 1.13
X changed default length of filesystem type field to 7.
X new debug 'all' format.
X check for 0 fragment size; replace w/block size if we have it.
X 1.12
X sco nfs 'nothing' fix.
X freebsd 2.x; better freebsd filesystem types.
X 1.11
X bsdi
X 1.10
X added freebsd.
X 1.9
X makefile fixes.
X 1.8
X removed mount option junk.
X added AIX.
X 1.7
X cleaned up sgi in the makefile.
X changed linux to be w/o need_statfs_defs.
X solaris cdrom returning all sorts of negative values.
X T format option.
X mount options.
X sunOs filesystem type info.
X 1.6
X ultrix bug fixes.
X add dynix to makefile.
X 1.5
X sun had f_bfree instead of f_bavail!
X xenix, linux, sco
X -w, -W, -B.
X fixed width for -f M, -f S.
X usage.
X Allow other characters in format string.
X 1.51 (local, pat@rwing)
X SunOS *does* support filesystem type info. Its all in the
X mntent structure, but requires a small bit of work (see source).
X 1.4
X -f B
X bcopy.
X solaris cdrom reports -2 for free blocks.
X 1.3
X Command line specification of filenames.
X sort output.
X osf/1, ultrix.
X -F, -f M, -F S.
X 1.2
X # of inodes can be -1L
X return code for getDiskInfo shouldn't be checked.
X name of mount point must be maxpathlen.
X error conditions.
X pyramid.
X 1.1
X initial release
X
XACKNOWLEDGEMENTS
X
X And for their comments and/or source and/or
X manual pages and/or bug fixes, thanks!
X
X j...@jagware.bcc.com (J.J.Bailey)
X vog...@c-17igp.wpafb.af.mil (Contr Karl Vogel)
X [pyramid]
X cost...@ICSI.Berkeley.EDU (Bryan Costales)
X Mark Neale <ma...@edscom.demon.co.uk>
X Pat Myrto <p...@rwing.uucp>
X [sunOS filesystem type stuff]
X henr...@utctu1.ct.utwente.nl (Henri Karrenbeld)
X [sgi]
X Peter Bray <Peter...@serg.cse.unsw.edu.au>
X gs...@pyramid.com (George M. Sipe)
X [manual page]
X Jeffrey Mogul <mo...@pa.dec.com>
X [ultrix, osf/1, manual page, new format options]
X tho...@idx.kodak.com (Th. Bullinger)
X [help usage]
X Seth Theriault <sthe...@tufts.edu>
X [next]
X st...@nshore.org (Stephen J. Walick)
X [SCO]
X Gerald Rinske <ger...@D012F291.mch.sni.de>
X [sgi]
X Mike Grupenhoff <kas...@snare.dorm.umd.edu>
X [linux]
X R.K....@csc.liv.ac.uk
X [hpux]
X "William Gibbs" <bi...@wgc386.MV.COM>
X [xenix]
X Randy Thompson <ran...@sequent.com>
X [sequent]
X er...@risc.austin.ibm.com (O'Shaughnessy Erik)
X [aix]
X Bill Davidsen <davi...@tmr.com>
X [linux, SCO, etc., new format options]
X fre...@fcshome.stoneham.ma.us (fred smith)
X [coherent 4.2.05]
X b...@clipper.cs.kiev.ua (Andrey Blochintsev)
X [bsdi]
X gins...@spacestar.net (Brian Ginsbach)
X [netbsd, irix, unicos]
X
X et. al.
X
XCOPYRIGHT
X
X Copyright 1995-1999 Brad Lanam, Walnut Creek, CA, USA
X b...@gentoo.com
X http://secure.gentoo.com/di/
X http://secure.gentoo.com/di/di-2.0.tar.gz
END_OF_FILE
if test 8105 -ne `wc -c <'README'`; then
echo shar: \"'README'\" unpacked with wrong size!
fi
# end of 'README'
fi
if test -f 'config.win95' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'config.win95'\"
else
echo shar: Extracting \"'config.win95'\" \(383 characters\)
sed "s/^X//" >'config.win95' <<'END_OF_FILE'
X/* config.h for win95 */
X/* $Id: config.win95,v 1.1 1999-01-04 19:42:48-08 bll Exp $ */
X
X#ifndef _config_h_
X#define _config_h_
X
X#define _(args) args
X
X#define I_MALLOC
X#define I_MEMORY
X#define I_STDLIB
X#define I_STRING
X#define I_SYS_TYPES
X#define I_SYS_STAT
X#define I_TIME
X#define I_WINDOWS
X
X#define HAS_GETDISKFREESPACE
X#define HAS_MEMCPY
X#define HAS_MEMSET
X
X#endif /* _config_h_ */
END_OF_FILE
if test 383 -ne `wc -c <'config.win95'`; then
echo shar: \"'config.win95'\" unpacked with wrong size!
fi
# end of 'config.win95'
fi
if test -f 'config_h.SH' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'config_h.SH'\"
else
echo shar: Extracting \"'config_h.SH'\" \(9826 characters\)
sed "s/^X//" >'config_h.SH' <<'END_OF_FILE'
Xcase $CONFIG in
X'')
X if test -f config.sh; then TOP=.;
X elif test -f ../config.sh; then TOP=..;
X elif test -f ../../config.sh; then TOP=../..;
X elif test -f ../../../config.sh; then TOP=../../..;
X elif test -f ../../../../config.sh; then TOP=../../../..;
X else
X echo "Can't find config.sh."; exit 1
X fi
X . $TOP/config.sh
X ;;
Xesac
Xcase "$0" in
X*/*) cd `expr X$0 : 'X\(.*\)/'` ;;
Xesac
Xecho "Extracting config.h (with variable substitutions)"
Xsed <<!GROK!THIS! >config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un-def!#undef!'
X/*
X * This file was produced by running the config_h.SH script, which
X * gets its values from config.sh, which is generally produced by
X * running Configure.
X *
X * Feel free to modify any of this as the need arises. Note, however,
X * that running config_h.SH again will wipe out any changes you've made.
X * For a more permanent change edit config.sh and rerun config_h.SH.
X *
X * \$Id: Config_h.U,v 3.0.1.5 1997/02/28 14:57:43 ram Exp $
X */
X
X/*
X * Package name : $package
X * Source directory : $src
X * Configuration time: $cf_time
X * Configured by : $cf_by
X * Target system : $myuname
X */
X
X#ifndef _config_h_
X#define _config_h_
X
X/* BSD:
X * This symbol, if defined, indicates that the program is running under
X * a BSD system.
X */
X#$d_bsd BSD /**/
X
X/* HAS_BCOPY:
X * This symbol is defined if the bcopy() routine is available to
X * copy blocks of memory.
X */
X#$d_bcopy HAS_BCOPY /**/
X
X/* HAS_BZERO:
X * This symbol is defined if the bzero() routine is available to
X * set a memory block to 0.
X */
X#$d_bzero HAS_BZERO /**/
X
X/* HAS_MEMCPY:
X * This symbol, if defined, indicates that the memcpy routine is available
X * to copy blocks of memory.
X */
X#$d_memcpy HAS_MEMCPY /**/
X
X/* HAS_MEMSET:
X * This symbol, if defined, indicates that the memset routine is available
X * to set blocks of memory.
X */
X#$d_memset HAS_MEMSET /**/
X
X/* I_LIMITS:
X * This symbol, if defined, indicates to the C program that it should
X * include <limits.h> to get definition of symbols like WORD_BIT or
X * LONG_MAX, i.e. machine dependant limitations.
X */
X#$i_limits I_LIMITS /**/
X
X/* I_MALLOC:
X * This symbol, if defined, indicates to the C program that it should
X * include <malloc.h>.
X */
X#$i_malloc I_MALLOC /**/
X
X/* I_MEMORY:
X * This symbol, if defined, indicates to the C program that it should
X * include <memory.h>.
X */
X#$i_memory I_MEMORY /**/
X
X/* I_STDLIB:
X * This symbol, if defined, indicates that <stdlib.h> exists and should
X * be included.
X */
X#$i_stdlib I_STDLIB /**/
X
X/* I_STRING:
X * This symbol, if defined, indicates to the C program that it should
X * include <string.h> (USG systems) instead of <strings.h> (BSD systems).
X */
X#$i_string I_STRING /**/
X
X/* I_SYS_PARAM:
X * This symbol, if defined, indicates to the C program that it should
X * include <sys/param.h>.
X */
X#$i_sysparam I_SYS_PARAM /**/
X
X/* I_SYS_STAT:
X * This symbol, if defined, indicates to the C program that it should
X * include <sys/stat.h>.
X */
X#$i_sysstat I_SYS_STAT /**/
X
X/* I_SYS_TYPES:
X * This symbol, if defined, indicates to the C program that it should
X * include <sys/types.h>.
X */
X#$i_systypes I_SYS_TYPES /**/
X
X/* I_TIME:
X * This symbol, if defined, indicates to the C program that it should
X * include <time.h>.
X */
X/* I_SYS_TIME:
X * This symbol, if defined, indicates to the C program that it should
X * include <sys/time.h>.
X */
X#$i_time I_TIME /**/
X#$i_systime I_SYS_TIME /**/
X
X/* I_UNISTD:
X * This symbol, if defined, indicates to the C program that it should
X * include <unistd.h>.
X */
X#$i_unistd I_UNISTD /**/
X
X/* CAN_PROTOTYPE:
X * If defined, this macro indicates that the C compiler can handle
X * function prototypes.
X */
X/* _:
X * This macro is used to declare function parameters for folks who want
X * to make declarations with prototypes using a different style than
X * the above macros. Use double parentheses. For example:
X *
X * int main _((int argc, char *argv[]));
X */
X#$prototype CAN_PROTOTYPE /**/
X#ifdef CAN_PROTOTYPE
X#define _(args) args
X#else
X#define _(args) ()
X#endif
X
X/* VOIDFLAGS:
X * This symbol indicates how much support of the void type is given by this
X * compiler. What various bits mean:
X *
X * 1 = supports declaration of void
X * 2 = supports arrays of pointers to functions returning void
X * 4 = supports comparisons between pointers to void functions and
X * addresses of void functions
X * 8 = suports declaration of generic void pointers
X *
X * The package designer should define VOIDUSED to indicate the requirements
X * of the package. This can be done either by #defining VOIDUSED before
X * including config.h, or by defining defvoidused in Myinit.U. If the
X * latter approach is taken, only those flags will be tested. If the
X * level of void support necessary is not present, defines void to int.
X */
X#ifndef VOIDUSED
X#define VOIDUSED $defvoidused
X#endif
X#define VOIDFLAGS $voidflags
X#if (VOIDFLAGS & VOIDUSED) != VOIDUSED
X#define void int /* is void to be avoided? */
X#define M_VOID /* Xenix strikes again */
X#endif
X
X/* HAS_64BIT_STATFS_FLDS:
X * This symbol is defined if 64 bit statfs fields are used.
X */
X#$d_64bit_statfs_flds HAS_64BIT_STATFS_FLDS /**/
X
X/* HAS_ENDMNTENT:
X * This symbol is defined if the endmntent() routine is available.
X */
X#$d_endmntent HAS_ENDMNTENT /**/
X
X/* HAS_GETMNT:
X * This symbol is defined if the getmnt() routine is available.
X */
X#$d_getmnt HAS_GETMNT /**/
X
X/* HAS_GETMNTENT:
X * This symbol is defined if the getmntent() routine is available.
X */
X#$d_getmntent HAS_GETMNTENT /**/
X
X/* HAS_GETMNTINFO:
X * This symbol is defined if the getmntinfo() routine is available.
X */
X#$d_getmntinfo HAS_GETMNTINFO /**/
X
X/* HAS_OPTIND:
X * This symbol, if defined, indicates that the optind external
X * variable is defined.
X */
X#$d_optind HAS_OPTIND /**/
X#if ! defined (HAS_OPTIND)
X extern int optind;
X extern char *optarg;
X#endif
X
X/* HAS_MNTCTL:
X * This symbol is defined if the mntctl() routine is available.
X */
X#$d_mntctl HAS_MNTCTL /**/
X
X/* HAS_MNT_TIME:
X * This symbol is defined if the mnt_time or vmt_time is available
X * in the mount table.
X */
X#$d_mnttime HAS_MNT_TIME /**/
X
X/* HAS_SETMNTENT:
X * This symbol is defined if the setmntent() routine is available.
X */
X/* HAS_SETMNTENT_ONE_ARG:
X * This symbol is defined if the setmntent() has one argument.
X */
X#$d_setmntent HAS_SETMNTENT /**/
X#$d_setmntent_one_arg HAS_SETMNTENT_ONE_ARG /**/
X
X/* HAS_STATFS_BSD:
X * This symbol is defined if statfs() uses the bsd API.
X */
X/* HAS_STATFS_SYSV3:
X * This symbol is defined if statfs() uses the System V.3 API.
X */
X/* Ubsize:
X * This symbol may be set if statfs() uses the System V.3 API.
X * It should be set to the appropriate system definition
X * if the block size is not UBSIZE.
X */
X#$d_statfsbsd HAS_STATFS_BSD /**/
X#$d_statfssysv3 HAS_STATFS_SYSV3 /**/
X#define Ubsize $ubsize /**/
X
X/* HAS_STATVFS:
X * This symbol is defined if the statvfs() routine is available.
X */
X#$d_statvfs HAS_STATVFS /**/
X
X/* HAS_SYSFS:
X * This symbol is defined if the sysfs() routine is available.
X */
X#$d_sysfs HAS_SYSFS /**/
X
X/* I_FSHELP:
X * This symbol, if defined, indicates to the C program that it should
X * include <fshelp.h>.
X */
X#$i_fshelp I_FSHELP /**/
X
X/* I_MNTENT:
X * This symbol, if defined, indicates to the C program that it should
X * include <mntent.h>.
X */
X#$i_mntent I_MNTENT /**/
X
X/* I_MNTTAB:
X * This symbol, if defined, indicates to the C program that it should
X * include <mnttab.h>.
X */
X#$i_mnttab I_MNTTAB /**/
X
X/* I_SYS_FSTYP:
X * This symbol, if defined, indicates to the C program that it should
X * include <sys/fstyp.h>.
X */
X#$i_sysfstyp I_SYS_FSTYP /**/
X
X/* I_SYS_FSTYPES:
X * This symbol, if defined, indicates to the C program that it should
X * include <sys/fstypes.h>.
X */
X#$i_sysfstypes I_SYS_FSTYPES /**/
X
X/* I_SYS_MNTCTL:
X * This symbol, if defined, indicates to the C program that it should
X * include <sys/mntctl.h>.
X */
X#$i_sysmntctl I_SYS_MNTCTL /**/
X
X/* I_SYS_MNTENT:
X * This symbol, if defined, indicates to the C program that it should
X * include <sys/mntent.h>.
X */
X#$i_sysmntent I_SYS_MNTENT /**/
X
X/* I_SYS_MNTTAB:
X * This symbol, if defined, indicates to the C program that it should
X * include <sys/mnttab.h>.
X */
X#$i_sysmnttab I_SYS_MNTTAB /**/
X
X/* I_SYS_MOUNT:
X * This symbol, if defined, indicates to the C program that it should
X * include <sys/mount.h>.
X */
X/* HAS_GETMNTINFO_FSTYPENAME:
X * This symbol is defined if the f_fstypename field is available.
X */
X/* HAS_GETMNTINFO_FSIZE:
X * This symbol, if defined, indicates that f_fsize should
X * be used to compute the filesystem block size.
X */
X/* HAS_GETMNTINFO_BSIZE:
X * This symbol, if defined, indicates that f_bsize should
X * be used to compute the filesystem block size.
X */
X#$i_sysmount I_SYS_MOUNT /**/
X#$d_getmntinfofstype HAS_GETMNTINFO_FSTYPENAME /**/
X#$d_getmntinfofsize HAS_GETMNTINFO_FSIZE /**/
X#$d_getmntinfobsize HAS_GETMNTINFO_BSIZE /**/
X
X/* I_SYS_STATFS:
X * This symbol, if defined, indicates to the C program that it should
X * include <sys/statfs.h>.
X */
X/* HAS_STATFS_FRSIZE:
X * This symbol, if defined, indicates that the f_frsize field is
X * part of the statfs structure.
X */
X#$i_sysstatfs I_SYS_STATFS /**/
X#$d_statfs_frsize HAS_STATFS_FRSIZE /**/
X
X/* I_SYS_STATVFS:
X * This symbol, if defined, indicates to the C program that it should
X * include <sys/statvfs.h>.
X */
X#$i_sysstatvfs I_SYS_STATVFS /**/
X
X/* I_SYS_VFS:
X * This symbol, if defined, indicates to the C program that it should
X * include <sys/vfs.h>.
X */
X#$i_sysvfs I_SYS_VFS /**/
X
X/* I_SYS_VFSTAB:
X * This symbol, if defined, indicates to the C program that it should
X * include <sys/vfstab.h>.
X */
X#$i_sysvfstab I_SYS_VFSTAB /**/
X
X/* I_SYS_VMOUNT:
X * This symbol, if defined, indicates to the C program that it should
X * include <sys/vmount.h>.
X */
X#$i_sysvmount I_SYS_VMOUNT /**/
X
X#endif
X!GROK!THIS!
END_OF_FILE
if test 9826 -ne `wc -c <'config_h.SH'`; then
echo shar: \"'config_h.SH'\" unpacked with wrong size!
fi
# end of 'config_h.SH'
fi
if test -f 'configure' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'configure'\"
else
echo shar: Extracting \"'configure'\" \(2855 characters\)
sed "s/^X//" >'configure' <<'END_OF_FILE'
X#! /bin/sh
X#
X# $Id: configure,v 3.0.1.2 1997/02/28 16:28:49 ram Exp $
X#
X# GNU configure-like front end to metaconfig's Configure.
X#
X# Written by Andy Dougherty <doug...@lafcol.lafayette.edu>
X# Matthew Green <m...@mame.mu.oz.au> and Tom Tromey <tro...@cygnus.com>.
X#
X# Reformatted and modified for inclusion in the dist-3.0 package by
X# Raphael Manfredi <Raphael_...@grenoble.hp.com>.
X#
X# This script belongs to the public domain and may be freely redistributed.
X#
X# The remaining of this leading shell comment may be removed if you
X# include this script in your own package.
X#
X# $Log: configure,v $
X# Revision 3.0.1.2 1997/02/28 16:28:49 ram
X# patch61: added the srcdir support now that we have src.U
X# patch61: random cleanup for nicer help message
X#
X# Revision 3.0.1.1 1995/07/25 14:16:21 ram
X# patch56: created
X#
X
X(exit $?0) || exec sh $0 $argv:q
Xopts=''
Xverbose=''
Xcreate='-e'
Xsrcdir=''
Xwhile test $# -gt 0; do
X case $1 in
X --help)
X cat <<EOM
XUsage: configure [options]
XThis is GNU configure-like front end for a metaconfig-generated Configure.
XIt emulates the following GNU configure options (must be fully spelled out):
X
X --help --srcdir=DIRECTORY
X --no-create --silent
X --prefix=PREFIX --verbose
X --quiet --version
X
XAnd it honours these environment variables: CC, CFLAGS and DEFS.
X
XFurthermore, it ignores the following arguments, when supplied:
X
X --cache-file=FILE --target=TARGET
X --enable-* --with-*
X --host=HOST
XEOM
X exit 0
X ;;
X --no-create)
X create='-E'
X shift
X ;;
X --prefix=*)
X arg=`echo $1 | sed 's/--prefix=/-Dprefix=/'`
X opts="$opts $arg"
X shift
X ;;
X --prefix)
X shift
X opts="$opts -Dprefix=$1"
X shift
X ;;
X --srcdir=*)
X arg=`echo $1 | sed 's/--srcdir=//'`
X srcdir=$arg
X shift
X ;;
X --srcdir)
X shift
X srcdir=$1
X shift
X ;;
X --quiet|--silent)
X exec >/dev/null 2>&1
X shift
X ;;
X --verbose)
X verbose=true
X shift
X ;;
X --version)
X copt="$copt -V"
X shift
X ;;
X --host=*|--target=*|--cache-file=*|--enable-*|--with-*)
X shift
X ;;
X --*)
X opt=`echo $1 | sed 's/=.*//'`
X echo "This GNU configure front end does not understand $opt"
X exit 1
X ;;
X *)
X opts="$opts $1"
X shift
X ;;
X esac
Xdone
X
Xcase "$CC" in
X'') ;;
X*) opts="$opts -Dcc='$CC'";;
Xesac
X
X# Join DEFS and CFLAGS together.
Xccflags=''
Xcase "$DEFS" in
X'') ;;
X*) ccflags=$DEFS;;
Xesac
Xcase "$CFLAGS" in
X'') ;;
X*) ccflags="$ccflags $CFLAGS";;
Xesac
Xcase "$ccflags" in
X'') ;;
X*) opts="$opts -Dccflags='$ccflags'";;
Xesac
X
X# Don't use -s if they want verbose mode
Xcase "$verbose" in
X'') copt="$copt -ds";;
X*) copt="$copt -d";;
Xesac
X
X# Figure out srcdir if not set already
Xcase "$srcdir" in
X'') srcdir=`echo $0 | sed -e 's%/[^/][^/]*$%%'`;;
Xesac
Xcase "$srcdir" in
X".") ;;
X*) opts="$opts -Dsrc=$srcdir";;
Xesac
X
Xset X sh $srcdir/Configure $copt $create $opts
Xshift
Xecho "$@"
Xexec "$@"
END_OF_FILE
if test 2855 -ne `wc -c <'configure'`; then
echo shar: \"'configure'\" unpacked with wrong size!
fi
chmod +x 'configure'
# end of 'configure'
fi
if test -f 'di.1' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'di.1'\"
else
echo shar: Extracting \"'di.1'\" \(7676 characters\)
sed "s/^X//" >'di.1' <<'END_OF_FILE'
X.\"
X.\" $Id: di.1,v 1.14 1999/04/16 00:00:13 bll Exp $
X.\" $Revision: 1.14 $
X.\"
X.\" di.1
X.\"
X.\" Copyright 1994-1999 Brad Lanam Walnut Creek CA USA
X.\"
X.\" b...@gentoo.com
X.\"
X.\" for di version 2.0
X.\"
X.TH di 1 "7 January 1999"
X.SH Name
Xdi \- disk information
X.SH Synopsis
X.\" di [-Aahlnt] [-d display-size] [-f format] [-i ignore-fstyp-list]
X.\" [-I include-fstyp-list] [-s sort-type] [-w block-width]
X.\" [-W inode-width] [-x level] [file [...]]
X.B di
X[\fB-Aahlnt\fR] [\fB-d\fR \fIdisplay-size\fR] [\fB-f\fR \fIformat\fR]
X[\fB-i\fR \fIignore-fstyp-list\fR] [\fB-I\fR \fIinclude-fstyp-list\fR]
X[\fB-s\fR \fIsort-type\fR]
X[\fB-w\fR \fIblock-width\fR] [\fB-W\fR \fIinode-width\fR] [\fB-x\fR \fIlevel\fR]
X[\fIfile\fR [...]]
X.PP
X.B mi
X.SH Description
X.NXA "di command" "dumpfs command"
X.NXA "di command" "df command"
X.NXR "disk" "displaying free space"
X.I di
XDisplays usage information on mounted filesystems. Block values are
Xreported in megabytes (1024k bytes) by default, but may be changed.
XIf \fIfile\fR is specified,
Xthe usage information for the partition on which \fIfile\fR is
Xlocated is printed.
X.PP
XUnless the \-a flag is specified, certain mounted filesystems
Xwill not normally be displayed.
X.IP
XFilesystems that have a total
Xblock count of 0 will not be displayed.
X.IP
XFilesystems that have a mount option of 'ignore' set will not
Xbe displayed.
X.IP
XFilesystems that are automounted, and are duplicates of an
Xexisting filesystem are not displayed. (May not work on
Xall systems).
X.PP
X.I mi
XDisplays the mounted filesystem information.
X.PP
XSeveral switches may be specified to
Xcontrol the output of
X.I di
Xand
X.I mi\fR:
X.TP
X.B \-A
XPrint all fields (used for debugging). Mount points and special
Xdevice names are printed at full width. The \-a flag is set.
X.TP
X.B \-a
XPrints all mounted devices (normally, those with 0 total blocks are not
Xprinted - e.g. \fB/dev/proc\fR, \fB/dev/fd\fR).
X.TP
X.B \-d\ \fIdisplay-size\fR
XDisplay the blocks in units specified by \fIdisplay-size\fR. \fIdisplay-size\fR
Xmay be one of: p \- posix (512 bytes), k \- kilobytes,
Xm \- megabytes, g - gigabytes, or a specific value to use as the block size.
XBlock display sizes greater than 1024 bytes are displayed with a precision
Xof one decimal place after the radix.
X.TP
X.B \-f\ \fIformat\fR
XUse the specified format string \fIformat\fR. Format strings are
Xdescribed below.
X.TP
X.B \-h
XPrint out the usage for
X.I di
X.TP
X.B \-i \fIignore-fstype-list\fR
XIgnore the file system types listed in \fIignore-fstyp-list\fR.
XThe list is a comma separated list of file system types. e.g.
X\-i nfs,rfs
X.TP
X.B \-I \fIinclude-fstype-list\fR
XInclude only the file system types listed in \fIinclude-fstyp-list\fR.
XThe list is a comma separated list of file system types. e.g.
X\-I nfs,rfs
X.TP
X.B \-l
XDisplay only local file systems. This option is not fully implemented
Xfor all systems as of version 1.17.
X.TP
X.B \-n
XDo not print a header line above the list of file systems. Useful when
Xparsing the output of \fIdi\fR.
X.TP
X.B \-s\ \fIsort-type\fR
XUse \fIsort-type\fR to sort the output.
XThe output of \fIdi\fR is normally sorted by name. The output may
Xbe left unsorted (\fB-s\ n\fR command line switch) i.e. as it appears
Xin the mount table or may be
Xsorted by the special device name
X(\fB-s\ s\fR command line switch). If the \fB-s \ r\fR command line
Xswitch is used, the sort order will be reversed.
XIf \fIfile\fR is specifed on the
Xcommand line, no sorting is done.
X.TP
X.B \-t
XPrint a totals line below the list of file systems.
X.TP
X.B \-w\ \fIblock-width\fR
XSet the print width for block values. Default is eight.
X.TP
X.B \-W\ \fIinode-width\fR
XSet the print width for inode values. Default is seven.
X.TP
X.B \-x\ \fIlevel\fR
XSet the program's debugging level to \fIdebug-level\fR.
X.SH Format strings
XThe output of \fIdi\fR may be specified via a format string. This
Xstring may be given either via the \fB-f\fR command line switch or by
Xthe \fBDIFMT\fR environment variable. The format string may specify the
Xfollowing columns:
X.TP
X.B m
XPrint the name of the mount point.
X.TP
X.B M
XPrint the name of the mount point, at full length. The mount point
Xis formatted to the maximum width necessary for the longest mount
Xpoint name.
X.TP
X.B b
XPrint the total number of Kbytes on the file system.
XSee also the \-d option.
X.TP
X.B B
XPrint the total number of Kbytes on the file system
Xavailable for use by normal
Xusers.
XSee also the \-d option.
X.TP
X.B u
XPrint the number of Kbytes in use on the file system
X(actual number of kbytes used = total - free).
XSee also the \-d option.
X.TP
X.B c
XPrint the number of Kbytes not available for use by normal users
X(total - available).
XSee also the \-d option.
X.TP
X.B f
XPrint the number of free (unused) Kbytes on the file system.
XSee also the \-d option.
X.TP
X.B v
XPrint the number of Kbytes available for use by normal users.
XSee also the \-d option.
X.TP
X.B p
XPrint the percentage of Kbytes not available for use by normal users
X(number of
Xkbytes not available for use / total disk space).
XSee also the \-d option.
X.TP
X.B 1
XPrint the percentage of total Kbytes in use
X(actual number of
Xkbytes used / total disk space).
XSee also the \-d option.
X.TP
X.B 2
XPrint the percentage of Kbytes in use, BSD-style. Represents the
Xpercentage of user-available space in use. Note that values over 100%
Xare possible
X(actual number of kbytes used / disk
Xspace available to non-root users).
XSee also the \-d option.
X.TP
X.B i
XPrint the total number of file slots (inodes) that can be created on the file
Xsystem.
X.TP
X.B U
XPrint the number of file slots in use.
X.TP
X.B F
XPrint the number of file slots available.
X.TP
X.B P
XPrint the percentage of file slots in use.
X.TP
X.B s
XPrint the file system name (special device or remote mount point).
X.TP
X.B S
XPrint the file system name (special device or remote mount point),
Xat full length.
XThe file system name
Xis formatted to the maximum width necessary for the longest file system
Xname.
X.TP
X.B t
XPrint the file system type.
X.TP
X.B T
XPrint the file system type at full length. The file system type
Xis formatted to the maximum width necessary for the longest file system
Xtype.
X.TP
X.B I
XPrint the time the filesystem was mounted. This column is
Xnot supported on all systems.
X.TP
X.B O
XPrint the filesystem mount options.
X.PP
XThe default format string for \fIdi\fR is \fBsmbuvpT\fR.
X.PP
XThe default format string for \fImi\fR is \fBMSTIO\R.
X.PP
XThe format string may also contain any other character not listed
Xabove. The character will be printed as is. e.g. \fBdi -f 'mbuvp|iUFP'\fR
Xwill print the character '|' between the disk usage and the file slot
Xusage. The command sequence (Bourne Shell):
X.RS
X.br
X.B di -f 'mbuvp
X.br
X.B miUFP'
X.br
X.RE
Xwill print two lines of data for each filesystem.
X.SH Examples
XVarious \fIdf\fR
Xequivalent format strings for System V release 4 are:
X.PP
X.RS
X\fI/usr/bin/df -v\fR di -dp \-f msbuf1
X.br
X\fI/usr/bin/df -k\fR di -dk \-f sbcvpm
X.br
X\fI/usr/ucb/df\fR di -dk \-f sbuv2m
X.RE
X.PP
XIf you like your numbers to add up/calculate the percentage
Xcorrectly, try one
Xof the following format strings:
X.PP
X.RS
X.B di -f SMbuf1T
X.br
X.B di -f SMbcvpT
X.br
X.B di -f SMBuv2T
X.RE
X.SH Note
XFor filesystems that do not report available blocks (e.g. System V
Xrelease 3), the number of available blocks is considered to be the
Xnumber of free blocks.
X.SH WARNING
XDo not replace your system's \fIdf\fR command with this program. You
Xwill in all likelihood break your installation procedures.
X.SH See Also
Xdf(1), fstab(5), getmnt(2), getmntinfo(2), mnttab(4), mount(1M)
Xstatfs(2), statvfs(2)
X.SH Author
XThis program is Copyright 1994-1999 by Brad Lanam.
X.PP
XBrad Lanam, Walnut Creek, CA (b...@gentoo.com).
END_OF_FILE
if test 7676 -ne `wc -c <'di.1'`; then
echo shar: \"'di.1'\" unpacked with wrong size!
fi
# end of 'di.1'
fi
if test -f 'getopt.c' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'getopt.c'\"
else
echo shar: Extracting \"'getopt.c'\" \(1664 characters\)
sed "s/^X//" >'getopt.c' <<'END_OF_FILE'
X/*
X *
X * $Id: getopt.c,v 1.1 1998-07-06 18:07:30-07 bll Exp $
X *
X * getopt - get option letter from argv
X *
X * from Cnews by Henry Spencer
X *
X */
X
X#ifndef lint
Xstatic char getopt_c_rcsid [] =
X"$Id: getopt.c,v 1.1 1998-07-06 18:07:30-07 bll Exp $";
Xstatic char getopt_c_source [] =
X"$Source: /u/bll/DI/RCS/getopt.c,v $";
X#endif
X
X#include <stdio.h>
X#include <string.h>
X
Xchar *optarg; /* Global argument pointer. */
Xint optind = 0; /* Global argv index. */
X
Xstatic char *scan = NULL; /* Private scan pointer. */
X
Xint
Xgetopt(argc, argv, optstring)
Xint argc;
Xchar *argv[];
Xchar *optstring;
X{
X char c;
X char *place;
X
X
X optarg = NULL;
X
X if (scan == NULL || *scan == '\0')
X {
X if (optind == 0)
X {
X optind++;
X }
X
X if (optind >= argc || argv[optind][0] != '-' ||
X argv[optind][1] == '\0')
X {
X return(EOF);
X }
X
X if (strcmp(argv[optind], "--")==0)
X {
X optind++;
X return(EOF);
X }
X
X scan = argv[optind]+1;
X optind++;
X }
X
X c = *scan++;
X place = strchr(optstring, c);
X
X if (place == NULL || c == ':')
X {
X fprintf(stderr, "%s: unknown option -%c\n", argv[0], c);
X return('?');
X }
X
X place++;
X if (*place == ':')
X {
X if (*scan != '\0')
X {
X optarg = scan;
X scan = NULL;
X }
X else if (optind < argc)
X {
X optarg = argv[optind];
X optind++;
X }
X else
X {
X fprintf(stderr, "%s: -%c argument missing\n", argv[0], c);
X return('?');
X }
X }
X
X return(c);
X}
END_OF_FILE
if test 1664 -ne `wc -c <'getopt.c'`; then
echo shar: \"'getopt.c'\" unpacked with wrong size!
fi
# end of 'getopt.c'
fi
if test ! -d 'hints' ; then
echo shar: Creating directory \"'hints'\"
mkdir 'hints'
fi
if test -f 'hints/aix.sh' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'hints/aix.sh'\"
else
echo shar: Extracting \"'hints/aix.sh'\" \(133 characters\)
sed "s/^X//" >'hints/aix.sh' <<'END_OF_FILE'
Xcase ${osvers} in
X 3*) di_prog="diskinfo" ;;
X 4.[012]*) di_prog="diskinfo" ;;
X *) di_prog="di" ;;
Xesac
X
Xnm_opt="-B"
END_OF_FILE
if test 133 -ne `wc -c <'hints/aix.sh'`; then
echo shar: \"'hints/aix.sh'\" unpacked with wrong size!
fi
# end of 'hints/aix.sh'
fi
if test -f 'hints/dynix.sh' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'hints/dynix.sh'\"
else
echo shar: Extracting \"'hints/dynix.sh'\" \(13 characters\)
sed "s/^X//" >'hints/dynix.sh' <<'END_OF_FILE'
Xlibs='-lseq'
END_OF_FILE
if test 13 -ne `wc -c <'hints/dynix.sh'`; then
echo shar: \"'hints/dynix.sh'\" unpacked with wrong size!
fi
# end of 'hints/dynix.sh'
fi
if test -f 'hints/dynixptx.sh' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'hints/dynixptx.sh'\"
else
echo shar: Extracting \"'hints/dynixptx.sh'\" \(13 characters\)
sed "s/^X//" >'hints/dynixptx.sh' <<'END_OF_FILE'
Xlibs='-lseq'
END_OF_FILE
if test 13 -ne `wc -c <'hints/dynixptx.sh'`; then
echo shar: \"'hints/dynixptx.sh'\" unpacked with wrong size!
fi
# end of 'hints/dynixptx.sh'
fi
if test -f 'hints/freebsd_2.sh' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'hints/freebsd_2.sh'\"
else
echo shar: Extracting \"'hints/freebsd_2.sh'\" \(17 characters\)
sed "s/^X//" >'hints/freebsd_2.sh' <<'END_OF_FILE'
Xi_malloc="undef"
END_OF_FILE
if test 17 -ne `wc -c <'hints/freebsd_2.sh'`; then
echo shar: \"'hints/freebsd_2.sh'\" unpacked with wrong size!
fi
# end of 'hints/freebsd_2.sh'
fi
if test -f 'hints/hpux.sh' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'hints/hpux.sh'\"
else
echo shar: Extracting \"'hints/hpux.sh'\" \(174 characters\)
sed "s/^X//" >'hints/hpux.sh' <<'END_OF_FILE'
Xccflags="$ccflags -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64"
X
Xcase "$cc" in
X *gcc*) ccflags="-Wall $ccflags"
X ;;
X *) ccflags="-Ae $ccflags"
X ;;
Xesac
END_OF_FILE
if test 174 -ne `wc -c <'hints/hpux.sh'`; then
echo shar: \"'hints/hpux.sh'\" unpacked with wrong size!
fi
# end of 'hints/hpux.sh'
fi
if test -f 'hints/irix.sh' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'hints/irix.sh'\"
else
echo shar: Extracting \"'hints/irix.sh'\" \(136 characters\)
sed "s/^X//" >'hints/irix.sh' <<'END_OF_FILE'
X
Xcase "$osvers" in
X [45].*)
X libs="-lsun"
X ;;
X *)
X d_64bit_statfs_flds="define"
X ;;
Xesac
X
Xnm_opt='-p'
END_OF_FILE
if test 136 -ne `wc -c <'hints/irix.sh'`; then
echo shar: \"'hints/irix.sh'\" unpacked with wrong size!
fi
# end of 'hints/irix.sh'
fi
if test -f 'hints/linux_1.sh' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'hints/linux_1.sh'\"
else
echo shar: Extracting \"'hints/linux_1.sh'\" \(69 characters\)
sed "s/^X//" >'hints/linux_1.sh' <<'END_OF_FILE'
Xlibc="/lib/libc.so.5.0.9"
Xd_statfssysv3="undef"
Xd_statfsbsd="define"
END_OF_FILE
if test 69 -ne `wc -c <'hints/linux_1.sh'`; then
echo shar: \"'hints/linux_1.sh'\" unpacked with wrong size!
fi
# end of 'hints/linux_1.sh'
fi
if test -f 'hints/linux_2.sh' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'hints/linux_2.sh'\"
else
echo shar: Extracting \"'hints/linux_2.sh'\" \(24 characters\)
sed "s/^X//" >'hints/linux_2.sh' <<'END_OF_FILE'
Xlibc="/usr/lib/libc.so"
END_OF_FILE
if test 24 -ne `wc -c <'hints/linux_2.sh'`; then
echo shar: \"'hints/linux_2.sh'\" unpacked with wrong size!
fi
# end of 'hints/linux_2.sh'
fi
if test -f 'hints/solaris.sh' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'hints/solaris.sh'\"
else
echo shar: Extracting \"'hints/solaris.sh'\" \(439 characters\)
sed "s/^X//" >'hints/solaris.sh' <<'END_OF_FILE'
X
Xcase "$osvers" in
X 2.[6-9]*)
X ccflags="`/usr/bin/getconf LFS_CFLAGS`"
X ldflags="`/usr/bin/getconf LFS_LDFLAGS`"
X libs="$libs `/usr/bin/getconf LFS_LIBS`"
X ;;
X 2.*|1*) ;;
X *)
X ccflags="`/usr/bin/getconf LFS_CFLAGS`"
X ldflags="`/usr/bin/getconf LFS_LDFLAGS`"
X libs="$libs `/usr/bin/getconf LFS_LIBS`"
X ;;
Xesac
X
Xcase "$cc" in
X *gcc*) ccflags="-Wall $ccflags"
X ;;
X *) ccflags="-Xa -v $ccflags"
X ;;
Xesac
END_OF_FILE
if test 439 -ne `wc -c <'hints/solaris.sh'`; then
echo shar: \"'hints/solaris.sh'\" unpacked with wrong size!
fi
# end of 'hints/solaris.sh'
fi
if test -f 'hints/unicos.sh' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'hints/unicos.sh'\"
else
echo shar: Extracting \"'hints/unicos.sh'\" \(89 characters\)
sed "s/^X//" >'hints/unicos.sh' <<'END_OF_FILE'
Xcase "$osvers" in
X 9.*)
X ubsize="BSIZE"
X ;;
Xesac
X
Xd_getmntinfo="undef"
X
END_OF_FILE
if test 89 -ne `wc -c <'hints/unicos.sh'`; then
echo shar: \"'hints/unicos.sh'\" unpacked with wrong size!
fi
# end of 'hints/unicos.sh'
fi
if test -f 'win95.mak' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'win95.mak'\"
else
echo shar: Extracting \"'win95.mak'\" \(1269 characters\)
sed "s/^X//" >'win95.mak' <<'END_OF_FILE'
X#
X# di makefile for windows95
X#
X# Copyright 1995-1999 Brad Lanam
X#
X# $Id: win95.mak,v 1.1 1999-01-04 19:42:23-08 bll Exp $
X# $Source: /home/bll/DI/RCS/win95.mak,v $
X#
X
XCFLAGS =
XLDFLAGS =
XLIBS =
XPROG = di
XMPROG = mi
X
X###
X
Xnone:
X echo Usage:
X echo nmake -f win95.mak windows
X echo or make -f win95.mak windows-gcc
X
X# This was tested using vc++ 5.0.
Xwindows:
X $(MAKE) -f win95.mak CC=cl LD=cl EXE_EXT=".exe" OBJ_EXT=".obj" \
X OTHEROBJ="getopt.obj" \
X CP="copy /y" \
X CFLAGS="$(CFLAGS) -nologo -O2 \
X -DMPROG=\\\"$(MPROG)\\\" \
X -DDEFAULT_FORMAT=\\\"sMbuvpT\\\"" \
X LDFLAGS="-nologo -O2" $(PROG).exe
X
X# This was tested using Cygnus gcc b19
Xwindows-gcc:
X $(MAKE) -f win95.mak CC=gcc LD=gcc EXE_EXT=".exe" OBJ_EXT=".o" \
X OTHEROBJ="getopt.o" \
X CP="cp -f" \
X CFLAGS="$(CFLAGS) -g -O2 \
X -DI_LIMITS -DI_UNISTD -DI_SYS_PARAM \
X -DMPROG=\\\"$(MPROG)\\\" \
X -DDEFAULT_FORMAT=\\\"sMbuvpT\\\"" \
X LDFLAGS="-g -O2" $(PROG).exe
X
X###
X
Xconfig.h: config.win95
X $(CP) config.win95 config.h
X
X####################
X
X$(PROG)$(EXE_EXT): di$(OBJ_EXT) $(OTHEROBJ)
X $(CC) $(CFLAGS) $(LDFLAGS) -o $(PROG)$(EXE_EXT) di$(OBJ_EXT) \
X $(OTHEROBJ) $(LIBS)
X
X###
X
Xdi$(OBJ_EXT): di.c config.h
X $(CC) -c $(CFLAGS) di.c
X
Xgetopt$(OBJ_EXT): getopt.c
X $(CC) -c $(CFLAGS) getopt.c
END_OF_FILE
if test 1269 -ne `wc -c <'win95.mak'`; then
echo shar: \"'win95.mak'\" unpacked with wrong size!
fi
chmod +x 'win95.mak'
# end of 'win95.mak'
fi
echo shar: End of archive 1 \(of 3\).
cp /dev/null ark1isdone
MISSING=""
for I in 1 2 3 ; do
if test ! -f ark${I}isdone ; then
MISSING="${MISSING} ${I}"
fi
done
if test "${MISSING}" = "" ; then
echo You have unpacked all 3 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