TESTINFO.INC

14.1 KB 2d46639cdbde1035…
{
                     This file format may be used freely by
                   any utility which might have a use for it.

              If you program a file processor, you might consider
              utilizing the format to simplify the programming of
              external interface  utilities. (Wouldn't it be nice
              if third party  utils could be used to  interface a
              number of  upload testers, thus  allowing the users
              of different BBS  packages an opportunity to switch
              from one tester to another  without having to worry
              about interfacing problems?)

****************************************************************************
**                                                                        **
**    TESTINFO_REC record types as created by THD ProScan Version 10.0    **
**                                                                        **
**      TESTINFO.DAT is a "file of TESTINFO_REC" which is created by      **
**  THD ProScan Version 10.0 when the user has configured a BBSTYPE       **
**  other than "NONE" in THDINSTL.                                        **
**                                                                        **
****************************************************************************
}

TYPE

TESTINFO_FILE_REC = record {individual file information record}

   FILE_SFX,
   FILE_EXISTS  : boolean;
   FILE_FULL,
   FILE_PATH    : string[60];
   FILE_DRIVE   : string[2];
   FILE_NAME    : string[8];
   FILE_EXT,
   FILE_TYPE    : string[3];
   FILE_DT,
   FILE_SIZE    : longint;
   end;



TESTINFO_REC = Record {format of TESTINFO.DAT individual records}

   Processed,
   VND_present,
   DESC_imp_req,
   ADD_rec,
   F_conv,
   Ansi_detected,
   Avatar_detected,
   CD_detected,
   RES_bool_one,
   RES_bool_two,
   RES_bool_thr,
   RES_bool_fou,
   RES_bool_fiv,
   RES_bool_six,
   RES_bool_sev,
   RES_bool_eig,
   RES_bool_nin      : boolean;
   Check_count,
   BBS_type,
   COM_port,
   EXIT_level,
   TESTINFO_REV,
   RES_byte_one,
   RES_byte_two,
   RES_byte_thr,
   RES_byte_fou,
   RES_byte_fiv,
   RES_byte_six,
   RES_byte_sev,
   RES_byte_eig,
   RES_byte_nin      : byte;
   TEST_DT,
   RES_li_one,
   RES_li_two,
   RES_li_thr,
   RES_li_fou,
   RES_li_fiv,
   RES_li_six,
   RES_li_sev,
   RES_li_eig,
   RES_li_nin,
   RES_li_ten        :longint;
   CMD_options,
   BBS_data_dir,
   Creator,
   Log_path,
   RES_str60_one,
   RES_str60_two,
   RES_str60_thr     : string[60];
   Ver_major,
   Ver_minor         : string[2];
   VAR_ext           : string[3];
   Desc_filename,
   RES_str12_one,
   RES_str12_two,
   RES_str12_thr     : string[12];
   ORIGINAL_F_info,
   FINISHED_F_info   : TESTINFO_FILE_REC;
   RES_int_one,
   RES_int_two,
   RES_int_thr,
   RES_int_fou,
   RES_int_fiv,
   Descr_Length      : integer;
   DIZ_Description   : array[1..1500] of char
   end;

{
                     *********************************
                     **  EACH RECORD IS 2380 BYTES  **
                     *********************************

    This format is Copyright 1994 PainSoft and is freely usable but may not
be modified. Persons wishing to add or change fields should contact David Muir
at 1:259/423.0 (fidonet) to discuss suggestions for changes.

     This file is an "include" file for use with Turbo Pascal. It defines the
2 "types" used by THDPRO.EXE to create the file "TESTINFO.DAT" which is the
data file used by THDPLUS.EXE to update the various file databases of BBS
types supported to date.
     It includes a great bit of information that could be useful to utility
programmers wishing to program an interface for THD and any number of BBS
programs. Much of the information included here could be easily determined
by programmers. It is included here to simply your efforts (as well as my
own).
     TESTINFO.DAT will only be created (or added to) if THDPRO.EXE is
configured with a BBSTYPE other than "NONE". And only by THD ProScan Version
10.0 or later (note that this is not supported in the THD 10m beta released
prior to 10.0). TESTINFO.DAT will be created and maintained in the directory
in which THDPRO.EXE and/or THDPLUS.EXE reside(s).
     THDPRO.EXE has it's own numbering of BBS TYPES and reserves values of
1-254 for itself. A BBSTYPE of "0" indicates no BBS is involved and will not
cause this file to be written and should therefore never be encountered.
     If a user defines his BBS types as "other" in THDINSTL, then the
BBSTYPE value in the record will be 255. THDPLUS will ignore records
containing this BBSTYPE. HOWEVER, THDPRO.EXE will increase the "Check_Count"
variable for these records each time it is read and will delete any record
which has a Check_Count of 51 or higher or which is marked as having been 
processed.
     Note that if a user selects a BBS type that is not "other", THD will
attempt to run it's proprietary THDPLUS program to process this file. It
identifies THDPLUS by a special configuration and will not run any program
which does not identify itself correctly. That identification process is not
being released to the public, so any third party programmers should NOT
expect THDPRO.EXE to run their program no matter what they name it. This is
a security feature and will not be open for negotiation. Third party
programmers should include instructions for running their program via an
event or as part of a batch file after THDPRO.EXE is run.
     They might even consider running THDPRO.EXE in a shell from their
program and processing the TESTINFO.DAT file after control is returned to
their program. If you opt to use this method please watch your memory usage
VERY closely and swap out the memory if possible so THD does not run short
when calling the archivers and virus scanners.

     Outline for TESTINFO_FILE_REC as a type used below

FILE_SFX    - Is this a self extracting archive?
FILE_EXISTS - did this file exist at the time this record was written
FILE_FULL   - fully qualified file path - drive:\path\name.extension
              "drive:" will always be included even if the user did not
              supply a drive letter in the path to the test file. When this
              occurs, THDPRO.EXE inserts the drive specification of the
              current drive in this path. That drive specification may
              differ from the time THD runs and the time an external utility
              runs. Be sure to check the FILE_DRIVE variable to see that
              this drive was supplied and not assumed (network drive specs
              can change depending on the remote system).
              [if length(FILE_DRIVE)=2 then the drive letter was supplied.]
FILE_DRIVE  - Drive Letter of file path (colon is included if a drive letter
              is defined. In cases where THD is not specifically given a
              drive letter this entry will be empty)
FILE_PATH   - file path (in the format "\WHAT\DIR\" with both beginning and
              trailing backslashes)
FILE_NAME   - file name (name only no "." or extension)
FILE_EXT    - file extension [note that the "." is not included in this
              record]
FILE_TYPE   - file "type" will be one of...
              ARC / ARJ / GIF / HYP / LZH / PAK / RAR /SQZ / TD0 /UC2 / ZIP
              or NON [for un-supported types] (Types reported here may be
              expanded on by third party programmers, but should try to use
              accepted conventions for file types, usually the file
              extension would be suggested.)
FILE_DT     - file date/time [packed format]
FILE_SIZE   - file size in bytes


     The proposed outline for the extra record to be created by THD ProScan
for the purpose of allowing external manipulation of file data bases or
other uses for data which THD can extract.

   labels beginning with "RES_" (as in "reserved") are currently not used
(or explained here) but are present to help ensure the future compatibility
of this file format.

Outline for TESTINFO_REC - (as used to create TESTINFO.DAT)

Processed        - Has this record been processed? [if true THD will remove
                   this record on it's next run]. Use this to indicate when
                   the file has been completely processed and will no longer
                   be required. Proper use of this field will help
                   THDPRO.EXE to keep the TESTINFO.DAT file compressed to a
                   reasonable size.
VND_present      - is VENDINFO.DIZ present in file?
DESC_imp_req     - is Description importation requested? If set to false,
                   the user has requested that descriptions not be imported
                   into their file database.
ADD_rec          - does the THD user wish to Create a new entry in their
                   file database if one is not currently present?
F_conv           - was file successfully converted [true even if file type
                   was not changed during conversion]
Ansi_detected    - was ANSI detected on remote system at THDPRO.EXE's
                   initialization.
Avatar_detected  - was Avatar 0+ detected on remote system at THDPRO.EXE's
                   initialization.
CD_detected      - was carrier detected at last check on remote system?
                   Carrier is checked before each output line is sent.
Check_count      - Number of times this record has been found but not
                   processed [ THDPRO.EXE will purge any record checked
                   more than 50 times. as well THD will increment this
                   number by one each time it writes a new record ]
BBS_type         - BBSTYPE as defined in THDPRO.EXE
COM_port         - Comport used during test [0 if local]. This variable will
                   be the comport used at the time of initialization of
                   THDPRO.EXE. CD_Detected should be checked to see if it
                   was still active on this comport at the time of writing
                   this record.
EXIT_level       - Dos Error level returned by THDPRO.EXE on this file test.
                   When THDPLUS.EXE resides in the same directory as
                   THDPRO.EXE this will be set to "0". Note that this refers
                   only to a verified PainSoft created version of THDPLUS
                   and not any other utils which may happen to have the
                   same name. Otherwise it will contain the Errorlevel
                   expected to be returned on completing (barring any run-
                   time errors)
TESTINFO_REV     - The revision number of the TESTINFO file. Currently
                   there is only revision "1" (This revision).
TEST_DT          - date/time [ at time of writing this record ]
CMD_options      - Command line options supplied to THDPRO.EXE. [The first
                   and last character will always be " " [space]].
Log_path         - This is the full path and filename used as THD ProScan's
                   temporary log file. This information will be of no use
                   to third party programmers as this log file will be
                   closed and erased before any third party utilities are
                   invoked. It is included for use by THDPLUS.EXE.
Creator          - The name of the Program that created this record.
                   Under all normal circumstances this will be
                   "THD ProScan". Although if other programmers choose to
                   create a record of this type, they should insert their
                   own identification in this area. This is the ONLY place
                   where a string variable will contain lower case.
BBS_data_dir     - Path to BBS data directory [usually main BBS directory]
Ver_major        - Creator's version number (major) [ie. "10"]
Ver_minor        - Creator's version number (minor) [ie. "m" or ".0"]
VAR_ext          - Variable extension number used for this test. (the three
                   number extension used on temp directories and files
                   during this test)
Desc_filename    - Name of the file from which the description included
                   was extracted. [blank if none] This is included if for
                   some reason the third party programmer wishes to
                   re-extract the file from which the description was taken.
                   This file name will always be contained in the main
                   archive, and thus could be extracted from the resulting
                   archive if need be. This may be help for instance where a
                   description is the full 1500 characters and not taken
                   from a VENDINFO.DIZ. The programmer could re-extract the
                   description file and use it in it's entirety (if they
                   wished).
ORIGINAL_F_info  - Original file information [as stored in the type
                   TESTINFO_FILE_REC]. Information on the file prior to
                   THDPRO.EXE making any modifications.
FINISHED_F_info  - Finished file information [as stored in the type
                   TESTINFO_FILE_REC]. Information on the resulting file after
                   THDPRO.EXE has completed it's processing of this file.
                   Changes from the original file "can" occur in any of the
                   fields through archive conversion or other manipulation.
Descr_Length     - Number of characters in the DIZ_Description field
                   [ 0 if no description, maximum 1500 ]
DIZ_Description  - Description containing the full description including
                   any CR/LF (or other control or non ASCII characters) that
                   may have been present in the description file used
                   [maximum 1500 characters]

     ** NOTE **
     All string variables and character variables will be stored as
uppercase in these records except for the "CREATOR" field which contains the
name of the creator of the record. There will be absolutely no lowercase
information in these records anywhere else except in the diz_description
field.
     Strings and arrays are NOT necessarily null terminated.
}