home *** CD-ROM | disk | FTP | other *** search
- From: shaw@stortek.stortek.com (Greg Shaw)
- Newsgroups: comp.sources.misc
- Subject: v44i003: rocat - Roman Catacombs BBS System v.0.75, Part03/09
- Date: 1 Aug 1994 12:08:37 -0500
- Organization: Sterling Software
- Sender: kent@sparky.sterling.com
- Approved: kent@sparky.sterling.com
- Message-ID: <31ja6l$avv@sparky.sterling.com>
- X-Md4-Signature: 7d728ca6d90ab899cd87c83d40f6abc0
-
- Submitted-by: shaw@stortek.stortek.com (Greg Shaw)
- Posting-number: Volume 44, Issue 3
- Archive-name: rocat/part03
- Environment: Linux, GNU C++/libg++
-
- #! /bin/sh
- # This is a shell archive. Remove anything before this line, then feed it
- # into a shell via "sh file" or similar. To overwrite existing files,
- # type "sh file -c".
- # Contents: rocat-0.75/doc/bbsinstl.ps.A rocat-0.75/src/bbsint.C
- # Wrapped by kent@sparky on Mon Jul 11 22:22:50 1994
- PATH=/bin:/usr/bin:/usr/ucb:/usr/local/bin:/usr/lbin:$PATH ; export PATH
- echo If this archive is complete, you will see the following message:
- echo ' "shar: End of archive 3 (of 9)."'
- if test -f 'rocat-0.75/doc/bbsinstl.ps.A' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'rocat-0.75/doc/bbsinstl.ps.A'\"
- else
- echo shar: Extracting \"'rocat-0.75/doc/bbsinstl.ps.A'\" \(83289 characters\)
- sed "s/^X//" >'rocat-0.75/doc/bbsinstl.ps.A' <<'END_OF_FILE'
- X%!PS-Adobe-3.0
- X%%Creator: Windows PSCRIPT
- X%%Title: Microsoft Word - BBSINSTL.DOC
- X%%BoundingBox: 18 19 593 774
- X%%DocumentNeededResources: (atend)
- X%%DocumentSuppliedResources: (atend)
- X%%Pages: (atend)
- X%%BeginResource: procset Win35Dict 3 1
- X/Win35Dict 290 dict def Win35Dict begin/bd{bind def}bind def/in{72
- Xmul}bd/ed{exch def}bd/ld{load def}bd/tr/translate ld/gs/gsave ld/gr
- X/grestore ld/M/moveto ld/L/lineto ld/rmt/rmoveto ld/rlt/rlineto ld
- X/rct/rcurveto ld/st/stroke ld/n/newpath ld/sm/setmatrix ld/cm/currentmatrix
- Xld/cp/closepath ld/ARC/arcn ld/TR{65536 div}bd/lj/setlinejoin ld/lc
- X/setlinecap ld/ml/setmiterlimit ld/sl/setlinewidth ld/scignore false
- Xdef/sc{scignore{pop pop pop}{0 index 2 index eq 2 index 4 index eq
- Xand{pop pop 255 div setgray}{3{255 div 3 1 roll}repeat setrgbcolor}ifelse}ifelse}bd
- X/FC{bR bG bB sc}bd/fC{/bB ed/bG ed/bR ed}bd/HC{hR hG hB sc}bd/hC{
- X/hB ed/hG ed/hR ed}bd/PC{pR pG pB sc}bd/pC{/pB ed/pG ed/pR ed}bd/sM
- Xmatrix def/PenW 1 def/iPen 5 def/mxF matrix def/mxE matrix def/mxUE
- Xmatrix def/mxUF matrix def/fBE false def/iDevRes 72 0 matrix defaultmatrix
- Xdtransform dup mul exch dup mul add sqrt def/fPP false def/SS{fPP{
- X/SV save def}{gs}ifelse}bd/RS{fPP{SV restore}{gr}ifelse}bd/EJ{gsave
- Xshowpage grestore}bd/#C{userdict begin/#copies ed end}bd/FEbuf 2 string
- Xdef/FEglyph(G )def/FE{1 exch{dup 16 FEbuf cvrs FEglyph exch 1 exch
- Xputinterval 1 index exch FEglyph cvn put}for}bd/SM{/iRes ed/cyP ed
- X/cxPg ed/cyM ed/cxM ed 72 100 div dup scale dup 0 ne{90 eq{cyM exch
- X0 eq{cxM exch tr -90 rotate -1 1 scale}{cxM cxPg add exch tr +90 rotate}ifelse}{cyP
- XcyM sub exch 0 ne{cxM exch tr -90 rotate}{cxM cxPg add exch tr -90
- Xrotate 1 -1 scale}ifelse}ifelse}{pop cyP cyM sub exch 0 ne{cxM cxPg
- Xadd exch tr 180 rotate}{cxM exch tr 1 -1 scale}ifelse}ifelse 100 iRes
- Xdiv dup scale 0 0 transform .25 add round .25 sub exch .25 add round
- X.25 sub exch itransform translate}bd/SJ{1 index 0 eq{pop pop/fBE false
- Xdef}{1 index/Break ed div/dxBreak ed/fBE true def}ifelse}bd/ANSIVec[
- X16#0/grave 16#1/acute 16#2/circumflex 16#3/tilde 16#4/macron 16#5/breve
- X16#6/dotaccent 16#7/dieresis 16#8/ring 16#9/cedilla 16#A/hungarumlaut
- X16#B/ogonek 16#C/caron 16#D/dotlessi 16#27/quotesingle 16#60/grave
- X16#7C/bar 16#82/quotesinglbase 16#83/florin 16#84/quotedblbase 16#85
- X/ellipsis 16#86/dagger 16#87/daggerdbl 16#89/perthousand 16#8A/Scaron
- X16#8B/guilsinglleft 16#8C/OE 16#91/quoteleft 16#92/quoteright 16#93
- X/quotedblleft 16#94/quotedblright 16#95/bullet 16#96/endash 16#97
- X/emdash 16#99/trademark 16#9A/scaron 16#9B/guilsinglright 16#9C/oe
- X16#9F/Ydieresis 16#A0/space 16#A4/currency 16#A6/brokenbar 16#A7/section
- X16#A8/dieresis 16#A9/copyright 16#AA/ordfeminine 16#AB/guillemotleft
- X16#AC/logicalnot 16#AD/hyphen 16#AE/registered 16#AF/macron 16#B0/degree
- X16#B1/plusminus 16#B2/twosuperior 16#B3/threesuperior 16#B4/acute 16#B5
- X/mu 16#B6/paragraph 16#B7/periodcentered 16#B8/cedilla 16#B9/onesuperior
- X16#BA/ordmasculine 16#BB/guillemotright 16#BC/onequarter 16#BD/onehalf
- X16#BE/threequarters 16#BF/questiondown 16#C0/Agrave 16#C1/Aacute 16#C2
- X/Acircumflex 16#C3/Atilde 16#C4/Adieresis 16#C5/Aring 16#C6/AE 16#C7
- X/Ccedilla 16#C8/Egrave 16#C9/Eacute 16#CA/Ecircumflex 16#CB/Edieresis
- X16#CC/Igrave 16#CD/Iacute 16#CE/Icircumflex 16#CF/Idieresis 16#D0/Eth
- X16#D1/Ntilde 16#D2/Ograve 16#D3/Oacute 16#D4/Ocircumflex 16#D5/Otilde
- X16#D6/Odieresis 16#D7/multiply 16#D8/Oslash 16#D9/Ugrave 16#DA/Uacute
- X16#DB/Ucircumflex 16#DC/Udieresis 16#DD/Yacute 16#DE/Thorn 16#DF/germandbls
- X16#E0/agrave 16#E1/aacute 16#E2/acircumflex 16#E3/atilde 16#E4/adieresis
- X16#E5/aring 16#E6/ae 16#E7/ccedilla 16#E8/egrave 16#E9/eacute 16#EA
- X/ecircumflex 16#EB/edieresis 16#EC/igrave 16#ED/iacute 16#EE/icircumflex
- X16#EF/idieresis 16#F0/eth 16#F1/ntilde 16#F2/ograve 16#F3/oacute 16#F4
- X/ocircumflex 16#F5/otilde 16#F6/odieresis 16#F7/divide 16#F8/oslash
- X16#F9/ugrave 16#FA/uacute 16#FB/ucircumflex 16#FC/udieresis 16#FD/yacute
- X16#FE/thorn 16#FF/ydieresis ] def/reencdict 12 dict def/IsChar{basefontdict
- X/CharStrings get exch known}bd/MapCh{dup IsChar not{pop/bullet}if
- Xnewfont/Encoding get 3 1 roll put}bd/MapDegree{16#b0/degree IsChar{
- X/degree}{/ring}ifelse MapCh}bd/MapBB{16#a6/brokenbar IsChar{/brokenbar}{
- X/bar}ifelse MapCh}bd/ANSIFont{reencdict begin/newfontname ed/basefontname
- Xed FontDirectory newfontname known not{/basefontdict basefontname findfont
- Xdef/newfont basefontdict maxlength dict def basefontdict{exch dup/FID
- Xne{dup/Encoding eq{exch dup length array copy newfont 3 1 roll put}{exch
- Xnewfont 3 1 roll put}ifelse}{pop pop}ifelse}forall newfont/FontName
- Xnewfontname put 127 1 159{newfont/Encoding get exch/bullet put}for
- XANSIVec aload pop ANSIVec length 2 idiv{MapCh}repeat MapDegree MapBB
- Xnewfontname newfont definefont pop}if newfontname end}bd/SB{FC/ULlen
- Xed/str ed str length fBE not{dup 1 gt{1 sub}if}if/cbStr ed/dxGdi ed
- X/y0 ed/x0 ed str stringwidth dup 0 ne{/y1 ed/x1 ed y1 y1 mul x1 x1
- Xmul add sqrt dxGdi exch div 1 sub dup x1 mul cbStr div exch y1 mul
- XcbStr div}{exch abs neg dxGdi add cbStr div exch}ifelse/dyExtra ed
- X/dxExtra ed x0 y0 M fBE{dxBreak 0 BCh dxExtra dyExtra str awidthshow}{dxExtra
- XdyExtra str ashow}ifelse fUL{x0 y0 M dxUL dyUL rmt ULlen fBE{Break
- Xadd}if 0 mxUE transform gs rlt cyUL sl [] 0 setdash st gr}if fSO{x0
- Xy0 M dxSO dySO rmt ULlen fBE{Break add}if 0 mxUE transform gs rlt cyUL
- Xsl [] 0 setdash st gr}if n/fBE false def}bd/font{/name ed/Ascent ed
- X0 ne/fT3 ed 0 ne/fSO ed 0 ne/fUL ed/Sy ed/Sx ed 10.0 div/ori ed -10.0
- Xdiv/esc ed/BCh ed name findfont/xAscent 0 def/yAscent Ascent def/ULesc
- Xesc def ULesc mxUE rotate pop fT3{/esc 0 def xAscent yAscent mxUE transform
- X/yAscent ed/xAscent ed}if [Sx 0 0 Sy neg xAscent yAscent] esc mxE
- Xrotate mxF concatmatrix makefont setfont [Sx 0 0 Sy neg 0 Ascent] mxUE
- XmxUF concatmatrix pop fUL{currentfont dup/FontInfo get/UnderlinePosition
- Xknown not{pop/Courier findfont}if/FontInfo get/UnderlinePosition get
- X1000 div 0 exch mxUF transform/dyUL ed/dxUL ed}if fSO{0 .3 mxUF transform
- X/dySO ed/dxSO ed}if fUL fSO or{currentfont dup/FontInfo get/UnderlineThickness
- Xknown not{pop/Courier findfont}if/FontInfo get/UnderlineThickness get
- X1000 div Sy mul/cyUL ed}if}bd/min{2 copy gt{exch}if pop}bd/max{2 copy
- Xlt{exch}if pop}bd/CP{/ft ed{{ft 0 eq{clip}{eoclip}ifelse}stopped{currentflat
- X1 add setflat}{exit}ifelse}loop}bd/patfont 10 dict def patfont begin
- X/FontType 3 def/FontMatrix [1 0 0 -1 0 0] def/FontBBox [0 0 16 16]
- Xdef/Encoding StandardEncoding def/BuildChar{pop pop 16 0 0 0 16 16
- Xsetcachedevice 16 16 false [1 0 0 1 .25 .25]{pat}imagemask}bd end/p{
- X/pat 32 string def{}forall 0 1 7{dup 2 mul pat exch 3 index put dup
- X2 mul 1 add pat exch 3 index put dup 2 mul 16 add pat exch 3 index
- Xput 2 mul 17 add pat exch 2 index put pop}for}bd/pfill{/PatFont patfont
- Xdefinefont setfont/ch(AAAA)def X0 64 X1{Y1 -16 Y0{1 index exch M ch
- Xshow}for pop}for}bd/vert{X0 w X1{dup Y0 M Y1 L st}for}bd/horz{Y0 w
- XY1{dup X0 exch M X1 exch L st}for}bd/fdiag{X0 w X1{Y0 M X1 X0 sub dup
- Xrlt st}for Y0 w Y1{X0 exch M Y1 Y0 sub dup rlt st}for}bd/bdiag{X0 w
- XX1{Y1 M X1 X0 sub dup neg rlt st}for Y0 w Y1{X0 exch M Y1 Y0 sub dup
- Xneg rlt st}for}bd/AU{1 add cvi 15 or}bd/AD{1 sub cvi -16 and}bd/SHR{pathbbox
- XAU/Y1 ed AU/X1 ed AD/Y0 ed AD/X0 ed}bd/hfill{/w iRes 37.5 div round
- Xdef 0.1 sl [] 0 setdash n dup 0 eq{horz}if dup 1 eq{vert}if dup 2 eq{fdiag}if
- Xdup 3 eq{bdiag}if dup 4 eq{horz vert}if 5 eq{fdiag bdiag}if}bd/F{/ft
- Xed fm 256 and 0 ne{gs FC ft 0 eq{fill}{eofill}ifelse gr}if fm 1536
- Xand 0 ne{SHR gs HC ft CP fm 1024 and 0 ne{/Tmp save def pfill Tmp restore}{fm
- X15 and hfill}ifelse gr}if}bd/S{PenW sl PC st}bd/m matrix def/GW{iRes
- X12 div PenW add cvi}bd/DoW{iRes 50 div PenW add cvi}bd/DW{iRes 8 div
- XPenW add cvi}bd/SP{/PenW ed/iPen ed iPen 0 eq iPen 6 eq or{[] 0 setdash}if
- XiPen 1 eq{[DW GW] 0 setdash}if iPen 2 eq{[DoW GW] 0 setdash}if iPen
- X3 eq{[DW GW DoW GW] 0 setdash}if iPen 4 eq{[DW GW DoW GW DoW GW] 0
- Xsetdash}if}bd/E{m cm pop tr scale 1 0 moveto 0 0 1 0 360 arc cp m sm}bd
- X/AG{/sy ed/sx ed sx div 4 1 roll sy div 4 1 roll sx div 4 1 roll sy
- Xdiv 4 1 roll atan/a2 ed atan/a1 ed sx sy scale a1 a2 ARC}def/A{m cm
- Xpop tr AG m sm}def/P{m cm pop tr 0 0 M AG cp m sm}def/RRect{n 4 copy
- XM 3 1 roll exch L 4 2 roll L L cp}bd/RRCC{/r ed/y1 ed/x1 ed/y0 ed/x0
- Xed x0 x1 add 2 div y0 M x1 y0 x1 y1 r arcto 4{pop}repeat x1 y1 x0 y1
- Xr arcto 4{pop}repeat x0 y1 x0 y0 r arcto 4{pop}repeat x0 y0 x1 y0 r
- Xarcto 4{pop}repeat cp}bd/RR{2 copy 0 eq exch 0 eq or{pop pop RRect}{2
- Xcopy eq{pop RRCC}{m cm pop/y2 ed/x2 ed/ys y2 x2 div 1 max def/xs x2
- Xy2 div 1 max def/y1 exch ys div def/x1 exch xs div def/y0 exch ys div
- Xdef/x0 exch xs div def/r2 x2 y2 min def xs ys scale x0 x1 add 2 div
- Xy0 M x1 y0 x1 y1 r2 arcto 4{pop}repeat x1 y1 x0 y1 r2 arcto 4{pop}repeat
- Xx0 y1 x0 y0 r2 arcto 4{pop}repeat x0 y0 x1 y0 r2 arcto 4{pop}repeat
- Xm sm cp}ifelse}ifelse}bd/PP{{rlt}repeat}bd/OB{gs 0 ne{7 3 roll/y ed
- X/x ed x y translate ULesc rotate x neg y neg translate x y 7 -3 roll}if
- Xsc B fill gr}bd/B{M/dy ed/dx ed dx 0 rlt 0 dy rlt dx neg 0 rlt cp}bd
- X/CB{B clip n}bd/ErrHandler{errordict dup maxlength exch length gt
- Xdup{errordict begin}if/errhelpdict 12 dict def errhelpdict begin/stackunderflow(operand stack underflow)def
- X/undefined(this name is not defined in a dictionary)def/VMerror(you have used up all the printer's memory)def
- X/typecheck(operator was expecting a different type of operand)def
- X/ioerror(input/output error occured)def end{end}if errordict begin
- X/handleerror{$error begin newerror{/newerror false def showpage 72
- X72 scale/x .25 def/y 9.6 def/Helvetica findfont .2 scalefont setfont
- Xx y moveto(Offending Command = )show/command load{dup type/stringtype
- Xne{(max err string)cvs}if show}exec/y y .2 sub def x y moveto(Error = )show
- Xerrorname{dup type dup( max err string )cvs show( : )show/stringtype
- Xne{( max err string )cvs}if show}exec errordict begin errhelpdict errorname
- Xknown{x 1 add y .2 sub moveto errhelpdict errorname get show}if end
- X/y y .4 sub def x y moveto(Stack =)show ostack{/y y .2 sub def x 1
- Xadd y moveto dup type/stringtype ne{( max err string )cvs}if show}forall
- Xshowpage}if end}def end}bd end
- X%%EndResource
- X/SVDoc save def
- X%%EndProlog
- X%%BeginSetup
- XWin35Dict begin
- XErrHandler
- Xstatusdict begin 0 setjobtimeout end
- Xstatusdict begin statusdict /jobname (Microsoft Word - BBSINSTL.DOC) put end
- X/oldDictCnt countdictstack def {statusdict begin 0 setpapertray end
- X}stopped
- X{ countdictstack oldDictCnt lt { Win35Dict begin }
- X{1 1 countdictstack oldDictCnt sub {pop end } for } ifelse } if
- X/oldDictCnt countdictstack def {letter
- X}stopped
- X{ countdictstack oldDictCnt lt { Win35Dict begin }
- X{1 1 countdictstack oldDictCnt sub {pop end } for } ifelse } if
- X[{}
- X/exec load currenttransfer /exec load] cvx settransfer
- X/setresolution where { pop 300 300 setresolution } if
- X%%EndSetup
- X%%Page: 1 1
- X%%PageResources: (atend)
- XSS
- X0 0 25 25 798 1100 300 SM
- X32 0 0 83 83 0 0 0 77 /Helvetica-Bold /font13 ANSIFont font
- X0 0 0 fC
- X812 1332 925 (The Roman Catacombs) 925 SB
- X32 0 0 58 58 0 0 0 53 /Helvetica-Bold /font13 ANSIFont font
- X972 1430 605 (BBS System for Linux) 605 SB
- X32 0 0 38 38 0 0 0 36 /Helvetica-Bold /font13 ANSIFont font
- X1118 1498 314 (By Gregory Shaw) 314 SB
- X32 0 0 29 29 0 0 0 27 /Helvetica /font12 ANSIFont font
- X1103 1544 343 (shaw@manwe.fmsoft.com) 343 SB
- X1 #C
- Xstatusdict begin /manualfeed false store end
- XEJ RS
- X%%PageTrailer
- X%%PageResources: font Helvetica
- X%%+ font Helvetica-Bold
- X%%Page: 2 2
- X%%PageResources: (atend)
- XSS
- X0 0 25 25 798 1100 300 SM
- X32 0 0 58 58 0 0 0 53 /Helvetica-Bold /font13 ANSIFont font
- X0 0 0 fC
- X1032 227 485 (Table of Contents) 485 SB
- X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
- X300 296 209 (Introduction) 209 SB
- X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
- X517 296 352 (................................) 352 SB
- X869 296 352 (................................) 352 SB
- X1221 296 352 (................................) 352 SB
- X1573 296 352 (................................) 352 SB
- X1925 296 99 (.........) 99 SB
- X2025 296 21 (3) 21 SB
- X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
- X450 346 205 (Background) 205 SB
- X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
- X660 346 352 (................................) 352 SB
- X1012 346 352 (................................) 352 SB
- X1364 346 352 (................................) 352 SB
- X1716 346 308 (............................) 308 SB
- X2025 346 21 (3) 21 SB
- X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
- X450 396 233 (Requirements) 233 SB
- X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
- X693 396 352 (................................) 352 SB
- X1045 396 352 (................................) 352 SB
- X1397 396 352 (................................) 352 SB
- X1749 396 275 (.........................) 275 SB
- X2025 396 21 (3) 21 SB
- X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
- X450 446 360 (Multiline capabilities) 360 SB
- X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
- X814 446 352 (................................) 352 SB
- X1166 446 352 (................................) 352 SB
- X1518 446 352 (................................) 352 SB
- X1870 446 154 (..............) 154 SB
- X2025 446 21 (4) 21 SB
- X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
- X450 496 377 (External requirements) 377 SB
- X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
- X836 496 352 (................................) 352 SB
- X1188 496 352 (................................) 352 SB
- X1540 496 352 (................................) 352 SB
- X1892 496 132 (............) 132 SB
- X2025 496 21 (4) 21 SB
- X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
- X450 546 285 (Design decisions) 285 SB
- X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
- X737 546 352 (................................) 352 SB
- X1089 546 352 (................................) 352 SB
- X1441 546 352 (................................) 352 SB
- X1793 546 231 (.....................) 231 SB
- X2025 546 21 (4) 21 SB
- X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
- X300 596 532 (Compilation and Configuration) 532 SB
- X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
- X836 596 352 (................................) 352 SB
- X1188 596 352 (................................) 352 SB
- X1540 596 352 (................................) 352 SB
- X1892 596 132 (............) 132 SB
- X2025 596 21 (4) 21 SB
- X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
- X450 646 158 (Pre-setup) 158 SB
- X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
- X616 646 352 (................................) 352 SB
- X968 646 352 (................................) 352 SB
- X1320 646 352 (................................) 352 SB
- X1672 646 352 (................................) 352 SB
- X2025 646 21 (4) 21 SB
- X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
- X600 696 646 (Adding the BBS User and BBS Group) 646 SB
- X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
- X1254 696 352 (................................) 352 SB
- X1606 696 352 (................................) 352 SB
- X1958 696 66 (......) 66 SB
- X2025 696 21 (4) 21 SB
- X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
- X450 746 289 (Where to install?) 289 SB
- X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
- X748 746 352 (................................) 352 SB
- X1100 746 352 (................................) 352 SB
- X1452 746 352 (................................) 352 SB
- X1804 746 220 (....................) 220 SB
- X2025 746 21 (5) 21 SB
- X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
- X450 796 383 (Unpacking the archive) 383 SB
- X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
- X836 796 352 (................................) 352 SB
- X1188 796 352 (................................) 352 SB
- X1540 796 352 (................................) 352 SB
- X1892 796 132 (............) 132 SB
- X2025 796 21 (6) 21 SB
- X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
- X450 846 376 (Compiling the System) 376 SB
- X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
- X836 846 352 (................................) 352 SB
- X1188 846 352 (................................) 352 SB
- X1540 846 352 (................................) 352 SB
- X1892 846 132 (............) 132 SB
- X2025 846 21 (6) 21 SB
- X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
- X450 896 473 (Adding the 'new' user logon) 473 SB
- X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
- X924 896 352 (................................) 352 SB
- X1276 896 352 (................................) 352 SB
- X1628 896 352 (................................) 352 SB
- X1980 896 44 (....) 44 SB
- X2025 896 21 (6) 21 SB
- X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
- X450 946 237 (Configuration) 237 SB
- X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
- X693 946 352 (................................) 352 SB
- X1045 946 352 (................................) 352 SB
- X1397 946 352 (................................) 352 SB
- X1749 946 275 (.........................) 275 SB
- X2025 946 21 (7) 21 SB
- X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
- X600 996 211 (Linux FAQs) 211 SB
- X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
- X814 996 352 (................................) 352 SB
- X1166 996 352 (................................) 352 SB
- X1518 996 352 (................................) 352 SB
- X1870 996 154 (..............) 154 SB
- X2025 996 21 (7) 21 SB
- X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
- X600 1046 367 (Modem configuration) 367 SB
- X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
- X968 1046 352 (................................) 352 SB
- X1320 1046 352 (................................) 352 SB
- X1672 1046 352 (................................) 352 SB
- X2025 1046 21 (7) 21 SB
- X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
- X600 1096 337 (Serial configuration) 337 SB
- X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
- X946 1096 352 (................................) 352 SB
- X1298 1096 352 (................................) 352 SB
- X1650 1096 352 (................................) 352 SB
- X2002 1096 22 (..) 22 SB
- X2025 1096 21 (8) 21 SB
- X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
- X600 1146 222 (Initial Logon) 222 SB
- X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
- X825 1146 352 (................................) 352 SB
- X1177 1146 352 (................................) 352 SB
- X1529 1146 352 (................................) 352 SB
- X1881 1146 143 (.............) 143 SB
- X2025 1146 21 (9) 21 SB
- X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
- X600 1196 236 (Logon Scripts) 236 SB
- X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
- X836 1196 352 (................................) 352 SB
- X1188 1196 352 (................................) 352 SB
- X1540 1196 352 (................................) 352 SB
- X1892 1196 132 (............) 132 SB
- X2025 1196 42 (10) 42 SB
- X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
- X600 1246 289 (System messages) 289 SB
- X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
- X891 1246 352 (................................) 352 SB
- X1243 1246 352 (................................) 352 SB
- X1595 1246 352 (................................) 352 SB
- X1947 1246 77 (.......) 77 SB
- X2025 1246 42 (10) 42 SB
- X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
- X600 1296 114 (Menus) 114 SB
- X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
- X715 1296 352 (................................) 352 SB
- X1067 1296 352 (................................) 352 SB
- X1419 1296 352 (................................) 352 SB
- X1771 1296 253 (.......................) 253 SB
- X2025 1296 42 (10) 42 SB
- X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
- X600 1346 190 (Files Areas) 190 SB
- X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
- X792 1346 352 (................................) 352 SB
- X1144 1346 352 (................................) 352 SB
- X1496 1346 352 (................................) 352 SB
- X1848 1346 176 (................) 176 SB
- X2025 1346 42 (14) 42 SB
- X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
- X600 1396 94 (Users) 94 SB
- X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
- X704 1396 352 (................................) 352 SB
- X1056 1396 352 (................................) 352 SB
- X1408 1396 352 (................................) 352 SB
- X1760 1396 264 (........................) 264 SB
- X2025 1396 42 (15) 42 SB
- X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
- X600 1446 448 (The Options \(bbsinfo\) File) 448 SB
- X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
- X1056 1446 352 (................................) 352 SB
- X1408 1446 352 (................................) 352 SB
- X1760 1446 264 (........................) 264 SB
- X2025 1446 42 (16) 42 SB
- X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
- X600 1496 601 (Interfacing with External Programs) 601 SB
- X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
- X1210 1496 352 (................................) 352 SB
- X1562 1496 352 (................................) 352 SB
- X1914 1496 110 (..........) 110 SB
- X2025 1496 42 (18) 42 SB
- X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
- X600 1546 489 (Uploading and Downloading) 489 SB
- X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
- X1089 1546 352 (................................) 352 SB
- X1441 1546 352 (................................) 352 SB
- X1793 1546 231 (.....................) 231 SB
- X2025 1546 42 (18) 42 SB
- X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
- X300 1596 454 (Testing and Normal Usage) 454 SB
- X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
- X759 1596 352 (................................) 352 SB
- X1111 1596 352 (................................) 352 SB
- X1463 1596 352 (................................) 352 SB
- X1815 1596 209 (...................) 209 SB
- X2025 1596 42 (19) 42 SB
- X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
- X450 1646 295 (Using the System) 295 SB
- X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
- X748 1646 352 (................................) 352 SB
- X1100 1646 352 (................................) 352 SB
- X1452 1646 352 (................................) 352 SB
- X1804 1646 220 (....................) 220 SB
- X2025 1646 42 (19) 42 SB
- X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
- X300 1696 138 (Security) 138 SB
- X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
- X440 1696 352 (................................) 352 SB
- X792 1696 352 (................................) 352 SB
- X1144 1696 352 (................................) 352 SB
- X1496 1696 352 (................................) 352 SB
- X1848 1696 176 (................) 176 SB
- X2025 1696 42 (20) 42 SB
- X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
- X450 1746 548 (How the BBS uses Unix security) 548 SB
- X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
- X1001 1746 352 (................................) 352 SB
- X1353 1746 352 (................................) 352 SB
- X1705 1746 319 (.............................) 319 SB
- X2025 1746 42 (20) 42 SB
- X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
- X450 1796 588 (Security Holes - external programs) 588 SB
- X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
- X1045 1796 352 (................................) 352 SB
- X1397 1796 352 (................................) 352 SB
- X1749 1796 275 (.........................) 275 SB
- X2025 1796 42 (20) 42 SB
- X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
- X300 1846 571 (Being a System Operator \(SysOp\)) 571 SB
- X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
- X880 1846 352 (................................) 352 SB
- X1232 1846 352 (................................) 352 SB
- X1584 1846 352 (................................) 352 SB
- X1936 1846 88 (........) 88 SB
- X2025 1846 42 (20) 42 SB
- X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
- X450 1896 255 (SysOp Utilities) 255 SB
- X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
- X715 1896 352 (................................) 352 SB
- X1067 1896 352 (................................) 352 SB
- X1419 1896 352 (................................) 352 SB
- X1771 1896 253 (.......................) 253 SB
- X2025 1896 42 (20) 42 SB
- X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
- X450 1946 392 (Watching for Problems) 392 SB
- X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
- X847 1946 352 (................................) 352 SB
- X1199 1946 352 (................................) 352 SB
- X1551 1946 352 (................................) 352 SB
- X1903 1946 121 (...........) 121 SB
- X2025 1946 42 (22) 42 SB
- X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
- X300 1996 277 (Troubleshooting) 277 SB
- X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
- X583 1996 352 (................................) 352 SB
- X935 1996 352 (................................) 352 SB
- X1287 1996 352 (................................) 352 SB
- X1639 1996 352 (................................) 352 SB
- X1991 1996 33 (...) 33 SB
- X2025 1996 42 (23) 42 SB
- X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
- X450 2046 318 (Potential Problems) 318 SB
- X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
- X770 2046 352 (................................) 352 SB
- X1122 2046 352 (................................) 352 SB
- X1474 2046 352 (................................) 352 SB
- X1826 2046 198 (..................) 198 SB
- X2025 2046 42 (23) 42 SB
- X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
- X300 2096 394 (Additional Information) 394 SB
- X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
- X704 2096 352 (................................) 352 SB
- X1056 2096 352 (................................) 352 SB
- X1408 2096 352 (................................) 352 SB
- X1760 2096 264 (........................) 264 SB
- X2025 2096 42 (23) 42 SB
- X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
- X450 2146 214 (File Formats) 214 SB
- X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
- X671 2146 352 (................................) 352 SB
- X1023 2146 352 (................................) 352 SB
- X1375 2146 352 (................................) 352 SB
- X1727 2146 297 (...........................) 297 SB
- X2025 2146 42 (23) 42 SB
- X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
- X450 2196 473 (How to connect to FIDONet) 473 SB
- X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
- X924 2196 352 (................................) 352 SB
- X1276 2196 352 (................................) 352 SB
- X1628 2196 352 (................................) 352 SB
- X1980 2196 44 (....) 44 SB
- X2025 2196 42 (25) 42 SB
- X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
- X450 2246 388 (UUCP, Mail and News) 388 SB
- X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
- X847 2246 352 (................................) 352 SB
- X1199 2246 352 (................................) 352 SB
- X1551 2246 352 (................................) 352 SB
- X1903 2246 121 (...........) 121 SB
- X2025 2246 42 (25) 42 SB
- X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
- X450 2296 380 (Other useful programs) 380 SB
- X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
- X836 2296 352 (................................) 352 SB
- X1188 2296 352 (................................) 352 SB
- X1540 2296 352 (................................) 352 SB
- X1892 2296 132 (............) 132 SB
- X2025 2296 42 (25) 42 SB
- X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
- X450 2346 107 (To Do) 107 SB
- X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
- X561 2346 352 (................................) 352 SB
- X913 2346 352 (................................) 352 SB
- X1265 2346 352 (................................) 352 SB
- X1617 2346 352 (................................) 352 SB
- X1969 2346 55 (.....) 55 SB
- X2025 2346 42 (25) 42 SB
- X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
- X450 2396 442 (More than two serial lines) 442 SB
- X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
- X902 2396 352 (................................) 352 SB
- X1254 2396 352 (................................) 352 SB
- X1606 2396 352 (................................) 352 SB
- X1958 2396 66 (......) 66 SB
- X2025 2396 42 (25) 42 SB
- X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
- X450 2446 624 (Multiple Machines and Large Setups) 624 SB
- X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
- X1078 2446 352 (................................) 352 SB
- X1430 2446 352 (................................) 352 SB
- X1782 2446 242 (......................) 242 SB
- X2025 2446 42 (26) 42 SB
- X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
- X600 2496 517 (Monitoring through IP sockets) 517 SB
- X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
- X1122 2496 352 (................................) 352 SB
- X1474 2496 352 (................................) 352 SB
- X1826 2496 198 (..................) 198 SB
- X2025 2496 42 (26) 42 SB
- X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
- X600 2546 293 (Terminal Servers) 293 SB
- X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
- X902 2546 352 (................................) 352 SB
- X1254 2546 352 (................................) 352 SB
- X1606 2546 352 (................................) 352 SB
- X1958 2546 66 (......) 66 SB
- X2025 2546 42 (26) 42 SB
- X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
- X450 2596 500 (The Roman Catacombs Setup) 500 SB
- X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
- X957 2596 352 (................................) 352 SB
- X1309 2596 352 (................................) 352 SB
- X1661 2596 352 (................................) 352 SB
- X2013 2596 11 (.) 11 SB
- X2025 2596 42 (27) 42 SB
- X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
- X300 2646 191 (Conclusion) 191 SB
- X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
- X495 2646 352 (................................) 352 SB
- X847 2646 352 (................................) 352 SB
- X1199 2646 352 (................................) 352 SB
- X1551 2646 352 (................................) 352 SB
- X1903 2646 121 (...........) 121 SB
- X2025 2646 42 (28) 42 SB
- X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
- X300 2696 254 (To Contact Me) 254 SB
- X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
- X561 2696 352 (................................) 352 SB
- X913 2696 352 (................................) 352 SB
- X1265 2696 352 (................................) 352 SB
- X1617 2696 352 (................................) 352 SB
- X1969 2696 55 (.....) 55 SB
- X2025 2696 42 (28) 42 SB
- X32 0 0 33 33 0 0 0 31 /Helvetica /font12 ANSIFont font
- X300 3034 484 (The rocat BBS System, copyright ) 484 SB
- X32 0 0 33 33 0 0 0 33 /Symbol font
- Xgs 810 3144 0 0 CB
- X784 3032 26 (\323) 26 SB
- Xgr
- X32 0 0 33 33 0 0 0 31 /Helvetica /font12 ANSIFont font
- X810 3034 883 ( 1994 by Gregory Shaw and fmSoft, Inc. All Rights Reserved ) 883 SB
- X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
- X2079 3027 21 (2) 21 SB
- X1 #C
- Xstatusdict begin /manualfeed false store end
- XEJ RS
- X%%PageTrailer
- X%%PageResources: font Helvetica
- X%%+ font Helvetica-Bold
- X%%+ font Symbol
- X%%+ font Times-Roman
- X%%Page: 3 3
- X%%PageResources: (atend)
- XSS
- X0 0 25 25 798 1100 300 SM
- X32 0 0 50 50 1 0 0 47 /Helvetica-Bold /font13 ANSIFont font
- X0 0 0 fC
- X300 336 291 (Introduction) 291 SB
- X32 0 0 42 42 0 0 0 38 /Helvetica /font12 ANSIFont font
- X450 396 1622 (Welcome to the newest \(working\) BBS package available for Linux \(Unix\)! The Roman) 1622 SB
- X300 444 846 (Catacombs BBS offers the following features:) 846 SB
- X32 0 0 42 42 0 0 0 42 /Symbol font
- Xgs 319 3144 0 0 CB
- X300 536 19 (\267) 19 SB
- Xgr
- X32 0 0 42 42 0 0 0 38 /Helvetica /font12 ANSIFont font
- X375 540 1167 (A familiar BBS interface for those who do not understand Unix.) 1167 SB
- X32 0 0 42 42 0 0 0 42 /Symbol font
- Xgs 319 3144 0 0 CB
- X300 584 19 (\267) 19 SB
- Xgr
- X32 0 0 42 42 0 0 0 38 /Helvetica /font12 ANSIFont font
- X375 588 1218 (Batch upload and download through the use of external protocols.) 1218 SB
- X32 0 0 42 42 0 0 0 42 /Symbol font
- Xgs 319 3144 0 0 CB
- X300 632 19 (\267) 19 SB
- Xgr
- X32 0 0 42 42 0 0 0 38 /Helvetica /font12 ANSIFont font
- X375 636 652 (Automatic user addition to the BBS) 652 SB
- X32 0 0 42 42 0 0 0 42 /Symbol font
- Xgs 319 3144 0 0 CB
- X300 680 19 (\267) 19 SB
- Xgr
- X32 0 0 42 42 0 0 0 38 /Helvetica /font12 ANSIFont font
- X375 684 1217 (A very configurable BBS with many levels of security and access.) 1217 SB
- X32 0 0 42 42 0 0 0 42 /Symbol font
- Xgs 319 3144 0 0 CB
- X300 728 19 (\267) 19 SB
- Xgr
- X32 0 0 42 42 0 0 0 38 /Helvetica /font12 ANSIFont font
- X375 732 376 (Multiline capabilities) 376 SB
- X32 0 0 42 42 0 0 0 42 /Symbol font
- Xgs 319 3144 0 0 CB
- X300 776 19 (\267) 19 SB
- Xgr
- X32 0 0 42 42 0 0 0 38 /Helvetica /font12 ANSIFont font
- X375 780 1073 (Professional code quality with future maintenance in mind) 1073 SB
- X32 0 0 42 42 0 0 0 42 /Symbol font
- Xgs 319 3144 0 0 CB
- X300 824 19 (\267) 19 SB
- Xgr
- X32 0 0 42 42 0 0 0 38 /Helvetica /font12 ANSIFont font
- X375 828 1854 (An elegant design that allows many additional features to be added without requiring a major rewrite) 1854 SB
- X375 876 220 (of the code.) 220 SB
- X300 972 587 (And many many more features.) 587 SB
- X32 0 0 50 50 0 0 0 47 /Helvetica-Bold /font13 ANSIFont font
- X300 1094 292 (Background) 292 SB
- X32 0 0 42 42 0 0 0 38 /Helvetica /font12 ANSIFont font
- X450 1154 1747 (I've been running a BBS since late 1987. I started on Macintosh computers, and proceeded to) 1747 SB
- X300 1202 1894 (write some externals for the BBS package that I was using. I wrote one game and a couple of utilities,) 1894 SB
- X300 1250 1589 (most of which were shareware, and brought in enough money to keep the habit going.) 1589 SB
- X450 1298 1040 (In 1993, I got fed up with the Macintosh for two reasons:) 1040 SB
- X600 1346 1340 (1. The BBS was down if any sort of error occurred \(e.g. a system crash\)) 1340 SB
- X600 1394 1465 (2. The software was very limited and didn't do what I wanted to do with a BBS.) 1465 SB
- X450 1490 1777 (At that point, I was doing serious software development under Unix \(Interactive SysVr3.2 for the) 1777 SB
- X300 1538 1848 (curious\). I was using C++, and thought that an object oriented design for a BBS would allow a lot of) 1848 SB
- X300 1586 785 (flexibility. So, I started developing a BBS.) 785 SB
- X450 1634 1796 (I cut over to the BBS package late in 1993. It was a bit bare, and full of bugs, but it was a usable) 1796 SB
- X300 1682 1901 (BBS system. I loved how any error in the BBS \(e.g. a crash\) logged out the user, and reset the line for) 1901 SB
- X300 1730 1074 (the 'next' caller rather than crashing the operating system.) 1074 SB
- X450 1778 1730 (Late in the year, I got caught up in Linux. One of the major problems with writing the BBS for) 1730 SB
- X300 1826 1880 (Interactive Unix was the number of users using the OS. I didn't want to create a BBS for a very small) 1880 SB
- X300 1874 973 (market. So, I cut over to Linux, and started the port.) 973 SB
- X450 1922 1747 (After a few months of pulling my hair out because POSIX is different than BSD and SVID \(and) 1747 SB
- X300 1970 1884 (there are a few gaps in POSIX\), I believe I've worked around most of the problems caused by POSIX.) 1884 SB
- X450 2018 1683 (That brings me to the present. The BBS is reliable, and I run a 3 line BBS on the software.) 1683 SB
- X450 2066 1759 (Of course, I don't claim that the BBS is bug free. FAR FROM IT! I do claim, however, that the) 1759 SB
- X300 2114 1588 (BBS is a good solution, and really offers many options to a person wanting to setup a ) 1588 SB
- X32 0 0 42 42 0 0 0 38 /Helvetica-Oblique /font19 ANSIFont font
- X1888 2114 145 (reliable ) 145 SB
- X32 0 0 42 42 0 0 0 38 /Helvetica /font12 ANSIFont font
- X2033 2114 96 (BBS.) 96 SB
- X32 0 0 50 50 0 0 0 47 /Helvetica-Bold /font13 ANSIFont font
- X300 2189 333 (Requirements) 333 SB
- X32 0 0 42 42 0 0 0 38 /Helvetica /font12 ANSIFont font
- X450 2249 1722 (The BBS has very few requirements, machine wise. Most of this has to do with Linux. If you) 1722 SB
- X300 2297 1936 (can get Linux to run on your machine, and you've got a modem, you can generally use the rocat system.) 1936 SB
- X300 2345 521 (The basic requirements are:) 521 SB
- X450 2393 237 (386 or better) 237 SB
- X450 2441 141 (modem) 141 SB
- X450 2489 1407 (development system installed \(GNU c and c++\) \(for compiling from scratch\)) 1407 SB
- X450 2537 580 (5 megabytes of free disk space) 580 SB
- X450 2585 572 (familiar with basic Linux \(Unix\)) 572 SB
- X450 2633 521 (TCP/IP installed \(minimally\)) 521 SB
- X450 2681 263 (root privileges) 263 SB
- X450 2729 372 (man pages installed) 372 SB
- X300 2777 413 (Not required, but nice:) 413 SB
- X450 2825 828 (8 megabytes RAM or better \(for compilation\)) 828 SB
- X32 0 0 33 33 0 0 0 31 /Helvetica /font12 ANSIFont font
- X300 3034 484 (The rocat BBS System, copyright ) 484 SB
- X32 0 0 33 33 0 0 0 33 /Symbol font
- Xgs 810 3144 0 0 CB
- X784 3032 26 (\323) 26 SB
- Xgr
- X32 0 0 33 33 0 0 0 31 /Helvetica /font12 ANSIFont font
- X810 3034 883 ( 1994 by Gregory Shaw and fmSoft, Inc. All Rights Reserved ) 883 SB
- X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
- X2079 3027 21 (3) 21 SB
- X1 #C
- Xstatusdict begin /manualfeed false store end
- XEJ RS
- X%%PageTrailer
- X%%PageResources: font Helvetica
- X%%+ font Helvetica-Bold
- X%%+ font Helvetica-Oblique
- X%%+ font Symbol
- X%%+ font Times-Roman
- X%%Page: 4 4
- X%%PageResources: (atend)
- XSS
- X0 0 25 25 798 1100 300 SM
- X32 0 0 50 50 0 0 0 47 /Helvetica-Bold /font13 ANSIFont font
- X0 0 0 fC
- X300 227 491 (Multiline capabilities) 491 SB
- X32 0 0 42 42 0 0 0 38 /Helvetica /font12 ANSIFont font
- X450 287 1771 (Due to the inherent multi-user capabilities of Linux \(Unix\), it should be possible to have multiple) 1771 SB
- X300 335 1828 (persons using your BBS at the same time. rocat was designed with this in mind. It takes very little) 1828 SB
- X300 383 856 (system resources to run rocat on your system.) 856 SB
- X32 0 0 50 50 0 0 0 47 /Helvetica-Bold /font13 ANSIFont font
- X300 505 527 (External requirements) 527 SB
- X32 0 0 42 42 0 0 0 38 /Helvetica /font12 ANSIFont font
- X450 565 1752 (External programs are a major part of the BBS. Due to the flexibility available in editors, news) 1752 SB
- X300 613 1867 (readers and mail systems, all of this capability has been left out of the BBS, so that you can pick and) 1867 SB
- X300 661 1331 (choose your own 'flavor' of BBS. The externals that are necessary are:) 1331 SB
- X450 709 792 (editors \(vi, emacs, pico ... pick your flavor\)) 792 SB
- X450 757 596 (mail readers \(elm, mailx, mh ...\)) 596 SB
- X32 0 0 50 50 0 0 0 47 /Helvetica-Bold /font13 ANSIFont font
- X300 879 413 (Design decisions) 413 SB
- X32 0 0 42 42 0 0 0 38 /Helvetica /font12 ANSIFont font
- X450 939 1797 (I made some design decisions regarding this BBS. In other words, I wanted the BBS to be what I) 1797 SB
- X300 987 1777 (envisioned to be the 'perfect' BBS for myself. Some of the more esoteric features of some BBS) 1777 SB
- X300 1035 1850 (packages haven't been built into rocat simply because I didn't feel they were necessary for my BBS.) 1850 SB
- X300 1083 793 (Some of the critical design decisions were:) 793 SB
- X32 0 0 42 42 0 0 0 42 /Symbol font
- Xgs 469 3144 0 0 CB
- X450 1178 19 (\267) 19 SB
- Xgr
- X32 0 0 42 42 0 0 0 38 /Helvetica /font12 ANSIFont font
- X469 1182 1716 ( The Linux \(Unix\) system is used whenever possible. This is due to the sophistication of the) 1716 SB
- X300 1234 1835 (system \(and those features\) as a whole. The following subsystems are not part of the BBS, but are) 1835 SB
- X300 1282 610 (expected to be used by the BBS:) 610 SB
- X32 0 0 42 42 0 0 0 42 /Symbol font
- Xgs 619 3144 0 0 CB
- X600 1329 19 (\267) 19 SB
- Xgr
- X32 0 0 42 42 0 0 0 38 /Helvetica /font12 ANSIFont font
- X619 1333 743 ( Mail \(sendmail, smail, elm, mailx, etc.\)) 743 SB
- X32 0 0 42 42 0 0 0 42 /Symbol font
- Xgs 619 3144 0 0 CB
- X600 1384 19 (\267) 19 SB
- Xgr
- X32 0 0 42 42 0 0 0 38 /Helvetica /font12 ANSIFont font
- X619 1388 508 ( News \(fido, Internet news\)) 508 SB
- X32 0 0 42 42 0 0 0 42 /Symbol font
- Xgs 619 3144 0 0 CB
- X600 1439 19 (\267) 19 SB
- Xgr
- X32 0 0 42 42 0 0 0 38 /Helvetica /font12 ANSIFont font
- X619 1443 702 ( Chatting \(talk, irc, etc.\) \(at this point\)) 702 SB
- X32 0 0 42 42 0 0 0 42 /Symbol font
- Xgs 619 3144 0 0 CB
- X600 1494 19 (\267) 19 SB
- Xgr
- X32 0 0 42 42 0 0 0 38 /Helvetica /font12 ANSIFont font
- X619 1498 948 ( Download protocols \(rz, sz, kermit, xmodem, etc.\)) 948 SB
- X32 0 0 42 42 0 0 0 42 /Symbol font
- Xgs 619 3144 0 0 CB
- X600 1549 19 (\267) 19 SB
- Xgr
- X32 0 0 42 42 0 0 0 38 /Helvetica /font12 ANSIFont font
- X619 1553 638 ( Background processing \(at, cron\)) 638 SB
- X32 0 0 42 42 0 0 0 42 /Symbol font
- Xgs 619 3144 0 0 CB
- X600 1604 19 (\267) 19 SB
- Xgr
- X32 0 0 42 42 0 0 0 38 /Helvetica /font12 ANSIFont font
- X619 1608 626 ( Login facilities \(getty, login, etc.\)) 626 SB
- X32 0 0 42 42 0 0 0 42 /Symbol font
- Xgs 619 3144 0 0 CB
- X600 1659 19 (\267) 19 SB
- Xgr
- X32 0 0 42 42 0 0 0 38 /Helvetica /font12 ANSIFont font
- X619 1663 555 ( Modem control \(flow control\)) 555 SB
- X32 0 0 42 42 0 0 0 42 /Symbol font
- Xgs 619 3144 0 0 CB
- X600 1714 19 (\267) 19 SB
- Xgr
- X32 0 0 42 42 0 0 0 38 /Helvetica /font12 ANSIFont font
- X619 1718 224 ( Passwords) 224 SB
- X32 0 0 42 42 0 0 0 42 /Symbol font
- Xgs 469 3144 0 0 CB
- X450 1769 19 (\267) 19 SB
- Xgr
- X32 0 0 42 42 0 0 0 38 /Helvetica /font12 ANSIFont font
- X469 1773 1711 ( The BBS uses a modified 'system\(\)' function. This assumes that the command executed is) 1711 SB
- X300 1825 1787 (available and will behave properly. This has been done to allow interfacing with external system) 1787 SB
- X300 1873 1467 (commands \(see above\). This is also a HUGE security hole, if used improperly.) 1467 SB
- X32 0 0 50 50 1 0 0 47 /Helvetica-Bold /font13 ANSIFont font
- X300 2068 735 (Compilation and Configuration) 735 SB
- X32 0 0 50 50 0 0 0 47 /Helvetica-Bold /font13 ANSIFont font
- X300 2154 231 (Pre-setup) 231 SB
- X375 2215 891 (Adding the BBS User and BBS Group) 891 SB
- X32 0 0 42 42 0 0 0 38 /Helvetica /font12 ANSIFont font
- X450 2275 1771 (A BBS administrator login and BBS administrator group is necessary for the BBS to be installed) 1771 SB
- X300 2323 1201 (correctly. Do the following steps to add the BBS user and group:) 1201 SB
- X450 2371 233 (1. su to root) 233 SB
- X600 2419 43 (su) 43 SB
- X600 2467 440 (< enter root password >) 440 SB
- X450 2515 850 (2. Execute the groupadd program in /usr/sbin) 850 SB
- X600 2563 422 (/usr/sbin/groupadd bbs) 422 SB
- X450 2611 1742 (3. Look at the file /etc/group. There is a number in the third field that is the GID \(group id\) for) 1742 SB
- X300 2659 1601 (group BBS. Remember this number, you'll need it for adding the BBS Admin account.) 1601 SB
- X600 2707 254 (cat /etc/group) 254 SB
- X450 2755 767 (4. Execute the adduser program in /sbin.) 767 SB
- X600 2803 249 (/sbin/adduser) 249 SB
- X450 2851 756 (5. The name of the user should be 'bbs'.) 756 SB
- X32 0 0 33 33 0 0 0 31 /Helvetica /font12 ANSIFont font
- X300 3034 484 (The rocat BBS System, copyright ) 484 SB
- X32 0 0 33 33 0 0 0 33 /Symbol font
- Xgs 810 3144 0 0 CB
- X784 3032 26 (\323) 26 SB
- Xgr
- X32 0 0 33 33 0 0 0 31 /Helvetica /font12 ANSIFont font
- X810 3034 883 ( 1994 by Gregory Shaw and fmSoft, Inc. All Rights Reserved ) 883 SB
- X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
- X2079 3027 21 (4) 21 SB
- X1 #C
- Xstatusdict begin /manualfeed false store end
- XEJ RS
- X%%PageTrailer
- X%%PageResources: font Helvetica
- X%%+ font Helvetica-Bold
- X%%+ font Symbol
- X%%+ font Times-Roman
- X%%Page: 5 5
- X%%PageResources: (atend)
- XSS
- X0 0 25 25 798 1100 300 SM
- X32 0 0 42 42 0 0 0 38 /Helvetica /font12 ANSIFont font
- X0 0 0 fC
- X450 226 1772 (6. The full name should be 'BBS Administrator', but can be anything you like \(BBS Admin, etc.\)) 1772 SB
- X450 274 1332 (7. The GID should be the same as you saw in the /etc/group file above.) 1332 SB
- X450 322 1565 (8. The UID \(user id\) can be anything, but I set mine up to start at 1000. Enter 1000.) 1565 SB
- X450 370 842 (9. The home directory should be /bbs/admin.) 842 SB
- X450 418 1732 (10. The shell can be your favorite shell \(I prefer /bin/tcsh\). You'll be using this account in the) 1732 SB
- X300 466 913 (future, so use something that you're familiar with.) 913 SB
- X450 514 1735 (11. Enter a password you can remember. Please don't make it simple; crackers LOVE to eat) 1735 SB
- X300 562 531 (BBSs for breakfast \(at 3am\).) 531 SB
- X450 610 1714 (12. In the unpacking step, the .cshrc and .profile for the BBS Administrator will be unpacked) 1714 SB
- X300 658 317 (from the archive.) 317 SB
- X300 754 1922 (NOTE: All further steps \(unless otherwise noted\) should be done by the BBS Administrator account. He) 1922 SB
- X300 802 1921 (will 'own' all of the files involved with the BBS, so you should get used to being 'him' \(or 'her'\). You may) 1921 SB
- X300 850 790 (get to that user by the following command:) 790 SB
- X450 898 147 (su - bbs) 147 SB
- X450 946 712 (< enter BBS Administrator password >) 712 SB
- X450 1042 743 (Or, alternatively, you may login as 'bbs'.) 743 SB
- X450 1138 1799 (\(sub-note: don't do it until the BBS Administrator's account is available. It won't be available until) 1799 SB
- X300 1186 502 (the next step is completed\)) 502 SB
- X32 0 0 50 50 0 0 0 47 /Helvetica-Bold /font13 ANSIFont font
- X300 1260 404 (Where to install?) 404 SB
- X32 0 0 42 42 0 0 0 38 /Helvetica /font12 ANSIFont font
- X450 1320 1748 (Installation of the BBS should be done on a separate disk partition, if possible. This allows the) 1748 SB
- X300 1368 1847 (BBS to exist in it's own 'area'. The following is the setup of The Roman Catacombs BBS \(my BBS\):) 1847 SB
- X450 1416 12 (/) 12 SB
- X600 1416 167 (boot disk) 167 SB
- X450 1464 69 (/usr) 69 SB
- X600 1464 227 (another disk) 227 SB
- X450 1512 78 (/bbs) 78 SB
- X600 1512 252 (the BBS disk.) 252 SB
- X450 1608 1603 (The BBS disk contains everything relating to the BBS, executables, headers, files, etc.) 1603 SB
- X450 1704 1725 (I'd recommend using a separate partition, if at all possible. This will allow the BBS to use the) 1725 SB
- X300 1752 495 (disk caching of the device.) 495 SB
- X450 1800 1561 (If that isn't possible, pick a place to install the bbs, and make a symbolic link to /bbs.) 1561 SB
- X450 1848 813 (This is accomplished by the following steps:) 813 SB
- X600 1896 391 (1. mkdir my_bbs_dir) 391 SB
- X600 1944 127 (2. cd /) 127 SB
- X600 1992 1233 (3. su \(you need root privileges to make a link in the root directory\)) 1233 SB
- X600 2040 846 (4. ln -s path_to_my_bbs_dir/my_bbs_dir /bbs) 846 SB
- X450 2136 1786 (You'll also want to make sure that the BBS Administrator and the BBS group own the BBS home) 1786 SB
- X300 2184 173 (directory:) 173 SB
- X600 2232 893 (chown bbs.bbs path_to_my_bbs_dir/my_bbs_dir) 893 SB
- X450 2328 1631 (Note: At this point, you'll want to make the directory /bbs/admin. This is where the BBS) 1631 SB
- X300 2376 1917 (Administrator's home directory is found. You won't be able to login as 'bbs' without a home directory. It) 1917 SB
- X300 2424 1094 (should also be owned by the BBS Administrator and group.) 1094 SB
- X32 0 0 50 50 0 0 0 47 /Helvetica-Bold /font13 ANSIFont font
- X300 2498 533 (Unpacking the archive) 533 SB
- X32 0 0 42 42 0 0 0 38 /Helvetica /font12 ANSIFont font
- X450 2558 1647 (The archive will come in a file named 'rocat.tar.gz' or 'rocat.tgz'. Both of these filenames) 1647 SB
- X300 2606 1010 (represent the same file compression. To uncompress:) 1010 SB
- X450 2654 1464 (1. su to the BBS Administrator \(all files should be owned by the administrator\):) 1464 SB
- X600 2702 121 (su bbs) 121 SB
- X600 2750 758 (<enter the BBS Administrator password>) 758 SB
- X450 2798 692 (2. Copy the file to the BBS directory.) 692 SB
- X600 2846 586 (cp /some_path/rocat.tar.gz /bbs) 586 SB
- X32 0 0 33 33 0 0 0 31 /Helvetica /font12 ANSIFont font
- X300 3034 484 (The rocat BBS System, copyright ) 484 SB
- X32 0 0 33 33 0 0 0 33 /Symbol font
- Xgs 810 3144 0 0 CB
- X784 3032 26 (\323) 26 SB
- Xgr
- X32 0 0 33 33 0 0 0 31 /Helvetica /font12 ANSIFont font
- X810 3034 883 ( 1994 by Gregory Shaw and fmSoft, Inc. All Rights Reserved ) 883 SB
- X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
- X2079 3027 21 (5) 21 SB
- X1 #C
- Xstatusdict begin /manualfeed false store end
- XEJ RS
- X%%PageTrailer
- X%%PageResources: font Helvetica
- X%%+ font Helvetica-Bold
- X%%+ font Symbol
- X%%+ font Times-Roman
- X%%Page: 6 6
- X%%PageResources: (atend)
- XSS
- X0 0 25 25 798 1100 300 SM
- X32 0 0 42 42 0 0 0 38 /Helvetica /font12 ANSIFont font
- X0 0 0 fC
- X450 226 514 (3. Change directory to /bbs) 514 SB
- X600 274 134 (cd /bbs) 134 SB
- X450 322 339 (4. Untar the BBS.) 339 SB
- X600 370 385 (tar xvfoz rocat.tar.gz) 385 SB
- X600 418 1537 (Note: If tar complains about 'unknown option z', you need to gunzip the file prior to) 1537 SB
- X300 466 315 (untarring the file:) 315 SB
- X600 514 289 (gunzip rocat.tar) 289 SB
- X450 610 1733 (At this point, much of the BBS structure will be created. Additionally, the BBS Administrator's) 1733 SB
- X300 658 1950 (setup information \(.cshrc, .profile, etc\) will be copied to /bbs/admin. You'll want to log out and log back in) 1950 SB
- X300 706 1041 (as the BBS Administrator before continuing the process.) 1041 SB
- X32 0 0 50 50 0 0 0 47 /Helvetica-Bold /font13 ANSIFont font
- X300 830 525 (Compiling the System) 525 SB
- X32 0 0 42 42 0 0 0 38 /Helvetica /font12 ANSIFont font
- X450 890 1624 (Compiling the system is the easy part. There is very little that needs to be done prior to) 1624 SB
- X300 938 1950 (compiling the code. There are some limits setup in the main header file and spread out here and there in) 1950 SB
- X300 986 1894 (the code. For the most part, you won't need to mess with these settings. If you really feel you need to) 1894 SB
- X300 1034 1879 (muck around with the code, feel free. Be warned, however, that the rocat system is a complex beast,) 1879 SB
- X300 1082 1930 (and a very fickle one, if changed indiscriminately. Save an original copy of the BBS prior to making any) 1930 SB
- X300 1130 168 (changes.) 168 SB
- X450 1178 1144 (The following steps should result in a set of BBS executables:) 1144 SB
- X450 1226 488 (1. CD to the src directory.) 488 SB
- X600 1274 216 (cd src/rocat) 216 SB
- X450 1322 424 (2. Do a make depend.) 424 SB
- X600 1370 253 (make depend) 253 SB
- X450 1418 931 (3. Do a make. This should start the build process.) 931 SB
- X600 1466 103 (make) 103 SB
- X450 1514 1686 (Come back in a couple minutes \(on a 486/66 with 20 megabytes of memory\) or a couple of) 1686 SB
- X300 1562 1732 (hours \(386SX-16 with 2 megabytes of memory\). If you get errors, make sure of the following:) 1732 SB
- X450 1658 1729 (1. The development system is installed. This includes GNU C, GNU C++ and GNU LIBG++.) 1729 SB
- X300 1706 1308 (rocat is written in C++, and requires all of the C++ facilities to compile.) 1308 SB
- X450 1754 1791 (2. Your path has the compilers in it. 'make' depends on your path to execute commands. If you) 1791 SB
- X300 1802 1926 (can't execute the command, make won't be able to execute it either. Your path should contain \(at least\)) 1926 SB
- X300 1850 582 (/bin, /usr/bin, and /usr/local/bin.) 582 SB
- X450 1898 1772 (3. bbs owns the entire rocat directory structure. If bbs doesn't own the directories, you won't be) 1772 SB
- X300 1946 1947 (able to make any changes to the files and/or directories. \(and generally, things will be pretty broken from) 1947 SB
- X300 1994 155 (here on\)) 155 SB
- X32 0 0 50 50 0 0 0 47 /Helvetica-Bold /font13 ANSIFont font
- X300 2116 666 (Adding the 'new' user logon) 666 SB
- X32 0 0 42 42 0 0 0 38 /Helvetica /font12 ANSIFont font
- X450 2176 1791 (The 'new' user logon must be added to allow users to log into your BBS for the first time. To add) 1791 SB
- X300 2224 805 (the 'new' user logon, do the following steps.) 805 SB
- X450 2272 233 (1. su to root) 233 SB
- X600 2320 43 (su) 43 SB
- X600 2368 440 (< enter root password >) 440 SB
- X450 2416 1742 (2. Look at the file /etc/group. There is a number in the third field that is the GID \(group id\) for) 1742 SB
- X300 2464 1476 (group BBS. Remember this number, you'll need it for adding the 'new' account.) 1476 SB
- X600 2512 254 (cat /etc/group) 254 SB
- X450 2560 767 (3. Execute the adduser program in /sbin.) 767 SB
- X600 2608 249 (/sbin/adduser) 249 SB
- X450 2656 765 (4. The name of the user should be 'new'.) 765 SB
- X450 2704 1658 (5. The full name should be 'New BBS User', but can be anything you like \(New User, etc\)) 1658 SB
- X450 2752 1332 (6. The GID should be the same as you saw in the /etc/group file above.) 1332 SB
- X450 2800 1764 (7. The UID \(user id\) can be anything. You'll be changing the UID, so enter something that isn't) 1764 SB
- X300 2848 507 (already in use. Say 10000.) 507 SB
- X32 0 0 33 33 0 0 0 31 /Helvetica /font12 ANSIFont font
- X300 3034 484 (The rocat BBS System, copyright ) 484 SB
- X32 0 0 33 33 0 0 0 33 /Symbol font
- Xgs 810 3144 0 0 CB
- X784 3032 26 (\323) 26 SB
- Xgr
- X32 0 0 33 33 0 0 0 31 /Helvetica /font12 ANSIFont font
- X810 3034 883 ( 1994 by Gregory Shaw and fmSoft, Inc. All Rights Reserved ) 883 SB
- X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
- X2079 3027 21 (6) 21 SB
- X1 #C
- Xstatusdict begin /manualfeed false store end
- XEJ RS
- X%%PageTrailer
- X%%PageResources: font Helvetica
- X%%+ font Helvetica-Bold
- X%%+ font Symbol
- X%%+ font Times-Roman
- X%%Page: 7 7
- X%%PageResources: (atend)
- XSS
- X0 0 25 25 798 1100 300 SM
- X32 0 0 42 42 0 0 0 38 /Helvetica /font12 ANSIFont font
- X0 0 0 fC
- X450 226 715 (8. The home directory should be /bbs.) 715 SB
- X450 274 1168 (9. The shell should be /bbs/scripts/login.scr. This is important.) 1168 SB
- X450 322 938 (10. Enter a simple password to setup the account.) 938 SB
- X450 370 686 (11. Now comes the tricks. cd to /etc) 686 SB
- X450 418 455 (12. Edit the passwd file.) 455 SB
- X600 466 183 (vi passwd) 183 SB
- X450 514 545 (13. search for the 'new' user.) 545 SB
- X600 562 87 (/new) 87 SB
- X450 610 1763 (14. You need to change the 10000 in the 'new' user's ID line to 0. The third field is the number) 1763 SB
- X300 658 803 (to change \(the file is delimited with colons\).) 803 SB
- X450 706 1620 (15. Delete the password found in the second field. The final entry should look like this:) 1620 SB
- X32 0 0 42 42 0 0 0 33 /Courier /font0 ANSIFont font
- X300 801 1375 (new::0:104:New User Account:/bbs:/bbs/scripts/login.scr) 1375 SB
- X32 0 0 42 42 0 0 0 38 /Helvetica /font12 ANSIFont font
- X450 892 1773 (The new user is now installed. However, if you have shadow passwords installed, you'll need to) 1773 SB
- X300 940 1030 (edit the file /etc/shadow to delete the password for new.) 1030 SB
- X450 1036 1716 (If you do not delete the 'new' user's password, nobody will be able to log in as 'new', because) 1716 SB
- X300 1084 1570 (they won't know the password. If there is no password, it skips the password prompt.) 1570 SB
- X32 0 0 50 50 0 0 0 47 /Helvetica-Bold /font13 ANSIFont font
- X300 1158 328 (Configuration) 328 SB
- X375 1219 280 (Linux FAQs) 280 SB
- X32 0 0 42 42 0 0 0 38 /Helvetica /font12 ANSIFont font
- X600 1279 1588 (Note: In the below configuration and examples, I'm assuming that you're familiar with) 1588 SB
- X450 1327 732 (adding modems and configuring gettys.) 732 SB
- X600 1375 1631 (If you're not familiar with these items, I recommend the Linux FAQs. They're invaluable) 1631 SB
- X450 1423 1718 (information for those starting from scratch. The FAQs are available as part of the Slackware) 1718 SB
- X450 1471 1759 (distribution, and, should you install them, are found in /usr/doc/faq. If you don't use Slackware,) 1759 SB
- X450 1519 1722 (and have access to news, please look in the comp.news.answers newsgroup for Linux FAQs.) 1722 SB
- X32 0 0 50 50 0 0 0 47 /Helvetica-Bold /font13 ANSIFont font
- X375 1568 509 (Modem configuration) 509 SB
- X32 0 0 42 42 0 0 0 38 /Helvetica /font12 ANSIFont font
- X600 1628 1446 (Configuration of the modems is very important to the BBS. If the modem isn't) 1446 SB
- X450 1676 1486 (configured correctly, the BBS will never know that there is a user on the system!) 1486 SB
- X600 1724 1531 (At this point, I'm using a ZyXEL U-1496+ on my BBS. However, I won't go into the) 1531 SB
- X450 1772 1754 (configuration of the modem in detail; all you really need to know is the generic parameters that) 1754 SB
- X450 1820 1770 (are necessary for the modem to work. I've included the items that are generic to most modems) 1770 SB
- X450 1868 1720 (in parenthesis at the end of the description. The following are the key configuration items for) 1720 SB
- X450 1916 246 (your modem:) 246 SB
- X32 0 0 42 42 0 0 0 39 /Helvetica-Bold /font13 ANSIFont font
- X600 1964 498 (A GOOD MODEM CABLE) 498 SB
- X32 0 0 42 42 0 0 0 38 /Helvetica /font12 ANSIFont font
- X1098 1965 928 ( \(one that has all pins straight through is the best\)) 928 SB
- X600 2014 1443 (Serial speed \(DTE-DCE\) speed should be locked at 19.2Kbps or faster speed.) 1443 SB
- X600 2062 666 (Hardware flow control should be on.) 666 SB
- X600 2110 985 (The modem should reset upon loss of DTR. \(AT&D3\)) 985 SB
- X600 2158 1113 (The modem should respond to carrier-detect \(CD\). \(AT&C1\)) 1113 SB
- X600 2206 1196 (The modem should answer the phone on the first ring. \(ATS0=1\)) 1196 SB
- X600 2254 1174 (If possible, error-free and data compression should be enabled.) 1174 SB
- X600 2350 1525 (It's possible \(and sadly, probable\) that some of the above items will go by different) 1525 SB
- X450 2398 137 (names.) 137 SB
- X600 2446 1458 (Remember the speed you've locked the modem at. You'll need it for the serial) 1458 SB
- X450 2494 253 (configuration.) 253 SB
- X32 0 0 50 50 0 0 0 47 /Helvetica-Bold /font13 ANSIFont font
- X375 2591 470 (Serial configuration) 470 SB
- X32 0 0 42 42 0 0 0 38 /Helvetica /font12 ANSIFont font
- X600 2651 1574 (Serial configuration involves telling the computer where your modems are, and, what) 1574 SB
- X450 2699 1770 (speed they're running at. At this point, I'm assuming you've got your modem\(s\) configured, and) 1770 SB
- X450 2747 1030 (are ready to test the logon capabilities of your machine.) 1030 SB
- X600 2795 896 (Serial configuration involves the following steps:) 896 SB
- X600 2843 686 (1. Configuring the /etc/gettydefs file.) 686 SB
- X32 0 0 33 33 0 0 0 31 /Helvetica /font12 ANSIFont font
- X300 3034 484 (The rocat BBS System, copyright ) 484 SB
- X32 0 0 33 33 0 0 0 33 /Symbol font
- Xgs 810 3144 0 0 CB
- X784 3032 26 (\323) 26 SB
- Xgr
- X32 0 0 33 33 0 0 0 31 /Helvetica /font12 ANSIFont font
- X810 3034 883 ( 1994 by Gregory Shaw and fmSoft, Inc. All Rights Reserved ) 883 SB
- X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
- X2079 3027 21 (7) 21 SB
- X1 #C
- Xstatusdict begin /manualfeed false store end
- XEJ RS
- X%%PageTrailer
- X%%PageResources: font Courier
- X%%+ font Helvetica
- X%%+ font Helvetica-Bold
- X%%+ font Symbol
- X%%+ font Times-Roman
- X%%Page: 8 8
- X%%PageResources: (atend)
- XSS
- X0 0 25 25 798 1100 300 SM
- X32 0 0 42 42 0 0 0 38 /Helvetica /font12 ANSIFont font
- X0 0 0 fC
- X600 226 897 (2. Turning on 'getty' processes for your modem.) 897 SB
- X600 274 563 (3. Changing the /etc/issue file) 563 SB
- X600 322 423 (4. Testing \(if possible\)) 423 SB
- X600 418 1548 (Configuration of the /etc/gettydefs file is easy. Simply add the following line to your) 1548 SB
- X450 466 250 (gettydefs file:) 250 SB
- X32 0 0 42 42 0 0 0 33 /Courier /font0 ANSIFont font
- X450 561 625 (# Modem locked at 38400:) 625 SB
- X450 603 25 (#) 25 SB
- X450 645 1650 (38400# B38400 CS8 CRTSCTS # B38400 SANE -ISTRIP CRTSCTS #@S login:) 1650 SB
- X450 687 150 (#38400) 150 SB
- X32 0 0 42 42 0 0 0 38 /Helvetica /font12 ANSIFont font
- X600 778 1435 (Of course, if you are running at a different baud rate, you'll want to change all) 1435 SB
- X450 826 1151 (occurrences in the above file to the baud rate you wish to use.) 1151 SB
- X600 922 1544 (To turn on a 'getty' process for your modem, edit the /etc/inittab file. In that file you) 1544 SB
- X450 970 552 (should see something similar:) 552 SB
- X32 0 0 42 42 0 0 0 33 /Courier /font0 ANSIFont font
- X450 1065 350 (# Serial lines) 350 SB
- X450 1107 1100 (s1:45:respawn:/etc/uugetty -t 90 ttyS0 38400) 1100 SB
- X450 1149 1100 (s2:45:respawn:/etc/uugetty -t 90 ttyS1 38400) 1100 SB
- X32 0 0 42 42 0 0 0 38 /Helvetica /font12 ANSIFont font
- X600 1234 1522 (The above two lines are for COM1 and COM2 ports \(DOS-style\). The above lines) 1522 SB
- X450 1282 117 (mean:) 117 SB
- X600 1330 1618 (1. Spawn a 'getty' for the port ttyS0 running from the '38400' gettytab entry when in run) 1618 SB
- X450 1378 220 (level 4 or 5.) 220 SB
- X600 1426 1625 (2. If you get a carrier detect on the line, and nothing happens for 90 seconds, go ahead) 1625 SB
- X450 1474 440 (and hang up the phone.) 440 SB
- X600 1570 1289 (Note: The system goes into mode 4 or 5 by default on most systems.) 1289 SB
- X600 1618 1568 (Note: Make sure that the files /dev/ttyS0 and /dev/ttyS1 exist. They should look like) 1568 SB
- X450 1666 77 (this:) 77 SB
- X32 0 0 42 42 0 0 0 33 /Courier /font0 ANSIFont font
- X450 1761 1625 (crw-rw-rw- 1 root root 4, 64 May 21 19:43 /dev/ttyS0) 1625 SB
- X450 1803 1625 (crw-rw-rw- 1 root root 4, 65 May 21 19:43 /dev/ttyS1) 1625 SB
- X32 0 0 42 42 0 0 0 38 /Helvetica /font12 ANSIFont font
- X600 1894 1553 (If these files don't exist, the 'getty' program will error off, and you'll see errors on the) 1553 SB
- X450 1942 1772 (console regarding the problem entry. If they don't exist, see the Linux FAQs for creating device) 1772 SB
- X450 1990 88 (files.) 88 SB
- X600 2038 1576 (If you make any changes in the /etc/inittab file, be sure to issue a 'init q' command so) 1576 SB
- X450 2086 1016 (that init will re-read the file and recognize the changes.) 1016 SB
- X600 2134 1632 (Note: For new users to log on \(via the 'new' account\), the tty line must be entered in the) 1632 SB
- X450 2182 1783 (/etc/securetty file. The 'new' user runs as root, and without the securetty entry, root logon will be) 1783 SB
- X450 2230 1061 (denied on that tty. Do a 'man login' for more information.) 1061 SB
- X600 2326 1625 (A default issue file can be found in /bbs/text/issue. Edit this file and copy it to /etc/issue) 1625 SB
- X450 2374 713 (to activate the message prior to logon.) 713 SB
- X600 2470 1538 (If possible, you should have a friend log into your BBS. If you have trouble, please) 1538 SB
- X450 2518 982 (reference the FAQs about turning on dialup services.) 982 SB
- X32 0 0 50 50 0 0 0 47 /Helvetica-Bold /font13 ANSIFont font
- X375 2609 298 (Initial Logon) 298 SB
- X32 0 0 42 42 0 0 0 38 /Helvetica /font12 ANSIFont font
- X600 2669 868 (The initial logon process is documented below:) 868 SB
- X600 2717 526 (1. The user logs in as 'new'.) 526 SB
- X600 2765 1012 (2. The user is given a 'welcome to the BBS' message.) 1012 SB
- X600 2813 1257 (3. He is asked if he already has an account, and is unable to logon.) 1257 SB
- X32 0 0 33 33 0 0 0 31 /Helvetica /font12 ANSIFont font
- X300 3034 484 (The rocat BBS System, copyright ) 484 SB
- X32 0 0 33 33 0 0 0 33 /Symbol font
- Xgs 810 3144 0 0 CB
- X784 3032 26 (\323) 26 SB
- Xgr
- X32 0 0 33 33 0 0 0 31 /Helvetica /font12 ANSIFont font
- X810 3034 883 ( 1994 by Gregory Shaw and fmSoft, Inc. All Rights Reserved ) 883 SB
- X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
- X2079 3027 21 (8) 21 SB
- X1 #C
- Xstatusdict begin /manualfeed false store end
- XEJ RS
- X%%PageTrailer
- X%%PageResources: font Courier
- X%%+ font Helvetica
- X%%+ font Helvetica-Bold
- X%%+ font Symbol
- X%%+ font Times-Roman
- X%%Page: 9 9
- X%%PageResources: (atend)
- XSS
- X0 0 25 25 798 1100 300 SM
- X32 0 0 42 42 0 0 0 38 /Helvetica /font12 ANSIFont font
- X0 0 0 fC
- X600 226 1572 (4. If this is the case, he's asked for some information, and is able to send mail to the) 1572 SB
- X450 274 782 (SysOp of the BBS. He is then logged out.) 782 SB
- X600 322 1649 (5. If the above was not the case, he's shown a file \(/bbs/text/bbswelcome\) describing the) 1649 SB
- X450 370 326 (focus of the BBS.) 326 SB
- X600 418 1135 (6. He is asked "Would you like to become part of the BBS?".) 1135 SB
- X600 466 1645 (7. If anything other than 'Yes' \(or something starting with 'y'\) is entered, he is logged out.) 1645 SB
- X600 514 1499 (8. He is then asked his first name and last name. Checking is done from the file) 1499 SB
- X450 562 1793 (/bbs/text/badwords to make sure that there isn't an illegal word in his name. This prevents logins) 1793 SB
- X450 610 1342 (of the form 'Doctor Death' and 'Joe Mama' from becoming usable logins.) 1342 SB
- X600 658 1616 (9. His first name and last name are place together to form a unique login ID for him. It) 1616 SB
- X450 706 1794 (generally takes the form first inital and last name, but if you should have a logon of that nature, it) 1794 SB
- X450 754 1719 (will attempt to put additional first name characters along with the last name. Note that only 8) 1719 SB
- X450 802 590 (characters are used. A sample:) 590 SB
- X32 0 0 42 42 1 0 0 38 /Helvetica /font12 ANSIFont font
- X600 850 112 (Name) 112 SB
- X1200 850 115 (Logon) 115 SB
- X32 0 0 42 42 0 0 0 38 /Helvetica /font12 ANSIFont font
- X600 898 211 (John Smith) 211 SB
- X1200 898 111 (jsmith) 111 SB
- X600 946 469 (John Smith \(number two\)) 469 SB
- X1200 946 134 (josmith) 134 SB
- X600 994 304 (Alfred Neumann) 304 SB
- X1200 994 197 (aneumann) 197 SB
- X600 1042 408 (Alfred Neumann \(two\)) 408 SB
- X1200 1042 184 (alneuman) 184 SB
- X450 1138 1713 (Note: It is possible to get in a loop. If you have a short name, and all possible combinations) 1713 SB
- X450 1186 1755 (have been used, it will cycle endlessly, trying for a combination. Since this is very improbable,) 1755 SB
- X450 1234 581 (I've left this 'bug' in the system.) 581 SB
- X600 1282 634 (10. The user is given his login ID.) 634 SB
- X600 1330 1615 (11. The user is prompted for a password. It will loop until a valid password \(as defined) 1615 SB
- X450 1378 690 (by the password program\) is entered.) 690 SB
- X600 1426 1312 (12. The user account is added \(via the /bbs/scripts/addbbsuser script\).) 1312 SB
- X600 1474 1650 (13. The user is given a "please log in again with your new account" message and logged) 1650 SB
- X450 1522 61 (off.) 61 SB
- X450 1618 1238 (When he logs back in with his new account, the following happens:) 1238 SB
- X600 1666 1598 (1. Since he is not found in the userlog \(/bbs/admin/userlog\), the BBS asks whether he) 1598 SB
- X450 1714 522 (wants to be part of the BBS.) 522 SB
- X600 1762 462 (2. If not, he's logged off.) 462 SB
- X600 1810 826 (3. He is asked for the city he is calling from.) 826 SB
- X600 1858 852 (4. He is asked for the state he is calling from.) 852 SB
- X600 1906 1493 (5. He is shown a message describing what terminal types are, and asked for the) 1493 SB
- X450 1954 658 (terminal type his software supports.) 658 SB
- X600 2002 1474 (6. He is asked whether his software supports color. \(this isn't used at this time\)) 1474 SB
- X600 2050 1584 (7. He is shown a file describing the editors available on the system \(/bbs/text/editors\)) 1584 SB
- X450 2098 692 (and asked which one he'd like to use.) 692 SB
- X600 2146 506 (8. He is asked for an alias.) 506 SB
- X600 2194 1099 (9. He is asked how many lines are available on his screen.) 1099 SB
- X600 2242 1192 (10. He is asked how many columns are available on his screen.) 1192 SB
- X600 2290 1638 (11. He is prompted with the above information, and asked whether it is correct. If not, it) 1638 SB
- X450 2338 283 (goes back to 3.) 283 SB
- X600 2386 724 (12. He is logged into the BBS \(saved\).) 724 SB
- X600 2434 1150 (13. He is shown the 'welcome' message. \(/bbs/text/welcome\)) 1150 SB
- X600 2482 777 (14. His personal information is displayed.) 777 SB
- X600 2530 1152 (15. He is walked through system1.msg through system3.msg.) 1152 SB
- X750 2578 961 (\(Note: this can be turned off through the config file\)) 961 SB
- X600 2626 679 (15. He is given an optional 'fortune'.) 679 SB
- X600 2674 1495 (16. At this point, the BBS runs the menu 'main', and the BBS operates normally.) 1495 SB
- X32 0 0 50 50 0 0 0 47 /Helvetica-Bold /font13 ANSIFont font
- X375 2723 338 (Logon Scripts) 338 SB
- X32 0 0 33 33 0 0 0 31 /Helvetica /font12 ANSIFont font
- X300 3034 484 (The rocat BBS System, copyright ) 484 SB
- X32 0 0 33 33 0 0 0 33 /Symbol font
- Xgs 810 3144 0 0 CB
- X784 3032 26 (\323) 26 SB
- Xgr
- X32 0 0 33 33 0 0 0 31 /Helvetica /font12 ANSIFont font
- X810 3034 883 ( 1994 by Gregory Shaw and fmSoft, Inc. All Rights Reserved ) 883 SB
- X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
- X2079 3027 21 (9) 21 SB
- X1 #C
- Xstatusdict begin /manualfeed false store end
- XEJ RS
- X%%PageTrailer
- X%%PageResources: font Helvetica
- X%%+ font Helvetica-Bold
- X%%+ font Symbol
- X%%+ font Times-Roman
- X%%Page: 10 10
- X%%PageResources: (atend)
- XSS
- X0 0 25 25 798 1100 300 SM
- X32 0 0 42 42 0 0 0 38 /Helvetica /font12 ANSIFont font
- X0 0 0 fC
- X600 226 1535 (You'll want to edit your logon script to represent 'your' BBS. The script I am talking) 1535 SB
- X450 274 1641 (about is found in /bbs/scripts/login.scr. There is a 'Welcome to The Roman Catacombs!') 1641 SB
- X450 322 1285 (message found in there that you'll want to change to your BBS name.) 1285 SB
- X600 370 1640 (You'll also want to edit the '/bbs/bbs' file. This file is the pipe that allows users to use the) 1640 SB
- X450 418 713 (BBS effectively. The file is as follows:) 713 SB
- X32 0 0 42 42 0 0 0 33 /Courier /font0 ANSIFont font
- X450 513 1300 (# file to execute prior to starting main bbs program) 1300 SB
- X450 555 25 (#) 25 SB
- X450 681 150 (IFS="") 150 SB
- X450 723 1325 (PATH=/bin:/usr/bin:/usr/games:/usr/local/bin:/usr/ucb) 1325 SB
- X450 765 275 (export PATH) 275 SB
- X450 807 275 (BBSDIR=/bbs) 275 SB
- X450 849 250 (SYSOP=shaw) 250 SB
- X450 891 275 (VISUAL=pico) 275 SB
- X450 933 275 (EDITOR=pico) 275 SB
- X450 975 925 (export BBSDIR SYSOP VISUAL EDITOR IFS) 925 SB
- X450 1017 475 (SHELL=$BBSDIR/rocat) 475 SB
- X450 1059 300 (export SHELL) 300 SB
- X450 1143 1625 (# hack to get around the getty's problem with not setting CRTSCTS) 1625 SB
- X450 1185 825 (# setup default terminal settings) 825 SB
- X450 1269 1100 (stty erase "^H" kill "^U" intr "^C" eof "^D") 1100 SB
- X450 1311 725 (stty hupcl ixon ixoff crtscts) 725 SB
- X450 1395 275 (exec $SHELL) 275 SB
- X32 0 0 42 42 0 0 0 38 /Helvetica /font12 ANSIFont font
- X600 1486 1646 (In the above file, you should change the SYSOP variable, and any other options you feel) 1646 SB
- X450 1534 1689 (it is necessary to change. I've got the editor set to 'pico' at this point, as it is an easy to use) 1689 SB
- X450 1582 473 (editor with excellent help.) 473 SB
- X32 0 0 50 50 0 0 0 47 /Helvetica-Bold /font13 ANSIFont font
- X375 1681 434 (System messages) 434 SB
- X32 0 0 42 42 0 0 0 38 /Helvetica /font12 ANSIFont font
- X600 1741 758 (Note: All text files are found in /bbs/text.) 758 SB
- X600 1789 1417 (There are quite a few text files that are used regularly in the BBS. They are:) 1417 SB
- X32 0 0 42 42 1 0 0 38 /Helvetica /font12 ANSIFont font
- X600 1885 174 (Filename) 174 SB
- X900 1885 166 (Contents) 166 SB
- X32 0 0 42 42 0 0 0 38 /Helvetica /font12 ANSIFont font
- X600 1933 178 (badwords) 178 SB
- X900 1933 954 (those words deemed inappropriate for logon names) 954 SB
- X600 1981 135 (bbsinfo) 135 SB
- X900 1981 926 (a short description of the BBS hardware \(optional\)) 926 SB
- X600 2029 231 (bbswelcome) 231 SB
- X900 2029 1136 (a short blurb on the BBS used prior to logging in the first time) 1136 SB
- X600 2077 125 (editors) 125 SB
- X900 2077 724 (a list of editors available on the system) 724 SB
- X600 2125 105 (logoff) 105 SB
- X900 2125 861 (the logoff message given to the user upon exit) 861 SB
- X600 2173 246 (newuser.msg) 246 SB
- X900 2173 609 (shown to the user on initial logon) 609 SB
- X600 2221 283 (system1-3.msg) 283 SB
- X900 2221 779 (status messages about the BBS \(optional\)) 779 SB
- X600 2269 165 (welcome) 165 SB
- X900 2269 880 (a mood-setting intro blurb shown on each logon) 880 SB
- X600 2365 1197 (All of the above files are customizable in any fashion you see fit.) 1197 SB
- X600 2461 792 (You'll end up modifying almost all of them.) 792 SB
- X32 0 0 50 50 0 0 0 47 /Helvetica-Bold /font13 ANSIFont font
- X375 2560 157 (Menus) 157 SB
- X32 0 0 42 42 0 0 0 38 /Helvetica /font12 ANSIFont font
- X600 2620 1606 (The menus are how a user interacts with the BBS program. Because of this, the entire) 1606 SB
- X450 2668 1719 ('feel' of your BBS is how you setup the menus. This is the place where you differentiate your) 1719 SB
- X450 2716 1214 (BBS from other BBSs. Well, enough soap-box. Let's get started.) 1214 SB
- X600 2764 1588 (When the BBS program starts, it displays the user information, the system messages,) 1588 SB
- X450 2812 1768 (and then calls the mandatory 'main' menu. This menu serves as the keystone menu; a place to) 1768 SB
- X450 2860 93 (start.) 93 SB
- X32 0 0 33 33 0 0 0 31 /Helvetica /font12 ANSIFont font
- X300 3034 484 (The rocat BBS System, copyright ) 484 SB
- X32 0 0 33 33 0 0 0 33 /Symbol font
- Xgs 810 3144 0 0 CB
- X784 3032 26 (\323) 26 SB
- Xgr
- X32 0 0 33 33 0 0 0 31 /Helvetica /font12 ANSIFont font
- X810 3034 883 ( 1994 by Gregory Shaw and fmSoft, Inc. All Rights Reserved ) 883 SB
- X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
- X2058 3027 42 (10) 42 SB
- X1 #C
- Xstatusdict begin /manualfeed false store end
- XEJ RS
- X%%PageTrailer
- X%%PageResources: font Courier
- X%%+ font Helvetica
- X%%+ font Helvetica-Bold
- X%%+ font Symbol
- X%%+ font Times-Roman
- X%%Page: 11 11
- X%%PageResources: (atend)
- XSS
- X0 0 25 25 798 1100 300 SM
- X32 0 0 42 42 0 0 0 38 /Helvetica /font12 ANSIFont font
- X0 0 0 fC
- X600 226 1558 (Let me start with what a menu does. Basically, a BBS menu shows the user a list of) 1558 SB
- X450 274 1779 (options, and, when an option is selected, tells the BBS to do something. That something can be) 1779 SB
- X450 322 1719 (as simple as 'transfer to another menu', or as complex as 'call the external mailer program to) 1719 SB
- X450 370 1742 (send a message to the SysOp'. It is all up to you on how complex you wish your menus to be.) 1742 SB
- X600 418 1574 (A menu, as described above, is made up of 'options'. These options take the form of) 1574 SB
- X450 466 1662 (individual items, each found on an individual line. A typical menu looks like the following:) 1662 SB
- X32 0 0 42 42 0 0 0 33 /Courier /font0 ANSIFont font
- X450 561 600 (0||||||| Roman Catacombs) 600 SB
- X450 603 275 (Entry Vault) 275 SB
- X450 645 1800 (0||||||| ---------------------------------------------------------------) 1800 SB
- X450 687 300 (------------) 300 SB
- X450 729 200 (0|||||||) 200 SB
- X450 771 1175 (0||||||| Exit) 1175 SB
- X450 813 200 (0|||||||) 200 SB
- X450 855 1225 (0||||||| <G>) 1225 SB
- X450 897 1500 (0||||||| ----------------------------) 1500 SB
- X450 939 925 (0||||||| H>elp) 925 SB
- X450 981 1550 (0||||||| <W> P>rivate Mail <E>) 1550 SB
- X450 1023 1750 (0||||||| Art Studio -- R>egistration Instructions -- Computer) 1750 SB
- X450 1065 125 (Files) 125 SB
- X450 1107 1050 (0||||||| U>tilities) 1050 SB
- X450 1149 1250 (0||400|>|||| S<Y>sop's Area) 1250 SB
- X450 1191 1200 (0||||||| C>hat with SysOp) 1200 SB
- X450 1233 1500 (0||||||| ----------------------------) 1500 SB
- X450 1275 1225 (0||||||| <S>) 1225 SB
- X450 1317 200 (0|||||||) 200 SB
- X450 1359 1325 (0||||||| News and Games) 1325 SB
- X450 1401 200 (0|||||||) 200 SB
- X450 1443 1800 (0||||||| ---------------------------------------------------------------) 1800 SB
- X450 1485 300 (------------) 300 SB
- X450 1527 1775 (0||||||| <-> Previous Menu <F> Feedback to SysOp <G> Quick Logout) 1775 SB
- X450 1569 225 (1|g||||||) 225 SB
- X450 1611 225 (3|-||||||) 225 SB
- X450 1653 225 (8|c||||||) 225 SB
- X450 1695 450 (2|y|400|>|||sysop|) 450 SB
- X450 1737 550 (2|e|||||computerfiles|) 550 SB
- X450 1779 475 (2|w|||||art_studio|) 475 SB
- X450 1821 475 (2|s|||||newsngames|) 475 SB
- X450 1863 450 (2|u|||||utilities|) 450 SB
- X450 1905 750 (21|f|||||elm -s feedback shaw|) 750 SB
- X450 1947 325 (2|p|||||mail|) 325 SB
- X450 1989 475 (10|r|||||reg.instr|) 475 SB
- X450 2031 400 (2|h|||||helptop|) 400 SB
- X450 2073 400 (2|h|||||helptop|) 400 SB
- X32 0 0 42 42 0 0 0 38 /Helvetica /font12 ANSIFont font
- X600 2164 1060 (The above is the main menu for The Roman Catacombs.) 1060 SB
- X600 2212 537 (Let's dissect a particular line:) 537 SB
- X32 0 0 42 42 0 0 0 33 /Courier /font0 ANSIFont font
- X450 2307 600 (0||||||| Roman Catacombs) 600 SB
- X450 2349 275 (Entry Vault) 275 SB
- X32 0 0 42 42 0 0 0 38 /Helvetica /font12 ANSIFont font
- X600 2440 1635 (In the above line, there is a number, followed by a number of pipe-letters \(|\), followed by) 1635 SB
- X450 2488 1757 (some text. In the above line, you find eight fields separated by the pipe letters. The fields are:) 1757 SB
- X600 2536 414 (1. Command Number) 414 SB
- X600 2584 493 (2. Key used to select item) 493 SB
- X600 2632 511 (3. Access level to see item) 511 SB
- X600 2680 457 (4. Access level modifier) 457 SB
- X600 2728 544 (5. Flags required to see item) 544 SB
- X600 2776 325 (6. Flags modifier) 325 SB
- X600 2824 309 (7. Optional data) 309 SB
- X600 2872 449 (8. The text for the item.) 449 SB
- X32 0 0 33 33 0 0 0 31 /Helvetica /font12 ANSIFont font
- X300 3034 484 (The rocat BBS System, copyright ) 484 SB
- X32 0 0 33 33 0 0 0 33 /Symbol font
- Xgs 810 3144 0 0 CB
- X784 3032 26 (\323) 26 SB
- Xgr
- X32 0 0 33 33 0 0 0 31 /Helvetica /font12 ANSIFont font
- X810 3034 883 ( 1994 by Gregory Shaw and fmSoft, Inc. All Rights Reserved ) 883 SB
- X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
- X2058 3027 42 (11) 42 SB
- X1 #C
- Xstatusdict begin /manualfeed false store end
- XEJ RS
- X%%PageTrailer
- X%%PageResources: font Courier
- X%%+ font Helvetica
- X%%+ font Symbol
- X%%+ font Times-Roman
- X%%Page: 12 12
- X%%PageResources: (atend)
- XSS
- X0 0 25 25 798 1100 300 SM
- X32 0 0 42 42 0 0 0 38 /Helvetica /font12 ANSIFont font
- X0 0 0 fC
- X600 274 1616 (In the above line, 0 is the command number \(which is a text-only command\), and fields) 1616 SB
- X450 322 1114 (2-7 are blank \(e.g. unused\), and field 8 is the text to display.) 1114 SB
- X600 370 1437 (The user doesn't see anything but field 8. If field 8 is empty, he sees nothing.) 1437 SB
- X600 418 1649 (When a field is blank, it's assumed that everything is available. For example, field 2 was) 1649 SB
- X450 466 1700 (the key to select the item. Since it's an output only item, having a key there would be pretty) 1700 SB
- X450 514 477 (useless, hence it's empty.) 477 SB
- X600 562 751 (Let me define the fields in human terms:) 751 SB
- X32 0 0 42 42 1 0 0 38 /Helvetica /font12 ANSIFont font
- X450 658 92 (Field) 92 SB
- X600 658 353 (Formal Description) 353 SB
- X1200 658 73 (Use) 73 SB
- X32 0 0 42 42 0 0 0 38 /Helvetica /font12 ANSIFont font
- X450 706 35 (1.) 35 SB
- X600 706 355 (Command Number) 355 SB
- X1200 706 725 (Tell the BBS what operation to perform) 725 SB
- X450 754 35 (2.) 35 SB
- X600 754 257 (Selection Key) 257 SB
- X1200 754 563 (Key used to select menu item.) 563 SB
- X450 802 35 (3.) 35 SB
- X600 802 247 (Access Level) 247 SB
- X1200 802 707 (Access level required to see/use item.) 707 SB
- X450 850 35 (4.) 35 SB
- X600 850 247 (Access Flags) 247 SB
- X1200 850 593 (Define how to use Access Level) 593 SB
- X450 898 35 (5.) 35 SB
- X600 898 102 (Flags) 102 SB
- X1200 898 610 (Flags necessary to see/use item.) 610 SB
- X450 946 35 (6.) 35 SB
- X600 946 265 (Flags Modifier) 265 SB
- X1200 946 460 (Define how to use Flags.) 460 SB
- X450 994 35 (7.) 35 SB
- X600 994 257 (Optional Data) 257 SB
- X1200 994 490 (\(command specific usage\)) 490 SB
- X450 1042 35 (8.) 35 SB
- X600 1042 83 (Text) 83 SB
- X1200 1042 341 (Text to show user.) 341 SB
- X600 1138 611 (Let me do a few more examples:) 611 SB
- X32 0 0 42 42 0 0 0 33 /Courier /font0 ANSIFont font
- X450 1233 550 (2|e|||||computerfiles|) 550 SB
- X32 0 0 42 42 0 0 0 38 /Helvetica /font12 ANSIFont font
- X600 1318 1589 (In the above line, 2 is the command \(which means change to another menu\), 'e' is the) 1589 SB
- X450 1366 1732 (key used to activate the item, and all the rest of the fields are null. Note how the 'e' goes with) 1732 SB
- X450 1414 441 (the item found above it:) 441 SB
- X32 0 0 42 42 0 0 0 33 /Courier /font0 ANSIFont font
- X450 1509 1550 (0||||||| <W> P>rivate Mail <E>) 1550 SB
- X450 1551 1750 (0||||||| Art Studio -- R>egistration Instructions -- Computer) 1750 SB
- X450 1593 125 (Files) 125 SB
- X32 0 0 42 42 0 0 0 38 /Helvetica /font12 ANSIFont font
- X600 1684 1499 (The user would select 'e' to go to the 'Computer Files' area \(a menu in this case\).) 1499 SB
- X600 1732 1489 (This is how menus work. They define the text that a user sees, and, define what) 1489 SB
- X450 1780 878 (happens when a user activates that menu item.) 878 SB
- X600 1876 1589 (Of course, there are times when you want certain users to be able to use a command,) 1589 SB
- X450 1924 1731 (and, times when only you should be able to use a command. Generally, these are defined by) 1731 SB
- X450 1972 1759 (the security of the BBS. There are commands that should only be executed only by the SysOp) 1759 SB
- X450 2020 1764 (\(or someone very trustworthy\). For this reason, there are fields 3 through 6. These fields allow) 1764 SB
- X450 2068 1800 (you to define who gets to see and use what commands, based on access level and flags. Let me) 1800 SB
- X450 2116 704 (define fields 3 through 6 a little better:) 704 SB
- X600 2212 1614 (Field 3 sets the access level for the command. This and field 4 define the access level) 1614 SB
- X450 2260 894 (required to see/use the command. An example:) 894 SB
- X32 0 0 42 42 0 0 0 33 /Courier /font0 ANSIFont font
- X450 2355 450 (2|y|400|>|||sysop|) 450 SB
- X32 0 0 42 42 0 0 0 38 /Helvetica /font12 ANSIFont font
- X600 2446 1579 (The above item defines a switch to another menu, the 'SysOp' menu. Of course, you) 1579 SB
- X450 2494 1762 (don't want just anybody accessing this menu. That is why the 400 and the '>' symbol are there.) 1762 SB
- X450 2542 1798 (The 400 is the access level \(ACL\), and the '>' means that the user's access level must be greater) 1798 SB
- X450 2590 1017 (than or equal to 400 to see and access this menu item.) 1017 SB
- X600 2638 1569 (By the same token, the flags required to see/use an item are selected the same way:) 1569 SB
- X32 0 0 42 42 0 0 0 33 /Courier /font0 ANSIFont font
- X450 2733 400 (2|y|||1|=|sysop|) 400 SB
- X32 0 0 42 42 0 0 0 38 /Helvetica /font12 ANSIFont font
- X600 2824 1634 (The above item has flag 1 in the flags area and '=' in the modifiers. This means that the) 1634 SB
- X450 2872 1082 (user must have flag 1 set before he may see/use the item.) 1082 SB
- X32 0 0 33 33 0 0 0 31 /Helvetica /font12 ANSIFont font
- X300 3034 484 (The rocat BBS System, copyright ) 484 SB
- X32 0 0 33 33 0 0 0 33 /Symbol font
- Xgs 810 3144 0 0 CB
- X784 3032 26 (\323) 26 SB
- Xgr
- X32 0 0 33 33 0 0 0 31 /Helvetica /font12 ANSIFont font
- X810 3034 883 ( 1994 by Gregory Shaw and fmSoft, Inc. All Rights Reserved ) 883 SB
- X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
- X2058 3027 42 (12) 42 SB
- X1 #C
- Xstatusdict begin /manualfeed false store end
- XEJ RS
- X%%PageTrailer
- X%%PageResources: font Courier
- X%%+ font Helvetica
- X%%+ font Symbol
- X%%+ font Times-Roman
- X%%Page: 13 13
- X%%PageResources: (atend)
- XSS
- X0 0 25 25 798 1100 300 SM
- X32 0 0 42 42 0 0 0 38 /Helvetica /font12 ANSIFont font
- X0 0 0 fC
- X600 274 647 (The fields will accept the following:) 647 SB
- X32 0 0 42 42 1 0 0 38 /Helvetica /font12 ANSIFont font
- X450 370 92 (Field) 92 SB
- X750 370 272 (Valid Contents) 272 SB
- X1200 370 160 (Meaning) 160 SB
- X32 0 0 42 42 0 0 0 38 /Helvetica /font12 ANSIFont font
- X450 418 81 (ACL) 81 SB
- X750 418 152 (0-32767) 152 SB
- X450 466 244 (ACL Modifier) 244 SB
- X750 466 25 (>) 25 SB
- X1200 466 834 (User must have ACL greater or equal to ACL) 834 SB
- X750 514 25 (<) 25 SB
- X1200 514 658 (User must have ACL less than ACL) 658 SB
- X750 562 25 (=) 25 SB
- X1200 562 641 (User must have ACL equal to ACL) 641 SB
- X450 610 102 (Flags) 102 SB
- X750 610 83 (1-32) 83 SB
- X450 658 265 (Flags Modifier) 265 SB
- X750 658 25 (=) 25 SB
- X1200 658 442 (User must have flag set) 442 SB
- X750 706 14 (!) 14 SB
- X1200 706 512 (User must not have flag set) 512 SB
- X600 802 1476 (Based on the above, you can have all sorts of permutations based on the user's) 1476 SB
- X450 850 220 (capabilities.) 220 SB
- X600 946 1334 (The official definitions for the command numbers \(the first field\) follows:) 1334 SB
- X32 0 0 42 42 1 0 0 38 /Helvetica /font12 ANSIFont font
- X450 1042 194 (Command) 194 SB
- X750 1042 209 (Description) 209 SB
- X1650 1042 257 (Optional Data) 257 SB
- X32 0 0 42 42 0 0 0 38 /Helvetica /font12 ANSIFont font
- X450 1090 23 (0) 23 SB
- END_OF_FILE
- if test 83289 -ne `wc -c <'rocat-0.75/doc/bbsinstl.ps.A'`; then
- echo shar: \"'rocat-0.75/doc/bbsinstl.ps.A'\" unpacked with wrong size!
- elif test -f 'rocat-0.75/doc/bbsinstl.ps.B'; then
- echo shar: Combining \"'rocat-0.75/doc/bbsinstl.ps'\" \(173724 characters\)
- cat 'rocat-0.75/doc/bbsinstl.ps.A' 'rocat-0.75/doc/bbsinstl.ps.B' > 'rocat-0.75/doc/bbsinstl.ps'
- if test 173724 -ne `wc -c <'rocat-0.75/doc/bbsinstl.ps'`; then
- echo shar: \"'rocat-0.75/doc/bbsinstl.ps'\" combined with wrong size!
- else
- rm rocat-0.75/doc/bbsinstl.ps.A rocat-0.75/doc/bbsinstl.ps.B
- fi
- fi
- # end of 'rocat-0.75/doc/bbsinstl.ps.A'
- fi
- if test -f 'rocat-0.75/src/bbsint.C' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'rocat-0.75/src/bbsint.C'\"
- else
- echo shar: Extracting \"'rocat-0.75/src/bbsint.C'\" \(9141 characters\)
- sed "s/^X//" >'rocat-0.75/src/bbsint.C' <<'END_OF_FILE'
- X// Filename: bbsint.C
- X// Contents: the bbs interface object methods
- X// Author: Greg Shaw
- X// Created: 7/12/93
- X
- X/*
- XThis file is free software; you can redistribute it and/or modify it
- Xunder the terms of the GNU General Public License as published by the
- XFree Software Foundation; either version 2, or (at your option) any
- Xlater version.
- X
- XIn addition to the permissions in the GNU General Public License, the
- XFree Software Foundation gives you unlimited permission to link the
- Xcompiled version of this file with other programs, and to distribute
- Xthose programs without any restriction coming from the use of this
- Xfile. (The General Public License restrictions do apply in other
- Xrespects; for example, they cover modification of the file, and
- Xdistribution when not linked into another program.)
- X
- XThis file is distributed in the hope that it will be useful, but
- XWITHOUT ANY WARRANTY; without even the implied warranty of
- XMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- XGeneral Public License for more details.
- X
- XYou should have received a copy of the GNU General Public License
- Xalong with this program; see the file COPYING. If not, write to
- Xthe Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
- X
- X#ifndef _BBSINT_C_
- X#define _BBSINT_C_
- X
- X#include "bbshdr.h"
- X
- X#undef DEBUG
- X// monitor connection object
- X
- Xextern moncon mon_obj;
- X
- X// Method: constructor
- X// Purpose: initialize all variables and attempt to connect to sysop process
- X// Input: none
- X// Output: none
- X// Author: Greg Shaw
- X// Created: 7/12/93
- X
- Xbbsint::bbsint()
- X{
- X
- X cur_colors[0] = cur_colors[1] = 0; // no color .. yet
- X cur_pos[0] = cur_pos[1] = 0; // current position 0,0
- X if (!mon_obj.connected())
- X mon_obj.connect_mon(); // try to connect to monitor
- X tcgetattr(0, &rbuf); // get regular mode termio stuff
- X term_mode(1); // turn on nonblocking i/o
- X};
- X
- X// Method: char_avail
- X// Purpose: return true if a character is available (depending on port)
- X// Input: who - 0 for IPC (from monitor) 1 for from user
- X// Output: 1 for character available, 0 for no char available
- X// Author: Greg Shaw
- X// Created: 7/12/93
- X
- Xint bbsint::char_avail(int who, int timeout)
- X{
- X struct fd_set fds[2];
- X struct timeval waittime;
- X
- X waittime.tv_sec = 0;
- X waittime.tv_usec = 100;
- X if (!who) // ipc.
- X {
- X#ifdef DEBUG
- Xprintf("ipc check\r\n");
- Xfflush(stdout);
- X#endif
- X if (mon_obj.connected())
- X if (mon_obj.msg_avail(0))
- X return(1);
- X }
- X else // normal user
- X {
- X#ifdef DEBUG
- Xprintf("serial check\r\n");
- Xfflush(stdout);
- X#endif
- X FD_SET(fileno(stdin), fds);
- X if (select(1,fds,NULL,NULL,&waittime))
- X return(1);
- X }
- X return(0);
- X}
- X
- X// Method: clear
- X// Purpose: attempt to clear the user's screen
- X// Input: none
- X// Output: a ctrl-l is sent to user. This should be changed to do
- X// curses/text screen clearing when full screen possible
- X// Author: Greg Shaw
- X// Created: 7/25/93
- X
- Xint bbsint::clear(void)
- X{
- X char clrstr[] = {0xc,0}; // ctrl-l (new page)
- X
- X sstr(clrstr);
- X return(0);
- X};
- X
- X// Method: cr
- X// Purpose: send a carriage return to the user (and sysop if applicable)
- X// Input: none
- X// Output: see purpose.
- X// Author: Greg Shaw
- X// Created: 7/12/93
- X
- Xvoid bbsint::cr(void)
- X{
- X char crmsg[] = "\r\n";
- X
- X mon_obj.send_monitor(crmsg);
- X printf(crmsg);
- X};
- X
- X// Method: display_file
- X// Purpose: display a file to the user using the system pager
- X// Input: path - path and file name (absolute path only)
- X// page - use paging
- X// Output: file is displayed or error returned.
- X// Author: Greg Shaw
- X// Created: 7/25/93
- X
- Xint bbsint::display_file(char *path, char page)
- X{
- X char pagername[30];
- X char tmpstr[255];
- X char c;
- X int clen;
- X FILE *infile;
- X
- X
- X clear();
- X if (page)
- X {
- X sprintf(tmpstr,"Viewing %s\n",path); // add file name
- X mon_obj.send_monitor(tmpstr);
- X sstrcr("Press 'q' to quit, space bar to page");
- X if (strcpy(pagername,sys_pager()), pagername == NULL)
- X return(-1);
- X strcpy(tmpstr,pagername); // get command name
- X strcat(tmpstr," "); // add space
- X strcat(tmpstr,path); // add file name
- X if (sysint(tmpstr) < 0)
- X {
- X ap_log("display_file: unable to execute sysint() call.");
- X return(-1);
- X }
- X waitcr();
- X }
- X else
- X {
- X if (infile = bopen(path,"r"), infile == NULL)
- X return(-1);
- X else
- X clen = 0;
- X while (!feof(infile))
- X {
- X c = fgetc(infile);
- X if (clen % 50 == 0 && clen > 0)
- X {
- X tmpstr[clen] = 0;
- X sstr(tmpstr);
- X clen = 0;
- X }
- X if (!feof(infile))
- X tmpstr[clen++] = c;
- X }
- X if (clen > 0)
- X {
- X tmpstr[clen] = 0;
- X sstr(tmpstr);
- X }
- X bclose(infile);
- X waitcr();
- X }
- X return(0);
- X};
- X
- X// Method: gstr
- X// Purpose: get a string from the user
- X// Input: maxlen - the maximum length of a string to enter
- X// Output: str - the string (as entered by user)
- X// Author: Greg Shaw
- X// Created: 7/12/93
- X
- Xint bbsint::gstr(char *str, int maxlen)
- X{
- X char tstr[255];
- X char c;
- X int offset; // offset into string
- X char bsstr[] = {0x8,0x20,0x8}; // backspace
- X char bestr[] = {0x7,0}; // beep
- X
- X offset = 0;
- X while (c = gch(1), c != '\r' && c != '\n')
- X {
- X if (c != 0)
- X {
- X if (c == '\b' || c == 0x7f)
- X {
- X offset--;
- X sstr(bsstr);
- X sstr(bsstr);
- X sstr(bsstr);
- X }
- X else if (offset < maxlen)
- X tstr[offset++] = c;
- X else
- X {
- X sstr(bsstr);
- X sstr(bestr);
- X }
- X }
- X }
- X tstr[offset] = 0;
- X strcpy(str,tstr);
- X return(0);
- X};
- X
- X// Method: gch
- X// Purpose: get a character from the user/sysop (if available)
- X// Input: none
- X// Output: a character, if available, or 0 if one not available
- X// Author: Greg Shaw
- X// Created: 7/12/93
- X
- Xchar bbsint::gch(int wait)
- X{
- X struct fd_set fds[2];
- X char msg[255]; // room for message
- X char c; // room for message
- X struct timeval waittime;
- X
- X waittime.tv_sec = 0;
- X waittime.tv_usec = 100;
- X if (char_avail(0,1)) // has monitor sent something to me?
- X {
- X#ifdef DEBUG
- Xprintf("monitor avail\r\n");
- Xfflush(stdout);
- X#endif
- X if (c = mon_obj.get_char(), c != -1) // get message
- X return(c);
- X } else
- X if (char_avail(1,1)) // something available at serial port?
- X {
- X#ifdef DEBUG
- Xprintf("serial avail\r\n");
- Xfflush(stdout);
- X#endif
- X c = fgetc(stdin);
- X if (c > 0)
- X {
- X msg[0] = c;
- X msg[1] = 0;
- X mon_obj.send_monitor(msg);
- X return(c);
- X }
- X }
- X// fds[0].fd = fileno(stdin);
- X// poll(fds,0,50*wait); // poll (wait 50msec)
- X FD_SET(fileno(stdin), fds);
- X select(1,fds,NULL,NULL,&waittime);
- X return(0);
- X};
- X
- X
- X// Method: sch
- X// Purpose: send a char to the user
- X// Input: ch - character to send to user
- X// Output: (to user)
- X// Author: Greg Shaw
- X// Created: 7/12/93
- X
- Xvoid bbsint::sch(char ch)
- X{
- X char newstr[2] = {ch,0};
- X
- X mon_obj.send_monitor(newstr);
- X fwrite(newstr,2,1,stdout);
- X};
- X
- X// Method: sstr
- X// Purpose: send a string to the user
- X// Input: str - the string to send
- X// Output: (to user)
- X// Author: Greg Shaw
- X// Created: 7/12/93
- X
- Xint bbsint::sstr(char *msg)
- X{
- X if (!mon_obj.connected())
- X mon_obj.connect_mon(); // try to connect (if not already connected)
- X mon_obj.send_monitor(msg);
- X fwrite(msg,strlen(msg),1,stdout);
- X fflush(stdout);
- X return(0);
- X};
- X
- X// Method: sstr
- X// Purpose: send a string to the user
- X// Input: str - the string to send
- X// Output: (to user)
- X// Author: Greg Shaw
- X// Created: 7/12/93
- X
- Xint bbsint::sstrcr(char *msg)
- X{
- X
- X if (!mon_obj.connected())
- X mon_obj.connect_mon(); // try to connect (if not already connected)
- X mon_obj.send_monitor(msg);
- X fwrite(msg,strlen(msg),1,stdout);
- X cr();
- X fflush(stdout);
- X return(0);
- X};
- X
- X// Method: sstr
- X// Purpose: send a string to the user
- X// Input: str - the string to send
- X// Output: (to user)
- X// Author: Greg Shaw
- X// Created: 7/12/93
- X
- Xint bbsint::sysopstrcr(char *msg)
- X{
- X char crmsg[] = {'\r','\n', 0};
- X
- X mon_obj.send_monitor(msg);
- X mon_obj.send_monitor(crmsg);
- X return(0);
- X};
- X
- X// Function: term_mode
- X// Purpose: set the terminal mode to timeout on a read
- X// Input: none
- X// Output: none (terminal mode is changed)
- X// Author: Greg Shaw
- X// Created: 7/19/93
- X
- Xvoid bbsint::term_mode(int type)
- X{
- X struct termios tbuf;
- X
- X if (!type) // go to regular mode
- X {
- X if (tstate != 0)
- X tcsetattr(0, TCSANOW, &rbuf);
- X tstate = 0;
- X }
- X else
- X {
- X if (tstate != 1) // regular mode
- X {
- X tcgetattr(0, &tbuf);
- X
- X tbuf.c_cc[4] = 1; /* VMIN */
- X tbuf.c_cc[5] = 0; /* VTIME */
- X tbuf.c_lflag &= ~(ICANON);
- X
- X tcsetattr(0, TCSANOW, &tbuf);
- X }
- X tstate = 1;
- X }
- X return;
- X}
- X
- X// Method: wait
- X// Purpose: prompt the user to hit 'return' to continue
- X// Input: none
- X// Output: none
- X// Author: Greg Shaw
- X// Created: 7/25/93
- X
- Xvoid bbsint::waitcr(void)
- X{
- X time_t now,then;
- X int inactivity;
- X char c;
- X
- X time(&then);
- X inactivity = inactivity_timeout();
- X sstr(" <continue>");
- X while (c = gch(1), c != '\r' && c != '\n')
- X {
- X time(&now);
- X if ((now -then)/60 > inactivity)
- X return;
- X }
- X cr();
- X};
- X
- X// Method: yesno
- X// Purpose: get 'y' or 'n' from user.
- X// Input: none
- X// Output: true for yes, false for no
- X// Author: Greg Shaw
- X// Created: 7/13/93
- X
- Xint bbsint::yesno(void)
- X{
- X struct fd_set fds[2];
- X char found=0;
- X char c;
- X struct timeval waittime;
- X
- X waittime.tv_sec = 0;
- X waittime.tv_usec = 100;
- X FD_SET(fileno(stdin), fds);
- X while (!found)
- X {
- X c = toupper(gch(1));
- X if (c != 0)
- X {
- X if (c == 'Y')
- X found = 1;
- X if (c == 'N')
- X found = 2;
- X }
- X select(1,fds,NULL,NULL,&waittime);
- X }
- X fflush(stdin);
- X cr();
- X return(found==1);
- X};
- X
- X#endif // _BBSINT_C_
- X
- END_OF_FILE
- if test 9141 -ne `wc -c <'rocat-0.75/src/bbsint.C'`; then
- echo shar: \"'rocat-0.75/src/bbsint.C'\" unpacked with wrong size!
- fi
- chmod +x 'rocat-0.75/src/bbsint.C'
- # end of 'rocat-0.75/src/bbsint.C'
- fi
- echo shar: End of archive 3 \(of 9\).
- cp /dev/null ark3isdone
- MISSING=""
- for I in 1 2 3 4 5 6 7 8 9 ; do
- if test ! -f ark${I}isdone ; then
- MISSING="${MISSING} ${I}"
- fi
- done
- if test "${MISSING}" = "" ; then
- echo You have unpacked all 9 archives.
- rm -f ark[1-9]isdone ark[1-9][0-9]isdone
- else
- echo You still must unpack the following archives:
- echo " " ${MISSING}
- fi
- exit 0
- exit 0 # Just in case...
-