home *** CD-ROM | disk | FTP | other *** search
/ Crawly Crypt Collection 1 / crawlyvol1.bin / bbs / tr_datlo / layouts.txt
Text File  |  1994-03-19  |  38KB  |  847 lines

  1. LAYOUTS FOR DATA FILES USED IN TRANSCENDENCE BBS
  2. ------------------------------------------------
  3.   This file contains the layout information for the various types of data
  4. files that the BBS uses.
  5.  
  6.   Date/Time Variable Types are read as 3 Bytes.
  7.   Byte 1 = Hours or Month
  8.   Byte 2 = Minutes or Day
  9.   Byte 3 = Seconds or Year  Year is (1900 + 0 - 255)
  10.  
  11.   There is NO guarantee that each string will end in a NULL byte. There is
  12. also NO String Length Byte at the beginning of a String. The Data was produced
  13. by GFA Basic and is the way it is.
  14.   
  15.   I have attempted to provide this information as accurately as possible.
  16. There may be unknown errors contained in this file. If you find any, please
  17. report it to me. My information is in the Trans. BBS package.
  18.  
  19.                                                        Wayne Watson
  20.  
  21. BBS DATA FILE LAYOUT
  22. ---------------------
  23.  
  24. File:  \TRANS.DAT
  25.  
  26.   The TRANS.DAT file contains all the information for the BBS. This
  27. information is generated by the System Editor.
  28.  
  29. Description                             Variable                 Length Offset
  30.                                         Type                            Start
  31. --------------------------------------  ----------------------   ------ -------
  32. Drive List for each file type           10 Strings
  33.  
  34. Data                                    String                   32   1
  35. Message Bases                           "    "                   32   33
  36. File Areas                              "    "                   32   65
  37. Text Files                              "    "                   32   97
  38. Backups                                 "    "                   32   129
  39. Modules                                 "    "                   32   161
  40. Fmail/FMessages                         "    "                   32   193
  41. Temporary Files                         "    "                   32   225
  42. Reserved                                "    "                   32   257
  43. Reserved                                "    "                   32   289
  44.  
  45.  
  46. Pathname for each Folder                10 Strings
  47.  
  48. Data                                    String                   12   321
  49. Message Bases                           "    "                   12   333
  50. File Areas                              "    "                   12   345
  51. Text Files                              "    "                   12   357     
  52. Backups                                 "    "                   12   369
  53. Modules                                 "    "                   12   381
  54. Fmail/Fmessages                         "    "                   12   393
  55. Temporary                               "    "                   12   405
  56. Reserved                                "    "                   12   417
  57. Reserved                                "    "                   12   429
  58.  
  59. Number of Msg Bases                     Byte                     1    441
  60. Number of File Areas                    Byte                     1    442
  61.  
  62. Each Msg Base's information is 44 bytes long. Read in a loop for info for
  63. the # of Msg Bases as defined above. Up to 256 Msg Bases may be defined.
  64.  
  65. Msg Base Name                           String                   30   443
  66. Max. Number of Msgs per Base            Word                     2    473
  67. Max. Number of Lines per Msg            Word                     2    475
  68. Msg Base Status                         Bytes                    10   477
  69.  
  70.      Byte 1 - Minimum Age
  71.      Byte 2 - On/Off Bits for the following
  72.  
  73.           Bit 0 - Reserved
  74.           Bit 1 - Remote Message Ops
  75.           Bit 2 - Allow Anonymous Msgs
  76.           Bit 3 - Select FROM Field
  77.           Bit 4 - Alt. Msg. Headers
  78.           Bit 5 - Allow Any Name
  79.           Bit 6 - Allow ESC Codes
  80.           Bit 7 - Allow Variable Tags
  81.  
  82.      Bytes 3 - 10 are Reserved
  83.  
  84. Email Name                              String                   30   11707
  85. Max. number of Emails                   Word                     2    11737
  86. Max. number of lines per Email msg      Word                     2    11739
  87.  
  88. Each File Area's information is 52 bytes long. Read in a loop for info for
  89. the # of File Areas as defined above. Up to 256 File Areas may be defined.            
  90.  
  91. File Area Name                          String                   30   11741
  92. Folder Name                             String                   12   11771
  93. File Area Status                        Bytes                    10   11783
  94.  
  95.      Byte 1 - Minimum Age
  96.      Byte 2 - Number of Desc. lines Allowed
  97.      Byte 3 - On/Off Bits for the following
  98.  
  99.           Bit 0 - Ask for File Type
  100.           Bit 1 - Reserved
  101.           Bit 2 - Alt. Headers
  102.           Bit 3 - Ask Program Type
  103.           Bit 4 - Ask Monitor Type
  104.           Bit 5 - Ask CPU
  105.           Bit 6 - Allow Anonymous Uploads
  106.           Bit 7 - Allow Remote File Ops.
  107.  
  108.      Byte 4 - Reserved
  109.      Byte 5 - Upload Level (for File Area)
  110.  
  111.      Bytes 6 - 10 - Reserved
  112.  
  113. BBS Name                                String                   30   25053
  114. Sysop Password                          String                   30   25083
  115.  
  116. Reserved                                Bytes                    27   25113
  117. Last Run Date                           Date/Time                3    25140
  118.  
  119. Last Caller                             String                   30   25143
  120.  
  121. Number of calls today                   Byte                     1    25173
  122. Number of calls total                   Longint                  4    25174
  123.  
  124. Password Echo Character                 Char                     1    25178
  125.  
  126. Idle Baud Rate                          Longint                  4    25179
  127. Max Baud Rate                           Longint                  4    25183
  128. Low Baud Rate                           Longint                  4    25187
  129.  
  130. Default Country                         String                   30   25191
  131.  
  132. Modem Hangup Command                    String                   30   25221
  133. Modem Offhook Command                   String                   30   25251
  134.  
  135. UL Level for Sysop Area                 Byte                     1    25281
  136.  
  137. Inactivity Timeout Period               Byte                     1    25282
  138.  
  139. Main BBS Directory                      String                   12   25283
  140.  
  141. BBS Settings Bits                       Bytes                    32   25295
  142.  
  143. Holds the on/off bits for the settings in the System Editor. Most are found
  144. on Page 4 & 5 of the Settings. These control a lot of how the BBS reacts.
  145.  
  146.      Byte Bit Description
  147.      ---- --- -----------
  148.      1    7  Questor Mode
  149.           6  Modem 2/Falcon
  150.           5  Remote Sysops
  151.           4  Screen Saver
  152.           3  Allow Handles
  153.           2  Not Used
  154.           1  Show VT-52
  155.           0  Not Used
  156.  
  157.     2     7  Snoop Mode
  158.           6  Printer Echo
  159.           5  Disklog
  160.           4  Printer Log
  161.           3  Fido
  162.           2  Local Security
  163.           1  Terminal at Logon
  164.           0  Hard Drive
  165.  
  166.     3     7  New User Email
  167.           6  Warn Low Space
  168.           5  Printer Bells
  169.           4  Post during Quickscan
  170.           3  Ack. Local Calls
  171.           2  New User Settings
  172.           1  Color Toggle
  173.           0  Ringback Local
  174.  
  175.     4     7  Ringback Long Distance
  176.           6  Verify Local
  177.           5  Verify Long Distance
  178.           4  Upload to Sysop File Area
  179.           3  Visual Alerts
  180.           2  RTS/CTS
  181.           1  Inform New User Logons
  182.           0  See Passwords Locally
  183.  
  184.     5     7  Inform Bad User Logon
  185.           6  Private BBS
  186.           5  BBS answers Phone
  187.           4  Not Used
  188.           3  Not Used
  189.           2  Not Used
  190.           1  Not Used
  191.           0  Not Used
  192.  
  193.     6 - 32  Not Used/Reserved
  194.  
  195. Max # of Macros per User                Byte                     1    25328
  196. Max # of Characters per Macro           Byte                     1    25329
  197.  
  198. The Fido Node stuff was never used but, the space is still there and may be
  199. used for something if you want to.
  200.  
  201. Node Number (fido)                      Long Integer             4    25330
  202. Node Name (fido)                        String                   30   25334
  203. Node City (fido)                        String                   30   25364
  204.  
  205. Local Dial Command                      String                   30   25394
  206. Long Distance Dial Command              String                   30   25424
  207. Area Codes Allowed for LD Dial          String                   30   25454
  208.  
  209. Page On Time                            Date/Time                3    25484
  210. Page Off Time                           Date Time                3    25487
  211.  
  212. The colors have a range of 000-777. Each value is stored so that if it is 7,
  213. then the color value would be 007. If it is 77, then the value would be 077,
  214. etc. The numbers are always padded with 0 to make it a 3 number digit for
  215. Red, Green and Blue values.
  216.  
  217. Background Color                        Word                     2    25490
  218. Alternate 1                             Word                     2    25492
  219. Alternate 2                             Word                     2    25494
  220. Text Color                              Word                     2    25496
  221.  
  222. Reset Modem Time                        Byte                     1    25498
  223.  
  224. Warn Events Time                        Byte                     1    25499
  225.  
  226. Sysop UL Area                           Byte                     1    25500
  227.  
  228. System Password (Private BBS)           String                   30   25501
  229.  
  230. Reserved                                Bytes                    6    25531
  231.  
  232. Keep xx Calls                           Byte                     1    25537
  233.  
  234. New User Mask Number                    Byte                     1    25538
  235. Guest User Mask Number                  Byte                     1    25539
  236.  
  237. Feedback goes to User Number            Word                     2    25540
  238.  
  239. Bootup Window Size                      Byte                     1    25542
  240.  
  241. Reserved                                Bytes                    100  25543
  242.  
  243. Lock Baud Rate at                       Word                     2    25643
  244.  
  245. Auto Inform Messages to User #          Word                     2    25645
  246.  
  247. Verified User Mask Number               Byte                     1    25647
  248.  
  249. Local Password (When Local Sec. On)     String                   30   25648
  250.  
  251. BBS Operation Hours                     Date/Time
  252.  
  253.      Sun On Time                        "      "                 3    25678
  254.      Mon On time                        "      "                 3    25681
  255.      Tue On time                        "      "                 3    25684
  256.      Wed On Time                        "      "                 3    25687
  257.      Thu On Time                        "      "                 3    25690
  258.      Fri On Time                        "      "                 3    25693
  259.      Sat On Time                        "      "                 3    25696
  260.  
  261.      Sun Off Time                       "      "                 3    25699
  262.      Mon Off Time                       "      "                 3    25702
  263.      Tue Off Time                       "      "                 3    25705
  264.      Wed Off Time                       "      "                 3    25708
  265.      Thu Off Time                       "      "                 3    25711
  266.      Fri Off Time                       "      "                 3    24714
  267.      Sat Off Time                       "      "                 3    25717
  268.  
  269. State Mask                              String                   20   25720
  270. Phone Mask                              String                   15   25740
  271.  
  272. Online Game Time                        Longint                  4    25755
  273.  
  274. Reserved                                Bytes                    6241 25759
  275.  
  276. Baud Rate Times                         Date/Time
  277.  
  278.      300   Baud On Time                 "       "                3    32000
  279.      300   Baud Off Time                "       "                3    32003
  280.  
  281.      1200  Baud On Time                 "       "                3    32006
  282.      1200  Baud Off Time                "       "                3    32009
  283.  
  284.      2400  Baud On Time                 "       "                3    32012
  285.      2400  Baud Off Time                "       "                3    32015
  286.  
  287.      4800  Baud On Time                 "       "                3    32018
  288.      4800  Baud Off Time                "       "                3    32021
  289.  
  290.      9600  Baud On Time                 "       "                3    32024
  291.      9600  Baud Off Time                "       "                3    32027
  292.  
  293.      19200 Baud On Time                 "       "                3    32030
  294.      19200 Baud Off Time                "       "                3    32033
  295.  
  296.      LOCAL      On Time                 "       "                3    32036
  297.      LOCAL      Off Time                "       "                3    32039
  298.  
  299.      MIDI       On Time                 "       "                3    32042
  300.      MIDI       Off Time                "       "                3    32045
  301.  
  302.  
  303. USERS DATA LAYOUT
  304. -----------------
  305.  
  306. File: DATA\USERS.DAT
  307.  
  308.   The USERS.DAT file contains all the information for each user.
  309.  
  310. Name                                    String                   30   1
  311. Handle                                  String                   30   31
  312. Address                                 String                   30   61
  313. City                                    String                   30   91
  314. Reserved                                String                   2    121
  315. Zip Code                                String                   10   123
  316. Country                                 String                   30   133
  317. Voice Phone Number                      String                   14   163
  318. Used to store Survey Info **            String                   80   177
  319. Sex  (M or F)                           Char                     1    257
  320. Birthday                                Date/Time                3    258
  321. Password                                String                   20   261
  322. Computer Type                           String                   30   281
  323. Calls Per Day                           Byte                     1    311
  324. Time Per Call                           Word                     2    312
  325. Time Per Day                            Word                     2    314
  326. Time Online Today                       Word                     2    316
  327. Calls Made Today                        Byte                     1    318
  328. Command Table Lvl (CTL)                 Byte                     1    319
  329. File Access Lvl (FAL)                   Byte                     1    320
  330. Online Game Lvl (OGL)                   Byte                     1    321
  331. Menu Processor Lvl (MPL)                Byte                     1    322
  332. Access Lvl 5                            Byte                     1    323
  333. Up/Download Ratio (x:1)                 Byte                     1    324
  334. Msg/Download Ratio (x:1)                Byte                     1    325
  335. Download points                         Long Integer             4    326
  336. Privledges                              4 Long Integers          16   330
  337.  
  338.      Long Integer 1
  339.  
  340.      Bit  31 - Sysop Access
  341.           30 - Read All Email
  342.           29 - See Anonymous Msgs
  343.           28 - Post Anonymous Msgs
  344.           27 - Bypass Time Limits
  345.           26 - Bypass Call Limits
  346.           25 - Bypass Msg:Download ratio
  347.           24 - Bypass Upload:Download ratio
  348.           23 - Bypass File Points System
  349.           22 - Auto Validate Uploads
  350.           21 - Bypass Auto-Deletion
  351.           20 - Edit FROM Field
  352.           19 - Delete Own Msgs
  353.           18 - Edit Own Msgs
  354.           17 - Select Upload Level
  355.           16 - Post Extended Msgs
  356.           15 - Copy File to Editor
  357.           14 - Edit User's Access
  358.           13 - See Passwords Remotely
  359.           12 - Send Anonymous Email
  360.           11 - Read Anonymous Email
  361.           10 - Validate Messages
  362.            9 - Edit Topics
  363.            8 - Bypass Upload/Download limits
  364.            7 - Download Past Time Limit
  365.            6 - 0 Reserved
  366.  
  367.      Long Integer 2 - 4 Reserved
  368.  
  369. Restrictions                            4 Long Integers          16   346
  370.  
  371.      Long Integer 1
  372.  
  373.      Bit  31 - Can't Page Sysop
  374.           30 - Msgs Are Unvalidated
  375.           29 - Can't Add to BBS List
  376.           28 - Log Activity To Disk
  377.           27 - Log Activity To Printer
  378.           26 - Can't Send Email to Self
  379.           25 - Can't Batch Upload
  380.           24 - Can't Use Sysop DOS Commands
  381.           23 - Can't Download From Sysop Mode
  382.           22 - Can't Upload To Sysop Mode
  383.           21 - Can't Execute From Sysop Mode
  384.           20 - Can't Bypass Verify
  385.           19 - 0  Reserved
  386.  
  387.      Long Integer 2 - 4 Not Used
  388.  
  389. Total Calls                             Long Integer             4    362
  390. Total Illeagal Hangups                  Long Integer             4    366
  391. Message Base Access                     256 Bytes                256  370
  392.  
  393.      Each Byte is Bitmapped for each
  394.      of the 256 possible Msg Bases
  395.  
  396.      Bit  1 - Enter
  397.           2 - Read
  398.           3 - Post
  399.           4 - Delete
  400.           5 - Edit
  401.           6 - Hurl
  402.           7 - Sysop
  403.           0 - Qscan
  404.  
  405. File Area Access                        256 Bytes                256  626
  406.  
  407.      Each Byte is Bitmapped for each
  408.      of the 256 possible File Areas
  409.  
  410.      Bit  1 - Enter
  411.           2 - Download
  412.           3 - Upload
  413.           4 - Edit
  414.           5 - Delete
  415.           6 - Sysop
  416.           7 - Reserved
  417.           0 - Qscan
  418.  
  419. First Call Date                         Date/Time                3    882
  420. Last Call Date                          Date/Time                3    885
  421. Last File Listing Date                  Date/Time                3    888
  422.  
  423. User Settings 1                         4 Long Integers          16   891
  424.  
  425.      Each Long Integer is Bitmapped  ON = TRUE  OFF = FALSE
  426.  
  427.      Bit  31 - Page Pause
  428.           30 - Auto Email Scan
  429.           29 - Auto Message Scan
  430.           28 - Auto File Scan
  431.           27 - Clear Screen
  432.           26 - Hotkeys
  433.           25 - Command Stack Printing
  434.           24 - Continuous Scroll Msgs
  435.           23 - File Area Prompts
  436.                (Long = True, Short = False)
  437.           22 - Msg Base Prompts
  438.                (Long = True, Short = False)
  439.           21 - Word Wrap in Editor
  440.           20 - Line Numbers in Editor
  441.           19 - Scan/Mark Msgs
  442.           18 - Editor Summary (Help)
  443.           17 - Micro Emacs Editor
  444.           16 - New Files Scan
  445.                (Full = True, Catalog = False)
  446.           15 - Key Aborts Text
  447.           14 - 0 Reserved
  448.  
  449.      Long Integer 2 - 4 Reserved
  450.  
  451. User Settings 2                         Variable                 16   907
  452.  
  453.      Byte 1 - Default Terminal Type
  454.      Byte 2 - Default Window Size (Sysop)
  455.      Byte 3 - Pause Time Between Msgs (0-255)
  456.      Byte 4 - Default Protocol
  457.               1 - Xmodem Checksum
  458.               2 - Xmodem CRC
  459.               3 - Xmodem 1K
  460.               4 - Ymodem Batch
  461.               5 - Fmdoem Batch
  462.               6 - Zmodem Batch
  463.               7 - Ymodem-G
  464.  
  465.      Bytes 5 - 16 Reserved
  466.  
  467. Downloads                               Long Integer             4    923
  468. Uploads                                 Long Integer             4    927
  469. Downloads Today                         Word                     2    931
  470. Uploads Today                           Word                     2    933
  471. Email Sent                              Long Integer             4    935
  472. Messages Posted                         Long Integer             4    939
  473. Messages Replied To                     Long Integer             4    943
  474. Video Height                            Byte                     1    947
  475. Video Width                             Byte                     1    948
  476. High Message Count                      256 Words                512  949
  477.  
  478.      Contains the High Message Read
  479.      in each of the possible 256
  480.      Message Bases.
  481.  
  482. Downloads Per Call                      Word                     2    1461
  483. Downloads Per Day                       Word                     2    1463
  484. Uploads Per Call                        Word                     2    1465
  485. Uploads Per Day                         Word                     2    1467
  486. Status                                  Byte                     1    1469
  487.  
  488.      Bit  0 - 1 Reserved
  489.           2 - Alert
  490.           3 - No Delete
  491.           4 - 7 Reserved
  492.  
  493. Max Emails Per Day                      Word                     2    1470
  494. Max Msgs Per Day                        Word                     2    1472
  495. Max Feedbacks Per Day                   Word                     2    1474
  496. Max Pages Per Call                      Byte                     1    1476
  497. Total Emails Sent                       Word                     2    1477
  498. Total Messages Sent                     Word                     2    1479
  499. Total Feedbacks Sent                    Word                     2    1481
  500. Locked                                  Byte                     1    1483
  501. Data Phone Number                       String                   14   1484
  502. Online Games Played                     Word                     2    1498
  503. Online Game:Msg Ratio (x:1)             Byte                     1    1500
  504. Online Games Per Call                   Byte                     1    1501
  505. Online Games Per Day                    Byte                     1    1502
  506. Fmail Sends Per Day                     Byte                     1    1503
  507. Fmail Recieves Per Day                  Byte                     1    1504
  508. File Points Ratio (x:1)                 Byte                     1    1505
  509. Online Games Played Today               Byte                     1    1506
  510. Fmails Sent Today                       Byte                     1    1507
  511. Fmails Recieved Today                   Byte                     1    1508
  512. State                                   String                   20   1509
  513.  
  514.  
  515. USERS INDEX FILE LAYOUT
  516. -----------------------
  517.  
  518. File: \DATA\USERS.IDX
  519.  
  520.   Each record corresponds to the User number. Record 63 belongs to User #63.
  521.  
  522. Name                                    String                   30   1
  523. Handle                                  String                   30   31
  524.  
  525.  
  526. MASKS DATA FILE LAYOUT
  527. ----------------------
  528.  
  529. File: \DATA\MASKS.DAT
  530.  
  531.   The MASKS.DAT file contains records that allow quick setup of Users.
  532.  
  533. Daily Call Limit                        Byte                     1    1
  534. Time Per Call                           Word                     2    2
  535. Time Per Day                            Word                     2    4
  536. Calls Made Today                        Byte                     1    6
  537. Command Table Level (CTL)               Byte                     1    7
  538. File Access level (FAL)                 Byte                     1    8
  539. Online Game Level (OGL)                 Byte                     1    9
  540. Menu Processor Level (MPL)              Byte                     1    10
  541. Access Level 5                          Byte                     1    11
  542. UL:DL Ratio                             Byte                     1    12
  543. Msg:DL Ratio                            Byte                     1    13
  544. Privledges                              4 Long Integers          16   14
  545. Restrictions                            4 Long Integers          16   30
  546. Message Base Access                     Bytes                    256  46
  547. File Area Access                        Bytes                    256  302
  548. User Settings 1                         4 Long Integers          16   558
  549. User Settings 2                         Bytes                    16   574
  550. Downloads Per Call                      Word                     2    590
  551. Downloads Per Day                       Word                     2    592
  552. Uploads Per Call                        Word                     2    594
  553. Uploads Per Day                         Word                     2    596
  554. Max. Emails Per Day                     Word                     2    598
  555. Max. Msgs. Per Day                      Word                     2    600
  556. Max. Feedbacks Per Day                  Word                     2    602
  557. Max. Pages Per Call                     Word                     2    604
  558. Online Game:DL Ratio                    Byte                     1    606
  559. Online Games Per Call                   Byte                     1    607
  560. Online Games Per Day                    Byte                     1    608
  561. Max. Fmails Send                        Byte                     1    609
  562. Max. Fmails Recieve                     Byte                     1    610
  563. File Points Ratio                       Byte                     1    611
  564. Reserved                                Bytes                    413  612
  565.  
  566.   Mask information is read just like the USERS.DAT records are read.
  567.  
  568.  
  569. ALTERNATE DRIVE LAYOUT
  570. ----------------------
  571.  
  572. File: DATA\ALTDRV.DAT
  573.  
  574.   The ALTDRV.DAT file defines the alternate drive locations of each file 
  575. area. This allows the sysop to place the files for each file area onto a 
  576. different partition than what is defined in the DRIVES & PATHS section for 
  577. the file areas. Each Alternate Drive must also be in the DRIVES field for 
  578. the file areas. Each Alternate drive can be up to 8 characters (Char) for 
  579. each of the 256 possible file areas. This results in a 2048 byte file. 
  580. Each Alternate Drive definition may or may not be terminated with a null 
  581. byte.
  582.  
  583.  
  584. EVENT DATA LAYOUT
  585. -----------------
  586.  
  587. File: DATA\EVENTS.DAT
  588.  
  589.   The EVENTS.DAT file stores the information for Events that are to be 
  590. executed. The number of events is determined by getting the size of the 
  591. EVENTS.DAT file and dividing it by 200. This should ALWAYS result in a 
  592. whole number. If not, then the file could be corrupted.
  593.  
  594. Filename of Program to Execute          String                   40   1
  595. Event Priority                          Byte                     1    41
  596.                  1 = Kick off the user and execute event
  597.                  2 = Execute event while user online
  598.                  3 = Wait until user has logged off to exec. event.
  599.                  4 = Execute event as part of logoff sequence.
  600.  
  601. Day                                     Byte                     1    42
  602.      Bit 0 - 6 = Sunday - Saturday  True = On
  603.  
  604. on_sun                                  Date/Time                3    43
  605. on_mon                                  Date/Time                3    46
  606. on_tue                                  Date/Time                3    49
  607. on_wed                                  Date/Time                3    52
  608. on_thu                                  Date/Time                3    55
  609. on_fri                                  Date/Time                3    58
  610. on_sat                                  Date/Time                3    61
  611.  
  612. off_sun                                 Date/Time                3    64
  613. off_mon                                 Date/Time                3    67
  614. off_tue                                 Date/Time                3    70
  615. off_wed                                 Date/Time                3    73
  616. off_thu                                 Date/Time                3    76
  617. off_fri                                 Date/Time                3    79
  618. off_sat                                 Date/Time                3    82
  619.  
  620. Command Line Parameters                 String                   40   85
  621. Modem Init. String                      String                   15   126
  622. Reserved                                Bytes                    61   139
  623.  
  624.  
  625. PROTOCOL DATA LAYOUT
  626. --------------------
  627.  
  628. File: DATA\PROTOCOL.DAT
  629.  
  630.   The PROTOCOL.DAT file defines what keypress and file goes with each 
  631. protocol. There is room to store 25 protocol types. Each name for the 
  632. first 7 protocols are predefined.
  633.  
  634. 1. Xmodem Checksum
  635. 2. Xmodem CRC
  636. 3. Xmodem 1K
  637. 4. Ymodem Batch
  638. 5. Fmodem Batch
  639. 6. Zmodem Batch
  640. 7. Ymodem-G
  641.  
  642. Filename                                String                   12   1
  643. Key Sequence                            Char                     1    13
  644. Type                                    Byte                     1    14
  645.  
  646.      1 = Trans. Transfer Program
  647.      2 = XYZ.TTP (Zmodem)
  648.  
  649. Reserved                                Bytes                    86   15
  650.  
  651.  
  652. FILE AREA DATA FILE LAYOUT
  653. --------------------------
  654.  
  655. File: FILES\???\Fxxx.DAT
  656.  
  657.   The Fxxx.DAT File stores all the information about each file that has been
  658. given a description. The size of each record can be variable from one Fxxx.DAT
  659. to another. It's size is determined by the Number of Description Lines allowed
  660. which is setup in the System Editor and stored in the TRANS.DAT file. Refer
  661. to the File Section of the TRANS.DAT for information on this variable. The
  662. size of each record is determined by taking that number, multiplying it by
  663. 75 and then adding 256. SO, if the Sysop set up File Area #1 to have 10 Line
  664. descriptions, then each record in F1.DAT would be ((10 * 75) + 256) = 1006
  665. bytes. The number of records can then be determined by dividing the File Size
  666. by the above result.
  667.  
  668. Filename                                String                   12   1
  669. Filesize                                Long Integer             4    13
  670. Program Type                            String                   30   17
  671. Uploader                                String                   30   47
  672. Upload Time                             Date/Time                3    77
  673. Upload Date                             Date/Time                3    80
  674. Last Download Date                      Date/Time                3    83
  675. Number of Downloads                     Word                     2    86
  676. File Level (0-255)                      Byte                     1    88
  677. File Status                             Byte                     1    89
  678.  
  679.      Bit  0 - Anonymous Upload
  680.           1 - Reserved
  681.           2 - Offline File
  682.           3 - Free Download
  683.           4 - 7 Reserved
  684.  
  685. CPU                                     String                   30   90
  686. Reserved                                Byte                     1    120
  687. Number of Lines in Description          Byte                     1    121
  688. Monitor Type                            String                   20   122
  689. File type                               String                   20   142
  690. Reserved                                Bytes                    95   162
  691.  
  692.  
  693. FILE AREA INDEX FILE LAYOUT
  694. ---------------------------
  695.  
  696. File: \FILES\???\Fxxx.IDX
  697.  
  698.   The Fxxx.IDX file is an Index File for each of the File Areas. All info
  699. stored in the Index File can be obtained from the Fxxx.DAT file in case the
  700. Index file is corrupted. The Filenumber is actually the record number in the
  701. Fxxx.DAT file. Each record is 60 bytes long.
  702.  
  703. Filenumber                              Word                     2    1
  704. Filename                                String                   12   3
  705. Filesize                                Long Integer             4    15
  706. Upload Date                             Date/Time                3    19
  707. Brief Description                       String                   38   22
  708.  
  709.      The Brief Description can be
  710.      obtained by taking the first 38
  711.      characters from the first line
  712.      of the description.
  713.  
  714. File Level (0-255)                      Byte                     1    59
  715.  
  716.  
  717. MESSAGE BASE DATA FILE LAYOUT
  718. ---------------------------
  719.  
  720. File: \MESSAGES\Mxxx.DAT
  721.  
  722.   The Mxxx.DAT file contains the information for each message that has been
  723. posted in the Message Bases. The size of each record can be variable from one
  724. Mxxx.DAT file to another. It's size is determined by the Number of Lines allowed
  725. which is setup in the System Editor and stored in the TRANS.DAT file. Refer
  726. to the Msg Base Section of the TRANS.DAT for information on this variable. The
  727. size of each record is determined by taking that number, multiplying it by
  728. 75 and then adding 200. SO, if the Sysop set up Msg. Base #1 to have 10 Line
  729. messages, then each record in M1.DAT would be ((10 * 75) + 200) = 950 bytes.
  730. Each record is broken into by the actual message (I didn't do it :-) ). 'ML'
  731. in the Offset Start column means Msg Length.
  732.  
  733. Message Status (Bitmapped)              Byte                     1    1
  734.  
  735.      Bit  0 - If True, then record is in use.
  736.               If Off and Bit 1 & 3 are on, then
  737.               Msg was deleted. If 1 & 3 are off,
  738.               then record was never used.
  739.  
  740.           1 - Private Message
  741.           2 - Fmessage
  742.           3 - Unvalidated
  743.           4 - Anonymous FROM Msg
  744.           5 - Extended Msg
  745.           6 - Anonymous TO Msg
  746.           7 - Reserved
  747.  
  748. To                                      String                   30   2
  749. From                                    String                   30   32
  750. Time Posted                             Date/Time                3    62
  751. Date Posted                             Date/Time                3    65
  752. Subject                                 String                   30   68
  753. Message (75 * Lines Allowed)            Strings                  VAR  98
  754. Number of Lines in Msg                  Byte                     1    98 + ML
  755. Number of replies to this Msg           Byte                     1    99 + ML
  756. Fmessage Filename                       String                   12   100 + ML
  757. Msg number this is a reply to           Word                     2    112 + ML
  758. Time Recieved (by To)                   Date/Time                3    114 + ML
  759. Date Recieved (by To)                   Date/Time                3    117 + ML
  760. Real To (If Anonymous To Status)        String                   30   120 + ML
  761. Real From (If Anonymous From Status)    String                   30   150 + ML
  762. Reserved                                Bytes                    21   180 + ML
  763.  
  764.  
  765. Mxxx.SPD FILE LAYOUT
  766. --------------------
  767.  
  768. File: \MESSAGES\Mxxx.SPD
  769.  
  770.   The Mxxx.SPD file is an Index file that contains the To and From User Names.
  771. Each record is 60 bytes long. Each record number corresponds to the same
  772. record number in the Mxxx.DAT file.
  773.  
  774. To                                      String                   30   1
  775. From                                    String                   30   31
  776.  
  777.  
  778. QUICKMSG.DAT FILE LAYOUT
  779. ------------------------
  780.  
  781. File: \MESSAGES\QUICKMSG.DAT
  782.  
  783.   The QUICKMSG.DAT file is shared by ALL of the Message Bases. It contains all
  784. of the message numbers for each of the 256 possible Message Bases. Each
  785. Message number is 2 bytes (Word) long. Since each Msg. Base can have up to
  786. 512 Msgs, this makes the file 256K long. ((2 * 512) * 256) = 256K.
  787.   
  788.   The High Message number is stored in a Round Robin fashion and how far into
  789. the 512 words you go, depends on the Max. Number of Messages allowed for the
  790. Msg Base in question. Ok, if the Sysop set up the Msg Base to allow 50 Msgs,
  791. in Message Base 1, then you would go 50 words into the FIRST (Msg Base # 1)
  792. 512 Words and then start over at Word 1 of that block. You would do this until
  793. you found the highest Message Number. You then compare this Number with the
  794. User's High Message Read number stored in their record to determine if they
  795. have new Messages in that Message Base or not.
  796.   
  797.   I know, it sounds confusing but, it really isn't once you understand how it
  798. works. Just search for the Highest number within the 512 words fr that
  799. particular Message Base. Message Base 10's 512 Word block would be 10241 bytes
  800. into the file.
  801.  
  802.  
  803. GETTING THE BBS TO PASS ON USER INFORMATION
  804. -------------------------------------------
  805.  
  806.   You can have the BBS pass on the User's information to your program. You
  807. must set up your program as an External BBS Module. Refer to the Docs on how
  808. to do this. This will cause the BBS to pass on two numbers to your program
  809. via the Command Line. Each number is seperated by a space. The Command Line
  810. is terminated by a space and NULL character.
  811.  
  812.   The first number is the User's information buffer location. This buffer
  813. will have the User's information in the same layout as the disk file. You will
  814. get the information just like you would from the disk. You can then modify
  815. the User's information. Once your program is finished, you will need to place
  816. the information back into memory just like you got it out. Once control is
  817. passed back to the BBS, it will read the User's information back out of this
  818. location, update the User's information. The User editor is an example of a
  819. program that uses and modifies this information.
  820.   
  821.   The second number you will recieve is the scratch buffer location. This
  822. buffer contains some information that may be useful. Each piece of information
  823. is terminated by a NULL character.
  824.  
  825. TRANS.DAT File path and name            String                   63   1
  826. User Number                             String                   4    64
  827. Emulation Number from TERMINAL.TXT      String                   2    68
  828.  
  829.      This will correspond to the MENUSx
  830.      folder within the TEXT folder.
  831.      x = Emulation Number.
  832.  
  833. Translation from Translation Table      String                   4    70
  834.  
  835.      This will correspond to the Line
  836.      Number in the EMULATE.DAT file.
  837.  
  838. Reserved                                Bytes                    4    74
  839.  
  840. Port (1 = RS232, 2 = Local)             String                   2    78
  841.  
  842. Reserved                                Bytes                    66   80
  843.  
  844. User's Time Left                        String                   6    144
  845.  
  846.  
  847.