[Back to COMM SWAG index] [Back to Main SWAG index] [Original]

    {
    >  Although I dont have it anymore, there IS a frontdoor
    > developer's kit floating around here somewhere..

    See my previous intervention about the dev kit used by JoHo. But here is some
    more:I checked with the latest public version of the development
    kit (fddev220) and found
    }
    (*
    **  nodelist.inc
    **
    **  Structure for the FrontDoor Nodelist Database
    **
    **  Copyright 1993 Joaquim Homrighausen; All rights reserved.
    **
    **  Last revised: 93-06-28                    FrontDoor 2.11+
    **
    **  -------------------------------------------------------------------------
    **  This information is not necessarily final and is subject to change at any
    **  given time without further notice
    **  -------------------------------------------------------------------------
    *)

    (*
    **  The FrontDoor Nodelist Database (FDND) uses a Pascal product from
    **  Borland that has, unfortunately, been discontinued. It is called
    **  "Turbo Database Toolkit" and works in a similar fashion to that of
    **  many B+ filer toolkits.
    **
    **  This header file does not make an attempt to document the B+ file
    **  structures, but only those fixed structures used by FrontDoor. For
    **  owners of the Borland toolkit, the "TACCESS parameters" are listed
    **  below.
    **
    **    NodeRecSize       = 178
    **    FileHeaderSize    = 14
    **    MinDataRecSize    = 14
    **    MaxHeight         = 5
    **    MaxDataRecSize    = 178
    **    MaxKeyLen         = 24
    **    PageSize          = 32
    **    Order             = 16
    **    PageStackSize     = 5
    **    ItemOverhead      = 9
    **    PageOverhead      = 5
    *)

    (*
    **  NODEFILE.FDX contains some information about the Nodelist Database.
    **
    **  The information starts at offset 0x100 and is as follows:
    **
    **    Current nodelist extension          4 chars         (Pascal)
    **    Nodelist Database revision         16 bit
    **    Swedish pulse dial translation      1 byte
    **
    **  At offset 0x110, a set of the currently compiled zones is listed.
    *)

    (*
    **  The private Nodelist Database (FDNODE.FDA) has the following record
    **  format.
    *)

      { Status }

    CONST
      ISZC        =1;
      ISRC        =2;
      ISNC        =3;
      ISHUB       =4;
      ISPVT       =5;
      ISHOLD      =6;
      ISDOWN      =7;
      ISPOINT     =9;

      { Capability flags }

      CMflag      =$00000002;
      MOflag      =$00000004;
      HSTflag     =$00000008;
      H96flag     =$00000010;
      PEPflag     =$00000020;
      MAXflag     =$00000040;
      XXflag      =$00000080;
      XBflag      =$00000100;
      XRflag      =$00000200;
      XPflag      =$00000400;
      XWflag      =$00000800;
      MNPflag     =$00001000;
      HST14flag   =$00002000;
      V32flag     =$00004000;
      V33flag     =$00008000;
      V34flag     =$00010000;
      V42flag     =$00020000;
      XCflag      =$00040000;
      XAflag      =$00080000;
      V42bflag    =$00100000;
      V32bflag    =$00200000;
      HST16flag   =$00400000;
      LOflag      =$00800000;
      ZYXflag     =$01000000;
      UISDNAflag  =$02000000;
      UISDNBflag  =$04000000;
      UISDNCflag  =$08000000;
      FAXflag     =$10000000;

      { MaxBaud field }

      ISBAUD300   =2;
      ISBAUD1200  =4;
      ISBAUD2400  =5;
      ISBAUD4800  =6;
      ISBAUD7200  =10;
      ISBAUD9600  =7;
      ISBAUD12000 =11;
      ISBAUD14400 =12;
      ISBAUD16800 =13;
      ISBAUD19200 =14;
      ISBAUD38400 =15;
      ISBAUD57600 =16;
      ISBAUD64000 =17;
      ISBAUD76800 =18;
      ISBAUD115200=19;

      { Record structure }

      { Note that while the private database can only hold a fixed amount of
        information about a system's capabilities (nodelist flags), FrontDoor
        is capable of using the actual string present in FidoNet-style node-
        lists for routing and other lookup purposes. }

    TYPE
      NODEREC = RECORD
        Erased            : LONGINT;                {Used to signal erased status}
        Status            : BYTE;                          {Zone, host, hub, etc.}
        NodeNo,                                                  {Network address}
        NetNo,
        Zone,
        Point,
        RoutNode,                                    {Default routing within zone}
        RoutNet,
        Cost              : WORD;                     {Cost per minute for system}
        Capability        : LONGINT;                            {Capability flags}
        MaxBaud           : BYTE;                              {Maximum baud rate}
        Name              : STRING[30];                           {Name of system}
        Telephone         : STRING[40];                     {Raw telephone number}
        Location          : STRING[40];                       {Location of system}
        User              : STRING[36];                               {SysOp name}
        SelectTag         : STRING[3];                               {Group field}
      END;{NODEREC}

    (*
    **  The telephone number database (FDPHONE.FDA) has the following record
    **  format.
    *)
      PHONEREC = RECORD
        Erase             : LONGINT;                {Used to signal erased status}
        Telephone         : STRING[40];                 {Phone number translation}
        Cost              : WORD;                       {Cost per minute of calls}
        Baudrate          : WORD;                     {Max baudrate for this area}
      END;{PHONEREC}

    (*
    **  The nodelist index file (NODELIST.FDX) has the following record
    **  format.
    *)
      NODEIDXREC = RECORD
        Length            : BYTE;                     {Length byte for key string}
        Zone,                                           {Swapped zone for sorting}
        Net,                                             {Swapped net for sorting}
        Node,                                           {Swapped node for sorting}
        Point,                                         {Swapped point for sorting}
        RoutNet,                                     {Default routing within zone}
        RoutNode          : WORD;
        Status            : BYTE;                                      {See above}
        RESERVED          : BYTE;                                       {Reserved}
      END;{NODEIDXREC}

    (*
    **  The userlist index file (USERLIST.FDX) has the following record
    **  format.
    *)
      USERIDXREC = RECORD CASE INTEGER OF
        1:  (NameIt       : STRING[36]);              {To facilitate use of moves}
        2:  (User         : STRING[15];                   {Actual name key length}
             Zone,                                        {To return address info}
             Net,
             Node,
             Point        : WORD;
             Status       : BYTE);                        {Node status, see above}
      END;{USERIDXREC}

    (* end of file "nodelist.inc" *)

[Back to COMM SWAG index] [Back to Main SWAG index] [Original]