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