GENWiki

Premier IT Outsourcing and Support Services within the UK

User Tools

Site Tools


archive:bbs:qwkpacket

This file briefly describes the QWK file format.

The following is an abbreviated version of Appendix G of DELUXE.DOC: DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD

       All of the messages in a mail packet are contained in a file
       named MESSAGES.DAT.  The file's logical record length is 128
       bytes.  The first record of MESSAGES.DAT always contains
       Sparkware's copyright notice produced by The Qmail Door.
       Messages start in record #2 and use this format:
            Starting Position,Length   Description
            ------------------------   ----------------------------
                      1,1              Message status flag
                      2,7              Message number
                      9,8              Date (MM-DD-YY)
                     17,5              Time (HH:MM)
                     22,25             To
                     47,25             From
                     72,25             Subject
                     97,12             Password
                    109,8              Message reference number
                    117,6              Number of blocks
                    123,1              Message status
                    124,2              Conference number
       The text of message continues in the next record.  You can
       find out how many blocks make up one message by looking at
       the value of "Number of blocks".   Message text is delimited
       by a pi symbol (ASCII 227) between lines.
       The xxx.NDX files contain record numbers that point into the
       MESSAGES.DAT file for actual messages.  Each conference that
       contains messages has its own "xxx.NDX" file.  The "xxx" is
       the conference number for the index file.
       Each .NDX file uses a five byte logical record length and is
       formatted to:
            Starting Position,Length      Description
            ------------------------      ------------------------
                     1,4                  Record number of message
                                          in MKS$ format.
                     5,1                  Conference number.

DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD

The formula for converting x, a LONGINT in MKS$ format, to MKSToNum, a binary integer, is:

MKSToNum := 1)

1)
x AND NOT $ff000000) OR $00800000)
           SHR (24 - ((x SHR 24) AND $7f));
It's not pretty but it works (and it only handles positive numbers). The CONTROL.DAT is a text file containing information about the host BBS and conference information. Here is a sample one with comments: Ivo Andric Memorial BBS ;bbs name Victoria, BC, CANADA ;bbs location 604-380-0297 ;bbs number Gwen Barnes, Sysop ;format is "First Last, Sysop" 20001,ANDRIC ;DOOR_SERIAL,PACKET_ID 01-09-1991,14:54:44 ;mm-dd-yyyy,hh:mm:ss ..pkt time GREG HEWGILL ;user name
                                      ;name of QMENU file if exists
0 ;unknown 0 ;unknown 254 ;total # of conferences - 1 0 ;# of first conf Local ;name of conf (10 chars max) 1 ;# of second conf I_Central ;etc…for 255 confs … 255 ;this is the 255'th conf (#24 U_C_Prog ; is omitted from this packet) HELLO ;filename of welcome file NEWS ;filename of news file GOODBYE ;filename of goodbye file If you're looking at a real CONTROL.DAT, any further lines you can ignore because current mail doors don't generate it (it's obsolete). 
/data/webs/external/dokuwiki/data/pages/archive/bbs/qwkpacket.txt · Last modified: 2000/03/05 19:23 (external edit)