' $SUBTITLE: 'Arrays passed between various components of RBBS-PC'
' $PAGE
   DEFINT A-Z
'
' The following static arrays are passed between the various subroutines
' within RBBS-PC.
'
    DIM HELP$(9)                      ' Help file names
    DIM LG$(12)                       ' Holds message strings
    DIM MENU$(7)                      ' Menu file names
    DIM SUBDIR$(99)                   ' Download Sub-Dirs
    DIM WORK.ARA$(13)                 ' Temporary work array
' $SUBTITLE: 'Variables passed between various components of RBBS-PC'
' $PAGE
'
' The following variables are passed between the various and
' seperately compiled subroutines used by RBBS-PC.
'
   COMMON SHARED _
          A$, _
          A$(1), _
          A, _
          ABORT, _
          ACKC$, _
          ACKNOWLEDGE$, _
          ACTIVE.BULLETINS, _
          ACTIVE.FMS.DIRECTORY$, _
          ACTIVE.MENU$, _
          ACTIVE.MESSAGE$, _
          ACTIVE.MESSAGE.FILE$, _
          ACTIVE.USER.FILE$, _
          ACTIVE.USER.NAME$, _
          ADD.DIR.SECURITY, _
          ADIM, _
          ADJUSTED.SECURITY, _
          ADVANCE.PROTO.WRITE, _
          ALL.OPTS$, _
          ALLOW.CALLER.TURBO, _
          ALTDIR.EXTENSION$, _
          ALWAYS.STREW.TO$, _
          ANS.INDEX, _
          ANS.MENU$, _
          ARC.WORK$, _
          ASK.EXTENDED.DESC, _
          ASK.IDENTITY, _
          ATTEMPTS.ALLOWED, _
          AUTODOWNLOAD.AVAILABLE, _
          AUTODOWNLOAD.DESIRED, _
          AUTODOWNLOAD.IN.PROGRESS, _
          AUTODOWNLOAD.VERIFIED, _
          AUTO.END, _                      'Autologoff mod
          AUTOPAGE.DEF$, _
          AUTO.LOGOFF!, _
          B$, _
          B$(1), _
          B, _
          BACK.ARROW$, _
          BACKSPACE$, _
          BATCH.PROTO, _
          BATCH.TRANSFER, _
          BAUD.PARITY$, _
          BAUD.RATE.DIVISOR, _
          BAUD.TEST, _
          BAUDOT, _
          BEG.FILE, _
          BEG.LIBRARY, _
          BEG.MAIN, _
          BEG.UTIL, _
          BELL.RINGER$, _
          BG, _
          BLK, _
          BLOCK.SIZE, _
          BLOCKS.IN.FILE#, _
          BPS, _
          BOLD.TEXT$, _
          BORDER, _
          BUFFER.SIZE, _
          BULLETIN.MENU$, _
          BULLETIN.PREFIX$, _
          BULLETIN.SAVE$, _
          BULLETINS.OPTIONAL, _
          BYPASS.MSGS, _
          BYPASS.TIME.CHECK, _
          BYTE.METHOD, _
          BYTES.IN.FILE#, _
          BYTES.TODAY!, _
          C, _
          C.C, _
          C.L, _
          CALLBACK.VERIFICATION, _
          CALLERS.FILE$, _
          CALLERS.FILE.INDEX!, _
          CALLERS.RECORD$, _
          CAN.DOWNLOAD.FROM.UP, _
          CANCEL$, _
          CATEGORY.CODE$(1), _
          CATEGORY.DESC$(1), _
          CATEGORY.NAME$(1), _
          CARRIAGE.RETURN$, _
          CHAT.AVAILABLE, _
          CHECKSUM, _
          CHECK.BULLETIN.LOGON, _
          CI$, _
          CITY.STATE$, _
          CM, _
          CN$, _
          COLOR.RESET$, _
          COM.PORT$, _
          COM.PROGRAM, _
          COMMAND.PROMPT$, _
          COMMAND.TRANSFER$, _
          COMMANDS.BETWEEN.RINGS, _
          COMMANDS.IN.PROMPT, _
          COMMENTS.AS.MESSAGES, _
          COMMENTS.FILE$, _
          COMPORT%, _
          COMMPORT.STACK$, _
          COMPUTER.TYPE, _
          CONFERENCE.MODE, _
          CONFERENCE.MENU$, _
          CONCAT.FILES, _
          CONFIG.FILENAME$, _
          CONFMAIL.LIST$, _
          CR, _
          CRLF$, _
          CURRENT.DATE$, _
          CURRENT.DEF$, _
          CURRENT.PUI$, _
          CURSOR.LINE, _
          CURSOR.ROW, _
          CUSTOM.PUI, _
          DATE.ORDERED.FMS, _
          DAYS.IN.REGISTRATION.PERIOD, _
          DAYS.TO.WARN, _
          DEBUG, _
          DEFAULT.CATEGORY.CODE$, _
          DEFAULT.ECHOER$, _
          DEFAULT.LINE.ACK$, _
          DEFAULT.SECURITY.LEVEL, _
          DELAY!, _
          DELETE.INVALID, _
          DELETED.MESSAGE$, _
          DENY.ACCESS, _
          DF, _
          DF$, _
          DFLTXFER$, _
          DIR.CATEGORY.FILE$, _
          DIR.FILE$, _
          DIR.PROMPT$, _
          DIRECTORY.EXTENTION$, _
          DIRECTORY.PATH$, _
          DIRECTORY.PREFIX$, _
          DISK.FOR.DOS$, _
          DISKFULL.GO.OFFLINE, _
          DISPLAY.AS.UNIT, _
          DLBYTES!, _
          DL.BYTES$, _
          DL.TODAY!, _
          DOORS.AVAILABLE, _
          DOORS.TERMINAL.TYPE, _
          DOS.VERSION, _
          DOSANSI, _
          DOWN.TEMPLATE$, _
          DOWNLOADS, _
          DOWNLOAD.COMPLETED, _                  'AutoLogoff Mod
          DOWNLOAD.DRIVES$, _
          DOWNLOAD.RECORD$, _
          DR.1$, _
          DR.2$, _
          DR.3$, _
          DR.4$, _
          DTR.DROP.DELAY, _
          DUMB.MODEM, _
          DWN.INDEX, _
          EC, _
          ECHOER$, _
          EIGHT.BIT, _
          EL, _
          ELAPSED.TIME, _
          ELAPSED.TIME$, _
          EMPHASIZE.OFF$, _
          EMPHASIZE.OFF.DEF$, _
          EMPHASIZE.ON$, _
          EMPHASIZE.ON.DEF$, _
          EN$, _
          END.OFFICE.HOURS, _
          END.TIME, _
          END.TRANSMISSION$, _
          ENFORCE.UPLOAD.DOWNLOAD.RATIOS, _
          EOL, _
          EPILOG$, _
          ESCAPE$, _
          ESCAPE.INSECURE, _
          EXIT.TO.DOORS, _
          EXPIRATION.DATE$, _
          EXPIRED.SECURITY, _
          EXPECT.ACTIVE.MODEM, _
          EXPERT.USER, _
          EXTENDED.LOGGING, _
          EXTENDED.OFF, _
          F1.KEY, _
          F7.MESSAGE$, _
          F10.KEY, _
          FAILURE.PARM, _
          FAILURE.STRING$, _
          FAKE.XRPT, _
          FALSE, _
          FF, _
          FG, _
          FG.1$, _
          FG.1.DEF$, _
          FG.2$, _
          FG.2.DEF$, _
          FG.3$, _
          FG.3.DEF$, _
          FG.4$, _
          FG.4.DEF$, _
          FILE.COMMANDS$, _
          FILE.NAME$, _
          FILE.NAME.HOLD$, _
          FILE.OPTS$, _
          FILESEC.FILE$, _
          FILESYS.PARAMETER, _
          FIRST.NAME$, _
          FIRST.NAME.PROMPT$, _
          FIRST.NAME.END, _
          FLEN, _
          FLOW.CONTROL, _
          FMS.DIRECTORY$, _
          FORCE.KEYBOARD, _
          FOSSIL, _
          FREE.SPACE$, _
          FREESPACE.UPLOAD.FILE$, _
          FT$, _
          FUNCTION.KEY
COMMON SHARED _
          GET.EXT.DESC, _
          GLOBAL.COMMANDS$, _
          GLOBAL.SYSOP, _
          GO.TO.SHELL, _
          GR, _
          GRN$, _
          HALT.ON.ERROR, _
          HH, _
          HHH, _
          HELP$(), _
          HELP.EXTENSION$, _
          HELP.PATH$, _
          HIDDEN, _
          HIGHLIGHT.OFF, _
          HOME.CONFERENCE$, _
          HOST.ECHO.OFF$, _
          HOST.ECHO.ON$, _
          IN.CONF.MENU, _
          INITIAL.CREDIT#, _
          INTERNAL.EQUIV$, _
          INTERNAL.PROTO$, _
          INTERRUPT.ON$, _
          INVALID.FILE.OPTS$, _
          INVALID.MAIN.OPTS$, _
          INVALID.OPTS$, _
          INVALID.LIBRARY.OPTS$, _
          INVALID.SYS.OPTS$, _
          INVALID.UTIL.OPTS$, _
          KEEP.INIT.BAUD, _
          KEEP.TIME.CREDITS, _
          KERMIT.EXE.FILE$, _
          KERMIT.SUPPORT, _
          KEY.PRESSED, _
          KEY.PRESSED$, _
          KEYBOARD.STACK$, _
          KILL.MESSAGE, _
          LAST.DATE.TIME.ON$, _
          LAST.DATE.TIME.ON.SAVE$, _
          LAST.INDEX, _
          LAST.MESSAGE.READ, _
          LAST.NAME$, _
          LAST.NAME.PROMPT$, _
          LAST.NAME.END, _
          LEN.HASH, _
          LEN.INDIV, _
          LG$(), _
          LIBRARY.ARCHIVE.PATH$, _
          LIBRARY.ARCHIVE.PROGRAM$, _
          LIBRARY.COMMANDS$, _
          LIBRARY.DIRECTORY$, _
          LIBRARY.DIRECTORY.EXTENTION$, _
          LIBRARY.DIRECTORY.PATH$, _
          LIBRARY.DISK.CHAR$, _
          LIBRARY.DRIVE$, _
          LIBRARY.MAX.DISK, _
          LIBRARY.MAX.DIRECTORY, _
          LIBRARY.MAX.SUBDIR, _
          LIBRARY.NODE.ID$, _
          LIBRARY.OPTS$, _
          LIBRARY.SUBDIR.PREFIX$, _
          LIBRARY.TYPE, _
          LIBRARY.WORK.DISK.PATH$, _
          LIMIT.MINUTES.PER.SESSION!, _
          LIMIT.SEARCH.TO.FMS, _
          LINE.25$, _
          LINE.25.HOLD$, _
          LINE.CONTROL.REGISTER, _
          LINE.FEED$, _
          LINE.FEEDS, _
          LINE.STATUS.REGISTER, _
          LINEEDIT.CHK$, _
          LINEMES$, _
          LINES.IN.MESSAGE, _
          LINES.IN.MESSAGE.SAVE, _
          LINES.PRINTED, _
          LIST.DIRECTORY, _
          LIST.INDEX, _
          LIST.NEW.DATE$, _
          LM$, _
          LOCAL.BACKSPACE$, _
          LOCAL.USER, _
          LOCAL.USER.MODE, _
          LOCK.DRIVE, _
          LOCK.FILE.NAME$, _
          LOCK.STATUS$, _
          LOGON.ACTIVE, _
          LOGON.ERROR.INDEX, _
          LOGON.MAIL.LEVEL$, _
          LSB
COMMON SHARED _
          M(2), _
          MACRO.DRVPATH$, _
          MACRO.EXTENSION$, _
          MAIL.WAITING, _
          MAIN.COMMANDS$, _
          MAIN.DIRECTORY.EXTENTION$, _
          MAIN.FMS.DIRECTORY$, _
          MAIN.MESSAGE.BACKUP$, _
          MAIN.MESSAGE.FILE$, _
          MAIN.OPTS$, _
          MAIN.PUI$, _
          MAIN.USER.FILE$, _
          MAIN.USER.FILE.INDEX, _
          MASTER.DIRECTORY.NAME$, _
          MAX.CARRIER.WAIT, _
          MAX.DESC.LEN, _
          MAX.EXTENDED.LINES, _
          MAX.MESSAGE.LINES, _
          MAX.MESSAGE.LINES.DEF, _
          MAX.PER.DAY,_
          MAXIMUM.NUMBER.OF.NODES, _
          MAXIMUM.PASSWORD.CHANGES, _
          MAXIMUM.VIOLATIONS, _
          MENU$(), _
          MENU.INDEX, _
          MENUS.CAN.PAUSE, _
          MESSAGE.DIM.INDEX, _
          MESSAGE.DIM.INDEX.SAVE, _
          MESSAGE.FILE.LOCK, _
          MESSAGE.PASSWORD, _
          MESSAGE.RECORD$, _
          MESSAGE.REMINDER, _
          MIN.NEWCALLER.BAUD, _
          MIN.OLDCALLER.BAUD, _
          MIN.SEC.TO.VIEW, _
          MINIMUM.LOGON.SECURITY, _
          MINIMUM.SECURITY.FOR.TEMP.PASSWORD, _
          MINUTES.IN.DOORS, _
          MINUTES.PER.SESSION!, _
          MLCOM, _
          MMM, _
          MNP.SUPPORT, _
          MODEM.ANSWER.COMMAND$, _
          MODEM.COMMAND.DELAY.TIME, _
          MODEM.CONTROL.REGISTER, _
          MODEM.COUNT.RINGS.COMMAND$, _
          MODEM.GO.OFFHOOK.COMMAND$, _
          MODEM.INIT.BAUD$, _
          MODEM.INIT.COMMAND$, _
          MODEM.INIT.WAIT.TIME, _
          MODEM.OFFHOOK, _
          MODEM.RESET.COMMAND$, _
          MODEM.STATUS.REGISTER, _
          MORE.PROMPT$, _
          MSB, _
          MULTI.LINK.PRESENT, _
          MUSIC, _
          N$, _
          NEGATIVE.ACKNOWLEDGE$, _
          NET.MAIL$, _
          NETBAUD$, _
          NETRELIABLE$, _
          NETWORK.TYPE, _
          NEW.FILES.CHECK, _
          NEW.MESSAGES, _
          NEW.PRIVATE.MSGS.SECURITY, _
          NEW.PUBLIC.MSGS.SECURITY, _
          NEW.USER.BELL, _
          NEW.USER.CASE, _
          NEW.USER.DEFAULT.MODE, _
          NEW.USER.DEFAULT.PROTOCOL$, _
          NEW.USER.GRAPHICS$, _
          NEW.USER.LINE.FEEDS, _
          NEW.USER.MARGINS, _
          NEW.USER.NULLS, _
          NEW.USER.QUESTIONNAIRE$, _
          NEWUSER.FILE$, _
          NEWUSER.SETS.DEFAULTS, _
          NEXT.MESSAGE.RECORD, _
          NG$, _
          NO, _
          NO.ADVANCE, _
          NODE.FILE.ID$, _
          NODE.ID$, _
          NODE.RECORD.INDEX, _
          NODE.WORK.FILE$, _
          NON.STOP, _
          NON.STOP.SAVE, _
          NOT.CTS, _
          NUL$, _
          NULLS, _
          NUM.CATEGORIES, _
          NUM.DNLD.BYTS!, _
          OK, _
          OLD.DAT$, _
          OMIT.MAIN.DIRECTORY$, _
          ONE.STOP, _
          OPT.SEC(1), _
          OPTION.END$, _
          ORIG.CALLERS$, _
          ORIG.COMMANDS$, _
          ORIG.CONFIG$, _
          ORIG.MESSAGE.FILE$, _
          ORIG.USER.FILE$, _
          ORIG.USER.FILE.INDEX, _
          ORIG.USER.NAME$, _
          OVERWRITE.SECURITY.LEVEL, _
          PAGE.LENGTH, _
          PAGE.STATUS$, _
          PAGING.PRINTER.SUPPORT$, _
          PARSE.OFF, _
          PASSWORD$, _
          PASSWORD.SAVE$, _
          PASSWORD.FAILED, _
          PASSWORDS.FILE$, _
          PERSONAL.BEGIN, _
          PERSONAL.CONCAT, _
          PERSONAL.DIR$, _
          PERSONAL.DRVPATH$, _
          PERSONAL.LEN, _
          PERSONAL.PROTOCOL$, _
          PRELOG$, _
          PRESS.ENTER$, _
          PRESS.ENTER.EXPERT$, _
          PRESS.ENTER.NOVICE$, _
          PREV.PUI$, _
          PRINTER, _
          PRIVATE.READ.SEC, _
          PRIVATE.DOOR, _
          PROMPT.BELL, _
          PROMPT.HASH$, _
          PROMPT.INDIV$, _
          PROTO.DEF$, _
          PROTO.MACRO$, _
          PROTO.METHOD$, _
          PROTO.PROMPT$, _
          PUBLIC.READ.SEC, _
          Q, _
          Q!, _
          QUES.PATH$, _
          QUESTIONNAIRE.ABORTED, _
          QUIT.LIST$, _
          QUIT.PROMPT.EXPERT$, _
          QUIT.PROMPT.NOVICE$
COMMON SHARED _
          RATIO.RESTRICTION#, _
          RBBS.BAT$, _
          RBBS.NAME$, _
          RCTTY.BAT$, _
          RECYCLE.TO.DOS, _
          RECYCLE.WAIT, _
          REDIRECT.IO.METHOD, _
          REG.DATE$, _
          REGISTRATION.PROGRAM$, _
          RELIABLE.MODE, _
          REMEMBER.NEW.USERS, _
          REMIND.FILE.TRANSFERS, _
          REMIND.PROFILE, _
          REMOTE.ECHO, _
          REPLY, _
          REQ.8.BIT, _
          REQ.QUES.ANSWERED, _
          REQUIRE.NON.ASCII, _
          REQUIRED.QUESTIONNAIRE$, _
          REQUIRED.RINGS, _
          RESTRICT.BY.DATE, _
          RESTRICT.VALID.CMDS, _
          RET, _
          RET.ERL, _
          RETURN.LINE.FEED$, _
          RIGHT.MARGIN, _
          RTS$, _
          S, _
          SEC.CHANGE.MSG, _
          SECVIO.HLP$, _
          SECONDS.PER.SESSION!, _
          SECTION$, _
          SECTION.OPTS$, _
          SECTION.PROMPT$, _
          SECURITY.LEVEL$, _
          SECURITY.EXEMPT.FROM.EPILOG, _
          SHARE.IT, _
          SHOOT.YOURSELF, _
          SHOW.SECTION, _
          SIZE.OF.STACK, _
          SKIP.FILES.LOGON, _
          SL, _
          SL.CATEGORIZE.UPLOADS, _
          SMART.TABLE$, _
          SMART.TEXT, _
          SMART.TEXT$, _
          SNOOP, _
          SPEED.FACTOR!, _
          SQ, _
          SSS, _
          START.HASH, _
          START.INDIV, _
          START.OF.HEADER$, _
          START.OFFICE.HOURS, _
          START.TIME, _
          STOP.INTERRUPTS, _
          SUB.SECTION, _
          SUBDIR$(), _
          SUBDIR.COUNT, _
          SUBDIR.INDEX, _
          SUBROUTINE.PARAMETER, _
          SURVIVE.NOUSER.ROOM, _
          SWITCH.BACK, _
          SYSOP, _
          SYSOP.ANNOY, _
          SYSOP.AVAILABLE, _
          SYSOP.COMMANDS$, _
          SYSOP.COMMENT, _
          SYSOP.FIRST.NAME$, _
          SYSOP.LAST.NAME$, _
          SYSOP.MENU.SECURITY.LEVEL, _
          SYSOP.NEXT, _
          SYSOP.PASSWORD.1$, _
          SYSOP.PASSWORD.2$, _
          SYSOP.SECURITY.LEVEL, _
          SYSTEM.OPTS$, _
          TALK.TO.MODEM.AT$, _
          TCA!, _
          TEMP.MAX.PER.DAY, _
          TEMP.PASSWORD$, _
          TEMP.REG.PERIOD, _
          TEMP.SECURITY.LEVEL, _
          TEMP.TIME.ALLOWED, _
          TEMP.TIME.LOCK, _
          TEST.PARITY, _
          TESTED.INTEGER.VALUE, _
          TIM$, _
          TIME.CREDITS!, _
          TIME.LOCK, _
          TIME.LOCK.SET, _
          TIME.LOGGED.ON$, _
          TIME.TO.DROP.TO.DOS, _
          TIME.TO.DROP.TO.DOS!, _
          TIMES.LOGGED.ON, _
          TODAY.DL$, _
          TODAY.BYTES$, _
          TOGGLE.ONLY, _
          TRANSFER.FUNCTION, _
          TRANSFER.OPTIONS$, _
          TRASHCAN.FILE$, _
          TRUE, _
          TURBO.KEY, _
          TURBO.KEY.USER, _
          TURBO.RBBS, _
          TURN.PRINTER.OFF, _
          ULBYTES!, _
          UL.BYTES$, _
          UNIT.COUNT, _
          UP.TEMPLATE$, _
          UPCAT.HELP$, _
          UPINC, _
          UPLOAD.DIR.CHECK$, _
          UPLOAD.DIRECTORY$, _
          UPLOAD.DRIVE.FILE$, _
          UPLOAD.PATH$, _
          UPLOAD.RECORD$, _
          UPLOAD.SUBDIR$, _
          UPLOAD.TIME.FACTOR!, _
          UPLOAD.TO.SUBDIR, _
          UPLOADS, _
          UPPER.CASE, _
          USE.BASIC.WRITES, _
          USE.DIR.ORDER, _
          USE.DEVICE.DRIVER$, _
          USE.EXTERNAL.XMODEM, _
          USE.EXTERNAL.YMODEM, _
          USE.TPUT, _
          USER.BLOCK.LOCK, _
          USER.DOWNLOADS$, _
          USER.FILE.INDEX, _
          USER.FILE.LOCK, _
          USER.LOCATION$, _
          USER.LOGON.TIME!, _
          USER.NAME$, _
          USER.OPTIONS$, _
          USER.RECORD$, _
          USER.SECURITY.LEVEL, _
          USER.SECURITY.SAVE, _
          USER.TEXT.COLOR, _
          USER.TRANSFER.DEFAULT$, _
          USER.UPLOADS$, _
          UTIL.COMMANDS$, _
          UTIL.OPTS$, _
          VERSION.ID$, _
          VIOLATION$, _
          VIOLATIONS.THIS.SESSION, _
          WAIT.BEFORE.DISCONNECT, _
          WAIT.EXPIRED, _
          WELCOME.FILE$, _
          WELCOME.FILE.DRV.PATH$, _
          WELCOME.INTERRUPTABLE, _
          WORK.ARA$(), _
          WRAP.CALLERS.FILE$, _
          WRITE.BUF.DEF, _
          WXMODEM.SUPPORT, _
          XFER.SUPPORT, _
          Y$, _
          YES, _
          XOFF$, _
          XOFF.ED, _
          XON$, _
          XON.XOFF, _
          Z$
' $SUBTITLE: 'Functions common to all components of RBBS-PC'
' $PAGE
'
' The following functions may be used by any routine in RBBS-PC
'
' FNOFFON$ returns "Off" if switch is 0, and returns "On" if
' switch is non-zero.

DEF FNOFFON$ (SWITCH) = MID$("OffOn", 1 - 3 * (SWITCH <> 0), 3)

