BBS: Inland Empire Archive Date: 01-26-93 (01:26) Number: 341 From: DIK COATES Refer#: NONE To: MARVIN HART Recvd: NO Subj: Qwk format Part 2/3 Conf: (2) Quik_Bas
Start Part 2 of 3 (Have stripped out some blank lines)
MH> *.NDX
[3.10] Index files (*.NDX)
[3.10.1] Conference indices
The index files contain a list of pointers pointing to the beginning
of messages in the MESSAGES.DAT file. The pointer is in terms of the
128-bytes block logical record that the MESSAGES.DAT file is in. Each
conference has its own xxx.NDX file, where xxx is the conference num-
ber left padded with zeroes. Some mail programs offer the user the
option to not generate index files. So the mail readers need to cre-
ate the index files if they are missing.
EZ-Reader 1.xx versions will convert the NDX files from Microsoft MKS
format into IEEE long integer format. The bad part about this is that
the user may store those index files back into the QWK file. When
another reader reads the index files, it will be very confused!
Special note for BBSes with more than 999 conferences: Index files for
conferences with four digit conference numbers is named xxxx.NDX,
where xxxx is the conference number (left padded with zeroes). The
filenames for three digit conferences are still named xxx.NDX on these
boards. I would assume filenames for conferences in the five digit
range is xxxxx.NDX, but I have not seen a BBS with 10,000 or more
conferences yet!
Each NDX file uses a five bytes logical record length and is formatted
to:
Offset Length Description
------ ------ ------------------------------------------------------
1 4 Record number pointing to corresponding message in
MESSAGES.DAT. This number is in the Microsoft MKS$
BASIC format.
5 1 Conference number of the message. This byte should
not be used because it duplicates both the filename of
the index file and the conference # in the header. It
is also one byte long, which is insufficient to handle
conferences over 255.
Please refer to appendix B for routines to deal with MKS numbers.
[3.10.2] Personal index (PERSONAL.NDX)
There is a special index file named PERSONAL.NDX. This file contains
pointers to messages which are addressed to the user, i.e. personal
messages. Some mail door and utility programs also allow the selec-
tion of other messages to be flagged as personal messages.
[3.11] Pointer file
Pointer file is generally included so that the user can reset the last
read pointers on the mail program, in case there is a crash on the BBS
or some other mishaps. There should be little reason for the reader
program to access the pointer file.
The pointer files I have seen are:
KMail BBSID.PNT
MarkMail BBSID.PNT
Qmail BBSID.PTR
QWiKer HMP.PTR
SFMailQwk BBSID.SFP
Additions to this list are welcomed.
[3.12] SESSION.TXT
This file, if included, will contain the message scanning screen the
user sees from the door.
I have added the following, because it is likely of interest... there is
enough info in the following to take up another 3 long messages... I have
deleted the info for the various doors... Just listed them...
[4] REP files
[4.1] Naming convention
The reply file is named BBSID.MSG, where BBSID is the ID code for the
BBS found on line 5 of the CONTROL.DAT file. Once this file has been
created, the mail reader can archive it up into a file with REP exten-
sion.
[4.2] Message file (BBSID.MSG)
Replies use the same format as the MESSAGES.DAT file, except that
message number field will contain the conference number instead. In
other words, the conference number will be placed in the two bytes
(binary) starting at offset 124, as well as the message number field
(ASCII) at offset 2.
A private message is indicated by '*' in the message status flag. For
some reason, most mail doors only accept '*' as a private message and
not '+'.
The first 128-bytes record of the file is the header. Instead of the
copyright notice, it contains the BBSID of the BBS. This 1-8 charac-
ter BBSID must start at the very first byte and must match what the
BBS has. The rest of the record is space padded. The replies start
at record 2. Each reply message will have a 128-bytes header, plus
one or more for the message text; followed by another header, and so
on.
The mail program must check to make sure the BBSID in the first block
of the BBSID.MSG file matches what the BBS has!
[4.3] Door control messages
These messages allow the user to change their setup on the BBS by
simply entering a message. The goal is to allow the user to be able
to control most areas of the BBS via the mail door. Different mail
doors have different capabilities. Most all of them offer the ability
to add and drop a conference, as well as reset the last read pointers
in a conference.
[4.3.1] DOOR.ID file
[4.3.2] Qmail
[4.3.3] MarkMail
[4.3.4] KMail
[4.3.5] RoseMail
[4.3.6] Complete Mail Door
[4.3.7] The MainMail System
[4.3.8] BGQWK
[4.3.9] UltraBBS
[4.3.10] TriMail
[4.3.11] Cam-Mail
[4.4] Turning off the echo flag
[4.5] Tag-lines
[5] Net mail
End of Part 2 of 3
... And Caesar said to Cleopatra, "Veni, Veni, Veni..." -Dik
--- Blue Wave/QWK v2.10
--- Maximus 2.00
* Origin: Durham Systems (ONLINE!) (1:229/110)

Books at Amazon:
Back to BASIC: The History, Corruption, and Future of the Language
Hackers: Heroes of the Computer Revolution (including Tiny BASIC)
Go to: The Story of the Math Majors, Bridge Players, Engineers, Chess Wizards, Scientists and Iconoclasts who were the Hero Programmers of the Software Revolution
The Advent of the Algorithm: The Idea that Rules the World
Moths in the Machine: The Power and Perils of Programming
Mastering Visual Basic .NET