THE ABIOGENETIC QWK MAIL INTERFACE FOR WWIV 4.22
General Information and History (QWK-080.DOC)
January 23, 1993 - Barry Watson, Abiogenetic Software.
(docs edited/written by Wayne Heyward, AFTD-Ltd.)
This is a WWIV 4.22 source code modification, therefore, you must have (and
be able to recompile) the WWIV source code to incorporate this modification.
The QWK interface allows your users to download new messages, read and reply
offline with any QWK compatible reader, and then upload the reply file.
This gives your users a much nicer environment and saves them time. It
also reduces the amount of time each person is on your bbs, allowing for
more users per day to access the system. I decided to create this interface
because the .QWK format has become very popular, even though it does not
"fit" exactly with WWIV's message structure. The fact that there is a QWK
interface for nearly every popular BBS program available, thus allowing
users to use a single reader for many different BBS's, gives this format a
distinct advantage over proprietary offline message formats.
Your users will be able to use any one of the popular and excellent QWK
message readers, like SLMR/OLX, EZ-Reader, BABBLE, KingQWK, WINQWK, Jabber,
Babble, BlueWave/QWK, XRS/QWK, Freddie (MacIntosh) among others.
TECHNICAL INFORMATION ON QWK-080
Abiogenetic's QWK interface now can be used with modified USERREC
structures. The QWKGLUE.C file is used to pass information between the QWK
interface and the BBS's user data. For 99% of installations, this should
install with no customizing required. A version of the QWK.OBJ module
compiled in the Huge model is included.
If you have modified your message base record structures (postrec) or system
configuration structures, you will need a custom version (see below).
The QWK-080 version of QWKmod will only work for WWIV 4.22, due to
significant differences in network support, user record, and message base
support from eariler versions. For WWIV 4.21 and below, the last compatible
version is QWK-062. For WWIV 4.21a, the last compatible version is QWK-073.
The installation of this modification is really quite simple, since most of
the work is in the precompiled QWK.OBJ module and QWKGLUE.C. Even a novice
C programmer should be able to have this operational within an hour. Be
sure to keep a BACKUP of your source code BEFORE you begin this
modification. BE CAREFUL... A rushed project that requires debugging is
almost always more work than a project that is assembled carefully.
The following WWIV functions are used by QWK.OBJ. If you have installed any
mods that modify the standard parameters expected by QWK.OBJ, you may have
difficulty with operation, or it may not work at all:
config_qscan, describe_area_code, email, finduser, iscan, lcs, next_system,
nl, nsl, onek, pl, post, printfile, prt, QSCN, readfile, receive_file,
remove_from_temp, run_external1, send_file, sysoplog, wait1, yn
QWKmod requires approximately 3.5K of DGROUP memory.
The code for compiling a list of new files to send the user, originally in
SKY04.MOD, has been included in QWKGLUE.C in QWK-080. This mod is no longer
included in the QWK package, but Sky deserves credit where due.
Another popular mod-for-this-mod is to allow your users to quickly jump into
the QWK reader at login. I have included a mod by W. Warner (the new 4.22
version od QWKEXPRS.MOD) for doing this.
See the History file (QWK-080.HST) for a list of changes from previous
PROMISES AND GUARANTEES
This code should not damage any of your WWIV data files. The reader
interface does not directly write to any WWIV data files, except for the
message read pointers. It simply sets up the conditions, and calls the
same internal WWIV functions your system normally uses.
Nor should this interface compromise the security of your system.
This interface has been operational on Abiogenetic BBS for some time.
This interface will allow private (email) replies, and will pack any
e-mail you have into your mail packet.
Of course, like life itself, there are no guarantees. Use at your own
risk. You agree to assume all risks and liabilities that may arise from
this installation of this module.
KNOWN SHORTCOMINGS AND BUGS
Interface can be fooled by embedded "To: "'s when attempting to find who
this message was addressed to. (Mostly for WWIV systems that are part of
Does not support SLMRs add/drop message area commands (configure q-scan).
Does not cut off lines beyond 80 chars on uploaded messages - which hurts
nothing, but can cause ugly line wrapping on quoted lines. (Tell your
users to reformat long paragraphs!)
Does not have a feature to re-read (collect) already read messages. Only
collects new messages.
Will only support PkZip/PKUnZip 1.10 -- LHA/LZH support has been requested.
Can also work with PKZip/PKUnZip 2.04e, but make sure your users have
Some sysops do not have the node number in their message headers, so QWK
occasionally does not have an accurate reading of the author's address.
QWK readers generally have a limited field for addresses, so sending mail via
WWIV network gateway is difficult at best, since the full gate address will
usually be too long. Same applies to Internet mail.
(If YOU discover bugs, please forward them to #1 @6261 (WWIVnet) or #1 @16257
(WWIVlink) so that they can be corrected!)
REGISTRATION AND LICENSE
You are free to distribute or use the unmodified, unregistered .QWK
interface as long as you like. The unregistered .QWK interface will create
packets called DEMO-QWK.QWK and read uploaded DEMO-QWK.REP packets. Aside
from the creation of DEMO-QWK.??? files, there are no obnoxious begware
screens, additional delays, or unwanted extra taglines to annoy you or your
users. However, if your users call more than one system using the
unregistered version of this interface, that may be inconvenient for them.
Please support shareware.
To register, send the completed REGISTER.QWK with a check for $15.00 (to be
used toward supporting the operation of Abiogenetic BBS and further software
development) payable to Barry Watson at:
454 Eldridge Avenue East
Maplewood, MN 55117-2012
Be sure to include the name of the .QWK packets you would like to create
(up to 8 letters), and I will supply you with a key file that will be used
by the interface to create your packets.
This .KEY file will unlock future versions of this interface, so you can
keep up-to-date merely by downloading the latest version of QWK-???.ZIP.
In an effort to get your key to you as soon as possible, I can distribute
the key file via WWIVlink or WWIVnet e-mail, if you are not part of WWIVlink
or WWIVnet, or prefer that I mail you a diskette, please enclose a diskette
with your registration.
I truly hope you find this interface as helpful as my users and I do.
Sorry, source code is not available.
I will make a reasonable effort to support people using this interface, and
it is my intention to continue the development of this project (addressing
the shortcomings listed above). Of course, I will provide priority support
to those who choose to register.
At some future date if I decide to abandon this project, I will pass it
to another individual who will agree to develop and support it, or I will
release the source code.
But, please understand, this is a hobby activity for me - not my career.
I am (almost always) willing to provide a version of this modification that
will work with your modified data structures. If you need such a thing,
please contact me. This QWK door WILL work with modified USERRECS if you
have not changed how WWIV handles it's q-scan pointers. (It should work
fine with mods like the excellent FROM userrec mod.)
If you do need a special version, please do the following:
At the top of your vardec.h file, please place a comment similar to the
example below, so I can keep track of what files belong to whom:
Modified VARDEC.H for WWIV 4.20
Last Modified: Feb 09, 1992
Compiler Used: Borland C++ 3.0
BBS Name: Abiogenetic BBS
Sysop/Address: Barry Watson ([email protected]
WWIVlink Node: 16257
Phone Number: 612-774-8454
Location: St Paul, Minnesota
Voice Number: 612-555-5555
Please create a .ZIP file (with the name of your bbs) containing your
VARDEC.H file (and any other files that are needed) (Example: ABIOGENE.ZIP).
If sending the file via e-mail, UUENCODE the ZIPped file.
ACKNOWLEDGEMENTS AND CLOSING
Thanks to Sky for his SKY4.MOD (allowing users to get a list of new files),
which has now been added into QWKGLUE.C. Thanks also to W. Warner for the
QWKXPRES.MOD. Any other suggestion for additions to QWKmod are appreciated.
Also thanks to Wayne Heyward (aka Midnight Tree Bandit) for editing and
rewriting the documentation into something somewhat less confusing and more
readable. He did a brilliant job and I recommend his services to anyone who
needs help writing docs.
[editor's note: the preceding was not written by Barry. 🙂 ]
Many thanks to these people, and others too numerous (or humorous) to
mention for beta testing, debugging assistance, and great suggestions.
I also extend my sincere appreciation to all the people who have shown
their support by registering this software. This offers great inspiration
to continue its development. There is no obligation to register this
software, but registration unlocks some minor enhancements.
WWIV QWK reader interface copyright 1992 Barry Watson all rights reserved.
WWIV code is the copyrighted property of Wayne Bell.
Borland run time routines are the copyrighted property of Borland Intl.
The QWK-format is copyright 1987 by Sparkware
Best wishes! Please let me hear your comments and suggestions:
Barry Watson, Abiogenetic Software.
WWIVlink #1 @16257
WWIVnet #1 @6261
Internet [email protected]
or [email protected]
Comments and suggestions on documentation:
Midnight Tree Bandit (Wayne Heyward), AFTD-Ltd.
WWIVLink #1 @18411
WWIVnet #4 @8408
IceNET #1 @8411
Internet [email protected]
GEnie tree.bandit (only rarely, though)
804-288-8630 (just 2400bps)