home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Professional
/
OS2PRO194.ISO
/
os2
/
com
/
bbs
/
downsrt
/
downsort.doc
< prev
next >
Wrap
Text File
|
1991-06-16
|
105KB
|
2,746 lines
DOWNSORT
Maximus CBCS DOWNload file SORT and List Utility (OS/2 and DOS)
Version 5.1
June 16, 1991
Rob Hamerling
Vianen, The Netherlands
Phone: ++31-3473-72136 (voice)
FIDO-net: 2:512/4.1098
Maximus Download File Sort and List Utility (OS/2 and DOS)
Maximus Download File Sort and List Utility (OS/2 and DOS)
CONTENTS
About DOWNSORT . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Registration and Shareware Fee . . . . . . . . . . . . . . . . . . . . 1
Warranty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
What DOWNSORT can do for you . . . . . . . . . . . . . . . . . . . . . 3
Purpose and Objectives . . . . . . . . . . . . . . . . . . . . . . . . 3
Functional Description . . . . . . . . . . . . . . . . . . . . . . . . 3
File-dates and HPFS . . . . . . . . . . . . . . . . . . . . . . . . 3
File reports (list types) . . . . . . . . . . . . . . . . . . . . . . 4
ORPHAN report . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
BBS-list . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
NEW-list . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
ALL-list . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
IPF-list . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
GBL-list . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
FILES.BBS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
General notes about the lists . . . . . . . . . . . . . . . . . . . . 6
How to use DOWNSORT . . . . . . . . . . . . . . . . . . . . . . . . . 8
Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Commandline parameters . . . . . . . . . . . . . . . . . . . . . . . . 8
Configuration file . . . . . . . . . . . . . . . . . . . . . . . . . 13
Parameters with global scope . . . . . . . . . . . . . . . . . . . 13
Parameters with local scope . . . . . . . . . . . . . . . . . . . . 13
Usability hints . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Specification of AREA.DAT . . . . . . . . . . . . . . . . . . . . . 14
Location of FILES.BBS . . . . . . . . . . . . . . . . . . . . . . . 15
Privilege control . . . . . . . . . . . . . . . . . . . . . . . . . 15
Orphan report . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Duplicates . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
| Headers, Titles and Include files . . . . . . . . . . . . . . . . . 16
Privileges with File Request . . . . . . . . . . . . . . . . . . . 17
Sample specifications and usage . . . . . . . . . . . . . . . . . . . 17
DOWNSORT specification sample . . . . . . . . . . . . . . . . . . . 17
BinkleyTerm specification sample . . . . . . . . . . . . . . . . . 18
Dependencies and restrictions . . . . . . . . . . . . . . . . . . . . 19
Wishlist . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Known Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Packaging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
RUN-time material . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Source material . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Availability . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Internals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Development Environment . . . . . . . . . . . . . . . . . . . . . . . 23
Program Organisation . . . . . . . . . . . . . . . . . . . . . . . . 23
Main Data Organisation . . . . . . . . . . . . . . . . . . . . . . . 25
Storage and Performance . . . . . . . . . . . . . . . . . . . . . . . 27
Appendix A. History of changes . . . . . . . . . . . . . . . . . . . 29
Contents ii
Maximus Download File Sort and List Utility (OS/2 and DOS)
| Version 5.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Version 5.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Version 4.9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Version 4.8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Version 4.7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Version 4.6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Version 4.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Version 4.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Version 4.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Version 4.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Version 4.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Version 4.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Appendix B. Who use DOWNSORT? . . . . . . . . . . . . . . . . . . . 35
Appendix C. Sample Configuration File . . . . . . . . . . . . . . . 36
Contents iii
Maximus Download File Sort and List Utility (OS/2 and DOS)
ABOUT DOWNSORT
DOWNSORT was started a few years ago as a program for my own use when I was
SYSOP of the Bulletin Board PC-Square, to get overviews of my download
material for the users. The program name is related to the SORTing of the
collection of DOWNloadable files, in DOWNward time-stamp sequence and a
Bulletin was the only list that was produced at that time. Also PC-Square
was running BinkleyTerm and OPUS under DOS, and file-requesting was not so
popular then.
Now PC-Square runs with OS/2, BinkleyTerm and MAXIMUS CBCS, and I'm not the
SYSOP anymore but still strongly involved. As a contribution to PC-Square
and the large international Bulletin Board community of MAXIMUS CBCS
boards, I decided to upgrade my DOWNSORT program to the current software.
But at the same time a lot of improvements and extensions have been made:
many user-configurable options for many more output formats then the
| original DOWNSORT.
| The only dependency of DOWNSORT on MAXIMUS CBCS is a parameter-file
| AREA.DAT, which is usually created with a MAXIMUS utility (SILT(P)), which
| itself can be used without actually running MAXIMUS! This is the way I
| work for testing DOWNSORT.
"Appendix A. History of changes" on page 29 gives an impression of the
history.
DOWNSORT is now developed in an OS/2 environment, but it is distributed as
'family'-application: it runs under OS/2 and DOS.
REGISTRATION AND SHAREWARE FEE
DOWNSORT is a $ 0.00 Shareware Program. This means (to me) that you
respect the commonly known rules for shareware, but you don't have to pay
me anything.
Registration is voluntary: please send me a netmail message with your name
and (net-)address if you are a regular user of DOWNSORT as SYSOP. That
gives me an impression of the usage and the impact of changes to DOWNSORT.
If you tell me that you are running DOWNSORT on your Bulletin Board as
service to your users, I'll add your name to the reference list in
"Appendix B. Who use DOWNSORT?" on page 35 (if you like).
WARRANTY
For this price? You must be kidding! But I'll listen to your complaints
and suggestions, and if time permits, I'll work on the improvements you
suggest.
About DOWNSORT 1
Maximus Download File Sort and List Utility (OS/2 and DOS)
ACKNOWLEDGEMENTS
I would like to thank all users that contributed with constructive remarks
and encouraging appraisals. Without doubt Emmanuel Sandorfi of 2:320/5
holds the record in number of suggestions and amount of additionally
required programming effort. He also provided some additional title-fonts
(2 and 3).
I also would like to thank the regular users (SYSOP's of Bulletin Boards)
who made DOWNSORT much more popular than I ever dreamed of! A collection
of geographically dispersed Boards can be found in "Appendix B. Who use
DOWNSORT?" on page 35.
About DOWNSORT 2
Maximus Download File Sort and List Utility (OS/2 and DOS)
WHAT DOWNSORT CAN DO FOR YOU
DOWNSORT is a utility to make overviews of available download files for
Bulletin Board Systems (usually running MAXIMUS CBCS). The overviews
differ in sort sequence, purpose of use and size.
A report is produced for files that could not be listed for any reason.
PURPOSE AND OBJECTIVES
DOWNSORT is designed for the following purposes:
1. Produce different overviews of files which are available for download by
users of the Bulletin Board and by File Requestors. QUICK and EASY
retrieval is the main goal for the lists. Therefore many lists-types
and within a type several variations should be available: versatility
for SYSOP and users.
2. Report files which are not listed in FILES.BBS, or which privilege
(individual or its area) prevents it from being reported. This might be
caused by several circumstances:
■ a file belongs to a collection (area) with a higher privilege than
the selected report privilege (typically the upload area, but also
restricted collections for selected users).
■ a file appears in FILES.BBS after a ^Px-sequence that specifies a
higher privilege than the selected report privilege (newly uploaded
files in a combined up- and download directory).
■ an typing-error has been made in the filename.ext in FILES.BBS or a
file has been renamed without updating FILES.BBS.
■ a file is not listed in FILES.BBS on purpose by SYSOP, to prevent it
being downloaded other than by CO-SYSOP.
3. Must be able to run unattended (typically overnight).
4. Should not disclose files to users (file-requesters) without positive
agreement by SYSOP.
FUNCTIONAL DESCRIPTION
The program DOWNSORT may create several types of outputfiles.
FILE-DATES AND HPFS
One of the function of DOWNSORT is sorting on file date. Since the
introduction of HPFS in OS/2 version 1.2, there is not one single file-date
anymore! A file on an HPFS volume has different values for:
■ Creation date
■ LastAccess date
■ LastWrite date
What DOWNSORT can do for you 3
Maximus Download File Sort and List Utility (OS/2 and DOS)
The date you see normally in DIR-listings is the LastWrite date. Most
SYSOPs will have noticed that ZMODEM uploads and file-attaches give
file-dates corresponding to the (LastWrite-) date of the sending system.
And most utilities handle only this 'single' date. That means that 'old'
(ZMODEM-) uploaded files are generally not on top of the acquisition lists.
But HPFS stores the date of arrival on your system (Creation) as well.
DOWNSORT handles this Creation date since version 4.7, although the lists
(see below) contain the 'old fashioned' LastWrite date. This has the
following consequences:
■ A new acquisition is on top of lists (if that list is sorted on date),
and are marked in the lists as new (flag for an 'age' of a week or a
month).
■ The listed file-date is the 'ordinary' date. So users can judge for
themselves if the file is 'new' for them as well.
Note: The LastAccess date is not very relevant for the purposes of
DOWNSORT, although SYSOP may see when it was last downloaded.
FILE REPORTS (LIST TYPES)
DOWNSORT can produce several types of output reports, mostly indicated by
type of list. Below follows for each type of list e general description.
ORPHAN REPORT
This is a list of all files in download directories for which there is no
entry in the corresponding FILES.BBS file. The report contains date,
area-name and area-path of the orphan. The entries are sorted on area and
filename. Not reported are MAXIMUS system files like: FILES.?BS, *.BAK,
DIR.?BS and SYSTEM*.?BS.
Note: If there is an entry for a file in FILES.BBS without a description,
the file is NOT considered to be an Orphan!
BBS-LIST
This is a list of downloadfiles that came recently available
(DOWNSORT.BBS). The list may be sorted on date (newest first) or on
filename. It contains compiled MECCA control sequences, for direct use in
MAXIMUS bulletins: a user-privilege sensitive list! It might be a good
idea to put a translated [onexit] string, which translates to [^OFpath]
(without the brackets!). When a user exits from the BBS-list bulletin, it
will fall back to the exit-bulletin.
The length of the file (number of file-entries) may be limited by
parameters:
■ file-count
■ maximum privilege
What DOWNSORT can do for you 4
Maximus Download File Sort and List Utility (OS/2 and DOS)
(never more than available within the privilege limit). If neither
specified it will contain all available files in all download directories.
To make it a complete MAXIMUS bulletin-file a user-provided header is
included preceding the list and a trailer at the end of the list. Header
and trailer can be built by SYSOP, and may contain any information and
bulletin-control sequences (a sample is provided).
NEW-LIST
Basically the same list as above, but in simple ASCII format and without
inclusion of header and trailer files.
This list is suitable for file-requestors as brief overview of the latest
additions, updates or replacements.
ALL-LIST
A list of all downloadfiles by area in alphabetical sequence (per area) on
filename. Files of the same area are listed in groups, separated by
imbedded headers with area-name, -description, and -privilege. Actual
status information is provided in the area-header as well: area-filecount
and -bytecount, and latest acquisition (date and file-name).
At the end a SUMMARY report shows per area the area-title, file-count and
byte-count, and totals.
This list may be limited by the privilege parameter, but is not affected by
the specification of filecount-limit. The numbers in area-header and
summary report show only what is available for the particular privilege.
IPF-LIST
Same contents, but different format of ALL-list, only useful for OS/2 users
(OS/2 version 1.2+ under Presentation Manager). This file has the format
of an input-file for the Information Presentation Facility Compiler (IPFC).
GBL-LIST
Similar to ALL-list, but where ALL-list gives the files in groups per area,
the GBL-list ignores area-boundaries and gives a single group, sorted on
filename. For each file the area is mentioned. There is no area-summary.
SYSOP may choose which of both is suitable to make available to users, and
which to use for himself (or even both). The GBL-list is especially useful
to check on duplicates over area's. The GBL-list is not limited by the
filecount parameter.
What DOWNSORT can do for you 5
Maximus Download File Sort and List Utility (OS/2 and DOS)
FILES.BBS
A new "FILES.BBS" type of file may be (re-)created for every area. The
contents of the file-information will be about the same as the original
FILES.BBS, but with the following notes:
■ A header is generated with area-name, -title, and -privilege. Also the
total amount of files and bytes and the most recently acquired new file
in this area is part of the header information.
■ The entries are sorted on filename for all files with a privilege up to
and including the area-privilege.
■ Files can have a privilege other than the area-privilege when the
original FILES.BBS file does contain ^Pp-sequences ('p' being a
privilege letter). This construction will be rebuilt by DOWNSORT.
Files with a higher privilege than the area-privilege will follow after
a compiled MECCA-sequence (^Pp) in the new FILES.BBS. DOWNSORT respects
these indicators when reading FILES.BBS, so all file-privilege
information is retained. This ensures no accidental loss of
file-information, and the regular user won't see more than he should.
■ Wild-card specifications are not propagated to the new FILES.BBS.
■ The file description is kept internally as a single string of maximum
240 characters. When creating FILES.BBS files, this will be the file
format (single record per file-entry). The original FILES.BBS may
contain a (long) single string description, or multiple (short)
multiline descriptions. When encountering multiline descriptions in
input-FILES.BBS, DOWNSORT concatenates the separate description lines
with a single intermediate space up to a maximum of 240 bytes. This
| will be the output format if the FIL-list is requested.
| ■ All comments and alignments you may have worked on for many hours is
| discarded!
See for naming conventions and placements "Commandline parameters" on page
8.
GENERAL NOTES ABOUT THE LISTS
1. Dates are marked with a 'new'-indicator: a '*' if the file is only since
a week on this system, and a '+' if it is since a month. Filedates
later than the current system date are marked '-' (negative age).
2. In every outputfile the filename, MAXIMUS-area name, file-size and
-date, and file-description from FILES.BBS is listed. A report-line
will never display more than 79 characters.
The file-description will be multi-line in ALL-, IPF- and GBL-list if it
is longer than would fit on the standard 79-position line, a
word-wrapping technique is used for readability (line-split on word
boundary). The description is truncated at end of line in BBS-list and
NEW-list.
The -T option will force truncation of the description in all reports,
the -W option will allow multi-line descriptions in all reports.
What DOWNSORT can do for you 6
Maximus Download File Sort and List Utility (OS/2 and DOS)
If a filename is found in FILES.BBS, but no accompanying description, a
"--- no description available ---" will be put in place. A replacing
text may be specified with DOWNSORT.CFG.
Files for which there is no entry in the FILES.BBS (Orphans) are treated
as Hidden files, which are only listed in the reports if the Hidden
privilege is specified. For a way to override this see: "Orphan report"
| on page 15.
| Note: If you want the orphans to appear in FILES.BBS (or in any other
| report), you MUST also request an ORP-list!
3. The BBS-list contains MAXIMUS authorisation controls (^PLp-sequences),
corresponding to the privilege of the area or the individual file. So
it is not necessary to make different files for different categories of
MAXIMUS users, even with the default privilege-limit SYSOP a user will
not see the files he/she is not supposed to know about.
NEW- and ALL-lists do not contain any privilege information, the files
(or complete area's) above the specified privilege are simply not
listed, however multiple lists can be produced for different categories
of users (based on privilege).
What DOWNSORT can do for you 7
Maximus Download File Sort and List Utility (OS/2 and DOS)
HOW TO USE DOWNSORT
This chapter tells you how to install DOWNSORT, how to customise the
configuration file and what you might specify on the commandline.
A sample configuration file (in "Appendix C. Sample Configuration File" on
page 36) is part of the package. It contains a lot of comments (in Binkley
and MAXIMUS style) to help you with the changes.
INSTALLATION
With the following directions you should be able to setup and run DOWNSORT
after very short time.
1. Make a separate directory for DOWNSORT, and make it the current default
directory every time you run DOWNSORT. The separate directory is a
recommendation, not a requirement!
2. Copy the files DOWNSORT.EXE and DOWNSORT.CFG from the DOWNSORT package
into this directory.
3. Modify (edit) the file DOWNSORT.CFG to specify your environment and list
requirements. The sample file contains comments to help you with this
process. Most specifications are obvious. AreaDat is the most
important parameter: DOWNSORT won't do anything useful if it cannot find
this MAXIMUS file. See "Appendix C. Sample Configuration File" on page
36 for a printed sample.
4. You may give DOWNSORT a first shot by just using its name on the
commandline, with the parameter -H. This will show a brief HELP-screen
with the possible commandline parameter specifications.
5. All reports will be created in the DOWNSORT directory (unless you
specified 'fpath' for the FILES.BBS output). Browse the lists to see if
you like the contents and titles, and modify the CFG-file to your
convenience.
COMMANDLINE PARAMETERS
This paragraph deals only with the commandline parameters!
NOTE: Parameters from DOWNSORT.CFG are processed first, commandline
parameters may complete and (partly) override those in the configuration
file.
For how to read the command syntax diagram see OS/2 reference manual.
How to use DOWNSORT 8
Maximus Download File Sort and List Utility (OS/2 and DOS)
┌────────────────────────┐
v │
──┬─────────┬─┬────────┬─ DOWNSORT ────┬────────────────────┬─┴─────┤
└─ drive ─┘ └─ path ─┘ ├─ @filespec ────────┤
├─ BBS ─┬──────┬─────┤
│ └─ :p ─┘ │
├─ NEW ─┬───────┬────┤
│ └─ :pp ─┘ │
├─ ALL ─┬───────┬────┤
│ └─ :pp ─┘ │
├─ IPF ─┬───────┬────┤
│ └─ :pp ─┘ │
├─ GBL ─┬───────┬────┤
│ └─ :pp ─┘ │
├─ ORP ──────────────┤
├─ FIL ─┬──────────┬─┤
│ └─ :fpath ─┘ │
├─ nnn ──────────────┤
├──┬─ /T ─┬──────────┤
│ └─ /W ─┘ │
├──┬─ /A ─┬──────────┤
│ ├─ /D ─┤ │
│ └─ /K ─┘ │
├──┬─ /H ─┬──────────┤
│ ├─ /Q ─┤ │
│ └─ /V ─┘ │
└──── /X ────────────┘
@filespec The character '@' followed by a complete file specification of
the DOWNSORT configuration file (see "Configuration file" on
page 13 for details). This file will be used to specify
processing parameters. If the file cannot be read, only the
commandline parameters are used.
NOTE: The use of a configuration file is mandatory when the
file AREA.DAT is not in the default directory when running
DOWNSORT.
Default: DOWNSORT.CFG in current default directory.
BBS Create the BBS-list: DOWNSORT.BBS.
Default: DOWNSORT.BBS will not be created.
NEW Create NEW-list(s): DOWNSORT.N~p, where 'p' is the appropriate
privilege class (see below).
Default: DOWNSORT.N~p will not be created.
ALL Create ALL-list(s): DOWNSORT.A~p, where 'p' is the appropriate
privilege class (see below).
nnn-limit does not apply to ALL-list.
Default: DOWNSORT.A~p will not be created.
IPF Create IPF-list(s): DOWNSORT.I~p, where 'p' is the appropriate
privilege class (see below).
How to use DOWNSORT 9
Maximus Download File Sort and List Utility (OS/2 and DOS)
nnn-limit does not apply to IPF-list.
Default: DOWNSORT.I~p will not be created.
GBL Create GBL-list(s): DOWNSORT.G~p, where 'p' is the appropriate
privilege class (see below).
nnn-limit does not apply to GBL-list.
Default: DOWNSORT.G~p will not be created.
| ORP Create ORP-list: DOWNSORT.ORP (orphan report, if any orphans).
| If an orphan report is not requested, no other report will
| contain any orphan information, even when 'Hidden' is specified
| as reporting level.
Default: DOWNSORT.ORP will not be created.
FIL Create FILES.BBS type of files for each area.
The specification does not apply to FILES.BBS, a
privilege-limit cannot be specified and defaults to SYSOP.
Another privilege limit can be specified however by means of
the configuration file.
For each individual area the following convention will be used
for the name and place of the FILES.BBS list (in this
sequence):
1. If the "FIL:" parameter specifies a directory-path, then for
each area the output file "FILES.ac" is put in the specified
directory ('ac' is 1 or 2 char area-code). Previous files
with the same name will be discarded.
2. If "ListFile" is specified in AREA.CTL, then that name and
path will be used.
3. Otherwise the file FILES.BBS: will be put in the directory
with the download files.
For situations 2 and 3 existing files will be renamed to .BAK
(older .BAK files will be discarded).
Default: FILES.BBS-type of files will not be generated.
fpath Optional directory path specification for FILES.BBS-output.
See the "FIL:" parameter for usage.
Default: none
nnn Maximum number of files to be reported in the BBS- and
NEW-list(s). A maximum value of 32767 can be specified, it
does not apply to ALL-, IPF- and GBL-list.
Default: all files up to and including the (specified or
default) privilege class will be listed for all types of lists.
p Single privilege character.
Lists only download files with a privilege of up to and
including privilege 'p'. The indicator must be the first
character of an existing MAXIMUS privilege level (T, D, L, N,
W, P, F, E, C, A, S, H). No error-message is given for an
How to use DOWNSORT 10
Maximus Download File Sort and List Utility (OS/2 and DOS)
invalid privilege character, there will simply be no file-list
for an invalid character!
For the BBS-list only a single privilege character is allowed,
the listfile is always called: DOWNSORT.BBS.
Default: S (SYSOP): files of all privilege levels will be
listed, except HIDDEN files (with real Hidden privilege or
files for which no entry could be found in FILES.BBS).
pp Multiple privilege characters (minumum 0, maximum 10).
Make for every valid specified privilege level a download-list
with files of a privilege of up to and including privilege 'p'.
The indicator must be the first character of an existing
MAXIMUS privilege level. No error-message is given for an
invalid privilege character, there will simply be no file-list
for an invalid character!
Applies to ALL-, IPF- and NEW-lists, these are called
DOWNSORT.A~p and DOWNSORT.N~p respectively, were 'p' represents
the applicable privilege character.
Default: S (SYSOP): files of all privilege levels will be
listed, except HIDDEN files (with real Hidden privilege or
files for which no entry could be found in FILES.BBS).
/T /W Action to be taken if the file description would cause the
reportline to exceed 79 characters:
■ T - truncate the description
■ W - wrap the description and provide as many reportlines as
needed to show the complete description.
Default: -T for NEW-list and BBS-list, -W for ALL-, IPF- and
GBL-list.
/A /D /K Sort method for BBS-list and NEW-list.
■ A - Sort the files alphabetically on filename.
■ D - Sort the files on reversed date sequence (newest file on
top of list).
■ K - keep lines in sequence of FILES.BBS.
When the -A option is selected, an additional header-line will
appear in the BBS-list and NEW-list, indicating the latest
acquisition. This line is not needed when these lists are
sorted on date, since the the latest acquisition will be on top
of the list!
The -K option is only useful in situations where the files are
primarily grouped on AREA, i.c. ALL-, IPF- and FIL-list.
Default: -D
/H /Q /V Operating mode
■ H - help: display screen with essential information about
running DOWNSORT, such as the command syntax. In that case
the program will not undertake any other action.
■ Q - quiet: display only start and finish-message, and error
messages which prevent the program from proceeding normally.
How to use DOWNSORT 11
Maximus Download File Sort and List Utility (OS/2 and DOS)
■ V - verbose: display a lot of progress messages.
If neither -Q nor -V is specified, than the number of console
messages will be 'intermediate': more than -Q, but less than
-V.
Default: none
/X Exclude Privilege Indications
■ X - exclude privilege indications in all list-types. Some
SYSOPs want to hide any kind of privilege-system for users
and file-requesters of their Bulletin Board System. With
the -X option specified all privilege indications will be
suppressed.
Note: This does not apply to the compiled MECCA privilege
controls in the BBS-list!
Default: none (privilege indications will be reported).
1. All commandline parameters are optional, may be specified in any
sequence and are case independent.
2. Parameters from the configuration file are processed before those from
the commandline. This has some side-effects, like:
■ If you specify a specific list in DOWNSORT.CFG, it will be created
anyhow, whatever you specify on the commandline.
■ However, if you specify privilege values on the commandline, only the
commandline values will be used, and none from the configuration
file.
■ Commandline parameters have a global meaning, and are applied to all
lists (if applicable). For example: if you specify '-A' on the
commandline, all lists will be sorted alphabetically on filename.
3. Parameters that can be specified with the configuration file only, and
cannot be overridden with a commandline parameter are:
■ BLOCK title text, font and BLOCK title suppression
■ Subtitle lines
■ Filename and individual list-options
■ Privilege for FILES.BBS output
4. Even when specified on the commandline, or in DOWNSORT.CFG, the
Orphan-report will be generated only if there are any orphans, and then
the specified parameters apply.
5. The IPF-list has to be processed by the Information Presentation
Facility Compiler (IPFC). This compiler is part of the IBM Programmers
Development Toolkit version 1.2 and 1.3 (maybe also in some other
toolkit). The following command has to be issued:
IPFC DOWNSORT.IPF /INF
The option "/INF" is essential (but not documented!) to obtain a
viewable file. Be also sure to have the file DOWNSORT.BMP in your
current default directory, or in DPATH, as this will be imbedded by the
IPF-compiler. The result of the compilation is a file DOWNSORT.INF,
which can be VIEWed with the following command:
How to use DOWNSORT 12
Maximus Download File Sort and List Utility (OS/2 and DOS)
VIEW DOWNSORT
Note:
■ The names "DOWNSORT", "IPF" and "INF" are used here as sample,
actually the filename depends on the specification in the DOWNSORT
| configuration file, the extensions are the IPFC defaults.
| ■ If VIEW gives 'garbled' columns and hardly readable block-titles,
| then it is most likely that you did not install (or removed) the
| standard fonts that are delivered with OS/2. Start the 'control
| panel utility', select 'installation', 'add fonts'. Specify in the
| 'from'-field C:\OS2\DLL (see HELP of control panel). Now choose at
| least 1 non-proportional font.
CONFIGURATION FILE
Almost all processing options may be specified in an optional configuration
file, which can be specified with a commandline parameter. The
configuration file is a somewhat more convenient way to specify processing
parameters, and allows even more customisation. It is a good place for the
more static parameters of your environment, commandline parameters are nice
to create quickly 'another' list or a different format (for example wrapped
or truncated descriptions). The parameters are only mentioned here for
completeness, see "Appendix C. Sample Configuration File" on page 36 for a
documented specification sample of a configuration file.
PARAMETERS WITH GLOBAL SCOPE
The parameters below influence the execution of DOWNSORT, or have impact on
every list (if it is applicable for that list).
■ File Specification of the MAXIMUS CBCS file 'AREA.DAT'.
■ List title with BLOCK-characters.
■ Font for the BLOCK title.
■ Pre-titles, Sub-titles and Bottom-lines in 'text' format
■ Descriptive text of orphans and files without a description in the input
FILES.BBS files.
■ Maximum number of entries in NEW-list and BBS-list.
PARAMETERS WITH LOCAL SCOPE
The parameters below are sub-parameters of the xxxFileList keyword.
■ Up to 10 privileges for NEW-, GBL-, ALL- and IPF-list (each resulting in
a separate list).
■ Alternate output filename (in stead of the default DOWNSORT).
■ Directory for the output FILES.BBS-lists
■ Maximum number of file entries in NEW-list and BBS-list
■ File-entry sort sequence (filename or date).
■ Wrap or Truncate long file descriptions.
■ Title Font selection.
How to use DOWNSORT 13
Maximus Download File Sort and List Utility (OS/2 and DOS)
| ■ Suppression of privilege indications in NEW-, ALL-, IPF- and GBL-lists.
| ■ Include textfile in NEW-, ALL-, IPF- and GBL-lists, and in FILES.bbs.
A sample configuration file (DOWNSORT.CFG) is provided. A listing of this
file is imbedded as "Appendix C. Sample Configuration File" on page 36.
It contains a complete specification with comments on:
■ which options are available
■ how to specify the options
Read and modify the file as you like. Copy the sample file to a save place
before you start modifying the original DOWNSORT.CFG!
NOTE: The parameters from DOWNSORT.CFG are processed first, then
commandline parameters, which may complete and will (partly) override those
in the configuration file.
USABILITY HINTS
SPECIFICATION OF AREA.DAT
| A MAXIMUS file 'AREA.DAT' is absolutely required by DOWNSORT. It is
| however not necessary to run MAXIMUS itself, the AREA.DAT file is created
| with SILT(P) from the MAXIMUS package. You can use this utility without
| the other MAXIMUS stuff. In fact I do that myself (NOT running a MAXIMUS
| board)! If you run DOWNSORT in directory without AREA.DAT, then you have
several options:
■ You might add a COPY statement in your batch-file to copy AREA.DAT with
every run into your DOWNSORT directory.
■ You might use the "@path" parameter to specify the complete filespec of
AREA.DAT ("drive:\directory\file.ext").
■ You may use DOWNSORT.CFG for the filespec of AREA.DAT.
The latter is recommended.
Currently DOWNSORT does not allow to select the contents of the lists on
area-code. The '@path' allows you to specify a different AREA.DAT file
than the one that is used by your MAXIMUS. With SILT you may build a
special AREA.DAT for exclusive use by DOWNSORT, with different, less, or
more directories!
If DOWNSORT reports a memory constraint (see also "Storage and Performance"
on page 27), you may use this technique as circumvention: leave out one or
more of the file area's and rerun DOWNSORT with the alternate AREA.DAT
specification.
How to use DOWNSORT 14
Maximus Download File Sort and List Utility (OS/2 and DOS)
LOCATION OF FILES.BBS
For input DOWNSORT uses either the ListFile specification in AREA.DAT, or
the download directory to locate the file with file-descriptions (generally
known as FILES.BBS).
The destination of FILES.BBS-files is not by definition the same as the
origin! When specified with the "FIL:"-parameter (or in the configuration
file), the output may be located in a different directory than the original
input FILES.BBS. Manual checking or post-processing by some other program
may follow DOWNSORT, after which the files might be put back on the MAXIMUS
specified position.
PRIVILEGE CONTROL
The default file privilege to be shown is SYSOP.
Files without a matching filename-entry in FILES.BBS are treated as Hidden.
That means that by default these files will not be listed, unless the 'H'
privilege is used on the report-request specification. All files with a
higher privilege than the specified (or defaulted) report-privilege will
not appear in the report.
ORPHAN REPORT
The Orphan report will be generated only if there are any orphans detected.
In that case it overwrites a possibly present old DOWNSORT.ORP file.
A way of suppressing Orphan-reporting is to include a "*.*" entry at the
end of FILES.BBS. This has two effects:
■ In the sense of DOWNSORT orphans do not exist anymore: there is a
matching entry in FILES.BBS for every file.
■ The description of this entry will replace the hard-code text
"----no-description-----". You may specify your own text in
DOWNSORT.CFG.
DUPLICATES
No test on duplicates is done, this means:
■ If a downloadpath is encountered more than once, the files will appear
that many times in the outputlist (depending on the area-privilege!)
■ If a filename.ext is encountered more than once in different
subdirectories, it will appear that many times in the outputlist. The
file-privilege reflects that of the area where the file belongs to
(unless overridden by a ^Px modifier in FILES.BBS).
How to use DOWNSORT 15
Maximus Download File Sort and List Utility (OS/2 and DOS)
| HEADERS, TITLES AND INCLUDE FILES
| There are several ways to custimise the appearance of the lists for
| DOWNSORT. All items in the following list are optional, but the sequence
| in the reports is fixed and as listed:
| Pre-Title Up to 20 lines as very first lines of your lists (sometimes
| called Top-title). Any text may be specified. Leading
| '~'-characters (tilde) will be treated as full-size required
| blanks, mainly to manually align (center) the text in these
| lines. There is no automatic centering. You may have to
| experiment a little.
| TITLE A short title (8-12 characters), that will appear as
| 'magnified' big BLOCK-letters. There are 4 block-fonts to
| choose from. Not all characters are supported and lower-case
| will be translated to upper-case. The '~'-character (tilde)
| will be treated as full-size required blank, the '`'-character
| (accent-grave) as half-size required blank.
| If not specified, a default title is generated as DOWNSORTxy,
| where xy stands for the current version of DOWNSORT. However
| even this title may be suppressed by specifying TitleFont 0 in
| the configuration file.
| Include-file A text-file to be included as is. There will be no
| manipulation of the contents of this file. This include-file
| may be all you need to obtain a fully custimised list. For the
| IPF-list it may (and probably should) contain IPF tags.
| Sub-Title Up to 20 lines. These are treated like the Pre-Title lines.
| BottomTitle Up to 20 lines as very last lines of the lists. These follow
| my 'signature'. The lines follow the same treatment as
| Pre-Title lines.
| The BLOCK-title and Pre-, Sub-, and Botton-titles are used for all reports
| identically, there is no such thing as an 'individual' title specification
| for each report. However the Include-file may be different for each
| report.
| Note: Exceptions:
| 1. None of the above does apply to the BBS-list. As it will generally be
| desirable to imbed (compiled) MECCA control sequences in this type of
| lists, this report will include dedicated top and bottom files (if
| available in the current default directory). These files must be called
| DOWNSORT.HDR (header) and DOWNSORT.TRL (trailer).
| 2. The ORPHAN report will not contain any sort of user-titles.
| 3. The FILES.bbs files will not use any of the title-specifications, but
| may use an Include-file.
How to use DOWNSORT 16
Maximus Download File Sort and List Utility (OS/2 and DOS)
| Recommendation: File-requestors appreciate a header with a clear indication
| of the source of the reports. Many Bulletin Boards use FILES or ALLFILES
| as 'magic' name, but that is not very distinctive if you collect lists of
| different boards!
| Note: Specification details and samples can be found in DOWNSORT.CFG.
PRIVILEGES WITH FILE REQUEST
If you run a mailer like BinkleyTerm, which makes a distinction between
'unknown', 'known' and 'password-protected' users, you could generate
multiple download lists with different privilege indictor, depending if you
allow these categories to request different file collections a sample of
this kind of environment is given in "Sample specifications and usage".
This is not needed for DOWNSORT.BBS, since this file has imbedded privilege
control sequences for MAXIMUS users. But you should specify a sufficiently
high privilege for the BBS-list to satisfy your most valuable users!
SAMPLE SPECIFICATIONS AND USAGE
Assume you are runnung MAXIMUS with BinkleyTerm as front end mailer.
Suppose you make a distinction for file-requestors between Unknown, Known
and Password-Protected (e.g. corresponding to Disgrace, Normal and
Privileged MAXIMUS users).
DOWNSORT SPECIFICATION SAMPLE
You should have a specification like this:
DOWNSORT bbs:p new:dnp all:dnp 100
In addition to or in place of the specifications in DOWNSORT.CFG, this
specification produces the following lists:
■ Orphan report (only if there are any orphans).
■ DOWNSORT.BBS with 100 entries for MAXIMUS users of category Privil.
Users with a lower privilege will actually see a shorter list if the
file contains Privil entries.
■ For file requestors of the magic filename FILES a list, a list with all
files (with optional titles via DOWNSORT.CFG specifications):
- DOWNSORT.A~D for UNKNOWN file-requestors
- DOWNSORT.A~N for KNOWN file-requestors
- DOWNSORT.A~P for Password Protected file-requestors
Note that each list is a complete list of what is available to the user
of the specific privilege class, but your system will generally contain
more files than listed for UNKNOWN and KNOWN users!
■ For file requests of the magic filename NEWFILES a list of the 100 most
How to use DOWNSORT 17
Maximus Download File Sort and List Utility (OS/2 and DOS)
recent additions to your system (with optional titles via DOWNSORT.CFG
specifications):
- DOWNSORT.N~D for UNKNOWN file-requestors
- DOWNSORT.N~N for KNOWN file-requestors
- DOWNSORT.N~P for Password Protected file-requestors
Note that each list is 100 entries long, but the contents will generally
| not be quite the same (depending on your privilege strategy).
In general: files, which the requestor is not supposed to know about due to
his privilege status, will not be on his/her list!
Note: The counters on top of the lists indicate what your system has
available in total (including higher privileges), so a clever
user/file-requester may come up with the question how that is possible:
explain that he/she has to earn a higher privilege level!
BINKLEYTERM SPECIFICATION SAMPLE
In Binkley.Cfg you should specify for requests of FILES:
Avail Downsort.A~d
KnownAvail Downsort.A~n
ProtAvail Downsort.A~p
Furthermore you may need to specify different OKFILEs:
OKFile Download.N
KnownReqList Download.K
ProtReqList Download.P
And in each of the appropriate filerequest authorisation files you should
specify the appropriate file-spec:
How to use DOWNSORT 18
Maximus Download File Sort and List Utility (OS/2 and DOS)
╔═══════════╦══════════════╦═══════════════╦═══════════════╗
║ in: ║ OKFile ║ KnownReqList ║ ProtReqList ║
║ ║ (Download.N) ║ (Download.K) ║ (Download.P) ║
║ for: ║ ║ ║ ║
╠═══════════╬══════════════╬═══════════════╬═══════════════╣
║ ..... ║ ......... ║ ........... ║ ........ ║
║ @NEWFILES ║ Downsort.N~d ║ Downsort.N~n ║ Downsort.N~p ║
║ @FILES ║ Downsort.A~d ║ Downsort.A~n ║ Downsort.A~p ║
║ ..... ║ ......... ║ ........... ║ ........ ║
╚═══════════╩══════════════╩═══════════════╩═══════════════╝
This will result in sending of the appropriate NEW-list to every requester
of the magic filename: NEWFILES. If you use the second magic filename,
then the Avail-lines in Binkley.Cfg are not needed, and you might prefer
this way.
Of course if the privilege level of all download area's is the same, this
construction is not needed, but in that case it is unlikely that you have
specified KnownAvail and ProtAvail!
DEPENDENCIES AND RESTRICTIONS
■ Applies to MAXIMUS CBCS 1.00 and 1.02.
■ Requires OS/2 or DOS 3.0+.
■ To convert the IPF-list into VIEW-able format (downsort.INF), the
IPF-Compiler under OS/2 is required.
■ The input FILES.BBS files are assumed to contain only filename.ext (the
regular 8.3 format, no support for OS/2 1.2+ HPFS format), the remainder
of the line is considered as file description. The filename should be
left-aligned (start in position 1).
If a privilege modifier (^Px) is encountered in FILES.BBS then 'x' will
become the privilege of all subsequent files (it assumes ^Px on a
SEPARATE line, the REST OF THE LINE IS IGNORED!). Heading, comments and
blank lines in FILES.BBS are ignored. The modified privilege might be
higher (generally the case) or lower than the area-privilege.
WISHLIST
DOWNSORT is not finished! There are a number of wishes and requirements of
users and myself to include in future releases. I list them below not in
any particular order, but some seem to be more important than others (but
that differs from SYSOP to SYSOP). And some are more easy to implement
than others, and that depends mainly on the author!
■ Follow the MAXIMUS development (changing AREA.DAT and other structures),
and support several versions simultaneously. I'll try to make DOWNSORT
How to use DOWNSORT 19
Maximus Download File Sort and List Utility (OS/2 and DOS)
independent of MAXIMUS-versions. I'm thinking of parsing AREA.CTL, in
stead of using AREA.DAT, as suggested by Scott Dudley himself.
■ Automatic removal of 'bad' files (like .BAK-files, obsolete files, files
that are not in FILES.BBS), maybe move them to a special BAD_FILE
directory.
■ User-configurable options for:
- week and month indicators
- indicator for continuation lines in wrapped descriptions
- font in AREA-header and Summary in ALL-list, and in FILES.BBS
■ Add [selectable] MECCA control in FILES.BBS, like in the BBS-list.
■ Logging to file in stead of console, obtaining a history file of
DOWNSORT usage.
■ File-selection with MAXIMUS CBCS key/lock parameters in addition or in
stead of privilege levels.
■ Selection of files in reports on area, or group of area's.
■ Support for use of 'barricaded' areas and key/lock.
■ Selection of NEW-list on basis of oldest date or time-period.
| ■ Another list: with the format of IPF-list but the contents of NEW-list.
| ■ Preserve comments and formattings of FILES.BBS files when rebuilding
| these files.
KNOWN PROBLEMS
Although I try to prevent the cause of them, there are problem reports:
■ Some unidentified characters somewhere between block- and sub-title.
How to use DOWNSORT 20
Maximus Download File Sort and List Utility (OS/2 and DOS)
PACKAGING
DOWNSORT is distributed in 2 archives:
■ A file "DWNSRTxy.ZIP", containing all material you need to run DOWNSORT,
including documentation, formatted for browsing or printing (formfeed is
the only printer-control).
■ A file "DWNSRSxy.ZIP", containing all SOURCE material.
Note: 'xy' is the version indication, for example DWNSRT51.ZIP is the
version 5.1 (RUN-time) package.
RUN-TIME MATERIAL
WHATSNEW.51 Summary of amendments to version 5.1 of DOWNSORT.
DOWNSORT.EXE Execution module for DOS and OS/2 (Family Application)
DOWNSORT.DOC Documentation (this file!).
DOWNSORT.CFG Sample configuration file. This file contains comment
lines with extensive instructions how to specify the
parameters in the file.
DOWNSORT.HDR Sample BBS-list header. You may use this header, which
is only imbedded in the BBS-list, to imbed text and/or
MECCA-sequences. A good candidate for the latter would
be [onexit], which translates to ^OFpath. See the
sample DOWNSORT.HDR file!
DOWNSORT.TRL Sample BBS-list trailer.
DOWNSORT.BMP Bitmap for the IPF-list, to be included by the IPF
| compiler.
| DOWNSORT.INC Sample Include-file for the reports, referenced in
| DOWNSORT.CFG.
HPFSDATE.EXE Program to display all three timestamps of a file on an
HPFS volume, and optionally reset the CREATION date to
LASTWRITE date (helpful after moving or copying of
files). Start the program without options to display
command syntax and help.
README.1ST The actual contents of the package (produced with
PKUNZIP -V), added to the ZIP-file after this was
created with the foregoing files of this archive. This
gives at least some authentication!
SOURCE MATERIAL
DOWNSORT.C Source of mainline and global variable definitions.
DOWNCOL.C Source of data collection functions.
DOWNFNT.C Source of font definition and formatting function.
DOWNPAR.C Source of parameter processing functions.
DOWNRPT1.C Source of output report functions (except what is in
DOWNRPT2.C)
DOWNRPT2.C Source of output report functions for ALL-list and
IPF-list.
DOWNSRV.C Source of miscellaneous services functions.
Packaging 21
Maximus Download File Sort and List Utility (OS/2 and DOS)
DOWNSORT.H Header file, with external definitions of global
variables.
DOWNSORT.SCT Unformatted documentation file. This file includes
formatting tags in BOOKMASTER style for printing on
whatever devices are supported (like IBM page
printers). This format is compatible and can be
formatted on an IBM host system with DCF (SCRIPT) as
| well. The file can also processed by the IPF-compiler
| (just ignore the warnings and error-messages!). You
| may have to 'repair' the file of the Toolkit version
| 1.1 with symbols (APSYMBOL.APS) in the IPFC directory:
| e.g. '&titde.' should be '&tilde.', and all symbols
| should end with a full-stop (.), such as '&box34.'.
| The IBM Toolkit 1.2/1.3 is distributed without these
| errors.
AREA_MAX.H Header file with union specification of AREA.DAT for
different versions of MAXIMUS (as far as the layout of
AREA.DAT is concerned).
AREA_100.H Header file with guessed layout of AREA.DAT for MAXIMUS
CBCS version 1.00.
AREA_102.H Header file with layout of AREA.DAT of MAXIMUS CBCS
version 1.02.
DOWNSORT.DEF LINK definition file.
DOWNSORT.MAK MAKE file.
README.1ST The actual contents of the package (produced with
PKUNZIP -V), added to the ZIP-file after this was
created with the foregoing files of this archive. This
gives at least some authentication!
AVAILABILITY
The most recent version of DOWNSORT is always downloadable and
file-requestable from Bulletin Board "PC-Square" of the Dutch IBM employee
PC club. Search or request DWNSRT??.* to be independent of the version and
compression method!
FIDO-net address: 2:512/4; phone: 31-79-424107 (USR HST-DS).
DOWNSORT is distributed in area SDSMAX of the international Shareware
Distribution System.
There is a fair chance you may find a recent version on one of the other
bulletin boards, listed in "Appendix B. Who use DOWNSORT?" on page 35.
Packaging 22
Maximus Download File Sort and List Utility (OS/2 and DOS)
INTERNALS
DEVELOPMENT ENVIRONMENT
DOWNSORT has been developed with IBM C/2 compiler version 1.1, under IBM
OS/2 Extended Edition 1.3 with Program Development Toolkit version 1.2/1.3
| as COMPACT memory model.
| DOWNSORT has been tested for MAXIMUS CBCS 1.00 and 1.02, with the following
| Operating Systems:
| ■ IBM PC/DOS versions 4.0 and 5.0 (pre-release)
| ■ IBM OS/2 versions 1.3 and 2.0 (pre-release)
| ■ DOS-box of IBM OS/2 versions 1.3 and 2.0 (pre-release)
PROGRAM ORGANISATION
The program is organised as follows:
■ Initialisation:
- Read configuration file.
- Process commandline parameters.
The commandline parameters will override configuration file parameters.
■ Read AREA.DAT file to collect download pathnames (assumes AREA.DAT is in
| current directory).
| ■ For all file-area's with a privilege not exceeding any list-request:
- Read subdirectory (with find-file-first/next function). Take only
Normal files: ignore directory entries, Hidden and System files and
volume labels. Also ignore MAXIMUS-files with the following
specifications: FILES.?BS, *.BAK, DIR.?BS and SYSTEM*.?BS
- For all regular file-entries found in subdirectory:
-- Get filename.ext, attribute, date, time, size (timestamp will be
'last-time-written').
-- Get file-description from FILES.BBS file. The path to the
FILES.BBS file is (1) obtained from the "ListFile" specification
in MAXIMUS AREA.DAT file, or (2) if not specified from the
"DownLoad" specification (among the download files).
| -- Get file privilege 1) from area, 2) from FILES.BBS file.
| -- When no orphan reporting is required, then drop the orphan
| entries.
■ For the ORP-list:
If any orphan found, and the orphan-report is requested, create the
orphan report, with the file-entries sorted on (1) area and (2)
filename.
Internals 23
Maximus Download File Sort and List Utility (OS/2 and DOS)
■ For the BBS-list:
- Sort the files primarily on descending file-timestamp (and secundary
on file-name and area-code).
- Resort the first files on filename if requested.
- Create output file for sorted list of filenames, -descriptions, etc.
The file is placed in the current subdirectory (which generally will
be the MAXIMUS directory) with the name DOWNSORT.BBS.
- Copy a headerfile (for a customised MAXIMUS bulletin).
- Put files in formatted outputfile (filename, area#, date, size,
description), but only if description is found in FILES.BBS. Skip
files with privilege higher than commandline (or default) parameter.
Precede each line with a privilege-control sequence (^PLx string) so
that MAXIMUS users below the specified max-priv-level do effectively
see only the files they can download.
- Include a trailerfile in the outputfile (for a custimised Bulletin).
- Report non-listed files on standard output device (which might be
re-directed to printer or disk-file).
■ If requested, put the above file collection (also in reverse
date-sequence) in DOWNSORT.N~p with similar contents and layout as
DOWNSORT.BBS, but without BBS-control sequences, and without including a
header and trailer file. Produce a list for the default privilege
(HIDDEN), or one for each specified privilege.
■ If requested, re-sort files on area and then filename, and create
DOWNSORT.A~p, containing all files (respecting the privilege
restrictions!). Area's with zero files within the applicable privilege
limit will not be listed at all (will seem non-existing!). Produce a
list for the default privilege (SYSOP), or one for each specified
privilege.
At the end of the list, an area summary report is generated.
■ If requested, re-sort files on filename only, and create DOWNSORT.GBL.
■ If requested, re-sort files on area, privilege and filename, and create
for each area a FILES.BBS-type of file.
NOTE: the program firstly reads a directory for existing files (not Hidden-
or System-files, and not Subdirectory or Volumelabel), and then reads
FILES.BBS to assign a description to each file. This means:
■ If more than 1 matching file-specification in FILES.BBS of the involved
area is found (note that wild-card specifications in FILES.BBS are
supported!), than the first matching description from FILES.BBS will
appear in the lists (new in version 4.5, was 'last' previous versions).
■ Files for which no description is found in FILES.BBS will get "---no
description available---" (or the replacement string you specified in
DOWNSORT.CFG) in the user reports.
■ Files for which no matching filename in FILES.BBS is found will be
listed in the Orphan report (DOWNSORT.ORP).
In special cases this might become a very large list. For example if
you collect files in a single directory for different area's, all the
files of 'the other' areas are reported as orphan. This will happen for
Internals 24
Maximus Download File Sort and List Utility (OS/2 and DOS)
every area, so each file might even be reported many times as orphan!
Since the Orphan-list is now optional (from version 5.0 on), this list
can be suppressed.
Filenames of Orphans appear only in the other reports when the FileList
request explicitly specifies the Hidden privilege.
MAIN DATA ORGANISATION
Data structure for access to file information via:
1. array of file-pointers (for file-sort!)
2. pointerchain in file-info structures
3. file structure contains pointer to file-description
4. file-structure contains pointer to area-information
5. Array of area-information
The structures are shown in Figure 1 on page 26.
Internals 25
Maximus Download File Sort and List Utility (OS/2 and DOS)
╔══════╗
║ dm ║
╚══════╝
│ Array of pointers to structures with file info
│ ╔═══════════╦════════════╦═════════════ . . . ══════╗
(1) └─────>║ *file[0] ║ *file[1] ║ *file[2] ║
╚═══════════╩════════════╩═════════════ . . . ══════╝
│ │ │
(2) v v v
╔══════╗ ╔══════╗ ╔══════╗ ╔══════╗
║ ca ║ ──> ║ next ║ ──> ║ next ║ ──> ║ next ║ ──> . . .
╚══════╝ ╠══════╣ ╠══════╣ ╠══════╣
(first- ║ file-║ ║ file-║ ║ file-║
element) ║ info ║ ║ info ║ ║ info ║ . . .
║ [0] ║ ║ [1] ║ ║ [2] ║
╚══════╝ ╚══════╝ ╚══════╝
│ │ │ │wildcards│ │
│ └──┐ │ └──┐ │ │
│ │ │ ┌──────────┘ │
(3) v │ v v │ ┌──────┘
╔══════╗ │ ╔══════╗ │ │
║file- ║ │ ║file- ║ │ │(files of
║descr ║ │ ║descr ║ │ │ same area) . . .
╚══════╝ │ ╚══════╝ │ │
│ │ │
(4) v v v
╔════════════╦═════════════╦════════ . . . ══════╗
(5) ┌────────>║ area[0] ║ area[1] ║ ║
│ ╚════════════╩═════════════╩════════ . . . ══════╝
│ array of structures of download info
╔══════╗
║ area ║
╚══════╝
Figure 1. Schematic overview of DOWNSORT's in-storage database.
Note: The area-array cannot be sorted itself: this would invalidate the
pointers in the file-information records!
The block character image is basically a 10x7 matrix (10 vertical and 7
| horizontal 'pixels'). The pixel-array takes two rows at a time, so that
| each character can be represented with 5 rows of 7 horizontal
| 'double-pixels'. Each pixel is displayed as a solid block.
Internals 26
Maximus Download File Sort and List Utility (OS/2 and DOS)
1 2 3 4 5 6 7
╔═╦═╦═╦═╦═╦═╦═╗
║-║-║-║-║-║-║-║ line 1 (lower + upper)
╠═╬═╬═╬═╬═╬═╬═╣
║-║-║-║-║-║-║-║ 2 (lower + upper)
╠═╬═╬═╬═╬═╬═╬═╣
║-║-║-║-║-║-║-║ 3 (lower + upper)
╠═╬═╬═╬═╬═╬═╬═╣
║-║-║-║-║-║-║-║ 4 (lower + upper)
╠═╬═╬═╬═╬═╬═╬═╣
║-║-║-║-║-║-║-║ 5 (lower + upper)
╚═╩═╩═╩═╩═╩═╩═╝
Each line is represented by a structure of seven 3-bit fields Each 3-bit
field represents a basic element:
value char description
0 (blank)
1 ▄ lower half
2 ▀ upper half
3 █ lower+upper halves
4 ▓ gray pattern
5 ▌ left part of upper and lower half
6 ▐ right part of upper and lower half
7 ░ gray pattern
8 ▒ gray pattern for not-supported characters
The pitch is variable ('proportional font': a variable number of horizontal
pixels). Three fonts are provided with different character-image and size:
1. 6x5 (three lines of max 5 characters)
2. 10x7 (five lines of max 7 characters)
3. 8x7 (four lines of max 7 characters)
4. 10x7 (reverse video image of the 8x7 font)
Not all ASCII characters are represented in the font tables!
STORAGE AND PERFORMANCE
As a rough estimate of the memory requirements of DOWNSORT, use sum of the
following elements:
■ Program: about 70KB
■ Each area: 300 Bytes
■ Each file: 64 Bytes for each file (excl. file descriptions)
■ The sum of the description texts (on average 80 Bytes?)
There is a theoretical limit on the number of files that can be processed
by DOWNSORT: about 16000 files. I suppose you'll reach other limits first,
for example stack-space. DOWNSORT has been built with a 'guess' about
Internals 27
Maximus Download File Sort and List Utility (OS/2 and DOS)
needed stack space. The author would appreciate to receive a report for a
better estimate.
Processor performance was an issue for large file-area's before version 4.5
of DOWNSORT in the data-collection process. That has been partly rewritten
in version 4.5 and significantly improved. Fastest execution will always
be obtained when the input FILES.BBS is already sorted on filename.
Internals 28
Maximus Download File Sort and List Utility (OS/2 and DOS)
APPENDIX A. HISTORY OF CHANGES
The paragraphs below show a brief history of changes in DOWNSORT (most
recent revisions on top of list!).
DOWNSORT for MAXIMUS CBCS was developed from an OPUS equivalent (by the
same author). Its pre-MAXIMUS history is not really important here and
therefore has been omitted. However the name DOWNSORT has been maintained,
so to prevent confusion, the version number is inherited (the last version
| for OPUS was 3.1).
| VERSION 5.1
| ■ Since the ORPhan report is optional (changed with version 5.0), orphan
| entries could and now will be removed from internal storage during the
| information collection phase of DOWNSORT, but only when no orphan-list
| is requested! This is especially useful for the situation where a
| single large directory contains the files of several area's, and whereby
| the file descriptions are contained in different FILES.BBS files.
| Normally this will result in reporting lots of duplicate orphans
| (according to the definition of 'orphan' in DOWNSORT!). With this
| change memory utilisation is lower and sorting faster.
| ■ Another change of this kind: area's with a privilege exceeding any
| reporting privilege are not scanned anymore. Apart from lower memory
| utilisation, this might be useful for CDROM and slow disk(ette) systems.
| ■ The maximum number of Top-, Sub- and Bottom-Title lines has been
| extended to 20.
| ■ In addition all lists may now include a 'logo'-file with a new -I
| parameter on the individual report request specification (see sample
| DOWNSORT.CFG). The file will be copied into the list without any
| editing or translation. It will be positioned directly behind the
| block-title and before the subtitle (if any). For example: you may
| include your BBS-logo or a picture of your system configuration, or
| anything else you want to tell the file-requestors of FILES, ALLFILES
| and/or NEWFILES. The IPF-list may also include IPF tags, with artwork,
| etc. It may even include other files itself! For FILES.BBS the
| contents of this Include-file will immediately follow the 'standard'
| header.
| ■ All block-fonts have now a new special character <`> (reversed quote),
| which will be 'printed' as blank (space) with half the width of a normal
| character. This is useful for fine-alignment (e.g. manually centering)
| the BLOCK-title.
| ■ The chapter on 'titles and headers' has been rewritten to clarify the
| use of all title-options, please read it!.
| ■ In the SUMMARY of ALL- and IPF-lists the areas themselves are not sorted
| anymore, but presented in sequence of AREAS.CTL specification. This is
| based on the assumption that the file area's are in some kind of
| 'natural' order in AREAS.CTL (or maybe it is time to do that now!).
| ■ Descriptions in FILES.BBS are now (again) aligned on column 14 of the
| FILES.bbs file records.
| ■ IPF-list again a little more user-friendly (linking of area's).
| ■ A number of improvements have been applied to the executiontime messages
| (when running in VERBOSE mode).
Appendix A. History of changes 29
Maximus Download File Sort and List Utility (OS/2 and DOS)
VERSION 5.0
■ Improved IPF-formatting: more colorful, builtin word-wrapping of VIEW
used for file descriptions (better VIEWable under OS/2 1.3!). It should
now also compile without errors/warnings. Compiling (with IPFC) takes
significantly longer however!
■ The IPF-list of large filearea's (>200 files) split into parts of 200
files to prevent files being left unlisted.
■ Top-level title in FileLists shows file-count and byte-count as
available within the privilege of the list. Thus it indicates what is
really AVAILable to the user! Area-count omitted in lists which are not
area-oriented.
■ ORPHAN report made OPTIONAL (must be specified to get it!).
VERSION 4.9
■ Added a new list-format: IPF-list, similar to ALL-list, but meant to be
made a VIEWable file ('book') under OS/2 Presentation Manager.
■ Sourcefile DOWNRPT.C splitted into 2 parts.
■ Correction in FILES.BBS header (to prevent the "offline" msg).
■ Now also FILES.BBS output can be kept in original sequence with the
K(eep)-option.
■ Added the X-option: all 'written' privilege indications in the lists can
now be suppressed: the user is then not aware of any privilege-system!
■ Header-lines of all lists now more consistent in sequence.
■ The 'I'- and '1'-characters in fonts 3 and 4 have been widened to 5
colums (was 3 colums, but that looked too 'narrow').
■ The documentation has been extended with a list of Bulletin Boards, of
which the SYSOPs have reported being a regular user of DOWNSORT.
■ Distribution has been changed: run-time and source material now in a
separate archive files (DWNSRTxy.ZIP and DWNSRSxy.ZIP).
VERSION 4.8
■ A 'KEEP' parameter (-K) added to allow the files to remain in original
sequence of FILES.BBS. This option is now only valid for ALL-list
(later for FIL-list too).
■ Documentation change: for multi-line file descriptions a continuation
line must start with at least 1 blank-character, followed by at least 1
significant (non-blank) character.
■ Repaired bug in sort on filedate for FIL-lists.
VERSION 4.7
■ Sorting of files on HPFS volumes (OS/2 1.2) now takes into account the
file CREATION-date (= arrival date on your system). Sort will take the
most recent of Creation and LastWrite. The 'old fashioned' LastWrite
date (indicating the age of the file) is displayed in the lists! This
feature is only effective under OS/2 from release 1.2 for files on an
Appendix A. History of changes 30
Maximus Download File Sort and List Utility (OS/2 and DOS)
HPFS volume.
■ Use of DOSOPEN() from OS/2 Program Development Toolkit (allows for
better multi-session and LAN support).
■ New font added: reverse video image of font3, and related changes in
font generation function.
■ Added separation lines in FILES.BBS like in ALL-list.
■ Tiny adjustment to date formatting: year 2000 and later will be
displayed as 2-digit numbers.
VERSION 4.6
■ Downsort will try to locate and read a configuration file allowing even
more processing options (by default DOWNSORT.CFG in current directory).
An extensively documented sample is accompanying the DOWNSORT package.
No additional document-reading needed to run DOWNSORT for the first
time. The introduction of this feature makes some commandline
parameters superfluous, and allows more flexibility, like:
- In addition to a number of global parameters, each list has a 'local'
set of formatting parameters for sort-sequence, description wrapping,
title-font, maximum number of entries (NEW and BBS only). The
individual parameters can be set only via the configuration file.
- Specification of AREA.DAT and "title" not possible anymore on the
commandline, now only by means of the configuration file.
- A "@filespec" commandline option now used for specification of the
configuration file (makes the use of different files for different
purposes possible).
■ Multiline FILES.BBS input now supported. Automatic conversion to long
descriptions provided when requesting FILES.BBS (re-)creation.
■ Multiple GBL-lists can now be generated, like ALL-list. Difference
between ALL-list and GBL-list is only the grouping by in area's, and the
area-summary in ALL-list. SYSOP may decide which of both serves the
users best.
■ User supplied pre-title, sub-title and bottomlines now supported for
NEW, ALL and GBL-lists, as well as replacement text for
'---no-description---' and '---orphan---' in the lists.
■ BLOCK-title font user-configurable and BLOCK-title can now be
suppressed.
■ NEW-list and GBL-list have an additional header-line telling the maximum
file-privilege shown in the list.
■ FILES.BBS has now column header, and a user-specified privilege limit
applies also to FILES.BBS (orphans now only listed when explicitly
requested with 'Hidden').
■ The HELP-screen is now only shown on request via a commandline parameter
(-H).
VERSION 4.5
■ FILES.BBS-files may be (re-)created now in DOWNSORT-style (like the
ALL-list format). Read carefully the information about this option in
the report description!
■ An ORPHAN-report is now produced always (not requestable) and
Appendix A. History of changes 31
Maximus Download File Sort and List Utility (OS/2 and DOS)
independent from other reports. It replaces the reporting of ORPHANs to
the console formerly done during creation of the BBS-list.
■ The BBS-list is no longer produced by default, it should be specifically
requested now, like the other user-reports.
■ The BBS-list and NEW-list may now be sorted on filename, and for that
reason also these lists will have an age indicator 'week' or 'month' old
appended to the file date.
■ 'Verbose' and 'Quiet' operating mode are possible now: many more or much
less console messages with one of these specifications, than regularly.
■ Performance improvement obtained in data collection process, significant
especially for large area's.
■ Filename matching process changed (one of the reasons of the performance
improvement): first matching filename is used now to assign the file
description to a file.
■ Title block-font is now proportional, and two fonts are added. The
fonts are not (yet) user selectable.
■ A path to the appropriate AREA.DAT file may be specified now (@path).
■ The possible specification of "ListFile" in AREA.CTL is recognised now
(in stead of assuming FILES.BBS in the download directory).
■ Added display of an "I-am-busy" indicator during the collection of file
information (processing FILES.BBS input).
■ Added display of date and time of report-creation to bottom of file
lists (except FILES.BBS files), and also the total elapsed time on
console.
■ Fixed bug in detection of newest file, which in rare situations pointed
to a file outside the privilege group.
■ Added HELP-screen when no commandline parameters specified, or on
request (-H commandline parameter).
■ 'Signature' at bottom of lists extended.
■ Documentation extended for all the new features, and a little
re-organised.
■ Internal data structure for file-information changed for improved
storage utilisation.
■ Time has come to split source into several modules!
VERSION 4.4
■ Support for different versions of MAXIMUS (1.00 and 1.02), with respect
to the layout of AREA.DAT.
■ Multi-line file descriptions now supported, with word-wrap and an option
to select or deselect it in different reports.
■ Extended AREA-header in ALL-list with area-privilege indicator, and
latest acquisition (date and file-spec).
■ Added indicators '*' and '+' in GBL- and ALL-list for files of 1-week
and 1-month old respectively.
■ Added "--- no description available ---" in lists if filename found in
FILES.BBS, but there is no description there.
■ Added "****** ORPHAN *******" in description field of files, for which
there is no entry in FILES.BBS.
■ Files that are reported to the console as "not listed", now also display
the area, (pseudo-) privilege and file description (or "no description"
or "ORPHAN" whatever is applicable).
■ Changed default file-report privilege into SYSOP. Hidden files will not
Appendix A. History of changes 32
Maximus Download File Sort and List Utility (OS/2 and DOS)
show up, unless specifically asked for!
■ More characters supported as BLOCK-characters (including '/' and '\').
■ Fixed a bug in routines for NEW-, BBS- and ALL-list, which occasionally
gave addressing violations (in the OS/2 version).
■ A related change in the data structure of the file-information for the
file-description decreases storage utilisation, taking advantage of
wild-card specifications in FILES.BBS as supported by MAXIMUS.
■ Fast growing wishlist added to documentation!
VERSION 4.3
■ GBL-list added: a complete list of the download base (back from 4.0 and
earlier versions of DOWNSORT, where it was called ALL!).
■ An AREA-summary report has been added to ALL-list.
■ ALL-list now also displays total bytecount per area.
■ A default title will be generated if none is specified.
■ Routine for generating block routines replaced.
■ Block character '/' (slash) replaced by '|' (vertical bar).
VERSION 4.2
■ DOWNSORT.BBS and DOWNSORT.NEW are not produced any longer by default.
Each list-type must now be specifically requested by BBS, NEW, or ALL on
the commandline.
■ Multiple ALL-lists and NEW-lists may be produced now. Each of these may
contain files of different (maximum) privilege level. This makes it
possible to have overviews for different classes of users.
■ A report title for the ALL- and NEW-lists may be specified, and will be
printed in BLOCK-characters.
■ A remark has been added to the top of DOWNSORT.BBS that the list may
seem shorter due to privilege restrictions.
■ Longer file-description where there is space for it (ALL-list).
■ Requirement of filenames in FILES.BBS to be UPPERcase dropped.
■ Documentation extended and re-formatted.
■ Some more re-shuffling of code (for maintenance purposes)!
VERSION 4.1
■ Bug-repairs in filename-matching routine.
■ SORT changed for DOWNSORT.ALL: sort on name within area, gives an
alphabetical list per download area.
■ File descriptions now left aligned, regardless its position in
FILES.BBS.
■ Group-title (of file-area) copied from AREA.DAT in ALL.
■ Files excluded from the lists are now more generally: FILES.?BS, DIR.?BS
and SYSTEM*.?BS
■ Parameter added to hide files above a maximum privilege-level.
■ Files without description are treated as Hidden, these will appear in
the lists when 'H' is selected (note: by default!).
Appendix A. History of changes 33
Maximus Download File Sort and List Utility (OS/2 and DOS)
■ Improved sort organisation (pointers in stead of structures).
■ Minor changes and additions to lists (beautification?).
■ Some minor internal re-organisation.
VERSION 4.0
■ New setup for MAXIMUS CBCS Bulletin Board environment, this version does
not support OPUS' file system!
■ Support of non-numeric (two-character) area code.
■ Support of wild-characters in the file-name part of the records in the
description-files (FILES.BBS), as allowed by MAXIMUS.
■ The file DOWNSORT.NEW (not ".TXT") will be produced always (error in
previous documentation), but now without TXT2COM formatting characters,
since there is not (yet) a suitable alternative under OS/2.
Appendix A. History of changes 34
Maximus Download File Sort and List Utility (OS/2 and DOS)
APPENDIX B. WHO USE DOWNSORT?
PC-Square may be considered as the home-base of DOWNSORT. The most recent
version is always available there (file-requests between 07:00 and 24:00
local time).
PC-Square Marcel Stikkelman Zoetermeer, Netherlands
2:512/4 31-79-424107
The following SYSOPs have reported using DOWNSORT on their
respective boards:
OS/2-MANiA Emmanuel Sandorfi Paris, France
2:320/5 33-1-64090640
| OS/2 TASK BBS Rene Carlsen Skagen, Denmark
| 2:231/85 45-98451070
| Paradigmus Maximus John Taylor London, UK
| 2:253/68 44-81-566-5393
Fernwood Emitt Dove Branford CT, USA
1:141/209 1-203-483-0348
| Bell's Theorem Jeremy Buhler Houston TX, USA
| 1:106/7674 1-713-777-0633
OS/2 Shareware Pete Norloff Fairfax VA, USA
1:109/347 1-703-385-4325
Singing Bear John Tarbox Wilmington DE, USA
1:150/130 1-302-984-2238
La Jungle BBS Stephane Seguin Quebec, Canada
1:163/116 1-819-595-4917
| 3M Australia Graham Stair Sydney, NSW Australia
| 3:711/409 61-2-498-9184
I have received reports from others. Too many for this list, which is just
meant to point to a system in your neighbourhood(?). You may either logon
to one of these boards, or perform a file-request of 'FILES' or 'ALLFILES'
to get an impression of DOWNSORT's capabilities.
Appendix B. Who use DOWNSORT? 35
Maximus Download File Sort and List Utility (OS/2 and DOS)
APPENDIX C. SAMPLE CONFIGURATION FILE
;
; ██▐███ █▐███ ██ ██ ██▐███ ██▐████ █▐███ ██▐███ ██▐████
; ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ▐██
; ██ ██ ██ ██ ██ █ ██ ██ ██ ██▐████ ██ ██ ██▐███ ▐██
; ██ ██ ██ ██ ██ █ ██ ██ ██ ██ ██ ██ ██ █ ▐██
; ██▐███ █▐███ █▐███ ██ ██ ██▐████ █▐███ ██ ██ ▐██
; (font 2)
;
;
; ▄▀▀▀▄ ▄▀▀▀▄ █▄ █ █▀▀▀▀ ▀█▀ ▄▀▀▀▄ █ █ █▀▀▀▄ ▄▀▀▀▄ ▀▀█▀▀ ▀█▀ ▄▀▀▀▄ █▄ █
; █ █ █ █▀█▄█ █▄▄ █ █ ▄▄ █ █ █▄▄▄▀ █▄▄▄█ █ █ █ █ █ ▀▄█
; ▀▄▄▄▀ ▀▄▄▄▀ █ ▀█ █ ▄█▄ ▀▄▄▄▀ ▀▄▄▄▀ █ ▀▄▄ █ █ █ ▄█▄ ▀▄▄▄▀ █ █
; (font 1)
;
;
; █▀▀▀▀▀▀ █ █ █▀▀▀▀▀▀
; █▄▄▄▄▄▄ █▄ █▄ █▄▄▄▄▄▄
; ██ ██ ██ ██
; ██ ██ ██▄▄▄▄▄ ██▄▄▄▄▄
; (font 3)
; (font 4 is reverse video of 3)
;
; ┌─────────────────────────────────────────────────────────────────────────┐
; │ Sample Configuration File for DOWNSORT by Rob Hamerling │
; └─────────────────────────────────────────────────────────────────────────┘
;
; NOTES: Leading blanks are skipped.
; Lines with '%', '*' or ';' as first non-blank character are
; considered as comment, as well as empty lines and lines with
; a valid keyword, but without any parameter-value.
;
; Don't put a comment string after a parameter specification!
;
;
; AreaDat: Complete file-specification of your 'AREA.DAT'
; -------
; AREA.DAT is made by MAXIMUS' SILT(P) with -a or -x
; option the path is normally specified in MAX.CTL
; with the option AreaDat in Session Section.
; With the AreaDat you may specify any file that has
; the SILT(P)-format. For example you may make a special
; file for running DOWNSORT with a subset (selection)
; of the normal MAXIMUS file-area's.
; This might be useful for special usergroups.
; Another reason may be the memory usage of DOWNSORT
; under DOS. If you hit the boundary: make a subset.
; Standard OS/2 / DOS naming applies.
; AreaDat g:\c2\downsort\Area102.Dat
AreaDat g:\c2\downsort\area5124.dat
; TitleFont: Reference number of the BLOCK-font you want for your Title.
; ---------
Appendix C. Sample Configuration File 36
Maximus Download File Sort and List Utility (OS/2 and DOS)
; Valid numbers: 1 .. Simple font (5x6 pattern)
; 2 .. Pseudo-Stencil Font (7x10 pattern)
; 3 .. ROBoComputer Font (7x8 pattern)
; 4 .. Reversed Video RoboComp (7x8 pattern)
;
; NOTE: The fonts are based on the US-codepage (437).
; This will also work properly for 860 (Portugese),
; 863 (Canadian-French) and 865 (Nordic).
; If codepage 850 (Multilingual) is active, the pattern
; will be adapted a little, see if you like it or not.
; The differences apply mainly to Font2.
;
; The heading of this file shows font 2, 1 and 3 respectively.
TitleFont 1
; Title: Short string that will be displayed in BLOCK-characters
; ----- on top of all FileLists (except BBS-list).
; You may specify this parameter also on the xxxFileList
; parameter.
;
; The BLOCK fonts are 'proportional', the following number of
; characters will generally fit on a line:
;
; FontTitle 1 maximum characters: 13
; " 2 .. 4 " " 8
;
; No more than 20 characters are accepted as input.
;
; If Title isn't specified, it will be DOWNSORT by default.
; Not all characters are supported, and that may vary with
; the font itself. All fonts support:
;
; - UPPER case A..Z
; - LOWER case a..z , but will be translated to UPPER case
; - Digits 0..9
; - - (hyphen), blank
;
; In addition fonts 1 and 2 support the following characters:
;
; _ * - | . [ ] ( ) / \
;
; Not-supported characters are displayed as blank.
; The '~'-character (tilde) may be used as required blank,
; (5.1) the '`'-character (reverse quote) as half width blank.
; Title `DownSort
; PreTitle Lines to be displayed immediately before the BLOCK-title.
; -------- The lines will be copied asis, however leading blanks are
; skipped, no wrapping or truncation will be applied for
; 'long' lines, '~' (tilde) characters are translated to
; (5.1) blanks. You may specify 20 PreTitles, excess is ignored.
; Empty PreTitle lines are ignored and not counted.
; There is no default pretitle.
Appendix C. Sample Configuration File 37
Maximus Download File Sort and List Utility (OS/2 and DOS)
; To create empty lines in your header specify a PreTitle
; with a tilde.
PreTitle ~
PreTitle ~~~~~~~~<═════:═════ p r e - t i t l e ═════:═════>
PreTitle ~
; SubTitle Lines to be displayed immediately below the BLOCK-title.
; (5.1) ----- Maximum 20 SubTitles are accepted, and exactly the
; same rules apply as for PreTitle.
;
SubTitle ~1
SubTitle ~2 <═════&═════ s u b - t i t l e ═════&═════>
SubTitle ~3 Overview of downloadable files on this magnificent Board
SubTitle ~4 Node number 1.234/56, modemspeeds: V.32/V.22bis
SubTitle ~5 ═══════════════════════════════════════════════════
SubTitle ~6 ║
SubTitle ~7 ║
SubTitle ~8 ║
SubTitle ~9 ║
SubTitle ~10 ║
SubTitle ~11 ║
SubTitle ~12 ║
SubTitle ~13 ║
SubTitle ~14 ║
SubTitle ~15 ║
SubTitle ~16 ║
SubTitle ~17 ║
SubTitle ~18 ║
SubTitle ~19 ║
SubTitle ~20 V
SubTitle ~21 Should not appear: maximum is 20
; BottomLine Lines to be displayed at the end of the filelist.
; (5.1) ----- Maximum 20 BottomLines are accepted, and exactly the
; same rules apply as for PreTitle and Subtitle.
;
BottomLine ~
BottomLine ~~~~~<════════════ b o t t o m : l i n e ══════════════>
BottomLine ~
BottomLine ~~~~~<══════ How do you like this DOWNSORT, folks? ══════>
BottomLine ~
; MaxNewFiles Limit the number of file entries in BBS-list and NEW-list(s).
; ----------- It specifies the actual number of file entries that may
; appear in NewFileList and BBSFileList.
; If you specify more than one privilege (for NewFileList),
; then each list will contain (max) the MaxNewFiles number
; of file entries, but the collection of each may differ due
; to Privilege considerations.
MaxNewFiles 200
Appendix C. Sample Configuration File 38
Maximus Download File Sort and List Utility (OS/2 and DOS)
; OrphanDesc Description text of Orphan files.
; NotFoundDesc Description text of files without description in FILES.BBS.
; ------------ The description will replace the default hard-coded text.
; Up to 45 characters may be specified.
; The '~' (tilde) character will not be translated here!
OrphanDesc ~~~~~ !!!! Orphelin !!!! ~~~~~
NotFoundDesc +++ Ce fichier défie toute description! +++
; ══════════════════════════════════════════════════════════════════════
; Above were the parameters with a global effect: applicable to all
; lists or to the execution mode of DOWNSORT.
; Below follow list-specific parameters, which might override some of
; the settings of the global parameters.
; Leave this sequence: first global, then specific parameters!
; ══════════════════════════════════════════════════════════════════════
; xxxFileList: Create one or more File lists of type 'xxx'.
;
; ┌──────────── TWIT
; xxx ───┐ │┌─────────── DISGRACE ┌─ FileName of the list
; ││┌────────── LIMITED │ (without extension,
; ┌── ORP │││┌───────── NORMAL │ maximum 8 characters)
; ┌── BBS ││││┌──────── WHORTY │
; ┌── NEW │││││┌─────── PRIVIL │
; ┌── ALL ││││││┌────── FAVORED │ ┌─ Additional options for
; ┌── GBL │││││││┌───── EXTRA │ │ each list individually:
; ┌── IPF ││││││││┌──── CLERK │ │
; │ │││││││││┌─── ASSTSYSOP │ │ -W - Wrap Description
; │ ││││││││││┌── SYSOP │ │ -T - Truncate Descr.
; │ │││││││││││┌─ HIDDEN │ │ -A - Alpha sort on name
; │ ││││││││││││ │ │ -D - Date sort
; │ ││││││││││││ │ │ -K - Keep FILES.BBS seq
; │ ││││││││││││ │ │ -If - Include_filespec
; │ ││││││││││││ ┌──────────┘ │ nnn - NEW-entries limit
; │ ││││││││││││ │ │ -Fn - Title font (0..4)
; │ ││││││││││││ │ │ -X - eXcl priv in headers
; ││││││││││││
; ═══─═══════ ════════ ════════════════════════════════
; xxxFileList TDLNWPFECASH FileName Option-1 Option-2 . . . Option-n
;
; If just xxxFileList is specified, the Level by default will be SYSOP
; and the filename will be DOWNSORT.
;
; For NEW-, GBL-, ALL- and IPF-list up to 10 privilege letters can
; be specified and for each character a separate list-file will be
; generated with the following extension:
; NewFileList: N~p
; AllFileList: A~p
; IpfFileList: I~p
; GblFileList: G~p
; where 'p' is the privilege character.
; For the BBS-list only 1 privilege character will be accepted.
; The default filename (DOWNSORT) for each list can be overridden
; with the [optional] third parameter on the xxxFileList line.
Appendix C. Sample Configuration File 39
Maximus Download File Sort and List Utility (OS/2 and DOS)
; If you do not specify any xxxFileList, only the Orphan report may be
; generated.
;
; Additionally some other parameters can be specified (in any sequence).
;
; nnn Limit the number of file-entries to maximal 'nnn'
; applies only to BBS-list and NEW-list.
;
; -A Selects Alphabetic sort on filename
; -D Selects sort on Date/Time of the file
; -K Keep sequence of files in FILES.BBS
; (ALL- and IPF-list, and newly generated FILES.BBS files).
;
; -T Causes Truncation of long descriptions (to about 50 characters)
; so that only 1 line will appear per file-entry.
; -W Causes Wrapping of long descriptions: the report will contain
; as many lines as needed for the complete description.
;
; -If Include userfile (f = file-spec) in report for NEW-, ALL-,
;(5.1) IPF-, GBL-lists and FILES.bbs files. The file is included
; without any translations, so beware of formatting (text-float)
; in the IPF-list!
;
; -X eXclude privilege indications in NEW-, ALL-, IPF- and GBL-lists.
;
; -Fn ListTitle font. Choose for 'n': 1, 2, 3 or 4 (default is 2).
; See some samples of the fonts in the top of this file.
; If '0' (zero) specified, then NO BLOCK TITLE will be generated.
;
; If an asterisk (*) is used as parameter value character, the hardcoded
; default value will be used. If you specify mutually exclusive
; options (-A or -D) or (-T or -W), then the last value on the line
; will be effective.
;
; NOTES 1. For ORPFileList the privilege parameter does not apply, but at
; ----- least 1 character must be specified!
; 2. Invalid or not-recognised sub-parameters are ignored without
; any warning!
;AllFileList PCASH Down_All -k -T -f1 -X -Idownsort.inc
AllFileList a Down_All -k -W -f1 -Idownsort.inc
BBSFileList a Down_Bbs 23 -a -F1 -Idownsort.inc
GblFileList a Down_Gbl -d -F3 -Idownsort.inc
IpfFileList d Down_Ipf -a -F4 -Idownsort.inc
NewFileList a Down_New -d -w -f2 -Idownsort.inc
; OrpFileList * Down_Orp -a -f4
; NOTE: The IPF-list has the format of an INPUT-file for the
; Information Presentation Facility Compiler (IPFC), which is
; part of the IBM OS/2 Toolkit 1.2+ and equivalent MicroSoft
; package. This inputfile has to be processed by this compiler.
; For the sample above with the command:
; IPFC DOWN_IPF.I~P /INF
; Be sure to have the file DOWNSORT.BMP in the default directory and
; set the IPFC environment-variable (e.g. SET IPFC=E:\TOOLKT13\IPFC).
Appendix C. Sample Configuration File 40
Maximus Download File Sort and List Utility (OS/2 and DOS)
; IPFC will produce a file called DOWN_IPF.INF, which is ready
; to be viewed with the command:
; VIEW DOWN_IPF
; See the Toolkit documentation for details of IPFC.
; IPFC is not distributed with the DOWNSORT package!
; FILFilePath Maximum file privilege that any FILES.bbs should contain,
; ----------- the path specification of the FILES.bbs type of output.
; Specify this in the format: drive:\directory\
; If not specified the MAXIMUS path specification will be
; used (ListFile parameter or Download-File directory).
; Not all parameters of other lists (see above) apply to
; the FILES.bbs lists (since it will not contain a TITLE
; as the other lists and the file-description will be
; kept on 1 (long) line).
; FILFilePath a g:\c2\downsort\filesbbs\ -a -Idownsort.inc
;
; ═════════════════════════════════════════════════════════════════
;
; Commandline parameters may supply additional options, and may
; (partly) override the specifications in this configuration file.
; Consider this file as your customised default setting for DOWNSORT,
; and use commandline parameters only to make other lists on the fly.
; There is nothing that you can specify with commandline parameters,
; that you cannot specify in this configuration file!
;
Appendix C. Sample Configuration File 41