==============================================================================

        WhatIs This File ?              V2.5
        © J.Tyberghein                  Tue Apr  7 14:46:07 1992

==============================================================================



Preface
-------
  This utility gives you all useful information it can obtain from a file.
  WHATIS recognizes IFF files, object files and executables (hunks),
  Aztec object files, crunched data files (with the PowerPacker), archives
  like ZOO, ARC, ZIP, Lharc and ArcFiles (my own archiver), UUEncoded files,
  .info files, Lattice PGTB files, Warp files (disk warper), WordPerfect
  files and macros, MaxiPlan files, font header files, crunched command
  files (with the PowerPacker and some other crunchers), PowerWindows files,
  ReSource files, sonix samples, the Preferences file (system-configuration),
  DBase III files, PCX files, GIF files, TIFF files, Sun raster files,
  PVSD files (used by PowerVisor), some Microsoft PC files, Turbo Pascal
  unit files, PC library files, PageStream font files, PageStream document
  files, ProDraw font files, ProDraw Clips files, ProDraw data files, DVI
  files (used by TeX), FLib archive files (mostly used by TeX), PowerVisor
  machinelanguage script files, GCC object and library files, CompuGraphic
  files, JamCracker song files, TFMX song files and OctaMed files.
  In addition it will print all information for this file.
  If you specify a device or directory instead of a file, you get more
  system information.
  If WHATIS doesn't recognize your file, it will check if the file could
  be ASCII.

  This program (WHATIS V2.5) is shareware, but I also like utilities.
  If you want to send money, send me a contribution of $10 US
  ($15 if you want to get a new update (when one is available)).
  Please send money by international money order, EuroCheck (in Belgian
  Francs (BEF) !) or cash, because it's very difficult for me to cash in
  other checks.
  If you want an update please state your current version.
  If you want to use this program for commercial purposes please write
  for permission !

  If you have any suggestions or remarks you can write to (Bug reports are
  welcome too)

                            Jorrit  Tyberghein
                             Hepmansbossen 31
                           2450 Meerhout BELGIUM

  WHATIS is not perfect. There are still many files it doesn't recognize.
  I would appreciate it if you'd send me all files which are not supported
  yet and are common. If you have a description of these files please
  send this also. So I don't have to dig in the files myself.
  I don't know the full format for Zoo, Arc and LHarc. If someone out there
  could send this information to me I can implement a 'list-file' feature
  in WHATIS.
  If someone has the information for ALL hunks available in 2.0, this
  description would also be greatly appreciated.


NOTE
----
  If you want to use this utility you must have AmigaDOS 2.0 (or later :-).
  WHATIS is reentrable so you can use it with ARes, Resident, ...
  There are still some unsupported hunks in object files. These occure in
  some new Lattice object files. As soon as I have information about these
  new hunks, these shortcomings will be removed.


Changes
-------
  New in 1.2:
    Support for ATAK,RLSE,VHDR,SHDR,CAMG,CRNG and FONS chunks (for IFF files)
    ASCII and DIAG options
    Lattice hunk support is better (but not best)
  New in 1.2a:
    Support for ANHD and CCRT chunks (IFF)
    Show preferences information
    More information in hunks (BSS and chip)
    More information in INS1 chunk (IFF)
    Protection bits now show in right order
    New IDENT option
    Speed optimization
  New in 1.3:
    New WHATIS option (is default)
    WHATIS recognizes font headers
    WordPerfect files and macros
    Sonix samples
    PowerWindows files
    MaxiPlan files
    LHarc files
    ReSource files
    Crunched executables (PowerPacker,...)
  New in 2.0:
    Arp dependancy removed.
    Made conform with AmigaDOS 2.0 commandline standard.
    Hunks are a very little bit better (only a VERY little bit)
    New flag in FileInfoBlock (FastFileSystem) supported.
    It's now possible to start WHATIS from workbench.
    Made completely resident.
    New PAGE option.
  New in 2.1:
    You can now use wildcards !
    PCX and TIFF file support (PC graphics format).
    GIF 87a and 89a support (graphics).
    Sun rasterfile format (graphics).
    PVSD file support.
    DBase III files.
    Bug solved with recognition of preferences file.
    More support for PowerPacker executables.
    Microsoft Windows bitmap files.
    Microsoft Windows help files.
    Microsoft font or exec files.
    Microsoft Word files.
    Turbo pascal unit files.
    PC library file.
    ASCII percentage computing is correct now.
    New PATH option.
    New NOANSI option.
    Bug solved in info for devices and subdirs.
  New in 2.2:
    Bug solved in LHarc file recognition
    DVI files
    PageStream font and document files
    FLib files
    PDraw font, clips and data files
    PowerVisor machinelanguage script files
  New in 2.3:
    Bug solved in output (this bug was only visible when the output of
      Whatis was redirected to a file)
  New in 2.4:
    Support for PowerPacker 4.0 ifles
    DynaCADD Vector font format added
    DynaCADD Part file added
    support for BootX brain files
    Support for two new IFF FORMS (CTLG and PREF)
  New in 2.5:
    Fixed bug in workbench usage text (order of click and shift click
      was reversed)
    WhatIs gives the version number for the LHarc files (and thus recognizes
      the new -lh5- algorithm used by 'lz' and 'lha')
    WhatIs also recognizes the following files :
      Gnu C object files
      Gnu C library files
      ZIP archive files
      CompuGraphic otag font files
      CompuGraphic font header files
      CompuGraphic bullet outline files
      JamCracker song files
      TFMX song files
      OctaMed song files
      OctaMed sample files


Supported files and features for the current version
----------------------------------------------------
  DVI files (no further info)
  FLib files (the complete directory is given including size and offset)
  PageStream font files (no further info)
  PageStream document files (no further info)
  ProDraw font files (no further info)
  ProDraw clips files (no further info)
  ProDraw data files (no further info)
  PCX files (display image dimensions)
  TIFF files (no further information)
  GIF 87a and GIF 89a files (display image dimensions)
  Sun rasterfiles (display image dimensions)
  PVSD files (PowerVisor Structure Definition) (no further information)
  PV10 files (PowerVisor machinelanguage script files) (no further info)
  DBase III files (nr of records, record size, last updated)
  Microsoft Windows bitmap files (no further information)
  Microsoft Windows help files (no further information)
  Microsoft font or exec files (no further information)
  Microsoft Word files (no further information)
  Turbo pascal unit files (no further information)
  PC library files (no further information)
  BootX Brain files (no further information)
  DynaCADD Vector font format files (no further information)
  DynaCADD Part files (no further information)
  Lattice ProGram TraceBack format (display all available information)
  Warp file format (diplay file version number)
  UUEncoded files (display name and size)
  Zoo (simply state version)
  Arc (no further information)
  ArcFiles version 1.2 (QuickHelp Archiver) (list files in archive)
  LHarc (version number -lh1- or -lh5- is given)
  ZIP archive file (no further information)
  CompuGraphic otag font file (no further information)
  CompuGraphic font header file (no further information)
  CompuGraphic bullet outline file (no further information)
  JamCracker song file (no further information)
  TFMX song file (no further information)
  OctaMed song file (no further information)
  OCtaMed sample file (no further information)
  Sonix sound files (no IFF, no further information)
  PowerWindow files (no further information)
  WordPerfect files and macros (no further information)
  MaxiPlan files (no further information)
  ReSource files (no further information)
  Crunched command files (version and hunks)
    PowerPacker 1.0 to 4.0 (including overlays, encrypted files and files
                            with library headers)
    TNM cruncher 1.1
    Relokit 1.0
    HQC 2.0
    MasterCrunch 3.0
    DragPack 1.0b
    TurboSqueeze 5.1
    Titanics 1.1
    Titanics 1.2
  .info files (display gadget structure, DiskObject type and coordinates)
  Aztec object files (no further information)
  Aztec library files (list all functions in library)
  Gnu C object files (no further information)
  Gnu C library files (no further information)
  Preferences file (display the complete contents of the file)
  Hunks (Object files and executables) (list all hunks and display
    information for each hunk)
  IFF
    Supported IFF formats:
      PREF  AmigaDOS 2.0 preferences file
      CTLG  Locale Catalog file
      ILBM  Interleaved BitMap
      FTXT  Formatted text
      PICS  QuickDraw picture
      SMUS  Simple Musical Score
      ANIM  Cel Animation Form
      8SVX  8-bit Sampled Voice
      ACBM  Amiga Contiguous BitMap
      AIFF  Apple Audio Samples
      ANBM  Animated BitMap Form
      BANK  MIDI system-exclusive data dump
      HEAD  Idea processor Form
      MIDI  MIDI Form
      PGTB  ProGram TraceBack diagnostic dump image (not really IFF)
      SYTH  SoundQuest Master Librarian format for MIDI
      WORD  Word processing form used by ProWrite
      PDEF  Deluxe Print page definition
      RGB4  4 bit RGB pixel information
      SHAK  Used by Shakespeare (private)
      VDEO  Used by Deluxe Video
      SAMP  Sound Sample Form
      TDDD  Used by Turbo Silver (ray tracing)
      SC3D  Used by Sculpt-3D
      TEXT  Plain unformatted ASCII text
      FNTR  Raster font
      FNTV  Vector font
      GSCR  General-use musical score
      USCR  Uhuru Sound Software musical score
      UVOX  Uhuru Sound Software Macintosh voice
      other IFF formats will simply appear on the screen without further
      information (except for the listing of the chunks in the IFF file)
    Supported IFF chunks:
      LIST
      CAT
      CMAP  (ILBM) ColorMap
      CRNG  (ILBM) ColorRange cycling chunk (used by DeluxePaint)
      CCRT  (ILBM) Cycling chunk (use by Graphicraft)
      GRAB  (ILBM) For sprites or brushes
      CAMG  (ILBM) ViewModes for Amiga computers
      BMHD  (ILBM) BitMapHeader
      DEST  (ILBM) Destination chunk
      ANHD  (ANIM) Animation Header
      FONS  (FTXT) FontSpecifier
      VHDR  (8SVX) Voice8Header
      ATAK  (8SVX) Used to modulate sound
      RLSE  (8SVX) Used to modulate sound
      SHDR  (SMUS) SScoreHeader
      INS1  (SMUS) Musical instrument
      NAME  (SMUS) Name of the score
      (c)   (SMUS) Copyright message
      AUTH  (SMUS) Author of score
      ANNO  (SMUS) Text annotations of score
      other chunks will simply appear on the screen without further
      information


Cli Usage
---------

  +----------------------------------------------------------------------+
  | Commandline template:                                                |
  |   File/a,S=SHORT/s,M=MEDIUM/s,F=FULL/s,D=DIAG/s,I=IDENT/s,A=ASCII/n, |
  |   W=WHATIS/s,P=PAGE/n,PATH/s,NA=NOANSI/s:                            |
  |----------------------------------------------------------------------|
  | Usage:                                                               |
  |   WhatIs <File> [WHATIS | SHORT | MEDIUM | FULL | DIAG | IDENT |     |
  |                 ASCII <len>] [PAGE <pglen>] [PATH] [NOANSI]          |
  +----------------------------------------------------------------------+

    File   : You want info about a File, a device or a directory.
             You can use wildcards.
             For a device or a directory MEDIUM and FULL have
             the same meaning.
    WHATIS : Simply say what the file is (no further information) (default)
    SHORT  : Standard file info
    MEDIUM : SHORT and identification info
    FULL   : MEDIUM and diagnostic info
    DIAG   : Show only diagnostic info
             Diagnostic usage is divided into resource usage and
             byte count usage. Resource usage shows the libraries, devices,
             resources and fonts the program uses. This feature is only
             meaningfull if the file is an executable, an object file or
             a source file. There is no resource usage if identification is
             enabled and the file is not an executable or object file.
             Byte count usage shows the number of ascii characters (carriage
             return, tab and form feed included), the number of non ascii
             characters (between 127 and 255), the number of control codes
             (between 0 and 31) and the number of lines.
    IDENT  : Show only identification info
             If you enable this option, WHATIS will try to recognize your
             file. If it succeeds WHATIS will give you as much information
             as possible. Otherwise WHATIS will tell you how likely it is
             that this file is ascii.
             If <File> is a device you will get some more information about
             this device.
    ASCII  : Dump ascii in file
    Len    : Minimum linelength for ASCII dump
    PAGE   : If this option is given, WHATIS will give a prompt after each
             block of <pglen> lines.
    PATH   : WhatIs displays each file before dumping the information.
             Use this option If you want to display the full path for each
             file.
    NOANSI : WhatIs displays each filename in bold, unless you use this
             option.



Workbench Usage
---------------

  Click on the WhatIs icon (or the other equivalent WhatIs... icons (see
  below)) and, while holding shift, double click on the icon you want to
  examine. A console window will appear with the information you asked for.
  Press enter or click on the close gadget if you are ready. (Note that you
  can change the dimensions of this output window if you do not like the
  default (see below)).

  Because there is no commandline in the workbench you must supply the
  arguments for WHATIS in the tooltypes. You do this by selecting the WHATIS
  icon and choosing 'Information' in the workbench 'Icons' menu. See your
  manual for more details.
  This is not very handy when you often use other options. Therefore I
  suggest the following:
    Open a shell if you had not already done this.
    Go to the subdirectory where you have put WHATIS.
    Let say that you want to make a WHATIS that gives you all information
    from a file (The FULL option), The normal WHATIS with no tooltypes
    gives only one line information.
    Type
      'makelink WhatIsFull WhatIs'.
    This command makes a new directory entry (WhatIsFull) that points to
    the same file as 'WhatIs'. The following command would have been
    correct too:
      'copy WhatIs WhatIsFull'
    but in this case you loose disk space.
    Then you type
      'copy WhatIs.info WhatIsFull.info'
    You must copy the info files because these are going to be different
    (Two linked files are always equal because they are in fact one and
    the same).
    Go to the workbench and add the 'ACTION=FULL' tooltype to WhatIsFull.
    You have now two different programs, but you only use disk space for
    one :-)
    You can of course repeat this procedure as many times as you like.

  The following tooltypes are supported:
    ACTION=<action>
        <action> is one of FULL,SHORT,MEDIUM,WHATIS,ASCII,IDENT or DIAG.
        See the cli usage for a description.
        WHATIS is the default.
    LEN=<length>
        <length> is the minimum line length for the ASCII dump. This tooltype is
        ignored if the ASCII action is not given.
        6 is the default line length.
    PAGE=<page length>
        If this tooltype is given, WHATIS will give a prompt after each
        block of <page length> lines.
    WINDOW=<window specification>
        This tooltype describes the output window for WHATIS.
        When you omit this tooltype the output window is:
            con:0/0/640/200/WhatIs window/close
        The first four integers after 'con:' are the window dimensions
        (left, top, width, height). The following string is the window
        title. After the window title come the options (new to AmigaDOS
        2.0). Here are some of these options:
            close : The output window has a close gadget.
            nodrag : You can't drag the output window.
            nosize : You can't size the output window.
            nodepth : The window does not have a depth gadget.
        For example:
          con:0/0/640/512/my window/close/nodrag/nosize
        is a valid output window.
    PATH
        Use this tooltype if you want to display the full path name for
        your file. (PATH is not useful in the workbench).
    NOANSI
        Use this tooltype if you do not want the filename in bold.


Examples
--------

  'WhatIs KingTut m' for cli          (KingTut is a graphic image)
    or
  WhatIs with tooltype ACTION=MEDIUM in workbench

    you will get the following output (or something equivalent):

    |  KingTut : FileInfoBlock:
    |     File         : KingTut
    |     DirEntryType : -3
    |     Protect      : rwed
    |     Size         : 25728       NumBlocks : 51
    |     Last changed : 15-Oct-89 10:54:52 (Sunday)
    |     Comment      :
    |
    |  IFF file
    |    FORM  ILBM   (25720 data bytes)
    |      Interleaved BitMap
    |      BMHD
    |        width   :   320     height  :   200
    |        x       :     0     y       :     0
    |        nPlanes :     5     Masking :     0
    |        xAspect :    10     yAspect :    11
    |        PageWid :   320     PageHei :   200
    |        Compression       : 1
    |        transparent color : 0
    |      CMAP  (96 bytes)
    |      DPPS
    |      CRNG
    |        Rate :     0     Flags : RNG_ACTIVE
    |        Low  :    20     High  :    31
    |      CRNG
    |        Rate :  2730     Flags : RNG_ACTIVE
    |        Low  :     3     High  :     7
    |      CRNG
    |        Rate :  2730     Flags : RNG_ACTIVE
    |        Low  :     0     High  :     0
    |      CRNG
    |        Rate :  2730     Flags : RNG_ACTIVE
    |        Low  :     0     High  :     0
    |      BODY

  'WhatIs file.c s' for cli
    or
  WhatIs with tooltype ACTION=SHORT in workbench

    you get only the basic information

    |  file.c : FileInfoBlock:
    |     File         : file.c
    |     DirEntryType : -3
    |     Protect      : rwed
    |     Size         : 146       NumBlocks : 1
    |     Last changed : 17-Dec-89 20:37:04 (Sunday)
    |     Comment      : This is an example file

  'WhatIs ram: medium' for cli
    or
  WhatIs with tooltype ACTION=MEDIUM in workbench

    |   : FileInfoBlock:
    |     Directory    : RAM DISK
    |     DirEntryType : 2
    |     Protect      : rwed
    |     Size         : 0       NumBlocks : 1
    |     Last changed : 18-Dec-89 17:29:22 (Monday)
    |     Comment      :
    |
    |  InfoData:
    |     UnitNumber    : -1
    |     NumSoftErrors : 0
    |     NumBlocks     : 3       NumBlocksUsed : 3
    |     BytesPerBlock : 488
    |     Disk is validated
    |     Dos disk
    |     Disk in use
    |
    |  DeviceList:
    |     Volume
    |     Creation date : 01-Jan-78 00:00:61 (Sunday)
    |     DiskType      : 444F5300

  'WhatIs c:WhatIs f' for cli
    or
  WhatIs with tooltype ACTION=FULL in workbench

    Give full information

    |  WhatIs : FileInfoBlock:
    |     File         : WhatIs
    |     DirEntryType : -3
    |     Protect      : rwed
    |     Size         : 14940       NumBlocks : 30
    |     Last changed : 17-Dec-89 17:07:02 (Sunday)
    |     Comment      : © J.Tyberghein
    |
    |  Executable file
    |     Hunk   0 : header
    |                   Resident libraries:
    |                   Table size : 2
    |                   First Hunk : 0
    |                   Last Hunk  : 1
    |                code    (14568 bytes)
    |                reloc32 (1 entries)
    |                end
    |     Hunk   1 : data    (160 bytes)  (0 bss)
    |                reloc32 (2 entries)
    |                end
    |
    |  Diagnostic research...
    |     Resource usage:
    |        arp.library
    |        dos.library
    |     Byte count:
    |        8705 normal characters (58 %)
    |        2691 non ascii characters (18 %)
    |        3455 control codes ( <32 ) (23 %)
    |        164 lines

  'WhatIs disk.info ident' for cli
    or
  (no equivalent in workbench because you can't select an info file)

    |  disk.info : .info file  version 1
    |     icon gadget:
    |        LeftEdge 406, TopEdge 23
    |        Width 141, Height 74
    |        Flags GADGHIMAGE, Activation RELVERIFY GADGIMMEDIATE
    |        GadgetType BOOLGADGET
    |     DiskObject type WBDISK
    |     Current X 406   Current Y 23

  'WhatIs II.smus m path' for cli
    or
  WhatIs with tooltype ACTION=MEDIUM and PATH in workbench

    |  work:music/instruments/II.smus : FileInfoBlock:
    |     File         : II.smus
    |     DirEntryType : -3
    |     Protect      : rwed
    |     Size         : 1456       NumBlocks : 3
    |     Last changed : 03-Nov-89 15:05:22 (Friday)
    |     Comment      :
    |
    |  IFF file
    |    FORM  SMUS   (1448 data bytes)
    |      Simple Musical Score
    |      SHDR
    |        Tempo  : 16047
    |        Volume :   127     ctTrack :   4
    |      NAME  Sphere
    |      SNX1
    |      INS1  (  0) NAME sphere
    |      INS1  (  1) NAME human
    |      INS1  (  2) NAME SynthiI
    |      INS1  (  3) NAME explosion
    |      INS1  (  4) NAME no
    |      INS1  (  5) NAME EffectII
    |      INS1  (  6) NAME synthiII
    |      INS1  (  7) NAME BassdrumI
    |      INS1  (  8) NAME SphereI
    |      TRAK
    |      TRAK
    |      TRAK
    |      TRAK

  'Whatis c:avail a 8' for cli
    or
  WhatIs with tooltypes ACTION=ASCII and LEN=8 in workbench

      Show all ascii lines with length greater than 8 and the offsets
      in the file.

    |  avail : Ascii listing:
    |  00000064: PONudos.library
    |  00000074: you need arp.library
    |  000001E6: NuUsage: Avail [CHIP|FAST] [TOTAL] [FLUSH]
    |  00000211: CHIP/s,FAST/s,TOTAL/s,FLUSH/s
    |  0000022F: Avail: %s
    |  0000023A: Type  Available    In-Use   Maximum   Largest
    |  00000268: %s %9ld %9ld %9ld %9ld

  'Whatis :graphics/dpaintIII' for cli
    or
  WhatIs with no ACTION tooltype in workbench

    |  DPaintIII : Crunched executable with PowerPacker 3.0 (overlays)

  'Whatis work:c/#?' for cli
    or
  (no equivalent in workbench because you can't use wildcards there)

    |  WhatIs.info                    : .info file  version 1
    |  .info                          : ± 94 % ASCII chars
    |  Push                           : Executable file
    |  Crunch20                       : Crunched executable (PowerPacker 2.0)
    |  Crunch21                       : Crunched executable (PowerPacker 2.0)
    |  Shar                           : Crunched executable (PowerPacker 2.1-2.3)
    |  WhatIs                         : Executable file
    |  Crunch23                       : Crunched executable (PowerPacker 2.1-2.3)
    |  DeCrunch20                     : Crunched executable (PowerPacker 2.0)
    |  files                          : Executable file
    |  touch                          : Executable file
    |  Decrunch21                     : Executable file
    |  pushdemo                       : ± 100 % ASCII chars
    |  Decrunch23                     : Crunched executable (PowerPacker 2.1-2.3)
    |  Fiz                            : Crunched executable (PowerPacker 2.1-2.3)
    |  mdevinfo                       : Crunched executable (PowerPacker 3.0)
    |  less                           : Crunched executable (PowerPacker 1.0)
    |  BtoA                           : Crunched executable (PowerPacker 2.1-2.3)
    |  speed                          : Crunched executable (PowerPacker 2.1-2.3)
    |  uudecode                       : Crunched executable (PowerPacker 2.1-2.3)
    |  mrawchk                        : Crunched executable (PowerPacker 3.0)
    |  Lharc                          : Crunched executable (PowerPacker 2.1-2.3)
    |  WinSize                        : Crunched executable (PowerPacker 2.1-2.3)
    |  EtoA                           : Crunched executable (PowerPacker 2.1-2.3)
    |  MKill                          : Crunched executable (PowerPacker 1.1)
    |  Zap                            : Crunched executable (PowerPacker 2.1-2.3)
    |  cmp                            : Crunched executable (PowerPacker 2.0)
    |  Arc                            : Crunched executable (PowerPacker 2.1-2.3)
    |  AtoE                           : Crunched executable (PowerPacker 2.1-2.3)
    |  uuencode                       : Crunched executable (PowerPacker 2.1-2.3)
    |  ...


==============================================================================

                         End of WHATIS 2.5 document

==============================================================================
