home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Crawly Crypt Collection 1
/
crawlyvol1.bin
/
bbs
/
tr_datlo
/
layouts.txt
Wrap
Text File
|
1994-03-19
|
38KB
|
847 lines
LAYOUTS FOR DATA FILES USED IN TRANSCENDENCE BBS
------------------------------------------------
This file contains the layout information for the various types of data
files that the BBS uses.
Date/Time Variable Types are read as 3 Bytes.
Byte 1 = Hours or Month
Byte 2 = Minutes or Day
Byte 3 = Seconds or Year Year is (1900 + 0 - 255)
There is NO guarantee that each string will end in a NULL byte. There is
also NO String Length Byte at the beginning of a String. The Data was produced
by GFA Basic and is the way it is.
I have attempted to provide this information as accurately as possible.
There may be unknown errors contained in this file. If you find any, please
report it to me. My information is in the Trans. BBS package.
Wayne Watson
BBS DATA FILE LAYOUT
---------------------
File: \TRANS.DAT
The TRANS.DAT file contains all the information for the BBS. This
information is generated by the System Editor.
Description Variable Length Offset
Type Start
-------------------------------------- ---------------------- ------ -------
Drive List for each file type 10 Strings
Data String 32 1
Message Bases " " 32 33
File Areas " " 32 65
Text Files " " 32 97
Backups " " 32 129
Modules " " 32 161
Fmail/FMessages " " 32 193
Temporary Files " " 32 225
Reserved " " 32 257
Reserved " " 32 289
Pathname for each Folder 10 Strings
Data String 12 321
Message Bases " " 12 333
File Areas " " 12 345
Text Files " " 12 357
Backups " " 12 369
Modules " " 12 381
Fmail/Fmessages " " 12 393
Temporary " " 12 405
Reserved " " 12 417
Reserved " " 12 429
Number of Msg Bases Byte 1 441
Number of File Areas Byte 1 442
Each Msg Base's information is 44 bytes long. Read in a loop for info for
the # of Msg Bases as defined above. Up to 256 Msg Bases may be defined.
Msg Base Name String 30 443
Max. Number of Msgs per Base Word 2 473
Max. Number of Lines per Msg Word 2 475
Msg Base Status Bytes 10 477
Byte 1 - Minimum Age
Byte 2 - On/Off Bits for the following
Bit 0 - Reserved
Bit 1 - Remote Message Ops
Bit 2 - Allow Anonymous Msgs
Bit 3 - Select FROM Field
Bit 4 - Alt. Msg. Headers
Bit 5 - Allow Any Name
Bit 6 - Allow ESC Codes
Bit 7 - Allow Variable Tags
Bytes 3 - 10 are Reserved
Email Name String 30 11707
Max. number of Emails Word 2 11737
Max. number of lines per Email msg Word 2 11739
Each File Area's information is 52 bytes long. Read in a loop for info for
the # of File Areas as defined above. Up to 256 File Areas may be defined.
File Area Name String 30 11741
Folder Name String 12 11771
File Area Status Bytes 10 11783
Byte 1 - Minimum Age
Byte 2 - Number of Desc. lines Allowed
Byte 3 - On/Off Bits for the following
Bit 0 - Ask for File Type
Bit 1 - Reserved
Bit 2 - Alt. Headers
Bit 3 - Ask Program Type
Bit 4 - Ask Monitor Type
Bit 5 - Ask CPU
Bit 6 - Allow Anonymous Uploads
Bit 7 - Allow Remote File Ops.
Byte 4 - Reserved
Byte 5 - Upload Level (for File Area)
Bytes 6 - 10 - Reserved
BBS Name String 30 25053
Sysop Password String 30 25083
Reserved Bytes 27 25113
Last Run Date Date/Time 3 25140
Last Caller String 30 25143
Number of calls today Byte 1 25173
Number of calls total Longint 4 25174
Password Echo Character Char 1 25178
Idle Baud Rate Longint 4 25179
Max Baud Rate Longint 4 25183
Low Baud Rate Longint 4 25187
Default Country String 30 25191
Modem Hangup Command String 30 25221
Modem Offhook Command String 30 25251
UL Level for Sysop Area Byte 1 25281
Inactivity Timeout Period Byte 1 25282
Main BBS Directory String 12 25283
BBS Settings Bits Bytes 32 25295
Holds the on/off bits for the settings in the System Editor. Most are found
on Page 4 & 5 of the Settings. These control a lot of how the BBS reacts.
Byte Bit Description
---- --- -----------
1 7 Questor Mode
6 Modem 2/Falcon
5 Remote Sysops
4 Screen Saver
3 Allow Handles
2 Not Used
1 Show VT-52
0 Not Used
2 7 Snoop Mode
6 Printer Echo
5 Disklog
4 Printer Log
3 Fido
2 Local Security
1 Terminal at Logon
0 Hard Drive
3 7 New User Email
6 Warn Low Space
5 Printer Bells
4 Post during Quickscan
3 Ack. Local Calls
2 New User Settings
1 Color Toggle
0 Ringback Local
4 7 Ringback Long Distance
6 Verify Local
5 Verify Long Distance
4 Upload to Sysop File Area
3 Visual Alerts
2 RTS/CTS
1 Inform New User Logons
0 See Passwords Locally
5 7 Inform Bad User Logon
6 Private BBS
5 BBS answers Phone
4 Not Used
3 Not Used
2 Not Used
1 Not Used
0 Not Used
6 - 32 Not Used/Reserved
Max # of Macros per User Byte 1 25328
Max # of Characters per Macro Byte 1 25329
The Fido Node stuff was never used but, the space is still there and may be
used for something if you want to.
Node Number (fido) Long Integer 4 25330
Node Name (fido) String 30 25334
Node City (fido) String 30 25364
Local Dial Command String 30 25394
Long Distance Dial Command String 30 25424
Area Codes Allowed for LD Dial String 30 25454
Page On Time Date/Time 3 25484
Page Off Time Date Time 3 25487
The colors have a range of 000-777. Each value is stored so that if it is 7,
then the color value would be 007. If it is 77, then the value would be 077,
etc. The numbers are always padded with 0 to make it a 3 number digit for
Red, Green and Blue values.
Background Color Word 2 25490
Alternate 1 Word 2 25492
Alternate 2 Word 2 25494
Text Color Word 2 25496
Reset Modem Time Byte 1 25498
Warn Events Time Byte 1 25499
Sysop UL Area Byte 1 25500
System Password (Private BBS) String 30 25501
Reserved Bytes 6 25531
Keep xx Calls Byte 1 25537
New User Mask Number Byte 1 25538
Guest User Mask Number Byte 1 25539
Feedback goes to User Number Word 2 25540
Bootup Window Size Byte 1 25542
Reserved Bytes 100 25543
Lock Baud Rate at Word 2 25643
Auto Inform Messages to User # Word 2 25645
Verified User Mask Number Byte 1 25647
Local Password (When Local Sec. On) String 30 25648
BBS Operation Hours Date/Time
Sun On Time " " 3 25678
Mon On time " " 3 25681
Tue On time " " 3 25684
Wed On Time " " 3 25687
Thu On Time " " 3 25690
Fri On Time " " 3 25693
Sat On Time " " 3 25696
Sun Off Time " " 3 25699
Mon Off Time " " 3 25702
Tue Off Time " " 3 25705
Wed Off Time " " 3 25708
Thu Off Time " " 3 25711
Fri Off Time " " 3 24714
Sat Off Time " " 3 25717
State Mask String 20 25720
Phone Mask String 15 25740
Online Game Time Longint 4 25755
Reserved Bytes 6241 25759
Baud Rate Times Date/Time
300 Baud On Time " " 3 32000
300 Baud Off Time " " 3 32003
1200 Baud On Time " " 3 32006
1200 Baud Off Time " " 3 32009
2400 Baud On Time " " 3 32012
2400 Baud Off Time " " 3 32015
4800 Baud On Time " " 3 32018
4800 Baud Off Time " " 3 32021
9600 Baud On Time " " 3 32024
9600 Baud Off Time " " 3 32027
19200 Baud On Time " " 3 32030
19200 Baud Off Time " " 3 32033
LOCAL On Time " " 3 32036
LOCAL Off Time " " 3 32039
MIDI On Time " " 3 32042
MIDI Off Time " " 3 32045
USERS DATA LAYOUT
-----------------
File: DATA\USERS.DAT
The USERS.DAT file contains all the information for each user.
Name String 30 1
Handle String 30 31
Address String 30 61
City String 30 91
Reserved String 2 121
Zip Code String 10 123
Country String 30 133
Voice Phone Number String 14 163
Used to store Survey Info ** String 80 177
Sex (M or F) Char 1 257
Birthday Date/Time 3 258
Password String 20 261
Computer Type String 30 281
Calls Per Day Byte 1 311
Time Per Call Word 2 312
Time Per Day Word 2 314
Time Online Today Word 2 316
Calls Made Today Byte 1 318
Command Table Lvl (CTL) Byte 1 319
File Access Lvl (FAL) Byte 1 320
Online Game Lvl (OGL) Byte 1 321
Menu Processor Lvl (MPL) Byte 1 322
Access Lvl 5 Byte 1 323
Up/Download Ratio (x:1) Byte 1 324
Msg/Download Ratio (x:1) Byte 1 325
Download points Long Integer 4 326
Privledges 4 Long Integers 16 330
Long Integer 1
Bit 31 - Sysop Access
30 - Read All Email
29 - See Anonymous Msgs
28 - Post Anonymous Msgs
27 - Bypass Time Limits
26 - Bypass Call Limits
25 - Bypass Msg:Download ratio
24 - Bypass Upload:Download ratio
23 - Bypass File Points System
22 - Auto Validate Uploads
21 - Bypass Auto-Deletion
20 - Edit FROM Field
19 - Delete Own Msgs
18 - Edit Own Msgs
17 - Select Upload Level
16 - Post Extended Msgs
15 - Copy File to Editor
14 - Edit User's Access
13 - See Passwords Remotely
12 - Send Anonymous Email
11 - Read Anonymous Email
10 - Validate Messages
9 - Edit Topics
8 - Bypass Upload/Download limits
7 - Download Past Time Limit
6 - 0 Reserved
Long Integer 2 - 4 Reserved
Restrictions 4 Long Integers 16 346
Long Integer 1
Bit 31 - Can't Page Sysop
30 - Msgs Are Unvalidated
29 - Can't Add to BBS List
28 - Log Activity To Disk
27 - Log Activity To Printer
26 - Can't Send Email to Self
25 - Can't Batch Upload
24 - Can't Use Sysop DOS Commands
23 - Can't Download From Sysop Mode
22 - Can't Upload To Sysop Mode
21 - Can't Execute From Sysop Mode
20 - Can't Bypass Verify
19 - 0 Reserved
Long Integer 2 - 4 Not Used
Total Calls Long Integer 4 362
Total Illeagal Hangups Long Integer 4 366
Message Base Access 256 Bytes 256 370
Each Byte is Bitmapped for each
of the 256 possible Msg Bases
Bit 1 - Enter
2 - Read
3 - Post
4 - Delete
5 - Edit
6 - Hurl
7 - Sysop
0 - Qscan
File Area Access 256 Bytes 256 626
Each Byte is Bitmapped for each
of the 256 possible File Areas
Bit 1 - Enter
2 - Download
3 - Upload
4 - Edit
5 - Delete
6 - Sysop
7 - Reserved
0 - Qscan
First Call Date Date/Time 3 882
Last Call Date Date/Time 3 885
Last File Listing Date Date/Time 3 888
User Settings 1 4 Long Integers 16 891
Each Long Integer is Bitmapped ON = TRUE OFF = FALSE
Bit 31 - Page Pause
30 - Auto Email Scan
29 - Auto Message Scan
28 - Auto File Scan
27 - Clear Screen
26 - Hotkeys
25 - Command Stack Printing
24 - Continuous Scroll Msgs
23 - File Area Prompts
(Long = True, Short = False)
22 - Msg Base Prompts
(Long = True, Short = False)
21 - Word Wrap in Editor
20 - Line Numbers in Editor
19 - Scan/Mark Msgs
18 - Editor Summary (Help)
17 - Micro Emacs Editor
16 - New Files Scan
(Full = True, Catalog = False)
15 - Key Aborts Text
14 - 0 Reserved
Long Integer 2 - 4 Reserved
User Settings 2 Variable 16 907
Byte 1 - Default Terminal Type
Byte 2 - Default Window Size (Sysop)
Byte 3 - Pause Time Between Msgs (0-255)
Byte 4 - Default Protocol
1 - Xmodem Checksum
2 - Xmodem CRC
3 - Xmodem 1K
4 - Ymodem Batch
5 - Fmdoem Batch
6 - Zmodem Batch
7 - Ymodem-G
Bytes 5 - 16 Reserved
Downloads Long Integer 4 923
Uploads Long Integer 4 927
Downloads Today Word 2 931
Uploads Today Word 2 933
Email Sent Long Integer 4 935
Messages Posted Long Integer 4 939
Messages Replied To Long Integer 4 943
Video Height Byte 1 947
Video Width Byte 1 948
High Message Count 256 Words 512 949
Contains the High Message Read
in each of the possible 256
Message Bases.
Downloads Per Call Word 2 1461
Downloads Per Day Word 2 1463
Uploads Per Call Word 2 1465
Uploads Per Day Word 2 1467
Status Byte 1 1469
Bit 0 - 1 Reserved
2 - Alert
3 - No Delete
4 - 7 Reserved
Max Emails Per Day Word 2 1470
Max Msgs Per Day Word 2 1472
Max Feedbacks Per Day Word 2 1474
Max Pages Per Call Byte 1 1476
Total Emails Sent Word 2 1477
Total Messages Sent Word 2 1479
Total Feedbacks Sent Word 2 1481
Locked Byte 1 1483
Data Phone Number String 14 1484
Online Games Played Word 2 1498
Online Game:Msg Ratio (x:1) Byte 1 1500
Online Games Per Call Byte 1 1501
Online Games Per Day Byte 1 1502
Fmail Sends Per Day Byte 1 1503
Fmail Recieves Per Day Byte 1 1504
File Points Ratio (x:1) Byte 1 1505
Online Games Played Today Byte 1 1506
Fmails Sent Today Byte 1 1507
Fmails Recieved Today Byte 1 1508
State String 20 1509
USERS INDEX FILE LAYOUT
-----------------------
File: \DATA\USERS.IDX
Each record corresponds to the User number. Record 63 belongs to User #63.
Name String 30 1
Handle String 30 31
MASKS DATA FILE LAYOUT
----------------------
File: \DATA\MASKS.DAT
The MASKS.DAT file contains records that allow quick setup of Users.
Daily Call Limit Byte 1 1
Time Per Call Word 2 2
Time Per Day Word 2 4
Calls Made Today Byte 1 6
Command Table Level (CTL) Byte 1 7
File Access level (FAL) Byte 1 8
Online Game Level (OGL) Byte 1 9
Menu Processor Level (MPL) Byte 1 10
Access Level 5 Byte 1 11
UL:DL Ratio Byte 1 12
Msg:DL Ratio Byte 1 13
Privledges 4 Long Integers 16 14
Restrictions 4 Long Integers 16 30
Message Base Access Bytes 256 46
File Area Access Bytes 256 302
User Settings 1 4 Long Integers 16 558
User Settings 2 Bytes 16 574
Downloads Per Call Word 2 590
Downloads Per Day Word 2 592
Uploads Per Call Word 2 594
Uploads Per Day Word 2 596
Max. Emails Per Day Word 2 598
Max. Msgs. Per Day Word 2 600
Max. Feedbacks Per Day Word 2 602
Max. Pages Per Call Word 2 604
Online Game:DL Ratio Byte 1 606
Online Games Per Call Byte 1 607
Online Games Per Day Byte 1 608
Max. Fmails Send Byte 1 609
Max. Fmails Recieve Byte 1 610
File Points Ratio Byte 1 611
Reserved Bytes 413 612
Mask information is read just like the USERS.DAT records are read.
ALTERNATE DRIVE LAYOUT
----------------------
File: DATA\ALTDRV.DAT
The ALTDRV.DAT file defines the alternate drive locations of each file
area. This allows the sysop to place the files for each file area onto a
different partition than what is defined in the DRIVES & PATHS section for
the file areas. Each Alternate Drive must also be in the DRIVES field for
the file areas. Each Alternate drive can be up to 8 characters (Char) for
each of the 256 possible file areas. This results in a 2048 byte file.
Each Alternate Drive definition may or may not be terminated with a null
byte.
EVENT DATA LAYOUT
-----------------
File: DATA\EVENTS.DAT
The EVENTS.DAT file stores the information for Events that are to be
executed. The number of events is determined by getting the size of the
EVENTS.DAT file and dividing it by 200. This should ALWAYS result in a
whole number. If not, then the file could be corrupted.
Filename of Program to Execute String 40 1
Event Priority Byte 1 41
1 = Kick off the user and execute event
2 = Execute event while user online
3 = Wait until user has logged off to exec. event.
4 = Execute event as part of logoff sequence.
Day Byte 1 42
Bit 0 - 6 = Sunday - Saturday True = On
on_sun Date/Time 3 43
on_mon Date/Time 3 46
on_tue Date/Time 3 49
on_wed Date/Time 3 52
on_thu Date/Time 3 55
on_fri Date/Time 3 58
on_sat Date/Time 3 61
off_sun Date/Time 3 64
off_mon Date/Time 3 67
off_tue Date/Time 3 70
off_wed Date/Time 3 73
off_thu Date/Time 3 76
off_fri Date/Time 3 79
off_sat Date/Time 3 82
Command Line Parameters String 40 85
Modem Init. String String 15 126
Reserved Bytes 61 139
PROTOCOL DATA LAYOUT
--------------------
File: DATA\PROTOCOL.DAT
The PROTOCOL.DAT file defines what keypress and file goes with each
protocol. There is room to store 25 protocol types. Each name for the
first 7 protocols are predefined.
1. Xmodem Checksum
2. Xmodem CRC
3. Xmodem 1K
4. Ymodem Batch
5. Fmodem Batch
6. Zmodem Batch
7. Ymodem-G
Filename String 12 1
Key Sequence Char 1 13
Type Byte 1 14
1 = Trans. Transfer Program
2 = XYZ.TTP (Zmodem)
Reserved Bytes 86 15
FILE AREA DATA FILE LAYOUT
--------------------------
File: FILES\???\Fxxx.DAT
The Fxxx.DAT File stores all the information about each file that has been
given a description. The size of each record can be variable from one Fxxx.DAT
to another. It's size is determined by the Number of Description Lines allowed
which is setup in the System Editor and stored in the TRANS.DAT file. Refer
to the File Section of the TRANS.DAT for information on this variable. The
size of each record is determined by taking that number, multiplying it by
75 and then adding 256. SO, if the Sysop set up File Area #1 to have 10 Line
descriptions, then each record in F1.DAT would be ((10 * 75) + 256) = 1006
bytes. The number of records can then be determined by dividing the File Size
by the above result.
Filename String 12 1
Filesize Long Integer 4 13
Program Type String 30 17
Uploader String 30 47
Upload Time Date/Time 3 77
Upload Date Date/Time 3 80
Last Download Date Date/Time 3 83
Number of Downloads Word 2 86
File Level (0-255) Byte 1 88
File Status Byte 1 89
Bit 0 - Anonymous Upload
1 - Reserved
2 - Offline File
3 - Free Download
4 - 7 Reserved
CPU String 30 90
Reserved Byte 1 120
Number of Lines in Description Byte 1 121
Monitor Type String 20 122
File type String 20 142
Reserved Bytes 95 162
FILE AREA INDEX FILE LAYOUT
---------------------------
File: \FILES\???\Fxxx.IDX
The Fxxx.IDX file is an Index File for each of the File Areas. All info
stored in the Index File can be obtained from the Fxxx.DAT file in case the
Index file is corrupted. The Filenumber is actually the record number in the
Fxxx.DAT file. Each record is 60 bytes long.
Filenumber Word 2 1
Filename String 12 3
Filesize Long Integer 4 15
Upload Date Date/Time 3 19
Brief Description String 38 22
The Brief Description can be
obtained by taking the first 38
characters from the first line
of the description.
File Level (0-255) Byte 1 59
MESSAGE BASE DATA FILE LAYOUT
---------------------------
File: \MESSAGES\Mxxx.DAT
The Mxxx.DAT file contains the information for each message that has been
posted in the Message Bases. The size of each record can be variable from one
Mxxx.DAT file to another. It's size is determined by the Number of Lines allowed
which is setup in the System Editor and stored in the TRANS.DAT file. Refer
to the Msg Base Section of the TRANS.DAT for information on this variable. The
size of each record is determined by taking that number, multiplying it by
75 and then adding 200. SO, if the Sysop set up Msg. Base #1 to have 10 Line
messages, then each record in M1.DAT would be ((10 * 75) + 200) = 950 bytes.
Each record is broken into by the actual message (I didn't do it :-) ). 'ML'
in the Offset Start column means Msg Length.
Message Status (Bitmapped) Byte 1 1
Bit 0 - If True, then record is in use.
If Off and Bit 1 & 3 are on, then
Msg was deleted. If 1 & 3 are off,
then record was never used.
1 - Private Message
2 - Fmessage
3 - Unvalidated
4 - Anonymous FROM Msg
5 - Extended Msg
6 - Anonymous TO Msg
7 - Reserved
To String 30 2
From String 30 32
Time Posted Date/Time 3 62
Date Posted Date/Time 3 65
Subject String 30 68
Message (75 * Lines Allowed) Strings VAR 98
Number of Lines in Msg Byte 1 98 + ML
Number of replies to this Msg Byte 1 99 + ML
Fmessage Filename String 12 100 + ML
Msg number this is a reply to Word 2 112 + ML
Time Recieved (by To) Date/Time 3 114 + ML
Date Recieved (by To) Date/Time 3 117 + ML
Real To (If Anonymous To Status) String 30 120 + ML
Real From (If Anonymous From Status) String 30 150 + ML
Reserved Bytes 21 180 + ML
Mxxx.SPD FILE LAYOUT
--------------------
File: \MESSAGES\Mxxx.SPD
The Mxxx.SPD file is an Index file that contains the To and From User Names.
Each record is 60 bytes long. Each record number corresponds to the same
record number in the Mxxx.DAT file.
To String 30 1
From String 30 31
QUICKMSG.DAT FILE LAYOUT
------------------------
File: \MESSAGES\QUICKMSG.DAT
The QUICKMSG.DAT file is shared by ALL of the Message Bases. It contains all
of the message numbers for each of the 256 possible Message Bases. Each
Message number is 2 bytes (Word) long. Since each Msg. Base can have up to
512 Msgs, this makes the file 256K long. ((2 * 512) * 256) = 256K.
The High Message number is stored in a Round Robin fashion and how far into
the 512 words you go, depends on the Max. Number of Messages allowed for the
Msg Base in question. Ok, if the Sysop set up the Msg Base to allow 50 Msgs,
in Message Base 1, then you would go 50 words into the FIRST (Msg Base # 1)
512 Words and then start over at Word 1 of that block. You would do this until
you found the highest Message Number. You then compare this Number with the
User's High Message Read number stored in their record to determine if they
have new Messages in that Message Base or not.
I know, it sounds confusing but, it really isn't once you understand how it
works. Just search for the Highest number within the 512 words fr that
particular Message Base. Message Base 10's 512 Word block would be 10241 bytes
into the file.
GETTING THE BBS TO PASS ON USER INFORMATION
-------------------------------------------
You can have the BBS pass on the User's information to your program. You
must set up your program as an External BBS Module. Refer to the Docs on how
to do this. This will cause the BBS to pass on two numbers to your program
via the Command Line. Each number is seperated by a space. The Command Line
is terminated by a space and NULL character.
The first number is the User's information buffer location. This buffer
will have the User's information in the same layout as the disk file. You will
get the information just like you would from the disk. You can then modify
the User's information. Once your program is finished, you will need to place
the information back into memory just like you got it out. Once control is
passed back to the BBS, it will read the User's information back out of this
location, update the User's information. The User editor is an example of a
program that uses and modifies this information.
The second number you will recieve is the scratch buffer location. This
buffer contains some information that may be useful. Each piece of information
is terminated by a NULL character.
TRANS.DAT File path and name String 63 1
User Number String 4 64
Emulation Number from TERMINAL.TXT String 2 68
This will correspond to the MENUSx
folder within the TEXT folder.
x = Emulation Number.
Translation from Translation Table String 4 70
This will correspond to the Line
Number in the EMULATE.DAT file.
Reserved Bytes 4 74
Port (1 = RS232, 2 = Local) String 2 78
Reserved Bytes 66 80
User's Time Left String 6 144