home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1994 #1 / monster.zip / monster / BBS_UTIL / BFE3100P.ZIP / BFE3100P.EXE / DOCS / BFEREF.DOC < prev    next >
Text File  |  1994-03-12  |  45KB  |  1,008 lines

  1.             ▒▒▒▒▒▄    ▒▒▒▒▒▒▄ ▒▒▒▒▒▒▄
  2.             ▒▒█▀▒▒█ ▒▒█▀▀▀▀ ▒▒█▀▀▀▀
  3.             ▒▒▒▒▒█▀ ▒▒▒▒▒▄    ▒▒▒▒▒▄
  4.             ▒▒█ ▒▒▄ ▒▒█▀▀▀    ▒▒█▀▀▀
  5.             ▒▒▒▒▒█▀ ▒▒█    ▒▒▒▒▒▒▄
  6.              ▀▀▀▀▀     ▀▀     ▀▀▀▀▀▀
  7.  
  8.   ▒▒▒▒▒▒▄ ▒▒▒▒▒▒▄ ▒▒▒▒▒▒▄ ▒▒▒▒▒▒▄ ▒▒▒▒▒▒▄ ▒▒▒▒▒▒▄ ▒▒▒▄▄ ▒▒▄ ▒▒▒▒▒▒▄ ▒▒▒▒▒▒▄
  9.   ▒▒█▀▒▒█ ▒▒█▀▀▀▀ ▒▒█▀▀▀▀ ▒▒█▀▀▀▀ ▒▒█▀▒▒█ ▒▒█▀▀▀▀ ▒▒█▒▒█▒▒█ ▒▒█▀▀▀▀ ▒▒█▀▀▀▀
  10.   ▒▒▒▒▒█▀ ▒▒▒▒▒▄  ▒▒▒▒▒▄  ▒▒▒▒▒▄  ▒▒▒▒▒█▀ ▒▒▒▒▒▄  ▒▒█ ▀▒▒▒█ ▒▒█     ▒▒▒▒▒▄
  11.   ▒▒█▀▒▒▄ ▒▒█▀▀▀  ▒▒█▀▀▀  ▒▒█▀▀▀  ▒▒█▀▒▒▄ ▒▒█▀▀▀  ▒▒█    ▒▒█ ▒▒█     ▒▒█▀▀▀
  12.   ▒▒█ ▒▒█ ▒▒▒▒▒▒▄ ▒▒█      ▒▒▒▒▒▒▄ ▒▒█ ▒▒█ ▒▒▒▒▒▒▄ ▒▒█    ▒▒█ ▒▒▒▒▒▒▄ ▒▒▒▒▒▒▄
  13.    ▀▀  ▀▀  ▀▀▀▀▀▀  ▀▀       ▀▀▀▀▀▀  ▀▀  ▀▀  ▀▀▀▀▀▀  ▀▀     ▀▀  ▀▀▀▀▀▀  ▀▀▀▀▀▀
  14.  
  15.            ▒▒▒▒▒▒▄ ▒▒▄ ▒▒▄ ▒▒▄ ▒▒▒▒▒▄  ▒▒▒▒▒▒▄
  16.            ▒▒█▀▀▀▀ ▒▒█ ▒▒█ ▒▒█ ▒▒█▀▒▒█ ▒▒█▀▀▀▀
  17.            ▒▒█▒▒▒▄ ▒▒█ ▒▒█ ▒▒█ ▒▒█ ▒▒█ ▒▒▒▒▒▄
  18.            ▒▒█ ▒▒█ ▒▒█ ▒▒█ ▒▒█ ▒▒█ ▒▒█ ▒▒█▀▀▀
  19.            ▒▒▒▒▒▒█ ▒▒▒▒▒▒█ ▒▒█ ▒▒▒▒▒█▀ ▒▒▒▒▒▒▄
  20.             ▀▀▀▀▀▀  ▀▀▀▀▀▀  ▀▀    ▀▀▀▀▀    ▀▀▀▀▀▀
  21.  
  22.          ┌──────────────────────────────────────┐
  23.              ▓███│  v3.10.0   Release Date 12 Mar 1994  │▓███
  24.          └──────────────────────────────────────┘
  25.       (C)opyright 1992-1994 Southeastern DataLINK, All Rights Reserved
  26.           7088 Stoneybrook Drive, Columbus, Georgia 31909
  27.  
  28. ─────────────────────────────────────────────────────────────────────────────
  29.     █▌▐█  █▀▀ ▐█▌▐▌ █ █       ▀█▀ █ █ █▀█ █▀▀       █▀▀    █ █  █    █▀▄  █▀▀
  30.     █▐▌█  ██  ▐▌▌▐▌ █ █        █   █  █▀▀ ██       █ ▄▄ █ █  █    █ █  ██
  31.     █  █▌ █▄▄ ▐▌███ █▄█▌       █▌  █▌ █▌  █▄▄       █▄▄▌ █▄█▌ █▌ █▄█▌ █▄▄
  32. ─────────────────────────────────────────────────────────────────────────────
  33.  
  34.  TYPE: E
  35.  DESC: Errorlevel Exit (Lower DTR)
  36.  SCRIPT: ErrorLevelLow();
  37.  SECONDARY CONTAINS: Valid numeric DOS errorlevel (5-255)
  38.  
  39.  
  40.  Specifying an "E" as the type will cause BFE to exit back to the calling
  41.  batch file with an errorlevel.  This is perhaps one of the more powerful
  42.  types, as it provides virtually unlimited possibilities.  Simply place the
  43.  errorlevel you wish to exit with in the SECONDARY FIELD.  As an example,  you
  44.  could call one BBS with an errorlevel of 100, and another one with an
  45.  errorlevel of 101, etc.  Basically, as long as you trap the errorlevel in
  46.  your calling batch file, you could do practically anything! This menu type
  47.  will lower the DTR of the modem, and hang up on the current user.
  48.  
  49. ─────────────────────────────────────────────────────────────────────────────
  50.  
  51.  TYPE: 2
  52.  DESC: Errorlevel Exit/DTR HIGH/LU
  53.  SCRIPT: ErrorLevelHi();
  54.  SECONDARY CONTAINS: Valid numeric DOS errorlevel (0-255)
  55.  
  56.  
  57.  This menu type is similar to the menu type "E" above, with one exception: The
  58.  DTR of the modem will remain high.  This comes in handy when running BFE as a
  59.  normal door, allowing the user to exit BFE, but return to your BBS or host
  60.  software.  This menu type will also generate a LASTUSER.nnn file in the IPC
  61.  directory.
  62.  
  63. ─────────────────────────────────────────────────────────────────────────────
  64.  
  65.  TYPE: 6
  66.  DESC: Errorlevel Exit (DTR High/no LU)
  67.  SCRIPT: ErrorLevelHiNOLU();
  68.  SECONDARY CONTAINS: Valid numeric DOS errorlevel (0-255)
  69.                          
  70.  This menu type is similar to the menu type "2" above, with one exception:
  71.  no LASTUSER.nnn file is generated in the IPC directory.
  72.  
  73. ─────────────────────────────────────────────────────────────────────────────
  74.  
  75.  TYPE: R
  76.  DESC: Run an External Process
  77.  SCRIPT: RunExternal();
  78.  SECONDARY CONTAINS: Path/filename of external program or batch file
  79.  
  80.  Specifying an "R" as the type will cause BFE to execute (run) an external
  81.  process.  This is also an incredibly powerful option, in very much the same
  82.  way as the "E" type.  The benefit of using "R" over "E" is simple:  You don't
  83.  have to fiddle with the calling batch file and trapping the errorlevels.  In
  84.  addition, if the PASSPARMS (described later) option is enabled, BFE will pass
  85.  the communication parameters on the command line for you.  This feature is
  86.  unavailable in an "E" type errorlevel exit!  BFE will attempt to swap itself
  87.  out to memory or disk first, to ensure that you have as much memory as
  88.  possible to call your task.  If you wish to run a program that requires
  89.  command line parameters or switches, you can do this in one
  90.  of two ways.  You can place all of the switches in a batch file, and have BFE
  91.  call the batch file, or you can make use of the PROCESS field, and its
  92.  macros.  Your call!
  93.  
  94.  Simply place the name of the external process in the SECONDARY FIELD.    You
  95.  may specify the full path, or just the filename if it resides in your path or
  96.  the BFE directory.
  97.  
  98.  ** NOTES:  We cannot stop expressing the sheer power of this type!  You can
  99.  use this to call bulletin doors, message entry doors, Doorway, etc.  BFE
  100.  works especially well with RegPRO, our full screen online entry form system!
  101.  :-) It is possible to call a program such as Marshall Dudley's Doorway(tm).
  102.  In fact, this has been tested and confirmed by several BFE corporate beta
  103.  sites.  Since BFE passes the port and baud rate to any external processes, it
  104.  is a cinch.
  105.  
  106.  If you experience problems running certain programs via this option, your
  107.  command line parameters may not be coming across as you think they are. We
  108.  have included a small program called CMDLINE.EXE, which allows you to "test"
  109.  your command lines from BFE.  Simply run this program instead of the program
  110.  in question, and the command line parameters passed to the program will be
  111.  displayed on your screen.
  112.  
  113. ─────────────────────────────────────────────────────────────────────────────
  114.  
  115.  TYPE: P
  116.  DESC: Page Sysop
  117.  SCRIPT: Page();
  118.  SECONDARY CONTAINS: N/A
  119.  
  120.  
  121.  When the user selects a menu option which has been labeled as a type "P", BFE
  122.  initiates the sequence of events leading to a chat session with the sysop or
  123.  current operator.  BFE first checks the paging hours as configured in
  124.  BFE/Setup (Global Options), and if valid, will prompt the user for a "reason
  125.  to chat".  If the user simply hits ENTER, then the page attempt is aborted.
  126.  If the user enters a reason, BFE will begin to page the sysop.  You can break
  127.  in to chat by pressing CTRL-C at any time.  The reason for chat is also
  128.  placed into the BFE log file if logging has been enabled.
  129.  
  130.  If the user has ANSI or AVATAR graphics mode enabled, BFE will utilize the
  131.  internal full screen chat mode.  The screen will be split into two
  132.  partitions, with the user's comments appearing in the top window, and the
  133.  sysop's comments appearing in the bottom window, each in the respective color
  134.  as reflected in BFE/Setup.  If the user is using vanilla ASCII/TTY mode, the
  135.  old line chat mode will be initiated.
  136.  
  137.  While in the full screen chat mode, pressing ESC twice on the sysop end will
  138.  return the user to BFE.
  139.  
  140. ─────────────────────────────────────────────────────────────────────────────
  141.  
  142.  TYPE: N
  143.  DESC: Page Sysop (NOW!)
  144.  SCRIPT: PageNow();
  145.  SECONDARY CONTAINS: N/A
  146.  
  147.  This menu item type functions the same as the type "P" above, with one
  148.  exception:  No time checks are performed against the configured paging hours
  149.  from BFE/Setup.  This menu type will *always* initiate a page.
  150.  
  151. ─────────────────────────────────────────────────────────────────────────────
  152.  
  153.  TYPE: P
  154.  DESC: Play ANSI Music String (Remote Only!)
  155.  SCRIPT: PlayMusic()
  156.  SECONDARY CONTAINS: ANSI music string
  157.  
  158.  For those who are interested in implementing ANSI music / sounds in their
  159.  frontend setups, this function is for you.  This menu type will play ANSI
  160.  music / sounds on the remote system, and not echo the music on the local
  161.  speaker. This is usually alright, as most often the sysop would not want
  162.  their computer emitting beeps and playing music at all hours of the day.
  163.  Future additions for supporting the local speaker may be in order.  It can be
  164.  called with a string of 1 to 250 characters.  The characters of the string
  165.  define what sounds should be played:
  166.  
  167.     A - G    Musical Notes
  168.     # or +    Following A-G note means sharp
  169.     -        Following A-G note means flat
  170.     <        Move down one octave
  171.  
  172.     >        Move up one octave
  173.  
  174.     .        Period acts as dotted note (extend note duration by 3/2)
  175.     MF        Music Foreground (pause until finished playing music)
  176.     MB       Music Background (continue while music plays)
  177.     MN       Music note duration Normal (7/8 of interval between notes)
  178.     MS        Music note duration Staccato
  179.     ML        Music note duration Legato
  180.     Ln          Length of note (n=1-64, 1=whole note, 4=quarter note, etc)
  181.     Pn          Pause length (same n values as Ln above)
  182.     Tn          Tempo, n=notes/minute (n=32-255, default n=120)
  183.     On          Octave number (n=0-6, default n=4)
  184.  
  185.    As an example of using this menu type/function, consider the following:
  186.  
  187.  PlayMusic("MBT120L4MFMNO4C8C8DCFE2C8C8DCGF2C8C8O5CO4AFED2T90B-8B- 8AFGF2");
  188.  PlayMusic("00m");
  189.  
  190.  Which plays the tune "Happy Birthday". :-)  Look for a collection of these
  191.  tunes coming soon!
  192.  
  193. ─────────────────────────────────────────────────────────────────────────────
  194.  
  195.  TYPE: A
  196.  DESC: Toggle ANSI Graphics
  197.  SCRIPT: ToggleANSI();
  198.  SECONDARY CONTAINS: N/A
  199.  
  200.  This menu type merely allows the current user to switch BFE in and out of
  201.  ANSI graphics mode.  This option can also be toggled from BFE/Script, via the
  202.  TOGGLEANSI() function.
  203.  
  204. ─────────────────────────────────────────────────────────────────────────────
  205.  
  206.  TYPE: 3
  207.  DESC: Toggle RIP Graphics
  208.  SCRIPT: ToggleRIP();
  209.  SECONDARY CONTAINS: N/A
  210.  
  211.  This menu type merely allows the current user to switch BFE in and out of RIP
  212.  graphics mode.  This option can also be toggled from BFE/Script, via the
  213.  TOGGLERIP() function.
  214.  
  215. ─────────────────────────────────────────────────────────────────────────────
  216.  
  217.  TYPE: 4
  218.  DESC: Toggle MORE Graphics
  219.  SCRIPT: ToggleMORE();
  220.  SECONDARY CONTAINS: N/A
  221.  
  222.  This menu type merely allows the current user to switch BFE in and out of
  223.  MORE prompting mode.  When BFE displays a file longer than the screen
  224.  length, a "more" system of prompting is utilized.  This is great if the user
  225.  is browsing through some informative text file, but not too hot if you are
  226.  trying to show ANSI animations, or RIP scenes, which may be quite a big
  227.  larger.  This option can also be toggled in BFE/Script, via the ToggleMore()
  228.  function.
  229.  
  230. ─────────────────────────────────────────────────────────────────────────────
  231.  
  232.  TYPE: O
  233.  DESC: Shell to Operating System
  234.  SCRIPT: OS_Shell();
  235.  SECONDARY CONTAINS: N/A
  236.  
  237.  For those of you wish to drop to DOS from remote, this is the one!  Simply
  238.  place an O as the type.  BFE will make use of the COMSPEC enviroment variable
  239.  to locate your command processor (COMMAND.COM, 4DOS.COM, etc).  To return to
  240.  BFE, simply type exit at your command prompt.
  241.  One note is in order here. You may run any program you desire from remote,
  242.  once you are in the OS shell.    However, keep in mind that unless the program
  243.  supports DOS routing, then you will not see any output on your screen.  Most
  244.  command line utilities will work just fine, as well as the internal DOS
  245.  commands, however, things like Windows, PC-Tools, etc will not function
  246.  properly, and will more than likely lock your system.    If you enable your
  247.  fossil watchdog, you should be fine in the event you get hung up.  Check your
  248.  fossil documentation for more information on the watchdog services.
  249.  
  250.  With the inherent power that arrives by shelling to your OS from remote,  you
  251.  should always password protect this option!
  252.  
  253. ─────────────────────────────────────────────────────────────────────────────
  254.  
  255.  TYPE: D
  256.  DESC: Display a File (ANSI/ASCII/AVATAR/RIP)
  257.  SCRIPT: DisplayFile();
  258.  SECONDARY CONTAINS: Path/filename of file (extension optional)
  259.  
  260.  
  261.  This nifty type will allow you to display an ANSI, ASCII, AVATAR, or RIP file
  262.  to the user.  To use this option, simply place the filename of the file to be
  263.  displayed in the SECONDARY FIELD.  If you do not specify an extension, then
  264.  BFE will look for the filename which corresponds to the user's graphic
  265.  settings.  For example, you could create four different screens for your
  266.  WELCOME screen:
  267.  
  268.      WELCOME.ASC
  269.      WELCOME.ANS
  270.      WELCOME.AVT
  271.      WELCOME.RIP
  272.  
  273.  In the above example, simply using the filename alone, with no extension, BFE
  274.  would display the appropriate file.  BFE will "drop down" one level, and
  275.  attempt to display *something*.  For instance, if the user was RIP capable,
  276.  and BFE could not locate a RIP version of your file, he will attempt to
  277.  display the .AVT (AVATAR) version, then the .ANS (ANSI) version, and so on.
  278.  
  279.  You may also specify the extension, if you only want one file to be used,
  280.  such as MYFILE.TXT.  You may specify a full path, or just the filename if the
  281.  file is in the BFE directory.
  282.  
  283.  By default, BFE will automatically engage "more prompting" when displaying
  284.  screens that are over 1 screen in length, except for when in RIP mode. This
  285.  setting is toggable via the ToggleMore() function in BFE/Script (More later).
  286.  
  287.  ** NOTE: BFE "interprets" the file as it is being displayed to the COM port.
  288.  It is capable of interpretting embedded system codes used by RemoteAccess.
  289.  For more information on these codes, please refer to your RA documentation.
  290.  More embedded code schemes, such as WildCat! and PCBoard will be added in
  291.  future releases.
  292.  
  293. ─────────────────────────────────────────────────────────────────────────────
  294.  
  295.  TYPE: 5
  296.  DESC: FlashFile
  297.  SCRIPT: FlashFile();
  298.  SECONDARY CONTAINS: Path/filename of file to be displayed
  299.  
  300.  
  301.  Functions the same as the type "D" above, but with no page pausing.
  302.  
  303. ─────────────────────────────────────────────────────────────────────────────
  304.  
  305.  TYPE: F
  306.  DESC: Download a File
  307.  SCRIPT: DownloadFile();
  308.  SECONDARY CONTAINS: Path/filename of file to be downloaded
  309.  
  310.  This type will allow the user to download a file (ratio free) from BFE,
  311.  without having to log onto your BBS first.  This is particularly handy,
  312.  especially if you are a shareware author, as you can offer the latest
  313.  versions of your products up front.  Trust me when I say that your long
  314.  distance users will admire you for this!  Simply place the filename to be
  315.  downloaded in the SECONDARY FIELD.  You may specify a full path, or just the
  316.  filename if the file is in the BFE directory.
  317.  
  318.  When the user selects this option, BFE will present a list of available
  319.  protocols (configured via the PROTOCOL EDITOR in BFE/Setup).
  320.  
  321. ─────────────────────────────────────────────────────────────────────────────
  322.  
  323.  TYPE: U
  324.  DESC: Upload a File
  325.  SCRIPT: UploadFile();
  326.  SECONDARY CONTAINS: N/A
  327.  
  328.  This menu type is very similar to the type "F" above, only it allows your
  329.  users to upload files to your system rather than downloading them.  In
  330.  addition, if the protocol in which the user has selected has been setup to
  331.  "Prompt for Filename", then BFE will prompt for this information, and pass it
  332.  to the protocol dispatcher (once again, configured in the PROTOCOL EDITOR in
  333.  BFE/Setup).
  334.  
  335. ─────────────────────────────────────────────────────────────────────────────
  336.  
  337.  TYPE: M
  338.  DESC: Download file from a list
  339.  SCRIPT: DownloadList();
  340.  SECONDARY CONTAINS: Path of FILES.BBS to use for listing
  341.  
  342.  
  343.  This type is very similar to the "F" type, with one exception.  Instead of
  344.  downloading a specific file, the user will be presented with a list of the
  345.  available files, from which he/she may choose the file to be downloaded.  In
  346.  order to use this type, a "files list" must be created, and the full path to
  347.  the list must be placed in the SECONDARY FIELD.
  348.  
  349.  This list should be in the following format:
  350.  ---------------------------[ CUT HERE! ]---------------------------------
  351.  
  352.          Southeastern DataLINK Free File List
  353.  
  354.  D:\FILES\AVLAB100.ZIP AVLab v1.0 - Antiviral Researcher's Toolkit!
  355.  D:\FILES\RCS10A.LZH   Netmail Robot Construction Set v1.0a
  356.  D:\FILES\RP_260.LZH   RegPRO v2.60 - The Premier Questionnaire Door!
  357.  D:\FILES\TBM_250.LZH  Turbo Bulletin Manager Door v2.50
  358.  D:\FILES\VID201.ZIP   VID v1.10 - Virus Information Door
  359.  D:\FILES\VP0793.ZIP   Updated VID Virus Database - as of March 1993
  360.  D:\BETA\RP_300B.LZH   Beta version of the upcoming RegPRO 3.0 release!
  361.  
  362.  ---------------------------[ CUT HERE! ]---------------------------------
  363.  
  364.  As you can see, this is a modified version of the standard FILES.BBS, with
  365.  the only difference being that the full path to each file needs to be
  366.  present. This provides a nifty way of pulling files from all over your system
  367.  to a single file download menu.  In this way, you need not use any of the
  368.  FILES.BBS files that your BBS uses, you can create a custom one and place it
  369.  in another directory, such as the BFE directory.  Any line which does not
  370.  start in column one is considered a comment line, and will be displayed in
  371.  the appropriate attribute (as configured in BFE/Setup).
  372.  
  373.  All that is needed in the secondary field is the PATH to the FILES.BBS, not
  374.  the entire path/filename.  The name FILES.BBS is assumed.
  375.  
  376.  Once again, the user will be presented with a list of available protocols
  377.  which are defined in the PROTOCOL EDITOR.
  378.  
  379. ─────────────────────────────────────────────────────────────────────────────
  380.  
  381.  TYPE: J
  382.  DESC: Jump to another menu (.CTL file)
  383.  SCRIPT: N/A
  384.  SECONDARY CONTAINS: Path and filename of new .CTL file
  385.  
  386.  
  387.  Through the use of the "J" type, you can have BFE call a completely different
  388.  .CTL file!  This is handy when you need to group several options together:
  389.  
  390.    For example:
  391.                Top Menu (MAIN.CTL)
  392.                -       -
  393.                -       -
  394.     Sysop Menu (SYS.CTL)<---       ----> Product Info (PROD.CTL)
  395.  
  396.  Menus can be nested up to 10 levels.  If you try to go beyond this, BFE will
  397.  simply post a warning message and re-display the current active menu.
  398.  Although we feel that 10 levels of menu nesting is quite adequate for a BBS
  399.  front end, this will more than likely become limited only by available memory
  400.  in the future.
  401.  
  402. ─────────────────────────────────────────────────────────────────────────────
  403.  
  404.  TYPE: X
  405.  DESC: Return from a jump
  406.  SCRIPT: N/A
  407.  SECONDARY CONTAINS: N/A
  408.  
  409.  Use this option to provide a method of returning from a subordinate .CTL file
  410.  menu back to the .CTL file menu that called it.
  411.  
  412. ─────────────────────────────────────────────────────────────────────────────
  413.  
  414.  TYPE: T
  415.  DESC: Return to main menu
  416.  SCRIPT: N/A
  417.  SECONDARY CONTAINS: N/A
  418.  
  419.  This menu type simply provides a hook from returning to the original .CTL
  420.  file menu (i.e. the one that BFE started with initially), from any level of
  421.  nesting.  A short cut, if you will.
  422.  
  423. ─────────────────────────────────────────────────────────────────────────────
  424.  
  425.  TYPE: S
  426.  DESC: Run a BFE Script Program
  427.  SCRIPT: N/A
  428.  SECONDARY CONTAINS: Path and filename of script to execute
  429.  
  430.  BFE has an internal script processor called BFE/Script.  You can create
  431.  scripts to do just about anything!  An overview of the BFE/Script system
  432.  appears later in this manual.
  433.  
  434. ─────────────────────────────────────────────────────────────────────────────
  435.  
  436.  TYPE: L
  437.  DESC: Enter a Message (*.MSG format)
  438.  SCRIPT: LeaveMsgSDM();
  439.  SECONDARY CONTAINS: Number of message area to use
  440.  
  441.  BFE contains an internal line editor called BFE/Edit.    You may configure any
  442.  of your menu options to have the user enter a message through the use of the
  443.  internal editor.  The secondary field should contain the "number" of the
  444.  message area to use.  This number corresponds directly to the list of message
  445.  areas which appears by selecting MESSAGE BASES from the main menu of
  446.  BFE/Setup.
  447.  
  448. ─────────────────────────────────────────────────────────────────────────────
  449.  
  450.  TYPE: B
  451.  DESC: Enter a Message (Squish format)
  452.  SCRIPT: LeaveMsgSQ();
  453.  SECONDARY CONTAINS: Number of message area to use
  454.  
  455.  Functions identically to the type "L" menu type (above), but uses Squish
  456.  compatible echomail areas.
  457.  
  458. ─────────────────────────────────────────────────────────────────────────────
  459.  
  460.  TYPE: 1
  461.  DESC: Show Available SlashCommands
  462.  SCRIPT: N/A
  463.  SECONDARY CONTAINS: N/A
  464.  
  465.  When activated, this will display a brief listing of all SlashCommands that
  466.  area available to the current user, based on security level.  For each
  467.  SlashCommand shown, the description of the SlashCommand will also be
  468.  displayed.
  469.  
  470. ─────────────────────────────────────────────────────────────────────────────
  471.  
  472.  TYPE: 7
  473.  DESC: Passive Transmit to Gateway
  474.  SCRIPT: Transmit2Gateway(command, 0);
  475.  SECONDARY CONTAINS: Remote command line
  476.  
  477.  Once a BFE/gateway connection has been established by calling the script
  478.  function gateway(), individual "client" commands may be programmed into
  479.  standard BFE menus through the use of this menu type.    The contents of
  480.  the SECONDARY FIELD will be sent through the gateway port, presumably to
  481.  a UNIX server running through a NULL modem cable (see GATEWAY.DOC for more
  482.  detailed information on setting up a UNIX gateway through BFE).  The
  483.  PROCESS field may also be used to obtain command line arguments, and will
  484.  be appended to the contents of the SECONDARY FIELD.  This is the PASSIVE
  485.  version of the Transmit2Gateway() function.  After the command is sent to
  486.  the server, control is immediately passed back to BFE.
  487.  
  488. ─────────────────────────────────────────────────────────────────────────────
  489.  TYPE: 8
  490.  DESC: Active Transmit to Gateway
  491.  SCRIPT: Transmit2Gateway(command, 1);
  492.  SECONDARY CONTAINS: Remote command line
  493.  
  494.  This is functionally equivalent to the above command, but the user will not
  495.  be returned to BFE, until the RETURN2BFE string is sent by the server to
  496.  BFE.
  497.  
  498. ─────────────────────────────────────────────────────────────────────────────
  499.  
  500.  TYPE: 9
  501.  DESC: Dummy Line Separator
  502.  SCRIPT: N/A
  503.  SECONDARY CONTAINS: N/A
  504.  
  505.  This menu type functions as simply a menu line separator in the default
  506.  BFE menus.  This allows you to place "divider" lines between the various
  507.  menu items.  Keep in mind that in order for any BFE menu item to be on
  508.  the "active" list of menu items, it must have a description.  This menu
  509.  type does not make use of the description field at all, but for readability,
  510.  we suggest you put a few dashes ("----") in the description field for your
  511.  line separators.
  512.  
  513. ─────────────────────────────────────────────────────────────────────────────
  514.  
  515.  TYPE: G
  516.  DESC: Goodbye (Log off)
  517.  SCRIPT: Goodbye();
  518.  SECONDARY CONTAINS: N/A
  519.  
  520.  This type is fairly straightforward!  It hangs up on the user, and returns an
  521.  errorlevel of 255 to the calling batch file.
  522.  
  523. ─────────────────────────────────────────────────────────────────────────────
  524.      █▀█  █▀▀ █▀▀      █ █  █▀▀  █▀▀ █▀█      █▀▀  █ █ █▀▀  ▀█▀ █▀▀ █▌▐█
  525.      █▀█  █▀  ██       █ █  ▀▀█  ██  █▀▌      ▀▀█   █  ▀▀█   █    ██  █▐▌█
  526.      █▄█▌ █▌  █▄▄      █▄█▌ █▄█▌ █▄▄ █ █      █▄█▌  █▌ █▄█▌  █▌ █▄▄ █  █▌
  527. ─────────────────────────────────────────────────────────────────────────────
  528.  
  529. Although BFE is an extremely powerful software package, initial releases
  530. lacked the ability to adequately inform the sysop of the exactly *who* the
  531. online user was, if BFE was being run in front end mode (i.e. without a BBS
  532. dropfile).  Once again, we listened and implemented a very powerful solution!
  533.  
  534. As of v2.00, BFE now includes an optional user system.    This system allows
  535. BFE to effectively keep track of all of your system's users.  When enabled,
  536. BFE will perform any enabled graphics detection schemes, and will proceed to
  537. place the user into the logon screen.  There, the user will enter his/her
  538. name, followed by their password.
  539.  
  540. BFE maintains a file called USER.BFE in the BFE directory.  This file
  541. contains the user information for all users in the system.  The format of
  542. this user file can be found in the BFE developer's kit, which should be
  543. contained within the distribution archive.
  544.  
  545. If a user's name is not found in the user file, they will be prompted to
  546. enter their location and a password to use in subsequent logins to BFE.
  547. Their initial access level is set to zero (0).
  548.  
  549. The BFE User System also has the ability to support multiple users who share
  550. the same name.
  551.  
  552. You may set the user system to function in one of three modes: FULL, PARTIAL,
  553. and NONE.  The FULL mode will prompt the user for the name and password, and
  554. will maintain the users in the USER.BFE file.  The PARTIAL mode will only
  555. prompt the user for their name, and will continue, without maintaining a user
  556. file at all.  The NONE mode will disable the user system completely.  To run
  557. in FULL mode, place an "F" in the USER SYSTEM field in BFE/Setup.  To run in
  558. PARTIAL mode, use a "P".  Use a "N" to disable the user system.
  559.  
  560. Keep in mind that if you enable the user system in either FULL or PARTIAL
  561. modes, this overrides BFE's ability to look for a dropfile upon entry!  In
  562. other words, this feature was designed to be used when BFE is being utilized
  563. as a true front end, not a door!
  564.  
  565. There are two files which also relate directly to the BFE User System.    The
  566. first, the Logon File, is shown to BFE callers right before they are asked
  567. for their name.  The second file, the Newuser File, is displayed to new users
  568. after BFE gets their name and location, but right before they are prompted
  569. for a password to use.    Both of these files can be configured via BFE/Setup
  570. under GLOBAL OPTIONS | PATH/SWAPPING INFORMATION.
  571.  
  572. A few notes on access levels are in order.  The first is a carry over from
  573. Maximus CBCS, but a nifty feature all the same.  If a user has an access
  574. level of -2, BFE will simply hang up on the user as soon as they enter their
  575. name!  This is similar to the "twit" user level in Maximus, thus, this
  576. feature is dubbed the "twitted" logon.
  577.  
  578. Also, BFE does not have a "userbase" editor of any type.  The userfile which
  579. is used is generated by third party userfile conversion utilities.  We have
  580. provided a MAX2BFE.EXE program which will convert the Maximus CBCS userbase
  581. into the USER.BFE format used by BFE.  A program called SF2BFE.EXE which will
  582. convert Spitfire BBS user bases is also enclosed.
  583.  
  584. Userbase conversion programs should be run nightly, or after new callers hang
  585. up, so that BFE will always have the latest copy of your userbase.  Since the
  586. user will be going through the newuser loops once he or she hits the BBS,
  587. there is no reason to have yet another user editor for BFE.  We feel that
  588. this concept is more than efficient for practical use.    Information necessary
  589. for the development of third party userfile conversions can be found in the
  590. BFE Developer's Kit, included with the distribution archive.  If you put
  591. together a convertor for your brand of BBS, send it on to us for possible
  592. inclusion in later releases.  If you have the necessary information, and are
  593. willing to provide a sample userbase with record layouts, we will optionally
  594. write the convertor for you.
  595.  
  596. ─────────────────────────────────────────────────────────────────────────────
  597.      █▀▀  █    █▀█    █▀█  █▀█  █    █▀█  █▀▀▌ █▀▀▌ █▀▀ █▀▀  █▀▀
  598.      █ ▄▄ █    █ █    █▀█  █▄█  █    █▄█  █     █    ██  ▀▀█  ▀▀█
  599.      █▄▄▌ █▄▄▌ █▄█▌ █▄█▌ █ █▌ █▄▄▌ █ █▌ █▄▄▌ █▄▄▌ █▄▄ █▄█▌ █▄█▌
  600. ─────────────────────────────────────────────────────────────────────────────
  601.  
  602. There will be times when you will want to offer certains options from *all*
  603. of your BFE menus (i.e. Sysop pager, goodbye, etc).  Through the use of the
  604. GlobalAccess(tm) system, this is now possible in BFE.  To enable this
  605. feature, simply create a new menu .CTL file called GLOBAL.CTL.    Place all of
  606. your global options in this menu and save it.  When BFE is executed, this
  607. file is read in automatically, and all of the options contained in it are
  608. "appended" to the contents of your regular menus.  Voila!  This is a great
  609. place to put global SlashCommands (see next section).
  610.  
  611. ─────────────────────────────────────────────────────────────────────────────
  612.      █▀▀  █    █▀█  █▀▀  █ █  █▀▀▌ █▀█    █▌▐█  █▌▐█  █▀█  ▐█▌▐▌ █▀▄  █▀▀
  613.      ▀▀█  █    █▄█  ▀▀█  █▀█  █    █ █    █▐▌█  █▐▌█  █▄█  ▐▌▌▐▌ █ █  ▀▀█
  614.      █▄█▌ █▄▄▌ █ █▌ █▄█▌ █ █▌ █▄▄▌ █▄█▌ █  █▌ █  █▌ █ █▌ ▐▌███ █▄█▌ █▄█▌
  615. ─────────────────────────────────────────────────────────────────────────────
  616.  
  617. BFE not only supports hotkey menuing, but also SlashCommands.  Any menu item
  618. can become a SlashCommand by simply entering the name of the slash command in
  619. the DESCRIPTION field, separated from the actual description by a pipe sign
  620. (|).
  621.  
  622. For example, to get a SlashCommand called "/MYBBS", the description field
  623. in BFE/Setup would look something like:
  624.  
  625.     MYBBS|This option takes you to my BBS
  626.  
  627. ─────────────────────────────────────────────────────────────────────────────
  628.       █▀▀  █▀█ █▀▀ █▀▀▌ █  █▀█    █      █▀▀  █▀▀▌ █▀█ █  █▀█ ▀█▀ █▀▀
  629.       ▀▀█  █▀▀ ██  █    █  █▄█    █      ▀▀█  █    █▀▌ █  █▀▀    █  ▀▀█
  630.       █▄█▌ █▌  █▄▄ █▄▄▌ █▌ █ █▌ █▄▄▌      █▄█▌ █▄▄▌ █ █ █▌ █▌    █▌ █▄█▌
  631. ─────────────────────────────────────────────────────────────────────────────
  632.  
  633. In addition to running BFE scripts from BFE menus, there are four special
  634. scripts available.  They are:
  635.  
  636. 1) Startup script:  The startup script is executed after BFE displays the
  637.    WELCOME screen (if any), but before the user hits the first BFE menu.
  638.    This script name is configurable in BFE/Setup under GLOBAL OPTIONS, then
  639.    STARTUP OPTIONS.
  640.  
  641. 2) Exit Script:  The exit script is executed if the user logs off through
  642.    BFE through the "goodbye" command.  This script name is also configurable
  643.    in BFE/Setup, under GLOBAL OPTIONS, then STARTUP OPTIONS.
  644.  
  645. 3) Re-entry Script:  This script is executed in lieu of the normal startup
  646.    script if BFE is started up in "re-entry" mode.  This script name is also
  647.    configured in BFE/Setup, under GLOBAL OPTIONS, then STARTUP OPTIONS.
  648.  
  649. 4) Auto Script:  BFE has the ability to execute a script, and then exit,
  650.    without ever hitting a BFE menu.  This is called the "auto" scripting
  651.    feature.  To specify an "auto" script, use the -a command line switch.
  652.    Through the use of this feature, it is possible to create little "doors"
  653.    of your own, without having to place them underneath BFE menus.  This is
  654.    also great for setting up custom BFE/Gateway menus to be called from your
  655.    BBS program.
  656.  
  657. ─────────────────────────────────────────────────────────────────────────────
  658.        █    █▀█  ▐█▌▐▌ █▀▀  █ █  █▀█  █▀▀  █▀▀        █▀▀ █  █    █▀▀
  659.        █    █▄█  ▐▌▌▐▌ █ ▄▄ █ █  █▄█  █ ▄▄ ██        █▀    █  █    ██
  660.        █▄▄▌ █ █▌ ▐▌███ █▄▄▌ █▄█▌ █ █▌ █▄▄▌ █▄▄        █▌    █▌ █▄▄▌ █▄▄
  661. ─────────────────────────────────────────────────────────────────────────────
  662.  
  663. In order to further allow the user to customize the operation of BFE, an
  664. external "language" file has been implemented.  This file is a simple text
  665. file, which contains a series of keywords and text fields.
  666.  
  667. Quite a bit of BFE's internal text messages can be customized!  Upon startup,
  668. BFE looks for a file called BFE.LNG (The BFE Language File).  The format of
  669. this file is relatively simple:
  670.  
  671.     KEYWORD <Language Text>
  672.  
  673. All lines starting with a semicolon (;) are treated as comments and are
  674. ignored.  Each line should be no longer than 80 characters (including the
  675. keyword!).
  676.  
  677.  Macro keys available:     ~ = carriage return/linefeed pair
  678.              _ = Blank (space)
  679.  
  680.  The following language keywords are available to you:
  681.  
  682.  BEFORECHAT
  683.  Shown if the sysop initiates a chat session
  684.  
  685.  AFTERCHAT
  686.  Shown when the sysop closes a chat session
  687.  
  688.  BEFORESHELL
  689.  Shown when the sysop shells to DOS locally
  690.  
  691.  AFTERSHELL
  692.  Shown when the sysop returns from a local DOS shell
  693.  
  694.  CHATREASON
  695.  Displayed when BFE is asking for a reason to page
  696.  
  697.  CONTINUE
  698.  General continuation message (i.e. Continue [Y/N/=])
  699.  
  700.  TIMEOUT
  701.  Shown when the user has an inactivity timeout
  702.  
  703.  NOTAVAIL
  704.  Shown when the user pages the sysop, and you are not in!
  705.  
  706.  NORESPONSE
  707.  Shown after an unsuccessful paging attempt
  708.  
  709.  OUTTATIME
  710.  Shown when the user has reached his timelimit in BFE
  711.  
  712.  OFFLINE
  713.  Shown when browsing FILES.BBS for files that are offline
  714.  
  715.  PAGINGMSG
  716.  Shown while BFE is paging the sysop
  717.  
  718.  PRESSKEY
  719.  General "press ENTER to continue" message
  720.  
  721.  PROMPT
  722.  Menu selection prompt
  723.  
  724.  DEFUSERNAME
  725.  Default name to use when BFE doesn't know who the user is
  726.  
  727.  DEFUSERLOC
  728.  Default location to use when BFE doesn't know who the user is
  729.  
  730.  ENTERMSGTXT
  731.  Shown at the top of the BFE/Editor screen
  732.  
  733.  SLASHCMDTXT
  734.  Prompt used when a user initiates a slash command
  735.  
  736.  HANGONMSG
  737.  Shown when BFE is exiting on an errorlevel
  738.  
  739.  ROCKHEADTXT
  740.  Logged when a user botches the BFE login procedure
  741.  
  742.  BADPASSWORD
  743.  Logged when a user fails at a BFE menu password
  744.  
  745.  TWITLOGON
  746.  Logged when a "twitted" user tries to log in
  747.  
  748.  LOGINPROMPT
  749.  Default "login" prompt
  750.  
  751. Additional textual customization features will be added to this .LNG file as
  752. the product grows. Currently, this feature is only enabled in registered
  753. versions of BFE.  See the BFE.LNG file which came packed in the BFE archive
  754. for starter examples.
  755.  
  756. ─────────────────────────────────────────────────────────────────────────────
  757.       █ █  █▀▀    █  ▐█▌▐▌ █▀▀       █▀▄    █▀█ █▀█  █▀█ █▀▀ █  █     █▀▀ █▀▀
  758.       █ █  ▀▀█    █  ▐▌▌▐▌ █ ▄▄       █ █    █▀▌ █ █  █▀▀ █▀  █  █     ██  ▀▀█
  759.       █▄█▌ █▄█▌ █▌ ▐▌███ █▄▄▌       █▄█▌ █ █ █▄█▌ █▌  █▌  █▌ █▄▄▌ █▄▄ █▄█▌
  760. ─────────────────────────────────────────────────────────────────────────────
  761.  
  762. If BFE locates an enabled Dropfile path in your global options, it will
  763. attempt to make use of a BBS dropfile, effectively ignoring any relevant
  764. command line communication arguments.  If you wish to run BFE as a normal
  765. door from your BBS, you will need to specify a valid path for this option in
  766. BFE/Setup.  If you are running BFE as a front-end to your system (i.e. called
  767. from a mailer), do *not* put a path in the dropfile directory field!
  768.  
  769. It appears that the BBS world simply cannot agree on a standard dropfile
  770. format.  For a while, it appeared as if the DORINFOx.DEF, or perhaps the
  771. DOOR.SYS format would prevail.    However, with the release of RemoteAccess
  772. v2.0+, that myth has apparently been shattered, as the RA author decided to
  773. introduce yet another dropfile format.    We will continue to add and support
  774. all of the popular dropfile formats, regardless of how hairy it gets... :-)
  775.  
  776. BFE by default does not look for a BBS dropfile, since it was originally
  777. designed to be run as a frontend (i.e. *BEFORE* the user had actually logged
  778. on to the BBS).
  779.  
  780. As of v1.22 of BFE, a "smart" method of dropfile detection has been employed.
  781. BFE first looks in the current directory for the dropfile.  If it is not
  782. there, it looks in the DOS path.  If the dropfile mode is enabled, and BFE
  783. can not locate a dropfile, it will not run!
  784.  
  785.     1.) First, if there was a custom door information file format
  786.     defined in the CUSTOM.BFE file, BFE will begin by looking for
  787.     this file. BFE searches for the custom information file in the
  788.     following order:
  789.  
  790.           A.) The path defined by the BBS Directory option
  791.           B.) The directory which was the current default dir at
  792.           startup time
  793.           C.) If any of the following environment variables exist,
  794.           BFE will then search for the file in the directories
  795.           pointed to by these variables, in the following order:
  796.  
  797.                    RA
  798.                    QUICK
  799.                    PCB
  800.                    BBS
  801.  
  802.     2.) If no custom door information file was found / defined, BFE will
  803.     then search for door information files corresponding to one of
  804.     the built in formats. It will search for these files in the same
  805.     directories, and same order, as it does for the custom door
  806.     information file (A - C). Within each directory, it will
  807.     search for files with the following filenames:
  808.  
  809.               CHAIN.TXT
  810.               SFDOORS.DAT
  811.               DOOR.SYS
  812.               CALLINFO.BBS
  813.               DORINFO1.DEF
  814.               DORINFOx.DEF, where x is the node number (0-Z)
  815.  
  816. As soon as it finds a directory containing one of these filenames, BFE will
  817. stop it's door information file search phase. It then begins to decide what
  818. to do with what it has found. If more than one of the above filenames was
  819. found in the directory in question, BFE will read the file with the most
  820. recent date and time stamp. This is intended to overcome abiguities that can
  821. arise when a door information file conversion program is being used, and a
  822. number of different door information files may still exist in the directory.
  823. In such a case, it is assumed that the most recently created file is the one
  824. that should be used. If more than one file exist with an identical date and
  825. time, BFE will use the file that is closer to the beginning of the above
  826. list. (ie they are listed in their order of priority)
  827.  
  828. Once BFE has decided which file it is going to use, it may have still more
  829. decision-making to do. In the case of door information file names that
  830. correspond to more than one format (such as DOOR.SYS), BFE will examine the
  831. file to determine which format it actually is. If a DORINFO?.DEF file is
  832. found, BFE will then also attempt a search for an EXITINFO.BBS file.  Again,
  833. if an EXITINFO.BBS file is found, BFE must determine which of the many
  834. EXITINFO.BBS formats it is actually dealing with.
  835.  
  836. This may all sound rather complicated, but it is a well thought-out strategy
  837. that is intended to asure that the correct door information file will be
  838. located and used in the vast majority of cases. (and to think - it does all
  839. this in the blink of an eye!)
  840.  
  841. As of v1.22, BFE recognizes the following dropfile formats:
  842.  
  843.      DORINFOx.DEF (Standard DORINFOx.DEF Drop file (Default))
  844.      EXITINFO.BBS (RA v.01 - v.04)
  845.      EXITINFO.BBS (Extended (RA v1.0+))
  846.      EXITINFO.BBS (RemoteAccess 2.0+ style)
  847.      CHAIN.TXT    (WWIV)
  848.      SFDOORS.DAT  (SpitFire BBS)
  849.      CALLINFO.BBS (WildCat!)
  850.      DOOR.SYS     (GAP/PC-Board)
  851.      DOOR.SYS     (Doorway version)
  852.      QBBS 2.75+   (EXITINFO.BBS)
  853.      DOOR.SYS     (WildCat! style)
  854.      Custom       (See the next section!)
  855.  
  856. ─────────────────────────────────────────────────────────────────────────────
  857.   █▀▀▌ █ █  █▀▀  ▀█▀ █▀█  █▌▐█         █▀▄  █▀█ █▀█  █▀█ █▀▀ █  █    █▀▀ █▀▀
  858.   █    █ █  ▀▀█   █  █ █  █▐▌█         █ █  █▀▌ █ █  █▀▀ █▀  █  █    ██  ▀▀█
  859.   █▄▄▌ █▄█▌ █▄█▌  █▌ █▄█▌ █  █▌      █▄█▌ █ █ █▄█▌ █▌  █▌  █▌ █▄▄▌ █▄▄ █▄█▌
  860. ─────────────────────────────────────────────────────────────────────────────
  861.  
  862. BFE automatically recognizes most door information file (drop file) formats,
  863. including DORINFO?.DEF, EXITINFO.BBS, DOOR.SYS, SFDOORS.DAT, CALLINFO.BBS and
  864. CHAIN.TXT. However, to permit BFE to operate on BBS systems that produce a
  865. different format file, you may define a custom door information file format.
  866. A custom door information file format is defined using the "CustomFileName"
  867. command, followed by one or more lines beginning with the "CustomFileLine"
  868. command.  This file *must* be called CUSTOM.BFE!
  869.  
  870. The "CustomFileName" option specifies the filename used to distinguish this
  871. file format from other file formats. This filename should not include a path.
  872. To specify the path where the door information file is located, use the
  873. BBSDir setting, near the beginning of this file. If the filename of the
  874. custom format is the same as that of one of the built-in formats, the custom
  875. format will override the built-in format.
  876.  
  877. The actual format of the custom file is specified using a number of lines
  878. that begin with the keyword "CustomFileLine". Each of these lines will
  879. correspond to a single line in the door information file, with the option
  880. following the "CustomFileLine" keyword specifying the information that can be
  881. found on that line. This can be one of the following keywords:
  882.  
  883.  Ignore - Causes the next line in the door information file to be
  884.       ignored. Use on lines for which none of the options below
  885.       apply.
  886.  
  887.  ComPort - COM? port the modem is connected to (0 indicates local mode)
  888.  
  889.  FossilPort - Fossil port number the modem is connected to
  890.  
  891.  ModemBPS - BPS rate at which to communicate with modem (0 or non-
  892.         numerical value indicates local mode)
  893.  
  894.  LocalMode - 1, T or Y if door is operating in local mode
  895.  
  896.  UserName - Full name of the user
  897.  
  898.  UserFirstName - First name(s) of the user
  899.  
  900.  UserLastName - Last name of the user
  901.  
  902.  Alias - The user's psuedonym / handle
  903.  
  904.  HoursLeft - Hours user has left online
  905.  
  906.  MinutesLeft - Minutes user has left online, or time left online in
  907.            format hh:mm
  908.  
  909.  SecondsLeft - Seconds user has left online, or time left online in
  910.            format hh:mm:ss or format mm:ss (If more than one of the
  911.            above time options are used, the user time left is taken
  912.            to be the total of all of these values.)
  913.  
  914.  ANSI - 1, T, Y or G for ANSI graphics mode
  915.  
  916.  AVATAR - 1, T or Y for AVATAR graphics mode
  917.  
  918.  PagePausing - 1, T or Y if user wishes a pause at end of screen
  919.  
  920.  ScreenLength - Number of lines on user's screen
  921.  
  922.  ScreenClearing - 1, T or Y if screen clearing mode is on
  923.  
  924.  Security - The user's security level / access level
  925.  
  926.  City - City the user is calling from
  927.  
  928.  Node - Node number user is connected to
  929.  
  930.  SysopName - Full name of the sysop
  931.  
  932.  SysopFirstName - The sysop's first name(s)
  933.  
  934.  SysopLastName - The sysop's last name
  935.  
  936.  SystemName - Name of the BBS
  937.  
  938. A sample CUSTOM.BFE is outlined below.    This example designs a custom
  939. dropfile template which emulates the standard DORINFO?.DEF file.
  940.  
  941.  CustomFileName    EXAMPLE.DEF         ; File name to look for!
  942.  CustomFileLine    SystemName
  943.  CustomFileLine    SysopFirstName
  944.  CustomFileLine    SysopLastName
  945.  CustomFileLine    ComPort
  946.  CustomFileLine    ModemBPS
  947.  CustomFileLine    Ignore
  948.  CustomFileLine    UserFirstName
  949.  CustomFileLine    UserLastName
  950.  CustomFileLine    City
  951.  CustomFileLine    ANSI
  952.  CustomFileLine    Security
  953.  CustomFileLine    MinutesLeft
  954.  
  955. ─────────────────────────────────────────────────────────────────────────────
  956.            ▐█▌▐▌ █▀▀ ▀█▀ █    █  █▀█    █▀█ █ █  █  ▐█▌▐▌ █▀▀
  957.            ▐▌▌▐▌ ██   █  █▐▌█  █ █    █▀▌ █▀▄  █  ▐▌▌▐▌ █ ▄▄
  958.            ▐▌███ █▄▄  █▌ █▌▐█▌ █▄█▌ █ █ █ █▌ █▌ ▐▌███ █▄▄▌
  959. ─────────────────────────────────────────────────────────────────────────────
  960.  
  961. BFE has special support for FrontDoor(tm) style semaphore files.  These files
  962. are generated in the IPC subdirectory, underneath your main BFE directory.
  963. The files contain one line, which holds the name of the current user (or
  964. the name of the default user configured in the language file, if you are
  965. not running the BFE user system).
  966.  
  967. These files can be checked against in your own programs or batch
  968. files, to determine what nodes are active, and what each user is doing.
  969.  
  970. Whenever BFE is started up in non-reentrant mode (no -r switch), the IPC
  971. directory is cleared of semaphores for the current node.
  972.  
  973. The following semaphores are available (nnn = node number of current node):
  974.  
  975.         ACTIVE.nnn  - User active in BFE menus
  976.         EXTERN.nnn  - User running an external process
  977.         ERRLVL.nnn  - User exiting on an errorlevel
  978.         SCRIPT.nnn  - User executing a BFE script file
  979.         GATEWAY.nnn - User active in a BFE/Gateway session
  980.  
  981. More than one of these IPC files may be present at any given time.  For
  982. example, if the user was active on node 2, and was in a custom BFE/Gateway
  983. script file, you would have ACTIVE.002, SCRIPT.002, and GATEWAY.002 sitting
  984. in your IPC directory.
  985.  
  986. Note that the ERRLVL.nnn semaphore may remain active if your BBS program
  987. does not return control to BFE (i.e. you are not running "round trip"
  988. options from BFE).  To keep the IPC directory current, you can simply
  989. delete the ERRLVL.nnn file after exiting your BBS, although this will not
  990. affect BFE in any way.    All semaphore files are there for your information
  991. only, although this may change in a future release.
  992.  
  993. One additional semaphore is also supported in the IPC directory.  This file
  994. is called LASTUSER.nnn, and is generated whenever BFE exits on an errorlevel.
  995. This file is the only semaphore which does not contain simply the user's name.
  996. Rather, it contains a complete image of BFE internal's at the time the user
  997. exited BFE on the errorlevel.  If BFE is subsequently started in re-entry
  998. mode, this file is read back in, and the user is automatically placed at
  999. the exact point where he/she originally exited BFE.  The time remaining
  1000. within the system (BFE) is also updated based upon the time which was stored
  1001. in the LASTUSER.nnn file.  This is helpful if you run multiple BBS systems,
  1002. but only wish to grant a set amount of time per day across the system.
  1003.  
  1004. Note that when BFE is started in re-entry mode, the "-c" switch which
  1005. specified the .CTL file is no longer used, as this information is taken
  1006. straight from the LASTUSER.nnn file.
  1007.  
  1008.