16.0 External File Transfer Protocols

Source: SPITFIRE.DOCEdition: searchable Web reading editionPresentation: historical wording retained
16.0 - EXTERNAL FILE TRANSFER PROTOCOLS
        ---------------------------------------

            This feature is designed to allow the use of file transfer
        protocols which are not part of SPITFIRE but are rather provided
        by sources other than Buffalo Creek Software.  For instance, JModem,
        HS/Link and GSZ (Graphical ZModem) are just a few of transfer protocols
        which are available.  There are no External Protocols distributed with
        SPITFIRE because they are usually Shareware products written by other
        programmers.  Buffalo Creek Software most likely has no right to
        distribute them with the SPITFIRE program.  However, there are many
        available for download from Buffalo Creek's BBS, as well as most other
        bulletin boards.

            It should be noted that SPITFIRE does not allow callers to select
        an external protocol as their default file transfer protocol.  This is
        important for callers to know, so SPITFIRE has provided a means to
        notify the caller that External Protocols exist.

            When a new caller logs on for the first time and SPITFIRE is
        configured to require the New Caller Default Protocol option to
        display or when callers use the "<Y>... Your Statistics" from the Main
        Menu to change their default file transfer protocol, SPITFIRE displays
        SFPROMSG.[BCR] just before a default file transfer protocol selection
        is made. The SFPROMSG.[BCR] message should be used to inform callers

        that if a default file transfer protocol is selected, the external
        protocol option will not be available to them.  Callers wishing to
        utilize external protocols should set their default to <S>.. Select At
        Time Of Transfer.

         16.1 - EXTERNAL DOWNLOAD PROTOCOLS
         ----------------------------------

            SPITFIRE allows up to 14 external protocols <A..N> to be utilized
        for downloads.  It may be best at this point to go through setting up
        an external download protocol, step by step.

            To start, an assumption is being made that Sysops have a copy of
        JModem.  Those without a copy may download it from Buffalo Creek's BBS.
        Sysops will need to use their favorite text editor to create a display
        file named SFEXTDN.BBS.  This is a simple text file which will contain
        the names of the external protocols that are available to callers.

            For the purpose of setting up JModem as the first external
        download protocol, the SFEXTDN.BBS file has only one line and
        looks something like this:

        <A> JModem

            Sysops need to place SFEXTDN.BBS in the directory configured as
        the Display Files Path.  To verify, or modify, the EXTERNAL TRANSFER
        FILE PATH, press ALT+P at the SPITFIRE "Ready..." prompt.  Selecting
        option D allows modification of SPITFIRE's default setting.  An
        assumption (for demonstration purposes) is being made here that
        SPITFIRE is run on the C drive in a directory named SF and that the
        External Transfer path is C:\SF\EXTNOD1.

            The next step is to place JModem in the directory set up as
        the External Transfer Path (for our example, C:\SF\EXTNOD1).  Next,
        using your favorite text editor, a batch file is created and named
        SFEXTDNA.BAT.  SFEXTDNA.BAT must be placed in the directory designated
        as the External Transfer Path.  SPITFIRE shells to this batch file
        whenever a caller selects <A>... from the download protocol list.  It
        is appropriate at this point to show the suggested contents of this
        batch file.

        ECHO OFF
        BRK OFF
        Echo Executing SPITFIRE'S External Protocol #1
        CD\SF\EXTNOD1
        JMODEM S%2 %3
        CD\SF
        BRK ON

            Now that SFEXTDNA.BAT, with the above listed commands, resides
        in the directory set up as the External Transfer Path, the first
        External Download Protocol has been configured.  The actual contents
        of the batch files in use depends upon the specific protocols.
        The above is only a sample batch file that should work well with
        JModem.

            Before the commands in the above described batch file are
        explained, it is important to note when a caller selects <B>...
        from the download protocol list (SFEXTDN.BBS), SPITFIRE shells to the
        batch file named SFEXTDNB.BAT.  As stated before, there are fourteen
        external protocols allowed and are denoted by command letters "A" thru
        "N".  These command letters are used to shell from SPITFIRE to the
        corresponding batch files.

        A = SFEXTDNA.BAT          B = SFEXTDNB.BAT         C = SFEXTDNC.BAT
        D = SFEXTDND.BAT          E = SFEXTDNE.BAT         F = SFEXTDNF.BAT
        G = SFEXTDNG.BAT          H = SFEXTDNH.BAT         I = SFEXTDNI.BAT
        J = SFEXTDNJ.BAT          K = SFEXTDNK.BAT         L = SFEXTDNL.BAT
        M = SFEXTDNM.BAT          N = SFEXTDNN.BAT

            An explanation of these batch files and what SPITFIRE does in
        preparation to use these batch files is appropriate and important
        for Sysops to understand.

            When an External Protocol is selected, SPITFIRE does all the
        normal tests to be sure it is permissible for the caller to perform
        the download.  If allowable, then SPITFIRE copies the selected file
        to the directory configured as the External Transfer Path.  PLEASE NOTE
        THAT SPITFIRE COPIES THE SELECTED FILE.  THIS MEANS THERE MUST BE
        ENOUGH DISK SPACE AVAILABLE FOR THE FILE TO BE COPIED.  If all tests
        are passed and the file is successfully copied, SPITFIRE switches to
        the directory configured as the External Transfer Path and stays in
        memory but shells to the appropriate batch file (as described above).
        Keep in mind that SPITFIRE is resident in memory, as well as a second
        copy of the command processor (COMMAND.COM) so the external file
        transfer protocol requires some memory.  Therefore, the minimum memory
        requirement of 256K, stated earlier in the manual, may be insufficient
        for systems including the external protocol file transfer options.

            Upon performing this shell, SPITFIRE passes at least three
        parameters to the appropriate batch file.  The first parameter is the
        baud rate.  The second parameter being passed is the number of the
        COM port being used.  The third parameter is the name of the file to
        be downloaded.  This passed information is needed by most external file
        transfer programs and can now be used with DOS batch commands.  The
        file name is passed in ASCII text as %3.  The baud rate passed as %1 is
        a number representing baud rate of the caller, such as 2400.  The COM

        port, %2, is the number of the COM port in use (1 through 8).  Those
        who are not familiar with the use of the % command in batch files,
        should refer to the DOS manual for specific details.

            When the external protocol file transfer program has finished
        its work, control is automatically returned to SPITFIRE.  Once control
        is returned, SPITFIRE switches back to the directory in which the
        SPITFIRE system files reside.  Next, SPITFIRE erases the file that was
        copied to the directory configured as the External Transfer Path for
        download.  Finally, SPITFIRE checks the amount of time that has passed
        during the shell to the external protocol batch file.  In the event
        SPITFIRE discovers that the time spent in the shell was at least 30%
        of the estimated transfer time, the number of downloads, K downloaded,
        etc. of the caller is updated.  In the event the time spent in the
        shell was less than 30% of the estimated transfer time, then SPITFIRE
        assumes that the transfer was not successful and the caller's data is
        not updated.

            Sysops will notice the example batch file (above) has a command
        to change to the directory configured as the External Transfer Path.
        They will also notice there is a another command to change back to the
        SPITFIRE system files directory.  These commands do not have to be in
        the batch files created because SPITFIRE will automatically perform
        these chores.  However, it is quite permissible for the commands to be
        in the batch file where they can act as a safeguard.  Sysops will
        finally notice a command BRK OFF at the beginning of the batch file
        example, as well as a BRK ON at the end.  BRK is a Shareware utility
        distributed by Solid Systems of Newport News, Virginia.  It is used to
        disable and enable the CTRL+BREAK, which can be used to terminate a
        batch file.  Sysops may need this utility for the protection of their
        systems.  BRK.ZIP can be downloaded from Buffalo Creek's BBS.

        16.2 - EXTERNAL BATCH DOWNLOAD PROTOCOLS
        ----------------------------------------

            SPITFIRE also allows for batch downloads to be transferred
        with the use of external protocols, provided the external protocol
        is written to include batch transfers.  Much of the information
        discussed in the section - EXTERNAL DOWNLOAD PROTOCOLS - also applies
        to the External Batch Download Protocols.  However, there are some
        significant differences which warrant mentioning.

            The SFEXTDN.BBS file is created using your favorite text
        editor.  It lists the names of the external batch file protocols
        that are available.  On the same line, the protocol description
        is followed by a comma and the word BATCH.  For the batch protocol
        example, GSZ will be used and the SFEXTDN.BBS file might now look
        like this:

        <A> JModem
        <B> GSZ Graphic ZModem Batch,Batch

            The SFEXTDN.BBS must reside in the path defined as the Display
        File Path.  The GSZ.EXE must be placed in the directory configured
        as the External File path.  Again, using the text editor, create a
        SFEXTDN<A..N>.BAT file which contains the commands necessary to
        execute the batch download.  Using the above example, SFEXTDNB.BAT
        needs to be created to perform external Graphic ZModem batch downloads
        from SPITFIRE.

            The commands for the SFEXTDNB.BAT file should look like this:

             BRK OFF
             ECHO OFF
             ECHO EXECUTING EXTERNAL PROTOCOL # 2
             CD\SF\EXTNOD1
             GSZ %2 sz %3 %4 %5 %6 %7 %8 %9
             CD\SF
             BRK ON

        The commands used for GSZ , Graphic ZModem batch, pass the same command
        line parameters (explained above in the EXTERNAL DOWNLOAD PROTOCOLS
        section) as the single file ZModem transfer with the addition of %4,
        %5, %6, %7, %8, %9.  The %3 through %9 are the file names the caller
        enters if the batch download external protocol is selected.  SPITFIRE
        allows up to seven files to be transferred during an external batch
        download.  %3 through %9 represent the file names the caller includes
        in the batch queue.

            When an External Protocol is selected, SPITFIRE does all the
        normal tests to be sure it is permissible for the caller to perform
        the download.  If allowed, SPITFIRE copies the selected files to
        the directory configured as your External Transfer Path. PLEASE NOTE
        THAT SPITFIRE COPIES THE SELECTED FILES.  WITH EXTERNAL BATCH DOWNLOADS
        IT IS DOUBLY IMPORTANT THAT ENOUGH DISK SPACE BE AVAILABLE FOR THE
        FILES TO BE COPIED.  However, in adding files to the batch queue if
        SPITFIRE discovers the addition of another file exceeds the amount
        of available disk space or exceeds the number of daily allotted
        downloads for the caller, an appropriate message is displayed prior
        to downloading the files presently in the batch queue.

        16.3 - TEXT FILE EXTERNAL BATCH DOWNLOAD PROTOCOLS
        --------------------------------------------------

            SPITFIRE can be configured to create a text file in the EXTERNAL
        directory which contains a list of the files to be downloaded.   By
        using the file list, the path and name of each file is stored in a text
        file.  By using the text file, it is no longer necessary for SPITFIRE

        to copy the files into the EXTERNAL directory.  It should be mentioned
        that the external protocol must have the capability of reading this
        text file.  GSZ, Graphical ZModem, is one such external protocol.

            There are several advantages to using this particular method with
        batch transfer protocol downloads.  First, because files are no longer
        required to be copied to the EXTERNAL directory, downloads can be
        performed much faster.  Speed is important for multi-node systems.
        Secondly, you eliminate the risk of running out of disk space since
        files are duplicated when copied to the EXTERNAL directory for
        downloading.  Also, the number of files that can be downloaded in a
        single batch transfer is significantly increased using the text file.
        Where the typical batch download (discussed in the previous section of
        the manual) allows 7 files to be downloaded per batch; using the
        text file allows up to 99 files to be downloaded per batch.

            To initiate an external batch download protocol using a text file,
        simply add

        ,UseFile

        at the end of the line of your SFEXTDN.BBS where the text file feature
        is to be used.  For example, here is a sample SFEXTDN.BBS:

        <A> JModem
        <B> GSZ ZModem Batch,Batch,UseFile

            The SFEXTDN.BBS must reside in the path assigned as the Display
        File Path.

            Place GSZ.EXE in the directory configured as the External File
        path.  Using your favorite text editor, Sysops should next create
        the appropriate SFEXTDN<A..N>.BAT file which contains the commands
        necessary to execute the batch download. In the above example,
        SFEXTDNB.BAT is created to perform an external GSZ batch download
        from SPITFIRE.

            The commands for the SFEXTDNB.BAT file should look like this:

             BRK OFF
             ECHO OFF
             ECHO EXECUTING EXTERNAL PROTOCOL # 2
             CD\SF\EXTNOD1
             GSZ %2 sz @C:\SF\EXTNOD1\SFEXTRAN.LST
             IF ERRORLEVEL 1 GOTO END
             IF ERRORLEVEL 0 GOTO GOOD
             :GOOD
             APPENDIT ZMODEM.TXT \SF\CALLERS.TMP
             :END
             CD\SF
             BRK ON

        Note that the commands used in the SFEXTDNB.BAT (above example) uses
        the text file C:\SF\EXTNOD1\SFEXTRAN.LST.  This is the text file where
        SPITFIRE stores the names of the files which the caller has selected
        for download.

            It should again be noted that when an External Protocol is selected,
        SPITFIRE does all the normal tests to be sure it is permissible for the
        caller to perform the download.  In adding files to the batch queue if
        SPITFIRE discovers the addition of another file exceeds the number of
        daily allotted downloads for the caller, an appropriate message is
        displayed prior to downloading the files presently in the batch
        queue.

        16.4 - EXTERNAL UPLOAD PROTOCOLS
        --------------------------------

            SPITFIRE allows up to 14 external protocols <A..N> to be utilized
        for uploads.  Since SPITFIRE handles external protocols for uploading
        slightly different than downloading, it is a good idea at this point to
        go through setting up an upload external protocol, step by step.  To
        begin, Sysops need to obtain a copy of JModem.  Those without a copy
        can download it from Buffalo Creek's BBS.  Using your favorite text
        editor, create a display file named SFEXTUP.BBS.  This is a simple text
        file which contains the names of the external protocols which are
        available.  For the purpose of setting up JModem as the first upload
        external protocol, the SFEXTUP.BBS file has one line that looks
        something like this:

        <A> JModem

            SFEXTUP.BBS is placed in the directory configured as the Display
        Files Path.  To verify, or modify, the EXTERNAL TRANSFER FILE PATH,
        press ALT+P at the SPITFIRE "Ready..." prompt.  Selecting option D
        allows modification of SPITFIRE's default setting.  An assumption (for
        demonstration purposes) is made that SPITFIRE is run from drive C in
        a directory named SF with an External Transfer path of C:\SF\EXTNOD1.

            The next step is to place JMODEM in the directory set up as the
        External Transfer Path (example... C:\SF\EXTNOD1).  Next, using your
        favorite text editor, a batch file is created named SFEXTUPA.BAT
        in the directory designated as the External Transfer Path.  SPITFIRE
        shells to this batch file when a caller selects <A>... from the upload
        protocol list.  At this point, prior to executing the commands within
        the batch file, SPITFIRE sets the attribute of all files contained in
        the External Transfer Path (in this example, C:\SF\EXTNOD1) to Read
        Only.  This is done to prevent callers from uploading and overwriting
        files which exist in your External Transfer Path.  It is appropriate
        at this point to show the suggested contents of this batch file:

        Echo Off
        BRK OFF
        Echo Executing External Protocol #1
        CD\SF\EXTNOD1
        JMODEM R%2 %3
        CD\SF
        BRK ON

            Now that SFEXTUPA.BAT, with the above listed commands, resides
        in the directory set up as the External Transfer Path, the first upload
        External Protocol is successfully configured.  The actual contents of
        the batch files used will depend on the specific protocols. The above
        is only a sample batch file and should work well with JModem.

            Before the commands in the above described batch file are
        explained, it is important to note when a caller selects <B>... from
        the upload protocol list (SFEXTUP.BBS), SPITFIRE shells to a batch
        file named SFEXTUPB.BAT.  As stated before, there are fourteen external
        protocols allowed and they are denoted by command letters "A" thru "N".
        Through their use, SPITFIRE shells to the corresponding batch files.

        A = SFEXTUPA.BAT          B = SFEXTUPB.BAT         C = SFEXTUPC.BAT
        D = SFEXTUPD.BAT          E = SFEXTUPE.BAT         F = SFEXTUPF.BAT
        G = SFEXTUPG.BAT          H = SFEXTUPH.BAT         I = SFEXTUPI.BAT
        J = SFEXTUPJ.BAT          K = SFEXTUPK.BAT         L = SFEXTUPL.BAT
        M = SFEXTUPM.BAT          N = SFEXTUPN.BAT

            Now, an explanation of these batch files and what SPITFIRE does
        in preparation to use them is appropriate and important for the Sysop
        to understand.

            When an External Protocol is selected, SPITFIRE does all the
        normal tests to be sure it is permissible for the caller to perform
        the upload.  If all tests are passed, SPITFIRE changes to the directory
        configured as the External Transfer Path.  SPITFIRE stays resident in
        memory but shells to the appropriate batch file (as described above).
        Keep in mind that SPITFIRE is resident in memory as well as a second
        copy of the command processor (COMMAND.COM), consequently the external
        file transfer protocol is going to require some memory.  Therefore, the
        minimum memory requirement of 256 K stated earlier in the manual, may
        be insufficient for systems including the external protocol file
        transfer options.

            Upon performing this shell, SPITFIRE is passing four parameters
        to the appropriate batch file.  The first parameter is the baud rate.
        The second parameter passed is the number of the COM port being used.
        The third parameter is the name of the file to be uploaded. The fourth
        parameter is the path in which the file to be uploaded is to reside
        (i.e. - C:\SF\UPLOADS).  This passed information is needed by most

        external file transfer programs and can now be used with DOS batch
        commands.  The file name is passed in ASCII text as %3. The baud rate,
        %1, is a number representing baud rate of the caller, such as 2400.
        The COM port, %2, is the number of the COM port being used (1 through
        8).  Sysops who are not familiar with the use of the % command in batch
        files should refer to their DOS manual for specific details.

            When the external protocol file transfer program has finished
        its work, control is automatically returned to SPITFIRE.  Once control
        is returned, SPITFIRE resets the attributes of all files in the
        External Transfer Path (in this instance, C:\SF\EXTNOD1) back to
        archive.  Then, SPITFIRE changes back to the directory in which the
        SPITFIRE system files reside.  SPITFIRE now checks to see if the file
        that was to be uploaded exists in the File Area in which the uploaded
        file should reside, if all went correctly.  If SPITFIRE finds the file
        in the appropriate File Area, the caller is credited with the upload
        and other clean-up chores are performed.  SPITFIRE will then
        automatically move the uploaded file to the directory the Sysop has
        configured as the file upload path (i.e. - C:\SF\UPLOADS).  In the
        event SPITFIRE does not find the file in the appropriate File Area,
        SPITFIRE assumes that the upload was aborted.

            Notice that the example batch file (above) has a command to change
        to the directory configured as the External Transfer Path.  Also notice
        that there is a another command to change back to the SPITFIRE system
        files directory.  These commands do not have to be in the batch files
        created because SPITFIRE automatically performs these chores.  However,
        it is quite permissible for them to be in the batch file so they can
        act as a safeguard.  Finally, notice a command BRK OFF at the beginning
        of the batch file example, as well as a BRK ON at the end.  BRK is a
        Shareware utility distributed by Solid Systems of Newport News,
        Virginia.  It is used to disable and enable the CTRL+BREAK, which can
        be used to terminate a batch file.  Sysops may need this utility for
        the protection of their systems.  BRK.ZIP can be downloaded from
        Buffalo Creek's BBS.

        16.5 - EXTERNAL BATCH UPLOAD PROTOCOLS
        --------------------------------------

            SPITFIRE also allows for batch uploads to be transferred with the
        use of external protocols, provided the external protocol is written to
        include batch upload transfers.  Much of the information discussed in
        the EXTERNAL UPLOAD PROTOCOLS section of this manual also applies to
        External Batch Upload Protocols.  However, there are some significant
        differences which warrant mentioning.

            When creating the SFEXTUP.BBS file, Sysops should use their favorite
        text editor to list the name of the external batch file protocol that

        is available.  On the same line, the protocol description is followed
        by a comma and the word BATCH.  For the batch upload protocol GSZ will
        be used as the example.  The SFEXTDN.BBS file might now look like this:

        <A> JModem
        <B> GSZ Graphical ZModem Batch,Batch

            The SFEXTUP.BBS must reside in the path assigned as the Display
        File Path.

            GSZ.EXE must be placed in the directory configured as the External
        File path.  Next, using a favorite text editor, a SFEXTUP<A..N>.BAT
        file is created which contains the commands necessary to execute the
        batch upload.  Using the above example, SFEXTUPB.BAT needs to be
        created to perform external GSZ batch uploads with SPITFIRE.

            The commands for the SFEXTUPB.BAT file should look like this:

             BRK OFF
             ECHO OFF
             ECHO EXECUTING EXTERNAL PROTOCOL # 2
             CD\SF\EXTNOD1
             GSZ %2 restrict rz
             CD\SF
             BRK ON

        Note, when using GSZ, do NOT list the % file and path parameters on
        the command line or it is possible that the uploaded files will end
        up with the wrong names.  For example, say the caller entered the
        first file name to upload as FILE1.ZIP and the second file to be
        uploaded as FILE2.ZIP.  Then, rather than sending FILE1.ZIP first,
        FILE2.ZIP was sent first and FILE1.ZIP was sent second.  FILE1.ZIP
        would be named FILE2.ZIP and FILE2.ZIP would be named FILE1.ZIP.
        However, the lack of % file parameters allows GSZ to receive more
        files than the number specified by the caller.  To overcome this
        problem, SPITFIRE creates a simple little text file containing the
        names of all files within the External Transfer Path just prior to
        shelling to the appropriate batch file.  When control is returned to
        SPITFIRE, it checks the files in the External Transfer directory
        against the files listed in the previously created text file.  If any
        additional file(s) are found, and if such file(s) do not already exist
        in a File Area, SPITFIRE prompts the caller for a description of the
        file.  If a description is entered by the caller, then SPITFIRE moves
        the file to the appropriate File Area and updates the SFFILES.BBS.
        If the caller hangs up or does not enter a description, SPITFIRE uses
        the default description, "No Description Provided".  The "restrict"
        parameter is a feature of GSZ which prevents the uploader from
        specifying the file path when uploading to the BBS.

            If the external protocol requires the passed parameters, it should
        be noted %4 represents the directory the Sysop has designated as the
        upload directory and %3, %5, %6, %7, %8, %9 represent the file names.
        SPITFIRE allows up to six files to be uploaded during an external batch
        upload.

            After selecting the batch transfer protocol the caller is prompted
        to enter the name of the file to be uploaded and provide a brief
        description for each file to be uploaded.

            As explained in the EXTERNAL UPLOAD PROTOCOLS section of this
        manual, SPITFIRE automatically moves the uploaded file(s) to the
        directory the Sysop has configured as the upload file path.

        16.6 - EXTERNAL BI-DIRECTIONAL FILE TRANSFER PROTOCOLS
        ------------------------------------------------------

            External protocols which support simultaneous uploading and
        downloading are referred to as bi-directional protocols.  In other
        words, having bi-directional file transfer protocols available
        enables the BBS to send and receive files at the same time.

            Before attempting to explain the installation of bi-directional
        file transfer protocols on a SPITFIRE BBS, it may be beneficial to
        review how SPITFIRE processes a bi-directional file transfer request.

            When a caller initiates a download using a bi-directional file
        transfer protocol, SPITFIRE checks the amount of disk space available
        and compares it to what the Sysop has configured using the ALT+Z's
        Upload Disk Space Requirement option.  If disk space is not sufficient
        to allow uploads, the caller receives a message explaining, "...disk
        space currently prohibits uploads" and the transfer process is aborted.

            Provided the available disk space is sufficient to permit uploads,
        the caller is prompted to enter the name of the file to be downloaded.
        If the caller has tagged files for downloading, SPITFIRE automatically
        defaults in the file name(s) with the name of the file(s) tagged by the
        caller.  If no files have been tagged, the caller must type in the file
        name(s).  SPITFIRE will continue to prompt the caller for a file name
        until no name is entered.

            After completing the download information, SPITFIRE prompts the
        caller to enter the file name and file description of the file(s) to
        be uploaded.  SPITFIRE will continue to prompt the caller for a file
        name and description until none is entered.  At that time, SPITFIRE
        immediately shells to the appropriate batch file so that the file
        transfer can begin.  When the bi-directional file transfer program is
        completed, control is automatically returned to SPITFIRE.

            Normally SPITFIRE determines the amount of time a caller should
        be compensated for uploads according to the amount of time required
        for the transfer process.  However it is impossible to determine what
        amount time in the bi-directional transfer was spent uploading.
        Therefore, at the conclusion of the bi-directional file transfer,
        SPITFIRE checks the size of any files which were uploaded, calculates
        an approximate upload time and compensates the caller accordingly.

            SPITFIRE's support of bi-directional file transfer protocols allows
        them to be installed on a SPITFIRE BBS in much the same manner as other
        external protocols.  HS/Link, by Samuel H. Smith, will be used to
        explain the process of setting up a bi-directional file transfer
        protocol on a SPITFIRE BBS.

            To begin, Sysops will need to use their favorite text editor
        to create or modify their existing SFEXTDN.BBS.  This is a simple text
        file which will contain the names of the external protocols that are
        available on the BBS.  Each line in SFEXTDN.BBS should contain the
        letter A through N which is used by the caller to select the respective
        download protocol and the title of transfer protocol (which will
        display to the caller).  For bi-directional file transfer protocols
        these need to be followed by a comma and the term "bi-directional"
        (without the quotes).  Building on the SFEXTDN.BBS created earlier
        (refer to section, External Batch Download Protocols) our sample
        SFEXTDN.BBS might look like this:

        <A> JModem
        <B> GSZ Graphical ZModem Batch,Batch
        <C> HS-Link Bi-Directional Protocol,Bi-Directional

        When the ",bi-directional" is found on a line of the SFEXTDN.BBS,
        SPITFIRE automatically assumes a batch mode and a usefile mode.  In
        other words, you are not required to include a ",batch" or ",usefile"
        on the menu line for bi-directional file transfer protocols.  (Refer
        to the sections External Batch Download Protocols and Text File
        External Batch Download Protocols for further explanation of the
        Batch and Usefile features in SPITFIRE.)

            Sysops need to place SFEXTDN.BBS in the directory configured as
        the Display Files Path.  The HS/Link executable file (HSLINK.EXE) must
        be placed in the directory configured as the External Transfer Path.
        To verify, or modify, file paths in SPITFIRE, press ALT+P at the
        SPITFIRE "Ready..." prompt.  For the purpose of demonstration, an
        assumption is being made that SPITFIRE is being run on drive C in a
        directory named SF and that the External Transfer file path is
        C:\SF\EXTNOD1.

            As stated earlier in this documentation, SPITFIRE supports up to
        14 external protocols <A..N> to be utilized for downloads.  Unlike

        other external download protocols which use batch files named
        SFEXTDN<A..N>.BAT, bi-directional file transfers are initiated by
        batch files named SFEXTBI<x>.BAT.  <x> can be any letter A through
        N and must match the character which the caller uses to select the
        the respective file transfer protocol.  In other words, if the
        bi-directional transfer protocol is option <A> from the caller's menu
        (SFEXTDN.BBS) the batch file would be named SFEXTBIA.BAT, if the
        bi-directional transfer protocol is option <E> from the caller's menu
        (SFEXTDN.BBS) the batch file would be named SFEXTBIE.BAT, etc.  Using
        the example above, our sample batch file would be named SFEXTBIC.BAT.

            Next, using your favorite text editor, create the appropriate
        SFEXTBI<x>.BAT file which contains the commands necessary to execute
        the bi-directional file transfer.  Using the above example, a
        SFEXTBIC.BAT needs to be created to perform the HS/Link bi-directional
        transfers.  SPITFIRE will shell to this batch file when a caller
        selects <C>... from the download protocol list.  The contents of our
        sample SFEXTBIC.BAT file might look like this:

        @Echo Off
        BRK OFF
        HSLINK -P%2 @C:\SF\EXT\SFEXTRAN.LST
        BRK ON

        The actual contents of the batch files in use depends upon the specific
        protocol.  The above is only a sample batch file that should work well
        with HS/Link.  The bi-directional file transfer protocol batch file
        (SFEXTBI<x>.BAT) must reside in your SPITFIRE External Transfer file
        path directory after it is created.

        16.7 - EXTERNAL PROTOCOL SUPPORT
        --------------------------------

            Configuring the use of external file transfer protocols is
        supported by Buffalo Creek Software for registered users of SPITFIRE.
        Those who have problems with the external file transfer program
        itself are urged to read the documentation and then contact the
        author of the program.