/* Sizer.h

   by Fabbian G. Dufoe, III
      350 Ling-A-Mor Terrace South
      St. Petersburg, Florida  33705
      813-823-2350

      GENIE: F.DUFOE3

   This software is in the public domain.  You may use it any way you wish.

   This file contains the definitions and declarations used in Sizer.

   Revision summary:
   15 October 1991: Initial release

   13 June 1992:
      Replaced "blocks" field in record structure with OFSblocks and
      FFSblocks for reporting both old file system and fast file system
      blocks.
*/

#include <proto/all.h>
#include <stdlib.h>

enum TCode        /* Transaction code */
{
   CLOSEIO,       /* Program is finished with I/O channel, close it. */
   DONE,          /* Program completed normally. */
   FAIL,          /* Program failed, stop immediately. */
   NORM           /* Program operating normally. */
};

struct record
{
   enum TCode code;  /* Transaction code */
   long bytes;       /* Number of bytes in the file */
   long OFSblocks;   /* Number of OFS blocks in the file */                   /* 13 June 1992 */
   long FFSblocks;   /* Number of FFS blocks in the file */                   /* 13 June 1992 */
   long files;       /* Number of files sized so far */
   long dirs;        /* Number of directories sized so far */
};


#ifndef __NOPROTO
#ifndef __PROTO
#define __PROTO(a) a
#endif
#else
#ifndef __PROTO
#define __PROTO(a) ()
#endif
#endif


/* Prototypes for functions defined in Sizer.c */

void main __PROTO((int argc,
                   char **argv));

/* Prototypes for functions defined in SizerW.c */

void SizerIO __PROTO((struct record *Record));
