di - disk information utility (version 3.11).

DESCRIPTION

  'di' is a disk information utility, displaying everything
  (and more) that your 'df' command does. It features the
  ability to display your disk usage in whatever format you
  desire/prefer/are used to. It is designed to be portable
  across many platforms.

INSTALLATION

  The installation process has been completely revamped
  beginning with version 3.0.  You now have a choice of
  'Configure' (dist 3.0PL70) or 'iffe'.  It is the intention
  to switch over to 'iffe' completely, once all issues with
  it have been resolved.

  Instructions for iffe:
                                  Example w/gcc and different prefix.
      ./Build distclean             ./Build distclean
      ./Build                       CC=gcc prefix=/usr/lbin ./Build
      ./Build install               CC=gcc prefix=/usr/lbin ./Build install

    features/cflags.sh sets the various compiler flags.

    The CC, CFLAGS, prefix, LDFLAGS, and LIBS environment variables
    can be set and exported prior to running 'Build'.

    The LOCALEDIR environment variable may be set to the installation
    directory for the locale files.  Default is ${prefix}/lib/di/locale.

    If you want the internationalization directory installed, do:

      ./Build install-po [en_US: 27-Aug-2002, de_DE: 26-Feb-2004]

    To force a 64 bit binary build:
      ./Build -64 [<args>]

  Instructions for Configure:

    ./Configure -d -s -e          # non-interactive
    ./Configure -d -s -e -Dcc=gcc # non-interactive, and you want to use gcc
    ./Configure -d -s -e -Dcc=gcc -Dprefix=/usr/lbin
                                  # non-interactive, w/gcc, set prefix
    ./Configure                   # interactive

    Do your make:

        make

    And install:

        make install

    If you want the internationalization directory installed, do:

        make install-po

  Installation Permissions:
    Some systems (Sys V variants) only allow root to read the
    mount table.  If this is the case, change the INSTPERM macro
    in the Makefile should be set to 4111, and the USER macro to root.
    In SysV.4 and Solaris, the mount command would reset the
    permissions to be root readable only (fixed in Solaris 7).

    If this is needed on your system, do:

    make -f Makefile.iffe installperms

  Windows installation:

    You may need to undefine _lib_GetDiskFreeSpaceEX
    in the config.h file for older windows systems.

    (1) and (2) will build using the windows API.
    (3) Doesn't find the windows API, and uses the cygwin API.

    If you prefer to use the cygwin API rather than the
    windows API, edit config.h, and undefine _hdr_windows,
    _lib_GetDiskFreeSpace, and _lib_GetDiskFreeSpaceEx,
    then re-run the build.

    Alternative 1)
        Cygnus gcc: make -f Makefile.iffe windows-gcc
        MS VC++:    nmake -f Makefile.iffe windows
    Alternative 2)
        ./Build distclean
        CC=gcc ./Build
    Alternative 3)
        Unpacking the tar file overwrites 'Configure' with 'configure'.
        Unpack 'Configure' as a separate step.
        ./Configure -d -s -e -Dcc=gcc
        make
        make install

BUGS

    submit bugs to di-bugs@gentoo.com
    Bug Database: https://www.itetools.com/cal/1/pli/dttlist?q=di

PORTING

    di 3.9 has been tested on the following platforms (both
    Configure and iffe):
        FreeBSD 4.7 (gcc 2.95.4)
        HP-UX B.11.22 U (ansi C)
        Linux 2.0.35 (gcc 2.7.2.3), 2.4.18 [RH7.3] (gcc 3.2, 2.96),
            2.4.9 [RH7.2] (gcc 2.96), 2.2.18 [Debian] (gcc 2.95.2)
        NetBSD 1.6 (gcc 2.95.3)
        OpenBSD 3.1 (gcc 2.95.3)
        Solaris 9 (cc 5.0, gcc 2.95.3)
        Tru64 Unix 4.0g (C V6.3), 5.1a (C T6.5)

    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

BUGS

    Solaris 2.6 has a bug in the kernel and reports the reserved
    space incorrectly.  There is a kernel patch available (105572-05?).

    Send bug reports along with the output from 'di -A -x 2' and the
    output from your standard df command (as verbose as possible) to:

        di-bugs@gentoo.com

    If the Configure/Build script doesn't set up the 'config.h'
    file correctly, please let me know.  E-mail me the incorrect
    (and corrected if possible) config.h file, and any other
    information as appropriate.  The goal is to be able to run
    Configure/Build in non-interactive mode for any system.

CHANGES

    3.11
        Fixed bug checking mount options to see if partition
        was read-only (bsd style get/set/endmntent).
    3.10
        Added German .po file (Many thanks to Hartmut Haase).
        Added -64 to Build for 64 bit binaries.
        Added missing internationalization calls in di.c
    3.9
        Fixed bug with uninitialized 'dbsstr' variable.
        iffe: upgraded to 2002-03-06.
            Don't need to include stdio.h in most di.iffe tests.
            lib test fixed for cygwin.
    3.8
        Rewrote block size display processing.  It did not match the
        *BSD implementation of the BLOCKSIZE environment variable.
        Latest metaconfig (Configure)
        Add -k alias for -dk.
    3.7
        Check for initial '/' character in special device name
        before doing stat().   Otherwise we pick up normal files.
        Update iffe.
        Add exa, zetta, yotta support (-de, -dz, -dy).
        Add support for 1000 byte base block size (and others) (-b option).
        Add alternative scaled format (-dH, -H).
    3.6
        Change to use mntctl() in preference to set/get/endmntent()
            for AIX.
        AIX: fix to display hostname in special device name for
            remote mounts.
        README updated for cygwin Configure/configure problem.
        Workaround in di.h for cygwin/Configure getopt() problem.
        Converted all strcpy() to strncpy().
    3.5
        Change 'memfs' to 'mfs' for memory file system (FreeBSD).
            Not added to totals.
        Added License.
        Update to use snprintf if available.
        Update 'Configure' to match 'iffe' build as closely as possible.
        Fix C code to compile w/non-ansi compiler (HP-UX bundled).
        Many configuration fixes (hp-ux, aix, et.al.).
    3.4
        Fix bugs in include/ignore list generation.
        Rewrite ignore/include lists to allow multiple command line
            specification of ignore/include lists.
        Change so -f overrides DIFMT environment variable.
        Fix bugs in -s command line option.  Make more friendly.
        Add -H (-dh) scaled display format.
        nfs mounts are always remote.
    3.3
        Bug fixes for AIX, HP/UX installation.
    3.2
        Add internationalization code.
        Update windows code.
        cleanup.
    3.1
        Bug fixes for SunOS 4.
    3.0
        Added getfsstat() for Compaq Tru-64 (and FreeBSD, etc.) systems.
        Compaq Tru-64 code cleaned up.
        Thanks to Compaq for their test drive program!
        More cleanup.  Added iffe configuration.
    2.4
        Fixed so di doesn't statfs() the disks it doesn't need to.
        Removed fs basetype stuff.
        Split out disk routines into separate module.  Lots of cleanup.
        Totals: fix to take into account block size of partition.
        Totals: ignore read-only, partitions not normally printed.
        Totals: ignore memory filesystems (tmpfs, memfs).
    2.3
        Modified hints for solaris to do 64 bit compilation.
        Removed extra libc setting for linux.
        Added support for BeOS.  This required ansi function headers.
    2.2
        Hints for dec_osf added.
        Changed HAS_GETMNTINFOFSIZE to be preferred over
        HAS_GETMNTINFOBSIZE; modified bsdos hints appropriately.
        Look for <sys/fs_types.h> include file.
    2.1
        Added +DAportable for HP-UX.
        Hints for openbsd added.
        Made installperm as separate target in makefile.
        Modified duplicate checking slightly.
        Changed MNT_NOWAIT to MNT_WAIT.  This will work better
        on FreeBSD.  Hopefully will work w/nfs mounts.
    2.0
        Now uses dist 3.0PL70 for configuration.
        Duplicate filesystems (automounted) are not displayed.
        This probably does not work for Digital's advfs.
    1.24
        Added Windows w/gcc.
        The Solaris 2.6 statvfs() bug has a patch out for it.
        Patch #105572-05 (?).
    1.23
        Improved Windows.
    1.22
        Added Windows.  Don't know the routines to get the number
        of file slots or the file system type (FAT12/16/32).
        Changed default to display megabytes.
    1.21
        Fixed AIX typo.
        Linux 2.x
    1.20
        Added Solaris large file system support.  Note that
        ver 2.6 Beta_Update has a bug in the statvfs() routine,
        and the non-root available disk space is improperly
        reported.
    1.19
        Added mount time, mount options.  Link di to the mi command.
    1.18
        Fixed some ignore/include list problems.  Fixed local mount
        flag for OSF/1.
    1.17
        Changed block values from unsigned long to doubles so that we
        can display using different block sizes (-d flag).
        Added -l flag for local filesystems only.
    1.16
        Added A/UX  [ blemoine@atheist.tamu.edu (Brett G. Lemoine) ]
        Added convex [ "Schilperoort J.W." <J.W.Schilperoort@research.ptt.nl> ]
    1.15
    	Fixed bsdi 1.x and bsdi 2.x.  Fragments weren't supported.
    	Fixed FreeBSD 1.x and 2.x; same problem.
        Changed sco_sl makefile entry.
    1.14
        Fixed problem with display widths in conjunction with
        ignore/include lists.
    1.13
        changed default length of filesystem type field to 7.
        new debug 'all' format.
        check for 0 fragment size; replace w/block size if we have it.
    1.12
        sco nfs 'nothing' fix.
        freebsd 2.x; better freebsd filesystem types.
    1.11
        bsdi
    1.10
        added freebsd.
    1.9
        makefile fixes.
    1.8
        removed mount option junk.
        added AIX.
    1.7
        cleaned up sgi in the makefile.
        changed linux to be w/o need_statfs_defs.
        solaris cdrom returning all sorts of negative values.
        T format option.
        mount options.
        SunOs filesystem type info.
    1.6
        ultrix bug fixes.
        add dynix to makefile.
    1.5
        sun had f_bfree instead of f_bavail!
        xenix, linux, sco
        -w, -W, -B.
        fixed width for -f M, -f S.
        usage.
        Allow other characters in format string.
        1.51 (local, pat@rwing)
            SunOS *does* support filesystem type info.  Its all in the
            mntent structure, but requires a small bit of work (see source).
    1.4
        -f B
        bcopy.
        solaris cdrom reports -2 for free blocks.
    1.3
        Command line specification of filenames.
        sort output.
        osf/1, ultrix.
        -F, -f M, -F S.
    1.2
        # of inodes can be -1L
        return code for getDiskInfo shouldn't be checked.
        name of mount point must be maxpathlen.
        error conditions.
        pyramid.
    1.1
        initial release

ACKNOWLEDGEMENTS

    And for their comments and/or source and/or
    manual pages and/or bug fixes, thanks!

        jjb@NOSPAM-jagware.bcc.com (J.J.Bailey)
        vogelke@NOSPAM-c-17igp.wpafb.af.mil (Contr Karl Vogel)
            [pyramid]
        costales@NOSPAM-ICSI.Berkeley.EDU (Bryan Costales)
        Mark Neale <mark@NOSPAM-edscom.demon.co.uk>
        Pat Myrto <pat@NOSPAM-rwing.uucp>
            [sunOS filesystem type stuff]
        henrikar@NOSPAM-utctu1.ct.utwente.nl (Henri Karrenbeld)
            [sgi]
        Peter Bray <Peter.Bray@NOSPAM-serg.cse.unsw.edu.au>
        gsipe@NOSPAM-pyramid.com (George M. Sipe)
            [manual page]
        Jeffrey Mogul <mogul@NOSPAM-pa.dec.com>
            [ultrix, osf/1, manual page, new format options]
        thomas@NOSPAM-idx.kodak.com (Th. Bullinger)
            [help usage]
        Seth Theriault <seth@NOSPAM-connact.com>
            [next, tru64]
        steve@NOSPAM-nshore.org (Stephen J. Walick)
            [SCO]
        Gerald Rinske <gerald@NOSPAM-D012F291.mch.sni.de>
            [sgi]
        Mike Grupenhoff <kashmir@NOSPAM-snare.dorm.umd.edu>
            [linux]
        R.K.Lloyd@NOSPAM-csc.liv.ac.uk
            [hpux]
        "William Gibbs" <bill@NOSPAM-wgc386.MV.COM>
            [xenix]
        Randy Thompson <randyt@NOSPAM-sequent.com>
            [sequent]
        eriko@NOSPAM-risc.austin.ibm.com (O'Shaughnessy Erik)
            [aix]
        Bill Davidsen <davidsen@NOSPAM-tmr.com>
            [linux, SCO, etc., new format options]
        fredex@NOSPAM-fcshome.stoneham.ma.us (fred smith)
            [coherent 4.2.05]
        bag@NOSPAM-clipper.cs.kiev.ua (Andrey Blochintsev)
            [bsdi]
        ginsbach@NOSPAM-spacestar.net (Brian Ginsbach)
            [netbsd, irix, unicos]

        et. al.

COPYRIGHT

    Copyright 1994-2003 Brad Lanam, Walnut Creek, CA, USA
    bll@gentoo.com
    http://www.gentoo.com/di/
    http://www.gentoo.com/di/di-3.7.tar.gz
