BBS: Inland Empire Archive
Date: 02-09-93 (12:10)             Number: 371
From: CORIDON HENSHAW              Refer#: NONE
  To: JOHN GALLAS                   Recvd: NO  
Subj: HUDSON FORMAT                  Conf: (2) Quik_Bas
Hello John!

Monday February 01 1993, John Gallas writes to All:

 JG> Can someone give me file structure for the Hudson Message base system
 JG> (any language will do) ?  I want to convert my BBS program to hudson.


  Pascal    to Basic:
    Word     = INTEGER
    Byte     = STRING * 1
    Boolean  = STRING * 1
    LongInt  = LONG
    String[] = Bytecount AS STRING * 1
               String    AS STRING *
               Blank     AS STRING * 1

   MSGINFOrecord  = record
     LowMsg, HighMsg,
     TotalMsgs      : Word;
     TotalOnBoard   : array[1..200] of Word;

   MSGIDXrecord   = record
     MsgNum         : Integer;
     Board          : Byte;

   MSGTOIDXrecord = String[35];

   MSGHDRrecord   = record
     MsgNum         : Integer;
     PrevReply, NextReply,
     TimesRead      : Word;
     StartBlock     : Word;
     NumBlocks, DestNet, DestNode, OrigNet,
     OrigNode       : Word;
     OrigZone       : Byte;
     Cost           : Word;
     MsgAttr, NetAttr,
     Board          : Byte;
     PostTime       : Time;
     PostDate       : Date;
     WhoFrom        : MSGTOIDXrecord;
     Subject        : String[72];

   MSGTXTrecord   = String[255];

The above record DOESN'T follow PASCAL string conventions.
I have _NO_ ieda how you find out the size of a message.

Below is a partial conversion of tha above PASCAL types:

TYPE MsgHdrType         'For MSGHDR.BBS
        MsgNum          AS INTEGER
        PrevReply       AS INTEGER
        NextReply       AS INTEGER
        TimesRead       AS INTEGER
        StartBlock      AS INTEGER
        NumBlock        AS INTEGER
        DestNet         AS INTEGER
        DestNode        AS INTEGER
        OrigNet         AS INTEGER
        OrigNode        AS INTEGER
        DestZone        AS STRING * 1
        FromZone        AS STRING * 1
        Cost            AS INTEGER
        MsgAttr         AS STRING * 1
        NetAttr         AS STRING * 1
        BoardNumber     AS STRING * 1
        PostTime        AS STRING * 4
        PostDate        AS STRING * 8
        WhoToLength     AS STRING * 1
        WhoTo           AS STRING * 34
        WhoFromLength   AS STRING * 1
        WhoFrom         AS STRING * 34
        SubjectLength   AS STRING * 1
        Subject         AS STRING * 76

TYPE MsgIdxType         'for MSGIDX.BBS
        AddrOffset      AS INTEGER 'Message index pointer (ABS)
        Board           AS STRING * 1

TYPE LastReadType       'for LASTREAD.BBS
        Msgbase         AS INTEGER 'Lastread pointer (ABS)

Hope this helps.

Coridon Henshaw \ Sirrus Software

--- GEcho 1.00
 * Origin: TCS Concordia - Mail Only - Toronto, Ontario (1:250/820)
Outer Court
Echo Basic Postings

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