PCBRESET.DOC - PCBReset v2.00 documentation - 1/7/93 Purpose: To determine if the PCBOARD.SYS file was left in its on-line state or its off-line state. I use this little program with my Fido front-end mailer to determine if the BBS/computer crashed on the last caller. This is usually only caused by a power failure, but other things can cause it too. If it did crash, the PCBOARD.SYS file will show the caller as still on-line. Meaning, PCBoard needs to be recycled BEFORE the front-end is loaded. Otherwise, PCBoard will let the next caller in without asking for a name and password! It will assume that the person is the previous caller. That can be REAL SCARY if the last caller was YOU!! You wouldn't want someone that you didn't know fiddling around in your BBS with full Sysop access... This has been tested with PCBoard v14.5a, but I *think* that it will work with any 14.x version of PCBoard. Note: PCBoard is a registered trademark of Clark Development Company, Inc. Syntax: PCBReset PCBSysPath [CallerLogPath] Where: PCBSysPath is the full path and filename of your PCBOARD.SYS file. This is required. CallerLogPath is the full path and filename of your caller log file. This is optional. If you include it, PCBReset will make a log entry of the time and date if it recycles the BBS. Results: An errorlevel of 1 is returned if a caller is still logged in. An errorlevel of 2 is returned if PCBOARD.SYS could not be opened. An errorlevel of 3 is returned if PCBOARD.SYS could not be read. Example: PCBReset C:\PCB\PCBOARD.SYS C:\PCB\MAIN\CALLER Here is the batch file that I use in my AUTOEXEC.BAT to call up my BBS. It is included as the file B.BAT G: { log to the correct drive } CD\IM { change to front-end's subdir } PCBRESET G:\PCB\PCBOARD.SYS G:\PCB\MAIN\CALLER1 { Did it crash? } IF ERRORLEVEL 1 BOARD /KEY:G^M { Yes...recycle PCBoard } IMRUN { No...load InterMail } This arrangement assumes that your BOARD.BAT file will load the front-end mailer when PCB exits. For you FrontDoor people, you might have to modify the B.BAT file so it looks a little like this: G: { log to the correct drive } CD\FD { change to front-end's subdir } PCBRESET G:\PCB\PCBOARD.SYS G:\PCB\MAIN\CALLER1 { Did it crash? } IF ERRORLEVEL 1 BOARD /KEY:G^M { Yes...recycle PCBoard } RUNFD { No...load FrontDoor } In the above examples, the /KEY:G^M will cause PCBoard to logoff the caller by typing a G and then a carriage return. This is needed if the system crashed while someone was logged on locally. Please note that PCBReset does not need to be called every time you load up your front-end mailer. It only needs to be run the first time that your mailer is loaded after the computer has been started up or rebooted. For reference, here is what my BOARD.BAT looks like: ECHO OFF G: CD \PCB SET PCB=/SWAP /MAIN SET DSZLOG=PCBDSZ.LOG IF EXIST REMOTE.BAT RENAME REMOTE.BAT REMOTE.SYS IF EXIST EVENT.BAT RENAME EVENT.BAT EVENT.SYS IF EXIST DOOR.BAT DEL DOOR.BAT IF EXIST ENDPCB DEL ENDPCB PCB145 %1 %2 { make sure the %1 is there so } IF EXIST REMOTE.BAT REMOTE { that the /KEY:G^M will work } IF EXIST DOOR.BAT DOOR IF EXIST EVENT.BAT EVENT IF EXIST ENDPCB GOTO END BOARD :END C: cd\IM IMRUN { B.BAT assumes that you load your front end here } Disclaimer: No warranties are expressed or implied concerning this program. It is offered in an AS IS condition. The author and distributors of this program are not liable for the direct or consequential loss or damages that may have resulted from its use and/or misuse. By using this program, you agree to these terms. PCBReset is: Copyright 1992-1993 Christopher E. Long, All Rights Reserved This program is Freeware. That means that I retain the rights to it, but I do not require compensation for its use. However, I do ask that if you find it useful, send me a postcard! That's all I ask. Mailing address: Christopher E. Long 632 Camelia Street Atlantic Beach, FL 32233 Internet address: chris.long@medinfo.jax.fl.us Compuserve address: 76500,2073 Phone (voice): 904-246-4706 Phone (data): Visionary Endeavors BBS 904-249-9515 1200 - 16,800 bps US Robotics HST Dual Standard 16.8 8 data bits, 1 stop bit, no parity FidoNet 1:112/10 file requests all hours located in Atlantic Beach, Florida -END-