






                                                                 Chapter 7

                                                    More Advanced Features


              Introduction
              Introduction
              Introduction

              This section will explore several other features of Ezycom
              that have been skipped to date because of their advanced
              nature. You should remember that all features explained in
              this section are optional and a BBS can be quite functional
              without them. We suggest you do not try to understand them
              till you have a good grasp of the first five chapters and
              you feel comfortable using Ezycom and at least have a
              tested and functional system.


              File & Message Area Groups
              File & Message Area Groups
              File & Message Area Groups

              The use of groups allows file and message areas can be
              categorised into groups that share a common theme.  It is
              mainly used in conjunction with file and message area
              templating. For example one use of grouping could be to
              allow all Amiga related areas to be grouped into one
              perceived area, totally separate from all IBM areas.
              Special commands in the questionnaire language can be used
              to allow users to select the groups they wish to view (see
              Appendix A).

              In the configuration for each message and file area there
              is an option to configure the group to which that
              message/file area belongs to (do not confuse this with Echo
              Group for messages). The groups can be configured using any
              of the letters of the alphabet (A through to Z).  To ALWAYS
              enable access to a certain message/file area no matter what
              the current group settings are you can make the group a *
              group (ie Global).  Note that file and message areas use
              the SAME group ie. group A in the message areas is ALSO
              group A in the file areas. You might like to choose group A
              for Amiga and group I for IBM for example.

              With the use of the questionnaire language group commands
              (see Appendix B) and the group settings, it is possible for
              the users to select which groups they wish to see.  All
              they have to do is turn on the groups they want and turn
              off the groups they do not want.  Then whenever they do a
              new files listing, combined read, message area change, file
              area change, search for files, or any other global type
              command on message or file areas, then only those groups
              the user has selected will be displayed.





                               Chapter 7 - More Advanced Features      129
                                                                       129
                                                                       129






          ____
          Note: Groups are NOT a security feature and the user will

          STILL be allowed to access areas they can normally access
          even if they have the group turned off or if you make it
          available using /F=<area> or /M=<area> commands.

          Users can now select which groups they wish to select, but
          if they have all groups turned on, then they still could be
          presented with many file/message areas when doing area
          change commands.  It is possible to override the group
          commands on the Goto/Gosub Menu command (with /F=+ or - or
          /M=+ or -), the change file area, change message area (and
          equivalents), and all global message area/file commands.
          To override group settings the sysop MUST place a
          /G=<group> on the Data line.  The <group> is either a
          letter from A through to Z, or * (meaning ALL groups).  For
          instance, to change to a file area only in the IBM group, a
          /G=I would be used on the Data line of the menu command.
          So using a totally separate menu for IBM files, the sysop
          could use /G=I command on all global type commands in the
          file area and this will allow only IBM file areas to be
          viewed and/or be changed into. Using the /CG=<group> option
          on a Goto/Gosub Menu command eliminates the need to use
          totally separate menus for each group you have on your
          system. This effectively templates the group for a group
          menu.

          A problem now arises when a user changes between two
          overriding groups.  The problem is when they go into the
          other group (Eg. Amiga) they will still be in an area of
          the group they were last in (Eg. IBM).  To overcome this,
          an option has been added to the /F= /M= command.  This
          option allows you to specify the <group>, which the user
          should be placed into.

          For Example:

          Type : 1           (Goto Menu)
          Data : FILEMENU /F=A

          This would place the user into the last Amiga file area
          they were in.  If the user has not yet been in an Amiga
          File Area, then they are placed in the first available
          Amiga File Area (or the first global area should one of
          these come before any Amiga ones).

          The best way to learn groups is to experiment with them and
          see what happens. You should at least  have tried
          message/file area templating before you begin to tackle
          groups however. Be sure to seek help from a support site if
          you are still lost or re-read this section of the manual a
          few times and then try again.




          130
          130
          130      
                   
                   Advanced Features






              QWK Offline Mailing
              QWK Offline Mailing
              QWK Offline Mailing

              Ezycom features a built in QWK offline mail processing
              facility, a feature quite absent or implemented through a
              third party door in other packages. QWK is a mail packet
              standard that has been around for quite some time now and
              there are mail reader programs for just about every
              computing platform in common use. There are often many to
              choose from on each platform too. Some common ones include
              The Silly Little Mail Reader for DOS, WinQWK for Windows,
              KWQ for OS/2 2.1 PM and QBLUE for the Amiga. The number
              available is growing daily.

              QWK allows users to download all the mail of interest to
              them in a single compressed bundle for reading later when
              they are no longer connected to the BBS, hence the term
              offline mail. They can then reply to messages they read and
              their mail reader will then make up a reply bundle to be
              sent back to the BBS on their next call. The BBS then
              processes this as if it were written online. This allows
              much greater participation in mail networks and so is a
              boon for any sysop trying to encourage users to write mail.


              Configuring Your System To Create QWK Mail

              There are a number of settings throughout CONFIG that you
              need to set-up in order for QWK to work. On the Message
              Areas menu you will find an option titled (strangely
              enough) QWK Mail. Selecting this option brings up another
              menu that has four options for you to configure.

                 Unique QWK Filename - Here you define the 8 character
                 filename that all QWK bundles from your BBS will bear to
                 distinguish them from other systems. Eg. If your system
                 was called DOGS BBS, you could use DOGS-BBS and so any
                 QWK packets from your system would be named DOGS-BBS.QWK
                 and any reply bundles sent back would bear the name
                 DOGS-BBS.REP.

                 Maximum Messages - This is the maximum number of
                 messages you will allow a user to scan out at once in
                 total. The value you put here will largely depend on
                 your disk space. Count on requiring around 1.6K of space
                 for each message you allow for per node you have on air
                 (since more than one user can do this at once). These
                 files are built in the TEMP path (per CONFIG) and so
                 this is the drive the space is needed on. Pointing this
                 to a sufficiently big RAM drive will speed QWK building
                 up massively.

                 QWK Message Board - Any BAD QWK mail will end up on this
                 message board. One would normally point this to the same
                 area as their bad echomail area.


                               Chapter 7 - More Advanced Features      131
                                                                       131
                                                                       131







             Receive Own QWK - If this is set to Yes, then any
             messages posted by the user will also be included in
             downloaded QWK bundles otherwise they will be skipped
             during building.

          There are also some other things you have to make sure you
          have configured.

             Be sure to set a QWK Name for each message area on your
             system you want to be downloadable. If no name is
             defined here, then it will not be selectable by users
             for their QWK bundles.

             Message areas must also have the Combined setting set to
             Yes for them to be selectable in a QWK bundle.

          Ezycom looks at all security settings when scanning out
          mail so users CANNOT get access to messages they would
          normally not be allowed to whilst online. Be careful also
          if you move message areas around (using ALT-M in CONFIG or
          by using EZYUTIL). QWK works on an area number basis only
          and so depending on how regularly your users send back
          replies, an area may have moved since they last did so and
          their message could end up bad or in the wrong area (and
          get you into trouble when the conference moderator sees
          it). Ezycom will also complain if there is not enough space
          on the specified drive to build a user's requested QWK
          bundle.

          To allow users to download QWK mail you should set-up a
          special menu that allows them to do the following:

             configure their combined settings including by global
             means
             set their compression preference
             set their default download protocol
             reset their last read pointers
             download QWK bundles
             upload QWK bundles
             allow them to set maximum messages per bundle/area
             allow them to set the maximum age of messages to bundle

          The applicable menu commands to do all this can be found
          throughout Appendix A.











          132
          132
          132      
                   
                   Advanced Features






              Netmails In QWK

              Ezycom implements special support to allow netmails to be
              correctly posted using QWK. Any messages bundled into
              downloadable packets from netmail areas will automatically
              get a From: <network address> 
                    From: <network address> 
                    From: <network address> line inserted (where <network
              address> will contain a valid FTN number) at the top of the
              message to assist the user in replying. When a user replies
              they should use a To: <network address>
                                To: <network address>
                                To: <network address> statement in the
              same place at the top of the message. Ezycom will
              automatically process this message as per usual once it has
              this information.

              Remote QWK Maintenance

              Ezycom also supports remote ADD and DROP of QWK areas. It
              will look for these messages whenever a QWK .REP bundle is
              uploaded and act on them accordingly.


              Questionnaires
              Questionnaires
              Questionnaires

              A Questionnaire is simply a script or series of commands
              that Ezycom can execute. Ezycom has a VERY powerful set of
              commands that will allow you to do almost anything you like
              including running your entire BBS out of a questionnaire
              file. Questionnaires are so named because they were
              originally invented for asking users a series of sysop
              customised questions and then storing the answers given.
              These days they do that plus much more. Questionnaires will
              be very simple to learn for anyone with programming
              experience. Those without any programming experience should
              experiment using simple commands at first and then move on
              to more advanced commands. Appendix B is a complete
              reference to all the available commands including examples
              on how to use them. The commands are introduced gradually
              in order of complexity and are grouped together by type.

              You will need to find a suitable text editor to make
              questionnaire files. The popular shareware editor QEdit or
              even DOS's EDIT command will do this task nicely.
              Questionnaire files bear the extension .Q-A and must be
              located in the Ezycom system directory. They are executed
              using menu type 12.


              Special Questionnaire Files

              There are some special questionnaire file names reserved
              for particular purposes in Ezycom. When the time is right
              and Ezycom detects the presence of these files, it will
              automatically call them. The purpose of each is outlined
              below.



                               Chapter 7 - More Advanced Features      133
                                                                       133
                                                                       133







          REG-EXP.Q-A
          REG-EXP.Q-A
          REG-EXP.Q-A

          This is a questionnaire defined by you that Ezycom will
          automatically run when a users registration has run out.
          This is only used if you have enabled either rego days in
          the Limits manager in CONFIG or you have specified an
          expiry date in the user file for a particular user.


          NEWUSER.Q-A
          NEWUSER.Q-A
          NEWUSER.Q-A

          This allows you to define a new user questionnaire which is
          presented to each new user after they have finished
          answering login configuration questions. Be sure to have
          enough login time set for new users in CONFIG to answer
          login questions as well as answer this questionnaire if you
          have this enabled. MENUCMNDs are NOT available in this
          questionnaire.


          NEWUSER2.Q-A
          NEWUSER2.Q-A
          NEWUSER2.Q-A

          This allows you to define a secondary new user
          questionnaire. This one is run after  new user record has
          already been written so MENUCMNDs are now valid.


          EZYUTIL - A Powerful Collection Of Tools
          EZYUTIL - A Powerful Collection Of Tools
          EZYUTIL - A Powerful Collection Of Tools

          Most of Ezycom's many general purpose utilities are tucked
          away nicely into a utility called EZYUTIL. There are some
          very powerful options available from this seemingly
          insignificant utility and so a large section of this
          chapter has been devoted to discussing each of these in
          turn.

          Message Importing

          To import a message file into your message base use the
          following command line :


            -A<number>      This is the message area to post the
                            contents of the file into ie. the message
                            area number in CONFIG.

            -F<from_name>   This is who the message is to be from.
                            (Note: you must use underscore characters
                            where there are spaces in the name eg.
                            Peter_Davies).





          134
          134
          134      
                   
                   Advanced Features






                -T<to_name>     This is who the message is to be sent to
                                (once again underscores need to be used
                                where appropriate)

                -N<5D address>  This is the full 5 dimensional network
                                address to send the message to (should it
                                be a netmail message). There are also
                                some optional parameters for use in
                                conjunction with this option in order to
                                specify the status flag(s) to place on
                                the message being posted. They are:

                                  PVT  Private Status
                                  KS   Kill/Sent Status
                                  FILE File Request Status
                                  DIR  Direct Status
                                  C    Crash Status

                -S<subject>     This is the subject of the message to be
                                imported (once again, place underscores
                                where spaces are needed).

                -L<filename>    Full path and filename of message text to
                                import.

              For Example:

              EZYUTIL -IMPORT -A1 -FPeter_Davies -Tall -SHi -LTest.TXT

              Automatic word wrapping is carried out on any lines that
              are too long in the text file that you are importing.


              Quickly Re-arranging Message Areas

              You can use EZYUTIL to quickly sort message areas using a
              variety of sorting methods. Use -SORTMSG to activate this
              command and use the following command line options to
              control its action:

                -BYGROUP        If this option is present then EZYUTIL
                                will sort message areas by message area
                                group and then by message area name.

                -BYTAG          If you specify this option then message
                                areas will be sorted by echo tag and then
                                by area name

                -BYAGROUP       Use this option to sort  by the echo area
                                group, then either the message area name
                                or message area tag.





                               Chapter 7 - More Advanced Features      135
                                                                       135
                                                                       135






            -FROM<area number>     Use this to specify which message
                            area to begin sorting from (as per the
                            area number in CONFIG). EZYUTIL will
                            default to area 1 if you do not specify
                            this option.

            -TO<area number>  Use this to specify the highest message
                            area that EZYUTIL should sort to. It will
                            default to the highest area you have
                            defined if you do not specify this
                            option.


          While sorting EZYUTIL will move all the messages within the
          areas around, it will move the message area entries in
          CONFIG and it will update combined and last read pointers
          in the user file. It will also update the netmail boards
          and other references to message boards (such as the bad
          area) elsewhere in CONFIG. Naturally it will not update
          batch files and menus that reference areas specifically
          however so you should check for this carefully after it has
          finished. You MUST NOT carry this function whilst users are
          online to your system. Also if you are in any mail
          networks, ensure that ALL pending echo/netmail has been
          scanned out and that all echomail message areas have
          pending linking completed on them before sorting message
          areas. This should not be a problem if you always link
          after mail tosses and always scan new mail out straight
          after users log off.


          Rapidly Deleting Certain Messages

          This feature of EZYUTIL allows you to specify certain text
          to find in messages areas and when found  EZYUTIL will
          cause the deletion of those messages from your message
          base. The -STRIPMSG option activates this function and the
          other command line options are as follows:


            -L<filename>    Use this to specify the filename of a
                            special text file that controls message
                            deleting. This file supports the
                            following commands, each instance of
                            which has to be on a separate line.

               S    means search the Subject for the following text.
               F    means search the From field for the following 
                    text.
               T    means search the To field for the following text.
               B    means search the From & To field for the 
                    following text.




          136
          136
          136      
                   
                   Advanced Features






              For Example:

                   STest
                   TThe Sysop
                   FIdiot
                   BStupid

              The search is non-case-sensitive and the text only has to
              be a sub-string of the appropriate part of the message.
              Spaces should NOT be underscored.

                -A<area>        This is an optional field. If present it
                                is used to tell the message stripper to
                                only search the specified message area.
                                By default all message areas will be
                                searched.



              Undeleting Messages

              One function of EZYUTIL also allows you to undelete
              specific messages. Use the following command line:

              EZYUTIL -UNDELETE

              You will then be prompted for the message area number from
              where you wish to undelete the messages that it contains
              within.  If you select a valid message area, then EZYUTIL
              will undelete all the messages in that conference that have
              been marked as deleted. Only messages that were deleted
              AFTER the last MSGCOMP will be undeleted however.  After a
              MSGCOMP, you can NOT retrieve any messages that were
              deleted.


              Sorting Your Node Manager

              EZYUTIL can sort your up/downlink node manager so that all
              nodes appear in numeric/domain order. Use the following
              command line:

              EZYUTIL -SORTNODE

              All your links will be sorted into ascending order while
              the pointers in your export lists are also being updated
              for each message area. It may  take quite some time to do
              if you have a complicated message export set-up.








                               Chapter 7 - More Advanced Features      137
                                                                       137
                                                                       137






          Sorting Your Netmail Folder

          To quickly sort/renumber the messages in your netmail
          folder (*.MSG) use the command:

          EZYUTIL -SORTMSG


          Rescanning Echomail For New Downlinks

          Often when you connect up downlinks to new echomail areas
          they will want some mail to start their areas off. Use the
          -RESCAN option to achieve this manually (they can use
          Areafix to do it remotely). This option has a couple of
          parameters:

            -A<area number> Use this to tell EZYUTIL which echomail
                            area (as per CONFIG) to rescan the mail
                            out from.

            -U<address>     This is the full 5-dimensional address of
                            the node in your node manager you want to
                            rescan the mail out to.

          EZYUTIL will generate the necessary information for EZYMAIL
          to later rescan the most recent messages (up to the maximum
          specified in CONFIG) out to the system specified. All
          messages will carry to @RESCANNED kludge to prevent dupe
          loops.


          Stripping Log Files

          EZYUTIL also allows you to easily prune back your system
          log files if you make use of the -STRIPLOG parameter. Use
          the following command line parameters with this:

            -L<logfile>     Use this to specify the name of the
                            Ezycom log which you wish to be stripped.

            -D<days to keep>  Use this to specify the number of days
                            of log which you wish to keep.  For
                            example: -D7 would keep the last 7 days
                            of log file.

          You are best to run this function whilst no part of Ezycom
          is active else the log file you are trying to prune could
          be in use and you will get a share violation.








          138
          138
          138      
                   
                   Advanced Features






              Automatically Building File Areas

              EZYUTIL provides you with a very quick way to automatically
              file areas. This is especially helpful if you are in the
              habit of adding new CD-ROM discs to your BBS which normally
              have thousands of files, hundreds of directories and hence
              would require many hours of work to set-up. This is no
              longer necessary. Run EZYUTIL with the -MAKEFILEAREAS
              parameter using the following options:

                -L<file list name>     This is the filename (NO path) of
                                the file description list to find.
                                Normally this would be FILES.BBS

                -A<area number> This is the file area number to start
                                creating file areas onwards from.

                -D<drive>       This tells EZYUTIL which drive to search
                                (including the colon). The entire
                                contents of this drive will be searched
                                for the file list name given. When found,
                                that path will be added into your file
                                database along with the contents of that
                                directory.

              For Example:

                   EZYUTIL -MAKEFILEAREAS -LFILES.BBS -A100 -DD:


              This will search for FILES.BBS all over D: and any
              directories where it finds FILES.BBS will be added to the
              File Areas and File Paths part of CONFIG, starting at file
              area/path 100.






















                               Chapter 7 - More Advanced Features      139
                                                                       139
                                                                       139






          File Area Information

          EZYUTIL can export file area configuration information to a
          file called FILES.TXT.  This file contains the
          configuration settings for ALL the file areas on your
          system.  It is placed in the system path eg. C:\EZY. Use
          the following command line:

          EZYUTIL -EXPORT -FILEAREA

          Below is example of what each looks like when it is
          outputed to FILES.TXT

             File Area Num: 25
            File Area Name: Ezycom BBS Support Files
          Upload File Area: MS-DOS - *NEW* UPLOADS!!
                 Area Path: I:\MS-DOS\EZYCOM\
                File Group: I
             User Security: 10
               User Flag A: --------
               User Flag B: --------
               User Flag C: --------
               User Flag D: --------
           Upload Security: 0
             Upload Flag A: --------
             Upload Flag B: --------
             Upload Flag C: --------
             Upload Flag D: --------
            Sysop Security: 100
              Sysop Flag A: --------
              Sysop Flag B: --------
              Sysop Flag C: --------
              Sysop Flag D: --------
               Minimum Age: 0
                   Sort By: Alpha
           Offline Allowed: Yes
               Master List: Yes
                 Age Check: Yes
                Conversion: None

















          140
          140
          140      
                   
                   Advanced Features






              Message Base Information

              Similarly to the file base, EZYUTIL can also create an
              information file for the message base.  The file created is
              called MESSAGES.TXT. Once again an example of what to
              expect is shown. Use the following command line to achieve
              this:

              EZYUTIL -EXPORT -MESSAREA

                 Mess Area Num: 21
                Mess Area Name: Fidonet Ezycom Support
                 Mess Area Tag: EC_SUPPORT
                Mess Area Type: Echomail
                Mess Area Kind: Public
                    Mess Group: I
                 AreaMgr Group: E
                     Days Kill: 30
                  Receive Kill: 14
                    Count Kill: 999
                 Kilobyte Kill: 0
                 Read Security: 10
                  Read Flags A: --------
                  Read Flags B: --------
                  Read Flags C: --------
                  Read Flags D: --------
                Write Security: 10
                 Write Flags A: --------
                 Write Flags B: --------
                 Write Flags C: --------
                 Write Flags D: --------
                Sysop Security: 100
                 Sysop Flags A: --------
                 Sysop Flags B: --------
                 Sysop Flags C: --------
                 Sysop Flags D: --------
                 Alias Allowed: Real Names Only
               Combined Access: Yes
              Initial Combined: No
                      Age Test: Yes
                  Keep Private: No
                   Show Seenby: No
                  Clear Seenby: No
                       Visible: No
                        Uplink: 3:713/618
                    Origin Aka: 3:622/407
                   Origin Line: Lake BBS. NSW, Australia (049) 562853
                        Seenby: 3:622/407
                   Export List: 3:622/402 3:622/403 3:622/410 3:622/413 
                                  3:711/437 3:713/618






                               Chapter 7 - More Advanced Features      141
                                                                       141
                                                                       141






          Message Base Statistics

          EZYUTIL can generate a set of statistics for your message
          base. The file created is called STAT<area>.  This will
          tell you such things as the number of participants in that
          message area, the average message length in bytes then a
          list of user names along  with the number of messages
          posted by that user, the total length in bytes for all
          their messages posted and an average of the length of their
          messages posted.  At the end of the file there is a section
          showing the person that posted the longest message and the
          person that posted the shortest message.  This text file
          could be imported into the message base using the EZYUTIL
          message import command to show the users the statistics of
          the message area being used. The file will be placed in the
          current directory and has no extension.

          For Example:

          EZYUTIL -MBS -A27

          would produce a STAT027 file in current directory showing
          the aforementioned information. An example file has not
          been included here to save space.


          Adding Rumours

          You can use EZYUTIL to add new rumours to your rumour file
          from a text file. The source file should be a text file
          with one line rumours (one per line) that are no longer
          than 79 characters each.

          For Example:

               EZYUTIL -RUMOURADD -LC:\NEW-RUMO.TXT

          would import rumours from a the text file C:\NEW-RUMO.TXT


          Deleting Rumours

          As well as adding rumours, EZYUTIL can also delete them
          after they are over a set number of days old.

          For Example:

               EZYUTIL -RUMOUROLD10

          would delete rumours older than 10 days (ie 10 days or more
          since they were added to the rumour file)





          142
          142
          142      
                   
                   Advanced Features






              EZYLINK - Fast Message Subject Linking
              EZYLINK - Fast Message Subject Linking
              EZYLINK - Fast Message Subject Linking

              This is a small, quick utility to allow you to reply-link
              messages in echomail areas that have received new mail
              since you last ran MSGCOMP -LINK.  It is not designed to
              replace MSGCOMP.  It would normally be used immediately
              after tossing new echomail with EZYMAIL so that you do not
              have to wait for the next run of MSGCOMP in order to have
              all replies to messages, linked together.  EZYLINK (unlike
              MSGCOMP) will also run with users online.


              File Points - What Are They?
              File Points - What Are They?
              File Points - What Are They?

              File Points are a file credit management system that do not
              incur the problems associated with the normal File/Kilobyte
              Ratio Systems.  The unique feature of file points is that
              when user(s) download a file, the uploader of that file is
              given credit for the download.  So if user(s) upload
              old/boring files that will not be popular, then they will
              not receive many (if any, depending on the configuration)
              filepoints for their upload.  This system encourages
              user(s) to upload decent files as the more times files they
              uploaded are downloaded by others, the more points they get
              and so the more downloads they can take. Please note this
              is a registered only feature of Ezycom.


              ANSTOAVT - Convert ANSI to AVATAR
              ANSTOAVT - Convert ANSI to AVATAR
              ANSTOAVT - Convert ANSI to AVATAR

              This small utility will convert your .ANS (ANSI) files to
              .AVT (Avatar) files. You should run this any time you
              change your ANSI screens.

              Example 1:

              ANSTOAVT MESS.ANS

              Wild cards are also supported so if you wish to convert all
              your .ANS files, type

              Example 2:

              ANSTOAVT *.ANS

              This will convert all of your ANSI screens to AVATAR
              screens.









                               Chapter 7 - More Advanced Features      143
                                                                       143
                                                                       143






          EZYADOPT - Advanced Features
          EZYADOPT - Advanced Features
          EZYADOPT - Advanced Features

          There are actually two previously neglected (on purpose)
          features of EZYADOPT. These were left out (and are not
          documented in the command line help for EZYADOPT) due to
          their very advanced (and dangerous) nature. They will now
          be carefully explained.

          Normally when EZYADOPT is run, it will scan every area on
          your entire system and build a Paradox database of every
          file on your system noting its path. This is done because
          it is completely possible that a file may be in a path but
          not be in the area that path is normally pointed to by. For
          instance if you have a Games file area that normally
          resides in E:\GAMES you can move a file from that area to a
          totally different one without physically moving the file
          (ie. you only move the description). The database entry in
          Ezycom has a pointer to the path so it knows where to find
          the file so this is not a problem. Trouble is if you assume
          that a file is not in the database because it is not listed
          in the area normally associated with that path, then you
          could be very wrong. Thus importing the file could mean you
          will end up having two copies of the same file in the
          system without meaning to (ie. two file descriptions in
          different areas pointing back to the same physical file).
          This is perfectly okay if you would like the same physical
          file in different areas. But consider the affect on this
          has if several hundred files are in this situation.

          One of the most common uses of Ezycom's path independence
          feature is to merge a number of smaller directory
          collections into one larger logical file area, most often
          on CD-ROM discs. The opposite is also true, you may wish to
          break one LARGE file area up into smaller more manageable
          ones even though they are all in the same physical
          directory. Since EZYADOPT imports any files it finds in a
          path that are not already in the system, you could end up
          with one fine mess unless an exhaustive check is done on
          the file base first, in this case the building of a fast
          access reference database where filenames and their path
          can be quickly checked. So this is how EZYADOPT normally
          works.














          144
          144
          144      
                   
                   Advanced Features






              That is all fine and well but if you have a VERY large file
              base (say half a dozen CD-ROM discs) then this build can
              take quite some time and you may only be trying to import a
              couple of new files in say a TIC file echo that have just
              arrived. A lot of time is wasted here if you know that all
              the files in the path are in fact only ever found in the
              default area for that path. So EZYADOPT has two special
              switches to allow this assumption, these being -AFROM<path
              #> and -ATO<path #>. They work identically to the -FROM and
              -TO commands only the areas in question will be the only
              ones checked. You should ALWAYS use both parameters
              together and combine them with the normal -FROM and -TO
              optins so that only the area(s) that this is safe to use on
              are in fact touched. Leaving off the -ATO parameter for
              example will cause all paths from the starting path onwards
              to be scanned, quite dangerous. So always exercise extreme
              caution when using these command line options. To be safe,
              make regular backups of your file database so that any
              mistakes can be quickly un-done. Normally you would use
              identical ranges on both parameter sets. If you choose not
              to do this, be VERY careful about what you give.


              LANGEDIT - Ezycom's Complete Prompt Editor
              LANGEDIT - Ezycom's Complete Prompt Editor
              LANGEDIT - Ezycom's Complete Prompt Editor

              LANGEDIT is a complete language file editor for Ezycom. It
              allows full sysop customisation of virtually all prompts
              that Ezycom uses. It is very simple to use so little space
              is devoted to discussing it . Once loaded the following
              keys are available:


                Up/Down         Use these keys to move the highlight bar
                                up and down the prompts, one at a time.

                PgUp/PgDn       These two keys allow you to move up and
                                down the prompts one screen full at a
                                time.

                Home/End        These two keys will take you to the first
                                and last prompts respectively.

                CTRL-D          Pressing this will reset the current
                                prompt to its default text and colour.

                CTRL-S          This will bring up a pop-up search string
                                box and allow you to search prompts for a
                                particular series of characters. You will
                                find this useful for quickly locating a
                                prompt in order to edit it.

                CTRL-R          This will repeat the last search (if
                                any).



                               Chapter 7 - More Advanced Features      145
                                                                       145
                                                                       145






            CTRL-A          This option will throw away all changes
                            made and exit.

            ESC             This option will exit and SAVE all
                            changes.

            F1              This brings up the help screen.


          If you press ENTER on a prompt you will then be able to
          edit that prompt. A pop-up editing box will appear and the
          following keys are available:

            Up/Down         Use these keys to move between the
                            different editable fields in the pop-up
                            editing box.

            Space           When on the colour field, pressing space
                            will cycle through the colours the
                            current prompt can be. The actual prompt
                            text will also cycle in colour as you do
                            so.

            CTRL-A          This will abort any changes and return to
                            the prompt list.

            ESC             Save changes and return to the prompt
                            list.




























          146
          146
          146      
                   
                   Advanced Features






              Custom Page Tunes
              Custom Page Tunes
              Custom Page Tunes

              Ezycom has the ability to play page tunes while the user is
              paging the sysop.  They take the form of  PAGExx.EZY files
              in the Ezycom system path.  This first tune should be named
              PAGE01.EZY, the second PAGE02.EZY and so on.

              These are plain text files and they contain either a
              comment (indicated by a semi-colon ; at the start of the
              line), the TONE [hz] [1/100's second] command or the WAIT
              [1/100's second] command.  The [hz] indicates the frequency
              (pitch) of the tone to be played.  Following is a table of
              frequencies together with their respective musical notes.

              Note
              Note
              Note           Octave
                             Octave
                             Octave
                    Octave
                    Octave
                    Octave           Octave
                                     Octave
                                     Octave  Octave
                                             Octave
                                             Octave  Octave
                                                     Octave

                                                     Octave  Octave
                                                             Octave
                                                             Octave
                    1
                    1
                    1        2
                             2
                             2       3
                                     3
                                     3       4
                                             4
                                             4       5
                                                     5
                                                     5       6
                                                             
6
                                                             6
              C              134
                    45               268     536     1071    2145
              C#             142
                    71               284     568     1136    2273
              D              150
                    75               301     602     1204    2408
              D#             159
                    80               319     638     1275    2551
              E              169
                    84               338     676     1351    2703
              F              179
                    90               358     716     1432    2864
              F#             190
                    95               379     758     1517    3034
              G     100      201     402     804     1607    3215
              G#    106      213     426     851     1703    3406
              A     113      225     451     902     1804    3608
              A#             239
                    119              478     956     1991    3823
              B              253
                    127              506     1012    2025    4050

              For Example:

              To play middle C for 1 second and then wait (have silence)
              for 1 second your page file should contain:

              TONE 45 100
              WAIT 100




















                               Chapter 7 - More Advanced Features      147
                                                                       147
                                                                       147








                                                             Chapter 8

                                                  Multi-line Operation


          Introduction
          Introduction
          Introduction

          Ezycom was designed from the ground up for use as a multi-
          line BBS system. Consequently Ezycom operates very quickly
          and efficiently in such an environment and is very aware of
          the fact that it is in this mode and will behave
          differently as a result. Because of the VERY advanced
          nature of this topic it is suggested that you do NOT try to
          get Ezycom to run multi-line until you are sufficiently
          comfortable with the package in general. This is one of the
          reasons that discussion of this topic has been left until
          the very last chapter of this document. Setting up for
          multi-line operation is a complex task at first and
          requires you to always be thinking of the consequences of
          any of your actions on active nodes. This chapter goes to
          great lengths to explain things as simply as possible. Much
          example configuration is also given to assist you on this
          steep learning curve.


          Software You Will Need
          Software You Will Need
          Software You Will Need

          Ezycom will support up to 250 nodes on a single BBS system
          but it cannot provide multiple lines without the use of
          some third party products. These products fall into two
          major categories - multi-tasking software and network
          software/hardware. Which one of these you use depends on
          personal preference, the size of the system you intend to
          run and how much money you have to spend doing so. The two
          main groups of software and how to make them do what you
          want, will now be discussed at length.


          Multi-tasking Software
          Multi-tasking Software
          Multi-tasking Software

          Multi-tasking software allows multiple independent DOS
          sessions to run on a single machine, each session thinking
          it has the machine all to itself. Ezycom implements multi-
          line support by allowing multiple copies of itself to be
          running in memory simultaneously via one of these multi-
          taskers. Ezycom has been tested successfully with Desqview,
          OS/2 and Double DOS (although DoubleDOS has not been tested
          extensively). Internal support and detection of Taskview,
          Topview and MultiDOS is also available but none of these
          systems have been tested. When operating in all these
          environments, Ezycom will give up CPU time slices when it
          is not busy so that the CPU is free to give time to other
          tasks that are running.


          148
          148
          148      
                   
                   Advanced Features






              Of all the multi-taskers available, we recommend only two
              of them depending on what you wish to do. Desqview from
              Quarterdeck Office Systems is probably one of the easiest,
              cheapest and fastest options. We suggest you use a 386DX or
              better if you wish to run a viable multi-line system. You
              should also be looking at 4 megabytes of memory or more
              depending on how many lines you wish to run. OS/2 2.1 from
              IBM is another excellent option if you have a machine with
              8MB of RAM or more (it can be run in 4MB if you jettison
              the Workplace Shell). Ezycom operates very rapidly in this
              environment although setting up for this is somewhat more
              complex. These environments will now be dealt with in turn.


              Running Multi-line with Desqview
              Running Multi-line with Desqview
              Running Multi-line with Desqview

              Desqview from Quarterdeck Office Systems is by far the most
              common multi-tasker used in the operation of multi-line BBS
              systems. The latest version available at press time was
              Version 2.64. Desqview is relatively simple to configure
              although some options may seem cryptic at first. The main
              hurdle comes from getting your batch files to do things
              correctly since a multi-line system under Ezycom relies
              very heavily on its batch files for smooth operation.

              Sample Desqview Configuration

              Program Name: Lake Macquarie BBS (Line 1)
              Keys to Use on Open Menu: L1       Memory Size (in K): 480
              Program: C:\STARTBBS.BAT
              Parameters: 1
              Directory: C:\

              Writes text directly to screen: [Y]
              Displays graphics information: [N]
              Virtualize text/graphics (Y,N,T): [Y]
              Uses serial ports (Y,N,1,2): [N]
              Requires floppy diskette: [N]


















                                 Chapter 8 - Multi-line Operation      149
                                                                       149
                                                                       149






          Advanced Features (F1)

          System Memory (in K): 0       Maximum Program Memory Size 
                                                       (in K):
          Script Buffer Size: 1000      Maximum Expanded Memory Size 
                                                       (in K): 300
          Text Pages: 1  Graphics Pages: 0   Initial Mode:
                                             Interrupts: 00 to FF

          Maximum Height: 25  Starting Height: 25  Starting Row: 0
          Maximum Width: 80   Starting Width: 80   Starting Column: 0

          Close on exit (Y,N,blank): [ ] Uses its own colors: [Y]
          Allow Close Window command: [N]Runs in background 
                                                   (Y,N,blank): [Y]
          Uses math coprocessor: [Y]    Keyboard conflict (0-F): [0]
          Share CPU when foreground: [Y] Share EGA foreground/zoomed:
                                                                 [Y]
          Can be swapped out (Y,N,blank): [N] Protection level (0-3):
                                                                 [0]

          If you use the previous example configuration as a guide
          you should not have too much trouble getting Desqview to
          go. We suggest 2:2 ticks for foreground to background time
          slicing if you want smooth operation. Set the Disk Buffer
          for EMS to 0 if you want the fastest disk access although
          if you run Desqview on a network station/server, you cannot
          set this option to zero. The maximum EMS size actually
          controls access to all external types of memory (XMS, EMS,
          DPMI etc). 300K allows enough room for most programs to
          swap out to (such as Ezycom) or for overlay buffers. If you
          run any DPMI compliant programs (such as EZYADOPT) you
          should allocate AT LEAST 1024K of this memory else these
          programs will not work under Desqview. You will only need
          to allocate this much memory to the session you actually
          run Desqview in though.


          Running Multi-line with OS/2
          Running Multi-line with OS/2
          Running Multi-line with OS/2

          OS/2 2.1 is the latest instalment of IBM's powerful 32-bit
          operating system. It provides an excellent platform for
          running a stable multi-line Ezycom system due to OS/2's
          crash protection mechanisms. However due to OS/2's layered
          structure and the myriad of settings available for DOS
          sessions, there is quite some configuration to do before
          you can even begin to fire up nodes.









          150
          150
          150      
                   
                   Advanced Features






              Using SIO/VSIO/VX00

              First of all we highly recommend you get hold of a third
              party package called SIO (Serial I/O) by Ray Gwinn (author
              of the X00 FOSSIL driver for DOS). The SIO package contains
              a complete drop in replacement set of communications port
              drivers for IBM's standard supplied drivers. Actually
              apparently IBM now recommend Ray's drivers over their own.
              In addition, a special virtualised version of X00 is
              provided known as VX00 to give FOSSIL driver emulation in
              DOS sessions under OS/2 in a VERY efficient manner. This is
              most important as you will probably otherwise have great
              trouble getting high speed modems to work under OS/2. Ray's
              drivers also provide full support for the 16550 AFN FIFO'd
              UART chip (a MUST for any multi-line system) and full flow
              control, buffering and CPU time slicing is delivered
              automatically. If you are running more than 2 ports under
              OS/2 and indeed sharing interrupts, SIO is the only driver
              that will properly allow you to do so. SIO also allows port
              speed locking for high speed modems, just like its DOS X00
              counterpart and will support very high speed communications
              effortlessly. To install the drivers, simply place SIO.SYS
              in your OS/2 directory (eg C:\OS2) and VSIO.SYS + VX00.SYS
              in your emulated DOS directory (eg C:\OS2\MDOS) and then
              look for the COM/VCOM.SYS lines toward the bottom of your
              OS/2 CONFIG.SYS and REM them out. After them insert the
              following lines to run a node on COM2 locked at 38400 baud:

              DEVICE=C:\OS2\SIO.SYS (COM2:38400,2F8,IRQ3)
              DEVICE=C:\OS2\MDOS\VSIO.SYS

              You will need to restart the system for these changes to
              take affect. Select Shutdown and then re-boot to do this.
              DOS Settings

              Create yourself an object that will start a DOS session
              (full screen) and go into the DOS Settings notebook change
              the following settings:

                 Add the following line into the DOS_DEVICE option (be
                 sure to note the two spaces between 0 and C:\...)

                 SIZE=0  C:\OS2\MDOS\VX00.SYS
                 SIZE=0  C:\OS2\MDOS\ANSI.SYS

                 Set DOS_FILES=20
                 Set DOS_HIGH=ON
                 Set DOS_UMB=YES
                 Set EMS_MEMORY_LIMIT=0
                 Set DPMI_MEMORY_LIMIT=2
                 Set HW_TIMER=ON
                 Set IDLE_SENSITIVITY=95
                 Set INT_DURING_IO=ON
                 Set XMS_MEMORY_LIMIT=400


                                 Chapter 8 - Multi-line Operation      151
                                                                       151
                                                                       151






             Set XMS_HANDLES=8
             To prevent communications port conflicts also go and set
             all SIO_Allow_Access_COMx settings to No EXCEPT for the
             port that this session uses (note you need to have VSIO
             installed for these options to appear).

          Save these settings by closing the notebook. Open the
          session and you should now find that OS/2 loads VX00.SYS
          and ANSI.SYS high in that session (only). This session is
          now ready for Ezycom's use.


          SHARE.EXE - File Sharing
          SHARE.EXE - File Sharing
          SHARE.EXE - File Sharing

          Ezycom's file locking routines require SHARE to be loaded
          when using a DOS environment. Network environments normally
          do this for you. Do not confuse share when used in this
          respect to that way that it is used in DOS 4.x (it still
          MUST be specifically loaded in DOS 4.x). This should be
          loaded outside your multi-tasker and can be loaded high.
          Virtually all multi-taskers will require this except OS/2
          which has it built in. A common problem that occurs when
          this is not loaded is that internode communication do not
          work. Whenever a sharing violation occurs, Ezycom pops up a
          blue box with the name of the locked file in it. Ezycom
          will continue to try and access this file unless you press
          ESC to abort access attempts or until the file becomes
          available. If you see this box come up you are probably
          running something when you should not be running it, for
          example using USERCOMP while a user online. Be aware that
          many CPU cycles are soaked up by the attempted accesses to
          the file so it is in your best interests to abort the
          attempt as soon as possible after realising your mistake.
          You may find the open file monitor (shareware) available
          for Desqview useful for locating sharing problems. Be sure
          to allow about 15-20 file handles PER node you wish to run
          at once (ie your FILES= line in CONFIG.SYS).
          STARTBBS.BAT
          STARTBBS.BAT
          STARTBBS.BAT

          In order to call up each line, some environment variables
          need to be set first to ensure that node will operate
          correctly. STARTBBS.BAT is an example batch file that shows
          you how to do this. A single parameter representing the
          node to fire up is passed to this batch file. From that,
          many variables are set and then that node can safely be
          brought on air. Notice also that an ANSI driver is loaded
          too (in this case, Desqview's ANSI driver). Under most
          multi-taskers one must load the ANSI driver within in each
          process. Under OS/2 we already took care of this in the
          session set-up but for Desqview and many other multi-
          taskers, you will need to load it specifically in this
          batch file. This example also assumes that the serial port
          corresponds with the node number. If not, you could pass
          two parameters to STARTBBS.BAT, one for the node, one for


          152
          152
          152      
                   
                   Advanced Features






              the comport and substitute the appropriate parameters into
              the batch file shown.

              @ECHO OFF

                   CLS
                   SET TASK=%1
                   SET DSZLOG=C:\EZY\DSZ.%1
                   SET DSZPORT=%1
                   SET TCNODE=%1
                   C:
                   DVANSI
                   CLS
                   BBS %1


              The Directory Layout
              The Directory Layout
              The Directory Layout

              When using Ezycom in multi-line operation you do not have
              to place each line in separate directories.  Ezycom has
              been written in such a way to allow all nodes to be run in
              the one directory.  As every node is in one directory a
              problem might arise with using different configurations for
              each node.  This can be solved by copying the configuration
              CONFIG.EZY to CONFIG.<node> (Eg. CONFIG.1).  Then Ezycom
              will ALWAYS load CONFIG.1 for node 1.  You can also have a
              few nodes reading the same CONFIG.EZY in one directory and
              have other nodes reading a different CONFIG.EZY in a
              another directory.  This might be desirable if you had say
              4x2400 baud modems and 4x9600 baud modems for instance.
              Ezycom looks for CONFIG.<node> firstly then CONFIG.EZY in
              the CURRENT directory and then CONFIG.EZY in the system
              path (pointed to by the EZY environment variable). So you
              have the freedom to use separate directories for each node
              if you wish but you only need ONE copy of the EXEs and
              these should all be located in the Ezycom system directory
              pointed to once again by the EZY environment variable.

              For Example, to edit CONFIG.2 type:

              CONFIG -N2















                                 Chapter 8 - Multi-line Operation      153
                                                                       153
                                                                       153






          However if Ezycom is being used with either the QUICKED or
          TOPED full screen editors, then each line of Ezycom MUST be
          run in separate directories eg. C:\EZY\NODE1, C:\EZY\NODE2
          etc.  If EzyEdit, Gedit or the Internal Editor is being
          used, then Ezycom can run every line in one directory if so
          desired.

          Not only can CONFIG.EZY be arranged using this
          CONFIG.<node> method, but all the other configuration files
          including EVENTS, PROTOCOL can be also. The only exceptions
          to this rule are CONSTANT.EZY, MESSAGES.EZY, FILES.EZY and
          ECHOMGR.EZY.  Ezycom will ALWAYS locate these files in the
          system path and their location can not be overridden.  So
          it is quite possible to have different events for each node
          using EVENTS.1 for node 1 and EVENTS.2 for node 2.  Do not
          forget that to edit any configuration files for nodes other
          than 1, you MUST place a
          -<node> on the command line of CONFIG else the %TASK%
          environment variable must be correctly set.


          Multi-Ports, Doors & Other Things
          Multi-Ports, Doors & Other Things
          Multi-Ports, Doors & Other Things

          Ezycom supports up to 8 nodes locally, that is COM1 through
          COM8.  You must however be able to configure your FOSSIL
          driver to this.  Remember that any external programs you
          use (Eg. Door Games) will also have to support it generally
          if they use the FOSSIL you will not have any problems.

          When using external programs you MUST make sure they are
          multi-node capable. If not, then you need to only allow one
          user to access them at anyone time using some special drop
          file testing in your batch file for starting that door.
          Another method would be to restrict certain doors to nodes
          using the Menu Option 'Node'.  If you have any problems
          with multi-node operation, please do not hesitate to write
          us a message in our Support Conference or contact your
          nearest support site.


          Multi-line Using Networks
          Multi-line Using Networks
          Multi-line Using Networks

          Ezycom has been fully tested with both Lantastic from
          Artisoft and Netware from  Novell. Ezycom works basically
          like a Multi-tasker in a network.  It does not need to know
          anything about the network. You must however load SHARE (or
          equivalent) on the File Servers of the Network.









          154
          154
          154      
                   
                   Advanced Features






              Ezycom Utilities - Do's & Don'ts
              Ezycom Utilities - Do's & Don'ts
              Ezycom Utilities - Do's & Don'ts

              Although Ezycom can have multiple nodes running at the same
              time a lot of it's utility programs will not function while
              nodes are active. Following is a quick guide to what you
              can and cannot do.

              EZYMAIL will function fine while one or more lines are
              running, as long as you are using a different log file for
              EZYMAIL than the other nodes running.  For instance, if
              node 1 was running, and you wanted to run EZYMAIL, then you
              might run EZYMAIL as node 2. Note this does not mean you
              have to run EZYMAIL as another node after a user logs off a
              node (when you are scanning out mail they have written).
              The log file is not open after Ezycom shuts down that node
              so it is safe to run EZYMAIL on that node. EZYNET and
              EZYPACK function the same way.

              _________
              IMPORTANT: Although you can simultaneously fire up multiple

                         copies of EZYMAIL, EZYNET and EZYPACK, they will
                         not run because the first copy to fire up will
                         write a EZYMSG.NOW drop file to the Ezycom
                         system directory and all utilities will refuse
                         to run after this until it is removed. Should
                         something go wrong, Ezycom will ignore and
                         delete this file should it be more than 5 hours
                         old.

              MSGCOMP should NEVER be run with any node active. It will
              check for both active users and for the EZYMSG.NOW file
              before proceeding. It also creates this file while running
              so should something go wrong, do not forget to delete it
              later else no mail will toss/scan. If the system still
              thinks there is someone online when there is not, delete
              the ONLINE.BBS file in the Ezycom system directory also.

              USERCOMP should never be run with nodes active else your
              user file could be totally destroyed.

              EZYIDX does not correctly function while any nodes are
              active. This prevents you from adding new files to your
              database while users are online.  To overcome this you can
              logon locally and upload the files.

              FEDIT only locks out the file area it is currently working
              with. If a user attempts to access this area they will be
              told that maintenance is currently being done on it and to
              try again later.

              Some functions in EZYUTIL are dangerous to run with active
              nodes. These cases have been noted in the previous chapter
              and will not be repeated here. Exercise caution.



                                 Chapter 8 - Multi-line Operation      155
                                                                       155
                                                                       155






          In a BinkleyTerm style environment, EZYMAIL, EZYNET &
          EZYPACK also detect .BSY drop files so they will not try to
          pack to mail archives that are in mid-transfer on another
          node. Instead the unpacked PKTs will be left lying around
          where EZYMAIL will find them on its next run and
          automatically bundle them provided it is now safe. If a
          .BSY file is more than 5 hours old, EZYMAIL will
          automatically remove it.


          Special Files For Multi-line Use
          Special Files For Multi-line Use
          Special Files For Multi-line Use

          When running a multi-line system there are a number of
          special files that you can place in the Ezycom system
          directory (note the location) that will be used/acted upon
          by Ezycom for special features that only work in multi-line
          mode. The name and purpose of each of those files will now
          be discussed.

          NODEINFO.<node>

          This file should contain a one liner advert that will show
          up in the who's online list when that node (indicated by
          the extension) has no-one logged in on it. It may say
          something like 'Call (049) 562853 for 14,400 baud'. You may
          use a maximum of 70 characters and you can also use smart
          colour codes (see appendix C) to put colour into this
          display.

          USERDOES.<node>

          When this file is present its contents will be displaying
          in the status field in a who's online list when ever a user
          on that node goes into a door. You can use this to indicate
          to other users, which door the user on that node is
          actually in at present. You may use a maximum of 25
          characters in this file (no smart codes allowed) since this
          is all that will fit in the Status column. You can create
          the file as follows:

          Assuming you pass *N as the first parameter to your
          GAME.BAT that runs the door, then in the batch file %1
          would equal the node so:

          GAME.BAT

          ECHO Playing - BRE League 751 > C:\EZY\USERDOES.%1
          REM Load Game Here
          DEL C:\EZY\USERDOES.%1

          Thus the who's online list would say 'Playing - BRE League
          751' for a user if they were inside this door. Be sure to
          delete the file after you leave the door.



          156
          156
          156      
                   
                   Advanced Features






              EZYEX???.<node>

              As soon as Ezycom detects the presence of this file it will
              exit IMMEDIATELY with the errorlevel indicated by ???.
              However only the node indicated by <node> will exit. You
              can use this to take a node off the air very quickly.
              Naturally if a user is in a door or in the middle of a file
              transfer this will not work. But if they are anywhere else
              within the BBS, the system will normally detect the file
              almost immediately and obey, booting the user off and
              exiting back to the DOS with the specified errorlevel.

              For example: If you placed a file called EZYEX150.2 in the
              Ezycom system directory, then node 2 would immediately exit
              with an errorlevel of 250.









































                                 Chapter 8 - Multi-line Operation      157
                                                                       157
                                                                       157








                                                            Appendix A

                                                         Menu Commands


          Ezycom has a very rich set of very flexible and useful menu
          commands. Over time you will find a great many uses for
          them. This section lists and explains the function and
          usage of each command available. A few conventions have
          been used in this section:

            <....>          Means that is a necessary option and must
                            be included for the menu command to
                            function correctly

            [....]          This means that it is optional
                            information.

            |               This means "or".  Eg. 1 | 2 would mean 1
                            or 2, but not 1 and 2.


          Option 0
          Option 0
          Option 0       Display
                         Display
                         Display

          Data
          Data
          Data      None
                    None
                    None




          This command simply does NOTHING and is included for
          display line purposes only.


          Option 1
          Option 1
          Option 1       Goto Menu
                         Goto Menu
                         Goto Menu

          Data
          Data
          Data      <MENUNAME> | /TOPMENU
                    <MENUNAME> | /TOPMENU
                    <MENUNAME> | /TOPMENU
                    [Password]
                    [Password]
                    [Password]
                    [/F=<file area template #>| + | - | <group>]
                    [/F=<file area template #>| + | - | <group>]
                    [/F=<file area template #>| + | - | <group>]
                    [/M=<message area template #>| + | - | <group>]
                    [/M=<message area template #>| + | - | <group>]
                    [/M=<message area template #>| + | - | <group>]
                    [/CG=<current group setting>]
                    [/CG=<current group setting>]
                    [/CG=<current group setting>]
                    [/NC]
                    [/NC]
                    [/NC]



          This command allows the movement from the current menu to
          another.  The menu name which Ezycom will move to when
          activated is indicated by <MENUNAME>.  The <MENUNAME> must
          not include the .MNU extension as this is appended by
          Ezycom automatically.  If '/TOPMENU' is used instead of a
          <MENUNAME>, then the user will be moved to their TOP MENU
          when selecting this option as defined in their user record.




          158
          158
          158      
                   
                   System Reference






              A [Password] may also be specified.  The user must then
              type in the password correctly before he/she can gain entry
              to the menu.  As stated in the Menu Templating
              documentation the /F=, /M= & /CG= commands are valid for
              the Goto Menu Command.  The Optional parameter /NC means
              that clear screen command will NOT be sent to the user
              before displaying the new menu.

              Data Example:

              /TOPMENU thepassword /F=+


              Option 2
              Option 2
              Option 2       Gosub Menu
                             Gosub Menu
                             Gosub Menu

              Data
              Data
              Data      <MENUNAME> | /TOPMENU>
                        <MENUNAME> | /TOPMENU>
                        <MENUNAME> | /TOPMENU>
                        [Password]
                        [Password]
                        [Password]
                        [/F=<file area template number> | + | - |
                        [/F=<file area template number> | + | - |
                        [/F=<file area template number> | + | - |
              <group>]
              <group>]
              <group>]
                               [/M=<message area template number> | + | -
                               [/M=<message area template number> | + | -
                               [/M=<message area template number> | + | -
              | <group>]
              | <group>]
              | <group>]
                        [/CG=<current group setting>]
                        [/CG=<current group setting>]
                        [/CG=<current group setting>]
                        [/NC]
                        [/NC]
                        [/NC]



              This command works exactly like the GOTO menu command
              except that it leaves its FILENAME on the GOSUB MENU STACK
              so that you can later return to this MENU using Option 3
              (Return from Gosub).


              Option 3
              Option 3
              Option 3       Return From Gosub
                             Return From Gosub
                             Return From Gosub

              Data
              Data
              Data      None
                        None
                        None



              This commands returns to the last menu where a GOSUB menu
              command was used.
















                                       Appendix A - Menu Commands      159
                                                                       159
                                                                       159






          Option 4
          Option 4
          Option 4       Goto Menu & Clear Gosub Stack
                         Goto Menu & Clear Gosub Stack
                         Goto Menu & Clear Gosub Stack

          Data
          Data
          Data      <MENUNAME> | /TOPMENU
                    <MENUNAME> | /TOPMENU
                    <MENUNAME> | /TOPMENU
                    [Password]
                    [Password]
                    [Password]
                    [/F=<file area template number> | + | - |
                    [/F=<file area template number> | + | - |
                    [/F=<file area template number> | + | - |
          <group>]
          <group>]
          <group>]
                    [/M=<message area template number> | + | - |
                    [/M=<message area template number> | + | - |
                    [/M=<message area template number> | + | - |
          <group]
          <group]
          <group]
                    [/CG=<current group setting>]
                    [/CG=<current group setting>]
                    [/CG=<current group setting>]
                    [/NC]
                    [/NC]
                    [/NC]



          This command behaves exactly like the GOTO menu command
          except that it CLEARS the GOSUB menu stack so that you can
          NOT return from anymore menus until you have GOSUB'd to
          more.


          Option 5
          Option 5
          Option 5       Display Text File
                         Display Text File
                         Display Text File

          Data
          Data
          Data      <Textfile>
                    <Textfile>
                    <Textfile>



          This command displays a <textfile> to the user's screen.
          This command does NOT support MENU hotkeys.  The <textfile>
          name should not include the extension as Ezycom
          automatically determines this (ASL/ASC/ANS/AVT) according
          to the user's current Terminal Emulation Options.


          Option 6
          Option 6
          Option 6       Bulletin Menu
                         Bulletin Menu
                         Bulletin Menu

          Data
          Data
          Data      <1-8 character name>
                    <1-8 character name>
                    <1-8 character name>



          Displays the <1-8 character name> file in the text file
          directories.  The user is then prompted for the remaining
          part of the file name (8 - <length of file>).  The file is
          then displayed.  No extension should be placed in the
          filename.













          160
          160
          160      
                   
                   System Reference






              Option 7
              Option 7
              Option 7       Run Program In DOS Shell
                             Run Program In DOS Shell
                             Run Program In DOS Shell

              Data
              Data
              Data      <program to execute> [parameters]
                        <program to execute> [parameters]
                        <program to execute> [parameters]



              The <program to execute> is the name of the program you
              wish to run.  If a COM or EXE file is being executed then
              just the name of the program AND extension is required. You
              should however specify a full pathname just to be sure.

              Example Data: C:\EZY\EZYED.EXE

              However, if a batch file is being run, then a command line
              interpreter needs to be loaded (ie COMMAND.COM).

              Example Data: C:\COMMAND.COM /C GAME.BAT

              Instead of specifying the entire path to COMMAND.COM, the
              COMSPEC environment variable can be used to retrieve the
              path.  In this case, the C:\COMMAND.COM would be replaced
              by *C.

              Example Data: *C /C GAME.BAT

              On executing a Type 7 Shell, Ezycom writes two files,
              EXITINFO.<node> and DORINFOx.DEF.  The name for
              DORINFOx.DEF is configurable and can be changed with the
              list of special commands later.  The EXITINFO.<node> holds
              Ezycom specific information, that it uses to run.  On
              returning to Ezycom after the Type 7 Shell, Ezycom reads in
              the EXITINFO.<node> file to process any information that
              might have been changed.

              There are many allowable command line options for a Type 7
              shell and they are as follows:

              *F
              *F
              *F        User's First Name
              *L
              *L
              *L        User's Last Name
              *H
              *H
              *H        The FOSSIL driver is left hot during the Type 7
                        shell. Generally this option is not used.
              *M
              *M
              *M        Swap out Ezycom leaving it using only 9K of RAM.
                        This enables larger programs to be executed in
                        the Type 7 shell although swapping can take a few
                        seconds if disk swapping is used.
              *P
              *P
              *P        Comport Number
              *R
              *R
              *R        User Record Number
              *G
              *G
              *G        ANSI On/Off On=1 Off=0
              *V
              *V
              *V        ANSI/Avatar On/Off
                             3  ANSI & Avatar
                             2  Avatar
                             1  ANSI
                             0  ASCII
              *A
              *A
              *A        Users Alias (Real Name if there is no alias)


                                       Appendix A - Menu Commands      161
                                                                       161
                                                                       161






          *C
          *C
          *C        COMSPEC Environment variable (COMMAND.COM)
          *S
          *S
          *S        User's Security Level
          *N
          *N
          *N        Node : Format 1..250
          *9
          *9
          *9        Node : Format DORIN + FO1..250 - This format
                    could be used for renaming/copying DORINFOx.DEF
                    to a naming convention that some door programs
                    might prefer.
          *0
          *0
          *0        This switch is replaced by the current file area
                    template number.
          *1
          *1
          *1        This switch is replaced by the current message
                    area template number.
          *2
          *2
          *2        This is the upload path for the current file area
                    template.
          &V
          &V
          &V        This is the same as *V, except that it places the
                    *V information in the DORINFOx.DEF and DOOR.SYS
                    files.
          &A
          &A
          &A        This is the same as *A, except that it places the
                    Alias of the user in the DORINFOx.DEF and
                    DOOR.SYS files instead of the user's real name.
          &O
          &O
          &O        This is the same as *O, except that it places the
                    locked baud rate in the DORINFOx.DEF and DOOR.SYS
                    files instead of the effective baud rates ie. if
                    the comport is locked.
          *D1
          *D1
          *D1       This option creates the DORINxxx.DEF on executing
                    the Type 7 Shell where xxx is the *9 Node Format.
          *D2
          *D2
          *D2       This option creates the DORINFO1.DEF on executing
                    the Type 7 Shell.
          *D3
          *D3
          *D3       This option creates DOORx.DEF on executing the
                    Type 7 shell where x is the *N node Format
          *D4
          *D4
          *D4       This option creates a doorway compatible DOOR.SYS
                    file in executing the Type 7 Shell.
          *!
          *!
          *!        This option stops the clock when the user is in
                    the Type 7 Exit.  That is, the user does not
                    loose anytime in the shell (useful for external
                    chat programs).
          *#
          *#
          *#        This option turns off the Want Chat Flag.
          *B
          *B
          *B        This is the users effective Baud Rate.  If the
                    user is local then the baud rate is set to zero.
          *O
          *O
          *O        This is the users actual Baud Rate between the
                    computer and modem.  If the comport is NOT
                    locked, then it is the same value as the
                    effective Baud Rate.

          For Example:

          GAME.EXE *F *L *P

          If Peter Davies were logged in this would translate to:

          GAME.EXE Peter Davies 1






          162
          162
          162      
                   
                   System Reference






              Option 8
              Option 8
              Option 8       Version Information
                             Version Information
                             Version Information

              Data
              Data
              Data      None
                        None
                        None



              This option displays the current version of Ezycom and
              information about who the copy is registered to (where
              applicable).


              Option 9
              Option 9
              Option 9       Logoff
                             Logoff
                             Logoff

              Data
              Data
              Data      [/NOHANGUP] [/ERR=<errorlevel>]
                        [/NOHANGUP] [/ERR=<errorlevel>]
                        [/NOHANGUP] [/ERR=<errorlevel>]



              This option displays GOODBYE.A* (if it exists), before
              hanging up the user.  If the /NOHANGUP flag is used, then
              the users Carrier is not dropped during the termination of
              the call.  The [/ERR=<errorlevel>] command tells Ezycom
              that you wish to exit Ezycom with an errorlevel.  The
              errorlevel must be from 20 through to 255. There is a one
              second delay to allow the modem buffer to clear before the
              modem is hung up by Ezycom.

              Example Data: /NOHANGUP /ERR=25

              If both of these options are used together with some
              intelligent batch file programming, it is possible to make
              a relogon option.


              Option 10
              Option 10
              Option 10      System Usage Graph
                             System Usage Graph
                             System Usage Graph

              Data
              Data
              Data      None
                        None
                        None



              This option displays a graph of system usage for the node
              number that the user is logged into. This information will
              begin from when TIME<node>.BBS was created.














                                       Appendix A - Menu Commands      163
                                                                       163
                                                                       163






          Option 11
          Option 11
          Option 11      Page SysOp
                         Page SysOp
                         Page SysOp

          Data
          Data
          Data      String to Display to User (about chat)
                    String to Display to User (about chat)
                    String to Display to User (about chat)



          This option pages the sysop for a chat request and sends
          the data line to the user.  A suitable line for Data might
          be "Paging Sysop for a Chat... Please Wait...".


          Option 12
          Option 12
          Option 12      Execute Questionnaire
                         Execute Questionnaire
                         Execute Questionnaire

          Data
          Data
          Data      <questionnaire name>
                    <questionnaire name>
                    <questionnaire name>
                    [output file] | [/NOWRITE] [/NOLOG]
                    [output file] | [/NOWRITE] [/NOLOG]
                    [output file] | [/NOWRITE] [/NOLOG]



          This option executes a Questionnaire.  The Questionnaires
          are named <questionnaire name>.Q-A in your system
          directory.  [output file] is the name of the answer file
          you wish to use. If you do not wish anything to be
          outputted from the questionnaire, use the /NOWRITE option.
          This will prevent zero byte files being created even if the
          questionnaire does not write anything to an answer file.
          The /NOLOG option tells Ezycom not to log the fact that the
          questionnaire was executed. See the section on
          questionaires and the Appendix B reference for information
          about Questionnaires.


          Option 13
          Option 13
          Option 13      List Users
                         List Users
                         List Users

          Data
          Data
          Data      [/A] [/C] [/S] [>=<security] [<=<security>]
                    [/A] [/C] [/S] [>=<security] [<=<security>]
                    [/A] [/C] [/S] [>=<security] [<=<security>]
                    [=<security>] [<<security>]
                    [=<security>] [<<security>]
                    [=<security>] [<<security>]
                    [><security>]
                    [><security>]
                    [><security>]



          This option displays a list of all the users on the system.
          Various options exist for this option and they are:

          /A        Show user's aliases instead of real names
          /C        Displays user's comments, instead of their
                    location
          /S        Displays user's security, instead of number of
                    calls









          164
          164
          164      
                   
                   System Reference







              >=<security>   User's security must be equal to or greater 
                             than the security to be displayed
              <=<security>   User's security must be less than or equal 
                             to the security to be displayed
              =<security>    User's security must be less than or equal 
                             to the security to be displayed
              <<security>    User's security must be less than the 
                             security to be displayed
              ><security>    User's security must be greater than the 
                             security to be displayed


              Option 14
              Option 14
              Option 14      Time And Date
                             Time And Date
                             Time And Date

              Data
              Data
              Data      None
                        None
                        None



              This option displays time statistics about the user on-
              line.


              Option 15
              Option 15
              Option 15      Exit To DOS With Errorlevel
                             Exit To DOS With Errorlevel
                             Exit To DOS With Errorlevel

              Data
              Data
              Data      <errorlevel>
                        <errorlevel>
                        <errorlevel>



              This option exits Ezycom with <errorlevel> which must be in
              range from 20 to 255.  Ezycom can re-login the user using
              the -R option.  This option would only be used if the door
              games are so big that they can not run inside of a Type 7
              Shell even with Swapping. The same parameters apply to this
              option as for Option 7.


              Option 16
              Option 16
              Option 16      Change Location
                             Change Location
                             Change Location

              Data
              Data
              Data      None
                        None
                        None



              This option allows the user to change his/her location.


              Option 17
              Option 17
              Option 17      Change Password
                             Change Password
                             Change Password

              Data
              Data
              Data      None
                        None
                        None



              This option allows the user to change his/her password.



                                       Appendix A - Menu Commands      165
                                                                       165
                                                                       165






          Option 18
          Option 18
          Option 18      Change Screen Length
                         Change Screen Length
                         Change Screen Length

          Data
          Data
          Data      None
                    None
                    None



          This option allows the user to change his/her screen
          length.


          Option 19
          Option 19
          Option 19      Toggle Screen Clearing
                         Toggle Screen Clearing
                         Toggle Screen Clearing

          Data
          Data
          Data      None
                    None
                    None



          This option allows the user to toggle whether screen
          clearing codes should be sent to him/her.


          Option 20
          Option 20
          Option 20      Toggle 'More' Prompt
                         Toggle 'More' Prompt
                         Toggle 'More' Prompt

          Data
          Data
          Data      None
                    None
                    None



          This option allows the user to toggle whether they will be
          given a more prompt after each screen of text.


          Option 21
          Option 21
          Option 21      Toggle ANSI Graphics
                         Toggle ANSI Graphics
                         Toggle ANSI Graphics

          Data
          Data
          Data      None
                    None
                    None



          This option allows the user to toggle ANSI Graphics.


          Option 22
          Option 22
          Option 22      Check For Mail
                         Check For Mail
                         Check For Mail

          Data
          Data
          Data      [/G=<groups>]
                    [/G=<groups>]
                    [/G=<groups>]



          This option allows the user to check for mail waiting.
          Optionally, the groups option can be used to override the
          user's groups settings and thus for instance force scanning
          of specified groups. The user is given the option either to
          read the mail, not to read the mail and/or mark the mail as
          already received (useful for sysops of other BBS's who call
          and find a whole load of echomail for them that they have
          already read on their own system).



          166
          166
          166      
                   
                   System Reference






              Example Data: /G=ABC


              Option 23
              Option 23
              Option 23      Read Messages
                             Read Messages
                             Read Messages

              Data
              Data
              Data      <message board> | /M
                        <message board> | /M
                        <message board> | /M



              This option allows the user to read a particular
              conference.  If /M is placed in Data, then the current
              message area template is used, otherwise the message board
              selected is used.

              While reading messages the user/sysop is presented with
              various option keys. They are:

              [A]gain   Display the message again.
              [L]ast    Go back to the previous message.
              [N]ext    Move to the next message.
              [R]eply   Reply to the current message.
              [W]rite   Write a message.
              [D]elete  Delete the current message.
              [F]orward Forward the message to someone else.
              [E]dit    Edit properties of the current message. Also
                        allows you to move/copy the message to another
                        area upon saving the changes.
              [K]eep    Keep the message unread.
              [!]       Shows hidden information in the message.
              [S]top    Stop reading messages.
              [U]pdate  Update the user whom the message is from ie. edit
                        their user record Alt-M (Local Only) Fully Update
                        User who the message is from.
              e[X]port  (Local Only) Export the message to Disk.  If the
                        filename is PRN/LTP1/LPT2/LPT3, then the message
                        is printed.

              In the [E]dit mode, various attributes of the message can
              be edited.  The most powerful feature is the No-Kill flag.
              If this is set to On, then MSGCOMP will NEVER delete the
              message until such times as the message is deleted by a
              User.


              Option 24
              Option 24
              Option 24      Scan Messages
                             Scan Messages
                             Scan Messages

              Data
              Data
              Data      <message board> | /M
                        <message board> | /M
                        <message board> | /M



              This option is the same as Option 23 except that none of
              the message body is display to the user.




                                       Appendix A - Menu Commands      167
                                                                       167
                                                                       167






          Option 25
          Option 25
          Option 25      Quickscan Messages
                         Quickscan Messages
                         Quickscan Messages

          Data
          Data
          Data      <message board> | /M
                    <message board> | /M
                    <message board> | /M



          This option is the same as Option 24 except that the
          information displayed is on one line, allowing an even more
          brief view of the messages.


          Option 26
          Option 26
          Option 26      Delete A Message
                         Delete A Message
                         Delete A Message

          Data
          Data
          Data      <message board> or /M
                    <message board> or /M
                    <message board> or /M



          This option allows the user to delete individual messages
          for a particular message area.  The user can only delete
          message(s) if they are a) are a Sysop of that Message Area,
          b) They wrote the message and it is not an echomail message
          or c) They have received the message and it is not an
          echomail message.  If the user does not fall into one of
          these categories, then they will not be able to delete the
          message(s).


          Option 27
          Option 27
          Option 27      Post A Message
                         Post A Message
                         Post A Message

          Data
          Data
          Data      <message board> | /M
                    <message board> | /M
                    <message board> | /M
                    [/T=<to_user_name>] [/S=<subject>]
                    [/T=<to_user_name>] [/S=<subject>]
                    [/T=<to_user_name>] [/S=<subject>]
                    [/L]
                    [/L]
                    [/L]



          Post Message allows users to post a message into a
          conference pointed to <message board> or /M (the current
          message area template).  The menu creator can FORCE the
          name of the user to whom the message is to be posted to by
          placing a /T=<to_user_name> in the data line.  Note that
          when using this command, if the name has TWO words, an
          underscore must be placed between them.

          Example Data: /T=Peter_Davies

          The subject can also be forced as well.  This can be
          accomplished by using the /S=<subject> field.  As with the
          /T option, an underscore MUST be used to separate words.

          The /L option can be used to logoff the user immediately
          after he/she posts the message.  If the user does not post
          the message, they are not logged off anyway.




          168
          168
          168      
                   
                   System Reference






              Option 28
              Option 28
              Option 28      Select Combined Area
                             Select Combined Area
                             Select Combined Area

              Data
              Data
              Data      [/G=<groups>]
                        [/G=<groups>]
                        [/G=<groups>]



              This option allows the user to individually select which
              message areas they want on/off. Combined area settings are
              used for global reading and are now also used for
              controlling which message areas QWK will extract mail from
              for downloading. Type the area numbers you wish to toggle
              On/Off. 'Range' toggles also work.

              User Input Example: 10 15 5-8 20 100

              This toggles the status of areas 5,6,7,8,10,15,20 & 100.

              Use the /G=<groups> option to overide any group settings
              the user has.


              Option 29
              Option 29
              Option 29      Read New Messages (Global)
                             Read New Messages (Global)
                             Read New Messages (Global)

              Data
              Data
              Data      [/SCAN | /LIST] [/G=<groups>]
                        [/SCAN | /LIST] [/G=<groups>]
                        [/SCAN | /LIST] [/G=<groups>]



              This option allows the user to read all messages which
              he/she has not read.  Optionally /SCAN can be used to tell
              Ezycom to do scanning for new mail, instead of actually
              reading new mail.  Optionally /LIST can be used to tell
              Ezycom to list the messages.  The user's groups can also be
              optionally over ridden with the G=<groups> command.


              Option 31
              Option 31
              Option 31      List Files
                             List Files
                             List Files

              Data
              Data
              Data      <file area> | /F
                        <file area> | /F
                        <file area> | /F
                        [/NEW]
                        [/NEW]
                        [/NEW]
                        [/G=<groups>]
                        [/G=<groups>]
                        [/G=<groups>]



              View a file list for <file area> or /F (current file area
              template).  Simply, if the user has access to the file area
              they can view the file list for it.  If /NEW is used, then
              only NEW files in that file list will be displayed.
              Optionally the user's groups for viewing can be over ridden
              using the /G=<groups> command.  While viewing the file
              list, the user is given an option to add to batch (if more
              prompt is turned on).





                                       Appendix A - Menu Commands      169
                                                                       169
                                                                       169






          The user can add files to the batch using filenames
          (wildcards supported) or by typing in the number of the
          file. For Example: 1 2.  Instead of typing in the numbers
          of the files for say 1 to 10, the user could also do 1-10.
          It is suggested that you make up a standard message to send
          to all new users telling them how to use this feature.  It
          makes file batching VERY quick.


          Option 32
          Option 32
          Option 32      Download
                         Download
                         Download

          Data
          Data
          Data      None
                    None
                    None



          Using this option, users can download files from anywhere
          on the system, so long as they have access to the file
          areas in question.  This option also supports all the
          download batch interaction commands.


          Option 33
          Option 33
          Option 33      Upload
                         Upload
                         Upload

          Data
          Data
          Data      <upload area> | /F
                    <upload area> | /F
                    <upload area> | /F



          This option allows the user to upload files to the system.
          If <upload area> is used, then uploads are ALWAYS uploaded
          to that file area. No redirection can take place.  If /F
          (current file area template) is used, then uploads are
          placed in that file area's template upload area.  That is
          if the current file area's upload area is pointed to
          another file area, then uploads would be placed in that
          other file area.


          Option 34
          Option 34
          Option 34      View Archive or GIF Info
                         View Archive or GIF Info
                         View Archive or GIF Info

          Data
          Data
          Data      None
                    None
                    None



          This option allows users to view the contents of ZIP, LZH,
          PAK, ARC, ZOO, SQZ GIF and ARJ files anywhere on the
          system, as long as they have download accesss to those
          files. In the case of a GIF image it will give the image
          dimensions (resolution), number of colours and the revision
          level of the image.







          170
          170
          170      
                   
                   System Reference






              Option 35
              Option 35
              Option 35      File Scan (Keyword)
                             File Scan (Keyword)
                             File Scan (Keyword)

              Data
              Data
              Data      [file areas to search and/or /F]
                        [file areas to search and/or /F]
                        [file areas to search and/or /F]
                        [/G=<groups>]
                        [/G=<groups>]
                        [/G=<groups>]



              This option allows users to search through the file areas
              by using a keyword.  Data can Optionally contain a list of
              file areas that can be used to search.  If, Data is blank,
              then all file areas are searched. The user may also
              optionally select start and ending dates for the search to
              be done for.

              Example Data: 1 /F

              This would mean that first of all, file area 1 is scanned,
              then the current file area template is scanned.  If they
              were reversed on the Data line (ie '/F 1'), then the
              current file area template would be searched first then
              file area 1.

              Again Optionally, /G=<groups> can be used to override the
              user's groups for viewing.


              Option 36
              Option 36
              Option 36      File Scan (File name)
                             File Scan (File name)
                             File Scan (File name)

              Data
              Data
              Data      [file areas to search and/or /F]
                        [file areas to search and/or /F]
                        [file areas to search and/or /F]
                        [/G=<groups>]
                        [/G=<groups>]
                        [/G=<groups>]



              This option allows users to search through the file areas
              by using a filespec.  A filespec is a file specification.
              This can include DOS/UNIX valid wild cards such as * and ?.
              For example to list all files, *.* would be used.  As with
              Menu Type 35, the file areas to search can be selected for
              this Menu Type.  They work in EXACTLY the same way as
              Option 35.  Again, the user's groups for viewing can be
              overridden using the /G=<groups> option.















                                       Appendix A - Menu Commands      171
                                                                       171
                                                                       171






          Option 37
          Option 37
          Option 37      New File Search
                         New File Search
                         New File Search

          Data
          Data
          Data      [file areas to search and/or /F]
                    [file areas to search and/or /F]
                    [file areas to search and/or /F]
                    [/G=<groups>]
                    [/G=<groups>]
                    [/G=<groups>]



          This option allows users to view new files since the last
          time they executed this option, or the view new files
          option at logon.  For instance, if the user logged on, and
          did not did a new files list in that session, then the next
          time they do a new files list, they will see all the files
          since the last time the did this option, not the last time
          they logged on.  The Data also allows the specification of
          which file areas to scan.  The file areas are listed
          EXACTLY the same way as with Option 35.  Optionally, the
          /G=<groups> can again be used to override the current
          user's groups for this command.


          Option 38
          Option 38
          Option 38      View Text File
                         View Text File
                         View Text File

          Data
          Data
          Data      None
                    None
                    None



          This option allows users to view text files that are in
          file areas.  The user is asked for the filename of the text
          file to view.  Note that this is a GLOBAL option, so the
          users do not have to be in the correct file area to view
          the text file.


          Option 39
          Option 39
          Option 39      Display Fully Named Text File
                         Display Fully Named Text File
                         Display Fully Named Text File

          Data
          Data
          Data      <Textfile Name>
                    <Textfile Name>
                    <Textfile Name>



          This option allows the viewing of a textfile name,
          specified by <Textfile Name>.  This filename should also
          include the extension.

          Example Data: C:\EZY\SOLUTION\PQ3.SOL












          172
          172
          172      
                   
                   System Reference






              Option 40
              Option 40
              Option 40      Display Text File With Hotkeys
                             Display Text File With Hotkeys
                             Display Text File With Hotkeys

              Data
              Data
              Data      <FileName> | /MENU
                        <FileName> | /MENU
                        <FileName> | /MENU



              This option allows the displaying of AVT/ANS/ASC/ASL with
              the use of Menu Hotkeys.  Typically this option would be
              used as an automatic option at the top of a MENU.  The
              <FileName> should NOT include an extension.

              Example Data: QUICKF

              The /MENU command can be used instead of the filename. This
              option automatically replaces itself with the FileName of
              the current Menu.  For example, if Ezycom was in the Menu
              TOP and if the /MENU command was used in the Data, then
              Ezycom would display the TOP.A* textfile.


              Option 41
              Option 41
              Option 41      Toggle Full Screen Editor
                             Toggle Full Screen Editor
                             Toggle Full Screen Editor

              Data
              Data
              Data      None
                        None
                        None



              This option allows the user to toggle the use of the full
              screen message editor.


              Option 42
              Option 42
              Option 42      Toggle IBM Extended Characters
                             Toggle IBM Extended Characters
                             Toggle IBM Extended Characters

              Data
              Data
              Data      None
                        None
                        None



              This option allows the user to toggle the user of the IBM
              Extended Character Set.  This will tell Ezycom whether to
              use the .ASC files or the .ASL files for menu display to
              ASCII (non ANSI or AVATAR) users.
















                                       Appendix A - Menu Commands      173
                                                                       173
                                                                       173






          Option 43
          Option 43
          Option 43      View Nodelist
                         View Nodelist
                         View Nodelist

          Data
          Data
          Data      /M | <msgboard> | /N=<network address>
                    /M | <msgboard> | /N=<network address>
                    /M | <msgboard> | /N=<network address>



          This option allows you to view a nodelist which has been
          indexed with EZYNODE. If /M is used on the command line,
          then the current message template area is used to view the
          nodelist.  If <msgboard> is used, then that message board's
          nodelist will be used.  If /N=<network address> is used,
          then that <network address> is used to view the nodelist.
          Note that when viewing the nodelist from a message board,
          only echomail or netmail areas will work.

          Example Data:

                    /M             (Current Message Area)
                    1              (Message Board 1)
                    /N=3:622/407   (Net Address 3:622/407)


          Option 44
          Option 44
          Option 44      Reset Combined Areas
                         Reset Combined Areas
                         Reset Combined Areas

          Data
          Data
          Data      [/G=group]
                    [/G=group]
                    [/G=group]



          This option allows the user to set all of their combined
          areas to either ON, OFF or the DEFAULT values. This is also
          how users control which areas they wish to get mail from
          when using QWK offline mail (see later). Use the /G=group
          option to overide any group settings the user has.


          Option 45
          Option 45
          Option 45      Display Text File -w- Pause
                         Display Text File -w- Pause
                         Display Text File -w- Pause

          Data
          Data
          Data      <FileName> or /MENU
                    <FileName> or /MENU
                    <FileName> or /MENU



          This option displays the text file, then asks the user to
          press enter when it has finished being displayed.  Again
          the /MENU command can be used to substitute the MENU name
          for the filename.  The FileName should not include paths or
          extensions.

          Example Data: QUICKF








          174
          174
          174      
                   
                   System Reference






              Option 46
              Option 46
              Option 46      Display Fully Named File -w- Pause
                             Display Fully Named File -w- Pause
                             Display Fully Named File -w- Pause

              Data
              Data
              Data      <TextFile>
                        <TextFile>
                        <TextFile>



              This option displays <TextFile> to the screen and pauses at
              the end.  This option is basically the same as option 39
              except in this option, the FULL pathname should be given.

              Example Data: C:\EZY\FILES\PQ3.SOL


              Option 47
              Option 47
              Option 47      Make A Log Entry
                             Make A Log Entry
                             Make A Log Entry

              Data
              Data
              Data      Text to Place in Log
                        Text to Place in Log
                        Text to Place in Log



              This option allows an entry in the log to be generated
              Typically this would be an automatic option, and would be
              used to indicate that the user moved into a menu on the
              board.  The smart text codes of @ and ` can be used to
              indicate the current file area template and the current
              message area template respectively.

              Option 48
              Option 48
              Option 48      Download Specific File
                             Download Specific File
                             Download Specific File

              Data
              Data
              Data      <filename> [/FREE] [/FREETIME]
                        <filename> [/FREE] [/FREETIME]
                        <filename> [/FREE] [/FREETIME]



              This option allows the user to download the file pointed to
              be <filename>.  <filename> should be a full path and
              extension of the file.  Optionally the /FREE switch can be
              used to signify a free download for the user (ie the file
              does not count against their download record). You might
              use this for downloading a membership form from a menu for
              instance. The /FREETIME option means all time constraints
              and system events will be ignored when downloading this
              file.















                                       Appendix A - Menu Commands      175
                                                                       175
                                                                       175






          Option 49
          Option 49
          Option 49      Select Message Area
                         Select Message Area
                         Select Message Area

          Data
          Data
          Data      [text file] [/G=<groups>] [/RETLIST]
                    [text file] [/G=<groups>] [/RETLIST]
                    [text file] [/G=<groups>] [/RETLIST]



          This option gives the user a list of message areas and
          changes the current message area template to the message
          area they select.  If you want to make your own list of
          message areas, then place the filename (no extension) of
          the textfile to be used instead in the Data like.
          Optionally, /G=<groups> can be used to override the default
          user's groups for this command. The /RETLIST option tells
          Ezycom to immediately begin listing areas instead of giving
          the user the option to pick an area without first viewing
          the list of areas (ie. skips the need to type '?' all the
          time).


          Option 50
          Option 50
          Option 50      Select File Area
                         Select File Area
                         Select File Area

          Data
          Data
          Data      [text file] [/G=<groups>] [/RETLIST]
                    [text file] [/G=<groups>] [/RETLIST]
                    [text file] [/G=<groups>] [/RETLIST]



          This option is basically the same as Option 49, except that
          it changes the current file area template instead.
          Optionally, /G=<groups> can be used to override the default
          user's groups for this command. /RETLIST has the same
          function here as for Option 49.


          Option 51
          Option 51
          Option 51      List Today's/Yesterday's Callers
                         List Today's/Yesterday's Callers
                         List Today's/Yesterday's Callers

          Data
          Data
          Data      [/A] [/Y]
                    [/A] [/Y]
                    [/A] [/Y]



          This option displays a list of todays or yesterdays callers
          to the Bulletin Board Service.  If /Y is placed in Data,
          then Yesterday's callers are shown, otherwise Today's
          callers are shown.  If /A is used in Data, then aliases are
          used instead of real names.













          176
          176
          176      
                   
                   System Reference






              When a list of today's callers is displayed, a DidWhat?
              field is shown.  They represent certain actions the user
              did while online.  These are:

              N    NewUser
              R    Read Messages
              S    Sent Messages
              D    Downloaded
              U    Uploaded
              P    Paged Operator
              C    Chatted with Sysop or other Users (multi-line chat)
              O    Outside Ezycom (type 7/15 shell)


              Option 52
              Option 52
              Option 52      Show Users On-Line
                             Show Users On-Line
                             Show Users On-Line

              Data
              Data
              Data      [/A]
                        [/A]
                        [/A]



              This option displays a list of users who are currently
              online.  This option works across networks and/or
              multitaskers to show every user who is using Ezycom at this
              time.  If the /A switch is used on the Data line, then
              Aliases are shown instead of real names. Users logged in
              locally (eg. the sysop) will be shown with the baud rate as
              'Local'.


              Option 53
              Option 53
              Option 53      Toggle "Do Not Disturb"
                             Toggle "Do Not Disturb"
                             Toggle "Do Not Disturb"

              Data
              Data
              Data      None
                        None
                        None



              This option allows the user to toggle the Do Not Disturb
              mode.  This mode stops users on other lines from sending a
              message to their node.


















                                       Appendix A - Menu Commands      177
                                                                       177
                                                                       177






          Option 54
          Option 54
          Option 54      Send An Online Message
                         Send An Online Message
                         Send An Online Message

          Data
          Data
          Data      [/A]
                    [/A]
                    [/A]
                    [/N=<node> /M=<message>]
                    [/N=<node> /M=<message>]
                    [/N=<node> /M=<message>]



          This option allows the user currently online, to send a one
          line message to a user on another line.  The message
          arrives only while users are in the menu system, not while
          they are reading messages or in an menu option and more.
          If the /A switch is used, aliases are shown instead of real
          names. The /N combined with /M will send a predefined
          message to a predefined node. Any spaces should be
          indicated using an underscore character.

          Example Data: /N=1 /M=Howdy_Dude!_Wanna Chat?


          Option 55
          Option 55
          Option 55      Download ANY File
                         Download ANY File
                         Download ANY File

          Data
          Data
          Data      None
                    None
                    None



          This option allows user(s) to download files from ANYWHERE
          on the system.  They can specify a full pathname to
          download the files.  This option should only be made
          available to the Sysop or not used at all. It can be a
          major security risk otherwise.


          Option 56
          Option 56
          Option 56      Import Text File To Message
                         Import Text File To Message
                         Import Text File To Message

          Data
          Data
          Data      <message board> | /M
                    <message board> | /M
                    <message board> | /M
           
           
                    [/U=<from_username>]
                    [/U=<from_username>]
                    [/U=<from_username>]
                    [/T=<to_username>]
                    [/T=<to_username>]
                    [/T=<to_username>]
                    /S=<subject>
                    /S=<subject>
                    /S=<subject>
                    /L=<text file>
                    /L=<text file>
                    /L=<text file>



          This option is used for importing a text file into the BBS.
          The main use for this option would be to post a message to
          a newuser.  The <message board> | /M specify which message
          area the message will be posted in.  The /U command
          specifies the 'From' user name.  All spaces in the names
          must use an UNDERSCORE character.

          For Example: /U=Peter_Davies






          178
          178
          178      
                   
                   System Reference






              If the /U command is left out, then the from user name
              defaults to the name of the user currently online.  The /T
              command is mostly the same as the /U command, except that
              it specifies the name of who the message is to be posted
              to.  If, the /T command is omitted, then the message is
              posted to the name of the user online.  The /S command
              specifies the subject of the message and is NOT an optional
              parameter.  The /L commands specifies a fully qualified
              filename (path, name and extension) of the file which
              contains the message to be imported into a message area and
              is also NOT an optional parameter.

              This command supports the Ctrl-F/K smart text codes in the
              text file to be imported.


              Option 57
              Option 57
              Option 57      Change Voice Phone Number
                             Change Voice Phone Number
                             Change Voice Phone Number

              Data
              Data
              Data      None
                        None
                        None



              This option allows the user to change his/her home voice
              phone number.


              Option 58
              Option 58
              Option 58      Change Data Phone Number
                             Change Data Phone Number
                             Change Data Phone Number

              Data
              Data
              Data      None
                        None
                        None



              This option allows the user to change his/her business/data
              phone number.


              Option 59
              Option 59
              Option 59      Toggle mailbox hold
                             Toggle mailbox hold
                             Toggle mailbox hold

              Data
              Data
              Data      None
                        None
                        None



              This options allows the user to toggle whether his/her mail
              is on hold. If a user is going away on vacation, then this
              will ensure that all their mail is still waiting for them
              (and does not get deleted) until after they get back and
              read/reply to it









                                       Appendix A - Menu Commands      179
                                                                       179
                                                                       179






          Option 60
          Option 60
          Option 60      Mail forwarding
                         Mail forwarding
                         Mail forwarding

          Data
          Data
          Data      None
                    None
                    None



          This option allows the user to turn on forwarding of
          his/her mail to another user on the system. A user may want
          to redirect all their mail to someone else whilst they are
          away on vacation for instance.


          Option 61
          Option 61
          Option 61      Toggle Avatar Graphics
                         Toggle Avatar Graphics
                         Toggle Avatar Graphics

          Data
          Data
          Data      None
                    None
                    None



          This option allows the user to turn Avatar Graphics On/Off.


          Option 62
          Option 62
          Option 62      List Transfer Batch
                         List Transfer Batch
                         List Transfer Batch

          Data
          Data
          Data      None
                    None
                    None



          This option displays the current contents of the user's
          download batch.


          Option 63
          Option 63
          Option 63      Erase Transfer Batch
                         Erase Transfer Batch
                         Erase Transfer Batch

          Data
          Data
          Data      None
                    None
                    None



          This option erases the entire contents of the user's
          download batch.


          Option 64
          Option 64
          Option 64      Add Files To Batch
                         Add Files To Batch
                         Add Files To Batch

          Data
          Data
          Data      None
                    None
                    None



          This option allows the user to add files to his/her
          download batch.







          180
          180
          180      
                   
                   System Reference






              Option 65
              Option 65
              Option 65      Erase One File From Batch
                             Erase One File From Batch
                             Erase One File From Batch

              Data
              Data
              Data      None
                        None
                        None



              This option allows the user to erase single or multiple
              files (using wildcards) from the download batch. The file
              number from the batch can also be used (with or without a
              preceding minus '-' symbol). List Batch will show the
              numbers.


              Option 66
              Option 66
              Option 66      Multiline Conference
                             Multiline Conference
                             Multiline Conference

              Data
              Data
              Data      [/A]
                        [/A]
                        [/A]



              This option allows live chatting between two or more users
              on different nodes of the Bulletin Board.  The optional /A
              switch forces Aliases instead of Real Names to show whilst
              in chat.


              Option 67
              Option 67
              Option 67      Change To Area With Unread Mail
                             Change To Area With Unread Mail
                             Change To Area With Unread Mail

              Data
              Data
              Data      [/RETLIST] [/NEWMAIL]
                        [/RETLIST] [/NEWMAIL]
                        [/RETLIST] [/NEWMAIL]



              This option is the same as option 49 (change to message
              area) except that the user is told if there is new/unread
              mail in an area, indicated by a [NEW] in front of the
              message area name in the list. The /RETLIST option also has
              the same affect as described in option 49. This option will
              display the number of unread (new) messages in each area in
              [ ] before the area number. If there are more than 999
              messages, [***] will be shown instead. If the /NEWMAIL
              option is used, then only areas containing unread mail will
              be shown to the user.















                                       Appendix A - Menu Commands      181
                                                                       181
                                                                       181






          Option 68
          Option 68
          Option 68      Online Master List
                         Online Master List
                         Online Master List

          Data
          Data
          Data      [/FREE] (Free Download)
                    [/FREE] (Free Download)
                    [/FREE] (Free Download)
                    [/RAW]  (Allow Raw File Download)
                    [/RAW]  (Allow Raw File Download)
                    [/RAW]  (Allow Raw File Download)
                    [/ZIP]  (Allow ZIP Compression)
                    [/ZIP]  (Allow ZIP Compression)
                    [/ZIP]  (Allow ZIP Compression)
                    [/LZH]  (Allow LZH Compression)
                    [/LZH]  (Allow LZH Compression)
                    [/LZH]  (Allow LZH Compression)
                    [/ARJ]  (Allow ARJ Compression)
                    [/ARJ]  (Allow ARJ Compression)
                    [/ARJ]  (Allow ARJ Compression)
                    [/ZOO] (Allow ZOO Compression)
                    [/ZOO] (Allow ZOO Compression)
                    [/ZOO] (Allow ZOO Compression)
                    [/PAK] (Allow PAK Compression)
                    [/PAK] (Allow PAK Compression)
                    [/PAK] (Allow PAK Compression)
                    [/ARC] (Allow ARC Compression)
                    [/ARC] (Allow ARC Compression)
                    [/ARC] (Allow ARC Compression)
                    [/SQZ] (Allow SQZ Compression)
                    [/SQZ] (Allow SQZ Compression)
                    [/SQZ] (Allow SQZ Compression)
                    [/SWAP] (Swap Out Ezycom on Compression)
                    [/SWAP] (Swap Out Ezycom on Compression)
                    [/SWAP] (Swap Out Ezycom on Compression)



          This option allows the user to download a master list that
          is generated online and on the fly.  /RAW, /ZIP, /LZH,
          /ARJ, /ZOO, /PAK, /ARC, /SQZ allow the sysop to define
          which archive formats are allowable for the download of the
          master list. /RAW is means uncompressed and if no formats
          are specified, ALL are assumed to be available. The /SWAP
          command will tell Ezycom to swap out leaving only 8K of
          memory resident while producing the list.  If the /FREE
          command is used then the download is free.  It is
          recommended that systems with large filebases do not use
          this option and just make a master file list each day
          instead (during maintenance for instance).


          Option 69
          Option 69
          Option 69      Toggle local display
                         Toggle local display
                         Toggle local display

          Data
          Data
          Data      ON | OFF | TOGGLE
                    ON | OFF | TOGGLE
                    ON | OFF | TOGGLE



          This option turns on/off the local display when a remote
          user is on-line (does nothing in local mode).  If ON is
          used, then the display is turned ON.  If OFF is used, then
          the display is turned OFF.  If TOGGLE is used, then the
          display is turned ON or OFF depending on its current state.
















          182
          182
          182      
                   
                   System Reference






              Option 70
              Option 70
              Option 70      Toggle Date Display Format
                             Toggle Date Display Format
                             Toggle Date Display Format

              Data
              Data
              Data      None
                        None
                        None



              This option allows the user to toggle between using the
              American (MM/DD/YYYY) and European (DD/MM/YYYY) date
              formats.


              Option 71
              Option 71
              Option 71      Change Colour Setup
                             Change Colour Setup
                             Change Colour Setup

              Data
              Data
              Data      <1..8> <+ | ->
                        <1..8> <+ | ->
                        <1..8> <+ | ->



              This option allows the user to change colours for the
              display of message/file areas.  The <1..8> is which colour
              to change.  If "+" is used, then the colour number is
              incremented by one.  If "-" is used, then the colour number
              is decremented by one.


              Option 72
              Option 72
              Option 72      Change Alias
                             Change Alias
                             Change Alias

              Data
              Data
              Data      None
                        None
                        None



              This option allows the user to change his/her alias to any
              other name as long as it is not already in use by another
              user (either as their real name or as their alias).


              Option 73
              Option 73
              Option 73      Change Comment
                             Change Comment
                             Change Comment

              Data
              Data
              Data      None
                        None
                        None



              This option allows the user to define a comment about
              him/herself, or change the current one to something else.


              Option 74
              Option 74
              Option 74      Clear Screen
                             Clear Screen
                             Clear Screen

              Data
              Data
              Data      None
                        None
                        None



              This option simply clears the screen, if the user has clear
              screen codes set to On.



                                       Appendix A - Menu Commands      183
                                                                       183
                                                                       183






          Option 75
          Option 75
          Option 75      Display .ASC -w- HotKeys
                         Display .ASC -w- HotKeys
                         Display .ASC -w- HotKeys

          Data
          Data
          Data      <FileName>
                    <FileName>
                    <FileName>



          This option is the same as Type 40 except that only ASC/ASL
          menus can be displayed.  This can give the user fast menus,
          but still have ANSI/AVATAR for other options like the Full
          Screen Editor for instance.


          Option 76
          Option 76
          Option 76      Select Default Protocol
                         Select Default Protocol
                         Select Default Protocol

          Data
          Data
          Data      None
                    None
                    None



          This option allows the user to select a default protocol
          for downloading and uploading. This removes the necessity
          to choose a protocol each time the user wishes to do a
          transfer (ie saves time).


          Option 77
          Option 77
          Option 77      Deposit Time Or Kilobytes
                         Deposit Time Or Kilobytes
                         Deposit Time Or Kilobytes

          Data
          Data
          Data      /K | /T
                    /K | /T
                    /K | /T



          This option allows the user to deposit time or kilobytes
          into their time or kilobyte bank respectively.  The /K
          switch, forces the kilobytes bank. The /T forces the time
          bank.


          Option 78
          Option 78
          Option 78      Withdraw Time Or Kilobytes
                         Withdraw Time Or Kilobytes
                         Withdraw Time Or Kilobytes

          Data
          Data
          Data      [/K]
                    [/K]
                    [/K]



          This option allows the user to withdraw time or kilobytes
          from their time or kilobyte bank respectively.  The /K and
          /T switches work the same as for option 78.











          184
          184
          184      
                   
                   System Reference






              Option 79
              Option 79
              Option 79      Display Best User Stats
                             Display Best User Stats
                             Display Best User Stats

              Data
              Data
              Data      [/M] Display Best Messages
                        [/M] Display Best Messages
                        [/M] Display Best Messages
                        [/C] Display Best Caller
                        [/C] Display Best Caller
                        [/C] Display Best Caller
                        [/UP] Display Best Uploader (Files)
                        [/UP] Display Best Uploader (Files)
                        [/UP] Display Best Uploader (Files)
                        [/DN] Display Best Downloader (Files)
                        [/DN] Display Best Downloader (Files)
                        [/DN] Display Best Downloader (Files)
                        [/FP] Display Best File Points
                        [/FP] Display Best File Points
                        [/FP] Display Best File Points
                        [/UK] Display Best Uploader (KiloBytes)
                        [/UK] Display Best Uploader (KiloBytes)
                        [/UK] Display Best Uploader (KiloBytes)
                        [/DK] Display Best Downloader (KiloBytes)
                        [/DK] Display Best Downloader (KiloBytes)
                        [/DK] Display Best Downloader (KiloBytes)



              This option displays a best users list.  If no options are
              specified, then all best lists are displayed.  It is
              possible to have more than one best list displayed at a
              time using a combination of the options.


              Option 80
              Option 80
              Option 80      Disable GLOBAL For This Menu
                             Disable GLOBAL For This Menu
                             Disable GLOBAL For This Menu

              Data
              Data
              Data      None
                        None
                        None



              This option disables functions on the GLOBAL menu for the
              menu current menu, thus rendering any normally global
              options, inactive.  This should be used as an automatic
              option and should be the first line in the MENU.


              Option 81
              Option 81
              Option 81      Create Door Information Files
                             Create Door Information Files
                             Create Door Information Files

              Data
              Data
              Data      [DOORWAY=<filename>]
                        [DOORWAY=<filename>]
                        [DOORWAY=<filename>]
                        [DORINFO=<filename>]
                        [DORINFO=<filename>]
                        [DORINFO=<filename>]
                        *A   Place Alias in the Files to written.
                        *A   Place Alias in the Files to written.
                        *A   Place Alias in the Files to written.
                        *O   Place the Locked Port Baud Rate (MaxBaud) in
                        *O   Place the Locked Port Baud Rate (MaxBaud) in
                        *O   Place the Locked Port Baud Rate (MaxBaud) in
              the 
              the 
              the                 Files to written.
                                  Files to written.
                                  Files to written.
               
               
                        *V   Use Avatar Standard for Graphics Flags in 
                        *V   Use Avatar Standard for Graphics Flags in 
                        *V   Use Avatar Standard for Graphics Flags in 
                                       DORINFOx.DEF.
                                       DORINFOx.DEF.
                                       DORINFOx.DEF.
                        *9   Use FO1..250 for Nodes  1 to 250
                        *9   Use FO1..250 for Nodes  1 to 250
                        *9   Use FO1..250 for Nodes  1 to 250
                        *N   Use   1..250 for Nodes  1 to 250
                        *N   Use   1..250 for Nodes  1 to 250
                        *N   Use   1..250 for Nodes  1 to 250



              This option writes the doorway DOOR.SYS and/or DORINFO1.DEF
              file(s) to the filenames of your choosing.  The subset of
              type 7 parameters listed can be placed in any parts of the
              command line and will be translated into their meaning.

              Example Data: DORINFO=DORIN*9.DEF *A *O *V






                                       Appendix A - Menu Commands      185
                                                                       185
                                                                       185






          Option 82
          Option 82
          Option 82      Select compression type
                         Select compression type
                         Select compression type

          Data
          Data
          Data      None
                    None
                    None



          This allows users to choose the type of compression to use
          on QWK bundles.


          Option 83
          Option 83
          Option 83      Download .QWK bundle
                         Download .QWK bundle
                         Download .QWK bundle

          Data
          Data
          Data      None
                    None
                    None



          This allows users to begin bundling and later begin
          downloading a QWK mail archive. Selecting this option gives
          a submenu where users can also toggle whether they wish to
          receive their personal mail and whether they wish to
          receive new mail or not. Once download is selected,
          bundling of the QWK files will begin. The user is given
          constant updates as to the status of the bundling. Local
          downloading of QWK is also allowed and you will be prompted
          for a path to download to after the bundle is ready for
          transfer. Pressing ESC during bundling will abort building
          and allow the user to choose whether or not to download
          what has been done so far. If carrier is lost during
          bundling, the process is immediately aborted.


          Option 84
          Option 84
          Option 84      Upload .QWK bundle
                         Upload .QWK bundle
                         Upload .QWK bundle

          Data
          Data
          Data      None
                    None
                    None



          This allows users to send QWK reply bundles to the BBS ie
          replies to messages they downloaded. Local uploads are also
          allowed in the same manner as local QWK downloads.


          Option 85
          Option 85
          Option 85      Toggle full/combined mail check
                         Toggle full/combined mail check
                         Toggle full/combined mail check

          Data
          Data
          Data      None
                    None
                    None



          This allows the user to toggle whether a New Mail Scan (at
          login or from a menu option) checks ALL areas or only those
          turned on in their combined area setup. The latter case is
          best not used otherwise users will miss new mail to them in
          areas not in their combined setup.



          186
          186
          186      
                   
                   System Reference






              Option 86
              Option 86
              Option 86      Set .QWK options
                             Set .QWK options
                             Set .QWK options

              Data
              Data
              Data      /MAXMESS | /MAXAREA | /MAXOLD
                        /MAXMESS | /MAXAREA | /MAXOLD
                        /MAXMESS | /MAXAREA | /MAXOLD



              Use this option to allow users to place restrictions on the
              size of their QWK bundles. The /MAXMESS option allows the
              user to set the maximum number of messages per bundle (up
              to the limit you've set in Config). Use /MAXAREA to allow
              users to select the maximum number of messages that can be
              scanned out from each area they have selected. The /MAXOLD
              option allow the user to control the maximum number of days
              old that messages scanned out, are all allowed to be.


              Option 87
              Option 87
              Option 87      Toggle Flags
                             Toggle Flags
                             Toggle Flags

              Data
              Data
              Data      <flag><flag-bit><status>
                        <flag><flag-bit><status>
                        <flag><flag-bit><status>



              This option allows you to toggle the status of flags from a
              menu option. Status can be:

              -    to turn the flag off
              +    to turn the flag on
              *    to toggle the flag (on becomes off, off becomes on)

              Data Example: A8+   - will turn flag A8 on.


              Option 88
              Option 88
              Option 88      Reset Lastread Pointers
                             Reset Lastread Pointers
                             Reset Lastread Pointers

              Data
              Data
              Data      None
                        None
                        None



              This option allows the users to globally reset their
              lastread pointers (used mostly for QWK) to either the
              begining or the end of each area. The user is also given
              the option to quit should they have accidently selected
              this option.













                                       Appendix A - Menu Commands      187
                                                                       187
                                                                       187






          Option 89
          Option 89
          Option 89      Display Rumour
                         Display Rumour
                         Display Rumour

          Data
          Data
          Data      None
                    None
                    None



          This option will go through a rumours file and randomly
          select a one line rumour and display it. This option is
          most useful as an automatic option after a type 40 command
          to display a rumour at the bottom of a menu before the
          prompt is displayed. This is a Registered Only feature.


          Option 90
          Option 90
          Option 90      Add Rumour
                         Add Rumour
                         Add Rumour

          Data
          Data
          Data      None
                    None
                    None



          This allows the user to add a rumour to the rumour file up
          to one line in length. Colours can be embedded into these
          rumours using either of the following schemes:



                   Method
          Method            Colour
                   2
          1

                   |01
          |b                Blue

                   |02
          |g                Green

                   |03
          |c                Cyan

          |r       |04      Red

                   |05
          |m                Magenta

                   |06
          |p                Magenta (Purple)

                   |07
          |y                Brown

                   |08
          |w                Light Gray

          |B       |09      Light Blue

                   |10
          |G                Light Green

          |C       |11      Light Cyan

                   |12
          |R                Light Red

                   |13
          |M                Light Magenta



                   
                   
                   
          188
          188
          188      System Reference







              |P       |14      Light Magenta (Light
                                Purple)

              |Y       |15      Yellow

              |W       |16      White


              Lower case means dull, upper means light.

              For Example:

              |01P|02e|03t|04e|05r|06 D|07a|09v|10i|11e|12s

              or

              |bP|ge|ct|re|mr|y D|wa|Bv|Gi|Ce|Rs


              would produce a rumour saying "Peter Davies" with colours.
              Again, this is a registered only feature.


              Option 91
              Option 91
              Option 91      Delete Rumour
                             Delete Rumour
                             Delete Rumour

              Data
              Data
              Data      [/DELETEANY]
                        [/DELETEANY]
                        [/DELETEANY]



              This option allows a user to delete a rumour that THEY have
              entered. Adding the DELETEANY option allows any rumour to
              be deleted and this option would typically only be used in
              this way by the sysop. Again, this is a registered only
              feature.


              Option 92
              Option 92
              Option 92      List Rumours
                             List Rumours
                             List Rumours

              Data
              Data
              Data      [/SHOWUSERNAMES]
                        [/SHOWUSERNAMES]
                        [/SHOWUSERNAMES]



              This option will list all rumours in the rumours file. If
              the /SHOWUSERNAMES option is present, then the name of the
              user who wrote each rumour will also be shown. Typically
              this option is used only by the sysop. This is a registered
              only feature.








                                       Appendix A - Menu Commands      189
                                                                       189
                                                                       189








                                                            Appendix B

                                                Questionnaire Commands


          One of the reasons Ezycom is so flexible and extensible is
          due to its questionnaire language. These commands range
          from simple ones to very complex ones. This section is
          intended as a complete reference to all the available
          commands including some examples on how to use them. You
          will find it useful to keep this section at hand should you
          be writing a questionnaire file.

          Throughout this section, <var num> is referred to and has a
          range of 1 through to 50.  All commands are case in-
          sensitive so for example Quit, QUIT and quit are all the
          same and constitute a valid command.


          Commands For Producing Screen Output
          Commands For Producing Screen Output
          Commands For Producing Screen Output

          All the commands following are used to produce output to
          the user screen.

          CLEARSCREEN
          CLEARSCREEN
          CLEARSCREEN



          CLEARSCREEN clears the user's screen if he/she has the
          clear screen flag set to ON.

          For Example:

          CLEARSCREEN

          will simply clear the user's screen.


          CHANGECOLOR <foreground color> <background color>
          CHANGECOLOR <foreground color> <background color>
          CHANGECOLOR <foreground color> <background color>



          CHANGECOLOR or CHANGECOLOUR (either spelling works) changes
          the current foreground and background colours to those
          specified in the command.

          For Example:

          CHANGECOLOR 15 0

          would change the current colour to White with a Black
          background.



          190
          190
          190      
                   
                   System Reference






              The colour code assignments are:

                    Foreground         Background

                    0 - Black               0 - Black
                    1 - Blue                1 - Blue
                    2 - Green               2 - Green
                    3 - Cyan                3 - Cyan
                    4 - Red                 4 - Red
                    5 - Magenta             5 - Magenta
                    6 - Brown               6 - Brown
                    7 - LightGrey           7 - LightGrey
                    8 - DarkGrey
                    9 - LightBlue
                   10 - LightGreen
                   11 - LightCyan
                   12 - LightRed
                   13 - LightMagenta
                   14 - Yellow
                   15 - White


              DISPLAY "<message>"
              DISPLAY "<message>"
              DISPLAY "<message>"



              This displays a message to the user.  It does NOT
              automatically place a carriage return on the end.  Use the
              | character to force carriage return(s).

              For Example:

              DISPLAY "High"
              DISPLAY "High|"
              DISPLAY "||This will skip two lines"

              The first command simply prints High to the screen. The
              second will move the cursor to the beginning of the next
              line after displaying High again after the other High. The
              third command uses multiple | characters to skip lines
              before displaying something.















                               Appendix B - Questionaire Commands      191
                                                                       191
                                                                       191






          DISPLAYLOC "<message>"
          DISPLAYLOC "<message>"
          DISPLAYLOC "<message>"
          DISPLAYCOM "<message>"
          DISPLAYCOM "<message>"
          DISPLAYCOM "<message>"



          These two commands are simular to DISPLAY except they only
          display either to the local screen or to the communications
          port. DISPLAYLOC will only display the message to the local
          screen (ie. the BBS end) and DISPLAYCOM will only display
          to the communications port. Circumstances may arise where
          you may only want one or the other, for instance you may
          want to make a note come up during a script while a script
          is running for your reference. Can be useful for debugging.

          DISPLAYASW <var num> & LISTANSWER <var num>
          DISPLAYASW <var num> & LISTANSWER <var num>
          DISPLAYASW <var num> & LISTANSWER <var num>



          DISPLAYASW or LISTANSWER display the <variable number> to
          the user WITH a carriage return.

          For Example:

          DISPLAYASW 1

          would display the contents of variable 1 to the screen AND
          would take a new line afterwards.


          DISPLAYFLAG <flagnum A-D><flagbit 1-8>
          DISPLAYFLAG <flagnum A-D><flagbit 1-8>
          DISPLAYFLAG <flagnum A-D><flagbit 1-8>



          This option displays the current status of a user's flag.

          For Example:

          DISPLAYFLAG A1

          would display 'ON' or 'OFF' depending on the value of the
          user's flag A1.


          DISPLAYGROUP <group>
          DISPLAYGROUP <group>
          DISPLAYGROUP <group>



          DISPLAYGROUP will display the current status of a group (A
          through to Z).  If the particular group is ON, then ON is
          displayed, or if it is OFF, then OFF is displayed.

          For Example:

          DISPLAYGROUP A


          192
          192
          192      
                   
                   System Reference






              GOTOXY <xpos> <ypos>
              GOTOXY <xpos> <ypos>
              GOTOXY <xpos> <ypos>



              GOTOXY moves the text cursor to position that is defined in
              the command line.  Note that this does NOT work in ASCII
              mode.

              For Example:

              GOTOXY 10 20
              DISPLAY "This is at 10th position on line 20"



              Commands For Producing File Output
              Commands For Producing File Output
              Commands For Producing File Output

              The next few commands are used for producing output to an
              answer (.ASW) file.

              POSTINFO
              POSTINFO
              POSTINFO



              POSTINFO writes the users name and the current time and
              date to the answer file.

              For Example:

              POSTINFO


              OUTPUTANSWER "<message>" [var num]
              OUTPUTANSWER "<message>" [var num]
              OUTPUTANSWER "<message>" [var num]



              OUTPUTANSWER writes <message> and then the variable
              contents to the answer file.  The [var num] is an optional
              parameter and allows just <message> to be written to the
              answer file if so desired.  The <message> also supports all
              the CtrlK/F commands, such as Ctrl-FA.

              For Example:

              SETVARS "High" 1
              OUTPUTANSWER "Current Value of Var 1 " 1
              OUTPUTANSWER ""
              OUTPUTANSWER "Ctrl-FA"

              (The Ctrl-F represents Control F key)






                               Appendix B - Questionaire Commands      193
                                                                       193
                                                                       193






          CREATE
          CREATE
          CREATE



          CREATE deletes the current Answer file and restarts it.
          This can be used ANYWHERE within a questionaire file.  If
          you are creating DOOR files this optioon should prove to be
          useful.

          For Example:

          CREATE



          Commands For Getting Input
          Commands For Getting Input
          Commands For Getting Input

          The next series of commands are using for getting and
          controlling input from the user.


          WAITENTER
          WAITENTER
          WAITENTER



          WAITENTER displays the enter prompt, and waits till Enter
          is pressed.

          For Example:

          WAITENTER

          would write 'Press [Enter] to Continue: ' on the screen and
          then wait for ENTER to be pressed before continuing.


          CAPITALIZE <ON/OFF/FIRSTLETTER>
          CAPITALIZE <ON/OFF/FIRSTLETTER>
          CAPITALIZE <ON/OFF/FIRSTLETTER>



          CAPITALIZE or CAPITALISE (either spelling will work) turns
          ON or OFF the capitalising of all input statements from now
          on in the questionaire.  FIRSTLETTER is a special option
          that will capitalise the first letter of every word and
          force lower case on every other letter.

          For Example:

          CAPITALIZE ON

          would force all following input into capital (upper-case)
          letters only.




          194
          194
          194      
                   
                   System Reference






              ASK <length> <var num>
              ASK <length> <var num>
              ASK <length> <var num>



              ASK  will ask the user for a string (A sequence of
              characters).  The string length maximum is that defined
              with <length>.  The result is placed in <var num>.  If used
              in conjunction with CAPITALIZE then the text entered can be
              forcefully capitalised.  The <var num> can be a number from
              1 to 50.  Length can be from 1 to 255.

              For Example:

              ASK 20 1
              DISPLAYASW 1

              would ASK the user for a string of maximum length 20
              characters, and store it in variable 1.

              GETCHOICE <key list> <var num> [default]
              GETCHOICE <key list> <var num> [default]
              GETCHOICE <key list> <var num> [default]



              GETCHOICE waits until a key in <key list> is pressed and
              stores the result in <var num>.  If a [default] key is in
              the command, then if ENTER is pressed, the default key will
              be placed in <var num>.  If GETCHOICE is used in
              conjunction with Capitalise ON or FIRSTLETTER, then all
              input is capitalised.

              For Example:

              GETCHOICE YN 1 Y

              Would wait until either Y(es) or N(o) or ENTER is pressed.
              If, ENTER is pressed, then Variable would contain Y.

              Example 2:

              GETCHOICE YN 1

              Is exactly the same as the previous example but if ENTER is
              pressed, it is ignored ie. the user MUST type in Y(es) or
              N(o).


              Commands For Modifying User Settings
              Commands For Modifying User Settings
              Commands For Modifying User Settings

              The next series of questionaire commands are used to modify
              various user settings that are stored in their userfile.
              Normally one would use these commands as the result of the
              user carrying out some specified action so these commands
              are often found following some sort of test.



                               Appendix B - Questionaire Commands      195
                                                                       195
                                                                       195







          SETFLAG <flagnum A-D><flagbit 1-8> <ON/OFF/TOGGLE>
          SETFLAG <flagnum A-D><flagbit 1-8> <ON/OFF/TOGGLE>
          SETFLAG <flagnum A-D><flagbit 1-8> <ON/OFF/TOGGLE>



          This option is used to set the user's flag to a value.  ON
          would turn the user's flag on, OFF would turn the user's
          flag OFF, and TOGGLE would turn the user's flag OFF if it
          was ON, or ON if it was OFF.

          For Example:

          SETFLAG D8 ON

          would set this user's flag D8 to ON.

          SETSECURITY <security>
          SETSECURITY <security>
          SETSECURITY <security>



          SETSECURITY changes the user's current security level to
          that defined in the command.

          For Example:

          SETSECURITY 100

          would set this user's security level to 100. If you set the
          user's security to zero they will immediately by locked
          out.


          SETIGNOREFP <ON/OFF/TOGGLE>
          SETIGNOREFP <ON/OFF/TOGGLE>
          SETIGNOREFP <ON/OFF/TOGGLE>



          SETIGNOREFP sets the file points ignore flag ON or OFF for
          the user.

          For Example:

          SETFP OFF

          would set the file points ignore flag OFF for this user.


          SETANSI <ON/OFF/TOGGLE>
          SETANSI <ON/OFF/TOGGLE>
          SETANSI <ON/OFF/TOGGLE>



          SETANSI sets ANSI graphics ON or OFF for the user.

          For Example:



          196
          196
          196      
                   
                   System Reference






              SETANSI OFF

              would set ANSI graphics OFF for this user.


              SETAVATAR <ON/OFF/TOGGLE>
              SETAVATAR <ON/OFF/TOGGLE>
              SETAVATAR <ON/OFF/TOGGLE>



              SETAVATAR sets AVATAR graphics ON or OFF for the user.

              For Example:

              SETAVATAR TOGGLE

              would turn avatar graphics OFF if it was ON, or ON if it
              was OFF for the user.

              SETFSE <ON/OFF/TOGGLE>
              SETFSE <ON/OFF/TOGGLE>
              SETFSE <ON/OFF/TOGGLE>



              SETFSE sets the ANSI Full Screen Editor ON or OFF for the
              user.

              For Example:

              SETFSE OFF

              would turn off the full screen editor for this user.


              SETRATIO <ON/OFF/TOGGLE>
              SETRATIO <ON/OFF/TOGGLE>
              SETRATIO <ON/OFF/TOGGLE>



              SETRATIO sets the File Ratio Ignore Flag ON or OFF for the
              user.

              For Example:

              SETRATIO ON

              would activate file ratio checking on this user (should the
              system have any).











                               Appendix B - Questionaire Commands      197
                                                                       197
                                                                       197






          SETPOSTCALL <ON/OFF/TOGGLE>
          SETPOSTCALL <ON/OFF/TOGGLE>
          SETPOSTCALL <ON/OFF/TOGGLE>



          SETPOSTCALL sets the Ignore Post Call Ratio Flag ON or OFF
          for the current user on-line.

          For Example:

          SETPOSTCALL TOGGLE

          would set the postcall ratio ON if it was OFF or ON if it
          was already OFF for this user.


          SETMNUTIME <ON/OFF/TOGGLE>
          SETMNUTIME <ON/OFF/TOGGLE>
          SETMNUTIME <ON/OFF/TOGGLE>



          SETMNUTIME sets the Ignore Menu Time Restrictions, that is
          time on-line/start time/end time, ON or OFF for the current
          user on-line.

          For Example:

          SETMNUTIME ON

          would set this user's ignore menu time restriction setting
          to ON.

          SETCOMMENT <var num>
          SETCOMMENT <var num>
          SETCOMMENT <var num>



          SETCOMMENT sets the user's comment field the variable
          number.  Only the first 40 characters of the variable
          number are used.

          For Example:

          SETCOMMENT 1

          would set the user's comment line in the user file to the
          contents of variable 1.












          198
          198
          198      
                   
                   System Reference






              SETGROUP <group> <ON/OFF/TOGGLE>
              SETGROUP <group> <ON/OFF/TOGGLE>
              SETGROUP <group> <ON/OFF/TOGGLE>



              SETGROUP sets the current group (file and message) for the
              user.  <group> is the group letter (A through Z), which you
              wish the command to act on.  Instead of specifying a group,
              "*" can be used to globally set ALL groups ON or OFF
              (TOGGLE is NOT support for Global Group Setting).  The
              second switch (ON|OFF|TOGGLE) sets the user's group to
              either ON or OFF or TOGGLE the group.

              For Example:

              SETGROUP * OFF
              SETGROUP A ON

              This would set all groups off, then set Group A to ON.


              SETTOPMENU <menuname>
              SETTOPMENU <menuname>
              SETTOPMENU <menuname>



              SETTOPMENU sets the user's top menu field to <menuname>.
              Menuname should NOT include the .MNU extension.

              For Example:

              SETTOPMENU TOP

              would set this user's top menu to TOP.

              SETDELETED <ON | OFF | TOGGLE>
              SETDELETED <ON | OFF | TOGGLE>
              SETDELETED <ON | OFF | TOGGLE>



              SETDELETED will set the user's deleted flag as per the
              option after it. If a user is marked as deleted they will
              not be logged off. However next time they call they will
              have to login as a new user and the deleted account will be
              purged during the next run of USERCOMP.

              For Example:

              SETDELETED ON

              would set the user's deleted flag in the user file to On.








                               Appendix B - Questionaire Commands      199
                                                                       199
                                                                       199






          SETTIME + | - | = <#<var num>> | <time>
          SETTIME + | - | = <#<var num>> | <time>
          SETTIME + | - | = <#<var num>> | <time>



          SETTIME allows you to change the user's current time online
          from a questionaire. You can do this be either increasing
          or decreasing their time be a specified value or by giving
          a new value either directly or indirectly through a
          variable. Using this and other commands you could implement
          a time gambling facility on your BBS for instance.

          For Example:

          SETTIME +50
          SETTIME =10
          SETTIME +#25
          SETTIME =#15

          these examples show this command using a direct increase by
          50 mins, a specific time left change to 10 mins, increasing
          time by the value currently in variable 25 and setting the
          time left to the contents of variable 15. (Registered
          Version Only).


          SETFP + | - | = <#<var num>> | <filepoints>
          SETFP + | - | = <#<var num>> | <filepoints>
          SETFP + | - | = <#<var num>> | <filepoints>



          This option works identically the SETTIME option only it
          works on file points.

          For Example:

          SETFP = 10
          SETFP +10

          would increase the user's file points by 10 or set it to
          10. (Registered Version Only).

          SETREGRESET
          SETREGRESET
          SETREGRESET



          SETREGRESET resets the user's registration date to Today's
          Date.  This would typically be used for REGEXP.Q-A.  As the
          user's registration has just expired, his/her registration
          date is then started again, but you would lower his/her
          security level.  So when he/she paid you more money, then
          all you have to do is increase their security level again
          and they are back on target.





          200
          200
          200      
                   
                   System Reference






              For Example: (REGEXP.Q-A)

              DISPLAY "Your Registration has Just Expired|"
              SETREGRESET
              SETVARS "*S" 1
              IF 1 = 10
                   DISPLAY "You didn't re-register... You now have 
                   DISPLAY "hardly any time per day|"
                   SETSECURITY 5
              ELSE
                   SETSECURITY 10
              ENDIF


              SETPAGELOGON <ON | OFF | TOGGLE>
              SETPAGELOGON <ON | OFF | TOGGLE>
              SETPAGELOGON <ON | OFF | TOGGLE>



              SETPAGELOGON allows you to change the Page At Login setting
              for a user in a questionaire. When a user has this option
              set to ON, a short page will be emitted whenever they login
              (good for VIP users).

              For Example:

              SETPAGELOGON ON

              will set this option to on.



              Conditional Branching & Subroutines
              Conditional Branching & Subroutines
              Conditional Branching & Subroutines

              The next series of comands are quite advanced and may take
              a little getting used to if you have no programming
              experience. These commands allow you to write questionaire
              scripts that will take different actions based on some test
              condition as well as allow you to jump about your script as
              required, re-using statements for efficiency.


              :<label>
              :<label>
              :<label>
              GOTO <label>
              GOTO <label>
              GOTO <label>



              Ezycom also allows you to move around a script using GOTOs.
              These are common in BASIC languages.  A GOTO moves the
              current position in the script to the next command after
              the :<label> marker.  If Ezycom finds a :<label> without
              GOTOing to it, it is simply ignored.  The labels are NOT
              case sensitive.




                               Appendix B - Questionaire Commands      201
                                                                       201
                                                                       201






          For Example:

          :JumPiT
          DISPLAY "Enter Something "
          ASK 4 1
          IF 1 = ""
               DISPLAY "Please Enter Something|"
               GOTO jumPIT
          ENDIF

          the above example will keep asking the user to input
          something up to four characters long until they enter
          something other than a blank line (see conditional testing
          - next)


          GOSUB <label>
          GOSUB <label>
          GOSUB <label>
          RETURN [label]
          RETURN [label]
          RETURN [label]



          GOSUB is like GOTO except that a RETURN statement at the
          end of the subroutine returns control to the command on the
          next line after the GOSUB which called it.

          For Example:

          GOSUB test
          DISPLAY "After Gosub|"
          QUIT

          :test
          DISPLAY "In Gosub|"
          RETURN test

          In the previous example, "In Gosub" will be displayed then
          "After Gosub" will be shown on the next line.  Note that
          placing the subroutine name after the RETURN is NOT
          mandatory but is useful for readability.


          IF ... [ELSE] ... ENDIF
          IF ... [ELSE] ... ENDIF
          IF ... [ELSE] ... ENDIF



          This is a very powerful way of manipulating responses from
          the user.  Ezycom's IFs can be up to 65,000 levels deep.
          The ELSE is optional. All IF blocks must eventually be
          terminated by an ENDIF statement else script execution
          results can be unpredictable.






          202
          202
          202      
                   
                   System Reference






              Example 1:

              GETCHOICE XY 1 Y
              SETVARS "Y" 2
              IF 1 = #2
                   DISPLAY "Y Was Entered|"
              ELSE
                   DISPLAY "Y Was Not Entered|"
              ENDIF

              In the above example, the system will wait for either X or
              Y to be inputed (and will default to Y upon enter being
              pressed.  Depending on whether Y was inputted or not, a
              different response will be placed on the screen. IF and
              ELSE blocks may consist of as many statements as you want.

                 Notice how line 3 above compares TWO variables to each
                 Notice how line 3 above compares TWO variables to each
                 Notice how line 3 above compares TWO variables to each
                 other. This is a very powerful comparison feature.
                 other. This is a very powerful comparison feature.
                 other. This is a very powerful comparison feature.

              Example 2:

              SETVARS "X" 1
              IF 1 = "Y"
                   DISPLAY "Y Was Entered|"
              ELSE
                   DISPLAY "Y Was Not Entered|"
                   IF 1 = "X"
                        DISPLAY "X Was Entered|"
                   ELSE
                        DISPLAY "I Can not work it Out|"
                   ENDIF
              ENDIF

              In this example, the output result would be "Y Was Not
              Entered" and on the next line "X Was Entered".  Notice how
              the IF's can be nested ie. consist of many layers. It is
              often useful to use the indenting scheme as above in order
              for you to keep track of which statements belong to which
              level of nesting. This is especially useful when you go
              back to modify a questionaire script some time after you
              wrote it.















                               Appendix B - Questionaire Commands      203
                                                                       203
                                                                       203






          Example 3:

          :JUMPBACK
          GETCHOICE WXY 1
          IF 1 = "Y"
               DISPLAY "Y Was Entered|"
          ELSE
               DISPLAY "Y Was Not Entered|"
               IF 1 = "X"
                    DISPLAY "I actually wanted a W or Y|"
                    GOTO jumpback
               ENDIF
               DISPLAY "W Was Entered|"
          ENDIF

          In this example, the script keeps waiting for the user to
          enter W or Y.  Whenever an X is entered, it jumps back to
          the start for another Choice.

          IFs can also use other testing methods besides the equality
          "=" test.  They can also use "<=", ">=", "<", ">" and "<>"
          which mean less than or equal to, greater than or equal to,
          less than, greater than and not equal to respectively. This
          makes testing possibilities virtually endless.

          Example 4:

          ASK 1 1
          IF 1 <= "M"
               DISPLAY "A letter less than or equal to M was "
               DISPLAY "entered.|"
          ELSE
               DISPLAY "A letter greater than M was entered.|"
          ENDIF


          Example 5:

          IF EXIST C:\AUTOEXEC.BAT
               SETFLAG A1 ON
          ELSE
               SETFLAG A1 OFF
          ENDIF













          204
          204
          204      
                   
                   System Reference






              The previous example introduces a special extention of the
              IF command known as EXIST (Registered Version Only). It
              works in the same way as the DOS batch file command of the
              same name does. The commands tests for the existance of a
              file and takes conditional action on that basis. This
              command could be useful for tripping flags for file area
              access on a system rotating different CDs through drives on
              different days. You could test for the presense of
              identifying files and then set flags to lock out areas that
              are not available due to that CD being offline.

              Ezycom can also do numeric testing.  Simply do NOT place
              quotes around the number you wish to be tested.  If a
              number was expected in the variable, but a letter was
              placed there instead, then Ezycom gives the variable a
              value of 2,000,000,000.  Although no commas can be placed
              in the command.

              Example 6:

              :JUMPBACK
              ASK 4 1
              IF 1 < 2000
                   DISPLAY "The Number was less than 2000.|"
              ELSE
                   IF 1 = 2000000000
                        DISPLAY "Please ENTER a numeric value.|"
                        GOTO jumpback
                   ENDIF
                   DISPLAY "The Number was greater than or equal to "
                   DISPLAY "2000.|"
              ENDIF


              You can also use IF to test whether or not a variable
              contains a numeric value or not. The condition is returned
              TRUE if the variable is a numeric value (contains no
              letters of the alphabet)

              Example 7.

              IF ISNUMERIC 10
                   DISPLAY "Numeric Value"
              ELSE
                   DISPLAY "Not Numeric Value"
              ENDIF

              This again is a registered only feature.








                               Appendix B - Questionaire Commands      205
                                                                       205
                                                                       205






          Miscellaneous Commands
          Miscellaneous Commands
          Miscellaneous Commands

          The remaining commands are also quite useful.


          SETVARS "<text>" <var num>
          SETVARS "<text>" <var num>
          SETVARS "<text>" <var num>



          SETVARS is a special command where you can set any of the
          50 variables (each of maximum 255 characters), to a default
          value.  This value can be anything from a number to a word.
          The <text> field also supports the Ctrl-F/K smart text
          codes.

          Example 1:

          SETVARS "Hi There" 1

          would place "Hi There" in Variable 1.

          Example 2:

          SETVARS "Ctrl-FA" 1

          would place the user's name in Variable 1.


          A special code is available for the SETVARS statement. *E
          is the errorlevel returned from the last Type 7 Shell.  If
          the program to be run in the Type 7 shell could not be
          found to run, then *E will give a value of 65535.

          Example 3:

          MENUCMND 7 TEST.EXE
          SETVARS "*E" 1
          IF 1 = 65535
               DISPLAY "File Not Found|"
          ELSE
               DISPLAY "Errorlevel Returned "
               DISPLAYASW 1
          ENDIF













          206
          206
          206      
                   
                   System Reference






              MENUCMND <option number> [Data]
              MENUCMND <option number> [Data]
              MENUCMND <option number> [Data]



              MENUCMND executes ANY of the menu commands, except for Menu
              Types 12 and 15.  These are used exactly the same as the
              normal menu commands.  Note that Menu Commands are NOT
              allowed in NEWUSER.Q-A.  When using Menu Types 1 through to
              5, Ezycom will NOT execute any automatic menu options in
              those menu until it exits the menu. You can also place
              variables in the data options for a menu command by putting
              % symbols around the variable number.

              For Example:

              MENUCMND 7 *C /C GAME.BAT %1%
              MENUCMND 27 1 /T=Peter_Davies

              In the first example, the %1% would automatically be
              substituted with the current contents of variable 1.  To
              use a normal % sign, simply place two % signs instead of
              one ie. %%.


              QUIT
              QUIT
              QUIT



              QUIT terminates execution of the script IMMEDIATELY.  This
              is useful inside an IF statement or at the end of a GOTO.

              For Example:

              QUIT

              would immediately quit the questionaire.


              GETFLAG <flag> <var num>
              GETFLAG <flag> <var num>
              GETFLAG <flag> <var num>



              GETFLAG will take the status of <flag> and place in to the
              variable <var num>. The result will either be ON or OFF.

              For Example:

              GETFLAG A1 1

              This will set variable 1 equal to 'ON' or 'OFF' depending
              on the status of the A1 flag.





                               Appendix B - Questionaire Commands      207
                                                                       207
                                                                       207






          UNDERSCORE <varnum>
          UNDERSCORE <varnum>
          UNDERSCORE <varnum>



          UNDERSCORE will take the contents of <varnum> and replace
          any spaces in it with underscore characters. This is useful
          if you need to pass command line parameters from a variable
          to a Type 7 menu command for instance.

          For Example:

          SETVARS "This is a test" 1
          UNDERSCORE 1

          would cause the contents of variable 1 to read
          "This_is_a_test"


          RANDOM <#var num>|<range> <var num>
          RANDOM <#var num>|<range> <var num>
          RANDOM <#var num>|<range> <var num>



          RANDOM chooses a random number between 1 and <range> (max
          65536) and places this into <var num>. You can also use a
          variable to specify the range.

          For Example:

          RANDOM 5 1

          would pick a random number between 1 & 5 and place it into
          variable 1.


          CREDITCARD <card var num> <card name var num>
          CREDITCARD <card var num> <card name var num>
          CREDITCARD <card var num> <card name var num>



          This command allows checking of how valid a credit card
          number is. You need to specify the variable number that
          contains the card number you wish to check as well as a
          variable to hold the result of the check. The card
          name/type (either AMEX  DINE, VISA or MCAR) will be
          returned in the second variable. If the number is invalid
          then the variable will be returned blank (ie. no length).











          208
          208
          208      
                   
                   System Reference






              For Example:

              ASK 20 1
              CREDITCARD 1 2
              IF 2 = ""
                   DISPLAY "That is not a valid Credit Card|"
              ELSE
                   DISPLAY "Credit Card Entered is "
              LISTANSWER 2
              ENDIF

              This feature is available in registered versions only.



              ASSIGN <var num> = #<var num> | <value> [+ | - | * | / #
              ASSIGN <var num> = #<var num> | <value> [+ | - | * | / #
              ASSIGN <var num> = #<var num> | <value> [+ | - | * | / #
                                       <var 
                                       <var 
                                       <var      num> .....etc
                                                 num> .....etc
                                                 num> .....etc



              ASSIGN is an extremely useful and powerful command for
              doing mathematical operations on variables within a
              questionaire script. There are many different ways to use
              this command so some examples will best illustrate its
              syntax.

              Example 1:

              ASSIGN 3 = #5

              this assigns the value of variable 5 to variable 3 (so the
              contents of 5 is effectively copied into 3).

              Example 2:

              ASSIGN 3 = 5 * 3 + 5 - 2

              this assigns the result of 5 times 3 plus 5 minus 2 to
              variable 3.

              _________
              Important: Order of operations is as per standard (like

              your calculator would) only brackets CANNOT be used. You
              should use multiple ASSIGN statements to achieve the effect
              of brackets.











                               Appendix B - Questionaire Commands      209
                                                                       209
                                                                       209






          CLEARGOSUBS
          CLEARGOSUBS
          CLEARGOSUBS



          This command quite simply will clear the gosub stack within
          a questionaire so that RETURN commands will no longer have
          any affect.

          Example:

          CLEARGOSUBS


          PAUSE <time in secs>
          PAUSE <time in secs>
          PAUSE <time in secs>



          This command will quite simply allow you to pause the user
          for a specified time (up to 59 seconds). This might be
          useful for forcing a user to read something because the
          system will not allow them to do anything else while it is
          paused.

          Example:

          PAUSE 10

          will pause the user for 10 seconds.




























          210
          210
          210      
                   
                   System Reference








                                                                Appendix C

                                                    External Support Files

              Throughout Ezycom's operation whilst a user is logged in,
              there are many files that Ezycom will check for the
              presence of at different times depending on what the user
              is currently doing. Some of these are used to control
              access behaviour, the rest are used to present sysop
              defined screens to users at appropriate points. Each of
              these is named below along with an explaination of where it
              is used and how.


              External Access Control Files
              External Access Control Files
              External Access Control Files

              The following files are all optional and control various
              types of access to your system.


              TRASHCAN.CTL
              TRASHCAN.CTL
              TRASHCAN.CTL



              This text file contains a list of user names specified by
              you to be unacceptable for use on your system.  Place one
              name per line.  The standard check that Ezycom does is to
              look for the Text you specify within the user's name.  For
              example if you placed 'Sysop' in here it would not be allow
              a user who logged on as 'Fred Sysop' or 'Sysop'.  Whereas
              if you placed a '*' in front of Sysop, for example '*Sysop'
              then 'Fred Sysop' would be allowed to logon, but 'Sysop'
              would not be allowed to logon.

              NOTE: If you are allowing aliases on your system be careful
              they don't use a single name like "John".  If this user was
              to be put in the TRASHCAN.CTL file then any user whose name
              contained "John" as a first or last name would not be able
              to logon the system.  If you do want to stop the single
              word names, make sure you place a '*' in front of the name
              to stop this from happening.


              ALIAS.CTL
              ALIAS.CTL
              ALIAS.CTL



              This file is exactly the same as TRASHCAN.CTL, except that
              it works on Aliases instead of real names.






                              Appendix C - External Support Files      211
                                                                       211
                                                                       211






          PHONENUM.CTL
          PHONENUM.CTL
          PHONENUM.CTL



          This file contains phone numbers or partial phone numbers
          you know to be false or unacceptable.  Place the phone
          numbers one per line.

          For Example:

          12-
          -123-

          Then no user could logon with a phone number that contained
          12-xxx-xxxx or xx-123-xxxx.


          SECCHECK.CTL
          SECCHECK.CTL
          SECCHECK.CTL



          This text file contains names of users (one per line) whom
          you don't want to be forced to do security checks (eg
          birthdate/phone number), should you have them enabled.


          BADFILES.CTL
          BADFILES.CTL
          BADFILES.CTL



          This file contains a list of all the files that are NOT
          allowed to be uploaded to your system. Place one filespec
          per line and wildcards are allowed

          For Example:

          *.GIF
          PKZIP.EXE


          Special Log Files
          Special Log Files
          Special Log Files

          When certain special events take place, Ezycom will create
          special log files to tell you this has occured. Following
          is an explaination of the purpose of these files.


          PHONEDUP.LOG
          PHONEDUP.LOG
          PHONEDUP.LOG



          If a user logs on using a phone number the same as another
          user, then you are notified in this file of the occurrence.
          Eg. John Doe logged on using same phone number as Jane Doe.


          212
          212
          212      
                   
                   System Reference






              ERRORS.LOG
              ERRORS.LOG
              ERRORS.LOG



              If any major internal errors occur, Ezycom will log the
              error to here. Report the details to your nearest support
              site. They may or may not be the result of bugs.


              Graphic Support Files
              Graphic Support Files
              Graphic Support Files

              Listed below are the AVT/ANS/ASC/ASL support files which
              you can define.  All files must reside any/all of the
              appropriate AVT/ANS/ASC/ASL directories.

              *** Means a default prompt will be displayed if the text
              file is not present.


              ALIAS.Axx
              ALIAS.Axx
              ALIAS.Axx



              This file is displayed before the new user enters their
              alias.


              AREAHELP.ASL
              AREAHELP.ASL
              AREAHELP.ASL



              This file is sent to any nodes that request help from the
              EchoArea manager.


              DOBSEC.Axx
              DOBSEC.Axx
              DOBSEC.Axx



              This is displayed before the user is asked for their date
              of birth for logon security verification.


              DOWNHELP.Axx
              DOWNHELP.Axx
              DOWNHELP.Axx



              This file is displayed when the user selects 'H)elp' from
              the download command.







                              Appendix C - External Support Files      213
                                                                       213
                                                                       213






          EDITHELP.Axx
          EDITHELP.Axx
          EDITHELP.Axx



          This file is displayed when the user selects help inside of
          the line editor.


          FLSPHELP.Axx
          FLSPHELP.Axx
          FLSPHELP.Axx



          This file is displayed when the user selects 'H)elp' from
          the file specification (Menu Type 36) search command.

          FLnnnnn.Axx
          FLnnnnn.Axx
          FLnnnnn.Axx



          These files can be implemented if you require Ezycom to
          display a comment/header file before displaying the files
          listed in the file area that the user is about to look at.
          The nnnnn is the file area number and this file should be
          placed in the same path as the file base information for
          the area in question is stored.  So if you want a comment
          header file for file area 10 you would have a file called
          FL00010.ASC placed in the path for area 10's filebase (ie.
          C:\EZY\FILEBASE\AREA1\FL00010.ASC)


          KEYWHELP.ASL
          KEYWHELP.ASL
          KEYWHELP.ASL



          This file is displayed when the user selects 'H)elp' from
          the keyword search command (Menu Type 35).


          LOCKOUT.Axx
          LOCKOUT.Axx
          LOCKOUT.Axx



          This message is displayed when you either lockout a user
          (Alt-L), or a user who has been locked out tries to logon.


          LOGO.Axx
          LOGO.Axx
          LOGO.Axx



          This file is displayed just before the system asks the user
          for their name and password.




          214
          214
          214      
                   
                   System Reference






              MAXPAGE.Axx
              MAXPAGE.Axx
              MAXPAGE.Axx



              This file is displayed if the user exceeds the maximum
              number of pages specified in CONFIG.


              NEWS.Axx
              NEWS.Axx
              NEWS.Axx



              This file is displayed after NEWUSER2.Axx and WELCOME.Axx
              and before the check for waiting mail.


              NEWUSER1.Axx
              NEWUSER1.Axx
              NEWUSER1.Axx



              This file is displayed to a new user when they confirm that
              they have entered their name correctly. This might say
              something like 'Welcome to the system New User'.

              NEWUSER2.Axx
              NEWUSER2.Axx
              NEWUSER2.Axx



              This file is displayed before the NEWUSER.Q-A, but after
              the system questionnaire specified in CONFIG.


              NOTAVAIL.Axx
              NOTAVAIL.Axx
              NOTAVAIL.Axx



              This file is displayed when a user pages outside the paging
              hours defined in CONFIG.


              ONCEONLY.Axx
              ONCEONLY.Axx
              ONCEONLY.Axx



              This file is displayed to all users once and once only.
              Ezycom checks the date on the file and will only display it
              to the user if they have not already seen it. It is
              displayed after the WELCOME screens.








                              Appendix C - External Support Files      215
                                                                       215
                                                                       215






          PAGEABRT.Axx
          PAGEABRT.Axx
          PAGEABRT.Axx



          This file is displayed if the sysop aborts an attempted
          page by the user.


          PAGED.Axx
          PAGED.Axx
          PAGED.Axx



          This file is displayed after the user has paged the sysop
          but before the sysop answers.  This could be something like
          your chat has been noted, the sysop will break in when
          available.


          PAGESTOP.Axx
          PAGESTOP.Axx
          PAGESTOP.Axx



          This file is displayed if the sysop aborts the current page
          and stops all further paging.


          PASSWORD.Axx
          PASSWORD.Axx
          PASSWORD.Axx



          This file is displayed before a user is asked to enter
          their system password.


          PHONESEC.Axx ***
          PHONESEC.Axx ***
          PHONESEC.Axx ***



          This is displayed before the user is asked for their phone
          number for security verification.

          PRIVATE.Axx ***
          PRIVATE.Axx ***
          PRIVATE.Axx ***



          This is displayed to newusers if the newuser security level
          is 0.  It would advise them that the system is a PRIVATE
          system.








          216
          216
          216      
                   
                   System Reference






              PROTHELP.Axx
              PROTHELP.Axx
              PROTHELP.Axx



              This file is displayed when the user presses '?' at the
              list of selectable upload and download protocols.


              REGWARN1.Axx ***
              REGWARN1.Axx ***
              REGWARN1.Axx ***



              This is the last warning before registration runs out as
              defined in CONFIG.


              REGWARN2.AXX ***
              REGWARN2.AXX ***
              REGWARN2.AXX ***



              This is the first warning before registration runs out as
              defined in CONFIG.


              READHELP.Axx
              READHELP.Axx
              READHELP.Axx



              This file is displayed when the user selects help just
              after selecting to Read a message area.


              SECnnnnn.Axx
              SECnnnnn.Axx
              SECnnnnn.Axx



              This file is displayed when a user logs on with nnnnn
              security. For example if a user logged on with security 10,
              then SEC10.A* would be displayed to him/her.


              TIMESLOW.Axx ***
              TIMESLOW.Axx ***
              TIMESLOW.Axx ***



              This is displayed when a user logs in using a slow baud
              rate but is outside the hours this baud rate is allowed.









                              Appendix C - External Support Files      217
                                                                       217
                                                                       217






          TIMESEC.Axx ***
          TIMESEC.Axx ***
          TIMESEC.Axx ***



          This is displayed when a user logs on below the minimum
          logon security, and has not logged on between the low
          security start and end times.


          UPHELP.Axx
          UPHELP.Axx
          UPHELP.Axx



          This file is displayed when the user selects 'H)elp' from
          the upload command.


          WATCHDOG.ASL
          WATCHDOG.ASL
          WATCHDOG.ASL



          This file is sent in a message to a user who has had a
          previous unsuccessful logon.  Typically this message would
          say something along the lines of 'someone has tried to
          logon into your account and failed.  Please change your
          password.'.


          WELCOME.Axx
          WELCOME.Axx
          WELCOME.Axx



          This file is displayed after the user logs on.  You can use
          this file to show the user a colourful display about your
          BBS, welcoming them online.


          WELCOME1.Axx
          WELCOME1.Axx
          WELCOME1.Axx



          This file is displayed after the WELCOME.Axx.  This can be
          used to tell the user more about your system.


          WELCOME2.Axx
          WELCOME2.Axx
          WELCOME2.Axx



          This file is displayed after WELCOME1.Axx.






          218
          218
          218      
                   
                   System Reference






              WELCOMEhh.Axx
              WELCOMEhh.Axx
              WELCOMEhh.Axx



              This file is displayed between 00:00 and 23:00.  You can
              have an individual WELCOME screen displayed every hour. Eg.
              WELCOM11.Axx would be displayed between 11am and midday,
              WELCOM23.Axx would be displayed between 11pm and midnight
              each day.


              Special Control Characters
              Special Control Characters
              Special Control Characters

              These are control characters that can be placed in any of
              your AVT/ANS/ASC/ASL files.  These functions will be
              initiated once the imbedded control character is reached
              within the AVT/ANS/ASC/ASL file.  For example, to show the
              user's name you would have a control code of ^FA (Ctrl-FA).
              To wait for an ENTER key you would have a control code of
              ^A (Ctrl-A).  To display the total system calls you would
              have a control code of ^FA (Ctrl-F A).

              The first set of control characters do not require ^F or ^K
              to precede the required function, but the others require ^F
              or ^K to precede them, as shown.


              ASCII
              ASCII
              ASCII      Ctrl-Code
                         Ctrl-Code
                         Ctrl-Code  Description/Purpose
                                    Description/Purpose
                                    Description/Purpose

              01         ^A         Wait for [Enter] Key to be
                                    Pressed.
              02         ^B         Enable Abort with "S" key
              03         ^C         Disable Abort with "S" key
              04         ^D         Enable "Continue" Prompt
              05         ^E         Disable "Continue" Prompt
              06         ^F         @Insert User Parameter
              07         ^G         Beep at User's End
              08         ^H         Backspace
              09         ^I         Move Forward 8 spaces
              10         ^J         Line Feed
              11         ^K         @Insert System Parameter
              12         ^L         Clear Screen
              13         ^M         Carriage Return
              22         ^W         Pause for One Second
              23         ^V         Reserved for Avatar
              24         ^Y         Reserved for Avatar










                              Appendix C - External Support Files      219
                                                                       219
                                                                       219






          User Parameters - CTRL-F Codes
          User Parameters - CTRL-F Codes
          User Parameters - CTRL-F Codes

          Each of the following codes requires a Control-F followed
          by the indicated code.

          ASCII
          ASCII
          ASCII      Character
                     Character
                     Character  Description/Purpose
                                Description/Purpose
                                Description/Purpose
          Code
          Code
          Code
          65         A          Users Name
          66         B          Location
          67         C          Password
          68         D          Bussiness/Data Phone
          69         E          Voice Phone
          70         F          Date Of Last Call
          71         G          Time Of Last Call
          72         H          Flag A
          73         I          Flag B
          74         J          Flag C
          75         K          Flag D
          76         L          Netmail Credit
          77         M          Messages Posted
          78         N          Date Format (DDMMYY/MMDDYY)
          79         O          Security Level
          80         P          Number Of Calls To BBS
          81         Q          Number Of Uploads (Files)
          82         R          Number Of Uploads (Kilobytes)
          83         S          Number Of Downloads (Files)
          84         T          Number Of Downloads (Kilobytes)
          85         U          User/Sysop Comment
          86         V          Screen Length
          87         W          First Name (Only)
          88         X          ANSI Status (ON/OFF)
          89         W          Continue Status (ON/OFF)
          90         Z          Screen Clearing Status (ON/OFF)
          48         0          Full Screen Editor Status (ON/OFF)
          49         1          Quiet Status - Multi-line (ON/OFF)
          50         2          Extended IBM Char Status (ON/OFF)
          51         3          Time Banked
          52         4          Kilobytes Banked
          53         5          File Points
          54         6          User's Alias
          55         7          Date Of First Call
          56         8          Date Of Birth
          57         9          Subscription Expiry Date
          96         a          Days Till Subscription Expiry
          97         b          AVATAR Status (ON/OFF)
          98         c          Ratio For Files
          99         d          Credit For Files
          100        e          Number Of Files Downloadable Till
                                Ratio Expires







          220
          220
          220      System Reference
                   
                   
                   






              CTRL-F Codes (Continued)


              ASCII
              ASCII
              ASCII      Character
                         Character
                         Character  Description/Purpose
                                    Description/Purpose
                                    Description/Purpose
              Code
              Code
              Code
              101        f          Number Of Files To Upload Till Ratio
                                    Is Even
              102        g          Ratio for Kilobytes
              103        h          Credit For Kilobytes
              104        i          Number of Kilobytes Left Till Ratio
                                    Expires
              105        j          Number Of Kilobytes To Uploads Till
                                    Ratio Is Even
              106        k          Default Protocol
              107        l          Number of Kilobytes For File Points
              108        m          Date Of Last New File Search
              109        n          Post/Call Percentage For Security
              110        o          Credit For Post/Call Ratio
              111        p          Number Of Messages In Front Of
                                    Post/Call Ratio
              112        q          Number Of Messages Behind Post/Call
                                    Ratio
              113        r          Graphics Mode (Verbose)
              114        s          User's Post Call Percentage
              115        t          File Points Awarded Since Last
                                    Session
              116        u          Hold Status Of The User's Mailbox
              117        v          Who The User Is Currently Forwarding
                                    Mail To
              118        w          Mail Check Uses Combined Settings or
                                    Full Check?
              119        x          Maximum Messages Per QWK Bundle
              120        y          Maximum Messages Per QWK Message Area
              121        z          Maximum Days Old For QWK Messages
              33         !          Change Colour To User's Message Quote
                                    Colour
              64         @          Change Colour To User's Message Text
                                    Colour
              35         #          Change Colour To User's Message
                                    Prompt Foreground
              36         $          Change Colour To User's Message
                                    Prompt Background
              37         %          Change Colour To User's Filename
                                    Colour
              94         ^          Change Colour To User's File Size
                                    Colour
              38         &          Change Colour To User's File Date
                                    Colour
              42         *          Change Colour To User's File
                                    Description Colour
              40         (          Change Colour To User's Uploader
                                    Colour
              41         )          RIP Graphics Status (ON/OFF)



                              Appendix C - External Support Files      221
                                                                       221
                                                                       221






          System Parameters - CTRL-K Codes
          System Parameters - CTRL-K Codes
          System Parameters - CTRL-K Codes

          Each of the following codes requires a Control-K followed
          by the indicated code.

          ASCII
          ASCII
          ASCII      Character
                     Character
                     Character  Description/Purpose
                                Description/Purpose
                                Description/Purpose
          Code
          Code
          Code
          65         A          Total System Calls
          66         B          Last Caller (Any Line)
          67         C          Total Number Of Messages On System
          68         D          Number Of Messages In Current
                                Template Area
          69         E          Maximum Kilobytes Downloadable
          70         F          Number Of Times User Has Paged Sysop
          71         G          Day Of Week (Verbose)
          72         H          Total Number Of Users In Userfile
          73         I          Time In 24 Hour Format
          74         J          Today's Date
          75         K          Minutes Connected This Call
          76         L          Number Of Current Template File Area
          77         M          Minutes Used Today (All Calls)
          78         N          Number Of Current Template Message
                                Area
          79         O          Minutes Remaining Today
          80         P          Download Kilobytes Left Today
          81         Q          Daily Time Limit
          82         R          Current Baud Rate
          83         S          Day Of Week (Abbreviated)
          84         T          Daily Download Limit
          85         U          Time Till Next System Event (Minutes)
          86         V          Time Of Next Event (24 Hour Format)
          87         W          Node Number (Multi-line)
          88         X          Disconnect Caller
          89         Y          Name Of Current Message Area Template
          90         Z          Name Of Current File Area Template
          48         0          Time Before Last Invalid Menu Option
                                Can Be Used
          49         1          Start Time For Use Of Last Invalid
                                Menu Option
          50         2          End Time For Use Of Last Invalid Menu
                                Option
          51         3          Number Of Files In Current File
                                Template Area
          52         4          Total Number Of Files On System
          53         5          Number Of New Users Today
          54         6          Number Of New Messages Posted Today
          55         7          Number Of New Files Uploaded Today
          56         8          Total Files On System In Kilobytes
          57         9          Last Caller's Alias
          96         a          Ezycom Version Number
          97         b<hex>     Changes Users Current Colour To <hex>
                                - See Later
          98         c          Number Of Failed Logins Since Last
                                Sucessful Login


                   System Reference
          222
          222
          222      
                   
                   






              ASCII
              ASCII
              ASCII      Character
                         Character
                         Character  Description/Purpose
                                    Description/Purpose
                                    Description/Purpose
              Code
              Code
              Code
              99         d          Number Of Times User Has Called Today
              100        e          The BBS Name
              101        f          The User's Age



















































                              Appendix C - External Support Files      223
                                                                       223
                                                                       223








                                                            Appendix D

                                             Miscellaneous Information



          Sysop Function Keys
          Sysop Function Keys
          Sysop Function Keys

          There are a wide variety of keys available to the sysop
          whilever a user is online to the BBS. The purpose of each
          of these keys will now be explained.

            F1-F6           Toggling between these keys displays
                            complete user information on the status
                            bar at the bottom of the screen.

            F7              Pressing this key displays your custom
                            (if defined in CONFIG) status
                            information. Consult the CONFIG section
                            of this document for more information.

            F8-F9           Provides help on all the ALT and Function
                            keys.

            F10             Turns the status bar on the bottom of the
                            screen off.  Press any of the other
                            Function keys to turn it back on.

            ALT-S           Allows you to change the online user's
                            security level. Note that this freezes
                            the user while you are doing so.

            ALT-C           Brings online users into chat allowing
                            you to "talk" to the user via the
                            keyboard.  Press escape to end the chat
                            mode.  The standard Alt-C brings up the
                            full screen chat if the user has
                            ANSI/AVATAR turned on or the line chat
                            otherwise. To bring up the line chat
                            specifically, press SHIFT at the same
                            time as pressing ALT-C.

            ALT-M           This is very useful feature for when you
                            log on locally.  It allows you to
                            completely edit (page 1) of a user's
                            record while reading mail from that user.
                            You can use this for instance to upgrade
                            a new user after they have sent an
                            introduction message.

            ALT-J           Performs a shell to DOS while the user is
                            on line. Note that they cannot do
                            anything whilst you are shelled out.


          224
          224
          224      
                   
                   System Reference






                ALT-E           Allows modification of Page 1 of the on-
                                line user's settings.

                ALT-P           Toggles whether the user activity should
                                be sent to the printer.

                ALT-D           Toggles the local screen on/off. Use this
                                to control whether you want to see what
                                the user is doing or not.

                ALT-G           Sends an ASCII bell character (character
                                0x07) to the user online to gain their
                                attention.

                ALT-H           Disconnects (hangs up on) the user
                                immediately.

                ALT-N           Displays fake line noise to the user and
                                the local screen.

                ALT-L           Drops the user's security level to zero
                                (0), thereby locking them out of the
                                system and then logs them off. With a
                                special switch on USERCOMP, you can have
                                these names automatically added to your
                                TRASHCAN.CTL file during your
                                maintenance.

                ALT-I           Sends an inactivity timeout message to
                                the user and then logs him/her off.

                ALT-U           Allows you to make up a message to send
                                to the user and then hang them up
                                immediately. Might be something like 'If
                                you cannot be truthful, don't call back!'
                                or 'BBS is going down due to electrical
                                storm!'.

                ALT-X           Allows the sysop to edit certain system
                                parameters for the current session.  The
                                statistics that can be edited are Next
                                Sysop, Minimum Disk Free Space, Swap on
                                Jump to DOS, Swapping Type, Number of
                                Pages, Page Sound, User Ratios and
                                Download Limit.  Note that Type 15 Exits
                                will reset some of these options.

                Up Arrow        Increases the user's time by one minute.

                SHIFT-Up Arrow  Increases user's time by ten minutes.

                Down Arrow      Decreases the user's time by one minute.

                SHIFT-Down Arrow  Decreases user's time by ten minutes.


                           Appendix D - Miscellaneous Information      225
                                                                       225
                                                                       225






          Smart Colour Codes
          Smart Colour Codes
          Smart Colour Codes

          Ezycom supports a colour changes which can be embedded in
          text files or in menus.  CTRL-Kb initiates the colour
          changer and this is followed by a hex code to actually tell
          Ezycom what colour to change to.  The <hex> code is a two
          digit hexadecimal number that indicates the colour to
          change to.  The first digit indicates the background colour
          and whether the foreground colour should be blinking or
          not.  The second digit is the foreground colour.

                 Foreground                  Background

                Colour
                Colour
                Colour
          Hex
          Hex
          Hex                     Hex
                                  Hex
                                  Hex   Colour/Effect
                                        Colour/Effect
                                        Colour/Effect
          Code
          Code
          Code                    Code
                                  Code
                                  Code

                Black
          0                       0     Black
                Blue
          1                       1     Blue
                Green
          2                       2     Green
                Cyan
          3                       3     Cyan
                Red
          4                       4     Red
                Magenta
          5                       5     Magenta
                Brown
          6                       6     Brown
                Light Grey
          7                       7     Light Grey
                Dark Grey
          8                       8     Black + Blinking
                Light Blue
          9                       9     Blue + Blinking
                Light Green
          A                       A     Green + Blinking
                Light Cyan
          B                       B     Cyan + Blinking
          C     Light Red         C     Red + Blinking
                Light Magenta
          D                       D     Magenta + Blinking
          E     Yellow            E     Brown + Blinking
                White
          F                       F     Light Grey +
                                        Blinking


          For Example: CtrlKb07

          Would set the background colour to black (0) and the
          foreground colour to LightGray (7).

          For Example: CtrlKb4F

          Would set the background colour to Red (4) and the
          foreground colour to White (F).

          For Example: CtrlKbCF

          Would set the background colour to Red ((4) + (8) = C) and
          the foreground colour to White Blinking (F)







                   
                   
                   System Reference
          226
          226
          226






              Runtime Errors
              Runtime Errors
              Runtime Errors

              On rare occasions, Ezycom or one of its utilities may exit
              with a runtime error of some sort. This fact will be logged
              to a file called ERRORS.LOG in the Ezycom system directory.
              As the file suggests you should report this error to a beta
              test site if it continues to occur.

              Code
              Code
              Code  Meaning
                    Meaning
                    Meaning                      Meaning
                                                 Meaning
                                                 Meaning
                                           Code
                                           Code
                                           Code

              1     Invalid function             Unknown media type
                                           157
                    number
              2     File not found               Sector not found
                                           158
              3     Path not found               Printer out of paper
                                           159
              4     Too many open files          Device write fault
                                           160
              5     File access denied           Device read fault
                                           161
              6     Invalid file handle          Hardware failure
                                           162
              12    Invalid file access          Division by zero
                                           200
                    code
              15    Invalid drive number         Range check error
                                           201
              16    Cannot remove current        Stack overflow error
                                           202
                    directory
              17    Cannot rename across         Heap overflow error
                                           203
                    drives
              100   Disk read error              Invalid pointer
                                           204
                                                 operation
              101   Disk write error             Floating point overlow
                                           205
              102   File not assigned            Floating point underflow
                                           206
              103   File not open          207   Invalid floating point
                                                 operation
              104   File not open for            Overlay manager not
                                           208
                    input                        installed
              105   File not open for      209   Overlay file read error
                    output
              106   Invalid numeric format       Object not initialized
                                           210
              150   Disk is write-               Call to abstract method
                                           211
                    protected
              151   Bad drive request            Stream registration
                                           212
                    struct length                error
              152   Drive not ready        213   Collection index out of
                                                 range
              154   CRC error in data            Collection overflow
                                           214
                                                 error
              156   Disk seek error

              One needs to use common sense when determining the probable
              cause of an error. If you are lost, use the following as a
              guide:

                 Errors 100, 101, 152, 154, 156, 157, 158 all point to
                 problems in your hard disk either physical of logical
                 that are beyond software control. Reach for your hard
                 disk diagnostic tools at this stage. It may also be
                 helpful to defragment your hard disk after doing so.


                           Appendix D - Miscellaneous Information      227
                                                                       227
                                                                       227







             Errors 2, 4, 5, 6, 12, 16 often point to either SHARE
             not being loaded (in a DOS environment) or insufficient
             file handles being available (increase the FILES=
             settings in CONFIG.SYS)

          The rest of the errors may either point to you having a
          non-existant path defined for use by Ezycom in the CONFIG
          or it could be a bug in Ezycom itself. Please note that bug
          related runtime errors in full release versions are rare.
          Be sure to check this table before blindly reporting your
          problem, it could be your fault rather than Ezycom's.


          Ezycom Errorlevels
          Ezycom Errorlevels
          Ezycom Errorlevels

          When Ezycom exits after a user logs off or due to a type 15
          menu exit, it returns an errorlevel that the batch file you
          ran Ezycom from should trap and act upon.

          The errorlevels Ezycom produces are:


          Errorlevel(s)
          Errorlevel(s)
          Errorlevel(s)  Meaning or Purpose
                         Meaning or Purpose
                         Meaning or Purpose

          0              Normal exit
          1              Set-up error
          2              Software error
          3              Fossil error
          4              Modem Init Error
          5              Echomail Was Entered
          6              Netmail Was Entered
          7              Both Echomail and Netmail
                         Were Entered
          8              Sysop on Next
          9              No Initial Modem Carrier
          10             Fax Connect Received
          11-19          Reserved


















          228
          228
          228      
                   
                   System Reference






              Ezycom Command Line Parameters
              Ezycom Command Line Parameters
              Ezycom Command Line Parameters


              The following is a list of command line parameters that are
              supported by Ezycom.

                -Px             Com port select (1-32).

                -L              Local logon.

                -Bxxxxx         Log user on at baud rate xxxxx (300-
                                38400).

                -Exx            Exit after caller logs off at error level
                                xxx Range is 20-255.

                -S              Set local display to off (no local screen
                                output).

                -D              Disable displaying of the status bar at
                                the bottom of the screen.

                -Fx             Which status bar to display (1-10). This
                                corresponds to the function key you
                                normally press to get it when a user is
                                online.

                -T              Time (in minutes) till next system event.

                -R              Re-logon user after Type 15 exit.

                -Nxxx           Node number if running Multi line.(1-
                                250). This can also be used with the -R
                                parameter when relogging a user back on a
                                Multiline system eg. EZY -R -N2

                -DEBMODEM       This special parameter (for use in
                                standalone mode only) will allow you to
                                see all modem strings that Ezycom is
                                processing when answering the phone etc.
                                This should be used for debugging
                                purposes only.

                -DEBOPT         This will turn on verbose logging when a
                                user is logged into Ezycom. All menu
                                options executed and their parameters etc
                                will be logged to the system log file.
                                However, since this uses a LOT of disk
                                space this option is only useful for
                                finding the cause of problems in your
                                system that are proving difficult to pin-
                                point. Only use it when necessary.




                           Appendix D - Miscellaneous Information      229
                                                                       229
                                                                       229






          Support Services
          Support Services
          Support Services

          Commercial customers should contact Gary Gillard for
          Support using one of the following numbers:

          Mobile Phone   +61-18-351715
          Fax            +61-3-775-0006
          BBS            +61-3-775-0966

          or by post at:

          PO BOX 167
          CHELTANHAM VIC 3192
          AUSTRALIA


          Suggestions/Bug Reports
          Suggestions/Bug Reports
          Suggestions/Bug Reports

          If, you have any suggestions, bug reports or otherwise for
          Ezycom, please feel free to contact the author, Peter
          Davies.

          Be sure to clearly state your suggestion, and a return
          address so that we may get back to you if required.

          Post/Email Addresses:

          Peter Davies        FidoNet:  3:633/152
          PO Box 43           Internet: daviesex@brt.deakin.edu.au
          BENTLEIGH VIC 3204
          AUSTRALIA


          Peter and the Ezycom Development & Beta Test Team can also
          be contacted in the FidoNet echomail conference named
          EC_SUPPORT. This echo is available world wide. The
          conference EC_DEV is also available to assist 3rd party
          Ezycom utility developers with any problems/queries they
          may have.

















          230
          230
          230      
                   
                   System Reference






              INDEX
              INDEX
              INDEX




              @
              @
              @                              K
                                             K
                                             K

              @RESCANNED, 114                kludge lines, 108


              A
              A
              A                              M
                                             M
                                             M

              Active Profile, 34             Msg Board Start, 106


              B
              B
              B                              N
                                             N
                                             N

              break signal, 34               netmail, 94
                                             network number, 92
                                             nodelist, 91
              C
              C
              C                              Normal, 97

              Crash, 94, 97
                                             O
                                             O
                                             O

              D
              D
              D                              options for a Type 7, 161

              Direct, 97
              domain, 92                     P
                                             P
                                             P
              Downlink, 95
              dupe-loop, 100                 pass-thru, 107
                                             point, 92

              E
              E
              E
                                             R
                                             R
                                             R
              echomail, 93
              EchoMail Active, 115           Region, 93
                                             rego date, 29

              F
              F
              F
                                             S
                                             S
                                             S
              Fidonet, 91
                                             scan, 109

              H
              H
              H
                                             T
                                             T
                                             T
              Hold, 97
              hot key, 65                    toss, 110
              Hub, 93                        tossing, 98


              I
              I
              I                              U
                                             U
                                             U

              IEMSI, 22                      Uplink, 95






                                                            Index   231
                                                                    231
                                                                    231






          Z
          Z
          Z

          zone, 92
          zone gate, 111
























































          Index   232
                  232
                  232


