home *** CD-ROM | disk | FTP | other *** search
/ The C Users' Group Library 1994 August / wc-cdrom-cusersgrouplibrary-1994-08.iso / vol_100 / 147_01 / rbbs4.doc < prev    next >
Text File  |  1985-03-10  |  10KB  |  275 lines

  1. Brief Documentation for Release 1: RBBS 4.0 Edit 18
  2.  
  3. RBBS4 is a new version of the popular public domain program,
  4. written in BDS-C, co-authored by John Gilbert and Frank Wancho.
  5. It is not upward file-compatible with older versions of RBBS, and
  6. requires BDS-C 1.50a to compile.  See RBBS4.C for more info,
  7. disclaimers, etc.  (BDS-C 1.50 will do, but you'll need to add
  8. the index function.  We have not tried compiling this program
  9. under any previous versions of BDS-C.)
  10.  
  11.  
  12. The major topics covered in this doc file are:
  13.  
  14. A.  FILES PROVIDED    An itemized list with brief description
  15.  
  16. B.  NOTES        Some short comments
  17.  
  18. C.  BUILDING RBBS4    How to get started
  19.  
  20. D.  OTHER NOTES        Miscellaneous notes
  21.  
  22. E.  TO DO        What's on tap
  23.  
  24. F.  UNRESOLVED BUGS    Known, somewhat harmless bugs
  25.  
  26. G.  ACKNOWLEDGEMENTS    To those who helped Beta Test
  27.  
  28. H.  TRAILER        Parting words
  29.  
  30.  
  31. A.  FILES PROVIDED:
  32.  
  33. (Files below, marked with an asterisk, are the support files that
  34. RBBS4 expects to be in the designated user area and drive as
  35. defined in RBBS4.H.)
  36.  
  37. RBBS4.H        The commented header file.  Please set the
  38.                 DEFINEs in this file for your desired system
  39.                 configuration.
  40.  
  41. RBBS4.C        The "main" program
  42.  
  43. MAINOP.C    A collection of functions
  44.  
  45. LOGON.C        Most of the logon functions
  46.  
  47. ENTER.C        Most of the entermsg functions
  48.  
  49. RBBSFN.C    Miscellaneous functions, mostly file I/O
  50.  
  51. RBBSCIO.C    A rather fancy line editor and associated console
  52.         I/O functions using BIOS calls.  May be used as a
  53.                 separate package.
  54.  
  55. TDOSFN.CSM    Lock and free record TurboDOS functions in
  56.                 assembler. Must be processed with CASM.  This may
  57.                 be optionally excluded by setting the LOCKEM
  58.                 DEFINE in RBBS4.H to FALSE and removing the
  59.                 reference in the l2 command line.
  60.  
  61. DAYTIM.CSM    TurboDOS, MP/M and CP/M+ date/time function (105)
  62.                 in assembler.  Provide an equivalent function if
  63.                 you wish to use your clock card, using this as a
  64.                 model.  See below.  If you do not have a clock
  65.                 card, set the DATETIME DEFINE in RBBS4.H to
  66.                 FALSE.
  67.  
  68.                 The daytime rewrite is courtesy of Ron Fowler,
  69.                 and the tos function is courtesy of Sigi Kluger.
  70.  
  71. *BULLETIN.CCC    A SYSOP-created ASCII file that is displayed with
  72.                 paging when the program starts up.  The B Command
  73.                 also displays this file.  If this file does not
  74.                 exist, then a "No BULLETINS" message is displayed
  75.                 instead.
  76.  
  77. *WELCOME.CCC    A SYSOP-created ASCII file that is displayed with
  78.                 paging when a new user successfully registers.
  79.                 The W Command also displays this file.  A sample
  80.                 file is provided.
  81.  
  82. *HELP.CCC    An ASCII file that is displayed with paging when
  83.                 the user types a ?<cr> to the COMMAND: prompt.  A
  84.                 sample file provided.
  85.  
  86. *HANGUP.COM    SYSOP may optionally provide this program or
  87.                 something equivalent.  RBBS4 will chain to this
  88.                 program with the G Command or after three failed
  89.                 attempts to enter the password.  If you do not
  90.                 provide this program, set the HANGUP DEFINE in
  91.                 RBBS4.H to FALSE.
  92.  
  93. *AUTO.COM    SYSOP may optionally provide this program or
  94.                 something equivalent.  RBBS4 will chain to this
  95.                 program with the C Command.  If you do not
  96.                 provide this program, set the CHAINEXIT DEFINE in
  97.                 RBBS4.H to FALSE.
  98.  
  99. UTIL.C        Creates SUBJECTS.CCC and empty subject.MSG files,
  100.                 and an initialized USERS.CCC file with the SYSOP
  101.                 entry and default initial password of 123456.
  102.                 UTIL also permits the addition of new subject
  103.                 files, modification of user entries, addition of
  104.                 new users, consolidation of subject.MSG and
  105.                 USERS.CCC files, and insertion of long text files
  106.                 as messages.
  107.  
  108. *SUBJECTS.CCC    Created by UTIL with two entries: PERSONAL and
  109.                 GENERAL.  Others may be added with UTIL.
  110.  
  111. *USERS.CCC    Created and initialized by UTIL.  Holds user info.
  112.  
  113. *CALLERS.CCC    Created by RBBS4 when first used.  A sequential
  114.                 log of each user's use of the system.
  115.  
  116. *PERSONAL.MSG    Created by a UTIL command.  It is the initial
  117.                 message file examined by the user.  Only
  118.                 Personal/private messages are allowed in this
  119.                 file.
  120.  
  121. *GENERAL.MSG    Created by a UTIL command.  This and other
  122.                 "secondary" subject files may be selected by the
  123.                 F Command.  Only messages to "ALL" are allowed in
  124.                 these secondary files.
  125.  
  126. *EXIT2CPM.CCC    Displayed when the non-expert exits to CP/M via
  127.                 the C Command.  Sample file provided.
  128.  
  129. *TWITMSG.CCC    Displayed when a "twit" logs in.
  130.  
  131. *MSGHELP.CCC    Displayed when the user types "?<cr>" on a new
  132.                 line when entering message text.
  133.  
  134. *SELHELP.CCC    Displayed when the user types a "?" to the SELECT
  135.                 prompt.
  136.  
  137. *RCIOHLP0.CCC    Displayed when the user types the Help Character
  138.                 (^V) in normal mode.
  139.  
  140. *RCIOHLP2.CCC    Displayed when the user types the Help Character
  141.                 (^V) in masked mode.
  142.  
  143.  
  144. B.  NOTES
  145.  
  146. 1.  One major difference between RBBS4 and older versions of RBBS
  147.     is the addition of a fancy line editor.  Type a ^V to see the
  148.     available commands and experiment.
  149.  
  150. 2.  If you are not running TurboDOS or multi-user mode, skip the
  151.     inclusion of TDOSFN or equivalent in the l2 command line.
  152.  
  153. 3.  If you are using a clock card, use DAYTIM.CSM as a model for
  154.     the clock function.  This function returns in HL the address
  155.     of a null-terminated ASCII string of the form: dd mmm yyyy
  156.     hh:mm:ss. If you do not provide this function, the user will
  157.     be prompted to enter the date when he logs in.
  158.  
  159.  
  160. C.  BUILDING RBBS4
  161.  
  162. 1.  To build RBBS4 (and UTIL), first check the DEFINEs in
  163.     RBBS4.H. Build RBBS4 first, using the suggested SUBMIT file,
  164.     RBBS4.SUB as a guide.  Then build UTIL, also using UTIL.SUB
  165.     as a guide.
  166.  
  167. 2.  Run UTIL first, to create the necessary files.  Then run
  168.     RBBS4 and login as SYSOP with password of 123456.  Use the P
  169.     Command to change your password.  Then enter any initial
  170.     messages.
  171.  
  172.  
  173. D.  OTHER NOTES
  174.  
  175. 1.  User can both delete and insert lines in SELECT's Edit mode.
  176.     To delete a line, select it for editing and type ^X, then a
  177.     period and <cr>.  To insert a new line at line n, type a -n
  178.     to the line number prompt.
  179.  
  180. 2.  The order of the arguments in the l2 line IS important.  You
  181.     can generate faulty .COM files with no warning from l2,
  182.     especially if it goes into disk mode!
  183.  
  184. 3.  There is a DEFINE named PREREG that will not allow a new user
  185.     to access the system without already existing in the
  186.     USERS.CCC file. That means the SYSOP must use UTIL to
  187.     register that new user ahead of time.
  188.  
  189. 4.  LASTREAD DEFINE checks for a LASTCALR file and use that
  190.     information to logon the user who has already logged on
  191.     through some other front-end program like SIGNON.  LASTWRITE
  192.     is used when RBBS4 IS the front-end program and is expected
  193.     to update the LASTCALR file with an entry of the current
  194.     user's name to be used by subsequent programs like XMODEM.
  195.     Please check the code in LOGON.C in between those DEFINEs to
  196.     make sure they either read or write the appropriate format
  197.     for your system.
  198.  
  199. 5.  If LASTREAD is TRUE, RBBS4 capitalizes the first and last
  200.     names it finds before testing if the name exists.  If the
  201.     user doesn't exist, he is then passed through the newuser
  202.     function, skipping the password prompt, which is
  203.     automatically set to "123456" in case you wish to revert for
  204.     some reason.  This means that LASTREAD and PREREG are
  205.     definitely mutually exclusive, or else you MUST manually
  206.     preregister each new user you allow through your front-end
  207.     program.  (Of course, you CAN have both LASTREAD and PREREG
  208.     set TRUE.  Then only a select subset of your users whom you
  209.     preregister will be allowed to use RBBS4.)
  210.  
  211. 6.  You can tag selected users to have "sysop privileges" within
  212.     RBBS4 by setting the MF FLAG.
  213.  
  214. 7.  The MF FLAG means:
  215.  
  216.     blank    = "sysop"
  217.     *    = no CP/M access (user is locked into RBBS4)
  218.     #    = twit (user logs all the way in and then
  219.           TWITMSG.CCC is displayed and hangs up.)
  220.     +    = normal user
  221.  
  222.  
  223. E.  TO DO:
  224.  
  225. 1.  Implement the auto-kill of seen private messages on exit.
  226.  
  227. 2.  Keep track of highest seen and provide an auto-survey of new
  228.     messages in the non-PERSONAL message files when that file is
  229.     first selected in a session.
  230.  
  231. 3.  Consolidate first and last name fields into one field to
  232.     allow longer names.
  233.  
  234. 4.  Consider implementing CHARIO.C for file handling.
  235.  
  236.  
  237. F.  UNRESOLVED BUGS:
  238.  
  239. 1.  Duplicate entries in USERS.CCC (sometimes).
  240.  
  241. 2.  The CALLERS.CCC entries are improperly displayed when there
  242.     are an odd (or even) number of entries.
  243.  
  244.  
  245. H.  ACKNOWLEDGEMENTS
  246.  
  247. Our thanks to Sigi Kluger, Ron Fowler, and Dave Schmidt for
  248. taking the time and energy to help us beta test this program, and
  249. suggest many features and improvements we didn't envision.
  250.  
  251.  
  252. G.  TRAILER
  253.  
  254. We fully expect those more expert in C to optimize or perhaps
  255. totally revamp our code.  If you do, please try to follow our
  256. style for spacing and indentation to keep it readable.  If your
  257. changes don't amount to an overhaul, just bump the edit number in
  258. all the files.  If you do overhaul it, bump the minor version
  259. number and reset the Edit number to 0.  Start (or prepend your
  260. changes to) a RBBS4.HIS file, pack it up, and upload it to the
  261. SENECA RCP/M at the number below.  If you convert this to some
  262. other C dialect, please acknowledge your source and change the
  263. name to avoid confusion with this version.
  264.  
  265. Please report any problems immediately to WANCHO@SIMTEL20 via DDN
  266. or call between 10am and 10pm MST: 915-591-7266 (voice), or leave
  267. me a message on the SENECA RCP/M: 915-598-1668.
  268.  
  269.  
  270. Frank Wancho
  271. 10560 Lakewood
  272. El Paso, TX 79925
  273. Dave Schmidt for
  274. taking the time and energy to help us beta test this program, and
  275. suggest many features