------------------------------------------------------------------------------
AREAFILE

SERVER : getline setline sysvar sysmsg log getflst
SYSVAR : fareas magic_dat sysmsg tempdir boardname phone_no inactive
         inactive0 menu_prg lines loglevel
SYSMSG : yesno password more moretag inactive whfile flnf dlexceed istagged
         listhead tagnames
PURPOSE:

------------------------------------------------------------------------------
AREAMGR

SERVER : getline sysvar log
SYSVAR : mareas fareas feeds inbound sysop areamgr_hlp loglevel
SYSMSG : password search received already
PURPOSE:
------------------------------------------------------------------------------
BBS
SERVER : version getline setline setuser sysvar sysmsg log mailer counter
SYSVAR : mareas files sysmsg sysdir tempdir userdir inactive inactive0
         mailonly logon_scn user_prg chatterm newuser_prg menu_prg mailer_prg
         mailer_cmd logoff_prg bulletin_prg tagnew_prg readmail_prg s_inmail
         s_logon s_user s_idle weekdays months loglevel
SYSMSG : yesno getname badname nameright private mailonly password presskey
         errprog pressesc logoff inactive newmsg nomsg nomail newmail chkmail
         chkfile search skey badname length eol_parity eol_retry weekdays
         months
PURPOSE: If called from a local line, goto bbs. If called from a remote line,
         distinguish between bbs caller and mail caller ( FTSC-001, YooHoo or
         EMSI ) and call mailer if it's a mail call.
         If it's a bbs call, check for mail-only time. If not mail-only,
         show logon_scn, get user name, if new user and not a private system,
         call newuser_prg. Get password, if ok setup current mail and file
         area names. If update_prg exists, exec it. Exec bulletin_prg if that
         exists, check for new mail, new files, new mail to this caller,
         calling relevant programs if user wants to proceed. Finally go into
         a loop calling menu_prg repeatedly until logoff or line dropped.
         Call chat_prg instead of menu_prg if the chat flag is set.

------------------------------------------------------------------------------
BULLETIN

SERVER : getline setline sysvar sysmsg log
SYSVAR : sysmsg sysdir inactive inactive0 menu_prg logoff_prg lines loglevel
SYSMSG : yesno errfile nextbull nobull more logoff inactive
PURPOSE: Reads sysdir_info_bulletin_dat and shows each bulletin named there
         in turn until end of list or user says 'no' in response to 'next
         bulletin' prompt. Bulletins shown are language specific if present,
         or language zero if not. Text is paged according to users 'more' and
         'lines' settings.

------------------------------------------------------------------------------
CALLERS

SERVER : getline sysvar log
SYSVAR : sysdir tempdir
SYSMSG : -
PURPOSE: Maintains a list of the most recent 10 callers in sysdir_info_callers0
         This may be enhanced to produce multi-language files later.
         Ignores callers on line 0 as this is usually sysop.

------------------------------------------------------------------------------
CD

SERVER : -
SYSVAR : -
SYSMSG : -
PURPOSE: Monitor carrier presence by directly reading superHermes. When the
         carrier is lost, kill the bbs job. This caters for line-drop. This
         program will be removed when the superHermes serial driver gets
         a working EOF signal.

------------------------------------------------------------------------------
CHAT

SERVER : getline setline sysvar
SYSVAR : lineinfo
SYSMSG : -
PURPOSE:

------------------------------------------------------------------------------
CHATTERM

SERVER : -
SYSVAR : -
SYSMSG : -
PURPOSE:

------------------------------------------------------------------------------
CLTAG

SERVER : getline setline sysvar sysmsg log
SYSVAR : sysmsg tempdir inactive inactive0 menu_prg logoff_prg loglevel
SYSMSG : yesno presskey logoff inactive yhave ntags cltags done aborted
         notags skey
PURPOSE: Clear a callers taglist on request. Tag lists are cleared after
         logoff, but not after download in case the download failed.

------------------------------------------------------------------------------
DFLIST

SERVER : getline setline sysvar sysmsg log
SYSVAR : sysmsg tempdir inactive inactive0 flist_txt flist_zip xprlog
         menu_prg logoff_prg proto_prg xprdrv weekdays months loglevel
SYSMSG : yesno errfile logoff inactive notrans lgdown dstart weekdays months
PURPOSE: Download the file list. Zipped if present, if not then plain text.
         Prompts for a protocol if the user has never downloaded before.
         Allows logoff after download if required.

------------------------------------------------------------------------------
DIAL

SERVER : setline sysvar log mailer lock unlock quiet
SYSVAR : feeds outmail quiet mailer_prg mailer_cmd tossmail_prg scanmail_prg
         tidytic_prg mailers_prg serial_prg s_outmail s_tidy s_idle weekdays
SYSMSG : aborted search weekdays
PURPOSE:

------------------------------------------------------------------------------
DLFILE

SERVER : getline setline sysvar sysmsg log getflst
SYSVAR : fareas magic_dat sysmsg tempdir inactive inactive0 menu_prg
         sendfile_prg loglevel
SYSMSG : yesno password inactive onefile flnf dlexceed onename
PURPOSE: Download a single file by name or number. If file is passworded, get
         correct password from caller unless user has power 'O' when no
         password is needed. Only allow download if daily limit has not been
         exceeded, unless user has power 'H' (no limits).
         Private files and magic files dont count towards download limit and
         can still be downloaded after limit is exceeded.
         If user has power 'M', the filename may be a complete
         device_directory_filename, try that first. Otherwise names are
         assumed to be a file in the current area, if not found then
         magic_dat is tried. Numbers are always treated as a file in
         current area.

------------------------------------------------------------------------------
DLTAG

SERVER : getline setline sysvar sysmsg log
SYSVAR : fareas files sysmsg tempdir inactive inactive0 xprlog menu_prg
         logoff_prg proto_prg xprdrv privlog weekdays months loglevel
SYSMSG : yesno presskey errfile logoff inactive notrans lgdown dstart notags
         search skey filename protocol filesize estimate atmsg bpsmsg filesmsg
         weekdays months
PURPOSE: Download all tagged files in batch mode, or individually if Xmodem
         or Ascii protocol set.

------------------------------------------------------------------------------
EDITFILE

SERVER : getline setline sysvar sysmsg log
SYSVAR : sysmsg sysdir inactive inactive0 editor menu_prg logoff_prg loglevel
SYSMSG : yesno presskey errfile more logoff inactive skey filename
PURPOSE: Sysop remote file editing ability. Prompts for full filename, allows
         sysop to edit file using picoemacs, writes file back on exit,
         overwriting old version.

------------------------------------------------------------------------------
ENDMAIL

SERVER : getline setline sysvar log
SYSVAR : SYSDIR MENU_PRG
SYSMSG : -
PURPOSE: Wrapper to update last_read values in users mail database.

------------------------------------------------------------------------------
ENTERMSG

SERVER : version getline setline sysvar sysmsg log nodelist
SYSVAR : mareas userdbs sysmsg sysdir tempdir inbound userdir boardname
         phone_no sysop inactive inactive0 user_prg lineditor editor
         localeditor menu_prg logoff_prg tagline_prg loglevel
SYSMSG : yesno private errprog errfile logoff exitmsg optna inactive edctrlz
         linedctrlz subject savemsg msgsaved msgabort msgnotify aborted msgto
         replyto replysubj privmsg netdest select search chattrib sent received
         nouser userkeys warning unlisted contabrt contkeys
PURPOSE: Enter a message. The various types are 'S'ysop, 'E'nter new msg,
         'R'eply to msg, 'U'pdate msg.
         The editor used is 'editor' or 'lineditor' depending on users
         preference. This is overridden if user is using VT52 when lineditor
         is always used.

------------------------------------------------------------------------------
EXECFILE

SERVER : getline setline sysvar sysmsg log
SYSVAR : sysmsg sysdir inactive inactive0 menu_prg logoff_prg loglevel
SYSMSG : yesno presskey errfile more logoff inactive skey filename warning
PURPOSE:

------------------------------------------------------------------------------
EXPORTS

SERVER : sysvar log
SYSVAR : scanlog weekdays
SYSMSG : messages weekdays
PURPOSE:

------------------------------------------------------------------------------
FAREAS

SERVER : getline setline sysvar sysmsg log
SYSVAR : fareas sysmsg inactive inactive0 menu_prg logoff_prg lines loglevel
SYSMSG : yesno presskey errfile more logoff inactive warea select search
         skey invarea
PURPOSE: Show a list of areas the user has access to, and allow change of
         current area.

------------------------------------------------------------------------------
FAXMAIL

SERVER : setline sysvar log
SYSVAR : mareas tempdir qfax text2g3 serial_prg s_idle s_fax weekdays months
         loglevel
SYSMSG : search sent weekdays months
PURPOSE: Allows remote fax transmission. Run after a message had been entered
         into area 'FAXMAIL' (event F) and sends a fax to requested phone
         number. Looks for messages in FAXMAIL area with a subject of 'SEND'
         If found, treats the message as a file to pass to text2g3, and the
         'to' field as a phone number to send the resulting fax to.
         Changes the subject line of the message to record success or failure.

------------------------------------------------------------------------------
FHUNT

SERVER : getline setline sysvar sysmsg log
SYSVAR : fareas files sysmsg inactive inactive0 menu_prg logoff_prg lines
         months loglevel
SYSMSG : yesno presskey more logoff inactive search skey nsearch matchf1
         matchfiles matches months
PURPOSE: Hunt for a (partial) filename. Scans files_bbs for filenames matching
         the supplied name or part-name. Does not use wildcards. Searches
         using INSTR. Lists all matching files. May later allow tagging too.

------------------------------------------------------------------------------
FILEMANAGER

SERVER :
SYSVAR :
SYSMSG :
PURPOSE:

------------------------------------------------------------------------------
FKEYWORD

SERVER :
SYSVAR :
SYSMSG :
PURPOSE:

------------------------------------------------------------------------------
FLIST

SERVER :
SYSVAR :
SYSMSG :
PURPOSE:

------------------------------------------------------------------------------
FORTUNE

SERVER :
SYSVAR :
SYSMSG :
PURPOSE:

------------------------------------------------------------------------------
GRABFAX

SERVER :
SYSVAR :
SYSMSG :
PURPOSE:

------------------------------------------------------------------------------
GRABLFAX

SERVER :
SYSVAR :
SYSMSG :
PURPOSE:

------------------------------------------------------------------------------
HATCH

SERVER :
SYSVAR :
SYSMSG :
PURPOSE: Send a file to feeds. Prompts for file, area and description.
         Needs resident extension CRC32 to be loaded.

------------------------------------------------------------------------------
IMPORTS

SERVER :
SYSVAR :
SYSMSG :
PURPOSE:

------------------------------------------------------------------------------
INDEXDBS

SERVER :
SYSVAR :
SYSMSG :
PURPOSE:

------------------------------------------------------------------------------
INDEXONE

SERVER :
SYSVAR :
SYSMSG :
PURPOSE:

------------------------------------------------------------------------------
INFO

SERVER :
SYSVAR :
SYSMSG :
PURPOSE:

------------------------------------------------------------------------------
LINEDIT

SERVER :
SYSVAR :
SYSMSG :
PURPOSE:

------------------------------------------------------------------------------
LINETIDY

SERVER :
SYSVAR :
SYSMSG :
PURPOSE: Tidy up after a caller. Wait until all lines are idle, then process
         all messages entered. If good logoff, delete 'newmail' file .
         If user uploaded any files, increase download limit. If messages
         entered, increase time-per-day. Every 10th call increase time-per-day.
         Update user details (nr of calls etc.) Process events and events file.
         After a mailer call, run tidytic/tossmail/scanmail/mailers.

------------------------------------------------------------------------------
LISTMAIL

SERVER :
SYSVAR :
SYSMSG :
PURPOSE: List a summary of messages in an area, either from a specified
         message number, or the users last read message in this area.

------------------------------------------------------------------------------
LOCAL

SERVER :
SYSVAR :
SYSMSG :
PURPOSE:

------------------------------------------------------------------------------
LOG

SERVER :
SYSVAR :
SYSMSG :
PURPOSE: Show a screenfull of the most recently logged lines for a channel.
         Run from the line buttons when hit. Needs a HISTORY device.

------------------------------------------------------------------------------
LOGOFF

SERVER :
SYSVAR :
SYSMSG :
PURPOSE:

------------------------------------------------------------------------------
MAILERS

SERVER :
SYSVAR :
SYSMSG :
PURPOSE: Maintains a list of the most recent mailers to call the bbs in a file
         called sysdir_info_mailers0.

------------------------------------------------------------------------------
MAREAS

SERVER :
SYSVAR :
SYSMSG :
PURPOSE: Show a list of areas the user has access to, and allow change of
         current area.


------------------------------------------------------------------------------
MENU

SERVER :
SYSVAR :
SYSMSG :
PURPOSE: Display named menu in specified style and language.
         Add a time-remaining line if user doesnt have unlimited time per day.
         Wait for a keypress available from the menu according to options
         available to the user, then call the relevant program.

------------------------------------------------------------------------------
MINICRON

SERVER :
SYSVAR :
SYSMSG :
PURPOSE:

------------------------------------------------------------------------------
MSGLIMIT

SERVER :
SYSVAR :
SYSMSG :
PURPOSE: Delete messages with delete flag set, plus as many as necessary to
         bring the number of messages in an area down to the size specified
         in mareas_dbs.

------------------------------------------------------------------------------
NEWFILES

SERVER :
SYSVAR :
SYSMSG :
PURPOSE:

------------------------------------------------------------------------------
NEWUSER

SERVER :
SYSVAR :
SYSMSG :
PURPOSE: Create an entry for a new user. Get city, password, terminal type.
         A later version will have multi-language prompts.

------------------------------------------------------------------------------
NEXTAREA

SERVER :
SYSVAR :
SYSMSG :
PURPOSE: Move to next or previous mail or file area that the user has access
         to. Capital letters (MF) move to next area, lower case (mf) move to
         previous area.

------------------------------------------------------------------------------
OLRDOWN

SERVER :
SYSVAR :
SYSMSG :
PURPOSE:

------------------------------------------------------------------------------
OLRPROTO

SERVER :
SYSVAR :
SYSMSG :
PURPOSE:

------------------------------------------------------------------------------
OLRSET

SERVER :
SYSVAR :
SYSMSG :
PURPOSE:

------------------------------------------------------------------------------
OLRTAG

SERVER :
SYSVAR :
SYSMSG :
PURPOSE:

------------------------------------------------------------------------------
OLRUNTAG

SERVER :
SYSVAR :
SYSMSG :
PURPOSE:

------------------------------------------------------------------------------
OLRUPLD

SERVER :
SYSVAR :
SYSMSG :
PURPOSE:

------------------------------------------------------------------------------
OLRUPLD

SERVER :
SYSVAR :
SYSMSG :
PURPOSE:

------------------------------------------------------------------------------
OLRZIP

SERVER :
SYSVAR :
SYSMSG :
PURPOSE:

------------------------------------------------------------------------------
PANEL

SERVER :
SYSVAR :
SYSMSG :
PURPOSE:

------------------------------------------------------------------------------
PE

SERVER :
SYSVAR :
SYSMSG :
PURPOSE:

------------------------------------------------------------------------------
PIPELOG

SERVER :
SYSVAR :
SYSMSG :
PURPOSE:

------------------------------------------------------------------------------
POPULAR

SERVER :
SYSVAR :
SYSMSG :
PURPOSE:

------------------------------------------------------------------------------
PROTO

SERVER :
SYSVAR :
SYSMSG :
PURPOSE: Select a file transfer protocol from the list embedded in the program.
         A later version will read sysdir_info_proto_typ

------------------------------------------------------------------------------
PSERVE

SERVER :
SYSVAR :
SYSMSG :
PURPOSE:

------------------------------------------------------------------------------
QLTERM

SERVER :
SYSVAR :
SYSMSG :
PURPOSE:

------------------------------------------------------------------------------
QUESTION

SERVER :
SYSVAR :
SYSMSG :
PURPOSE:

------------------------------------------------------------------------------
QWK2FIDO

SERVER :
SYSVAR :
SYSMSG :
PURPOSE:

------------------------------------------------------------------------------
RAWDIR

SERVER :
SYSVAR :
SYSMSG :
PURPOSE: Show a raw directory with file sizes, types and datestamps. Needs
         extension keyword XSTAT.

------------------------------------------------------------------------------
READLOG

SERVER :
SYSVAR :
SYSMSG :
PURPOSE:

------------------------------------------------------------------------------
READMAIL

SERVER :
SYSVAR :
SYSMSG :
PURPOSE: Read mail, either 'N'ew since your last call, 'S'earch for messages,
         'T'o you (in user_new file), 'O'ld mail to or from you, new mail to
         'Y'ou since your last call, 'I'ndividual message or read from a
         particular 'M'essage number.
         'M' also allows you to start from the last message you read in this
         area.
         After each message you get the option to Reply Delete Update the
         message, or goto Menu, Next message, or read Continuously (no prompt
         between messages)

------------------------------------------------------------------------------
SCANMAIL

SERVER :
SYSVAR :
SYSMSG :
PURPOSE:

------------------------------------------------------------------------------
SENDFILE

SERVER :
SYSVAR :
SYSMSG :
PURPOSE:

------------------------------------------------------------------------------
SERIAL

SERVER :
SYSVAR :
SYSMSG :
PURPOSE:

------------------------------------------------------------------------------
SETTINGS

SERVER :
SYSVAR :
SYSMSG :
PURPOSE: Show current settings. Which are shown depends on user powers.
         Allow modification of some settings, again depending on user powers.
         Settings are all named in English in this version. A later version
         will allow multi-language setting names.

------------------------------------------------------------------------------
STATISTICS

SERVER :
SYSVAR :
SYSMSG :
PURPOSE: Show users call statistics

------------------------------------------------------------------------------
STATUS

SERVER :
SYSVAR :
SYSMSG :
PURPOSE:

------------------------------------------------------------------------------
TIDYTIC

SERVER :
SYSVAR :
SYSMSG :
PURPOSE: Process a received TIC file, passing the file on to any feeds who
         havent seen it. Does not check CRC as it seems a waste of time!

------------------------------------------------------------------------------
TOPTEN

SERVER :
SYSVAR :
SYSMSG :
PURPOSE: Produce a list of the most frequent up/downloaders. Created from
         entries in users_dbs, creates file sysdir_info_topten0
         A later version will be multi-language.

------------------------------------------------------------------------------
TOSSMAIL

SERVER :
SYSVAR :
SYSMSG :
PURPOSE:

------------------------------------------------------------------------------
ULFILE

SERVER :
SYSVAR :
SYSMSG :
PURPOSE: Allow file upload in Sealink/Zmodem only at present.
         Get a description for each file if not in a private area.
         Allow logoff after upload completed.

------------------------------------------------------------------------------
UNTAG

SERVER :
SYSVAR :
SYSMSG :
PURPOSE:

------------------------------------------------------------------------------
UPDATE

SERVER :
SYSVAR :
SYSMSG :
PURPOSE: Run to get updated details for a user when system requirements
         have changed. Current version gets a terminal type.

------------------------------------------------------------------------------
USAGE

SERVER :
SYSVAR :
SYSMSG :
PURPOSE:

------------------------------------------------------------------------------
USERLIST

SERVER : line number. Defaults to line 0 if not supplied.
SYSVAR : inactive userdbs
SYSMSG : more yesno errfile presskey
PURPOSE: Show names in userlist. A later version will allow selections of
         names.

------------------------------------------------------------------------------
VIEW

SERVER :
SYSVAR :
SYSMSG :
PURPOSE: Pointer driven log viewer for smsq machines (needs HISTORY).
         Scrollable window, print log to file, wake/sleep/resize/move icons.

------------------------------------------------------------------------------
VIEWFILE

SERVER :
SYSVAR :
SYSMSG :
PURPOSE: Sysop remote file viewing ability. Prompts for full filename, allows
         sysop to view file on screen in pages. Use for text files only.

------------------------------------------------------------------------------
YELL

SERVER :
SYSVAR :
SYSMSG :
PURPOSE: Signal to sysop that user wishes to chat. Sound a beeper if within
         times specified by yelltimes, or if no yelltimes defined.
         If sysop hits line button, user will enter chat mode on return to
         next menu, otherwise user is informed sysop is not present.

------------------------------------------------------------------------------
ZIPPER

SERVER :
SYSVAR :
SYSMSG :
PURPOSE:

------------------------------------------------------------------------------
