              ╔══════════════════════════════════════════════════╗
              ║ Structures document for  QuickBBS  version 2.80. ║
              ║ This information  may be freely copied  and used ║
              ║ at no charge  by any  party to  write  utilities ║
              ║ and other  software  which  enhances  the use of ║
              ║ the QuickBBS  software.  Use of this information ║
              ║ in any other BBS program is strictly prohibited. ║
              ║                                                  ║
              ║      Copyright 1991,92,93  Pegasus Software      ║
              ║                                                  ║
              ║               All Rights Reserved.               ║
              ║                                                  ║
              ║            Translation by Ed Grinnell            ║
              ╚══════════════════════════════════════════════════╝

These structures are derived from the official Pascal structures for QuickBBS
which are copyrighted by  Pegasus Software.  While I have volunteered to keep
these structures up-to-date, I have done so with full knowledge that they can
ONLY be used  in conjunction with QuickBBS  and may not be used  in any other
BBS program. If you can't respect this,  please delete this  document and the
accompanying .HPP file from your HD and move on down the road.

First things first:

1. Run TC.
2. Press Alt-O.
3. Press C.
4. Press C.
5. Press Tab.
6. Make sure that Treat enum as ints does not have an X next to it.
7. Save your settings.

I undertook this  project because Don Pryor needed the structures.  It took a
long time to do but with Don's help, I managed to get it fixed up. One thing,
Steve  is  rarely  static and  I've had  other things  to do so they  weren't
updated for a while.  Well, if you don't keep updated very often, things sort
of creep up on you and that was certainly the case with this project. Imagine
how much  of a hassle it  turned into when I found  that things had radically
changed when  I went back to  update these structures.  Well, they're finally
done and  I'm not about  to let that happen  again.  So, without further ado,
let's get started.

Strings for Turbo Pascal  are stored  as  indicated length + 1.  If you see a
String[35],  there are actually 36  characters that  have been set aside with
the first character indicating the actual length of the string.  When I first
set this up,  I went about it the hard way  (isn't that always the case)  and
did something like this:

Byte NameLen;
Char Name[35];

After a  while I got tired  of typing all that crap  (Man, there are a lot of
strings in  the structures)  so I took  a  different tact.  Since the strings
were all basically a structure of string length and the actual string, I went
with:

typedef	struct
	{
	Byte	LengthOfString;
	Char	TheString[35];
	} StringDef35;


Then when I came to a string,  I just typed in the appropriate StringDef name
and all  the mess was taken care of and  it looked a lot closer to the Pascal
structures.  I'm going to assume that you know  what you're doing so I am NOT
going to tell you how to use these structures.  If you don't know what you're
doing,  you shouldn't be worrying  about this document in the first place.:-)

I have included a test file  to show you how some of the information could be
extracted.  This came from an adaptation of some of Don's code. I leave it up
to you to clean it up or to use a more sophistocated method.

Last, but certainly not least, I'd like to thank the following:

The Folgers Coffee Company for the coffee.
R.J. Reynolds for Salem Ultra Lights 100's.
Hiland Dairy for the milk for my coffee.
Steve Gabrilowitz for providing the Pascal structures.
Don Pryor for testing and double-checking (and the use of some of his code).
Sears for the VCR that I used to tape the TV programs that I missed while I
was doing this.
Paramount for The Next Generation, Deep Space Nine and one day, Voyager.