FIXUTIL is a general maintenance utility to be used with ALLFIX.
FIXUTIL <commands> [parameters]

AllfilesCreate an ALLFILES listings.
PackPack history or statistics file.
DescribeImport fileecho descriptions from FILEBONE.RA.
StatDisplay fileecho statistics.
UpdateCrcUpdate the CRCs in the .TIC files.
BuildDataBaseBuild files database for new file report scanning.
PurgePurge fileechos.
SortFILES.BBS (not ALLFIX!)Sort FILES.BBS files for all BBS file areas.
CompileRequestIdxCompile a list of all of the files available for file requesting into one data file called REQUEST.IDX.
ProcessTemplateProcess a template file and write output to a text file.


The Allfiles command has one paramter, namely, the name, also referred to as the "tag", of the allfiles definition in ASETUP.
Where the tag "ALLFILES" is the name of an Allfiles entry in ASETUP. It is also possible to generate all allfiles defined in ASETUP, at once. In order to do that, simply do not include a tag on the command line. For example, simply calling up "FIXUTIL Allfiles" will generate all of the allfiles listings.


The Pack command has one parameter.
Packing the statistics file trims the file to the maximum size, as specified in the Global options menu. The statistics information is stored in the file called STATFILE.FIX and STATFILE.IDX.


The Describe command can be used to update the fileecho descriptions with the standard descriptions as specified in the FILEBONE.NA file. FIXUTIL can also import the fileecho descriptions from the echolist file that can be created with ASETUP.
The format of the FILEBONE.NA file is as follows:
Area [fileecho] [priv level] [locks] [description]
Example of FILEBONE.NA file:
Area BACKBONE 0 ! National: Area Lists of FidoNet BackBone
Area SERVICES 0 ! FDN: File Distribution Networks Joint Letter
The privilege levels and locks are not used by ALLFIX, and will be ignored by FIXUTIL.
The format of the echolist file is as follows:
[fileecho] [description]
Example of an echolist file:
BACKBONE National: Area Lists of FidoNet BackBone
SERVICES FDN: File Distribution Networks Joint Letter
FIXUTIL, by default, expects a FILEBONE.NA file. The -EchoList switch must be used on the commandline when an echolist file is being used. FIXUTIL supports two other commandline switches: - RemoveGroup; The fileecho descriptions in a FILEBONE.NA file contain the name of the group to which that fileecho belongs. This switch tells FIXUTIL to remove the groupname from the description; -NotOverWrite; This switch tells FIXUTIL to only update fileechos that do not have a description. Normally, FIXUTIL will update all the descriptions, replacing those that are already defined.


The Stat command tells FIXUTIL to generate some fileecho statistics. The statistics information is read from the STATFILE.FIX and STATFILE.IDX files. FIXUTIL can create .ANS and .ASC files if a filename is supplied on the commandline. The filename may contain paths, but can not contain any extensions as those will added automatically.
The above example will create two files, AFIXSTAT.ANS and AFIXSTAT.ASC in the directory C:\RA\TEXT.


The UpdateCrc command will recalculate the CRCs for the files still waiting to be sent out. This option only works for .TIC files that have not been compressed into TIC archives.


The BuildDataBase command tells FIXUTIL to generate the FILES.FIX database files in each of the BBS file areas configured in the BBS new file dirs menu and in any of the directories in which the HatchNew magic filename function is being used.
The FILES.FIX files are bayer tree files that contain information about each file in the directory. When a new file is uploaded or placed in the directory by the SysOp, ALLFIX will be able to tell that it is new by checking to see if it is in the database.
Bayer trees are extremely fast database structures and this method is only a little bit slower than scanning the file dates, as previous versions of ALLFIX did, but it is a lot more reliable.
Sometimes it is not desirable to rebuild all of the FILES.FIX files. For large systems, this process could take quite some time. In those situations, the -CreateMissing switch can be used to only build those FILES.FIX files that are missing.


The Purge command can be used to maintain the fileecho destination directories. In the fileecho manager, there are three options that can be used to determine the maximum number of files, the maximum number of kilobytes, and the maximum age of files in a destination directory. Running FIXUTIL Purge will remove all the necessary files from the destination directories so that the above requirements are met. For example, if the maximum number of files in a destination directory is set to 500, and there are currently 510, running the Purge command will delete the 10 oldest files.


The SortFILES.BBS command tells FIXUTIL to sort the FILES.BBS files in each of the BBS filearea directories. FIXUTIL takes extended descriptions and comments into consideration when sorting the files. Each list of files separated by empty lines or comments is treated as a block and sorted independent of the rest of the file. This sort routine also takes extended descriptions into consideration when sorting the files.
This command supports one switch, namely the ?UpdateCounters witch which tells FIXUTIL to format the download counters in the FILES.BBS files according to the download counter configured in ASETUP. Download counters which are smaller (ie. contain less digits) than the one in defined in ASETUP will be expanded, and those that are larger (ie. contain more digits) will be shortened. All download counters will begin on column 14 and the description will begin one space after the download counter. New download counters are added to any files that do not yet have one.
FIXUTIL will ONLY update the download counters if one has been defined in ASETUP. This means that the download counters will NOT be removed if one has not been defined in ASETUP. This is a safety feature to prevent unnecessary problems.


The CompileRequestIdx command tells FIXUTIL to compile all of the files that are available for file requests into one datafile with the REQUEST.IDX. This file is used by the rqeuest processor to find the files faster. If a REQUEST.IDX file is present, the request processor will use the file instead of actually scanning all of the file areas or the list directories. Because this file is not automatically updated when new files are received, it is very important that the REQUEST.IDX be updated on a periodic basis, for example, once a day, in order to remain up to date.
If the request processor has problems finding files that are on the BBS and in the correct areas, the first thing to do is to delete the REQUEST.IDX file. Without that file, ALLFIX will scan each directory at the moment it is processing a file request. If it finds the files, then that means that the REQUEST.IDX file was not up to date. Running FIXUTIL with this command should update the file and the request processor should work fine from that point on.


The ProcessTemplate command can be used to process a template and store the output in a text file. The command uses two parameters, namely the name of the template and the name of the text file to create.
All AreaMgr and Notify type of templates can be used. The templates can, obviously, not contain any of Node (those in the Node manager) specific macros. The templates can also not (yet) contain macros that pertain to individual files in the fileechos.
Where FILEBONE is the name of a template, and FILEBONE.NA is the name of the text file to create.