home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 October / usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso / misc / volume44 / rocat / part07 < prev    next >
Internet Message Format  |  1994-08-01  |  97KB

  1. From: shaw@stortek.stortek.com (Greg Shaw)
  2. Newsgroups: comp.sources.misc
  3. Subject: v44i007:  rocat - Roman Catacombs BBS System v.0.75, Part07/09
  4. Date: 1 Aug 1994 12:09:15 -0500
  5. Organization: Sterling Software
  6. Sender: kent@sparky.sterling.com
  7. Approved: kent@sparky.sterling.com
  8. Message-ID: <31ja7r$b1j@sparky.sterling.com>
  9. X-Md4-Signature: 5ec94d35195da7c1924016bb331fc94d
  10.  
  11. Submitted-by: shaw@stortek.stortek.com (Greg Shaw)
  12. Posting-number: Volume 44, Issue 7
  13. Archive-name: rocat/part07
  14. Environment: Linux, GNU C++/libg++
  15.  
  16. #! /bin/sh
  17. # This is a shell archive.  Remove anything before this line, then feed it
  18. # into a shell via "sh file" or similar.  To overwrite existing files,
  19. # type "sh file -c".
  20. # Contents:  rocat-0.75/admin/.cshrc rocat-0.75/doc/errlogd.man
  21. #   rocat-0.75/doc/fileutil.man rocat-0.75/examples/menus/appletop
  22. #   rocat-0.75/examples/menus/arcade
  23. #   rocat-0.75/examples/menus/art_studio
  24. #   rocat-0.75/examples/menus/artprogs
  25. #   rocat-0.75/examples/menus/helpgames
  26. #   rocat-0.75/examples/menus/helptop rocat-0.75/examples/menus/main
  27. #   rocat-0.75/examples/menus/utilities
  28. #   rocat-0.75/examples/menus/wintop rocat-0.75/filehdr/bbs_files_hdr
  29. #   rocat-0.75/menus/main rocat-0.75/src/Makefile
  30. #   rocat-0.75/src/Makefile.dist rocat-0.75/src/bbs.h
  31. #   rocat-0.75/src/bbsint.h rocat-0.75/src/bbsipc.h
  32. #   rocat-0.75/src/dllist.h rocat-0.75/src/errlog.h
  33. #   rocat-0.75/src/filelock.h rocat-0.75/src/files.h
  34. #   rocat-0.75/src/fileutil.h rocat-0.75/src/moncon.h
  35. #   rocat-0.75/src/monitor.C rocat-0.75/src/ports.h
  36. #   rocat-0.75/src/sysexec.C rocat-0.75/src/sysexec.h
  37. #   rocat-0.75/src/version.h rocat-0.75/text/helpTRC
  38. #   rocat-0.75/text/helpdownload rocat-0.75/text/helpemail
  39. #   rocat-0.75/text/helplinuxhow rocat-0.75/text/helplinuxwhat
  40. #   rocat-0.75/text/helpnews rocat-0.75/text/reg.instr
  41. #   rocat-0.75/text/system3.msg
  42. # Wrapped by kent@sparky on Mon Jul 11 22:22:53 1994
  43. PATH=/bin:/usr/bin:/usr/ucb:/usr/local/bin:/usr/lbin:$PATH ; export PATH
  44. echo If this archive is complete, you will see the following message:
  45. echo '          "shar: End of archive 7 (of 9)."'
  46. if test -f 'rocat-0.75/admin/.cshrc' -a "${1}" != "-c" ; then 
  47.   echo shar: Will not clobber existing file \"'rocat-0.75/admin/.cshrc'\"
  48. else
  49.   echo shar: Extracting \"'rocat-0.75/admin/.cshrc'\" \(1367 characters\)
  50.   sed "s/^X//" >'rocat-0.75/admin/.cshrc' <<'END_OF_FILE'
  51. X# executable search  path
  52. Xsetenv PATH $HOME/bin:/usr/ucb:/usr/local/bin:/bin:/usr/bin:/etc:/usr/lib/uucp:/usr/bin/X11:/usr/games:/usr/lib:/sbin:/usr/sbin:
  53. X
  54. X# bbs stuff 
  55. Xsetenv BBSDIR /bbsdev
  56. Xsetenv SYSOP shaw
  57. X
  58. X# generic setup stuff (for X basically)
  59. Xsetenv TERMINFO /usr/lib/terminfo
  60. Xsetenv OPENWINHOME /usr/openwin
  61. Xsetenv LD_LIBRARY_PATH /usr/openwin/lib
  62. X
  63. X# setup manual paths
  64. Xsetenv MANPATH /usr/man:/usr/local/man:/usr/openwin/man:/usr/X386/man
  65. X
  66. X# set default prompt
  67. Xset prompt="`hostname`-bbs % "
  68. X
  69. X# tell me when background job status changes
  70. Xset notify
  71. X
  72. X# set mail directory and check time
  73. Xset mail=/usr/spool/mail/$LOGNAME
  74. X
  75. X# set default permissions mask
  76. Xset umask=066
  77. X
  78. X# set default time notification
  79. Xset time=15
  80. X
  81. X# set history file length
  82. Xset history=30
  83. Xset savehist=20
  84. X
  85. X#set timezone 
  86. Xsetenv  TZ MST7MDT
  87. X
  88. X# set default editor
  89. Xset VISUAL=vi
  90. X
  91. X# setup size of screen
  92. X#setenv LINES 24
  93. X#setenv COLUMNS 80
  94. X#eval `resize`
  95. X
  96. X# well, since this is tcsh, I can set the line editing key bindings
  97. Xbind vi
  98. X
  99. X# default time slice 
  100. Xsetenv HZ 100
  101. X
  102. X# setup my aliases
  103. Xalias . logout
  104. Xalias mail elm
  105. Xalias ls 'ls -CF'
  106. Xalias compress 'gzip -v'
  107. Xalias uncompress gunzip
  108. Xalias more less
  109. Xalias mkae make
  110. X
  111. X# setup default terminal settings 
  112. X    stty erase "^H" kill "^U" intr "^C" eof "^D" 
  113. X    stty hupcl ixon ixoff
  114. X
  115. X# now give me my 'quote of the login'
  116. X    echo Quote of the Login
  117. X    fortune
  118. X
  119. END_OF_FILE
  120.   if test 1367 -ne `wc -c <'rocat-0.75/admin/.cshrc'`; then
  121.     echo shar: \"'rocat-0.75/admin/.cshrc'\" unpacked with wrong size!
  122.   fi
  123.   chmod +x 'rocat-0.75/admin/.cshrc'
  124.   # end of 'rocat-0.75/admin/.cshrc'
  125. fi
  126. if test -f 'rocat-0.75/doc/errlogd.man' -a "${1}" != "-c" ; then 
  127.   echo shar: Will not clobber existing file \"'rocat-0.75/doc/errlogd.man'\"
  128. else
  129.   echo shar: Extracting \"'rocat-0.75/doc/errlogd.man'\" \(1300 characters\)
  130.   sed "s/^X//" >'rocat-0.75/doc/errlogd.man' <<'END_OF_FILE'
  131. X.TH errlogd 1 "06 Jun 94" "shaw" "rocat manual"
  132. X.IX errlogd
  133. X.SH NAME
  134. Xerrlogd - error logging daemon for the rocat BBS System.
  135. X.SH SYNOPSIS
  136. X.B errlogd
  137. X.SH DESCRIPTION
  138. XCentralized error logger for the rocat BBS System.
  139. X
  140. X.I errlogd 
  141. XActs as a centralized error logging system for the BBS System.  It is
  142. Xexpected that the error logging daemon will run on the main BBS System as a
  143. Xdaemon (in the background).
  144. X
  145. XOutput of 
  146. X.I errlogd
  147. Xis coded to go to $BBSDIR/admin/bbserr.  
  148. X
  149. X.I errlogd 
  150. Xouptuts error messages locally when it is unable to start up.  Otherwise,
  151. Xno output will be generated.
  152. X
  153. X.SH CONFIGURATION
  154. X.I errlogd 
  155. Xrequires no configuration other than the $BBSDIR environment
  156. Xvariable.  However, configuration of the BBS configuration file 
  157. X.I $BBSDIR/config/bbsinfo
  158. Xis necessary to point the BBS to the correct error logging machine.
  159. X
  160. X.I errlogd 
  161. Xcan be used as a centralized logging daemon for a number of internetworked
  162. Xcomputer systems.  The configuration option LOGHOST should point to the
  163. Xmachine that runs the error logging daemon.
  164. X
  165. X.SH BUGS
  166. X.I errlogd
  167. Xlogs all errors to a $BBSDIR/admin/bbserr.  It should be able to accept a
  168. Xfilename as the output filename.
  169. X
  170. X.SH "SEE ALSO"
  171. Xrocat(1), rocat documentation
  172. X.SH AUTHOR
  173. X.I errlogd
  174. Xis Copyright (C) 1994 by Gregory Shaw, <shaw@manwe.fmsoft.com>.
  175. END_OF_FILE
  176.   if test 1300 -ne `wc -c <'rocat-0.75/doc/errlogd.man'`; then
  177.     echo shar: \"'rocat-0.75/doc/errlogd.man'\" unpacked with wrong size!
  178.   fi
  179.   # end of 'rocat-0.75/doc/errlogd.man'
  180. fi
  181. if test -f 'rocat-0.75/doc/fileutil.man' -a "${1}" != "-c" ; then 
  182.   echo shar: Will not clobber existing file \"'rocat-0.75/doc/fileutil.man'\"
  183. else
  184.   echo shar: Extracting \"'rocat-0.75/doc/fileutil.man'\" \(1693 characters\)
  185.   sed "s/^X//" >'rocat-0.75/doc/fileutil.man' <<'END_OF_FILE'
  186. X.TH fileutil 1 "06 Jun 94" "shaw" "rocat manual"
  187. X.IX fileutil
  188. X.SH NAME
  189. Xfileutil - upload/download files area maintenance utility 
  190. X.SH SYNOPSIS
  191. X.B fileutil
  192. X.RB [ -c section_name ]
  193. X.RB [ -n output_filename ]
  194. X.RB [ -m output_filename  ]
  195. X.RB [ -u ]
  196. X.RB [ -d ]
  197. X.SH DESCRIPTION
  198. XAutomated file utility for files areas maintenance.
  199. X
  200. X.I fileutil 
  201. Xwill create, update, clean and generate reports based on file section(s)
  202. Xused by the rocat BBS system.
  203. X
  204. X.I fileutil 
  205. Xwill print a usage listing if used without options (or incorrect options)
  206. X
  207. X.SH OPTIONS
  208. X.TP
  209. X.B -c section_name
  210. XTells
  211. X.I fileutil
  212. Xto create the section 
  213. X.B section_name
  214. XThe section information must already exist in the bbs_files_header file.  
  215. XIt will read the directory associated with the files section and build a 
  216. Xsection header file based on the files found there.  
  217. X
  218. X.B Note:
  219. XThis command is for new section creation only.  Any existing files section
  220. Xheader will be discarded, resulting in lost header information.
  221. X
  222. X.TP
  223. X.B -n output_filename
  224. XWill generate a report of the new files uploaded within the last 7 days.
  225. X
  226. X.TP
  227. X.B -m output_filename
  228. XWill generate a report of the top 20 files by number of downloads.
  229. X
  230. X.TP
  231. X.B -u 
  232. XUpdate all files sections.  This will add files found in each files section
  233. Xdirectory.   This is a safer, global version of the '-c' option.
  234. X
  235. X.TP
  236. X.B -d 
  237. XDelete files that exist in the files section header, but do not exist in
  238. Xthe files section directory.
  239. X
  240. X.SH BUGS
  241. X.I fileutil
  242. Xlogs all errors to the BBS errlogd logging daemon.  Error messages don't
  243. Xshow up locally.
  244. X
  245. X.SH "SEE ALSO"
  246. Xerrlogd(1),  rocat(1), rocat documentation
  247. X.SH AUTHOR
  248. X.I fileutil
  249. Xis Copyright (C) 1994 by Gregory Shaw, <shaw@manwe.fmsoft.com>.
  250. END_OF_FILE
  251.   if test 1693 -ne `wc -c <'rocat-0.75/doc/fileutil.man'`; then
  252.     echo shar: \"'rocat-0.75/doc/fileutil.man'\" unpacked with wrong size!
  253.   fi
  254.   # end of 'rocat-0.75/doc/fileutil.man'
  255. fi
  256. if test -f 'rocat-0.75/examples/menus/appletop' -a "${1}" != "-c" ; then 
  257.   echo shar: Will not clobber existing file \"'rocat-0.75/examples/menus/appletop'\"
  258. else
  259.   echo shar: Extracting \"'rocat-0.75/examples/menus/appletop'\" \(1227 characters\)
  260.   sed "s/^X//" >'rocat-0.75/examples/menus/appletop' <<'END_OF_FILE'
  261. X0||||||| Roman Catacombs                                            Apple Files Area
  262. X0||||||| ---------------------------------------------------------------------------
  263. X0||||||| 
  264. X0|||||||                        ----------------------------
  265. X0|||||||                        1> Applications            
  266. X0|||||||                        2> Games                   
  267. X0|||||||                        3> Compression Programs    
  268. X0|||||||                        4> Sounds                  
  269. X0|||||||                        5> Utilities               
  270. X0|||||||                        6> Communications Programs 
  271. X0|||||||                        7> Inits/Cdevs             
  272. X0|||||||                        8> Mac BBS Programs        
  273. X0|||||||                        H>elp                      
  274. X0|||||||                        ----------------------------
  275. X0||||||| 
  276. X0||||||| 
  277. X0||||||| ---------------------------------------------------------------------------
  278. X0||||||| <-> Previous Menu     <F> Feedback to SysOp   <G> Quick Logout
  279. X1|g||||||
  280. X3|-||||||
  281. X2|1|||||macapps|
  282. X2|2|||||macgames|
  283. X2|3|||||maccomp|
  284. X2|4|||||macsounds|
  285. X2|5|||||macutils|
  286. X2|6|||||maccomm|
  287. X2|7|||||macinits|
  288. X2|8|||||macbbs|
  289. X21|f|||||elm -s feedback shaw|
  290. X2|h|||||helptop|
  291. END_OF_FILE
  292.   if test 1227 -ne `wc -c <'rocat-0.75/examples/menus/appletop'`; then
  293.     echo shar: \"'rocat-0.75/examples/menus/appletop'\" unpacked with wrong size!
  294.   fi
  295.   # end of 'rocat-0.75/examples/menus/appletop'
  296. fi
  297. if test -f 'rocat-0.75/examples/menus/arcade' -a "${1}" != "-c" ; then 
  298.   echo shar: Will not clobber existing file \"'rocat-0.75/examples/menus/arcade'\"
  299. else
  300.   echo shar: Extracting \"'rocat-0.75/examples/menus/arcade'\" \(1730 characters\)
  301.   sed "s/^X//" >'rocat-0.75/examples/menus/arcade' <<'END_OF_FILE'
  302. X0||||||| Roman Catacombs                                                      Arcade
  303. X0||||||| ---------------------------------------------------------------------------
  304. X0|||||||                        -------------------------------
  305. X0|||||||                    <W> 1. Backgammon                 
  306. X0|||||||      Philsopher's ---- 2. Battlestar                 
  307. X0|||||||         Den            3. Canfield                   
  308. X0|||||||                        4. Cribbage                   
  309. X0|||||||                        5. Fish                       
  310. X0|||||||                        6. Hangman                    
  311. X0|||||||                        7. Mille Bournes              
  312. X0|||||||                        8. Monopoly                   
  313. X0|||||||                        9. Nethack                    
  314. X0|||||||                        a. Paranoia                   
  315. X0|||||||                        b. Robots                     
  316. X0|||||||                        c. Sail                       
  317. X0|||||||                        d. Star Trek                  
  318. X0|||||||                        e. Hunt the Wumpus            
  319. X0|||||||                        H. H>elp                      
  320. X0|||||||                        ----------------------------
  321. X0||||||| ---------------------------------------------------------------------------
  322. X0||||||| <-> Previous Menu     <F> Feedback to SysOp   <G> Quick Logout
  323. X1|g||||||
  324. X3|-||||||
  325. X3|w|||||philsophers|
  326. X21|1|||||backgammon|
  327. X21|2|||||battlestar|
  328. X21|3|||||canfield|
  329. X21|4|||||cribbage|
  330. X21|5|||||fish|
  331. X21|6|||||hangman|
  332. X21|7|||||mille|
  333. X21|8|||||monop|
  334. X21|9|||||nethack|
  335. X21|a|||||paranoia|
  336. X21|b|||||robots|
  337. X21|c|||||sail|
  338. X21|d|||||trek|
  339. X21|e|||||wump|
  340. X21|f|||||elm -s feedback shaw|
  341. X2|h|||||helptop|
  342. END_OF_FILE
  343.   if test 1730 -ne `wc -c <'rocat-0.75/examples/menus/arcade'`; then
  344.     echo shar: \"'rocat-0.75/examples/menus/arcade'\" unpacked with wrong size!
  345.   fi
  346.   # end of 'rocat-0.75/examples/menus/arcade'
  347. fi
  348. if test -f 'rocat-0.75/examples/menus/art_studio' -a "${1}" != "-c" ; then 
  349.   echo shar: Will not clobber existing file \"'rocat-0.75/examples/menus/art_studio'\"
  350. else
  351.   echo shar: Extracting \"'rocat-0.75/examples/menus/art_studio'\" \(1217 characters\)
  352.   sed "s/^X//" >'rocat-0.75/examples/menus/art_studio' <<'END_OF_FILE'
  353. X0||||||| Roman Catacombs                                                  Art Studio
  354. X0||||||| ---------------------------------------------------------------------------
  355. X0||||||| 
  356. X0|||||||                                GIF Pictures
  357. X0|||||||                                     
  358. X0|||||||                                      <N>
  359. X0|||||||                        ----------------------------
  360. X0|||||||                        H>elp                      
  361. X0|||||||         Programs   <W>                            <E>
  362. X0|||||||           and       --                            -- Entry Vault
  363. X0|||||||       Other Graphics                              
  364. X0|||||||          Stuff                                    
  365. X0|||||||                        ----------------------------
  366. X0|||||||                                      <S>
  367. X0|||||||                                     
  368. X0|||||||                               JPEG Pictures
  369. X0||||||| 
  370. X0||||||| ---------------------------------------------------------------------------
  371. X0||||||| <-> Previous Menu     <F> Feedback to SysOp   <G> Quick Logout
  372. X1|g||||||
  373. X3|-||||||
  374. X3|e|||||main|
  375. X2|w|||||artprogs|
  376. X2|s|||||jpegtop|
  377. X2|n|||||giftop|
  378. X21|f|||||elm -s feedback shaw|
  379. X2|h|||||helptop|
  380. END_OF_FILE
  381.   if test 1217 -ne `wc -c <'rocat-0.75/examples/menus/art_studio'`; then
  382.     echo shar: \"'rocat-0.75/examples/menus/art_studio'\" unpacked with wrong size!
  383.   fi
  384.   # end of 'rocat-0.75/examples/menus/art_studio'
  385. fi
  386. if test -f 'rocat-0.75/examples/menus/artprogs' -a "${1}" != "-c" ; then 
  387.   echo shar: Will not clobber existing file \"'rocat-0.75/examples/menus/artprogs'\"
  388. else
  389.   echo shar: Extracting \"'rocat-0.75/examples/menus/artprogs'\" \(1235 characters\)
  390.   sed "s/^X//" >'rocat-0.75/examples/menus/artprogs' <<'END_OF_FILE'
  391. X0||||||| Roman Catacombs                                  Art Programs and Utilities
  392. X0||||||| ---------------------------------------------------------------------------
  393. X0||||||| 
  394. X0|||||||                        ----------------------------
  395. X0|||||||                        N>ew Files                 
  396. X0|||||||                        L>ist Files                
  397. X0|||||||                        S>earch for File           <E>
  398. X0|||||||                        I>nformation on File       --- Art Studio
  399. X0||199|>||||                        D>ownload file(s)          
  400. X0||199|>||||                        U>pload File(s)            
  401. X0|||||||                        H>elp                      
  402. X0|||||||                        ----------------------------
  403. X0||||||| 
  404. X0||||||| 
  405. X0||||||| 
  406. X0||||||| 
  407. X0||||||| ---------------------------------------------------------------------------
  408. X0||||||| <-> Previous Menu     <F> Feedback to SysOp   <G> Quick Logout
  409. X1|g||||||
  410. X3|-||||||
  411. X21|f|||||elm -s feedback shaw|
  412. X3|e|||||art_studio|
  413. X25|n|199|>|||artprogs|
  414. X26|n|200|<|||artprogs|
  415. X27|l|199|>|||artprogs|
  416. X28|l|200|<|||artprogs|
  417. X29|s|199|>|||artprogs|
  418. X30|s|200|<|||artprogs|
  419. X31|i|||||artprogs|
  420. X32|d|199|>|||artprogs|
  421. X33|u|199|>|||artprogs|
  422. X2|h|||||helptop|
  423. END_OF_FILE
  424.   if test 1235 -ne `wc -c <'rocat-0.75/examples/menus/artprogs'`; then
  425.     echo shar: \"'rocat-0.75/examples/menus/artprogs'\" unpacked with wrong size!
  426.   fi
  427.   # end of 'rocat-0.75/examples/menus/artprogs'
  428. fi
  429. if test -f 'rocat-0.75/examples/menus/helpgames' -a "${1}" != "-c" ; then 
  430.   echo shar: Will not clobber existing file \"'rocat-0.75/examples/menus/helpgames'\"
  431. else
  432.   echo shar: Extracting \"'rocat-0.75/examples/menus/helpgames'\" \(1792 characters\)
  433.   sed "s/^X//" >'rocat-0.75/examples/menus/helpgames' <<'END_OF_FILE'
  434. X0||||||| Roman Catacombs                                                  Games Help
  435. X0||||||| ---------------------------------------------------------------------------
  436. X0|||||||         This is the help system.  Select the number for additional help
  437. X0|||||||                        ------------------------------
  438. X0|||||||                        1. Short Game Descriptions   
  439. X0|||||||                        2. Backgammon Manual         
  440. X0|||||||                        3. Canfield Manual           
  441. X0|||||||                        4. Cribbage Manual           
  442. X0|||||||                        5. Fish Manual               
  443. X0|||||||                        6. Hangman Manual            
  444. X0|||||||                        7. Mille Bournes Manual      
  445. X0|||||||                        8. Monopoly Manual           
  446. X0|||||||                        9. Nethack Manual            
  447. X0|||||||                        a. Paranoia Manual           
  448. X0|||||||                        b. Robots Manual             
  449. X0|||||||                        c. Sail Manual               
  450. X0|||||||                        d. Star Trek Manual          
  451. X0|||||||                        e. Hunt the Wumpus Manual    
  452. X0|||||||                        ------------------------------
  453. X0||||||| ---------------------------------------------------------------------------
  454. X0||||||| <-> Previous Menu     <F> Feedback to SysOp   <G> Quick Logout
  455. X1|g||||||
  456. X3|-||||||
  457. X8|c||||||
  458. X10|1|||||helpgames|
  459. X21|2|||||man backgammon|
  460. X21|3|||||man canfield|
  461. X21|4|||||man cribbage|
  462. X21|5|||||man fish|
  463. X21|6|||||man hangman|
  464. X21|7|||||man mille|
  465. X21|8|||||man monop|
  466. X21|9|||||man nethack|
  467. X21|a|||||man paranoia|
  468. X21|b|||||man robots|
  469. X21|c|||||man sail|
  470. X21|d|||||man trek|
  471. X21|e|||||man wump|
  472. X21|f|||||elm -s feedback shaw|
  473. X21|p|||||elm|
  474. X10|r|||||reg.instr|
  475. END_OF_FILE
  476.   if test 1792 -ne `wc -c <'rocat-0.75/examples/menus/helpgames'`; then
  477.     echo shar: \"'rocat-0.75/examples/menus/helpgames'\" unpacked with wrong size!
  478.   fi
  479.   # end of 'rocat-0.75/examples/menus/helpgames'
  480. fi
  481. if test -f 'rocat-0.75/examples/menus/helptop' -a "${1}" != "-c" ; then 
  482.   echo shar: Will not clobber existing file \"'rocat-0.75/examples/menus/helptop'\"
  483. else
  484.   echo shar: Extracting \"'rocat-0.75/examples/menus/helptop'\" \(1243 characters\)
  485.   sed "s/^X//" >'rocat-0.75/examples/menus/helptop' <<'END_OF_FILE'
  486. X0||||||| Roman Catacombs                                                    Help Top
  487. X0||||||| ---------------------------------------------------------------------------
  488. X0||||||| 
  489. X0|||||||         This is the help system.  Select the number for additional help
  490. X0|||||||                        ----------------------------
  491. X0|||||||                        1. How to use TRC          
  492. X0|||||||                        2. Editors                 
  493. X0|||||||                        3. News & Electronic Mail  
  494. X0|||||||                        4. Games                   
  495. X0|||||||                        5. Files                   
  496. X0|||||||                        6. How to register for TRC 
  497. X0|||||||                        7. Linux Help              
  498. X0|||||||                        8. Info about BBS Program  
  499. X0|||||||                        ----------------------------
  500. X0||||||| 
  501. X0||||||| ---------------------------------------------------------------------------
  502. X0||||||| <-> Previous Menu     <F> Feedback to SysOp   <G> Quick Logout
  503. X1|g||||||
  504. X3|-||||||
  505. X8|c||||||
  506. X2|1|||||helpbbs|
  507. X2|2|||||helpeditors|
  508. X2|3|||||helpemail|
  509. X2|4|||||helpgames|
  510. X2|5|||||helpfiles|
  511. X10|6|||||reg.instr|
  512. X2|7|||||helplinux|
  513. X10|8|||||bbsinfo|
  514. X21|f|||||elm -s feedback shaw|
  515. END_OF_FILE
  516.   if test 1243 -ne `wc -c <'rocat-0.75/examples/menus/helptop'`; then
  517.     echo shar: \"'rocat-0.75/examples/menus/helptop'\" unpacked with wrong size!
  518.   fi
  519.   # end of 'rocat-0.75/examples/menus/helptop'
  520. fi
  521. if test -f 'rocat-0.75/examples/menus/main' -a "${1}" != "-c" ; then 
  522.   echo shar: Will not clobber existing file \"'rocat-0.75/examples/menus/main'\"
  523. else
  524.   echo shar: Extracting \"'rocat-0.75/examples/menus/main'\" \(1453 characters\)
  525.   sed "s/^X//" >'rocat-0.75/examples/menus/main' <<'END_OF_FILE'
  526. X0||||||| Roman Catacombs                                                 Entry Vault
  527. X0||||||| ---------------------------------------------------------------------------
  528. X0||||||| 
  529. X0|||||||                                   Exit
  530. X0|||||||                                     
  531. X0|||||||                                      <G>
  532. X0|||||||                        ----------------------------
  533. X0|||||||                        H>elp                      
  534. X0|||||||                    <W> P>rivate Mail              <E>
  535. X0|||||||          Art Studio -- R>egistration Instructions -- Computer Files
  536. X0|||||||                        U>tilities                 
  537. X0||400|>||||                        S<Y>sop's Area              
  538. X0|||||||                        C>hat with SysOp           
  539. X0||51|<||||                        L>inux Files Areas
  540. X0|||||||                        ----------------------------
  541. X0|||||||                                      <S>
  542. X0|||||||                                     
  543. X0|||||||                               News and Games
  544. X0||||||| 
  545. X0||||||| ---------------------------------------------------------------------------
  546. X0||||||| <-> Previous Menu     <F> Feedback to SysOp   <G> Quick Logout
  547. X1|g||||||
  548. X3|-||||||
  549. X8|c||||||
  550. X2|y|400|>|||sysop|
  551. X2|e|||||computerfiles|
  552. X2|w|||||art_studio|
  553. X2|s|||||newsngames|
  554. X2|u|||||utilities|
  555. X2|l|50|<|||linuxtop|
  556. X21|f|||||elm -s feedback shaw|
  557. X2|p|||||mail|
  558. X10|r|||||reg.instr|
  559. X2|h|||||helptop|
  560. X2|h|||||helptop|
  561. END_OF_FILE
  562.   if test 1453 -ne `wc -c <'rocat-0.75/examples/menus/main'`; then
  563.     echo shar: \"'rocat-0.75/examples/menus/main'\" unpacked with wrong size!
  564.   fi
  565.   # end of 'rocat-0.75/examples/menus/main'
  566. fi
  567. if test -f 'rocat-0.75/examples/menus/utilities' -a "${1}" != "-c" ; then 
  568.   echo shar: Will not clobber existing file \"'rocat-0.75/examples/menus/utilities'\"
  569. else
  570.   echo shar: Extracting \"'rocat-0.75/examples/menus/utilities'\" \(1282 characters\)
  571.   sed "s/^X//" >'rocat-0.75/examples/menus/utilities' <<'END_OF_FILE'
  572. X0||||||| Roman Catacombs                                                   Utilities 
  573. X0||||||| ---------------------------------------------------------------------------
  574. X0||||||| 
  575. X0|||||||                                       
  576. X0|||||||                                      
  577. X0|||||||                                          
  578. X0|||||||                        ----------------------------
  579. X0|||||||                        L>ist Users                
  580. X0|||||||                        S>earch for User           
  581. X0|||||||                        C>hange Password           
  582. X0|||||||                        U>ser Settings Change      
  583. X0|||||||                        E>ntry Vault               
  584. X0|||||||                        N>ew User Message          
  585. X0|||||||                        ----------------------------
  586. X0|||||||                                          
  587. X0|||||||                                      
  588. X0|||||||                                                
  589. X0||||||| 
  590. X0||||||| ---------------------------------------------------------------------------
  591. X0||||||| <-> Previous Menu     <F> Feedback to SysOp   <G> Quick Logout
  592. X1|g||||||
  593. X3|-||||||
  594. X3|e|||||main|
  595. X7|u||||||
  596. X4|s||||||
  597. X5|l||||||
  598. X21|f|||||elm -s feedback shaw|
  599. X21|c|||||passwd|
  600. X10|n|||||newuser.msg|
  601. X2|h|||||helptop|
  602. END_OF_FILE
  603.   if test 1282 -ne `wc -c <'rocat-0.75/examples/menus/utilities'`; then
  604.     echo shar: \"'rocat-0.75/examples/menus/utilities'\" unpacked with wrong size!
  605.   fi
  606.   # end of 'rocat-0.75/examples/menus/utilities'
  607. fi
  608. if test -f 'rocat-0.75/examples/menus/wintop' -a "${1}" != "-c" ; then 
  609.   echo shar: Will not clobber existing file \"'rocat-0.75/examples/menus/wintop'\"
  610. else
  611.   echo shar: Extracting \"'rocat-0.75/examples/menus/wintop'\" \(1235 characters\)
  612.   sed "s/^X//" >'rocat-0.75/examples/menus/wintop' <<'END_OF_FILE'
  613. X0||||||| Roman Catacombs                                          Windows Files Area
  614. X0||||||| ---------------------------------------------------------------------------
  615. X0|||||||
  616. X0|||||||
  617. X0|||||||                        ----------------------------
  618. X0|||||||                        1> Applications            
  619. X0|||||||                        2> Games                   
  620. X0|||||||                        3> Compression Programs    
  621. X0|||||||                        4> Sounds                  
  622. X0|||||||                        5> Utilities               
  623. X0|||||||                        6> Communications Programs 
  624. X0|||||||                        7> Drivers                 
  625. X0|||||||                        H>elp                      
  626. X0|||||||                        L>ogoff                    
  627. X0|||||||                        ----------------------------
  628. X0|||||||
  629. X0||||||| 
  630. X0||||||| ---------------------------------------------------------------------------
  631. X0||||||| <-> Previous Menu     <F> Feedback to SysOp   <G> Quick Logout
  632. X1|g||||||
  633. X3|-||||||
  634. X2|l|||||logoff|
  635. X2|1|||||winapps|
  636. X2|2|||||wingames|
  637. X2|3|||||wincomp|
  638. X2|4|||||winsounds|
  639. X2|5|||||winutils|
  640. X2|6|||||wincomm|
  641. X2|7|||||windrivrs|
  642. X21|f|||||elm -s feedback shaw|
  643. X2|h|||||helptop|
  644. END_OF_FILE
  645.   if test 1235 -ne `wc -c <'rocat-0.75/examples/menus/wintop'`; then
  646.     echo shar: \"'rocat-0.75/examples/menus/wintop'\" unpacked with wrong size!
  647.   fi
  648.   # end of 'rocat-0.75/examples/menus/wintop'
  649. fi
  650. if test -f 'rocat-0.75/filehdr/bbs_files_hdr' -a "${1}" != "-c" ; then 
  651.   echo shar: Will not clobber existing file \"'rocat-0.75/filehdr/bbs_files_hdr'\"
  652. else
  653.   echo shar: Extracting \"'rocat-0.75/filehdr/bbs_files_hdr'\" \(2086 characters\)
  654.   sed "s/^X//" >'rocat-0.75/filehdr/bbs_files_hdr' <<'END_OF_FILE'
  655. X#
  656. X# files header for the BBS.  Should contain one entry for every files area
  657. X# on the BBS
  658. X# format: filename sysop_name access_level download_path upload_path age_to_delete_files long_name_of_area 
  659. X#
  660. X
  661. X# dos files areas 
  662. X[ dosapps shaw 0 dos/apps uploads 0 Dos Applications ]
  663. X[ doscomm shaw 0 dos/comm uploads 0 Dos Communications Programs ]
  664. X[ doscomp shaw 0 dos/compress uploads 0 Dos Compression Programs ]
  665. X[ dosdrivrs shaw 0 dos/drivrs uploads 0 Dos Drivers ]
  666. X[ dosgames shaw 0 dos/games uploads 0 Dos Games ]
  667. X[ dossounds shaw 0 dos/sounds uploads 0 Dos Sounds ]
  668. X[ dosutils shaw 0 dos/utils uploads 0 Dos Utilities ]
  669. X
  670. X# windows files areas 
  671. X[ winapps shaw 0 windows/apps uploads 0 Windows Applications ]
  672. X[ wincomm shaw 0 windows/comm uploads 0 Windows Communications Programs ]
  673. X[ wincomp shaw 0 windows/compress uploads 0 Windows Compression Programs ]
  674. X[ windrivrs shaw 0 windows/drivrs uploads 0 Windows Drivers ]
  675. X[ wingames shaw 0 windows/games uploads 0 Windows Games ]
  676. X[ winsounds shaw 0 windows/sounds uploads 0 Windows Sounds ]
  677. X[ winutils shaw 0 windows/utils uploads 0 Windows Utilities ]
  678. X
  679. X# Macintosh files areas 
  680. X[ macapps shaw 0 macintosh/apps uploads 0 Macintosh Applications ]
  681. X[ maccomm shaw 0 macintosh/comm uploads 0 Macintosh Communications Programs ]
  682. X[ maccomp shaw 0 macintosh/compress uploads 0 Macintosh Compression Programs ]
  683. X[ macgames shaw 0 macintosh/games uploads 0 Macintosh Games ]
  684. X[ macinits shaw 0 macintosh/inits uploads 0 Macintosh CDEVs and INITs ]
  685. X[ macsounds shaw 0 macintosh/sounds uploads 0 Macintosh Sounds ]
  686. X[ macutils shaw 0 macintosh/utils uploads 0 Macintosh Utilities ]
  687. X[ macbbs shaw 0 macintosh/bbs uploads 0 Macintosh BBS Programs ]
  688. X
  689. X# picture areas
  690. X[ fracts shaw 0 pictures/other/fracts uploads 0 Fractal Pictures ]
  691. X[ other shaw 0 pictures/other/other uploads 0 Other Pictures ]
  692. X[ planes shaw 0 pictures/other/planes uploads 0 Airplane Pictures ]
  693. X[ cars shaw 0 pictures/other/cars uploads 0 Car Pictures ]
  694. X[ space shaw 0 pictures/other/space uploads 0 Space Pictures ]
  695. X[ artprogs shaw 0 pictures/progs/ uploads 0 Graphics (Art) Programs ]
  696. X
  697. END_OF_FILE
  698.   if test 2086 -ne `wc -c <'rocat-0.75/filehdr/bbs_files_hdr'`; then
  699.     echo shar: \"'rocat-0.75/filehdr/bbs_files_hdr'\" unpacked with wrong size!
  700.   fi
  701.   chmod +x 'rocat-0.75/filehdr/bbs_files_hdr'
  702.   # end of 'rocat-0.75/filehdr/bbs_files_hdr'
  703. fi
  704. if test -f 'rocat-0.75/menus/main' -a "${1}" != "-c" ; then 
  705.   echo shar: Will not clobber existing file \"'rocat-0.75/menus/main'\"
  706. else
  707.   echo shar: Extracting \"'rocat-0.75/menus/main'\" \(1453 characters\)
  708.   sed "s/^X//" >'rocat-0.75/menus/main' <<'END_OF_FILE'
  709. X0||||||| Roman Catacombs                                                 Entry Vault
  710. X0||||||| ---------------------------------------------------------------------------
  711. X0||||||| 
  712. X0|||||||                                   Exit
  713. X0|||||||                                     
  714. X0|||||||                                      <G>
  715. X0|||||||                        ----------------------------
  716. X0|||||||                        H>elp                      
  717. X0|||||||                    <W> P>rivate Mail              <E>
  718. X0|||||||          Art Studio -- R>egistration Instructions -- Computer Files
  719. X0|||||||                        U>tilities                 
  720. X0||400|>||||                        S<Y>sop's Area              
  721. X0|||||||                        C>hat with SysOp           
  722. X0||51|<||||                        L>inux Files Areas
  723. X0|||||||                        ----------------------------
  724. X0|||||||                                      <S>
  725. X0|||||||                                     
  726. X0|||||||                               News and Games
  727. X0||||||| 
  728. X0||||||| ---------------------------------------------------------------------------
  729. X0||||||| <-> Previous Menu     <F> Feedback to SysOp   <G> Quick Logout
  730. X1|g||||||
  731. X3|-||||||
  732. X8|c||||||
  733. X2|y|400|>|||sysop|
  734. X2|e|||||computerfiles|
  735. X2|w|||||art_studio|
  736. X2|s|||||newsngames|
  737. X2|u|||||utilities|
  738. X2|l|50|<|||linuxtop|
  739. X21|f|||||elm -s feedback shaw|
  740. X2|p|||||mail|
  741. X10|r|||||reg.instr|
  742. X2|h|||||helptop|
  743. X2|h|||||helptop|
  744. END_OF_FILE
  745.   if test 1453 -ne `wc -c <'rocat-0.75/menus/main'`; then
  746.     echo shar: \"'rocat-0.75/menus/main'\" unpacked with wrong size!
  747.   fi
  748.   # end of 'rocat-0.75/menus/main'
  749. fi
  750. if test -f 'rocat-0.75/src/Makefile' -a "${1}" != "-c" ; then 
  751.   echo shar: Will not clobber existing file \"'rocat-0.75/src/Makefile'\"
  752. else
  753.   echo shar: Extracting \"'rocat-0.75/src/Makefile'\" \(2021 characters\)
  754.   sed "s/^X//" >'rocat-0.75/src/Makefile' <<'END_OF_FILE'
  755. X# 
  756. X#  Makefile for the rocat BBS System
  757. X#  Copyright C 1994 by Gregory Shaw
  758. X# 
  759. X#  Don't look here!  The docs are in the doc directory.
  760. X#
  761. X#  Also: Don't forget to do a 'make depend' prior to 'make'!
  762. X
  763. XCC=gcc
  764. XCFLAGS= -g -D_POSIX_SOURCE -Wall
  765. XLIBS=-lm
  766. X
  767. X
  768. X.SUFFIXES: .C .o
  769. X
  770. X.C.o:
  771. X    $(CC) -c $(CFLAGS) $<
  772. X
  773. X
  774. XHDRS= bbs.h bbsint.h errlog.h menu.h user.h bbshdr.h bbsipc.h filelock.h \
  775. X    ports.h bbsinfo.h socket.h sysexec.h
  776. X
  777. X
  778. X
  779. Xall: bbs
  780. X
  781. Xbackup:    clean
  782. X    cd ../..;tar cvf /dev/fd0H1440 rocat
  783. X    @echo Backup complete!
  784. X
  785. Xbbs:    bbs.o user.o bbsint.o bbsipc.o bbsinfo.o errlog.o filelock.o \
  786. X    menu.o files.o dllist.o moncon.o sysexec.o
  787. X    $(CC) -g -o bbs bbs.o user.o filelock.o bbsint.o bbsipc.o menu.o \
  788. X    bbsinfo.o errlog.o dllist.o files.o moncon.o sysexec.o $(LIBS)
  789. X
  790. Xbbsipc: bbsipc.o
  791. X
  792. Xclean:
  793. X    rm -f *.o
  794. X    rm -f core
  795. X    rm -f bbs
  796. X    rm -f *test
  797. X    rm -f errlogd
  798. X    rm -f monitor
  799. X    rm -f fileutil
  800. X
  801. Xdepend:    
  802. X    makedepend *.C
  803. X
  804. Xdltest:    dltest.o dllist.o
  805. X    $(CC) -o dltest dltest.o dllist.o
  806. X
  807. Xerrlogd:  errlogd.o
  808. X    $(CC) -c $(CFLAGS) -D_SERVER_ errlogd.C
  809. X    $(CC) -c $(CFLAGS) -D_SERVER_ bbsipc.C
  810. X    $(CC) -o errlogd errlogd.o bbsipc.o $(LIBS)
  811. X
  812. Xfileutil:    files.o dllist.o fileutil.o user.o bbsint.o bbsipc.o \
  813. X        bbsinfo.o errlog.o filelock.o menu.o moncon.o sysexec.o
  814. X    $(CC) -o  fileutil files.o fileutil.o dllist.o user.o filelock.o \
  815. X        bbsint.o bbsipc.o menu.o bbsinfo.o errlog.o moncon.o \
  816. X        sysexec.o $(LIBS)
  817. X
  818. Xfilesupdate:    filesupdate.o
  819. X    $(CC) -o filesupdate filesupdate.o
  820. X
  821. X    
  822. Xinstall: bbs errlogd fileutil monitor
  823. X    strip bbs errlogd fileutil monitor
  824. X    cp fileutil $(BBSDIR)/bin
  825. X    chmod 775 bbs
  826. X    rm -f $(BBSDIR)/rocat
  827. X    cp bbs $(BBSDIR)/rocat
  828. X    chgrp bbs $(BBSDIR)/rocat
  829. X    chmod g+s $(BBSDIR)/rocat
  830. X    chmod 775 monitor
  831. X    chgrp bbs monitor
  832. X    cp monitor $(BBSDIR)/bin
  833. X    chmod 775 errlogd
  834. X    chgrp bbs errlogd
  835. X    chmod g+s errlogd
  836. X    cp errlogd $(BBSDIR)/bin
  837. X
  838. Xmonitor: bbsint.o
  839. X    $(CC) -c $(CFLAGS) -D_SERVER_ bbsipc.C
  840. X    $(CC) -c $(CFLAGS) -D_SERVER_ monitor.C
  841. X    $(CC) -g -o monitor monitor.o bbsipc.o $(LIBS)
  842. X
  843. X# dependancies
  844. X
  845. X# DO NOT DELETE THIS LINE -- make depend depends on it.
  846. END_OF_FILE
  847.   if test 2021 -ne `wc -c <'rocat-0.75/src/Makefile'`; then
  848.     echo shar: \"'rocat-0.75/src/Makefile'\" unpacked with wrong size!
  849.   fi
  850.   chmod +x 'rocat-0.75/src/Makefile'
  851.   # end of 'rocat-0.75/src/Makefile'
  852. fi
  853. if test -f 'rocat-0.75/src/Makefile.dist' -a "${1}" != "-c" ; then 
  854.   echo shar: Will not clobber existing file \"'rocat-0.75/src/Makefile.dist'\"
  855. else
  856.   echo shar: Extracting \"'rocat-0.75/src/Makefile.dist'\" \(1955 characters\)
  857.   sed "s/^X//" >'rocat-0.75/src/Makefile.dist' <<'END_OF_FILE'
  858. X# 
  859. X#  Makefile for the rocat BBS System
  860. X#  Copyright C 1994 by Gregory Shaw
  861. X# 
  862. X#  Don't look here!  The docs are in the doc directory.
  863. X#
  864. X#  Also: Don't forget to do a 'make depend' prior to 'make'!
  865. X
  866. XCC=gcc
  867. XCFLAGS= -g -D_POSIX_SOURCE -Wall
  868. XLIBS=-lm
  869. X
  870. X
  871. X.SUFFIXES: .C .o
  872. X
  873. X.C.o:
  874. X    $(CC) -c $(CFLAGS) $<
  875. X
  876. X
  877. XHDRS= bbs.h bbsint.h errlog.h menu.h user.h bbshdr.h bbsipc.h filelock.h \
  878. X    ports.h bbsinfo.h socket.h sysexec.h
  879. X
  880. X
  881. X
  882. Xall: bbs
  883. X
  884. Xbackup:    clean
  885. X    cd ../..;tar cvf /dev/fd0H1440 rocat
  886. X    @echo Backup complete!
  887. X
  888. Xbbs:    bbs.o user.o bbsint.o bbsipc.o bbsinfo.o errlog.o filelock.o \
  889. X    menu.o files.o dllist.o moncon.o sysexec.o
  890. X    $(CC) -g -o bbs bbs.o user.o filelock.o bbsint.o bbsipc.o menu.o \
  891. X    bbsinfo.o errlog.o dllist.o files.o moncon.o sysexec.o $(LIBS)
  892. X
  893. Xbbsipc: bbsipc.o
  894. X
  895. Xclean:
  896. X    rm -f *.o
  897. X    rm -f core
  898. X    rm -f bbs
  899. X    rm -f *test
  900. X    rm -f errlogd
  901. X    rm -f monitor
  902. X    rm -f fileutil
  903. X
  904. Xdepend:    
  905. X    makedepend *.C
  906. X
  907. Xdltest:    dltest.o dllist.o
  908. X    $(CC) -o dltest dltest.o dllist.o
  909. X
  910. Xerrlogd:  errlogd.o
  911. X    $(CC) -c $(CFLAGS) -D_SERVER_ errlogd.C
  912. X    $(CC) -c $(CFLAGS) -D_SERVER_ bbsipc.C
  913. X    $(CC) -o errlogd errlogd.o bbsipc.o $(LIBS)
  914. X
  915. Xfileutil:    files.o dllist.o fileutil.o user.o bbsint.o bbsipc.o \
  916. X        bbsinfo.o errlog.o filelock.o menu.o moncon.o sysexec.o
  917. X    $(CC) -o  fileutil files.o fileutil.o dllist.o user.o filelock.o \
  918. X        bbsint.o bbsipc.o menu.o bbsinfo.o errlog.o moncon.o \
  919. X        sysexec.o $(LIBS)
  920. X
  921. Xinstall: bbs errlogd fileutil monitor
  922. X    strip bbs errlogd fileutil monitor
  923. X    cp fileutil $(BBSDIR)/bin
  924. X    chmod 775 bbs
  925. X    rm -f $(BBSDIR)/rocat
  926. X    cp bbs $(BBSDIR)/rocat
  927. X    chgrp bbs $(BBSDIR)/rocat
  928. X    chmod g+s $(BBSDIR)/rocat
  929. X    chmod 775 monitor
  930. X    chgrp bbs monitor
  931. X    cp monitor $(BBSDIR)/bin
  932. X    chmod 775 errlogd
  933. X    chgrp bbs errlogd
  934. X    chmod g+s errlogd
  935. X    cp errlogd $(BBSDIR)/bin
  936. X
  937. Xmonitor: bbsint.o
  938. X    $(CC) -c $(CFLAGS) -D_SERVER_ bbsipc.C
  939. X    $(CC) -c $(CFLAGS) -D_SERVER_ monitor.C
  940. X    $(CC) -g -o monitor monitor.o bbsipc.o $(LIBS)
  941. X
  942. X# dependancies
  943. X
  944. X# DO NOT DELETE THIS LINE -- make depend depends on it.
  945. END_OF_FILE
  946.   if test 1955 -ne `wc -c <'rocat-0.75/src/Makefile.dist'`; then
  947.     echo shar: \"'rocat-0.75/src/Makefile.dist'\" unpacked with wrong size!
  948.   fi
  949.   chmod +x 'rocat-0.75/src/Makefile.dist'
  950.   # end of 'rocat-0.75/src/Makefile.dist'
  951. fi
  952. if test -f 'rocat-0.75/src/bbs.h' -a "${1}" != "-c" ; then 
  953.   echo shar: Will not clobber existing file \"'rocat-0.75/src/bbs.h'\"
  954. else
  955.   echo shar: Extracting \"'rocat-0.75/src/bbs.h'\" \(1475 characters\)
  956.   sed "s/^X//" >'rocat-0.75/src/bbs.h' <<'END_OF_FILE'
  957. X// Filename:    bbs.h
  958. X// Contents:    the bbs object definitions
  959. X// Author:        Greg Shaw
  960. X// Created:        5/28/93
  961. X
  962. X/* 
  963. X
  964. XThis file is free software; you can redistribute it and/or modify it
  965. Xunder the terms of the GNU General Public License as published by the
  966. XFree Software Foundation; either version 2, or (at your option) any
  967. Xlater version.
  968. X
  969. XIn addition to the permissions in the GNU General Public License, the
  970. XFree Software Foundation gives you unlimited permission to link the
  971. Xcompiled version of this file with other programs, and to distribute
  972. Xthose programs without any restriction coming from the use of this
  973. Xfile.  (The General Public License restrictions do apply in other
  974. Xrespects; for example, they cover modification of the file, and
  975. Xdistribution when not linked into another program.)
  976. X
  977. XThis file is distributed in the hope that it will be useful, but
  978. XWITHOUT ANY WARRANTY; without even the implied warranty of
  979. XMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  980. XGeneral Public License for more details.
  981. X
  982. XYou should have received a copy of the GNU General Public License
  983. Xalong with this program; see the file COPYING.  If not, write to
  984. Xthe Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
  985. X
  986. X#ifndef _BBS_H_
  987. X#define _BBS_H_
  988. X
  989. X#define SYSMSGFLAGS    0x20000000    // the low flags number for system message shown flag
  990. X#define MENU_STACK_SIZE    30        // 30 menus max stack depth
  991. X#define MENU_NAME_LEN    50        // 15 chars max per menu name
  992. X
  993. X#endif // _BBS_H_
  994. END_OF_FILE
  995.   if test 1475 -ne `wc -c <'rocat-0.75/src/bbs.h'`; then
  996.     echo shar: \"'rocat-0.75/src/bbs.h'\" unpacked with wrong size!
  997.   fi
  998.   chmod +x 'rocat-0.75/src/bbs.h'
  999.   # end of 'rocat-0.75/src/bbs.h'
  1000. fi
  1001. if test -f 'rocat-0.75/src/bbsint.h' -a "${1}" != "-c" ; then 
  1002.   echo shar: Will not clobber existing file \"'rocat-0.75/src/bbsint.h'\"
  1003. else
  1004.   echo shar: Extracting \"'rocat-0.75/src/bbsint.h'\" \(3231 characters\)
  1005.   sed "s/^X//" >'rocat-0.75/src/bbsint.h' <<'END_OF_FILE'
  1006. X// Filename:    bbsint.h
  1007. X// Contents:     the bbs interface object definition
  1008. X// Author:        Greg Shaw
  1009. X// Created:        7/12/93
  1010. X
  1011. X/*
  1012. XThis file is free software; you can redistribute it and/or modify it
  1013. Xunder the terms of the GNU General Public License as published by the
  1014. XFree Software Foundation; either version 2, or (at your option) any
  1015. Xlater version.
  1016. X
  1017. XIn addition to the permissions in the GNU General Public License, the
  1018. XFree Software Foundation gives you unlimited permission to link the
  1019. Xcompiled version of this file with other programs, and to distribute
  1020. Xthose programs without any restriction coming from the use of this
  1021. Xfile.  (The General Public License restrictions do apply in other
  1022. Xrespects; for example, they cover modification of the file, and
  1023. Xdistribution when not linked into another program.)
  1024. X
  1025. XThis file is distributed in the hope that it will be useful, but
  1026. XWITHOUT ANY WARRANTY; without even the implied warranty of
  1027. XMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  1028. XGeneral Public License for more details.
  1029. X
  1030. XYou should have received a copy of the GNU General Public License
  1031. Xalong with this program; see the file COPYING.  If not, write to
  1032. Xthe Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
  1033. X
  1034. X#ifndef _BBSINT_H_
  1035. X#define _BBSINT_H_
  1036. X
  1037. X// Object:        bbsint
  1038. X// Purpose:        interface the bbs to the user.  Input/output.
  1039. X// Attributes:    
  1040. X//        cur_colors[2];         current screen colors (0 - fore, 1 - back)
  1041. X//        cur_pos[2];         current position of cursor
  1042. X// Methods:        gstr - get a string from the user
  1043. X//                gch - get a character from the user
  1044. X//                 sstr - send a string to the user
  1045. X//                 sstrcr - send a string to the user (with cr)
  1046. X//                char_avail - is a character available for reading?
  1047. X//                redf - go to red foreground
  1048. X//                bluef - go to blue foreground
  1049. X//                 greenf - go to green foreground
  1050. X//                redb - go to red background
  1051. X//                blueb - go to blue background
  1052. X//                greenb - go to green background
  1053. X//                cr - just send carriage return
  1054. X//                clear - clear the user's screen
  1055. X//                connect_monitor - try to connect to monitor
  1056. X//                yesno - get a yes or no character from user
  1057. X// Author:        Greg Shaw
  1058. X// Created:        7/12/93
  1059. X
  1060. Xclass bbsint: public sysexec
  1061. X{
  1062. X    struct termios rbuf;        // termio settings (for regular io)
  1063. X    char    tstate;            // terminal state - char or reg.
  1064. X    int    cur_colors[2];        // current screen colors (0 - fore, 1 - back)
  1065. X    char    cur_pos[2];        // current position of cursor
  1066. Xpublic:
  1067. X
  1068. X    bbsint();                // constructor        
  1069. X    char_avail(int who, int timeout);    // poll for character available
  1070. X    clear(void);            // attempt to clear screen
  1071. X    connect_monitor(void);    // attempt to connect to monitor process
  1072. X    void cr(void);            // send carriage return to user
  1073. X    display_file(char *path, char page);    // display file for user
  1074. X    char gch(int wait);        // get a character from user
  1075. X    void sch(char ch);        // send character to user
  1076. X    gstr(char *str, int maxlen);    // get a string from the user
  1077. X    sstr(char *str);    // send character
  1078. X    sstrcr(char *str);    // send character with cr
  1079. X    sysopstrcr(char *str);    // send character with cr to sysop only.
  1080. X    void term_mode(int type);// setup terminal mode for nonblock reads
  1081. X    void waitcr(void);        // prompt user to hit CR
  1082. X    yesno(void);        // get a yes or no answer from user
  1083. X};
  1084. X
  1085. X#endif // _BBSINT_H_
  1086. END_OF_FILE
  1087.   if test 3231 -ne `wc -c <'rocat-0.75/src/bbsint.h'`; then
  1088.     echo shar: \"'rocat-0.75/src/bbsint.h'\" unpacked with wrong size!
  1089.   fi
  1090.   chmod +x 'rocat-0.75/src/bbsint.h'
  1091.   # end of 'rocat-0.75/src/bbsint.h'
  1092. fi
  1093. if test -f 'rocat-0.75/src/bbsipc.h' -a "${1}" != "-c" ; then 
  1094.   echo shar: Will not clobber existing file \"'rocat-0.75/src/bbsipc.h'\"
  1095. else
  1096.   echo shar: Extracting \"'rocat-0.75/src/bbsipc.h'\" \(2963 characters\)
  1097.   sed "s/^X//" >'rocat-0.75/src/bbsipc.h' <<'END_OF_FILE'
  1098. X// Filename:    bbsipc.h
  1099. X// Contents:    the definitions for the bbs ipc (socket interface) object
  1100. X// Author:        Greg Shaw
  1101. X// Created:        6/13/93
  1102. X
  1103. X/*
  1104. XThis file is free software; you can redistribute it and/or modify it
  1105. Xunder the terms of the GNU General Public License as published by the
  1106. XFree Software Foundation; either version 2, or (at your option) any
  1107. Xlater version.
  1108. X
  1109. XIn addition to the permissions in the GNU General Public License, the
  1110. XFree Software Foundation gives you unlimited permission to link the
  1111. Xcompiled version of this file with other programs, and to distribute
  1112. Xthose programs without any restriction coming from the use of this
  1113. Xfile.  (The General Public License restrictions do apply in other
  1114. Xrespects; for example, they cover modification of the file, and
  1115. Xdistribution when not linked into another program.)
  1116. X
  1117. XThis file is distributed in the hope that it will be useful, but
  1118. XWITHOUT ANY WARRANTY; without even the implied warranty of
  1119. XMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  1120. XGeneral Public License for more details.
  1121. X
  1122. XYou should have received a copy of the GNU General Public License
  1123. Xalong with this program; see the file COPYING.  If not, write to
  1124. Xthe Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
  1125. X
  1126. X#ifndef _BBSIPC_H_
  1127. X#define _BBSIPC_H_
  1128. X
  1129. X// generic defines
  1130. X#define ETX    0x3        // end of transmission 
  1131. X
  1132. X// Class:    bbsipc
  1133. X// Purpose:    the interface object for the bbs ipc processes
  1134. X// Members:
  1135. X//            socket - the socket connected (or not connected) to
  1136. X//             transient - are we using transient operation?
  1137. X//            sock_open - is the socket open?
  1138. X// Methods:
  1139. X//            constructor - initialize object
  1140. X//            destructor - close socket (if open)
  1141. X//            opensock() - open socket
  1142. X//            closesock() - close socket
  1143. X//            send()    - send a message
  1144. X//            msg_avail() - is a message available
  1145. X//            receive() - receive message
  1146. X//            do_connect() - receive message
  1147. X//            two_connect() - connect to server, get socket, disconnect,
  1148. X//                            reconnect with new socket number
  1149. X// Notes:    this object shouldn't be a directly addressible object -- it
  1150. X//            should be inherited if at all possible.
  1151. X// Author:    Greg Shaw
  1152. X// Created:    6/13/93
  1153. X
  1154. Xclass bbsipc
  1155. X{
  1156. X    int    sock_fd;    // socket file descriptor (for read and write)
  1157. X    int    serv_sock_fd;    // socket file descriptor (for read and write)
  1158. X    int    sockt;        // socket to use for communication
  1159. X    char    server;        // server mode?
  1160. X    char    hostname[255];    // hostname connected to
  1161. X    char    sock_open;    // is socket open and ready for communication?
  1162. X    char    connected;    // is socket connected?
  1163. Xpublic:
  1164. X    bbsipc();        // init object
  1165. X    ~bbsipc();        // close socket (if applicable)
  1166. X    open_sock(char *name, int socknum); // open socket
  1167. X    close_sock(int client_only);    // close open socket
  1168. X    send(char *msg);    // send a message
  1169. X    msg_avail(char wait);    // is a message available?
  1170. X    receive(char *msg);    // recieve a message
  1171. X    do_connect(void);    // get a connection (server only)
  1172. X    two_connect(char *name, int socknum);    // see above
  1173. X};
  1174. X
  1175. X
  1176. X
  1177. X#endif // _BBSIPC_H_
  1178. END_OF_FILE
  1179.   if test 2963 -ne `wc -c <'rocat-0.75/src/bbsipc.h'`; then
  1180.     echo shar: \"'rocat-0.75/src/bbsipc.h'\" unpacked with wrong size!
  1181.   fi
  1182.   chmod +x 'rocat-0.75/src/bbsipc.h'
  1183.   # end of 'rocat-0.75/src/bbsipc.h'
  1184. fi
  1185. if test -f 'rocat-0.75/src/dllist.h' -a "${1}" != "-c" ; then 
  1186.   echo shar: Will not clobber existing file \"'rocat-0.75/src/dllist.h'\"
  1187. else
  1188.   echo shar: Extracting \"'rocat-0.75/src/dllist.h'\" \(3231 characters\)
  1189.   sed "s/^X//" >'rocat-0.75/src/dllist.h' <<'END_OF_FILE'
  1190. X// Filename:    dllist.h
  1191. X// Contents:    the object definition for the doubly linked list object
  1192. X// Author:    Greg Shaw
  1193. X// Created:    8/2/93
  1194. X
  1195. X/*
  1196. XThis file is free software; you can redistribute it and/or modify it
  1197. Xunder the terms of the GNU General Public License as published by the
  1198. XFree Software Foundation; either version 2, or (at your option) any
  1199. Xlater version.
  1200. X
  1201. XIn addition to the permissions in the GNU General Public License, the
  1202. XFree Software Foundation gives you unlimited permission to link the
  1203. Xcompiled version of this file with other programs, and to distribute
  1204. Xthose programs without any restriction coming from the use of this
  1205. Xfile.  (The General Public License restrictions do apply in other
  1206. Xrespects; for example, they cover modification of the file, and
  1207. Xdistribution when not linked into another program.)
  1208. X
  1209. XThis file is distributed in the hope that it will be useful, but
  1210. XWITHOUT ANY WARRANTY; without even the implied warranty of
  1211. XMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  1212. XGeneral Public License for more details.
  1213. X
  1214. XYou should have received a copy of the GNU General Public License
  1215. Xalong with this program; see the file COPYING.  If not, write to
  1216. Xthe Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
  1217. X
  1218. X#ifndef _DLLIST_H_
  1219. X#define _DLLIST_H_
  1220. X
  1221. X#include "bbshdr.h"
  1222. X
  1223. X
  1224. X// Structure:    finfo
  1225. X// Contents:    the record for a file in a files section
  1226. X// Author:    Greg Shaw
  1227. X// Created:    8/1/93
  1228. X
  1229. Xtypedef struct finfo
  1230. X{
  1231. X    char name[MAX_FILENAMELENGTH+1];        // name of file
  1232. X    char sdesc[61];        // short description
  1233. X    char uploader[41];    // name of uploader
  1234. X    char avail;        // is file online and available?
  1235. X    time_t    date;        // date of upload
  1236. X    int    numdls;        // number of times downloaded
  1237. X    unsigned long filepos;    // position in file of description
  1238. X    unsigned long size;    // size of file
  1239. X    struct finfo *next;    // next record
  1240. X    struct finfo *previous; // previous record
  1241. X}; 
  1242. X
  1243. Xtypedef struct finfo FInfo;
  1244. X
  1245. X// Object:    dllist
  1246. X// Purpose:    encapsulate a dynamically linked list object with
  1247. X//        self-sorting capabilities.
  1248. X// Attributes:    numrec - number of records in list
  1249. X//        head - head of list
  1250. X//         tail - tail of list
  1251. X//        sortstate - the current sorted state:
  1252. X//            0 - unsorted (just loaded)
  1253. X//            1 - ascending by date
  1254. X//            2 - ascending by alphabetic
  1255. X// Methods:    add - add to list
  1256. X//        open - read in files section
  1257. X//         clear - nuke list
  1258. X//         sort - sort list (by key)
  1259. X//        previous - return 'previous' record
  1260. X//        next - return 'next' record
  1261. X// Author:    Greg Shaw
  1262. X// Created:    8/2/93
  1263. X
  1264. Xclass dllist : public errlog
  1265. X{
  1266. X    int    numrec;        // number of records in list
  1267. X    FInfo    *head;        // head of list
  1268. X    FInfo    *tail;        // tail (end) of list
  1269. X    FInfo    *here;        // current list record pointer
  1270. X    int    sortstate;    // current sorted state
  1271. X    sel_sort(int srtype, FInfo *head);    // sort records by type
  1272. Xpublic:
  1273. X    dllist();        // constructor
  1274. X    ~dllist();        // destructor
  1275. X    add(FInfo *rec);    // add to list
  1276. X    clear_list(void);        // nuke list
  1277. X    sort(int type);        // sort list
  1278. X    top(void);        // go to head of list
  1279. X    bottom(void);        // go to tail of list
  1280. X    numrecs(void) { return(numrec); }; // return number of records
  1281. X    FInfo *previous(void);    // previous record
  1282. X    FInfo *next(void);    // next record
  1283. X    FInfo *find(char *str);    // search record for string
  1284. X};
  1285. X
  1286. X
  1287. X#endif // _DLLIST_H_
  1288. END_OF_FILE
  1289.   if test 3231 -ne `wc -c <'rocat-0.75/src/dllist.h'`; then
  1290.     echo shar: \"'rocat-0.75/src/dllist.h'\" unpacked with wrong size!
  1291.   fi
  1292.   chmod +x 'rocat-0.75/src/dllist.h'
  1293.   # end of 'rocat-0.75/src/dllist.h'
  1294. fi
  1295. if test -f 'rocat-0.75/src/errlog.h' -a "${1}" != "-c" ; then 
  1296.   echo shar: Will not clobber existing file \"'rocat-0.75/src/errlog.h'\"
  1297. else
  1298.   echo shar: Extracting \"'rocat-0.75/src/errlog.h'\" \(1872 characters\)
  1299.   sed "s/^X//" >'rocat-0.75/src/errlog.h' <<'END_OF_FILE'
  1300. X// Filename:    errlog.h
  1301. X// Contents:    the error logger object.  Used in the entire BBS system to
  1302. X//                serve as a cental error repository
  1303. X// Author:        Greg Shaw
  1304. X// Created:        7/11/93
  1305. X
  1306. X/*
  1307. XThis file is free software; you can redistribute it and/or modify it
  1308. Xunder the terms of the GNU General Public License as published by the
  1309. XFree Software Foundation; either version 2, or (at your option) any
  1310. Xlater version.
  1311. X
  1312. XIn addition to the permissions in the GNU General Public License, the
  1313. XFree Software Foundation gives you unlimited permission to link the
  1314. Xcompiled version of this file with other programs, and to distribute
  1315. Xthose programs without any restriction coming from the use of this
  1316. Xfile.  (The General Public License restrictions do apply in other
  1317. Xrespects; for example, they cover modification of the file, and
  1318. Xdistribution when not linked into another program.)
  1319. X
  1320. XThis file is distributed in the hope that it will be useful, but
  1321. XWITHOUT ANY WARRANTY; without even the implied warranty of
  1322. XMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  1323. XGeneral Public License for more details.
  1324. X
  1325. XYou should have received a copy of the GNU General Public License
  1326. Xalong with this program; see the file COPYING.  If not, write to
  1327. Xthe Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
  1328. X
  1329. X#ifndef _ERRLOG_H_
  1330. X#define _ERRLOG_H_
  1331. X
  1332. X// Object:        errlog
  1333. X// Purpose:        serve as the central BBS error logging function
  1334. X// Attributes:    
  1335. X//                 none
  1336. X// Methods:
  1337. X//        ap_log    append to the log file
  1338. X//         er_log    append to log file and abort program (should be rarely used)
  1339. X// Author:        Greg Shaw
  1340. X// Created:        7/11/93
  1341. X
  1342. Xclass errlog: public bbsipc, public bbsinfo// inherited from bbsipc object
  1343. X{                    // and bbsinfo object
  1344. X    bbsipc ipcobj;        // ipc object
  1345. Xpublic:
  1346. X    ap_log(char *msg);        // append to log file
  1347. X    er_log(char *msg);        // append to log file and exit
  1348. X};
  1349. X
  1350. X#endif // _ERRLOG_H_
  1351. END_OF_FILE
  1352.   if test 1872 -ne `wc -c <'rocat-0.75/src/errlog.h'`; then
  1353.     echo shar: \"'rocat-0.75/src/errlog.h'\" unpacked with wrong size!
  1354.   fi
  1355.   chmod +x 'rocat-0.75/src/errlog.h'
  1356.   # end of 'rocat-0.75/src/errlog.h'
  1357. fi
  1358. if test -f 'rocat-0.75/src/filelock.h' -a "${1}" != "-c" ; then 
  1359.   echo shar: Will not clobber existing file \"'rocat-0.75/src/filelock.h'\"
  1360. else
  1361.   echo shar: Extracting \"'rocat-0.75/src/filelock.h'\" \(2027 characters\)
  1362.   sed "s/^X//" >'rocat-0.75/src/filelock.h' <<'END_OF_FILE'
  1363. X// Filename:    filelock.h
  1364. X// Contents:    the file locking object used by the bbs system to
  1365. X//                automatically implement file locking everywhere.
  1366. X// Author:        Greg Shaw
  1367. X// Created:        7/24/93
  1368. X
  1369. X/*
  1370. XThis file is free software; you can redistribute it and/or modify it
  1371. Xunder the terms of the GNU General Public License as published by the
  1372. XFree Software Foundation; either version 2, or (at your option) any
  1373. Xlater version.
  1374. X
  1375. XIn addition to the permissions in the GNU General Public License, the
  1376. XFree Software Foundation gives you unlimited permission to link the
  1377. Xcompiled version of this file with other programs, and to distribute
  1378. Xthose programs without any restriction coming from the use of this
  1379. Xfile.  (The General Public License restrictions do apply in other
  1380. Xrespects; for example, they cover modification of the file, and
  1381. Xdistribution when not linked into another program.)
  1382. X
  1383. XThis file is distributed in the hope that it will be useful, but
  1384. XWITHOUT ANY WARRANTY; without even the implied warranty of
  1385. XMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  1386. XGeneral Public License for more details.
  1387. X
  1388. XYou should have received a copy of the GNU General Public License
  1389. Xalong with this program; see the file COPYING.  If not, write to
  1390. Xthe Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
  1391. X
  1392. X#ifndef _FLOCK_H_
  1393. X#define _FLOCK_H_
  1394. X
  1395. X#include "bbshdr.h"            // include all headers
  1396. X
  1397. X// Object:        filelock
  1398. X// Purpose:        implement automatic file locking in the bbs
  1399. X// Attributes:  none
  1400. X// Methods:
  1401. X// Notes:        This object will automatically do file locking on any
  1402. X//                number of files.
  1403. X// Author:        Greg Shaw
  1404. X// Created:        7/24/93
  1405. X
  1406. Xclass filelock: public errlog        // inherited from errlog
  1407. X{
  1408. X    FILE *file_list[MAX_FILES];    // list of open files
  1409. X    set_lock(char type, int fptr);    // set a file lock
  1410. X    clear_lock(int fptr);        // clear all locks on file
  1411. Xpublic:
  1412. X    filelock();            // constructor
  1413. X    ~filelock();            // destructor
  1414. X    FILE *bopen(char *path, char *mode); // open a file
  1415. X    bclose(FILE *fptr);        // close a file
  1416. X};
  1417. X
  1418. X#endif // _FLOCK_H_
  1419. END_OF_FILE
  1420.   if test 2027 -ne `wc -c <'rocat-0.75/src/filelock.h'`; then
  1421.     echo shar: \"'rocat-0.75/src/filelock.h'\" unpacked with wrong size!
  1422.   fi
  1423.   chmod +x 'rocat-0.75/src/filelock.h'
  1424.   # end of 'rocat-0.75/src/filelock.h'
  1425. fi
  1426. if test -f 'rocat-0.75/src/files.h' -a "${1}" != "-c" ; then 
  1427.   echo shar: Will not clobber existing file \"'rocat-0.75/src/files.h'\"
  1428. else
  1429.   echo shar: Extracting \"'rocat-0.75/src/files.h'\" \(3291 characters\)
  1430.   sed "s/^X//" >'rocat-0.75/src/files.h' <<'END_OF_FILE'
  1431. X// Filename:    files.h
  1432. X// Contents:    the files management object
  1433. X// Author:    Greg Shaw
  1434. X// Created:    7/27/93
  1435. X
  1436. X/*
  1437. XThis file is free software; you can redistribute it and/or modify it
  1438. Xunder the terms of the GNU General Public License as published by the
  1439. XFree Software Foundation; either version 2, or (at your option) any
  1440. Xlater version.
  1441. X
  1442. XIn addition to the permissions in the GNU General Public License, the
  1443. XFree Software Foundation gives you unlimited permission to link the
  1444. Xcompiled version of this file with other programs, and to distribute
  1445. Xthose programs without any restriction coming from the use of this
  1446. Xfile.  (The General Public License restrictions do apply in other
  1447. Xrespects; for example, they cover modification of the file, and
  1448. Xdistribution when not linked into another program.)
  1449. X
  1450. XThis file is distributed in the hope that it will be useful, but
  1451. XWITHOUT ANY WARRANTY; without even the implied warranty of
  1452. XMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  1453. XGeneral Public License for more details.
  1454. X
  1455. XYou should have received a copy of the GNU General Public License
  1456. Xalong with this program; see the file COPYING.  If not, write to
  1457. Xthe Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
  1458. X
  1459. X#ifndef _FILES_H_
  1460. X#define _FILES_H_
  1461. X
  1462. X#include "bbshdr.h"
  1463. X
  1464. X// Object:    files
  1465. X// Purpose:    encapsulate all file operations for the BBS.  this includes
  1466. X//        upload, download, deletion, descriptions, automatic
  1467. X//        checking, etc.
  1468. X// Attributes:    up_path - upload directory (where to place uploads)
  1469. X//        dn_path - download directory (where files reside normally)
  1470. X//        acl - access level for this section 
  1471. X//        num_files - number of files in section
  1472. X//        name - name of section
  1473. X//        age - age of file for automatic deletion
  1474. X//        sysop - sysop's (if sub) login (for mail)
  1475. X//        long_desc - long description of files area
  1476. X// Methods:
  1477. X// Author:    Greg Shaw
  1478. X// Created:    7/27/93
  1479. X
  1480. Xclass files: public bbsint
  1481. X{
  1482. X    char    up_path[255];    // upload path
  1483. X    int    acl;        // access level of section
  1484. X    int    num_files;    // number of files in section
  1485. X    char    name[15];    // name of section
  1486. X    int    age;        // age at which to delete files (days)
  1487. X    char    sysop[15];    // sysop of section
  1488. X    FInfo    *selfiles[20];    // selected files for download (20 max)
  1489. X    int    numsel;        // number of selected files
  1490. X    int    ksel;        // number of K selected 
  1491. X    CardRec    *thisuser;    // user card
  1492. X    char    long_desc[51];    // long description of files area
  1493. Xpublic:
  1494. X    char    dn_path[255];    // download path
  1495. X    dllist    list_obj;    // list object
  1496. X    files();    // constructor
  1497. X    open(char *name, CardRec *user);    // open section
  1498. X    download(FInfo *list[], int numfiles, int increment);// download file(s)
  1499. X    upload(char *uname, char *editor, int *credit);        // upload file(s)
  1500. X    list(int can_download, CardRec *user, int *kused, time_t since_time, float uratio);    // list files 
  1501. X    search(int can_download);// search files section for something
  1502. X    one_download(int *kused, float uratio, char *filename, int counts);    // download one file
  1503. X    info(FInfo *fptr, char ldesc[3][100], char *machreq);    // get detailed info on file
  1504. X    create();
  1505. X    increment_dls(FInfo *list[], int numfiles);// increment # of downloads field
  1506. X    update_information(FInfo *item, char *origname, char desc[3][100], char *machreq, int del);// update file information
  1507. X    edit_file(FInfo *item);    // edit a file entry
  1508. X};
  1509. X
  1510. X
  1511. X#endif // _FILES_H_
  1512. END_OF_FILE
  1513.   if test 3291 -ne `wc -c <'rocat-0.75/src/files.h'`; then
  1514.     echo shar: \"'rocat-0.75/src/files.h'\" unpacked with wrong size!
  1515.   fi
  1516.   chmod +x 'rocat-0.75/src/files.h'
  1517.   # end of 'rocat-0.75/src/files.h'
  1518. fi
  1519. if test -f 'rocat-0.75/src/fileutil.h' -a "${1}" != "-c" ; then 
  1520.   echo shar: Will not clobber existing file \"'rocat-0.75/src/fileutil.h'\"
  1521. else
  1522.   echo shar: Extracting \"'rocat-0.75/src/fileutil.h'\" \(2389 characters\)
  1523.   sed "s/^X//" >'rocat-0.75/src/fileutil.h' <<'END_OF_FILE'
  1524. X// Filename:    fileutil.h
  1525. X// Contents:    the methods for the files utility object
  1526. X// Author:    Greg Shaw
  1527. X// Created:    8/24/93
  1528. X
  1529. X/*
  1530. XThis file is free software; you can redistribute it and/or modify it
  1531. Xunder the terms of the GNU General Public License as published by the
  1532. XFree Software Foundation; either version 2, or (at your option) any
  1533. Xlater version.
  1534. X
  1535. XIn addition to the permissions in the GNU General Public License, the
  1536. XFree Software Foundation gives you unlimited permission to link the
  1537. Xcompiled version of this file with other programs, and to distribute
  1538. Xthose programs without any restriction coming from the use of this
  1539. Xfile.  (The General Public License restrictions do apply in other
  1540. Xrespects; for example, they cover modification of the file, and
  1541. Xdistribution when not linked into another program.)
  1542. X
  1543. XThis file is distributed in the hope that it will be useful, but
  1544. XWITHOUT ANY WARRANTY; without even the implied warranty of
  1545. XMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  1546. XGeneral Public License for more details.
  1547. X
  1548. XYou should have received a copy of the GNU General Public License
  1549. Xalong with this program; see the file COPYING.  If not, write to
  1550. Xthe Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
  1551. X
  1552. X#ifndef _FILEUTIL_H_
  1553. X#define _FILEUTIL_H_
  1554. X
  1555. X#include "bbshdr.h"
  1556. X
  1557. X// days to look back in new files search
  1558. X#define DAYS    7    // look for new files in last 7 days
  1559. X#define MAX_RECS    20    // display 20 most popular files
  1560. X
  1561. X// Class:    fileutil
  1562. X// Purpose:    add some additional functions to the files object
  1563. X// Attributes:    filelist - list of files (general use)
  1564. X// Methods:    update - update files sections (for new and removed files)
  1565. X//         most - create list of most popular files for entire BBS
  1566. X//        newfiles - create list of new files lately
  1567. X//        cycle_sections - cycle through all possible sections doing
  1568. X//        a command.
  1569. X// Author:    Greg Shaw
  1570. X// Created:    8/24/93
  1571. X
  1572. Xclass fileutil:public files
  1573. X{
  1574. X    char sec[MAX_RECS][80]; // section name
  1575. X    FInfo    recs[MAX_RECS];
  1576. X    int  numrecs;
  1577. Xpublic:
  1578. X    fileutil();        // constructor
  1579. X    update(char *section);    // update a section
  1580. X    most(char *section);// search for most popular files
  1581. X    delete_missing(char *sname, char *secname);// delete missing files
  1582. X    newfiles(char *section, FILE *outfile);// search for new files in # days
  1583. X    cycle_sections(int type, char *fname);// cycle sections to do one of the above functions
  1584. X};
  1585. X
  1586. X#endif // _FILEUTIL_H_
  1587. END_OF_FILE
  1588.   if test 2389 -ne `wc -c <'rocat-0.75/src/fileutil.h'`; then
  1589.     echo shar: \"'rocat-0.75/src/fileutil.h'\" unpacked with wrong size!
  1590.   fi
  1591.   chmod +x 'rocat-0.75/src/fileutil.h'
  1592.   # end of 'rocat-0.75/src/fileutil.h'
  1593. fi
  1594. if test -f 'rocat-0.75/src/moncon.h' -a "${1}" != "-c" ; then 
  1595.   echo shar: Will not clobber existing file \"'rocat-0.75/src/moncon.h'\"
  1596. else
  1597.   echo shar: Extracting \"'rocat-0.75/src/moncon.h'\" \(3227 characters\)
  1598.   sed "s/^X//" >'rocat-0.75/src/moncon.h' <<'END_OF_FILE'
  1599. X// Filename:    moncon.h
  1600. X// Contents:     the sysop monitor connection object
  1601. X// Author:    Greg Shaw
  1602. X// Created:    8/26/93
  1603. X
  1604. X/*
  1605. XThis file is free software; you can redistribute it and/or modify it
  1606. Xunder the terms of the GNU General Public License as published by the
  1607. XFree Software Foundation; either version 2, or (at your option) any
  1608. Xlater version.
  1609. X
  1610. XIn addition to the permissions in the GNU General Public License, the
  1611. XFree Software Foundation gives you unlimited permission to link the
  1612. Xcompiled version of this file with other programs, and to distribute
  1613. Xthose programs without any restriction coming from the use of this
  1614. Xfile.  (The General Public License restrictions do apply in other
  1615. Xrespects; for example, they cover modification of the file, and
  1616. Xdistribution when not linked into another program.)
  1617. X
  1618. XThis file is distributed in the hope that it will be useful, but
  1619. XWITHOUT ANY WARRANTY; without even the implied warranty of
  1620. XMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  1621. XGeneral Public License for more details.
  1622. X
  1623. XYou should have received a copy of the GNU General Public License
  1624. Xalong with this program; see the file COPYING.  If not, write to
  1625. Xthe Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
  1626. X
  1627. X#ifndef _MONCON_H_
  1628. X#define _MONCON_H_
  1629. X
  1630. X// monitor message definitions
  1631. X#define MONITOR_ON        "\to\tn\t"        // tab-o-tab-n-tab
  1632. X#define MONITOR_OFF        "\to\tf\tf"        // tab-o-tab-f-tab-f
  1633. X#define COMMAND_MSG        "\tc\tm"        // command signal
  1634. X#define LOGOFF_CMD        0x1            // log the user off
  1635. X#define NASTY_LOGOFF        0x2            // log off with noise
  1636. X#define USER_REREAD        0x3            // re-read user info from userlog
  1637. X#define SYSOP_CHAT        0x4            // sysop wants to chat
  1638. X
  1639. X// buffer size definitions
  1640. X#define CBUF_MAX    100        // character buffer size
  1641. X#define COMMANDS_MAX    20        // commands buffer size
  1642. X
  1643. X#ifndef _SERVER_    // server shouldn't know about this object
  1644. X// Object:    MonCon
  1645. X// Purpose:    the sysop monitor connection object
  1646. X// Attributes:    
  1647. X//        watch_on;         is sysop process 'watching'?
  1648. X//        mon_connected;     is sysop monitor process connected?
  1649. X//        last_attempt;     last connection attempt time (10 sec between)
  1650. X// Methods:
  1651. X//        connected     - is monitor connected?
  1652. X//        watching     - is sysop watch on?
  1653. X//        get_msg        - get a message from the monitor process
  1654. X//        connect_monitor - try to connect to monitor
  1655. X// Author:    Greg Shaw
  1656. X// Created:    7/12/93
  1657. X
  1658. Xclass moncon: public filelock
  1659. X{
  1660. X    bbsipc    ipc_obj;    // monitor interface object
  1661. X    char    watch_on;        // is sysop process 'watching'?
  1662. X    char    mon_connected;    // is sysop monitor process connected?
  1663. X    time_t    last_attempt;    // last connection attempt time (10 sec between)
  1664. X    char    cbuf[CBUF_MAX];    // character buffer storage for chars from monitor
  1665. X    int    cstart,cend;    // start and end of char buffer
  1666. X    int    commands[COMMANDS_MAX];    // buffer for commands from monitor
  1667. X    int    costart,coend;    // start and end of commands buffer
  1668. Xpublic:
  1669. X    moncon();        // constructor        
  1670. X    char get_char(void);    // get character from monitor
  1671. X    int connect_mon(void);    // attempt to connect to monitor process
  1672. X    int watching(void);    // is sysop watching?
  1673. X    int connected(void);    // is monitor connected?
  1674. X    int get_command(void);    // get a command from the monitor
  1675. X    int send_monitor(char *msg);    // send a message to the monitor
  1676. X};
  1677. X#endif
  1678. X
  1679. X#endif // _MONCON_H_
  1680. END_OF_FILE
  1681.   if test 3227 -ne `wc -c <'rocat-0.75/src/moncon.h'`; then
  1682.     echo shar: \"'rocat-0.75/src/moncon.h'\" unpacked with wrong size!
  1683.   fi
  1684.   chmod +x 'rocat-0.75/src/moncon.h'
  1685.   # end of 'rocat-0.75/src/moncon.h'
  1686. fi
  1687. if test -f 'rocat-0.75/src/monitor.C' -a "${1}" != "-c" ; then 
  1688.   echo shar: Will not clobber existing file \"'rocat-0.75/src/monitor.C'\"
  1689. else
  1690.   echo shar: Extracting \"'rocat-0.75/src/monitor.C'\" \(2452 characters\)
  1691.   sed "s/^X//" >'rocat-0.75/src/monitor.C' <<'END_OF_FILE'
  1692. X// Filename:    montest.C
  1693. X// Contents:    a simple program to test sysop monitor functionality
  1694. X// Author:    Greg Shaw
  1695. X// Created:    7/23/93
  1696. X
  1697. X/*
  1698. XThis file is free software; you can redistribute it and/or modify it
  1699. Xunder the terms of the GNU General Public License as published by the
  1700. XFree Software Foundation; either version 2, or (at your option) any
  1701. Xlater version.
  1702. X
  1703. XIn addition to the permissions in the GNU General Public License, the
  1704. XFree Software Foundation gives you unlimited permission to link the
  1705. Xcompiled version of this file with other programs, and to distribute
  1706. Xthose programs without any restriction coming from the use of this
  1707. Xfile.  (The General Public License restrictions do apply in other
  1708. Xrespects; for example, they cover modification of the file, and
  1709. Xdistribution when not linked into another program.)
  1710. X
  1711. XThis file is distributed in the hope that it will be useful, but
  1712. XWITHOUT ANY WARRANTY; without even the implied warranty of
  1713. XMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  1714. XGeneral Public License for more details.
  1715. X
  1716. XYou should have received a copy of the GNU General Public License
  1717. Xalong with this program; see the file COPYING.  If not, write to
  1718. Xthe Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
  1719. X
  1720. X#ifndef _MONTEST_C_
  1721. X#define _MONTEST_C_
  1722. X
  1723. X#include "bbshdr.h"
  1724. X
  1725. X// Function:    char_avail
  1726. X// Purpose:    return true of a character is available on stdin
  1727. X// Input:    none
  1728. X// Output:    true/false
  1729. X// Author:    Greg Shaw
  1730. X// Created:    6/10/94
  1731. X
  1732. Xint char_avail(void)
  1733. X{
  1734. X        struct fd_set fds[2];
  1735. X        struct timeval waittime;
  1736. X
  1737. X        waittime.tv_sec = 0;
  1738. X        waittime.tv_usec = 100;
  1739. X
  1740. X
  1741. X    FD_SET(fileno(stdin), fds);
  1742. X    if (select(1,fds,NULL,NULL,&waittime))
  1743. X        return(1);
  1744. X    return(0);
  1745. X}
  1746. X
  1747. Xmain()
  1748. X{
  1749. X    bbsipc    iobj;    // interface (server) object
  1750. X    char     msg[255];    
  1751. X    char    outmsg[10];
  1752. X
  1753. X    if (iobj.open_sock(NULL,MONITOR_PORT) != 0)
  1754. X    {
  1755. X        printf("Unable to open server socket.\r\n");
  1756. X        return(0);
  1757. X    }
  1758. X    iobj.do_connect();
  1759. X    fflush(stdout);
  1760. X    iobj.send(MONITOR_ON);    // turn on monitoring
  1761. X    while (1)
  1762. X    {
  1763. X        if (iobj.msg_avail(1) < 0)
  1764. X        {
  1765. X            iobj.do_connect();
  1766. X            iobj.send(MONITOR_ON);    // turn on monitoring
  1767. X        }
  1768. X        else 
  1769. X        {
  1770. X            if (iobj.receive(msg) < 0)
  1771. X            {
  1772. X                iobj.do_connect();
  1773. X                iobj.send(MONITOR_ON);    // turn on monitoring
  1774. X            }
  1775. X            else
  1776. X            {
  1777. X                printf("%s",msg);
  1778. X                fflush(stdout);
  1779. X            }
  1780. X            if (char_avail())    // has SysOp typed something?
  1781. X            {
  1782. X                scanf("%s",outmsg);    // get string
  1783. X                iobj.send(outmsg);
  1784. X            }
  1785. X        }
  1786. X    }
  1787. X}
  1788. X
  1789. X#endif
  1790. END_OF_FILE
  1791.   if test 2452 -ne `wc -c <'rocat-0.75/src/monitor.C'`; then
  1792.     echo shar: \"'rocat-0.75/src/monitor.C'\" unpacked with wrong size!
  1793.   fi
  1794.   chmod +x 'rocat-0.75/src/monitor.C'
  1795.   # end of 'rocat-0.75/src/monitor.C'
  1796. fi
  1797. if test -f 'rocat-0.75/src/ports.h' -a "${1}" != "-c" ; then 
  1798.   echo shar: Will not clobber existing file \"'rocat-0.75/src/ports.h'\"
  1799. else
  1800.   echo shar: Extracting \"'rocat-0.75/src/ports.h'\" \(1601 characters\)
  1801.   sed "s/^X//" >'rocat-0.75/src/ports.h' <<'END_OF_FILE'
  1802. X// Filename:    ports.h
  1803. X// Contents:    the definitions for every ipc port used by the bbs system.
  1804. X// Notes:    see document 'ports' in the design directory for port
  1805. X//        definitions
  1806. X// Author:        Greg Shaw
  1807. X// Created:        7/12/93
  1808. X
  1809. X/*
  1810. XThis file is free software; you can redistribute it and/or modify it
  1811. Xunder the terms of the GNU General Public License as published by the
  1812. XFree Software Foundation; either version 2, or (at your option) any
  1813. Xlater version.
  1814. X
  1815. XIn addition to the permissions in the GNU General Public License, the
  1816. XFree Software Foundation gives you unlimited permission to link the
  1817. Xcompiled version of this file with other programs, and to distribute
  1818. Xthose programs without any restriction coming from the use of this
  1819. Xfile.  (The General Public License restrictions do apply in other
  1820. Xrespects; for example, they cover modification of the file, and
  1821. Xdistribution when not linked into another program.)
  1822. X
  1823. XThis file is distributed in the hope that it will be useful, but
  1824. XWITHOUT ANY WARRANTY; without even the implied warranty of
  1825. XMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  1826. XGeneral Public License for more details.
  1827. X
  1828. XYou should have received a copy of the GNU General Public License
  1829. Xalong with this program; see the file COPYING.  If not, write to
  1830. Xthe Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
  1831. X
  1832. X
  1833. X#ifndef _PORTS_H_
  1834. X#define    _PORTS_H_
  1835. X
  1836. X// error logger daemon contact port
  1837. X//#define ERRLOG_PORT     22300
  1838. X#define ERRLOG_PORT     22201
  1839. X
  1840. X// system monitor contact port
  1841. X#define MONITOR_PORT    22301
  1842. X
  1843. X// chat master socket
  1844. X#define CHAT_MASTER_PORT    22302
  1845. X#endif // _PORTS_H_
  1846. END_OF_FILE
  1847.   if test 1601 -ne `wc -c <'rocat-0.75/src/ports.h'`; then
  1848.     echo shar: \"'rocat-0.75/src/ports.h'\" unpacked with wrong size!
  1849.   fi
  1850.   chmod +x 'rocat-0.75/src/ports.h'
  1851.   # end of 'rocat-0.75/src/ports.h'
  1852. fi
  1853. if test -f 'rocat-0.75/src/sysexec.C' -a "${1}" != "-c" ; then 
  1854.   echo shar: Will not clobber existing file \"'rocat-0.75/src/sysexec.C'\"
  1855. else
  1856.   echo shar: Extracting \"'rocat-0.75/src/sysexec.C'\" \(3117 characters\)
  1857.   sed "s/^X//" >'rocat-0.75/src/sysexec.C' <<'END_OF_FILE'
  1858. X// Filename:    sysexec
  1859. X// Contents:    the object that encapsulates unusual system operations
  1860. X// Author:    Greg Shaw
  1861. X// Created:    5/18/94
  1862. X
  1863. X/*
  1864. XThis file is free software; you can redistribute it and/or modify it
  1865. Xunder the terms of the GNU General Public License as published by the
  1866. XFree Software Foundation; either version 2, or (at your option) any
  1867. Xlater version.
  1868. X
  1869. XIn addition to the permissions in the GNU General Public License, the
  1870. XFree Software Foundation gives you unlimited permission to link the
  1871. Xcompiled version of this file with other programs, and to distribute
  1872. Xthose programs without any restriction coming from the use of this
  1873. Xfile.  (The General Public License restrictions do apply in other
  1874. Xrespects; for example, they cover modification of the file, and
  1875. Xdistribution when not linked into another program.)
  1876. X
  1877. XThis file is distributed in the hope that it will be useful, but
  1878. XWITHOUT ANY WARRANTY; without even the implied warranty of
  1879. XMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  1880. XGeneral Public License for more details.
  1881. X
  1882. XYou should have received a copy of the GNU General Public License
  1883. Xalong with this program; see the file COPYING.  If not, write to
  1884. Xthe Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
  1885. X
  1886. X#ifndef _SYSEXEC_C_
  1887. X#define _SYSEXEC_C_
  1888. X
  1889. X#include "bbshdr.h"
  1890. X
  1891. X// Method:    constructor
  1892. X// Function:    initialize the object
  1893. X// Author:    Greg Shaw
  1894. X// Created:    5/20/94
  1895. X
  1896. Xsysexec::sysexec()
  1897. X{
  1898. X    running_pid = 0;    // nothing running
  1899. X}
  1900. X
  1901. X// Method:    destructor
  1902. X// Function:    clean up the object
  1903. X// Author:    Greg Shaw
  1904. X// Created:    5/20/94
  1905. X
  1906. Xsysexec::~sysexec()
  1907. X{
  1908. X    if (running_pid > 0)    // child running?
  1909. X    {
  1910. X        kill(running_pid,SIGHUP);
  1911. X    }
  1912. X}
  1913. X
  1914. X// Method:    sysint
  1915. X// Function:    serve as a system() command that correctly handles SIGHUP
  1916. X// Input:    command - the command to execute
  1917. X// Output:    (command is executed)
  1918. X// Author:    Greg Shaw
  1919. X// Created:    5/18/94
  1920. X
  1921. Xint sysexec::sysint(char *command)
  1922. X{
  1923. X    int        status;
  1924. X    sigset_t    mask;    // old signal mask
  1925. X
  1926. X    if (command == NULL)    // null command?
  1927. X        return(1);    // error
  1928. X    
  1929. X    sigprocmask(SIG_BLOCK, NULL, &mask); // get current blocked sigs mask
  1930. X    sigaddset(&mask, SIGCHLD);  // add sigchld and sigquit
  1931. X    sigaddset(&mask, SIGQUIT);
  1932. X    sigprocmask(SIG_SETMASK, &mask, NULL);     // set new mask
  1933. X        if (!(running_pid = fork())) {
  1934. X
  1935. X
  1936. X                setgid(getgid());
  1937. X                setuid(getuid());
  1938. X
  1939. X                execl("/bin/sh", "sh", "-c", command, (char *) 0);
  1940. X        ap_log("system: exec failure");
  1941. X                exit(127);
  1942. X        }
  1943. X        if (running_pid == -1) {
  1944. X        ap_log("system: exec failure");
  1945. X         status = -1;
  1946. X    }
  1947. X    else
  1948. X    {
  1949. X//        sigprocmask(SIG_BLOCK, NULL, &mask); // get current mask
  1950. X//        sigaddset(&mask, SIGINT);
  1951. X//        sigprocmask(SIG_SETMASK, &mask, NULL);     // set new mask
  1952. X        while (waitpid(running_pid, &status, 0) < 0)
  1953. X            if (errno != EINTR) 
  1954. X            {
  1955. X                status = -1;
  1956. X                break;
  1957. X            }
  1958. X    }
  1959. X    running_pid = 0;
  1960. X//    sigprocmask(SIG_BLOCK, NULL, &mask); // get current mask
  1961. X//    sigdelset(&mask, SIGINT);
  1962. X//    sigdelset(&mask, SIGCHLD);
  1963. X//    sigdelset(&mask, SIGQUIT);
  1964. X//    sigprocmask(SIG_SETMASK, &mask, NULL);     // set new mask
  1965. X    return(status);
  1966. X    
  1967. X}
  1968. X
  1969. X
  1970. X#endif // _SYSEXEC_C_
  1971. END_OF_FILE
  1972.   if test 3117 -ne `wc -c <'rocat-0.75/src/sysexec.C'`; then
  1973.     echo shar: \"'rocat-0.75/src/sysexec.C'\" unpacked with wrong size!
  1974.   fi
  1975.   chmod +x 'rocat-0.75/src/sysexec.C'
  1976.   # end of 'rocat-0.75/src/sysexec.C'
  1977. fi
  1978. if test -f 'rocat-0.75/src/sysexec.h' -a "${1}" != "-c" ; then 
  1979.   echo shar: Will not clobber existing file \"'rocat-0.75/src/sysexec.h'\"
  1980. else
  1981.   echo shar: Extracting \"'rocat-0.75/src/sysexec.h'\" \(1694 characters\)
  1982.   sed "s/^X//" >'rocat-0.75/src/sysexec.h' <<'END_OF_FILE'
  1983. X// Filename:    sysexec.h
  1984. X// Purpose:    Provide system-specific operations (primarily exec)
  1985. X// Author:    Greg Shaw
  1986. X// Created:    5/14/94
  1987. X
  1988. X/*
  1989. XThis file is free software; you can redistribute it and/or modify it
  1990. Xunder the terms of the GNU General Public License as published by the
  1991. XFree Software Foundation; either version 2, or (at your option) any
  1992. Xlater version.
  1993. X
  1994. XIn addition to the permissions in the GNU General Public License, the
  1995. XFree Software Foundation gives you unlimited permission to link the
  1996. Xcompiled version of this file with other programs, and to distribute
  1997. Xthose programs without any restriction coming from the use of this
  1998. Xfile.  (The General Public License restrictions do apply in other
  1999. Xrespects; for example, they cover modification of the file, and
  2000. Xdistribution when not linked into another program.)
  2001. X
  2002. XThis file is distributed in the hope that it will be useful, but
  2003. XWITHOUT ANY WARRANTY; without even the implied warranty of
  2004. XMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  2005. XGeneral Public License for more details.
  2006. X
  2007. XYou should have received a copy of the GNU General Public License
  2008. Xalong with this program; see the file COPYING.  If not, write to
  2009. Xthe Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
  2010. X
  2011. X#ifndef _SYSTEM_H_
  2012. X#define _SYSTEM_H_
  2013. X
  2014. X#include "bbshdr.h"
  2015. X
  2016. X// Object:    sysexec
  2017. X// Purpose:    encapsulate unusual system operations
  2018. X// Methods:    sysint() - a sysexec() call that doesn't block SIGHUP
  2019. X// Author:    Greg Shaw
  2020. X// Created:    5/18/94
  2021. X
  2022. Xclass sysexec: public filelock
  2023. X{
  2024. X    pid_t    running_pid;
  2025. Xpublic:
  2026. X    sysexec();        // constructor
  2027. X    ~sysexec();        // destructor
  2028. X    sysint(char *command);    // execute command with SIGHUP handling
  2029. X};
  2030. X
  2031. X#endif  // _SYSTEM_H_
  2032. END_OF_FILE
  2033.   if test 1694 -ne `wc -c <'rocat-0.75/src/sysexec.h'`; then
  2034.     echo shar: \"'rocat-0.75/src/sysexec.h'\" unpacked with wrong size!
  2035.   fi
  2036.   chmod +x 'rocat-0.75/src/sysexec.h'
  2037.   # end of 'rocat-0.75/src/sysexec.h'
  2038. fi
  2039. if test -f 'rocat-0.75/src/version.h' -a "${1}" != "-c" ; then 
  2040.   echo shar: Will not clobber existing file \"'rocat-0.75/src/version.h'\"
  2041. else
  2042.   echo shar: Extracting \"'rocat-0.75/src/version.h'\" \(1342 characters\)
  2043.   sed "s/^X//" >'rocat-0.75/src/version.h' <<'END_OF_FILE'
  2044. X// Filename:    version.h
  2045. X// Contents:    the current revision number of the rocat BBS System
  2046. X// Author:    Gregory Shaw
  2047. X// Created:    6/2/94
  2048. X
  2049. X/*
  2050. X
  2051. XThis file is free software; you can redistribute it and/or modify it
  2052. Xunder the terms of the GNU General Public License as published by the
  2053. XFree Software Foundation; either version 2, or (at your option) any
  2054. Xlater version.
  2055. X
  2056. XIn addition to the permissions in the GNU General Public License, the
  2057. XFree Software Foundation gives you unlimited permission to link the
  2058. Xcompiled version of this file with other programs, and to distribute
  2059. Xthose programs without any restriction coming from the use of this
  2060. Xfile.  (The General Public License restrictions do apply in other
  2061. Xrespects; for example, they cover modification of the file, and
  2062. Xdistribution when not linked into another program.)
  2063. X
  2064. XThis file is distributed in the hope that it will be useful, but
  2065. XWITHOUT ANY WARRANTY; without even the implied warranty of
  2066. XMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  2067. XGeneral Public License for more details.
  2068. X
  2069. XYou should have received a copy of the GNU General Public License
  2070. Xalong with this program; see the file COPYING.  If not, write to
  2071. Xthe Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
  2072. X
  2073. X#ifndef _VERSION_H_
  2074. X#define _VERSION_H_
  2075. X
  2076. X#define VERSION "0.75"
  2077. X
  2078. X
  2079. X#endif // _VERSION_H_
  2080. END_OF_FILE
  2081.   if test 1342 -ne `wc -c <'rocat-0.75/src/version.h'`; then
  2082.     echo shar: \"'rocat-0.75/src/version.h'\" unpacked with wrong size!
  2083.   fi
  2084.   chmod +x 'rocat-0.75/src/version.h'
  2085.   # end of 'rocat-0.75/src/version.h'
  2086. fi
  2087. if test -f 'rocat-0.75/text/helpTRC' -a "${1}" != "-c" ; then 
  2088.   echo shar: Will not clobber existing file \"'rocat-0.75/text/helpTRC'\"
  2089. else
  2090.   echo shar: Extracting \"'rocat-0.75/text/helpTRC'\" \(2317 characters\)
  2091.   sed "s/^X//" >'rocat-0.75/text/helpTRC' <<'END_OF_FILE'
  2092. XWhat is TRC?
  2093. X
  2094. XTRC is The Roman Catacombs, a BBS system running under UNIX on a PC-class
  2095. Xmachine.  If you want more information about the BBS platform, please see the
  2096. X'bbs info' found in the main help menu.
  2097. X
  2098. XThe Roman Catacombs has the following purposes:
  2099. X
  2100. X    1.  Serve as a central meeting place for those on Mac and/or Unix
  2101. X    platforms.
  2102. X    2.  Serve as a repository for the latest files for Mac, Unix, DOS,
  2103. X    Windows and other platforms.
  2104. X    3.  Serve as a place for persons to read news at their liesure.
  2105. X    4.  Serve as a great online game server.
  2106. X    5.  Support any programs the SysOp has written.
  2107. X
  2108. XThe following is a description of the rocat system for any BBS sysops that are
  2109. Xinterested in the package.  (hit 'q' to skip)
  2110. X
  2111. XThe Roman Catacombs is the BBS which runs on rocat, a BBS software package
  2112. Xwritten in C++ for unix.  It was written by the SysOp, Greg Shaw, due to a lack
  2113. Xof adequate BBS software for unix.  (and a desire to use the unix platform to
  2114. Xmake running a BBS easier)  Currently, rocat has the following features:
  2115. X
  2116. X    - full error control
  2117. X    - automatic files area maintenance with auto-add capabilities.  
  2118. X    - automatic files area information generation.  
  2119. X    - ANSI capabilities
  2120. X    - A sysop 'watch' program that allows the sysop to monitor the BBS for 
  2121. X        problems.
  2122. X    - It is built to run silently and take little system resources.  A 16
  2123. X        line system could be run on a 386-33 with little problem.
  2124. X    - It uses the UNIX system as it's basis.  This allows the machine to be
  2125. X        used for more than just a BBS.  
  2126. X    - Any application that runs under UNIX may be used as an external to the
  2127. X        BBS.  This includes games, databases, news, e-mail, and loads of
  2128. X        other programs freely available on the Internet. 
  2129. X    - A full-function chat daemon comes with the package, allowing the system
  2130. X        to be used as a multi-user chat center.
  2131. X    - All error control and monitoring is done through sockets, which allows
  2132. X        the sysop to monitor the bbs through a network on another
  2133. X        machine.
  2134. X    - The BBS does not care how many people are running on the machine.  If
  2135. X        the machine can handle the load, you can run as many people as
  2136. X        you wish.
  2137. X
  2138. XAND, best of *ALL*, the software is publically available under the GNU license.
  2139. XIt will compile under System V Release 3.2 (Interactive) with the GNU C++
  2140. Xcompiler (g++).   Look for the source online soon.
  2141. END_OF_FILE
  2142.   if test 2317 -ne `wc -c <'rocat-0.75/text/helpTRC'`; then
  2143.     echo shar: \"'rocat-0.75/text/helpTRC'\" unpacked with wrong size!
  2144.   fi
  2145.   # end of 'rocat-0.75/text/helpTRC'
  2146. fi
  2147. if test -f 'rocat-0.75/text/helpdownload' -a "${1}" != "-c" ; then 
  2148.   echo shar: Will not clobber existing file \"'rocat-0.75/text/helpdownload'\"
  2149. else
  2150.   echo shar: Extracting \"'rocat-0.75/text/helpdownload'\" \(1344 characters\)
  2151.   sed "s/^X//" >'rocat-0.75/text/helpdownload' <<'END_OF_FILE'
  2152. XHow to download files:
  2153. X
  2154. XYou may download files in several different ways.   Files may be downloaded one at
  2155. Xa time or many at a time.  
  2156. X
  2157. XDownloading a single file:
  2158. X
  2159. XYou may enter the name of the file you want to download from the menu where the
  2160. Xfiles area is, or, you may select the file (by hitting 'd') while browsing the
  2161. Xfiles area.  Note that entering the file name requires an exact match -- if it is
  2162. Xan uppercase/lowercase name, it must be entered exactly as shown.
  2163. X
  2164. XAt this point, the system will ask you to select a download protocol.  Select
  2165. Xwhatever protocols your terminal package supports.  Zmodem is generally the
  2166. Xquickest and the most problem-free.  
  2167. X
  2168. XDownloading multiple files:
  2169. X
  2170. XYou may download multiple files by 'm'arking them while browsing.  When you're done
  2171. Xbrowsing, you may download any or all of the files you've selected.  Follow the
  2172. Xabove for selecting the download protocol.
  2173. X
  2174. XSystem limits:
  2175. X
  2176. XFor batches, you may download up to 700K of files at any one time.  
  2177. X
  2178. XYou must keep your upload to download ratio within 1 to 7.  That is, you must
  2179. Xupload one file for every 7 that you download.  An example would be that the system
  2180. Xwould not allow you to download if you have downloaded 8 files.  You must then
  2181. Xupload a file to regain your download priviledges.
  2182. X
  2183. XSee the adult area help for more information on adult access.
  2184. X
  2185. END_OF_FILE
  2186.   if test 1344 -ne `wc -c <'rocat-0.75/text/helpdownload'`; then
  2187.     echo shar: \"'rocat-0.75/text/helpdownload'\" unpacked with wrong size!
  2188.   fi
  2189.   # end of 'rocat-0.75/text/helpdownload'
  2190. fi
  2191. if test -f 'rocat-0.75/text/helpemail' -a "${1}" != "-c" ; then 
  2192.   echo shar: Will not clobber existing file \"'rocat-0.75/text/helpemail'\"
  2193. else
  2194.   echo shar: Extracting \"'rocat-0.75/text/helpemail'\" \(1934 characters\)
  2195.   sed "s/^X//" >'rocat-0.75/text/helpemail' <<'END_OF_FILE'
  2196. XWhat is E-Mail?
  2197. X
  2198. XE-Mail is electronic mail.  It works worldwide -- all you need is an
  2199. Xaddress for the person you wish to contact.  (of course, they need to have
  2200. Xan address on a computer somewhere also)
  2201. X
  2202. XAn example is:
  2203. X
  2204. Xjones@myvax.cmu.edu
  2205. X
  2206. XThe above address (ficticious, of course) would be an example of a user
  2207. Xthat would be named 'jones' that has an account on myvax (that's the name
  2208. Xof the machine) at Carnegie Mellon University.  (cmu stands for Carnegie
  2209. XMellon and .edu always refers to educational institutions)
  2210. X
  2211. XE-Mail need not be to people in the US.  Many people send e-mail between
  2212. Xcontinents. 
  2213. X
  2214. XAn example:
  2215. X
  2216. Xnguyen@hee.tokyo.edu.jp
  2217. X
  2218. XThis breaks down to user 'nguyen' at hee, somewhere at tokyo university, in
  2219. Xjapan.  (the jp refers to japan)  Other domains in foreign countries would
  2220. Xinclude:
  2221. X
  2222. X.sw - sweden
  2223. X.fi - finland
  2224. X.uk - united kingdom (britain)
  2225. X.ck - czechoslovakia
  2226. X.de - deuchland (germany)
  2227. X
  2228. XThere are many more.  All you need to know is who you want to contact and
  2229. Xwhat their address is.
  2230. X
  2231. XHow to contact someone you've seen through 'news':
  2232. X(see the news area for an explanation of what 'news' is)
  2233. X
  2234. XAs part of every news message, there is a (hopefully valid) user address.
  2235. XIf you should want to contact someone that posted a message, you can simply
  2236. Xreply through e-mail.  After editing the message, it will be send to that
  2237. Xperson.  If everything checks out, and the mail is deliverable (meaning,
  2238. Xit's able to get to it's recipient), the user will get the mail on his
  2239. Xmachine.  He will hopefully reply in kind by sending a return message to
  2240. Xyou.
  2241. X
  2242. XPlease note that if the above fails (the mail is undeliverable), it's
  2243. Xpossible that it my have disappeared down the dark hole that appears
  2244. Xoccasionally to eat mail.  Also note that it does take time (sometimes
  2245. Xdays, based on how far away the machine that the user uses is) for the
  2246. Xe-mail to get there.  If you don't hear back within a week, consider the
  2247. Xmail 'gone'.
  2248. X
  2249. X
  2250. END_OF_FILE
  2251.   if test 1934 -ne `wc -c <'rocat-0.75/text/helpemail'`; then
  2252.     echo shar: \"'rocat-0.75/text/helpemail'\" unpacked with wrong size!
  2253.   fi
  2254.   # end of 'rocat-0.75/text/helpemail'
  2255. fi
  2256. if test -f 'rocat-0.75/text/helplinuxhow' -a "${1}" != "-c" ; then 
  2257.   echo shar: Will not clobber existing file \"'rocat-0.75/text/helplinuxhow'\"
  2258. else
  2259.   echo shar: Extracting \"'rocat-0.75/text/helplinuxhow'\" \(2444 characters\)
  2260.   sed "s/^X//" >'rocat-0.75/text/helplinuxhow' <<'END_OF_FILE'
  2261. XHow do I get Linux?
  2262. X
  2263. X    Linux is distributed via floppy (generally) or you can order a
  2264. XCD-ROM from some companies for approximately $80.00.  Currently, Linux is
  2265. Xdestributes via floppy in two major sets.
  2266. X
  2267. X    Since nobody owns Linux, there have been a number of attempts to
  2268. Xpackage Linux for the "most" usefulness.  Currently, there are two major
  2269. Xdistributions, Soft Landing System (SLS) and Slackware.  The SLS
  2270. Xdistribution is easier to install at the penalty of using an older release
  2271. Xof Linux.  The Slackware release is harder to install, but is generally
  2272. Xmore up-to-date and more complete.  You can decide whichever release you
  2273. Xwish -- both are available on the BBS.  It should be noted, however, that
  2274. Xmost people start installation the first time with the SLS, as it's easier
  2275. Xto understand and gives a better grasp of Linux for beginners.
  2276. X
  2277. X    The entire source code for Linux is available.  The BBS currently
  2278. Xdoesn't carry the source for Linux (not enough space -- it's running
  2279. Xbetween 150 and 200 megs right now), but it should be in the future.
  2280. X
  2281. XDownloading Linux:
  2282. X
  2283. X    Since both Linux distributions are available online, you need to
  2284. Xdecide which you want to use.  After that point, you need to decide what
  2285. Xfeatures you want your Linux system to have.  Currently, the following are
  2286. Xavailable:
  2287. X
  2288. X    (Note:  You can mix and match both SLS and Slackware distributions)
  2289. X
  2290. X    In the Slackware distribution:
  2291. X        A - the base system.  Required for everything.  Comes with
  2292. X            networking, news, c/c++, mail.
  2293. X        E - Emacs 
  2294. X        F - The current Linux Frequently Asked Questions (FAQs).
  2295. X            (a *MUST* for the new user)
  2296. X        IV- InterViews development libraries.  Requires X.   
  2297. X        OOP - Object oriented Programming.  Currently just GNU
  2298. X            Smalltalk.
  2299. X        TCL - Tcl/Tk script language and X windows toolkit.  
  2300. X            (needed only for TCL development)
  2301. X        Q - A 'Questionable' series.  A bunch of alpha development
  2302. X            for Linux along with a couple of kernels - one for
  2303. X            SCSI and one for IDE.  
  2304. X        X - X Windows (XFree86 2.0) base system.
  2305. X        XAP - X Windows Applications (needed).
  2306. X        XD - X Windows program/server development.
  2307. X        XV - XView 3.2 (OpenLook Window Manager)
  2308. X            (not needed by most unless you do a lot on Suns)
  2309. X        Y - Games - text games among others.
  2310. X
  2311. X    In the SLS distribution:
  2312. X        A - the base system.  Much like Slackware, but easier to
  2313. X            install.
  2314. X        B - 
  2315. X        C - 
  2316. X        D - 
  2317. X        S - 
  2318. X        T - TeX - the TeX processing system 
  2319. X        X - X Windows - the entire thing (runtime, development, etc)
  2320. END_OF_FILE
  2321.   if test 2444 -ne `wc -c <'rocat-0.75/text/helplinuxhow'`; then
  2322.     echo shar: \"'rocat-0.75/text/helplinuxhow'\" unpacked with wrong size!
  2323.   fi
  2324.   # end of 'rocat-0.75/text/helplinuxhow'
  2325. fi
  2326. if test -f 'rocat-0.75/text/helplinuxwhat' -a "${1}" != "-c" ; then 
  2327.   echo shar: Will not clobber existing file \"'rocat-0.75/text/helplinuxwhat'\"
  2328. else
  2329.   echo shar: Extracting \"'rocat-0.75/text/helplinuxwhat'\" \(1340 characters\)
  2330.   sed "s/^X//" >'rocat-0.75/text/helplinuxwhat' <<'END_OF_FILE'
  2331. XWhat is Linux?
  2332. X
  2333. X    Linux is a *FREE* operating system in the unix mold for Intel X86
  2334. X(386 or better) processors.  
  2335. X
  2336. XA bit of history.
  2337. X
  2338. X    In late 1991, Linus Torvalds (in Sweden) decided to write a
  2339. Xunix-like kernel.  He wrote it, and released it on the Internet.  At about
  2340. Xthis time, a few people installed the kernel on their machines.  These
  2341. Xpeople were true Unix hackers -- they could write their own kernel if they
  2342. Xwanted.  They liked Linux (which is what Linus decided to call the kernel)
  2343. Xso much that they started to add all sorts of drivers, utilities and
  2344. Xwhat-not.  
  2345. X
  2346. X    Two years later, Linux is the fastest growing free OS in the world.
  2347. X
  2348. X
  2349. XFeatures of Linux:
  2350. X
  2351. X    It works like Unix.  It looks so much like unix that most people
  2352. Xcan't tell the difference.  It requires a 386 or better, a minimum of two
  2353. Xmegs of memory (more is better), a minimum of 40 meg of disk space (100 meg
  2354. Xfor a full installation at this point) and will support many different
  2355. Xtypes of monitors/video cards for X Windows.  More features:
  2356. X
  2357. X    - Runs in full 32-bit protected mode (like Unix)
  2358. X    - Protects processes from corrupting each other
  2359. X    - Has literally hundreds of utilities available 
  2360. X    - Comes with NFS, NIS and TCP/IP standard (also free)
  2361. X    - Comes with X11 ... and much much more.
  2362. X
  2363. X    See the help subject 'More information' to find out more details
  2364. Xabout Linux.
  2365. X
  2366. X
  2367. END_OF_FILE
  2368.   if test 1340 -ne `wc -c <'rocat-0.75/text/helplinuxwhat'`; then
  2369.     echo shar: \"'rocat-0.75/text/helplinuxwhat'\" unpacked with wrong size!
  2370.   fi
  2371.   # end of 'rocat-0.75/text/helplinuxwhat'
  2372. fi
  2373. if test -f 'rocat-0.75/text/helpnews' -a "${1}" != "-c" ; then 
  2374.   echo shar: Will not clobber existing file \"'rocat-0.75/text/helpnews'\"
  2375. else
  2376.   echo shar: Extracting \"'rocat-0.75/text/helpnews'\" \(2237 characters\)
  2377.   sed "s/^X//" >'rocat-0.75/text/helpnews' <<'END_OF_FILE'
  2378. XWhat is news?
  2379. X
  2380. XNews is the name given to a system of transferring messages between hosts
  2381. Xon the Internet.  The messages it transfers consist of many different types
  2382. Xof messages with many different subjects.   Due to the number of messages
  2383. Xthat are seen each day, the news is broken into groups.  Some example
  2384. Xgroups would be:
  2385. X
  2386. Xalt.bbs - a public bbs discussion area
  2387. Xrec.humor.funny - a recreational group that has funny jokes.
  2388. Xcomp.sys.mac.advocacy - a discussion group on why Macintosh computers are
  2389. X    superior
  2390. Xcomp.sys.ms-windows.advocacy - a discussion group on why Windows is
  2391. X    superior
  2392. X
  2393. X
  2394. XAs you can see, the groups are widely distributed, and, can be very forward
  2395. Xwith their descriptions and subjects.  The news system is broken into the
  2396. Xfollowing main catagories:
  2397. X
  2398. Xrec     - recreational postings (climbing, tennis, etc)
  2399. Xcomp     - computer related postings
  2400. Xtalk     - miscellaneous talk
  2401. Xalt     - a 'free for all'.  No main heading, lots of subjects.
  2402. Xsoc     - social postings 
  2403. Xieee    - postings from the ieee professional engineering group
  2404. Xmisc    - miscellaneous postings
  2405. Xsci     - scientific postings
  2406. X
  2407. XEach catagory has many sub groups.  Some of these would be:
  2408. X
  2409. Xhumor     - humorous postings (rec.humor, for example)
  2410. Xsys     - computer systems (comp.sys.unix.admin, for example)
  2411. Xgames    - games postings (rec.games.monopoly, for example)
  2412. X
  2413. XSub groups can be many levels deep.  
  2414. X
  2415. XCurrently, there are over 2000 groups available on news.  The Roman
  2416. XCatacombs gets a small subset (~50-100 groups) of those groups, simply
  2417. Xbecause it is so large.  In the documentation for news, upon setup, they
  2418. Xrecommend that the system have more than 600 MEGS of storage minimum to
  2419. Xkeep only 7 days of news.  That's quite a bit, averaging 35 megs of
  2420. Xinformation, COMPRESSED, per day.
  2421. X
  2422. XThe Roman Catacombs currently gets about 3.5 megs, compressed, of news per
  2423. Xday.  If you want to get a group that TRC doesn't get, please talk to the
  2424. XSysOp.  TRC is very flexible.
  2425. X
  2426. XHow to select groups:
  2427. X    
  2428. XYou may select groups by going into the newsreader and selecting the groups
  2429. Xyou're interested in.  Each newsreader (tin, rn and nn) has it's own way of
  2430. Xfunctioning, and it's own way of adding and removing groups.   Please see
  2431. Xthe manuals for the different newsreaders for more information.
  2432. END_OF_FILE
  2433.   if test 2237 -ne `wc -c <'rocat-0.75/text/helpnews'`; then
  2434.     echo shar: \"'rocat-0.75/text/helpnews'\" unpacked with wrong size!
  2435.   fi
  2436.   # end of 'rocat-0.75/text/helpnews'
  2437. fi
  2438. if test -f 'rocat-0.75/text/reg.instr' -a "${1}" != "-c" ; then 
  2439.   echo shar: Will not clobber existing file \"'rocat-0.75/text/reg.instr'\"
  2440. else
  2441.   echo shar: Extracting \"'rocat-0.75/text/reg.instr'\" \(1963 characters\)
  2442.   sed "s/^X//" >'rocat-0.75/text/reg.instr' <<'END_OF_FILE'
  2443. XUntil the end of August, new users don't have to register (pay) for user access
  2444. Xto the BBS.  These instructions refer to after that time.
  2445. X
  2446. XThe Roman Catacombs is not a 'free' bbs.  It costs a lot of money to keep the
  2447. XBBS running month-to-month.  (generally around $100.00 a month to pay for the 
  2448. Xphone line(s), maintenance, new acquisitions, etc)  
  2449. X
  2450. XAs a non-registered user (visitor access), you may:
  2451. X    Look at files (no upload or download)
  2452. X    Read news
  2453. X    Play the online games.
  2454. XVisitor access allows only 20 minutes per day.
  2455. X
  2456. XAs a charter user ($20.00 per year), you have the following additions:
  2457. X    Look, upload and download up to 500K of files per day.
  2458. X    Read and post to the news system.
  2459. XCharter access allows 40 minutes per day.
  2460. X
  2461. XAs a constituent ($30.00 per year), you gain the following features:
  2462. X    You have unlimited download access per day.
  2463. XConstituent access allows 60 minutes per day.
  2464. X
  2465. XFor an additional $10.00 per year, adult access is given to any user level
  2466. Xabove visitor.
  2467. X
  2468. XYou may ask: 
  2469. X
  2470. XQ: Why is it a pay-bbs?  Fort Mac wasn't a pay-bbs!
  2471. X
  2472. XA: Fort Mac suffered from horrible disk drives and lost files sections because
  2473. Xit was unable to keep its equipment current.  This system will not have that
  2474. Xproblem.
  2475. X
  2476. XQ: Why should I pay?
  2477. X
  2478. XA: Paying for the BBS guarentees:
  2479. X    1.  The user is serious about wanting to become part of the BBS.
  2480. X    2.  The BBS is professionally maintained.  Errors and problems will
  2481. X        be taken care of upon notification.
  2482. X
  2483. XQ: Where do I send a check?
  2484. X
  2485. XA: Write a short note telling who you are, how long you wish to pay for (if
  2486. Xlonger than one year), and what access you wish.  (e.g. do you want charter
  2487. Xmember access with adult files section or constituent member access? )
  2488. XSend the check to:
  2489. X
  2490. X    The Roman Catacombs
  2491. X    15651 E. Caspian Cir. #203
  2492. X    Aurora CO 80013
  2493. X
  2494. XNote that more disk space will be added in the near future.  The goal is to
  2495. Xhave over 1 gig of disk space before year-end.  Also, a CD-ROM will be added 
  2496. Xto the BBS system soon.
  2497. X
  2498. END_OF_FILE
  2499.   if test 1963 -ne `wc -c <'rocat-0.75/text/reg.instr'`; then
  2500.     echo shar: \"'rocat-0.75/text/reg.instr'\" unpacked with wrong size!
  2501.   fi
  2502.   # end of 'rocat-0.75/text/reg.instr'
  2503. fi
  2504. if test -f 'rocat-0.75/text/system3.msg' -a "${1}" != "-c" ; then 
  2505.   echo shar: Will not clobber existing file \"'rocat-0.75/text/system3.msg'\"
  2506. else
  2507.   echo shar: Extracting \"'rocat-0.75/text/system3.msg'\" \(1356 characters\)
  2508.   sed "s/^X//" >'rocat-0.75/text/system3.msg' <<'END_OF_FILE'
  2509. XMost popular files on BBS by downloads: (06/03/94)
  2510. XName            Section                  Dls  Date   Uploaded by
  2511. Xgifconve.sit       Graphics (Art) Programs   9 08/14/93 Greg    
  2512. XMacBzone1.3.1.     Macintosh Games           7 10/20/93 shaw    
  2513. XBolo-992.cpt       Macintosh Games           6 10/20/93 shaw    
  2514. XBattleField.se     Macintosh BBS Programs    6 08/10/93 shaw    
  2515. Xstuffite.sea       Macintosh Compression Pro 5 10/18/93 shaw    
  2516. Xcry.gif            Other Pictures            5 08/14/93 sysop   
  2517. Xmacconcept.sit     Macintosh Applications    4 01/04/94 sruby   
  2518. Xcompactp.sea       Macintosh Compression Pro 4 10/18/93 shaw    
  2519. Xmaelstrom-103.     Macintosh Games           4 10/20/93 shaw    
  2520. Xstained-glass.     Macintosh Games           4 10/20/93 shaw    
  2521. Xsky.gif            Other Pictures            4 08/14/93 sysop   
  2522. XNetHack3.0pl9.     Macintosh Games           3 11/21/93 shaw    
  2523. XArmor1.1.sit       Macintosh Games           3 11/28/93 shaw    
  2524. XMovodII            Macintosh Games           3 11/28/93 shaw    
  2525. Xbig-pat-11.sit     Macintosh CDEVs and INITs 3 11/27/93 shaw    
  2526. Xpick-a-pat-3-8     Macintosh CDEVs and INITs 3 11/28/93 shaw    
  2527. XMacPGP2.2.cpt      Macintosh Utilities       3 11/21/93 shaw    
  2528. XCallerVerify.s     Macintosh BBS Programs    3 10/20/93 shaw    
  2529. XBankTime.sea       Macintosh BBS Programs    3 10/20/93 shaw    
  2530. Xpararena1.3.cp     Macintosh Games           2 11/28/93 shaw    
  2531. END_OF_FILE
  2532.   if test 1356 -ne `wc -c <'rocat-0.75/text/system3.msg'`; then
  2533.     echo shar: \"'rocat-0.75/text/system3.msg'\" unpacked with wrong size!
  2534.   fi
  2535.   # end of 'rocat-0.75/text/system3.msg'
  2536. fi
  2537. echo shar: End of archive 7 \(of 9\).
  2538. cp /dev/null ark7isdone
  2539. MISSING=""
  2540. for I in 1 2 3 4 5 6 7 8 9 ; do
  2541.     if test ! -f ark${I}isdone ; then
  2542.     MISSING="${MISSING} ${I}"
  2543.     fi
  2544. done
  2545. if test "${MISSING}" = "" ; then
  2546.     echo You have unpacked all 9 archives.
  2547.     rm -f ark[1-9]isdone ark[1-9][0-9]isdone
  2548. else
  2549.     echo You still must unpack the following archives:
  2550.     echo "        " ${MISSING}
  2551. fi
  2552. exit 0
  2553. exit 0 # Just in case...
  2554.